Home » Archimedes archive » Archimedes World » AW-1994-10-Disc1.adf » Disk1Oct94 » !AWOct94/Goodies/Library/!Library/!RunImage

!AWOct94/Goodies/Library/!Library/!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 » Archimedes World » AW-1994-10-Disc1.adf » Disk1Oct94
Filename: !AWOct94/Goodies/Library/!Library/!RunImage
Read OK:
File size: 2FE83 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM ><Library$Dir>.!RunImage
   18REM LEN 1994 James Goodger
   26
   34
   42ON ERROR PROCerrorbox
   50PROCinit
   58ON ERROR PROCerrorbox
   66REPEAT
   74  SYS "Wimp_Poll",&81830,q% TO A%
   82  CASE A% OF
   90    WHEN 0
   98      IF printflag% THEN PROCprinter ELSE PROCupdate_time
  106    WHEN 1
  114      PROCpoll_draw
  122    WHEN 2
  130      SYS "Wimp_OpenWindow",,q%
  138    WHEN 3
  146      SYS "Wimp_CloseWindow",,q%
  154      IF !q%=main_aux% THEN using_rd%=0
  162    WHEN 6
  170      PROCdecode_button_press
  178    WHEN 7
  186      PROCdragger
  194    WHEN 8
  202      PROCprocess_key(q%!0,q%!4,q%!24)
  210    WHEN 9
  218      PROCdecode_menu
  226    WHEN 17,18
  234      PROCreceive(q%)
  242  ENDCASE
  250UNTIL FALSE
  258END
  266
  274DEFFNicon
  282SYS "Wimp_SpriteOp",40,-1,"!library" TO ,,,width%
  290q%!0=-1
  298q%!4=0
  306q%!8=0
  314q%!12=(width%*2)+12
  322q%!16=96
  330q%!20=%10000000000010
  338$(q%+24)="!library"
  346SYS "Wimp_CreateIcon",,q% TO icon%
  354=icon%
  362
  370DEFPROCsetupmenu
  378
  386PROCbuildmenu(15,"Export")
  394PROCaddtomenu(15,"As CSV...  �F10",-1,"")
  402PROCaddtomenu(15,"As Text... �F11",-1,"F")
  410
  418PROCbuildmenu(14,"Export")
  426PROCaddtomenu(14,"As CSV...  ^F5",-1,"")
  434PROCaddtomenu(14,"As Text... ^F6",-1,"F")
  442
  450PROCbuildmenu(13,"Medium")
  458PROCaddtomenu(13,"This Terminal  F9",-1,"")
  466PROCaddtomenu(13,"Pocket Book   �F9",-1,"F")
  474
  482PROCbuildmenu(12,"Print")
  490PROCaddtomenu(12,"Overdue Notices",-1,"")
  498PROCaddtomenu(12,"Entire Database",-1,"F")
  506
  514PROCbuildmenu(11,"Ticket Types")
  522PROCaddtomenu(11,"Adult",-1,"")
  530PROCaddtomenu(11,"Junior",-1,"")
  538PROCaddtomenu(11,"Staff",-1,"F")
  546
  554PROCbuildmenu(10,"Watchdog")
  562PROCaddtomenu(10,"View",-1,"")
  570PROCaddtomenu(10,"Activate",-1,"")
  578PROCaddtomenu(10,"Deactivate",-1,"")
  586PROCaddtomenu(10,"Flush",-1,"F")
  594
  602PROCbuildmenu(9,"Export")
  610PROCaddtomenu(9,"Export as Text  ^F3",save_text%,"")
  618PROCaddtomenu(9,"Export as CSV  ^�F3",save_csv%,"F")
  626
  634PROCbuildmenu(8,"Countries")
  642PROCaddtomenu(8,"UK",-1,"")
  650PROCaddtomenu(8,"Ireland",-1,"")
  658PROCaddtomenu(8,"France",-1,"")
  666PROCaddtomenu(8,"Germany",-1,"")
  674PROCaddtomenu(8,"Spain",-1,"")
  682PROCaddtomenu(8,"Portugal",-1,"")
  690PROCaddtomenu(8,"Luxembourg",-1,"")
  698PROCaddtomenu(8,"Belgium",-1,"")
  706PROCaddtomenu(8,"The Netherlands",-1,"")
  714PROCaddtomenu(8,"Italy",-1,"")
  722PROCaddtomenu(8,"Greece",-1,"")
  730PROCaddtomenu(8,"Denmark",-1,""):PROCnew_states
  738PROCaddtomenu(8,"",-1,"FW")
  746
  754PROCbuildmenu(7,"Medium")
  762PROCaddtomenu(7,"This Terminal �F5",-1,"")
  770PROCaddtomenu(7,"Pocket Book   �F6",-1,"F")
  778
  786PROCbuildmenu(6,"Options")
  794PROCaddtomenu(6,"Password Control",-1,"")
  802PROCaddtomenu(6,"Lending Lengths",-1,"")
  810PROCaddtomenu(6,"Fines",-1,"")
  818PROCaddtomenu(6,"Use Fonts",-1,"")
  826PROCaddtomenu(6,"Watchdog",10,"F")
  834
  842PROCbuildmenu(5,"Create")
  850PROCaddtomenu(5,"Book Directory    F3",save_book%,"")
  858PROCaddtomenu(5,"Member Directory �F3",save_mem%,"F")
  866
  874PROCbuildmenu(4,"Members")
  882PROCaddtomenu(4,"New Member     F9",13,"")
  890PROCaddtomenu(4,"Remove Member  F10",-1,"")
  898PROCaddtomenu(4,"Change Member  F11",-1,"")
  906PROCaddtomenu(4,"View Member   �F4",-1,"L")
  914PROCaddtomenu(4,"Export           ",15,"F")
  922
  930PROCbuildmenu(3,"Books")
  938PROCaddtomenu(3,"Issue Book    F5",-1,"")
  946PROCaddtomenu(3,"Return Book   F6",-1,"")
  954PROCaddtomenu(3,"Renew Book    F7",-1,"L")
  962PROCaddtomenu(3,"Add Stock    �F5",7,"")
  970PROCaddtomenu(3,"Remove Stock �F7",-1,"")
  978PROCaddtomenu(3,"Change Stock �F8",-1,"")
  986PROCaddtomenu(3,"View Stock    F8",-1,"L")
  994PROCaddtomenu(3,"Export          ",14,"F")
 1002
 1010PROCbuildmenu(2,"Librarian")
 1018PROCaddtomenu(2,"Books",3,"")
 1026PROCaddtomenu(2,"Members",4,"")
 1034PROCaddtomenu(2,"Passwords  �F1",-1,"")
 1042PROCaddtomenu(2,"News Pages ^F2",-1,"")
 1050PROCaddtomenu(2,"Create",5,"")
 1058PROCaddtomenu(2,"Print",12,"L")
 1066PROCaddtomenu(2,"Options",6,"F")
 1074
 1082PROCbuildmenu(1,"Library")
 1090PROCaddtomenu(1,"Info",info%,"L")
 1098PROCaddtomenu(1,"News      �F2",-1,"")
 1106PROCaddtomenu(1,"Search     F4",-1,"")
 1114PROCaddtomenu(1,"Librarian",2,"L")
 1122PROCaddtomenu(1,"Log On     F1",-1,"")
 1130PROCaddtomenu(1,"Log Off    F2",-1,"")
 1138PROCaddtomenu(1,"Quit",-1,"F")
 1146
 1154ENDPROC
 1162
 1170DEFPROCreceive(q%)
 1178file$=FNstring0(q%+44)
 1186CASE q%!16 OF
 1194  WHEN 0
 1202    IF logged_on% THEN PROClog_off
 1210    SYS "Wimp_CloseDown":END
 1218  WHEN 2
 1226    CASE drag_source% OF
 1234      WHEN save_book%: PROCsave_book_file(file$):SYS "Hourglass_Smash"
 1242      WHEN save_mem%: PROCsave_mem_file(file$):SYS "Hourglass_Smash"
 1250      WHEN save_text%: PROCsave_export(file$,0):SYS "Hourglass_Smash"
 1258      WHEN save_csv%: PROCsave_export(file$,1):SYS "Hourglass_Smash"
 1266      WHEN export_csv%: PROCstart_export(file$,0):SYS "Hourglass_Smash"
 1274      WHEN export_text%: PROCstart_export(file$,1):SYS "Hourglass_Smash"
 1282    ENDCASE
 1290  WHEN 3
 1298    CASE q%!40 OF
 1306      WHEN &FFF: PROCreceive_text(FNstring0(q%+44))
 1314      WHEN &DFE: PROCreceive_csv(FNstring0(q%+44))
 1322    ENDCASE
 1330  WHEN &502
 1338    q%!12=q%!8:q%!16=&503:help%=q%+20
 1346    FOR c%=0 TO helpi_ptr%-1
 1354    IF q%!32=helpi%(c%,0) AND q%!36=helpi%(c%,1) THEN
 1362      PROChelp(helpi$(c%))
 1370    ELSE
 1378      NEXT c%
 1386    ENDIF
 1394    ?help%=0:!q%=(help%+24-q%) AND NOT 3
 1402    SYS "Wimp_SendMessage",17,q%,q%!4
 1410  WHEN &400C2
 1418    newtaskid%=q%!4:taskname$=FNstring0(q%+28)
 1426    IF taskname$="Library" AND newtaskid%<>myid% THEN
 1434      IF logged_on% THEN PROClog_off
 1442      SYS "Wimp_CloseDown":END
 1450    ENDIF
 1458  WHEN &47D20: PROCbook_request
 1466ENDCASE
 1474ENDPROC
 1482
 1490DEFPROChelp(a$)
 1498$help%=a$+"|M"
 1506help%+=LENa$+2
 1514ENDPROC
 1522
 1530DEFPROCerrorbox
 1538OSCLI("Shut")
 1546IF REPORT$="Disc full" AND curr_exp%<>-1 THEN PROCdisc_full:ENDPROC
 1554err_flag%=3
 1562SYS "Wimp_DragBox",,-1
 1570!buffers%=ERR
 1578$(buffers%+4)=REPORT$+" (Internal code "+STR$(ERL)+") Click OK to continue, or Cancel to quit"+CHR$(0)
 1586SYS "Wimp_ReportError",buffers%,err_flag%,"!Library" TO ,click%
 1594IF click%=2 THEN SYS "Wimp_CloseDown",,!taskid%:END
 1602ENDPROC
 1610
 1618DEFFNstring0(a%)
 1626LOCAL a$
 1634a$=""
 1642WHILE (?a%<>0) AND (?a%<>13)
 1650  a$+=CHR$?a%
 1658  a%+=1
 1666ENDWHILE
 1674=a$
 1682
 1690DEFFNfiletype(filename$)
 1698LOCAL f%,type%
 1706SYS "OS_File",17,filename$ TO type%,,f%
 1714IF type%<>1 THEN = -2
 1722IF (f%>>>20)=&FFF THEN =((f%>>>8) AND &FFF) ELSE = -1
 1730
 1738DEFPROCinit_templates
 1746DIM Q% 4092
 1754DIM rz% 4092
 1762DIM tz% 4092
 1770DIM fhands% 256
 1778DIM ws% &8000:maxws%=ws%+&8000
 1786DIM hct$(40),hct%(40)
 1794n%=-1
 1802SYS "Wimp_OpenTemplate",,"<Library$Dir>.Resources.<Library$Templates>"
 1810SYS "Wimp_LoadTemplate",,Q%,ws%,maxws%,fhands%,"info",0 TO ,,curws%
 1818SYS "Wimp_CreateWindow",,Q% TO info%
 1826n%+=1:hct$(n%)="info":hct%(n%)=info%
 1834SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"logon",0 TO ,,curws%
 1842SYS "Wimp_CreateWindow",,Q% TO logon%
 1850n%+=1:hct$(n%)="logon":hct%(n%)=logon%
 1858SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"search",0 TO ,,curws%
 1866SYS "Wimp_CreateWindow",,Q% TO search%
 1874n%+=1:hct$(n%)="search":hct%(n%)=search%
 1882SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"change_p",0 TO ,,curws%
 1890SYS "Wimp_CreateWindow",,Q% TO changepass%
 1898n%+=1:hct$(n%)="change_p":hct%(n%)=changepass%
 1906SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"confirm",0 TO ,,curws%
 1914SYS "Wimp_CreateWindow",,Q% TO confirm%
 1922n%+=1:hct$(n%)="confirm":hct%(n%)=confirm%
 1930SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"add_stock",0 TO ,,curws%
 1938SYS "Wimp_CreateWindow",,Q% TO add_stock%
 1946n%+=1:hct$(n%)="add_stock":hct%(n%)=add_stock%
 1954SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"accn_only",0 TO ,,curws%
 1962SYS "Wimp_CreateWindow",,Q% TO accn_only%
 1970n%+=1:hct$(n%)="accn_only":hct%(n%)=accn_only%
 1978SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"issue",0 TO ,,curws%
 1986SYS "Wimp_CreateWindow",,Q% TO issue%
 1994n%+=1:hct$(n%)="issue":hct%(n%)=issue%
 2002SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"opt_pass",0 TO ,,curws%
 2010SYS "Wimp_CreateWindow",,Q% TO optpc%
 2018n%+=1:hct$(n%)="opt_pass":hct%(n%)=optpc%
 2026SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"opt_lend",0 TO ,,curws%
 2034SYS "Wimp_CreateWindow",,Q% TO optlend%
 2042n%+=1:hct$(n%)="opt_lend":hct%(n%)=optlend%
 2050SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"rem_check",0 TO ,,curws%
 2058SYS "Wimp_CreateWindow",,Q% TO conf_remst%
 2066n%+=1:hct$(n%)="rem_check":hct%(n%)=conf_remst%
 2074SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"new_member",0 TO ,,curws%
 2082SYS "Wimp_CreateWindow",,Q% TO newmem%
 2090n%+=1:hct$(n%)="new_member":hct%(n%)=newmem%
 2098SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"pocket_imp",0 TO ,,curws%
 2106SYS "Wimp_CreateWindow",,Q% TO pocket%
 2114n%+=1:hct$(n%)="pocket_imp":hct%(n%)=pocket%
 2122SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"save_book",0 TO ,,curws%
 2130Q%!64=sprites%
 2138SYS "Wimp_CreateWindow",,Q% TO save_book%
 2146n%+=1:hct$(n%)="save_book":hct%(n%)=save_book%
 2154SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"main_aux",0 TO ,,curws%
 2162SYS "Wimp_CreateWindow",,Q% TO main_aux%
 2170n%+=1:hct$(n%)="main_aux":hct%(n%)=main_aux%
 2178SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"save_mem",0 TO ,,curws%
 2186Q%!64=sprites%
 2194SYS "Wimp_CreateWindow",,Q% TO save_mem%
 2202n%+=1:hct$(n%)="save_mem":hct%(n%)=save_mem%
 2210SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"save_text",0 TO ,,curws%
 2218SYS "Wimp_CreateWindow",,Q% TO save_text%
 2226n%+=1:hct$(n%)="save_text":hct%(n%)=save_text%
 2234SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"save_text",0 TO ,,curws%
 2242SYS "Wimp_CreateWindow",,Q% TO save_csv%
 2250PROCputtext(save_csv%,0,"file_dfe")
 2258PROCputtext(save_csv%,1,"CSVFile")
 2266n%+=1:hct$(n%)="save_csv":hct%(n%)=save_csv%
 2274SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"display",0 TO ,,curws%
 2282SYS "Wimp_CreateWindow",,Q% TO display%
 2290n%+=1:hct$(n%)="display":hct%(n%)=display%
 2298SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"news_imp",0 TO ,,curws%
 2306SYS "Wimp_CreateWindow",,Q% TO news_imp%
 2314n%+=1:hct$(n%)="news_imp":hct%(n%)=news_imp%
 2322SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"view_mem",0 TO ,,curws%
 2330SYS "Wimp_CreateWindow",,Q% TO viewmem%
 2338n%+=1:hct$(n%)="view_mem":hct%(n%)=viewmem%
 2346SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"rem_mem",0 TO ,,curws%
 2354SYS "Wimp_CreateWindow",,Q% TO remmem%
 2362n%+=1:hct$(n%)="rem_mem":hct%(n%)=remmem%
 2370SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"ch_mem",0 TO ,,curws%
 2378SYS "Wimp_CreateWindow",,Q% TO changemem%
 2386n%+=1:hct$(n%)="ch_mem":hct%(n%)=changemem%
 2394SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"vm_query",0 TO ,,curws%
 2402SYS "Wimp_CreateWindow",,Q% TO vmq%
 2410n%+=1:hct$(n%)="vm_query":hct%(n%)=vmq%
 2418SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"overdue",0 TO ,,curws%
 2426SYS "Wimp_CreateWindow",,Q% TO overdue%
 2434n%+=1:hct$(n%)="overdue":hct%(n%)=overdue%
 2442SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"renew",0 TO ,,curws%
 2450SYS "Wimp_CreateWindow",,Q% TO renew%
 2458n%+=1:hct$(n%)="renew":hct%(n%)=renew%
 2466SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"ch_stock",0 TO ,,curws%
 2474SYS "Wimp_CreateWindow",,Q% TO change_stock%
 2482n%+=1:hct$(n%)="ch_stock":hct%(n%)=change_stock%
 2490SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"view_stock",0 TO ,,curws%
 2498SYS "Wimp_CreateWindow",,Q% TO view_stock%
 2506n%+=1:hct$(n%)="view_stock":hct%(n%)=view_stock%
 2514SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"opt_fines",0 TO ,,curws%
 2522SYS "Wimp_CreateWindow",,Q% TO opt_fines%
 2530n%+=1:hct$(n%)="opt_fines":hct%(n%)=opt_fines%
 2538SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"mem_only",0 TO ,,curws%
 2546SYS "Wimp_CreateWindow",,Q% TO mem_only%
 2554n%+=1:hct$(n%)="mem_only":hct%(n%)=mem_only%
 2562SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"print",0 TO ,,curws%
 2570SYS "Wimp_CreateWindow",,Q% TO print%
 2578n%+=1:hct$(n%)="print":hct%(n%)=print%
 2586SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"overdue_pr",0 TO ,,curws%
 2594Q%!64=sprites%
 2602SYS "Wimp_CreateWindow",,Q% TO overdue_pr%
 2610n%+=1:hct$(n%)="overdue_pr":hct%(n%)=overdue_pr%
 2618SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"all_pr",0 TO ,,curws%
 2626SYS "Wimp_CreateWindow",,Q% TO all_pr%
 2634n%+=1:hct$(n%)="all_pr":hct%(n%)=all_pr%
 2642SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"dir_exists",0 TO ,,curws%
 2650SYS "Wimp_CreateWindow",,Q% TO dir_exists%
 2658n%+=1:hct$(n%)="dir_exists":hct%(n%)=dir_exists%
 2666SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"pocket_mem",0 TO ,,curws%
 2674SYS "Wimp_CreateWindow",,Q% TO pock_mem%
 2682n%+=1:hct$(n%)="pocket_mem":hct%(n%)=pock_mem%
 2690SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"export_csv",0 TO ,,curws%
 2698SYS "Wimp_CreateWindow",,Q% TO export_csv%
 2706n%+=1:hct$(n%)="export_csv":hct%(n%)=export_csv%
 2714SYS "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"export_text",0 TO ,,curws%
 2722SYS "Wimp_CreateWindow",,Q% TO export_text%
 2730n%+=1:hct$(n%)="export_text":hct%(n%)=export_text%
 2738SYS "Wimp_CloseTemplate"
 2746ENDPROC
 2754
 2762DEFFN_Leaf(f$)
 2770CASE INSTR(f$,".") OF
 2778  WHEN 0: =f$
 2786  OTHERWISE: =FN_Leaf(RIGHT$(f$,LEN(f$)-INSTR(f$,".")))
 2794ENDCASE
 2802
 2810DEFPROCsearch
 2818chosen%=-1
 2826FOR c%=0 TO 8 STEP 2
 2834IF FNIconGet(search%,c%) THEN chosen%=c% ELSE NEXT c%
 2842IF chosen%=-1 THEN PROCdis_message("No valid choice"):ENDPROC
 2850CASE chosen% OF
 2858  WHEN 0: PROCsearch_title
 2866  WHEN 2: PROCsearch_author
 2874  WHEN 4: PROCsearch_class
 2882  WHEN 6: PROCsearch_accn
 2890  WHEN 8: PROCsearch_key
 2898ENDCASE
 2906PROCcleartext(search%,11)
 2914!q%=search%
 2922SYS "Wimp_CloseWindow",,q%
 2930ENDPROC
 2938
 2946DEFPROClog_on
 2954!q%=logon%
 2962SYS "Wimp_CloseWindow",,q%
 2970s$=FNUpper(FNgettext(logon%,1))
 2978match%=FALSE
 2986FOR c%=1 TO users%
 2994IF s$=pass$(c%,1) THEN match%=c% ELSE NEXT c%
 3002IF match%<>FALSE THEN PROCcleartext(logon%,1) ELSE PROCdis_message("Access Denied"):PROCcleartext(logon%,1):ENDPROC
 3010logged_on%=match%
 3018menad%(1)!(28+(4*24)+8)=menad%(1)!(28+(4*24)+8) EOR (1<<22)
 3026menad%(1)!(28+(5*24)+8)=menad%(1)!(28+(5*24)+8) EOR (1<<22)
 3034menad%(1)!(28+(3*24)+8)=menad%(1)!(28+(3*24)+8) EOR (1<<22)
 3042FOR c%=0 TO 13
 3050IF (pn%(logged_on%) AND (1<<c%))=0 THEN
 3058  menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8)=menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8) OR (1<<22)
 3066  IF c%=1 THEN
 3074    menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8)=menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8) OR (1<<22)
 3082  ENDIF
 3090  IF c%=13 THEN menad%(4)!(28+(4*24)+8)=menad%(4)!(28+(4*24)+8) OR (1<<22)
 3098ELSE
 3106  IF ((menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8) AND (1<<22))>>>22)=1 THEN
 3114    menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8)=menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8) EOR (1<<22)
 3122  ENDIF
 3130  IF c%=1 THEN
 3138    IF ((menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8) AND (1<<22))>>>22)=1 THEN
 3146      menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8)=menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8) EOR (1<<22)
 3154    ENDIF
 3162  ENDIF
 3170  IF c%=13 THEN
 3178    IF ((menad%(4)!(28+(4*24)+8) AND (1<<22))>>>22)=1 THEN
 3186      menad%(4)!(28+(4*24)+8)=menad%(4)!(28+(4*24)+8) EOR (1<<22)
 3194    ENDIF
 3202  ENDIF
 3210ENDIF
 3218NEXT c%
 3226PROCputtext(display%,4,STR$(logged_on%))
 3234PROCputtext(display%,5,pass$(logged_on%,0))
 3242IF w_a% THEN
 3250  a$="A"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+pass$(logged_on%,1)
 3258  PROCadd_watchdog(a$)
 3266ENDIF
 3274ENDPROC
 3282
 3290DEFPROCdis_message(s$)
 3298err_flag%=17
 3306SYS "Wimp_DragBox",,-1
 3314!buffers%=0:$(buffers%+4)=s$+CHR$(0)
 3322SYS "Wimp_ReportError",buffers%,err_flag%,"Message from !Library"
 3330ENDPROC
 3338
 3346DEFPROClog_off
 3354menad%(1)!(28+(4*24)+8)=menad%(1)!(28+(4*24)+8) EOR (1<<22)
 3362menad%(1)!(28+(5*24)+8)=menad%(1)!(28+(5*24)+8) EOR (1<<22)
 3370menad%(1)!(28+(3*24)+8)=menad%(1)!(28+(3*24)+8) EOR (1<<22)
 3378PROCcleartext(display%,4)
 3386PROCcleartext(display%,5)
 3394IF w_a% THEN
 3402  a$="B"+STR$(logged_on%)+";"+pass$(logged_on%,0)
 3410  PROCadd_watchdog(a$)
 3418ENDIF
 3426logged_on%=FALSE
 3434ENDPROC
 3442
 3450DEFPROCinit_pass
 3458filo%=OPENIN("<Library$Dir>.Preference.Pass")
 3466users%=BGET#filo%
 3474FOR c%=1 TO users%
 3482INPUT#filo%,pass$(c%,0),pass$(c%,1),pn%(c%)
 3490NEXT c%
 3498CLOSE#filo%
 3506ENDPROC
 3514
 3522DEFPROCpass_alt
 3530op$=FNUpper(FNgettext(changepass%,1))
 3538np$=FNUpper(FNgettext(changepass%,3))
 3546match%=FALSE
 3554IF op$=pass$(logged_on%,1) THEN match%=logged_on%
 3562IF match%=FALSE THEN
 3570  PROCcleartext(changepass%,1)
 3578  PROCcleartext(changepass%,3)
 3586  PROCdis_message("This is not a valid old password")
 3594ENDIF
 3602IF match%=FALSE THEN ENDPROC
 3610!q%=confirm%
 3618SYS "Wimp_GetWindowState",,q%
 3626q%!4=340
 3634q%!8=312
 3642q%!12=340+600
 3650q%!16=312+400
 3658q%!28=-1
 3666MOUSE RECTANGLE q%!4,q%!8,600,400
 3674SYS "Wimp_OpenWindow",,q%
 3682REPEAT
 3690  SYS "Wimp_Poll",&0,q% TO A%
 3698UNTIL A%=6 AND q%!12=confirm% AND (q%!16=3 OR q%!16=4)
 3706MOUSE RECTANGLE 0,0,1279,1023
 3714IF q%!16=4 THEN
 3722  !q%=confirm%
 3730  SYS "Wimp_CloseWindow",,q%
 3738ELSE
 3746  PROCcleartext(changepass%,1):PROCcleartext(changepass%,3)
 3754  !q%=confirm%
 3762  SYS "Wimp_CloseWindow",,q%
 3770  !q%=changepass%
 3778  SYS "Wimp_CloseWindow",,q%
 3786  pass$(match%,1)=np$
 3794  PROCsave_pass_file
 3802ENDIF
 3810PROCcleartext(changepass%,1)
 3818PROCcleartext(changepass%,3)
 3826IF w_a% THEN
 3834  a$="C"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+op$+";"+np$
 3842  PROCadd_watchdog(a$)
 3850ENDIF
 3858ENDPROC
 3866
 3874DEFPROCissuebook
 3882PROCcheck_book_dirs
 3890PROCcheck_mem_dirs
 3898IF book_count%=0 THEN
 3906  PROCdis_message("No book directories have been seen by the filer.")
 3914  ENDPROC
 3922ENDIF
 3930IF mem_count%=0 THEN
 3938  PROCdis_message("No member directories have been seen by the filer.")
 3946  ENDPROC
 3954ENDIF
 3962no$=FNgettext(issue%,1)
 3970IF LEN(no$)<>6 THEN PROCdis_message("Invalid accession number"):ENDPROC
 3978IF NOT FNvalidate_digits(no$) THEN PROCdis_message("Accession number: Check Digit Error"):ENDPROC
 3986no%=VAL(LEFT$(no$,5))
 3994IF book_dir_def%(VAL(LEFT$(no$,1)))=FALSE THEN
 4002  PROCdis_message("The book directory for that accession number has not been seen by the filer")
 4010  ENDPROC
 4018ENDIF
 4026IF ((bookdef%?(no% DIV 8) AND (1<<(no% MOD 8)))>>>(no% MOD 8))=0 THEN
 4034  PROCdis_message("This book does not exist")
 4042  ENDPROC
 4050ENDIF
 4058PROCopen_book_cache(no$)
 4066d$=MID$(no$,4,2)
 4074pick%=VAL(d$)
 4082IF var$(pick%,4)<>"IN LIBRARY" THEN PROCdis_message("This book is not in the library"):ENDPROC
 4090mem$=FNgettext(issue%,3)
 4098IF LEN(mem$)<9 THEN PROCdis_message("Membership Number Too Short"):ENDPROC
 4106IF NOT FNvalidate_digits(mem$) THEN PROCdis_message("Membership Number: Check Digit Error"):ENDPROC
 4114chosen_flag%=FALSE
 4122FOR c%=6 TO 7
 4130temp%=FNIconGet(issue%,c%)
 4138IF temp% THEN chosen_flag%=c%
 4146NEXT c%
 4154IF chosen_flag%=FALSE AND FNIconGet(issue%,11) THEN chosen_flag%=11
 4162CASE chosen_flag% OF
 4170  WHEN 6: dno%=9
 4178  WHEN 7: dno%=10
 4186  WHEN 11: dno%=12
 4194ENDCASE
 4202date$=FNgettext(issue%,dno%)
 4210CASE chosen_flag% OF
 4218  WHEN 6,7
 4226    date$=LEFT$(date$,2)+MID$(date$,4,2)+RIGHT$(date$,2)
 4234    IF NOT FNvalidate_date(date$) THEN ENDCASE:ENDPROC
 4242  WHEN 11
 4250    CASE LEN(date$) OF
 4258      WHEN 8
 4266        sepflag%=FALSE
 4274        IF MID$(date$,3,1)="-" AND MID$(date$,6,1)="-" THEN sepflag%=1
 4282        IF MID$(date$,3,1)="/" AND MID$(date$,6,1)="/" THEN sepflag%=2
 4290        IF MID$(date$,3,1)="." AND MID$(date$,6,1)="." THEN sepflag%=3
 4298        IF MID$(date$,3,1)=" " AND MID$(date$,6,1)=" " THEN sepflag%=3
 4306        IF sepflag%=FALSE THEN PROCdis_message("Invalid date format"):ENDIF:ENDCASE:ENDPROC
 4314        date$=LEFT$(date$,2)+MID$(date$,4,2)+RIGHT$(date$,2)
 4322        IF NOT FNvalidate_date(date$) THEN ENDCASE:ENDCASE:ENDPROC
 4330      WHEN 6
 4338        sepflag%=FALSE
 4346        FOR c%=1 TO 6
 4354        IF INSTR("0123456789",MID$(date$,c%,1))=0 THEN sepflag%=TRUE
 4362        NEXT c%
 4370        IF sepflag%=TRUE THEN PROCdis_message("Invalid date format"):ENDIF:ENDCASE:ENDPROC
 4378        IF NOT FNvalidate_date(date$) THEN ENDCASE:ENDCASE:ENDPROC
 4386      OTHERWISE
 4394        PROCdis_message("Invalid Date Format"):ENDCASE:ENDCASE:ENDPROC
 4402    ENDCASE
 4410ENDCASE
 4418date$=STR$(vd%):IF LEN(date$)=1 THEN date$="0"+date$
 4426date$=date$+"-"+STR$(vm%):IF LEN(date$)=4 THEN date$=LEFT$(date$,3)+"0"+RIGHT$(date$,1)
 4434date$=date$+"-"+STR$(vy%):IF LEN(date$)=7 THEN date$=LEFT$(date$,6)+"0"+RIGHT$(date$,1)
 4442date$=FNRemove_Punc(date$)
 4450d%=VAL(LEFT$(mem$,2))
 4458l%=VAL(MID$(mem$,3,2))
 4466s%=VAL(MID$(mem$,5,1))
 4474n%=VAL(MID$(mem$,6,3))
 4482IF mem_dir_def%(d%)=FALSE THEN
 4490  PROCdis_message("The member directory for that number has not been seen by the filer")
 4498  ENDPROC
 4506ENDIF
 4514try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
 4522filo%=OPENIN(try$)
 4530filp%=OPENOUT(try$+"2")
 4538INPUT#filo%,number%
 4546PRINT#filp%,number%
 4554IF n%>number% THEN CLOSE#filo%:CLOSE#filp%:PROCdis_message("Invalid Membership Number"):ENDPROC
 4562FOR sc%=1 TO number%
 4570FOR d%=1 TO 11
 4578INPUT#filo%,temp$
 4586PRINT#filp%,temp$
 4594NEXT d%
 4602temp%=BGET#filo%
 4610BPUT#filp%,temp%
 4618bn%=BGET#filo%
 4626IF sc%=n% THEN bn%+=1
 4634BPUT#filp%,bn%
 4642FOR d%=1 TO bn%
 4650IF sc%=n% THEN
 4658  IF d%<bn% THEN
 4666    INPUT#filo%,temp$
 4674    PRINT#filp%,temp$
 4682  ELSE
 4690    PRINT#filp%,LEFT$(no$,5)+date$
 4698  ENDIF
 4706ELSE
 4714  INPUT#filo%,temp$
 4722  PRINT#filp%,temp$
 4730ENDIF
 4738NEXT d%
 4746NEXT sc%
 4754CLOSE#filo%
 4762CLOSE#filp%
 4770OSCLI("Delete "+try$)
 4778OSCLI("Rename "+try$+"2 "+try$)
 4786var$(pick%,4)=date$+LEFT$(mem$,8)
 4794PROCsave_cache(no$)
 4802PROCcleartext(issue%,1)
 4810PROCcleartext(issue%,3)
 4818PROCcleartext(issue%,12)
 4826SYS "Wimp_SetCaretPosition",issue%,1,0,0,-1,0
 4834IF w_a% THEN
 4842  a$="E"+STR$(logged_on%)+";"+pass$(logged_on%,0)
 4850  a$+=";"+LEFT$(no$,5)+LEFT$(mem$,8)+date$
 4858  PROCadd_watchdog(a$)
 4866ENDIF
 4874ENDPROC
 4882
 4890DEFPROCopen_book_cache(accn$)
 4898LOCAL filo%,a$,b$,c$,c%
 4906accn$=LEFT$(accn$,5)
 4914a$=LEFT$(accn$,1)
 4922b$=MID$(accn$,2,1)
 4930c$=MID$(accn$,3,1)
 4938filo%=OPENIN("<Books"+a$+"$Dir>."+b$+"."+c$+"00-"+c$+"99")
 4946IF filo%=0 THEN PROCdis_message("Missing Book Cache for "+accn$):ENDPROC
 4954FOR c%=0 TO 99
 4962FOR da%=0 TO 4
 4970INPUT#filo%,var$(c%,da%)
 4978NEXT da%
 4986FOR ea%=0 TO 1
 4994INPUT#filo%,sen(c%,ea%)
 5002NEXT ea%,c%
 5010CLOSE#filo%
 5018cache%=VAL(accn$) DIV 100
 5026ENDPROC
 5034
 5042DEFPROCopen_book_cache_search(accn$)
 5050accn$=FNzero(accn$,5)
 5058LOCAL a$,b$,c$
 5066b$=MID$(accn$,2,1)
 5074c$=MID$(accn$,3,1)
 5082FOR i%=0 TO 9
 5090IF book_dir_def%(i%) THEN
 5098  a$=STR$(i%)
 5106  in%(i%)=OPENIN("<Books"+a$+"$Dir>."+b$+"."+c$+"00-"+c$+"99")
 5114  IF in%(i%)=0 THEN PROCdis_message("Missing Book Cache for "+accn$):ENDPROC
 5122  FOR c%=0 TO 99
 5130  FOR da%=0 TO 4
 5138  INPUT#filo%,var_sp$(i%,c%,da%)
 5146  NEXT da%
 5154  FOR ea%=0 TO 1
 5162  INPUT#filo%,sen_sp(i%,c%,ea%)
 5170  NEXT ea%,c%
 5178  CLOSE#in%(i%)
 5186ENDIF
 5194NEXT i%
 5202cache%=VAL(accn$) DIV 100
 5210ENDPROC
 5218
 5226DEFPROCnew_book
 5234PROCcheck_book_dirs
 5242PROCcheck_mem_dirs
 5250IF book_count%=0 THEN
 5258  PROCdis_message("No book directories have been seen by the filer.")
 5266  ENDPROC
 5274ENDIF
 5282tit$=FNgettext(add_stock%,2)
 5290tit$=FNremove_articles(FNUpper(tit$))
 5298tit$=FNRemove_Punc(tit$)
 5306no$=FNAccn_Algorithm(FALSE,tit$)
 5314snt=FNGet_Search(tit$)
 5322au$=FNgettext(add_stock%,4)
 5330au$=FNUpper(au$)
 5338au$=FNRemove_Punc(au$)
 5346sna=FNGet_Search(au$)
 5354IF no$="Full" THEN ENDPROC
 5362PROCopen_book_cache(no$)
 5370no%=VAL(no$)
 5378d$=MID$(no$,4,2)
 5386pick%=VAL(d$)
 5394var$(pick%,0)=FNUpper(FNgettext(add_stock%,2))
 5402var$(pick%,1)=FNUpper(FNgettext(add_stock%,4))
 5410var$(pick%,2)=FNUpper(FNgettext(add_stock%,6))
 5418var$(pick%,3)=FNUpper(FNgettext(add_stock%,9))
 5426var$(pick%,4)="IN LIBRARY"
 5434sen(pick%,0)=snt
 5442sen(pick%,1)=sna
 5450PROCsave_cache(no$)
 5458PROCputtext(add_stock%,16,FNCheck_Digit_Plus(no$))
 5466q%!0=add_stock%
 5474SYS "Wimp_GetWindowState",,q%
 5482PROCinfo(q%+4)
 5490SYS "Wimp_ForceRedraw",add_stock%,bx%+424,by%-446,174,-46
 5498PROCseti(add_stock%,17,&5000000,0)
 5506PROCseti(add_stock%,17,&9000,0)
 5514REPEAT
 5522  SYS "Wimp_Poll",&0,q% TO A%
 5530UNTIL A%=6 AND q%!12=add_stock% AND q%!16=17
 5538PROCseti(add_stock%,17,&5000000,0)
 5546PROCseti(add_stock%,17,&9000,0)
 5554PROCcleartext(add_stock%,2)
 5562PROCcleartext(add_stock%,4)
 5570PROCcleartext(add_stock%,6)
 5578PROCcleartext(add_stock%,9)
 5586PROCcleartext(add_stock%,16)
 5594divis%=no% DIV 8:modul%=no%MOD 8
 5602bookdef%?divis%=bookdef%?divis% OR (1<<(modul%))
 5610OSCLI("Save <Books"+STR$(no% DIV 10000)+"$Dir>.^.BookDef "+STR$~(bookdef%+(no% DIV 10000)*1250)+" + "+STR$~1250)
 5618IF w_a% THEN
 5626  a$="H"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
 5634  PROCadd_watchdog(a$)
 5642ENDIF
 5650ENDPROC
 5658
 5666DEFPROCsave_cache(accn$)
 5674LOCAL a$,b$,c$
 5682a$=LEFT$(accn$,1)
 5690b$=MID$(accn$,2,1)
 5698c$=MID$(accn$,3,1)
 5706filo%=OPENOUT("<Books"+a$+"$Dir>."+b$+"."+c$+"00-"+c$+"99")
 5714IF filo%=0 THEN PROCdis_message("Cannot Save Book Cache for "+accn$):ENDPROC
 5722FOR c%=0 TO 99
 5730FOR da%=0 TO 4
 5738PRINT#filo%,var$(c%,da%)
 5746NEXT da%
 5754FOR ea%=0 TO 1
 5762PRINT#filo%,sen(c%,ea%)
 5770NEXT ea%,c%
 5778CLOSE#filo%
 5786ENDPROC
 5794
 5802DEFPROCfin_nm(func%)
 5810PROCcheck_book_dirs
 5818PROCcheck_mem_dirs
 5826IF mem_count%=0 THEN
 5834  PROCdis_message("No member directories have been seen by the filer.")
 5842  ENDPROC
 5850ENDIF
 5858flag%=0
 5866FOR c%=7 TO 11
 5874IF FNIconGet(newmem%,c%) THEN flag%=c%
 5882NEXT c%
 5890CASE flag% OF
 5898  WHEN 7: nt$="MR."
 5906  WHEN 8: nt$="MRS."
 5914  WHEN 9: nt$="MISS"
 5922  WHEN 10: nt$="MS."
 5930  WHEN 11: nt$=FNUpper(FNgettext(newmem%,6))
 5938ENDCASE
 5946IF flag%=0 THEN ENDPROC
 5954flag%=0
 5962FOR c%=29 TO 31
 5970IF FNIconGet(newmem%,c%) THEN flag%=c%
 5978NEXT c%
 5986IF flag%=0 THEN ENDPROC
 5994ticket%=flag%-29
 6002surn$=FNUpper(FNgettext(newmem%,14))
 6010name$=FNUpper(FNgettext(newmem%,15))
 6018IF surn$="" THEN ENDPROC
 6026address$()=""
 6034FOR c%=17 TO 22
 6042address$(c%-17)=FNUpper(FNgettext(newmem%,c%))
 6050NEXT c%
 6058state$=FNUpper(FNgettext(newmem%,24))
 6066t$=LEFT$(surn$,1)
 6074PROCfind_mem_space(t$)
 6082IF lowest%=-1 THEN
 6090  PROCdis_message("No members directories have been seen by the filer.")
 6098  ENDPROC
 6106ENDIF
 6114code$=FNalgorithm(lk1%,lk2%,tn%,ASC(t$)-65)
 6122IF code$="You need more directories." THEN PROCdis_message(code$):ENDPROC
 6130filo%=OPENIN("<Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%))
 6138filp%=OPENOUT("<Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%)+"2")
 6146PRINT#filp%,tn%
 6154IF tn%>1 THEN
 6162  INPUT#filo%,temp%
 6170  FOR c%=1 TO lowest%
 6178  FOR d%=1 TO 11
 6186  INPUT#filo%,temp$
 6194  PRINT#filp%,temp$
 6202  NEXT d%
 6210  temp%=BGET#filo%
 6218  BPUT#filp%,temp%
 6226  bn%=BGET#filo%
 6234  BPUT#filp%,bn%
 6242  IF bn%>0 THEN
 6250    FOR d%=1 TO bn%
 6258    INPUT#filo%,temp%
 6266    PRINT#filp%,temp%
 6274    NEXT d%
 6282  ENDIF
 6290  NEXT c%
 6298ENDIF
 6306PRINT#filp%,LEFT$(code$,8)
 6314PRINT#filp%,nt$
 6322PRINT#filp%,surn$
 6330PRINT#filp%,name$
 6338FOR c%=0 TO 5
 6346PRINT#filp%,address$(c%)
 6354NEXT c%
 6362PRINT#filp%,state$
 6370BPUT#filp%,ticket%
 6378BPUT#filp%,0
 6386CLOSE#filo%
 6394CLOSE#filp%
 6402OSCLI("Delete <Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%))
 6410OSCLI("Rename <Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%)+"2 <Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%))
 6418PROCputtext(newmem%,35,code$)
 6426q%!0=newmem%
 6434SYS "Wimp_GetWindowState",,q%
 6442PROCinfo(q%+4)
 6450SYS "Wimp_ForceRedraw",newmem%,bx%+364,by%-872,174,-46
 6458PROCseti(newmem%,39,&5000000,0)
 6466PROCseti(newmem%,39,&9000,0)
 6474REPEAT
 6482  SYS "Wimp_Poll",&0,q% TO A%
 6490UNTIL A%=6 AND q%!12=newmem% AND q%!16=39
 6498PROCseti(newmem%,39,&5000000,0)
 6506PROCseti(newmem%,39,&9000,0)
 6514IF func%=0 THEN
 6522  PROCcleartext(newmem%,35)
 6530  FOR c%=17 TO 22
 6538  PROCcleartext(newmem%,c%)
 6546  NEXT c%
 6554  FOR c%=14 TO 15
 6562  PROCcleartext(newmem%,c%)
 6570  NEXT c%
 6578  l%=LEN(FNgettext(newmem%,14))
 6586  SYS "Wimp_SetCaretPosition",newmem%,14,0,0,-1,l%
 6594ELSE
 6602  PROCcleartext(newmem%,35)
 6610  FOR c%=17 TO 22
 6618  PROCcleartext(newmem%,c%)
 6626  NEXT c%
 6634  FOR c%=14 TO 15
 6642  PROCcleartext(newmem%,c%)
 6650  NEXT c%
 6658  !q%=newmem%
 6666  SYS "Wimp_CloseWindow",,q%
 6674ENDIF
 6682IF w_a% THEN
 6690  a$="L"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+LEFT$(code$,8)
 6698  PROCadd_watchdog(a$)
 6706ENDIF
 6714ENDPROC
 6722
 6730DEFPROCfind_mem_space(t$)
 6738lowest%=-1:lk1%=0:lk2%=0
 6746FOR d%=0 TO 99
 6754IF mem_dir_def%(d%) THEN
 6762  filo%=OPENIN("<Member"+STR$(d%)+"$Dir>."+t$+".Holes")
 6770  IF filo%=0 THEN
 6778    CLOSE#filo%
 6786    FOR e%=0 TO 9
 6794    filo%=OPENIN("<Member"+STR$(d%)+"$Dir>."+t$+"."+STR$(e%))
 6802    INPUT#filo%,temp%
 6810    IF lowest%=-1 THEN lowest%=temp%:lk1%=d%:lk2%=e%
 6818    IF temp%<lowest% THEN lowest%=temp%:lk1%=d%:lk2%=e%
 6826    CLOSE#filo%
 6834    NEXT e%
 6842    tn%=lowest%+1
 6850  ELSE
 6858    INPUT#filo%,got$
 6866    try$="<Member"+STR$(d%)+"$Dir>."+t$+".Holes"
 6874    filp%=OPENOUT(try$+"2")
 6882    delflag%=TRUE
 6890    REPEAT
 6898      IF NOT EOF#filo% THEN
 6906        delflag%=FALSE
 6914        INPUT#filo%,got$
 6922        PRINT#filp%,got$
 6930      ENDIF
 6938    UNTIL EOF#filo%
 6946    CLOSE#filo%
 6954    CLOSE#filp%
 6962    lk1%=d%:lk2%=VAL(LEFT$(got$,1)):tn%=VAL(RIGHT$(got$,LEN(got$)-1))
 6970    lowest%=1
 6978    OSCLI("Delete "+try$)
 6986    OSCLI("Rename "+try$+"2 "+try$)
 6994    IF delflag% THEN OSCLI("Delete "+try$)
 7002  ENDIF
 7010ENDIF
 7018NEXT d%
 7026ENDPROC
 7034
 7042DEFFNIconGet(win%,icon%)
 7050!q%=win%
 7058q%!4=icon%
 7066SYS "Wimp_GetIconState",,q%
 7074=((q%!24 AND 1<<21)>>>21)
 7082
 7090DEFPROCcleartext(win%,icon%)
 7098PROCputtext(win%,icon%,"")
 7106ENDPROC
 7114
 7122DEFPROCput_acc_up(s$,ok$)
 7130PROCputtext(accn_only%,2,ok$)
 7138$_titlestring%=s$
 7146!q%=accn_only%
 7154SYS "Wimp_GetWindowInfo",,q%
 7162_p%=!(q%+76)
 7170$_p%=$_titlestring%
 7178!q%=accn_only%
 7186SYS "Wimp_GetWindowState",,q%
 7194q%!28=-1
 7202SYS "Wimp_OpenWindow",,q%
 7210PROCcleartext(accn_only%,1)
 7218SYS "Wimp_SetCaretPosition",accn_only%,1,0,0,-1,0
 7226ENDPROC
 7234
 7242DEFPROCput_mem_up(s$)
 7250$_titlestring%=s$
 7258!q%=mem_only%
 7266SYS "Wimp_GetWindowInfo",,q%
 7274_p%=!(q%+76)
 7282$_p%=$_titlestring%
 7290!q%=mem_only%
 7298SYS "Wimp_GetWindowState",,q%
 7306q%!28=-1
 7314SYS "Wimp_OpenWindow",,q%
 7322PROCcleartext(mem_only%,1)
 7330SYS "Wimp_SetCaretPosition",mem_only%,1,0,0,-1,0
 7338ENDPROC
 7346
 7354DEFPROCaccn_o_fin
 7362comp$=FNWinTitle(accn_only%)
 7370CASE comp$ OF
 7378  WHEN "Return Book": PROCreturn_book
 7386  WHEN "Remove Stock": PROCremove_stock
 7394  WHEN "Change Stock": PROCchange_stock
 7402  WHEN "View Stock": PROCview_stock
 7410ENDCASE
 7418ENDPROC
 7426
 7434DEFPROCmem_o_fin
 7442comp$=FNWinTitle(mem_only%)
 7450CASE comp$ OF
 7458  WHEN "Remove Member": PROCremove_member
 7466  WHEN "Change Member": PROCchange_member
 7474ENDCASE
 7482ENDPROC
 7490
 7498DEFFNWinTitle(window%)
 7506!q%=window%
 7514SYS "Wimp_GetWindowInfo",,q%
 7522IF ((q%!60) AND &100)=0 ERROR 1,"Title isn't indirected"
 7530=$(q%!76)
 7538
 7546DEFPROCreturn_book
 7554PROCcheck_book_dirs
 7562PROCcheck_mem_dirs
 7570IF book_count%=0 THEN
 7578  PROCdis_message("No book directories have been seen by the filer.")
 7586  ENDPROC
 7594ENDIF
 7602IF mem_count%=0 THEN
 7610  PROCdis_message("No member directories have been seen by the filer.")
 7618  ENDPROC
 7626ENDIF
 7634no$=FNgettext(accn_only%,1)
 7642IF LEN(no$)<>6 THEN PROCdis_message("Invalid accession number"):ENDPROC
 7650IF NOT FNvalidate_digits(no$) THEN PROCdis_message("Invalid accession number"):ENDPROC
 7658no$=LEFT$(no$,5)
 7666IF book_dir_def%(VAL(LEFT$(no$,1)))=FALSE THEN
 7674  PROCdis_message("The book directory for this number has not been seen by the filer")
 7682  ENDPROC
 7690ENDIF
 7698no%=VAL(no$)
 7706IF ((bookdef%?(no% DIV 8) AND (1<<(no% MOD 8)))>>>(no% MOD 8))=0 THEN
 7714  PROCdis_message("This book does not exist")
 7722  ENDPROC
 7730ENDIF
 7738PROCopen_book_cache(no$)
 7746c$=RIGHT$(no$,2)
 7754pick%=VAL(c$)
 7762IF var$(pick%,4)="IN LIBRARY" THEN PROCdis_message("This book is already in the library"):ENDPROC
 7770da$=FNRemove_Punc(var$(pick%,4))
 7778day$=MID$(da$,1,2)
 7786mon$=MID$(da$,3,2)
 7794yr$=MID$(da$,5,2)
 7802mem$=RIGHT$(da$,8)
 7810t$=TIME$
 7818day2$=MID$(t$,5,2)
 7826mon2$=MID$(t$,8,3)
 7834CASE mon2$ OF
 7842  WHEN "Jan": mon2$="01"
 7850  WHEN "Feb": mon2$="02"
 7858  WHEN "Mar": mon2$="03"
 7866  WHEN "Apr": mon2$="04"
 7874  WHEN "May": mon2$="05"
 7882  WHEN "Jun": mon2$="06"
 7890  WHEN "Jul": mon2$="07"
 7898  WHEN "Aug": mon2$="08"
 7906  WHEN "Sep": mon2$="09"
 7914  WHEN "Oct": mon2$="10"
 7922  WHEN "Nov": mon2$="11"
 7930  WHEN "Dec": mon2$="12"
 7938ENDCASE
 7946d%=VAL(LEFT$(mem$,2))
 7954l%=VAL(MID$(mem$,3,2))
 7962s%=VAL(MID$(mem$,5,1))
 7970n%=VAL(MID$(mem$,6,3))
 7978IF mem_dir_def%(d%)=FALSE THEN
 7986  PROCdis_message("The membership directory of the borrower has not been seen by the filer. Locate the directory and try again.")
 7994  ENDPROC
 8002ENDIF
 8010try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
 8018filo%=OPENIN(try$)
 8026filp%=OPENOUT(try$+"2")
 8034INPUT#filo%,tn%
 8042IF tn%<n% THEN PROCdis_message("Invalid Membership Number"):CLOSE#filo%:CLOSE#filp%:ENDPROC
 8050PRINT#filp%,tn%
 8058FOR sc%=1 TO tn%
 8066FOR g%=1 TO 11
 8074INPUT#filo%,temp$
 8082IF g%=1 AND sc%=n% THEN owed%=VAL(RIGHT$(temp$,LEN(temp$)-8))
 8090PRINT#filp%,temp$
 8098NEXT g%
 8106temp%=BGET#filo%
 8114BPUT#filp%,temp%
 8122bn%=BGET#filo%
 8130IF sc%=n% THEN BPUT#filp%,bn%-1 ELSE BPUT#filp%,bn%
 8138FOR v%=1 TO bn%
 8146IF sc%=n% THEN
 8154  INPUT#filo%,temp$
 8162  IF LEFT$(temp$,5)<>LEFT$(no$,5) THEN PRINT#filp%,temp$
 8170ELSE
 8178  INPUT#filo%,temp$
 8186  PRINT#filp%,temp$
 8194ENDIF
 8202NEXT v%
 8210NEXT sc%
 8218CLOSE#filo%
 8226CLOSE#filp%
 8234OSCLI("Delete "+try$)
 8242OSCLI("Rename "+try$+"2 "+try$)
 8250called_flag%=FALSE
 8258yr2$=MID$(t$,14,2)
 8266IF VAL(yr2$)>VAL(yr$) THEN
 8274  PROCoverdue(yr2$,yr$,mon2$,mon$,day2$,day$)
 8282ELSE
 8290  IF VAL(yr2$)=VAL(yr$) THEN
 8298    IF VAL(mon2$)>VAL(mon$) THEN
 8306      PROCoverdue(yr2$,yr$,mon2$,mon$,day2$,day$)
 8314    ELSE
 8322      IF VAL(mon2$)=VAL(mon$) THEN
 8330        IF VAL(day2$)>VAL(day$) THEN
 8338          PROCoverdue(yr2$,yr$,mon2$,mon$,day2$,day$)
 8346        ENDIF
 8354      ENDIF
 8362    ENDIF
 8370  ENDIF
 8378ENDIF
 8386IF NOT called_flag% AND owed%>0 THEN
 8394  PROCoverdue(yr2$,yr$,mon2$,mon$,day2$,day$)
 8402ENDIF
 8410var$(pick%,4)="IN LIBRARY"
 8418PROCsave_cache(no$)
 8426PROCcleartext(accn_only%,1)
 8434!q%=accn_only%
 8442SYS "Wimp_CloseWindow",,q%
 8450IF w_a% THEN
 8458  a$="F"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+no$+mem$
 8466  PROCadd_watchdog(a$)
 8474ENDIF
 8482ENDPROC
 8490
 8498DEFPROCxor(handle%,icon%,ntimes%)
 8506LOCAL I%:FOR I%=1 TO ntimes%:PROCseti(handle%,icon%,&200000,0)
 8514tempt%=TIME:REPEAT UNTIL TIME-tempt%>3:NEXT
 8522ENDPROC
 8530
 8538DEFPROCseti(handle%,icon%,eor%,bic%)
 8546!q%=handle%:q%!4=icon%:q%!8=eor%:q%!12=bic%:SYS "Wimp_SetIconState",,q%
 8554ENDPROC
 8562
 8570DEFPROCdis_lend
 8578PROCputtext(optlend%,5,STR$(lending%(0,0)))
 8586PROCputtext(optlend%,6,STR$(lending%(0,1)))
 8594PROCputtext(optlend%,13,STR$(lending%(1,0)))
 8602PROCputtext(optlend%,14,STR$(lending%(1,1)))
 8610PROCputtext(optlend%,15,STR$(lending%(1,2)))
 8618ENDPROC
 8626
 8634DEFFNgettext(!q%,q%!4)
 8642SYS "Wimp_GetIconState",,q%
 8650=$(q%!28)
 8658
 8666DEFPROCremove_stock
 8674PROCcheck_book_dirs
 8682PROCcheck_mem_dirs
 8690IF book_count%=0 THEN
 8698  PROCdis_message("No book directories have been seen by the filer.")
 8706  ENDPROC
 8714ENDIF
 8722no$=FNgettext(accn_only%,1)
 8730fn$=no$
 8738IF NOT FNvalidate_digits(no$) THEN PROCdis_message("Invalid Accession Number"):ENDPROC
 8746no$=LEFT$(no$,5):no%=VAL(no$)
 8754IF book_dir_def%(VAL(LEFT$(no$,1)))=FALSE THEN
 8762  PROCdis_message("The book directory for that book has not been seen by the filer")
 8770  ENDPROC
 8778ENDIF
 8786IF ((bookdef%?(no% DIV 8) AND (1<<(no% MOD 8)))>>>(no% MOD 8))=0 THEN
 8794  PROCdis_message("This book does not exist")
 8802  ENDPROC
 8810ENDIF
 8818PROCopen_book_cache(no$)
 8826c$=RIGHT$(no$,2)
 8834pick%=VAL(c$)
 8842divis%=no% DIV 8
 8850modul%=no% MOD 8
 8858!q%=conf_remst%
 8866SYS "Wimp_GetWindowState",,q%
 8874q%!28=-1
 8882SYS "Wimp_OpenWindow",,q%
 8890IF var$(pick%,4)="IN LIBRARY" THEN
 8898  stat$=var$(pick%,4)
 8906ELSE
 8914  q$=var$(pick%,4)
 8922  stat$="Due "+LEFT$(q$,2)+"-"+MID$(q$,3,2)+"-"+MID$(q$,5,2)
 8930  stat$+="  Member "+RIGHT$(q$,8)
 8938ENDIF
 8946PROCputtext(conf_remst%,2,var$(pick%,0))
 8954PROCputtext(conf_remst%,4,var$(pick%,1))
 8962PROCputtext(conf_remst%,6,fn$)
 8970PROCputtext(conf_remst%,8,var$(pick%,2))
 8978PROCputtext(conf_remst%,10,var$(pick%,3))
 8986PROCputtext(conf_remst%,13,stat$)
 8994REPEAT
 9002  SYS "Wimp_Poll",&0,q% TO A%
 9010UNTIL A%=6 AND q%!12=conf_remst% AND (q%!16=14 OR q%!16=15)
 9018sel%=q%!16
 9026!q%=conf_remst%
 9034SYS "Wimp_CloseWindow",,q%
 9042!q%=accn_only%
 9050SYS "Wimp_CloseWindow",,q%
 9058PROCcleartext(accn_only%,1)
 9066IF sel%=15 THEN ENDPROC
 9074FOR c%=0 TO 4
 9082var$(pick%,c%)=""
 9090NEXT c%
 9098bookdef%?divis%=bookdef%?divis% EOR (1<<modul%)
 9106PROCsave_cache(no$)
 9114OSCLI("Save <Books"+STR$(no% MOD 10000)+"$Dir>.^.BookDef "+STR$~(bookdef%+(no% DIV 10000)*1250)+" + "+STR$~1250)
 9122IF w_a% THEN
 9130  a$="I"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
 9138  PROCadd_watchdog(a$)
 9146ENDIF
 9154ENDPROC
 9162
 9170DEFPROCputtext(win%,ico%,s$)
 9178!q%=win%
 9186q%!4=ico%
 9194SYS "Wimp_GetIconState",,q%
 9202!q%=win%
 9210q%!4=ico%
 9218q%!8=0:q%!12=0
 9226$(q%!28)=s$
 9234SYS "Wimp_SetIconState",,q%
 9242ENDPROC
 9250
 9258DEFPROCsprite_load
 9266LOCAL s%,t%
 9274s%=OPENIN("<Library$Dir>.Resources.Sprites"):t%=EXT#s%+16:CLOSE#s%
 9282DIM sprites% t%,spname% 12
 9290!sprites%=t%:sprites%!8=0
 9298SYS "OS_SpriteOp",&109,sprites%
 9306SYS "OS_SpriteOp",&10A,sprites%,"<Library$Dir>.Resources.Sprites"
 9314s%=OPENIN("<Library$Dir>.Resources.BookSp"):t%=EXT#s%+16:CLOSE#s%
 9322DIM booksp% t%,bookspname% 12
 9330!booksp%=t%:booksp%!8=0
 9338SYS "OS_SpriteOp",&109,booksp%
 9346SYS "OS_SpriteOp",&10A,booksp%,"<Library$Dir>.Resources.BookSp"
 9354s%=OPENIN("<Library$Dir>.Resources.MemSp"):t%=EXT#s%+16:CLOSE#s%
 9362DIM memsp% t%,memspname% 12
 9370!memsp%=t%:memsp%!8=0
 9378SYS "OS_SpriteOp",&109,memsp%
 9386SYS "OS_SpriteOp",&10A,memsp%,"<Library$Dir>.Resources.MemSp"
 9394s%=OPENIN("<Library$Dir>.Resources.BookSp22"):t%=EXT#s%+16:CLOSE#s%
 9402DIM booksp22% t%,booksp22name% 12
 9410!booksp22%=t%:booksp22%!8=0
 9418SYS "OS_SpriteOp",&109,booksp22%
 9426SYS "OS_SpriteOp",&10A,booksp22%,"<Library$Dir>.Resources.BookSp22"
 9434s%=OPENIN("<Library$Dir>.Resources.MemSp22"):t%=EXT#s%+16:CLOSE#s%
 9442DIM memsp22% t%,memsp22name% 12
 9450!memsp22%=t%:memsp22%!8=0
 9458SYS "OS_SpriteOp",&109,memsp22%
 9466SYS "OS_SpriteOp",&10A,memsp22%,"<Library$Dir>.Resources.MemSp22"
 9474ENDPROC
 9482
 9490DEFPROCnews_display
 9498SYS "Hourglass_On"
 9506filo%=OPENIN("<Library$Dir>.Text.News")
 9514IF filo%=0 THEN SYS "Hourglass_Off":CLOSE#filo%:ENDPROC
 9522winp%=0
 9530REPEAT
 9538  s$=GET$#filo%
 9546  PROCaddtonews(s$)
 9554UNTIL EOF#filo%
 9562CLOSE#filo%
 9570SYS "Hourglass_Off"
 9578!q%=main_aux%
 9586SYS "Wimp_CloseWindow",,q%
 9594!q%=0
 9602q%!4=winp%*-48+10
 9610q%!8=1232
 9618q%!12=0
 9626SYS "Wimp_SetExtent",main_aux%,q%
 9634!q%=main_aux%
 9642SYS "Wimp_GetWindowInfo",,q%
 9650_p%=!(q%+76)
 9658$_p%="News"
 9666!q%=main_aux%
 9674SYS "Wimp_GetWindowState",,q%
 9682q%!28=-1
 9690using_rd%=3
 9698SYS "Wimp_OpenWindow",,q%
 9706ENDPROC
 9714
 9722DEFPROCissue_set_dates
 9730rel$=TIME$
 9738day_n$=LEFT$(rel$,3)
 9746day$=MID$(rel$,5,2)
 9754mon$=MID$(rel$,8,3)
 9762yr$=MID$(rel$,12,4)
 9770day=VAL(day$)
 9778CASE mon$ OF
 9786  WHEN "Jan": mon=1
 9794  WHEN "Feb": mon=2
 9802  WHEN "Mar": mon=3
 9810  WHEN "Apr": mon=4
 9818  WHEN "May": mon=5
 9826  WHEN "Jun": mon=6
 9834  WHEN "Jul": mon=7
 9842  WHEN "Aug": mon=8
 9850  WHEN "Sep": mon=9
 9858  WHEN "Oct": mon=10
 9866  WHEN "Nov": mon=11
 9874  WHEN "Dec": mon=12
 9882ENDCASE
 9890yr=VAL(yr$)
 9898FOR c%=0 TO 1
 9906day(c%)=day+lending%(0,c%)
 9914mon(c%)=mon
 9922yr(c%)=yr
 9930REPEAT
 9938flag%=TRUE
 9946  CASE mon OF
 9954    WHEN 1,3,5,7,8,10,12: IF day(c%)>31 THEN mon(c%)+=1:day(c%)-=31:flag%=FALSE
 9962    WHEN 2
 9970      IF yr MOD 4=0 AND yr MOD 400<>0 THEN
 9978        IF day(c%)>29 THEN mon(c%)+=1:day(c%)-=29:flag%=FALSE
 9986      ELSE
 9994        IF day(c%)>28 THEN mon(c%)+=1:day(c%)-=28:flag%=FALSE
10002      ENDIF
10010    WHEN 4,6,9,11: IF day(c%)>30 THEN mon(c%)+=1:day(c%)-=30:flag%=FALSE
10018  ENDCASE
10026UNTIL flag%
10034IF mon(c%)>12 THEN yr(c%)+=1:mon(c%)-=12
10042s$=STR$(day(c%)):IF LEN(s$)=1 THEN s$="0"+s$
10050s$=s$+STR$(mon(c%)):IF LEN(s$)=3 THEN s$=LEFT$(s$,2)+"0"+RIGHT$(s$,1)
10058s$=s$+STR$(yr(c%) MOD 100):IF LEN(s$)=5 THEN s$=LEFT$(s$,4)+"0"+RIGHT$(s$,1)
10066PROCputtext(issue%,9+c%,LEFT$(s$,2)+"-"+MID$(s$,3,2)+"-"+RIGHT$(s$,2))
10074NEXT c%
10082PROCcleartext(issue%,12)
10090ENDPROC
10098
10106DEFPROCrenew_set_dates
10114rel$=TIME$
10122day_n$=LEFT$(rel$,3)
10130day$=MID$(rel$,5,2)
10138mon$=MID$(rel$,8,3)
10146yr$=MID$(rel$,12,4)
10154day=VAL(day$)
10162CASE mon$ OF
10170  WHEN "Jan": mon=1
10178  WHEN "Feb": mon=2
10186  WHEN "Mar": mon=3
10194  WHEN "Apr": mon=4
10202  WHEN "May": mon=5
10210  WHEN "Jun": mon=6
10218  WHEN "Jul": mon=7
10226  WHEN "Aug": mon=8
10234  WHEN "Sep": mon=9
10242  WHEN "Oct": mon=10
10250  WHEN "Nov": mon=11
10258  WHEN "Dec": mon=12
10266ENDCASE
10274yr=VAL(yr$)
10282FOR c%=0 TO 1
10290day(c%)=day+lending%(0,c%)
10298mon(c%)=mon
10306yr(c%)=yr
10314REPEAT
10322flag%=TRUE
10330  CASE mon OF
10338    WHEN 1,3,5,7,8,10,12: IF day(c%)>31 THEN mon(c%)+=1:day(c%)-=31:flag%=FALSE
10346    WHEN 2
10354      IF yr MOD 4=0 AND yr MOD 400<>0 THEN
10362        IF day(c%)>29 THEN mon(c%)+=1:day(c%)-=29:flag%=FALSE
10370      ELSE
10378        IF day(c%)>28 THEN mon(c%)+=1:day(c%)-=28:flag%=FALSE
10386      ENDIF
10394    WHEN 4,6,9,11: IF day(c%)>30 THEN mon(c%)+=1:day(c%)-=30:flag%=FALSE
10402  ENDCASE
10410UNTIL flag%
10418IF mon(c%)>12 THEN yr(c%)+=1:mon(c%)-=12
10426s$=STR$(day(c%)):IF LEN(s$)=1 THEN s$="0"+s$
10434s$=s$+STR$(mon(c%)):IF LEN(s$)=3 THEN s$=LEFT$(s$,2)+"0"+RIGHT$(s$,1)
10442s$=s$+STR$(yr(c%) MOD 100):IF LEN(s$)=5 THEN s$=LEFT$(s$,4)+"0"+RIGHT$(s$,1)
10450PROCputtext(renew%,6+c%,LEFT$(s$,2)+"-"+MID$(s$,3,2)+"-"+RIGHT$(s$,2))
10458NEXT c%
10466PROCcleartext(renew%,8)
10474ENDPROC
10482
10490DEFFNvalidate_date(v_date$)
10498LOCAL dy$,mon$,yr$
10506dy$=LEFT$(v_date$,2)
10514mon$=MID$(v_date$,3,2)
10522yr$=RIGHT$(v_date$,2)
10530vd%=VAL(dy$)
10538vm%=VAL(mon$)
10546vy%=VAL(yr$)
10554lyf%=FALSE
10562IF vy% MOD 4=0 AND vy%<>0 THEN lyf%=TRUE
10570IF vm%<1 OR vm%>12 THEN PROCdis_message("Invalid date format"):=FALSE
10578CASE vm% OF
10586  WHEN 1,3,5,7,8,10,12
10594    IF vd%<1 OR vd%>31 THEN PROCdis_message("Invalid date format"):ENDCASE:=FALSE
10602  WHEN 2
10610    IF lyf% THEN
10618      IF vd%<1 OR vd%>29 THEN PROCdis_message("Invalid date format"):ENDIF:ENDCASE:=FALSE
10626    ELSE
10634      IF vd%<1 OR vd%>28 THEN PROCdis_message("Invalid date format"):ENDIF:ENDCASE:=FALSE
10642    ENDIF
10650  WHEN 4,6,9,11
10658    IF vd%<1 OR vd%>30 THEN PROCdis_message("Invalid date format"):ENDCASE:=FALSE
10666ENDCASE
10674=TRUE
10682
10690DEFPROCinit_help
10698filo%=OPENIN("<Library$Dir>.Resources.InteraHelp")
10706REPEAT
10714  s$=GET$#filo%
10722  CASE LEFT$(s$,1) OF
10730    WHEN "W"
10738      s$=RIGHT$(s$,LEN(s$)-1)
10746      cur_win%=FNfind_win(s$)
10754    WHEN "I"
10762      s$=RIGHT$(s$,LEN(s$)-1)
10770      c_i$=s$
10778    WHEN "D"
10786      IF cur_win%=-2 THEN c_i$=STR$(libicon%)
10794      s$=RIGHT$(s$,LEN(s$)-1)
10802      a%=INSTR(c_i$,">")
10810      IF a% THEN
10818        le%=VAL(LEFT$(c_i$,a%-1))
10826        ri%=VAL(RIGHT$(c_i$,LEN(c_i$)-a%))
10834        FOR d%=le% TO ri%
10842        helpi%(helpi_ptr%,0)=cur_win%
10850        helpi%(helpi_ptr%,1)=d%
10858        helpi$(helpi_ptr%)=s$
10866        helpi_ptr%+=1
10874        NEXT d%
10882      ELSE
10890        helpi%(helpi_ptr%,0)=cur_win%
10898        helpi%(helpi_ptr%,1)=VAL(c_i$)
10906        helpi$(helpi_ptr%)=s$
10914        helpi_ptr%+=1
10922      ENDIF
10930  ENDCASE
10938UNTIL EOF#filo%
10946CLOSE#filo%
10954ENDPROC
10962
10970DEFFNUpper(s$)
10978q$=""
10986IF LEN(s$)>0 THEN
10994  FOR up%=1 TO LEN(s$)
11002  tal$=MID$(s$,up%,1)
11010  IF tal$>="a" AND tal$<="z" THEN tal$=CHR$(ASC(tal$)-32)
11018  q$=q$+tal$
11026  NEXT up%
11034ENDIF
11042=q$
11050
11058DEFFNalgorithm(d%,v%,n%,a%)
11066IF n%>999 THEN ="You need more directories."
11074a$=FNzero(STR$(d%),2)
11082a$+=FNzero(STR$(a%),2)
11090a$+=STR$(v%)
11098a$+=FNzero(STR$(n%),3)
11106count%=0
11114FOR c%=1 TO 8
11122count%=count%+(c%+1)*VAL(MID$(a$,9-c%,1))
11130NEXT c%
11138cd%=count% MOD 11
11146IF cd%=10 THEN a$=a$+"X" ELSE a$=a$+STR$(cd%)
11154=a$
11162
11170DEFPROCinfo(p%)
11178x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
11186scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
11194bx%=x0%-scx%:by%=y1%-scy%
11202ENDPROC
11210
11218DEFFNCheck_Digit_Plus(stem$)
11226count_cd%=0
11234multiplier%=2
11242FOR c%=LEN(stem$) TO 1 STEP TRUE
11250count_cd%+=VAL(MID$(stem$,c%,1))*multiplier%
11258multiplier%+=1
11266NEXT c%
11274cd$=STR$~(count_cd% MOD 11):IF cd$="A" THEN cd$="X"
11282=stem$+cd$
11290
11298DEFPROCreceive_csv(fn$)
11306SYS "Wimp_GetPointerInfo",,q%
11314IF q%!12<>pocket% AND q%!12<>pock_mem% THEN ENDPROC
11322PROCcheck_book_dirs
11330PROCcheck_mem_dirs
11338CASE q%!12 OF
11346  WHEN pocket%
11354    IF book_count%=0 THEN
11362      PROCdis_message("No book directories have been seen by the filer.")
11370      ENDPROC
11378    ENDIF
11386  WHEN pock_mem%
11394    IF mem_count%=0 THEN
11402      PROCdis_message("No member directories have been seen by the filer.")
11410      ENDPROC
11418    ENDIF
11426ENDCASE
11434gn$=fn$
11442filo%=OPENIN(fn$)
11450count_a%=0
11458WHILE NOT EOF#filo%
11466  temp$=GET$#filo%
11474  count_a%+=1
11482ENDWHILE
11490CLOSE#filo%
11498CASE q%!12 OF
11506  WHEN pocket%: PROCpocket_fill_window(gn$,count_a%)
11514  WHEN pock_mem%: PROCpocket_fill_mem(gn$,count_a%)
11522ENDCASE
11530q%!0=0
11538q%!4=-48*winp%-10
11546q%!8=7*16+50*16+40*16+15*16+6*16
11554q%!12=0
11562SYS "Wimp_SetExtent",main_aux%,q%
11570q%!0=pocket%
11578SYS "Wimp_CloseWindow",,q%
11586q%!0=pock_mem%
11594SYS "Wimp_CloseWindow",,q%
11602!q%=main_aux%
11610SYS "Wimp_GetWindowInfo",,q%
11618_p%=!(q%+76)
11626$_p%="Pocket Book Imports"
11634q%!0=main_aux%
11642SYS "Wimp_GetWindowState",,q%
11650q%!28=-1
11658SYS "Wimp_OpenWindow",,q%
11666ENDPROC
11674
11682DEFPROCpocket_fill_window(fn$,count_a%)
11690using_rd%=1
11698winp%=0
11706p_ptr%=count_a%-1
11714SYS "Hourglass_On"
11722filp%=OPENIN(fn$)
11730FOR f%=1 TO count_a%
11738SYS "Hourglass_Percentage",(f%/count_a%)*100
11746e$=GET$#filp%
11754e$=FNUpper(e$)
11762c_ptr%=0
11770quote_c%=0
11778FOR g%=1 TO LEN(e$)
11786IF MID$(e$,g%,1)=CHR$(34) THEN quote_c%=quote_c% EOR 1
11794IF MID$(e$,g%,1)="," AND quote_c%=0 THEN comma_pl%(c_ptr%)=g%:c_ptr%+=1
11802NEXT g%
11810vari$(0)=FNtrim(LEFT$(e$,comma_pl%(0)-1))
11818full_flag%=FALSE
11826IF LEN(vari$(0))=6 THEN
11834  full_flag%=TRUE
11842  FOR tr%=1 TO 5
11850  IF INSTR("0123456789",MID$(vari$(0),tr%,1))=0 THEN full_flag%=FALSE
11858  NEXT tr%
11866ENDIF
11874vari$(1)=FNtrim(MID$(e$,comma_pl%(0)+1,comma_pl%(1)-comma_pl%(0)-1))
11882vari$(2)=FNtrim(MID$(e$,comma_pl%(1)+1,comma_pl%(2)-comma_pl%(1)-1))
11890IF NOT full_flag% THEN
11898  vari$(3)=FNtrim(RIGHT$(e$,LEN(e$)-comma_pl%(2)))
11906  d$=FNRemove_Punc(FNremove_articles(vari$(0)))
11914  no$=FNAccn_Algorithm(FALSE,d$):no%=VAL(no$)
11922ELSE
11930  vari$(3)=FNtrim(MID$(e$,comma_pl%(2)+1,comma_pl%(3)-comma_pl%(2)-1))
11938  vari$(4)=FNtrim(MID$(e$,comma_pl%(3)+1,comma_pl%(4)-comma_pl%(3)-1))
11946  vari$(5)=FNtrim(RIGHT$(e$,LEN(e$)-comma_pl%(4)))
11954  no$=LEFT$(vari$(0),5):no%=VAL(no$)
11962ENDIF
11970PROCopen_book_cache(no$)
11978divis%=no% DIV 8
11986modul%=no% MOD 8
11994bookdef%?divis%=(bookdef%?divis% OR (1<<modul%))
12002pick%=VAL(RIGHT$(no$,2))
12010FOR g%=0 TO 4
12018IF full_flag% THEN
12026  var$(pick%,g%)=vari$(g%+1)
12034ELSE
12042  IF g%<4 THEN var$(pick%,g%)=vari$(g%) ELSE var$(pick%,g%)="IN LIBRARY"
12050ENDIF
12058NEXT g%
12066FOR ea%=0 TO 1
12074sen(pick%,ea%)=FNGet_Search(FNRemove_Punc(FNremove_articles(FNUpper(vari$(ea%+ABS(full_flag%))))))
12082NEXT ea%
12090IF full_flag% THEN
12098  cd$=FNspc(vari$(0),10)
12106ELSE
12114  cd$=FNspc(FNCheck_Digit_Plus(no$),10)
12122ENDIF
12130pock_tin$(0)=FNspc(var$(pick%,0),50)
12138pock_tin$(1)=FNspc(var$(pick%,1),40)
12146pock_tin$(2)=FNspc(var$(pick%,2),15)
12154pock_tin$(3)=FNspc(var$(pick%,3),6)
12162winstack$(winp%)=cd$+pock_tin$(0)+pock_tin$(1)+pock_tin$(2)+pock_tin$(3)
12170winp%+=-1*(winp%<10000)
12178PROCsave_cache(no$)
12186IF w_a% THEN
12194  a$="H"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
12202  PROCadd_watchdog(a$)
12210ENDIF
12218NEXT f%
12226CLOSE#filp%
12234FOR i%=0 TO 9
12242IF book_dir_def%(i%) THEN
12250  OSCLI("Save <Books"+STR$(i%)+"$Dir>.^.BookDef "+STR$~(bookdef%+i%*1250)+" + "+STR$~1250)
12258ENDIF
12266NEXT i%
12274SYS "Hourglass_Off"
12282ENDPROC
12290
12298DEFPROCpocket_fill_mem(fn$,count_a%)
12306using_rd%=5
12314winp%=0
12322p_ptr%=count_a%-1
12330SYS "Hourglass_On"
12338filq%=OPENIN(fn$)
12346FOR f%=1 TO count_a%
12354SYS "Hourglass_Percentage",(f%/count_a%)*100
12362e$=GET$#filq%
12370e$=FNUpper(e$)
12378c_ptr%=0
12386quote_c%=0
12394comma_pl%()=0
12402FOR g%=1 TO LEN(e$)
12410IF MID$(e$,g%,1)=CHR$(34) THEN quote_c%=quote_c% EOR 1
12418IF MID$(e$,g%,1)="," AND quote_c%=0 THEN comma_pl%(c_ptr%)=g%:c_ptr%+=1
12426NEXT g%
12434vari$(0)=FNtrim(LEFT$(e$,comma_pl%(0)-1))
12442full_flag%=FALSE
12450IF LEN(vari$(0))=9 THEN
12458  full_flag%=TRUE
12466  FOR tr%=1 TO 8
12474  IF INSTR("0123456789",MID$(vari$(0),tr%,1))=0 THEN full_flag%=FALSE
12482  NEXT tr%
12490ENDIF
12498vari$(1)=FNtrim(MID$(e$,comma_pl%(0)+1,comma_pl%(1)-comma_pl%(0)-1))
12506vari$(2)=FNtrim(MID$(e$,comma_pl%(1)+1,comma_pl%(2)-comma_pl%(1)-1))
12514vari$(3)=FNtrim(MID$(e$,comma_pl%(2)+1,comma_pl%(3)-comma_pl%(2)-1))
12522vari$(4)=FNtrim(MID$(e$,comma_pl%(3)+1,comma_pl%(4)-comma_pl%(3)-1))
12530vari$(5)=FNtrim(MID$(e$,comma_pl%(4)+1,comma_pl%(5)-comma_pl%(4)-1))
12538vari$(6)=FNtrim(MID$(e$,comma_pl%(5)+1,comma_pl%(6)-comma_pl%(5)-1))
12546vari$(7)=FNtrim(MID$(e$,comma_pl%(6)+1,comma_pl%(7)-comma_pl%(6)-1))
12554vari$(8)=FNtrim(MID$(e$,comma_pl%(7)+1,comma_pl%(8)-comma_pl%(7)-1))
12562vari$(9)=FNtrim(MID$(e$,comma_pl%(8)+1,comma_pl%(9)-comma_pl%(8)-1))
12570IF NOT full_flag% THEN
12578  vari$(10)=FNtrim(RIGHT$(e$,LEN(e$)-comma_pl%(9)))
12586  CASE vari$(10) OF
12594    WHEN "ADULT": ticket%=0
12602    WHEN "JUNIOR": ticket%=1
12610    WHEN "STAFF": ticket%=2
12618    OTHERWISE: ticket%=0
12626  ENDCASE
12634  t$=LEFT$(vari$(1),1)
12642  PROCfind_mem_space(t$)
12650  code$=FNalgorithm(lk1%,lk2%,tn%,ASC(t$)-65)
12658  IF code$="You need more directories." THEN PROCdis_message(code$):CLOSE#filq%:ENDPROC
12666ELSE
12674  vari$(10)=FNtrim(MID$(e$,comma_pl%(9)+1,comma_pl%(10)-comma_pl%(9)-1))
12682  vari$(11)=FNtrim(MID$(e$,comma_pl%(10)+1,comma_pl%(11)-comma_pl%(10)-1))
12690  vari$(12)=FNtrim(MID$(e$,comma_pl%(11)+1,comma_pl%(12)-comma_pl%(11)-1))
12698  vari$(13)=FNtrim(RIGHT$(e$,LEN(e$)-comma_pl%(12)))
12706  ticket%=VAL(vari$(12))
12714  code$=vari$(0)
12722  lk1%=VAL(LEFT$(code$,2))
12730  t$=CHR$(65+VAL(MID$(code$,3,2)))
12738  lk2%=VAL(MID$(code$,5,1))
12746  tn%=VAL(MID$(code$,6,3))
12754ENDIF
12762filo%=OPENIN("<Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%))
12770filp%=OPENOUT("<Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%)+"2")
12778PRINT#filp%,tn%
12786IF tn%>1 THEN
12794  INPUT#filo%,temp%
12802  FOR c%=1 TO lowest%
12810  FOR d%=1 TO 11
12818  INPUT#filo%,temp$
12826  PRINT#filp%,temp$
12834  NEXT d%
12842  temp%=BGET#filo%
12850  BPUT#filp%,temp%
12858  bn%=BGET#filo%
12866  BPUT#filp%,bn%
12874  IF bn%>0 THEN
12882    FOR d%=1 TO bn%
12890    INPUT#filo%,temp%
12898    PRINT#filp%,temp%
12906    NEXT d%
12914  ENDIF
12922  NEXT c%
12930ENDIF
12938PRINT#filp%,vari$(1)
12946PRINT#filp%,vari$(2)
12954PRINT#filp%,vari$(3)
12962PRINT#filp%,vari$(4)
12970FOR c%=0 TO 5
12978PRINT#filp%,vari$(5+c%)
12986NEXT c%
12994PRINT#filp%,vari$(10)
13002BPUT#filp%,ticket%
13010IF NOT full_flag% THEN
13018  BPUT#filp%,0
13026ELSE
13034  bg%=VAL(vari$(13))
13042  BPUT#filp%,bg%
13050  IF bg%>0 THEN
13058    bk$=GET$#filq%
13066    WHILE INSTR(bk$,",")
13074      PRINT#filp%,FNtrim(LEFT$(bk$,INSTR(bk$,",")-1))
13082      bk$=MID$(bk$,INSTR(bk$,",")+1)
13090    ENDWHILE
13098    PRINT#filp%,FNtrim(bk$)
13106    f%+=1
13114  ENDIF
13122ENDIF
13130CLOSE#filo%
13138CLOSE#filp%
13146OSCLI("Delete <Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%))
13154OSCLI("Rename <Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%)+"2 <Member"+STR$(lk1%)+"$Dir>."+t$+"."+STR$(lk2%))
13162winstack$(winp%)=FNspc(code$,12)
13170winstack$(winp%)+=FNspc(LEFT$(vari$(1+2*ABS(full_flag%))+", "+vari$(2*ABS(full_flag%))+" "+vari$(2+2*ABS(full_flag%),30),30)
13178adc$=LEFT$(vari$(3+2*ABS(full_flag%))+",",61)
13186FOR adc%=4+2*ABS(full_flag%) TO 9+2*ABS(full_flag%)
13194IF vari$(adc%)<>"" THEN adc$+=LEFT$(vari$(adc%)+",",61-LEN(adc$))
13202NEXT adc%
13210adc$=LEFT$(adc$)
13218winstack$(winp%)+=FNspc(adc$,60)
13226CASE vari$(10+2*ABS(full_flag%)) OF
13234  WHEN "ADULT","0": winstack$(winp%)+="Adult "
13242  WHEN "JUNIOR","1": winstack$(winp%)+="Junior"
13250  WHEN "STAFF","2": winstack$(winp%)+="Staff "
13258  OTHERWISE: winstack$(winp%)+="Adult "
13266ENDCASE
13274winp%+=-1*(winp%<10000)
13282IF w_a% THEN
13290  a$="L"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+LEFT$(code$,8)
13298  PROCadd_watchdog(a$)
13306ENDIF
13314NEXT f%
13322CLOSE#filq%
13330SYS "Hourglass_Off"
13338ENDPROC
13346
13354DEFFNtrim(s$)
13362s$=LEFT$(s$,LEN(s$)-1)
13370=RIGHT$(s$,LEN(s$)-1)
13378
13386DEFPROCpoll_draw
13394LOCAL more%
13402SYS "Wimp_RedrawWindow",,q% TO more%
13410x0%=q%!4
13418y0%=q%!16
13426scx%=q%!20:scy%=q%!24
13434bx%=x0%-scx%:by%=y0%-scy%
13442WHILE more%
13450  PROCevent_draw(q%!0,bx%,by%)
13458  SYS "Wimp_GetRectangle",,q% TO more%
13466  more%=0
13474ENDWHILE
13482ENDPROC
13490
13498DEFPROCevent_draw(win%,px%,py%)
13506CASE win% OF
13514  WHEN main_aux%: PROCredraw_pock(px%,py%)
13522ENDCASE
13530ENDPROC
13538
13546DEFFNspc(s$,nl%)
13554=s$+STRING$(nl%-LEN(s$)," ")
13562
13570DEFPROCredraw_pock(px%,py%)
13578FOR c%=0 TO winp%-1
13586e%=c%
13594MOVE px%,py%-e%*48-10
13602PRINT winstack$(c%)
13610NEXT c%
13618ENDPROC
13626
13634DEFFNzero(a$,l%)
13642=STRING$(l%-LEN(a$),"0")+a$
13650
13658DEFFNvalidate_digits(n$)
13666l%=LEN(n$)
13674accum%=0
13682FOR valc%=1 TO l%-1
13690IF INSTR("Xx",MID$(n$,valc%,1)) THEN
13698  deco%=10
13706ELSE
13714  deco%=VAL(MID$(n$,valc%,1))
13722ENDIF
13730accum%+=((l%+1)-valc%)*deco%
13738NEXT valc%
13746cd$=RIGHT$(n$,1)
13754IF INSTR("Xx",cd$) THEN cd%=10 ELSE cd%=VAL(cd$)
13762IF accum% MOD 11=cd% THEN =TRUE ELSE =FALSE
13770
13778DEFPROCbuildmenu(mn%,mt$)
13786menad%(mn%)=cur%
13794$cur%=mt$
13802cur%?12=7
13810cur%?13=2
13818cur%?14=7
13826cur%?15=0
13834cur%!16=0
13842cur%!20=44
13850cur%!24=0
13858cur%+=28
13866IF cur%>=menu%+&2000 THEN PROCdis_message("Menu tree has run out of room")
13874ENDPROC
13882
13890DEFPROCaddtomenu(mn%,it$,ha%,fe$)
13898fe%=0
13906IF INSTR(fe$,"L") THEN fe%+=2
13914IF INSTR(fe$,"W") THEN fe%+=4
13922IF INSTR(fe$,"F") THEN fe%+=128
13930!cur%=fe%
13938IF ha%>-1 AND ha%<&80 THEN cur%!4=menad%(ha%)
13946IF ha%=-1 THEN cur%!4=-1
13954IF ha%>&80 THEN cur%!4=ha%
13962cur%!8=1 OR (7<<24) OR 256
13970$(menuind%+mein%)=it$
13978ile%=LEN(it$)+1
13986IF (ile% MOD 4)>0 THEN ile%=((ile% DIV 4)+1)*4
13994cur%!12=menuind%+mein%
14002cur%!16=-1
14010cur%!20=LEN(it$)
14018IF INSTR(fe$,"W") THEN ile%=256:cur%!20=255
14026mein%+=ile%
14034IF mein%>&2000 THEN PROCdis_message("Menu inderection overflow")
14042cur%+=24
14050IF cur%>menu%+&2000 THEN PROCdis_message("Menu tree has run out of room")
14058IF ((menad%(mn%)!16)-32)<(LEN(it$)*16) THEN menad%(mn%)!16=(LEN(it$)*16)+32
14066ENDPROC
14074
14082DEFFNRemove_Punc(s$)
14090d$=""
14098FOR c%=1 TO LEN(s$)
14106e$=MID$(s$,c%,1)
14114IF (e$>="A" AND e$<="Z") OR (e$>="a" AND e$<="z") THEN d$=d$+e$
14122IF e$>="0" AND e$<="9" THEN d$+=e$
14130NEXT c%
14138=d$
14146
14154DEFFNAccn_Algorithm(func%,s$)
14162LOCAL a%
14170s$=FNUpper(s$)
14178IF s$="" THEN
14186  sn%=0
14194ELSE
14202  IF LEN(s$)>=2 THEN s$=LEFT$(s$,2)
14210  a%=0
14218  FOR c%=1 TO LEN(s$)
14226  a%+=(ASC(MID$(s$,c%,1))-65)*26^(LEN(s$)-c%)
14234  NEXT c%
14242  sn%=INT(a%*(9999/675))
14250ENDIF
14258IF func% THEN =FNzero(STR$(sn%),4)
14266flag%=FALSE:flag2%=FALSE
14274st%=sn%
14282cd%=0
14290WHILE cd%<10 AND NOT flag2%
14298  WHILE book_dir_def%(cd%)=FALSE AND cd%<10
14306    cd%+=1
14314  ENDWHILE
14322  flag2%=TRUE
14330ENDWHILE
14338IF cd%=10 THEN
14346  PROCdis_message("No book directories have been seen by the filer")
14354  ="Full"
14362ENDIF
14370scd%=cd%
14378REPEAT
14386  IF ((bookdef%?((cd%*10000+sn%) DIV 8) AND (1<<((cd%*10000+sn%) MOD 8)))>>>((cd%*10000+sn%) MOD 8)) THEN
14394    cd%+=1
14402    flag2%=FALSE
14410    WHILE cd%<10 AND NOT flag2%
14418      WHILE book_dir_def%(cd%)=FALSE AND cd%<10
14426        cd%+=1
14434      ENDWHILE
14442      flag2%=TRUE
14450    ENDWHILE
14458  ELSE
14466    flag%=TRUE
14474  ENDIF
14482  IF cd%=10 THEN
14490    cd%=scd%
14498    sn%+=1
14506    IF sn%=st% THEN
14514      PROCdis_message("There is no more space. Create a new book directory.")
14522      ="Full"
14530    ENDIF
14538  ENDIF
14546UNTIL flag%
14554=FNzero(STR$((cd%*10000)+sn%),5)
14562
14570DEFFNAccn_Algorithm_Original(func%,s$)
14578LOCAL a%
14586s$=FNUpper(s$)
14594IF s$="" THEN
14602  sn%=0
14610ELSE
14618  IF LEN(s$)>=2 THEN s$=LEFT$(s$,2)
14626  a%=0
14634  FOR c%=1 TO LEN(s$)
14642  a%+=(ASC(MID$(s$,c%,1))-65)*26^(LEN(s$)-c%)
14650  NEXT c%
14658  sn%=INT(a%*(9999/675))
14666ENDIF
14674IF func% THEN =FNzero(STR$(sn%),4)
14682flag%=FALSE:flag2%=FALSE
14690st%=sn%
14698cd%=0
14706WHILE cd%<10
14714  WHILE book_dir_def%(cd%)=FALSE AND cd%<10
14722    cd%+=1
14730  ENDWHILE
14738ENDWHILE
14746IF cd%=10 THEN
14754  PROCdis_message("No book directories have been seen by the filer")
14762  ="Full"
14770ENDIF
14778REPEAT
14786  IF ((bookdef%?((cd%*10000+sn%) DIV 8) AND (1<<((cd%*10000+sn%) MOD 8)))>>>((cd%*10000+sn%) MOD 8)) THEN sn%+=1 ELSE flag%=TRUE
14794  IF sn%=10000 THEN sn%=0:flag2%=TRUE
14802  IF sn%=st% AND flag2% THEN
14810    IF cd%<9 THEN
14818      cd%+=1:flag2%=FALSE
14826      WHILE cd%<10
14834        WHILE book_dir_def%(cd%)=FALSE AND cd%<10
14842          cd%+=1
14850        ENDWHILE
14858      ENDWHILE
14866      IF cd%=10 THEN PROCdis_message("There is no more space. Create a new book directory."):="Full"
14874    ELSE
14882      PROCdis_message("There is no more space. Create a new book directory.")
14890      ="Full"
14898    ENDIF
14906  ENDIF
14914UNTIL flag%
14922=FNzero(STR$((cd%*10000)+sn%),5)
14930
14938DEFPROCcheck_book_dirs
14946book_count%=0
14954FOR c%=0 TO 9
14962SYS "XOS_ReadVarVal",("Books"+STR$(c%)+"$Dir"),wimp%,256,,3 TO ,,n% ;err%
14970IF (err% AND 1) THEN
14978  book_dir_def%(c%)=FALSE
14986ELSE
14994  book_dir_def%(c%)=TRUE
15002  book_count%+=1
15010ENDIF
15018NEXT c%
15026IF smeg_flag% THEN PROCload_bookdef
15034ENDPROC
15042
15050DEFPROCcheck_mem_dirs
15058mem_count%=0
15066FOR c%=0 TO 99
15074SYS "XOS_ReadVarVal",("Member"+STR$(c%)+"$Dir"),wimp%,256,,3 TO ,,n% ;err%
15082IF (err% AND 1) THEN
15090  mem_dir_def%(c%)=FALSE
15098ELSE
15106  mem_dir_def%(c%)=TRUE
15114  mem_count%+=1
15122ENDIF
15130NEXT c%
15138ENDPROC
15146
15154DEFPROCupdate_save_boxes
15162smeg_flag%=FALSE
15170PROCcheck_book_dirs
15178smeg_flag%=TRUE
15186br%=0
15194flag%=FALSE
15202WHILE br%<10 AND NOT flag%
15210  WHILE book_dir_def%(br%) AND br%<10
15218    br%+=1
15226  ENDWHILE
15234  flag%=TRUE
15242ENDWHILE
15250IF br%=10 THEN br%=0
15258dr%=0
15266flag%=FALSE
15274WHILE dr%<100 AND NOT flag%
15282  WHILE mem_dir_def%(dr%) AND dr%<100
15290    dr%+=1
15298  ENDWHILE
15306  flag%=TRUE
15314ENDWHILE
15322IF dr%=100 THEN dr%=0
15330wimp%!0=save_book%
15338wimp%!4=1
15346SYS "Wimp_GetIconState",,wimp%
15354wimp%!8=0
15362wimp%!12=0
15370$(wimp%!28)="!!Books"+STR$(br%)
15378SYS "Wimp_SetIconState",,wimp%
15386wimp%!0=save_mem%
15394wimp%!4=1
15402SYS "Wimp_GetIconState",,wimp%
15410wimp%!8=0
15418wimp%!12=0
15426$(wimp%!28)="!!Member"+STR$(dr%)
15434SYS "Wimp_SetIconState",,wimp%
15442ENDPROC
15450
15458DEFPROCdecode_menu
15466CASE menu_flag% OF
15474  WHEN 0
15482    CASE q%!0 OF
15490      WHEN 1: PROCnews_display
15498      WHEN 2
15506        !q%=search%
15514        SYS "Wimp_GetWindowState",,q%
15522        q%!28=-1
15530        SYS "Wimp_OpenWindow",,q%
15538        l%=LEN(FNgettext(search%,11))
15546        SYS "Wimp_SetCaretPosition",search%,11,0,0,-1,l%
15554      WHEN 3
15562        CASE q%!4 OF
15570          WHEN 0
15578            CASE q%!8 OF
15586              WHEN 0
15594                !q%=issue%
15602                SYS "Wimp_GetWindowState",,q%
15610                q%!28=-1
15618                SYS "Wimp_OpenWindow",,q%
15626                l%=LEN(FNgettext(issue%,1))
15634                SYS "Wimp_SetCaretPosition",issue%,1,0,0,-1,l%
15642                PROCissue_set_dates
15650              WHEN 1
15658                PROCput_acc_up("Return Book","Return")
15666              WHEN 2
15674                !q%=renew%
15682                SYS "Wimp_GetWindowState",,q%
15690                q%!28=-1
15698                SYS "Wimp_OpenWindow",,q%
15706                l%=LEN(FNgettext(renew%,1))
15714                SYS "Wimp_SetCaretPosition",renew%,1,0,0,-1,l%
15722                PROCrenew_set_dates
15730              WHEN 3
15738                CASE q%!12 OF
15746                  WHEN 0
15754                    !q%=add_stock%
15762                    SYS "Wimp_GetWindowState",,q%
15770                    q%!28=-1
15778                    SYS "Wimp_OpenWindow",,q%
15786                    l%=LEN(FNgettext(add_stock%,2))
15794                    SYS "Wimp_SetCaretPosition",add_stock%,2,0,0,-1,l%
15802                  WHEN 1
15810                    !q%=pocket%
15818                    SYS "Wimp_GetWindowState",,q%
15826                    q%!28=-1
15834                    SYS "Wimp_OpenWindow",,q%
15842                ENDCASE
15850              WHEN 4
15858                PROCput_acc_up("Remove Stock","Remove")
15866              WHEN 5
15874                PROCput_acc_up("Change Stock","Find")
15882              WHEN 6
15890                PROCput_acc_up("View Stock","Find")
15898              WHEN 7
15906                CASE q%!12 OF
15914                  WHEN 0
15922                    FOR c%=0 TO 3
15930                    ec%(0,c%)=0
15938                    NEXT c%
15946                    PROCprepare_export(0,1)
15954                  WHEN 1
15962                    FOR c%=0 TO 3
15970                    ec%(1,c%)=0
15978                    NEXT c%
15986                    PROCprepare_export(1,1)
15994                ENDCASE
16002            ENDCASE
16010          WHEN 1
16018            CASE q%!8 OF
16026              WHEN 0
16034                CASE q%!12 OF
16042                  WHEN 0
16050                    !q%=newmem%
16058                    SYS "Wimp_GetWindowState",,q%
16066                    q%!28=-1
16074                    SYS "Wimp_OpenWindow",,q%
16082                    l%=LEN(FNgettext(newmem%,14))
16090                    SYS "Wimp_SetCaretPosition",newmem%,14,0,0,-1,l%
16098                  WHEN 1
16106                    !q%=pock_mem%
16114                    SYS "Wimp_GetWindowState",,q%
16122                    q%!28=-1
16130                    SYS "Wimp_OpenWindow",,q%
16138                ENDCASE
16146              WHEN 1: PROCput_mem_up("Remove Member")
16154              WHEN 2: PROCput_mem_up("Change Member")
16162              WHEN 3
16170                !q%=vmq%
16178                SYS "Wimp_GetWindowState",,q%
16186                q%!28=-1
16194                SYS "Wimp_OpenWindow",,q%
16202                l%=LEN(FNgettext(vmq%,4))
16210                SYS "Wimp_SetCaretPosition",vmq%,4,0,0,-1,l%
16218              WHEN 4
16226                CASE q%!12 OF
16234                  WHEN 0
16242                    FOR c%=0 TO 3
16250                    ec%(2,c%)=ABS(c%=3)
16258                    NEXT c%
16266                    PROCprepare_export(2,1)
16274                  WHEN 1
16282                    FOR c%=0 TO 3
16290                    ec%(3,c%)=ABS(c%=3)
16298                    NEXT c%
16306                    PROCprepare_export(3,1)
16314                ENDCASE
16322            ENDCASE
16330          WHEN 2
16338            !q%=changepass%
16346            SYS "Wimp_GetWindowState",,q%
16354            q%!28=-1
16362            SYS "Wimp_OpenWindow",,q%
16370            l%=LEN(FNgettext(changepass%,1))
16378            SYS "Wimp_SetCaretPosition",changepass%,1,0,0,-1,l%
16386          WHEN 3
16394            !q%=news_imp%
16402            SYS "Wimp_GetWindowState",,q%
16410            q%!28=-1
16418            SYS "Wimp_OpenWindow",,q%
16426          WHEN 5
16434            CASE q%!8 OF
16442              WHEN 0
16450                pr$=""
16458                LOCAL ERROR
16466                ON ERROR LOCAL:pr$="None":RESTORE ERROR
16474                IF pr$="" THEN SYS "OS_Module",18,"PDriver" TO ,pdr_no%
16482                IF pr$="" THEN
16490                  SYS "PDriver_Info" TO ,,,,pr%
16498                  pr$=FNstring0(pr%)
16506                ENDIF
16514                IF pr$="" THEN RESTORE ERROR
16522                PROCputtext(overdue_pr%,1,pr$)
16530                !q%=overdue_pr%
16538                SYS "Wimp_GetWindowState",,q%
16546                q%!28=-1
16554                SYS "Wimp_OpenWindow",,q%
16562                l%=LEN(FNgettext(overdue_pr%,10))
16570                SYS "Wimp_SetCaretPosition",overdue_pr%,10,0,0,-1,l%
16578                current_print%=1
16586              WHEN 1
16594                pr$=""
16602                LOCAL ERROR
16610                ON ERROR LOCAL:pr$="None":RESTORE ERROR
16618                IF pr$="" THEN SYS "OS_Module",18,"PDriver" TO ,pdr_no%
16626                IF pr$="" THEN
16634                  SYS "PDriver_Info" TO ,,,,pr%
16642                  pr$=FNstring0(pr%)
16650                ENDIF
16658                IF pr$="" THEN RESTORE ERROR
16666                PROCputtext(all_pr%,1,pr$)
16674                !q%=all_pr%
16682                SYS "Wimp_GetWindowState",,q%
16690                q%!28=-1
16698                SYS "Wimp_OpenWindow",,q%
16706                current_print%=5
16714            ENDCASE
16722          WHEN 6
16730            CASE q%!8 OF
16738              WHEN 0
16746                !q%=optpc%
16754                SYS "Wimp_GetWindowState",,q%
16762                q%!28=-1
16770                SYS "Wimp_OpenWindow",,q%
16778                PROCpass_enter(1)
16786              WHEN 1
16794                PROCdis_lend
16802                !q%=optlend%
16810                SYS "Wimp_GetWindowState",,q%
16818                q%!28=-1
16826                SYS "Wimp_OpenWindow",,q%
16834                l%=LEN(FNgettext(optlend%,5))
16842                SYS "Wimp_SetCaretPosition",optlend%,5,0,0,-1,l%
16850              WHEN 2
16858                PROCdis_fines
16866                !q%=opt_fines%
16874                SYS "Wimp_GetWindowState",,q%
16882                q%!28=-1
16890                SYS "Wimp_OpenWindow",,q%
16898                l%=LEN(FNgettext(opt_fines%,1))
16906                SYS "Wimp_SetCaretPosition",opt_fines%,1,0,0,-1,l%
16914              WHEN 3
16922                menad%(6)!(28+(3*24))=menad%(6)!(28+(3*24)) EOR 1
16930                comp%=menad%(6)!(28+(3*24)) AND 1
16938                filo%=OPENOUT("<Library$Dir>.Preference.Fonts")
16946                BPUT#filo%,comp%
16954                CLOSE#filo%
16962                st1$="<Library$Dir>.Resources.Templates"
16970                st2$="<Library$Dir>.Resources.Spare.Templates"
16978                OSCLI("Rename "+st1$+"3 "+st2$+"A")
16986                OSCLI("Rename "+st2$+"3 "+st1$+"3")
16994                OSCLI("Rename "+st2$+"A "+st2$+"3")
17002              WHEN 4
17010                CASE q%!12 OF
17018                  WHEN 0: PROCshow_watchdog
17026                  WHEN 1
17034                    w_a%=1
17042                    filo%=OPENOUT("<Library$Dir>.Preference.WatchActiv")
17050                    BPUT#filo%,w_a%
17058                    CLOSE#filo%
17066                    temp%=(28+(1*24)+8)
17074                    temp2%=(28+(2*24)+8)
17082                    menad%(10)!temp%=menad%(10)!temp% EOR (1<<22)
17090                    menad%(10)!temp2%=menad%(10)!temp2% EOR (1<<22)
17098                    a$="U"+STR$(logged_on%)+";"+pass$(logged_on%,0)
17106                    PROCadd_watchdog(a$)
17114                  WHEN 2
17122                    a$="V"+STR$(logged_on%)+";"+pass$(logged_on%,0)
17130                    PROCadd_watchdog(a$)
17138                    w_a%=0
17146                    filo%=OPENOUT("<Library$Dir>.Preference.WatchActiv")
17154                    BPUT#filo%,w_a%
17162                    CLOSE#filo%
17170                    temp%=(28+(1*24)+8)
17178                    temp2%=(28+(2*24)+8)
17186                    menad%(10)!temp%=menad%(10)!temp% EOR (1<<22)
17194                    menad%(10)!temp2%=menad%(10)!temp2% EOR (1<<22)
17202                  WHEN 3
17210                    filo%=OPENIN("<Library$Dir>.Watchdog.Watchdog")
17218                    CLOSE#filo%
17226                    IF filo% THEN
17234                      OSCLI("Delete <Library$Dir>.Watchdog.Watchdog")
17242                    ENDIF
17250                    IF w_a% THEN
17258                      a$="V"+STR$(logged_on%)+";"+pass$(logged_on%,0)
17266                      PROCadd_watchdog(a$)
17274                    ENDIF
17282                ENDCASE
17290            ENDCASE
17298        ENDCASE
17306      WHEN 4
17314        !q%=logon%
17322        SYS "Wimp_GetWindowState",,q%
17330        q%!28=-1
17338        SYS "Wimp_OpenWindow",,q%
17346        l%=LEN(FNgettext(logon%,1))
17354        SYS "Wimp_SetCaretPosition",logon%,1,0,0,-1,l%
17362      WHEN 5: PROClog_off
17370      WHEN 6
17378        IF logged_on% THEN PROClog_off
17386        SYS "Wimp_CloseDown",,!taskid%:END
17394    ENDCASE
17402  WHEN 1
17410    SYS "Wimp_DecodeMenu",,menad%(8),q%,wimp%
17418    a$=$wimp%
17426    PROCputtext(newmem%,24,a$)
17434  WHEN 3
17442    IF q%!0>=0 AND q%!0<=2 THEN
17450      choice%=q%!0
17458      CASE choice% OF
17466        WHEN 0: a$="Adult"
17474        WHEN 1: a$="Junior"
17482        WHEN 2: a$="Staff"
17490      ENDCASE
17498      PROCputtext(changemem%,15,a$)
17506    ENDIF
17514  WHEN 4
17522    SYS "Wimp_DecodeMenu",,fm%,q%,wimp%
17530    pute$=$wimp%
17538    CASE current_print% OF
17546      WHEN 1
17554        alr$=FNgettext(overdue_pr%,3)
17562        IF FNUpper(pute$)<>FNUpper(alr$) THEN
17570          IF FNUpper(pute$)="SYSTEM FONT" THEN
17578            PROCseti(overdue_pr%,21,&5000000,0)
17586            PROCseti(overdue_pr%,22,&500F000,0)
17594            IF f_flag% THEN
17602              PROCput_valid(overdue_pr%,21,"F17")
17610              PROCput_valid(overdue_pr%,22,"A0-9;R7;Pptr_write;KA;F07")
17618            ENDIF
17626          ELSE
17634            IF FNUpper(alr$)="SYSTEM FONT" THEN
17642              PROCseti(overdue_pr%,21,&5000000,0)
17650              PROCseti(overdue_pr%,22,&500F000,0)
17658              IF f_flag% THEN
17666                PROCput_valid(overdue_pr%,21,"F12")
17674                PROCput_valid(overdue_pr%,22,"A0-9;R7;Pptr_write;KA;F02")
17682              ENDIF
17690              l%=LEN(FNgettext(overdue_pr%,10))
17698              SYS "Wimp_SetCaretPosition",overdue_pr%,10,0,0,-1,l%
17706            ENDIF
17714          ENDIF
17722        ENDIF
17730        PROCputtext(overdue_pr%,3,$wimp%)
17738      WHEN 5
17746        alr$=FNgettext(all_pr%,3)
17754        IF FNUpper(pute$)<>FNUpper(alr$) THEN
17762          IF FNUpper(pute$)="SYSTEM FONT" THEN
17770            PROCseti(all_pr%,10,&5000000,0)
17778            PROCseti(all_pr%,13,&5000000,0)
17786            PROCseti(all_pr%,14,&500F000,0)
17794            PROCseti(all_pr%,9,&500B000,0)
17802            IF f_flag% THEN
17810              PROCput_valid(all_pr%,10,"F12")
17818              PROCput_valid(all_pr%,13,"F17")
17826              PROCput_valid(all_pr%,14,"A0-9;R7;Pptr_write;F07")
17834            ENDIF
17842          ELSE
17850            IF FNUpper(alr$)="SYSTEM FONT" THEN
17858              PROCseti(all_pr%,10,&5000000,0)
17866              PROCseti(all_pr%,13,&5000000,0)
17874              PROCseti(all_pr%,14,&500F000,0)
17882              PROCseti(all_pr%,9,&500B000,0)
17890              IF f_flag% THEN
17898                PROCput_valid(all_pr%,10,"F12")
17906                PROCput_valid(all_pr%,13,"F17")
17914                PROCput_valid(all_pr%,14,"A0-9;R7;Pptr_write;F02")
17922              ENDIF
17930              SYS "Wimp_SetCaretPosition",-1
17938            ENDIF
17946          ENDIF
17954        ENDIF
17962        PROCputtext(all_pr%,3,$wimp%)
17970      OTHERWISE: PROCputtext(print%,3,$wimp%)
17978    ENDCASE
17986ENDCASE
17994SYS "Wimp_GetPointerInfo",,q%
18002IF ((q%!8) AND 1) THEN
18010  IF om%=255 THEN
18018    SYS "Wimp_CreateMenu",,fm%,ox%,oy%
18026  ELSE
18034    SYS "Wimp_CreateMenu",,menad%(om%),ox%,oy%
18042  ENDIF
18050ENDIF
18058ENDPROC
18066
18074DEFPROCprocess_key(win%,ico%,key%)
18082SYS "Wimp_CreateMenu",-1
18090CASE key% OF
18098  WHEN &180
18106    SYS "Wimp_GetPointerInfo",,q%
18114    CASE q%!12 OF
18122      WHEN view_stock%
18130        pr$=""
18138        LOCAL ERROR
18146        ON ERROR LOCAL:pr$="None":RESTORE ERROR
18154        IF pr$="" THEN SYS "OS_Module",18,"PDriver" TO ,pdr_no%
18162        IF pr$="" THEN
18170          SYS "PDriver_Info" TO ,,,,pr%
18178          pr$=FNstring0(pr%)
18186        ENDIF
18194        RESTORE ERROR
18202        PROCputtext(print%,1,pr$)
18210        !q%=print%
18218        SYS "Wimp_GetWindowState",,q%
18226        q%!28=-1
18234        SYS "Wimp_OpenWindow",,q%
18242        current_print%=2
18250      WHEN viewmem%
18258        pr$=""
18266        LOCAL ERROR
18274        ON ERROR LOCAL:pr$="None":RESTORE ERROR
18282        IF pr$="" THEN SYS "OS_Module",18,"PDriver" TO ,pdr_no%
18290        IF pr$="" THEN
18298          SYS "PDriver_Info" TO ,,,,pr%
18306          pr$=FNstring0(pr%)
18314        ENDIF
18322        RESTORE ERROR
18330        PROCputtext(print%,1,pr$)
18338        !q%=print%
18346        SYS "Wimp_GetWindowState",,q%
18354        q%!28=-1
18362        SYS "Wimp_OpenWindow",,q%
18370        current_print%=3
18378      WHEN main_aux%
18386        pr$=""
18394        LOCAL ERROR
18402        ON ERROR LOCAL:pr$="None":RESTORE ERROR
18410        IF pr$="" THEN SYS "OS_Module",18,"PDriver" TO ,pdr_no%
18418        IF pr$="" THEN
18426          SYS "PDriver_Info" TO ,,,,pr%
18434          pr$=FNstring0(pr%)
18442        ENDIF
18450        RESTORE ERROR
18458        PROCputtext(print%,1,pr$)
18466        IF using_rd%=1 THEN
18474          !q%=print%
18482          SYS "Wimp_GetWindowState",,q%
18490          q%!28=-1
18498          SYS "Wimp_OpenWindow",,q%
18506          current_print%=4
18514        ENDIF
18522    ENDCASE
18530  WHEN &181
18538    IF logged_on%=0 THEN
18546      !q%=logon%
18554      SYS "Wimp_GetWindowState",,q%
18562      q%!28=-1
18570      SYS "Wimp_OpenWindow",,q%
18578      l%=LEN(FNgettext(logon%,1))
18586      SYS "Wimp_SetCaretPosition",logon%,1,0,0,-1,l%
18594    ENDIF
18602  WHEN &182: IF logged_on% THEN PROClog_off
18610  WHEN &183
18618    IF logged_on% THEN
18626      IF (pn%(logged_on%) AND (1<<11)) THEN
18634        PROCupdate_save_boxes
18642        !q%=save_book%
18650        SYS "Wimp_GetWindowInfo",,q%
18658        SYS "Wimp_CreateMenu",,save_book%,q%!4,q%!16
18666      ENDIF
18674    ENDIF
18682  WHEN &184
18690    !q%=search%
18698    SYS "Wimp_GetWindowState",,q%
18706    q%!28=-1
18714    SYS "Wimp_OpenWindow",,q%
18722    l%=LEN(FNgettext(search%,11))
18730    SYS "Wimp_SetCaretPosition",search%,11,0,0,-1,l%
18738  WHEN &185
18746    IF logged_on% THEN
18754      IF (pn%(logged_on%) AND (1<<0)) THEN
18762        !q%=issue%
18770        SYS "Wimp_GetWindowState",,q%
18778        q%!28=-1
18786        SYS "Wimp_OpenWindow",,q%
18794        l%=LEN(FNgettext(issue%,1))
18802        SYS "Wimp_SetCaretPosition",issue%,1,0,0,-1,l%
18810        PROCissue_set_dates
18818      ENDIF
18826    ENDIF
18834  WHEN &186
18842    IF logged_on% THEN
18850      IF (pn%(logged_on%) AND (1<<1)) THEN
18858        PROCput_acc_up("Return Book","Return")
18866      ENDIF
18874    ENDIF
18882  WHEN &187
18890    IF logged_on% THEN
18898      IF (pn%(logged_on%) AND (1<<1)) THEN
18906        !q%=renew%
18914        SYS "Wimp_GetWindowState",,q%
18922        q%!28=-1
18930        SYS "Wimp_OpenWindow",,q%
18938        l%=LEN(FNgettext(renew%,1))
18946        SYS "Wimp_SetCaretPosition",renew%,1,0,0,-1,l%
18954        PROCrenew_set_dates
18962      ENDIF
18970    ENDIF
18978  WHEN &188
18986    IF logged_on% THEN
18994      PROCput_acc_up("View Stock","Find")
19002    ENDIF
19010  WHEN &189
19018    IF logged_on% THEN
19026      IF (pn%(logged_on%) AND (1<<5)) THEN
19034        !q%=newmem%
19042        SYS "Wimp_GetWindowState",,q%
19050        q%!28=-1
19058        SYS "Wimp_OpenWindow",,q%
19066        l%=LEN(FNgettext(newmem%,14))
19074        SYS "Wimp_SetCaretPosition",newmem%,14,0,0,-1,l%
19082      ENDIF
19090    ENDIF
19098  WHEN &191
19106    IF logged_on% THEN
19114      IF (pn%(logged_on%) AND (1<<9)) THEN
19122        !q%=changepass%
19130        SYS "Wimp_GetWindowState",,q%
19138        q%!28=-1
19146        SYS "Wimp_OpenWindow",,q%
19154        l%=LEN(FNgettext(changepass%,1))
19162        SYS "Wimp_SetCaretPosition",changepass%,1,0,0,-1,l%
19170      ENDIF
19178    ENDIF
19186  WHEN &192: PROCnews_display
19194  WHEN &193
19202    IF logged_on% THEN
19210      IF (pn%(logged_on%) AND (1<<11)) THEN
19218        PROCupdate_save_boxes
19226        !q%=save_mem%
19234        SYS "Wimp_GetWindowInfo",,q%
19242        SYS "Wimp_CreateMenu",,save_mem%,q%!4,q%!16
19250      ENDIF
19258    ENDIF
19266  WHEN &194
19274    IF logged_on% THEN
19282      IF (pn%(logged_on%) AND (1<<8)) THEN
19290        !q%=vmq%
19298        SYS "Wimp_GetWindowState",,q%
19306        q%!28=-1
19314        SYS "Wimp_OpenWindow",,q%
19322        l%=LEN(FNgettext(vmq%,4))
19330        SYS "Wimp_SetCaretPosition",vmq%,4,0,0,-1,l%
19338      ENDIF
19346    ENDIF
19354  WHEN &195
19362    IF logged_on% THEN
19370      IF (pn%(logged_on%) AND (1<<2)) THEN
19378        !q%=add_stock%
19386        SYS "Wimp_GetWindowState",,q%
19394        q%!28=-1
19402        SYS "Wimp_OpenWindow",,q%
19410        l%=LEN(FNgettext(add_stock%,2))
19418        SYS "Wimp_SetCaretPosition",add_stock%,2,0,0,-1,l%
19426      ENDIF
19434    ENDIF
19442  WHEN &196
19450    IF logged_on% THEN
19458      IF (pn%(logged_on%) AND (1<<2)) THEN
19466        !q%=pocket%
19474        SYS "Wimp_GetWindowState",,q%
19482        q%!28=-1
19490        SYS "Wimp_OpenWindow",,q%
19498      ENDIF
19506    ENDIF
19514  WHEN &197
19522    IF logged_on% THEN
19530      IF (pn%(logged_on%) AND (1<<3)) THEN
19538        PROCput_acc_up("Remove Stock","Remove")
19546      ENDIF
19554    ENDIF
19562  WHEN &198
19570    IF logged_on% THEN
19578      IF (pn%(logged_on%) AND (1<<4)) THEN
19586        PROCput_acc_up("Change Stock","Find")
19594      ENDIF
19602    ENDIF
19610  WHEN &199
19618    IF logged_on% THEN
19626      IF (pn%(logged_on%) AND (1<<5)) THEN
19634        !q%=pock_mem%
19642        SYS "Wimp_GetWindowState",,q%
19650        q%!28=-1
19658        SYS "Wimp_OpenWindow",,q%
19666      ENDIF
19674    ENDIF
19682  WHEN &1A1
19690    !q%=display%
19698    SYS "Wimp_GetWindowState",,q%
19706    q%!28=-1
19714    SYS "Wimp_OpenWindow",,q%
19722  WHEN &1A2
19730    IF logged_on% THEN
19738      IF (pn%(logged_on%) AND (1<<10)) THEN
19746        !q%=news_imp%
19754        SYS "Wimp_GetWindowState",,q%
19762        q%!28=-1
19770        SYS "Wimp_OpenWindow",,q%
19778      ENDIF
19786    ENDIF
19794  WHEN &1A3
19802    IF logged_on% THEN
19810      IF using_rd%=1 OR using_rd%=5 THEN
19818        !q%=save_text%
19826        SYS "Wimp_GetWindowInfo",,q%
19834        SYS "Wimp_CreateMenu",,save_text%,q%!4,q%!16
19842      ENDIF
19850    ENDIF
19858  WHEN &1A5
19866    IF logged_on% THEN
19874      IF (pn%(logged_on%) AND (1<<13)) THEN
19882        FOR c%=0 TO 3
19890        ec%(0,c%)=0
19898        NEXT c%
19906        PROCprepare_export(0,1)
19914      ENDIF
19922    ENDIF
19930  WHEN &1A6
19938    IF logged_on% THEN
19946      IF (pn%(logged_on%) AND (1<<13)) THEN
19954        FOR c%=0 TO 3
19962        ec%(1,c%)=0
19970        NEXT c%
19978        PROCprepare_export(1,1)
19986      ENDIF
19994    ENDIF
20002  WHEN &1B3
20010    IF logged_on% THEN
20018      IF using_rd%=1 OR using_rd%=5 THEN
20026        !q%=save_csv%
20034        SYS "Wimp_GetWindowInfo",,q%
20042        SYS "Wimp_CreateMenu",,save_csv%,q%!4,q%!16
20050      ENDIF
20058    ENDIF
20066  WHEN &1CA
20074    IF logged_on% THEN
20082      IF (pn%(logged_on%) AND (1<<6)) THEN
20090        PROCput_mem_up("Remove Member")
20098      ENDIF
20106    ENDIF
20114  WHEN &1CB
20122    IF logged_on% THEN
20130      IF (pn%(logged_on%) AND (1<<7)) THEN
20138        PROCput_mem_up("Change Member")
20146      ENDIF
20154    ENDIF
20162  WHEN &1DA
20170    IF logged_on% THEN
20178      IF (pn%(logged_on%) AND (1<<13)) THEN
20186        FOR c%=0 TO 3
20194        ec%(2,c%)=ABS(c%=3)
20202        NEXT c%
20210        PROCprepare_export(2,1)
20218      ENDIF
20226    ENDIF
20234  WHEN &1DB
20242    IF logged_on% THEN
20250      IF (pn%(logged_on%) AND (1<<13)) THEN
20258        FOR c%=0 TO 3
20266        ec%(3,c%)=ABS(c%=3)
20274        NEXT c%
20282        PROCprepare_export(3,1)
20290      ENDIF
20298    ENDIF
20306  WHEN 13
20314    CASE win% OF
20322      WHEN search%
20330        IF ico%=11 THEN
20338          PROCxor(search%,12,2)
20346          PROCsearch
20354        ENDIF
20362      WHEN logon%
20370        IF ico%=1 THEN
20378          PROCxor(logon%,2,2)
20386          PROClog_on
20394        ENDIF
20402      WHEN changepass%
20410        CASE ico% OF
20418          WHEN 1
20426            l%=LEN(FNgettext(changepass%,3))
20434            SYS "Wimp_SetCaretPosition",changepass%,3,0,0,-1,l%
20442          WHEN 3
20450            PROCxor(changepass%,4,2)
20458            PROCpass_alt
20466        ENDCASE
20474      WHEN issue%
20482        CASE ico% OF
20490          WHEN 1
20498            l%=LEN(FNgettext(issue%,3))
20506            SYS "Wimp_SetCaretPosition",issue%,3,0,0,-1,l%
20514          WHEN 3
20522            PROCxor(issue%,8,2)
20530            PROCissuebook
20538        ENDCASE
20546      WHEN renew%
20554        IF ico%=1 THEN
20562          PROCxor(renew%,9,2)
20570          PROCrenew(FALSE)
20578        ENDIF
20586      WHEN add_stock%
20594        CASE ico% OF
20602          WHEN 2,4,6
20610            ni%=ico%+2+ABS(ico%=6)
20618            l%=LEN(FNgettext(add_stock%,ni%))
20626            SYS "Wimp_SetCaretPosition",add_stock%,ni%,0,0,-1,l%
20634          WHEN 11
20642            PROCxor(add_stock%,10,2)
20650            PROCnew_book
20658        ENDCASE
20666      WHEN change_stock%
20674        CASE ico% OF
20682          WHEN 2,4,6
20690            ni%=ico%+2+ABS(ico%=6)
20698            l%=LEN(FNgettext(change_stock%,ni%))
20706            SYS "Wimp_SetCaretPosition",change_stock%,ni%,0,0,-1,l%
20714          WHEN 9
20722            PROCxor(change_stock%,10,2)
20730            PROCchange_stock_go
20738        ENDCASE
20746      WHEN newmem%
20754        IF ico%>=14 AND ico%<=21 THEN
20762          ni%=ico%+1+(1 AND (ico%=15))
20770          l%=LEN(FNgettext(newmem%,ni%))
20778          SYS "Wimp_SetCaretPosition",newmem%,ni%,0,0,-1,l%
20786        ENDIF
20794        IF ico%=22 THEN
20802          PROCxor(newmem%,36,2)
20810          PROCfin_nm(0)
20818        ENDIF
20826      WHEN vmq%
20834        CASE ico% OF
20842          WHEN 4
20850            l%=LEN(FNgettext(vmq%,8))
20858            SYS "Wimp_SetCaretPosition",vmq%,8,0,0,-1,l%
20866          WHEN 8
20874            PROCxor(vmq%,20,2)
20882            PROCview_member
20890        ENDCASE
20898      WHEN accn_only%
20906        IF ico%=1 THEN
20914          PROCxor(accn_only%,2,2)
20922          PROCaccn_o_fin
20930        ENDIF
20938      WHEN mem_only%
20946        IF ico%=1 THEN
20954          PROCxor(mem_only%,2,2)
20962          PROCmem_o_fin
20970        ENDIF
20978      WHEN optlend%
20986        CASE ico% OF
20994          WHEN 5
21002            l%=LEN(FNgettext(optlend%,6))
21010            SYS "Wimp_SetCaretPosition",optlend%,6,0,0,-1,l%
21018          WHEN 6
21026            l%=LEN(FNgettext(optlend%,13))
21034            SYS "Wimp_SetCaretPosition",optlend%,13,0,0,-1,l%
21042          WHEN 13,14
21050            l%=LEN(FNgettext(optlend%,ico%+1))
21058            SYS "Wimp_SetCaretPosition",optlend%,ico%+1,0,0,-1,l%
21066          WHEN 15
21074            PROCxor(optlend%,4,2)
21082            PROCup_o_lend
21090        ENDCASE
21098      WHEN optpc%
21106        IF ico%=5 OR ico%=32 THEN
21114          ni%=ABS(ico%-32)+5
21122          l%=LEN(FNgettext(win%,ni%))
21130          SYS "Wimp_SetCaretPosition",optpc%,ni%,0,0,-1,l%
21138        ENDIF
21146      WHEN opt_fines%
21154        ni%=-1
21162        IF ico%=1 THEN ni%=25
21170        IF ico%>=25 AND ico%<=35 THEN ni%=ico%+1
21178        IF ico%=36 THEN
21186          PROCxor(opt_fines%,40,2)
21194          PROCsave_fines
21202        ELSE
21210          l%=LEN(FNgettext(opt_fines%,ni%))
21218          SYS "Wimp_SetCaretPosition",opt_fines%,ni%,0,0,-1,l%
21226        ENDIF
21234      WHEN changemem%
21242        ni%=-1
21250        IF ico%>=5 AND ico%<=13 THEN ni%=ico%+1
21258        IF ico%=14 THEN
21266          PROCxor(changemem%,26,2)
21274          PROCsave_ch_mem
21282        ELSE
21290          l%=LEN(FNgettext(changemem%,ni%))
21298          SYS "Wimp_SetCaretPosition",changemem%,ni%,0,0,-1,l%
21306        ENDIF
21314      WHEN save_text%
21322        PROCxor(save_text%,2,2)
21330        n$=FNgettext(save_text%,1)
21338        IF INSTR(n$,".")=0 AND INSTR(n$,":")=0 THEN
21346          PROCdis_message("To save, drag the file icon to a directory viewer")
21354        ELSE
21362          PROCsave_export(n$,0)
21370        ENDIF
21378      WHEN save_csv%
21386        PROCxor(save_csv%,2,2)
21394        n$=FNgettext(save_csv%,1)
21402        IF INSTR(n$,".")=0 AND INSTR(n$,":")=0 THEN
21410          PROCdis_message("To save, drag the file icon to a directory viewer")
21418        ELSE
21426          PROCsave_export(n$,1)
21434        ENDIF
21442      WHEN export_csv%
21450        PROCxor(export_csv%,2,2)
21458        n$=FNgettext(export_csv%,1)
21466        IF INSTR(n$,".")=0 AND INSTR(n$,":")=0 THEN
21474          PROCdis_message("To save, drag the file icon to a directory viewer")
21482        ELSE
21490          PROCstart_export(n$,0)
21498        ENDIF
21506      WHEN export_text%
21514        PROCxor(export_text%,2,2)
21522        n$=FNgettext(export_text%,1)
21530        IF INSTR(n$,".")=0 AND INSTR(n$,":")=0 THEN
21538          PROCdis_message("To save, drag the file icon to a directory viewer")
21546        ELSE
21554          PROCstart_export(n$,1)
21562        ENDIF
21570    ENDCASE
21578  OTHERWISE
21586    SYS "Wimp_ProcessKey",key%
21594ENDCASE
21602ENDPROC
21610
21618DEFPROCdecode_button_press
21626CASE q%!8 OF
21634  WHEN 1
21642    CASE q%!12 OF
21650      WHEN optpc%
21658        CASE q%!16 OF
21666          WHEN 2,3: PROCmove_pass_id(ABS(q%!16-3))
21674        ENDCASE
21682      WHEN save_book%
21690        CASE q%!16 OF
21698          WHEN 3
21706            tx$=FNgettext(save_book%,1)
21714            tx%=VAL(RIGHT$(tx$,LEN(tx$)-7))
21722            tx%-=1
21730            IF tx%=-1 THEN tx%=9
21738            PROCputtext(save_book%,1,"!!Books"+STR$(tx%))
21746          WHEN 4
21754            tx$=FNgettext(save_book%,1)
21762            tx%=VAL(RIGHT$(tx$,LEN(tx$)-7))
21770            tx%+=1
21778            IF tx%=10 THEN tx%=0
21786            PROCputtext(save_book%,1,"!!Books"+STR$(tx%))
21794        ENDCASE
21802      WHEN save_mem%
21810        CASE q%!16 OF
21818          WHEN 2
21826            PROCdis_message("To save, drag the file icon to a directory viewer")
21834          WHEN 3
21842            tx$=FNgettext(save_mem%,1)
21850            tx%=VAL(RIGHT$(tx$,LEN(tx$)-8))
21858            tx%-=1
21866            IF tx%=-1 THEN tx%=99
21874            PROCputtext(save_mem%,1,"!!Member"+STR$(tx%))
21882          WHEN 4
21890            tx$=FNgettext(save_mem%,1)
21898            tx%=VAL(RIGHT$(tx$,LEN(tx$)-8))
21906            tx%+=1
21914            IF tx%=100 THEN tx%=0
21922            PROCputtext(save_mem%,1,"!!Member"+STR$(tx%))
21930        ENDCASE
21938    ENDCASE
21946  WHEN 2
21954    CASE q%!12 OF
21962      WHEN -2,display%
21970        IF (q%!12=-2 AND q%!16=libicon%) OR q%!12=display% THEN
21978          PROCupdate_save_boxes
21986          IF q%!12=-2 THEN
21994            SYS "Wimp_CreateMenu",,menad%(1),q%!0-96,44*9+52
22002            ox%=q%!0-96:oy%=44*9+52:om%=1
22010          ELSE
22018            SYS "Wimp_CreateMenu",,menad%(1),q%!0,q%!4
22026            ox%=q%!0:oy%=q%!4:om%=1
22034          ENDIF
22042          menu_flag%=0
22050        ENDIF
22058      WHEN newmem%
22066        IF q%!16=24 THEN
22074          SYS "Wimp_CreateMenu",,menad%(8),q%!0,q%!4
22082          ox%=!q%:oy%=q%!4:om%=8
22090          menu_flag%=1
22098        ENDIF
22106      WHEN main_aux%
22114        IF using_rd%=1 OR using_rd%=5 THEN
22122          SYS "Wimp_CreateMenu",,menad%(9),q%!0,q%!4
22130          ox%=!q%:oy%=q%!4:om%=9
22138          menu_flag%=2
22146        ENDIF
22154      WHEN changemem%
22162        IF q%!16=15 THEN
22170          SYS "Wimp_CreateMenu",,menad%(11),q%!0,q%!4
22178          ox%=!q%:oy%=q%!4:om%=11
22186          menu_flag%=3
22194        ENDIF
22202      WHEN overdue_pr%,print%,all_pr%
22210        IF q%!16=3 THEN
22218          SYS "OS_ReadVarVal","Library$Templates",wimp%,256,0,0 TO ,,len%
22226          wimp%?(len%)=0
22234          temp$=FNstring0(wimp%)
22242          IF temp$="Templates3" THEN
22250            ff%=3<<19
22258            SYS "Font_ListFonts",,fm%,ff%,&2000,fmi%,&2000,0
22266            SYS "Wimp_CreateMenu",,fm%,q%!0,q%!4
22274            ox%=!q%:oy%=q%!4:om%=255
22282            menu_flag%=4
22290          ENDIF
22298        ENDIF
22306      OTHERWISE: menu_flag%=-1
22314    ENDCASE
22322  WHEN 4
22330    CASE q%!12 OF
22338      WHEN -2
22346        IF q%!16=libicon% THEN
22354          !q%=display%
22362          SYS "Wimp_GetWindowState",,q%
22370          q%!28=-1
22378          SYS "Wimp_OpenWindow",,q%
22386        ENDIF
22394      WHEN search%
22402        CASE q%!16 OF
22410          WHEN 12: PROCsearch
22418          WHEN 13
22426            PROCcleartext(search%,11)
22434            !q%=search%
22442            SYS "Wimp_CloseWindow",,q%
22450        ENDCASE
22458      WHEN logon%
22466        CASE q%!16 OF
22474          WHEN 2: PROClog_on
22482          WHEN 3
22490            PROCcleartext(logon%,1)
22498            !q%=logon%
22506            SYS "Wimp_CloseWindow",,q%
22514        ENDCASE
22522      WHEN changepass%
22530        CASE q%!16 OF
22538          WHEN 4: PROCpass_alt
22546          WHEN 5
22554            PROCcleartext(changepass%,1)
22562            PROCcleartext(changepass%,3)
22570            !q%=changepass%
22578            SYS "Wimp_CloseWindow",,q%
22586        ENDCASE
22594      WHEN issue%
22602        CASE q%!16 OF
22610          WHEN 4: PROCissuebook_and_exit
22618          WHEN 8: PROCissuebook
22626          WHEN 13
22634            PROCcleartext(issue%,1)
22642            PROCcleartext(issue%,3)
22650            PROCcleartext(issue%,12)
22658            !q%=issue%
22666            SYS "Wimp_CloseWindow",,q%
22674        ENDCASE
22682      WHEN add_stock%
22690        CASE q%!16 OF
22698          WHEN 10: PROCnew_book
22706          WHEN 11
22714            PROCnew_book
22722            !q%=add_stock%
22730            SYS "Wimp_CloseWindow",,q%
22738          WHEN 18
22746            PROCcleartext(add_stock%,2)
22754            PROCcleartext(add_stock%,4)
22762            PROCcleartext(add_stock%,6)
22770            PROCcleartext(add_stock%,9)
22778            PROCcleartext(add_stock%,16)
22786            !q%=add_stock%
22794            SYS "Wimp_CloseWindow",,q%
22802        ENDCASE
22810      WHEN newmem%
22818        CASE q%!16 OF
22826          WHEN 36,37: PROCfin_nm((q%!16)-36)
22834          WHEN 11
22842            l%=LEN(FNgettext(newmem%,14))
22850            SYS "Wimp_SetCaretPosition",newmem%,14,0,0,-1,l%
22858          WHEN 40
22866            PROCcleartext(newmem%,35)
22874            FOR c%=17 TO 22
22882            PROCcleartext(newmem%,c%)
22890            NEXT c%
22898            FOR c%=14 TO 15
22906            PROCcleartext(newmem%,c%)
22914            NEXT c%
22922            !q%=newmem%
22930            SYS "Wimp_CloseWindow",,q%
22938        ENDCASE
22946      WHEN vmq%
22954        CASE q%!16 OF
22962          WHEN 20: PROCview_member
22970          WHEN 21
22978            PROCcleartext(vmq%,4)
22986            PROCcleartext(vmq%,8)
22994            !q%=vmq%
23002            SYS "Wimp_CloseWindow",,q%
23010        ENDCASE
23018      WHEN renew%
23026        CASE q%!16 OF
23034          WHEN 9: PROCrenew(FALSE)
23042          WHEN 10: PROCrenew(TRUE)
23050          WHEN 11
23058            PROCcleartext(renew%,1)
23066            PROCcleartext(renew%,8)
23074            !q%=renew%
23082            SYS "Wimp_CloseWindow",,q%
23090        ENDCASE
23098      WHEN accn_only%
23106        CASE q%!16 OF
23114          WHEN 2: PROCaccn_o_fin
23122          WHEN 3
23130            PROCcleartext(accn_only%,1)
23138            !q%=accn_only%
23146            SYS "Wimp_CloseWindow",,q%
23154        ENDCASE
23162      WHEN mem_only%
23170        CASE q%!16 OF
23178          WHEN 2: PROCmem_o_fin
23186          WHEN 3
23194            PROCcleartext(mem_only%,1)
23202            !q%=mem_only%
23210            SYS "Wimp_CloseWindow",,q%
23218        ENDCASE
23226      WHEN change_stock%
23234        CASE q%!16 OF
23242          WHEN 10: PROCchange_stock_go
23250          WHEN 11
23258            !q%=change_stock%
23266            SYS "Wimp_CloseWindow",,q%
23274        ENDCASE
23282      WHEN view_stock%
23290        IF q%!16=10 THEN
23298          !q%=q%!12
23306          SYS "Wimp_CloseWindow",,q%
23314        ENDIF
23322      WHEN optpc%
23330        CASE q%!16 OF
23338          WHEN 2,3: PROCmove_pass_id(q%!16-2)
23346          WHEN 33: PROCsave_pass
23354          WHEN 36: PROCdelete_pass
23362          WHEN 37
23370            !q%=optpc%
23378            SYS "Wimp_CloseWindow",,q%
23386        ENDCASE
23394      WHEN optlend%
23402        CASE q%!16 OF
23410          WHEN 4: PROCup_o_lend
23418          WHEN 16
23426            !q%=optlend%
23434            SYS "Wimp_CloseWindow",,q%
23442        ENDCASE
23450      WHEN save_book%
23458        CASE q%!16 OF
23466          WHEN 2
23474            PROCdis_message("To save, drag the file icon to a directory viewer")
23482          WHEN 3
23490            tx$=FNgettext(save_book%,1)
23498            tx%=VAL(RIGHT$(tx$,LEN(tx$)-7))
23506            tx%+=1
23514            IF tx%=10 THEN tx%=0
23522            PROCputtext(save_book%,1,"!!Books"+STR$(tx%))
23530          WHEN 4
23538            tx$=FNgettext(save_book%,1)
23546            tx%=VAL(RIGHT$(tx$,LEN(tx$)-7))
23554            tx%-=1
23562            IF tx%=-1 THEN tx%=9
23570            PROCputtext(save_book%,1,"!!Books"+STR$(tx%))
23578        ENDCASE
23586      WHEN save_mem%
23594        CASE q%!16 OF
23602          WHEN 2
23610            PROCdis_message("To save, drag the file icon to a directory viewer")
23618          WHEN 3
23626            tx$=FNgettext(save_mem%,1)
23634            tx%=VAL(RIGHT$(tx$,LEN(tx$)-8))
23642            tx%+=1
23650            IF tx%=100 THEN tx%=0
23658            PROCputtext(save_mem%,1,"!!Member"+STR$(tx%))
23666          WHEN 4
23674            tx$=FNgettext(save_mem%,1)
23682            tx%=VAL(RIGHT$(tx$,LEN(tx$)-8))
23690            tx%-=1
23698            IF tx%=-1 THEN tx%=99
23706            PROCputtext(save_mem%,1,"!!Member"+STR$(tx%))
23714        ENDCASE
23722      WHEN save_text%
23730        IF q%!16=2 THEN
23738          n$=FNgettext(save_text%,1)
23746          IF INSTR(n$,".")=0 AND INSTR(n$,":")=0 THEN
23754            PROCdis_message("To save, drag the file icon to a directory viewer")
23762          ELSE
23770            PROCsave_export(n$,0)
23778            SYS "Hourglass_Smash"
23786          ENDIF
23794        ENDIF
23802      WHEN save_csv%
23810        IF q%!16=2 THEN
23818          n$=FNgettext(save_csv%,1)
23826          IF INSTR(n$,".")=0 AND INSTR(n$,":")=0 THEN
23834            PROCdis_message("To save, drag the file icon to a directory viewer")
23842          ELSE
23850            PROCsave_export(n$,1)
23858            SYS "Hourglass_Smash"
23866          ENDIF
23874        ENDIF
23882      WHEN export_csv%
23890        IF q%!16=2 THEN
23898          n$=FNgettext(export_csv%,1)
23906          IF INSTR(n$,".")=0 AND INSTR(n$,":")=0 THEN
23914            PROCdis_message("To save, drag the file icon to a directory viewer")
23922          ELSE
23930            PROCstart_export(n$,0)
23938            SYS "Hourglass_Smash"
23946          ENDIF
23954        ENDIF
23962      WHEN export_text%
23970        IF q%!16=2 THEN
23978          n$=FNgettext(export_text%,1)
23986          IF INSTR(n$,".")=0 AND INSTR(n$,":")=0 THEN
23994            PROCdis_message("To save, drag the file icon to a directory viewer")
24002          ELSE
24010            PROCstart_export(n$,1)
24018            SYS "Hourglass_Smash"
24026          ENDIF
24034        ENDIF
24042      WHEN opt_fines%
24050        CASE q%!16 OF
24058          WHEN 38
24066            FOR c%=4 TO 13
24074            IF FNIconGet(opt_fines%,c%)=1 THEN PROCxor(opt_fines%,c%,1)
24082            NEXT c%
24090            PROCxor(opt_fines%,38,1)
24098            FOR c%=25 TO 36
24106            PROCputtext(opt_fines%,c%,"")
24114            NEXT c%
24122            l%=LEN(FNgettext(opt_fines%,1))
24130            SYS "Wimp_SetCaretPosition",opt_fines%,1,0,0,-1,l%
24138          WHEN 40
24146            PROCsave_fines
24154          WHEN 41
24162            !q%=opt_fines%
24170            SYS "Wimp_CloseWindow",,q%
24178        ENDCASE
24186      WHEN remmem%
24194        CASE q%!16 OF
24202          WHEN 17
24210            IF cur_vb%>1 THEN cur_vb%-=1:PROCinsert_mem_text(remmem%)
24218          WHEN 18
24226            IF cur_vb%<vbn% THEN cur_vb%+=1:PROCinsert_mem_text(remmem%)
24234          WHEN 26
24242            IF vbn%>0 THEN
24250              a$="This member cannot be deleted as there are still books"
24258              a$+=" on the ticket"
24266              PROCdis_message(a$)
24274            ELSE
24282              PROCwipe_mem
24290            ENDIF
24298          WHEN 27
24306            !q%=remmem%
24314            SYS "Wimp_CloseWindow",,q%
24322        ENDCASE
24330      WHEN changemem%
24338        CASE q%!16 OF
24346          WHEN 17
24354            IF cur_vb%>1 THEN cur_vb%-=1:PROCinsert_mem_text(changemem%)
24362          WHEN 18
24370            IF cur_vb%<vbn% THEN
24378              cur_vb%+=1
24386              PROCinsert_mem_text(changemem%)
24394            ENDIF
24402          WHEN 26
24410            PROCsave_ch_mem
24418          WHEN 27
24426            !q%=changemem%
24434            SYS "Wimp_CloseWindow",,q%
24442        ENDCASE
24450      WHEN viewmem%
24458        CASE q%!16 OF
24466          WHEN 17
24474            IF cur_vb%>1 THEN cur_vb%-=1:PROCinsert_mem_text(viewmem%)
24482          WHEN 18
24490            IF cur_vb%<vbn% THEN
24498              cur_vb%+=1
24506              PROCinsert_mem_text(viewmem%)
24514            ENDIF
24522          WHEN 28
24530            !q%=viewmem%
24538            SYS "Wimp_CloseWindow",,q%
24546          WHEN 29
24554            IF current_view%>0 THEN
24562              current_view%-=1
24570              PROCdis_mem_details(winstack$(current_view%))
24578            ENDIF
24586          WHEN 30
24594            IF current_view%<max_view% THEN
24602              current_view%+=1
24610              PROCdis_mem_details(winstack$(current_view%))
24618            ENDIF
24626        ENDCASE
24634      WHEN overdue_pr%
24642        CASE q%!16 OF
24650          WHEN 14: printflag%=TRUE:current_print%=1
24658          WHEN 15: !q%=overdue_pr%:SYS "Wimp_CloseWindow",,q%
24666        ENDCASE
24674      WHEN print%
24682        CASE q%!16 OF
24690          WHEN 4: !q%=print%:SYS "Wimp_CloseWindow",,q%
24698          WHEN 5: printflag%=TRUE
24706        ENDCASE
24714      WHEN all_pr%
24722        CASE q%!16 OF
24730          WHEN 11: !q%=all_pr%:SYS "Wimp_CloseWindow",,q%
24738          WHEN 12: printflag%=TRUE
24746        ENDCASE
24754    ENDCASE
24762  WHEN 16,64
24770    PROCdrag_box(q%!12)
24778ENDCASE
24786ENDPROC
24794
24802DEFPROCdrag_box(win%)
24810IF win%<>save_book% AND win%<>save_mem% AND win%<>save_csv% AND win%<>save_text% AND win%<>export_text% AND win%<>export_csv% THEN ENDPROC
24818LOCAL x%,y%
24826!q%=win%:SYS "Wimp_GetWindowState",,q%
24834x%=q%!4-q%!20:y%=q%!16-q%!24
24842q%!4=0+(3 AND (win%=export_csv% OR win%=export_text%))
24850SYS "Wimp_GetIconState",,q%
24858!q%=win%
24866q%!4=5
24874q%!8+=x%:q%!12+=y%
24882q%!16+=x%:q%!20+=y%
24890q%!24=0:q%!28=0
24898q%!32=&7FFFFFFF:q%!36=&7FFFFFFF
24906SYS "OS_Byte",161,28 TO ,,byte%
24914IF (byte% AND 1) THEN
24922  FOR c%=0 TO 12
24930  q%!c%=q%!(c%+8)
24938  NEXT c%
24946  CASE win% OF
24954    WHEN save_book%: area%=sprites%:name$="!!books"
24962    WHEN save_mem%: area%=sprites%:name$="!!members"
24970    WHEN save_text%,export_text%: area%=1:name$="file_fff"
24978    WHEN save_csv%,export_csv%: area%=1:name$="file_dfe"
24986  ENDCASE
24994  SYS "DragASprite_Start",%11001010,area%,name$,q%
25002ELSE
25010  SYS "Wimp_DragBox",,q%
25018ENDIF
25026drag_source%=win%
25034ENDPROC
25042
25050DEFPROCdragger
25058LOCAL file$,win%,ic%,x%,y%
25066IF (byte% AND 1) THEN SYS "DragASprite_Stop"
25074SYS "Wimp_GetPointerInfo",,q%
25082q%!20=q%!12:q%!24=q%!16:q%!28=!q%:q%!32=q%!4
25090!wimp%=drag_source%:wimp%!4=1:SYS "Wimp_GetIconState",,wimp%
25098file$=$(wimp%!28)
25106file$=FN_Leaf(file$)
25114CASE drag_source% OF
25122  WHEN save_book%: q%!36=146000
25130  WHEN save_mem%: q%!36=563000
25138  WHEN save_text%: q%!36=2048
25146  WHEN save_csv%: q%!36=2048
25154  WHEN export_text%: q%!36=10
25162  WHEN export_csv%: q%!36=10
25170ENDCASE
25178q%!0=64
25186q%!12=0
25194q%!16=1
25202q%!40=&FFF
25210$(q%+44)=file$
25218SYS "Wimp_SendMessage",17,q%,q%!20,q%!24
25226ENDPROC
25234
25242DEFPROCsave_book_file(n$)
25250filo%=OPENIN(n$+".!Boot")
25258CLOSE#filo%
25266IF filo%<>0 THEN
25274  !q%=dir_exists%
25282  SYS "Wimp_GetWindowState",,q%
25290  q%!28=-1
25298  SYS "Wimp_OpenWindow",,q%
25306  REPEAT
25314    SYS "Wimp_Poll",&81830,q% TO A%
25322  UNTIL A%=6 AND q%!12=dir_exists% AND (q%!16=5 OR q%!16=6)
25330  !q%=dir_exists%
25338  SYS "Wimp_CloseWindow",,q%
25346  IF q%!16=5 THEN ENDPROC
25354ENDIF
25362OSCLI("CDir "+n$)
25370OSCLI("CDir "+n$+".Files")
25378FOR c%=0 TO 9
25386OSCLI("CDir "+n$+".Files."+STR$(c%))
25394NEXT c%
25402SYS "OS_SpriteOp",&10D,booksp%,bookspname%,12,1
25410sprite_name$=FNstring0(bookspname%)
25418SYS "OS_SpriteOp",&11A,booksp%,sprite_name$,(FN_Leaf(n$))
25426SYS "OS_SpriteOp",&10C,booksp%,(n$+".!Sprites")
25434SYS "OS_SpriteOp",&10D,booksp22%,booksp22name%,12,1
25442sprite_name$=FNstring0(booksp22name%)
25450SYS "OS_SpriteOp",&11A,booksp22%,sprite_name$,(FN_Leaf(n$))
25458SYS "OS_SpriteOp",&10C,booksp22%,(n$+".!Sprites22")
25466filo%=OPENOUT(n$+".!Boot")
25474BPUT#filo%,("|!Boot file for "+FN_Leaf(n$))
25482dir%=VAL(RIGHT$(FN_Leaf(n$),1))
25490BPUT#filo%,""
25498a$="Set "+(RIGHT$(FN_Leaf(n$),(LEN(FN_Leaf(n$))-2)))+"$Dir <Obey$Dir>.Files"
25506BPUT#filo%,a$
25514BPUT#filo%,"IconSprites <Obey$Dir>.!Sprites"
25522CLOSE#filo%
25530OSCLI("SetType "+n$+".!Boot"+" Obey")
25538filo%=OPENOUT(n$+".!Run")
25546BPUT#filo%,("|!Run file for "+FN_Leaf(n$))
25554BPUT#filo%,""
25562a$="Set "+(RIGHT$(FN_Leaf(n$),(LEN(FN_Leaf(n$))-2)))+"$Dir <Obey$Dir>.Files"
25570BPUT#filo%,a$
25578BPUT#filo%,"IconSprites <Obey$Dir>.!Sprites"
25586BPUT#filo%,"Set Alias$OpenDir Filer_OpenDir <Obey$Dir>.Files"
25594BPUT#filo%,"OpenDir"
25602BPUT#filo%,"Unset OpenDir"
25610CLOSE#filo%
25618OSCLI("SetType "+n$+".!Run"+" Obey")
25626FOR c%=0 TO 1249
25634bookdef%?c%=0
25642NEXT c%
25650cur_bd%=-1
25658OSCLI("Save "+n$+".BookDef "+STR$~bookdef%+" + "+STR$~1250)
25666SYS "Hourglass_On"
25674FOR c%=0 TO 9
25682FOR d%=0 TO 9
25690SYS "Hourglass_Percentage",c%*10+d%
25698filo%=OPENOUT(n$+".Files."+STR$(c%)+"."+STR$(d%)+"00-"+STR$(d%)+"99")
25706FOR q%=1 TO 100
25714FOR e%=0 TO 4
25722PRINT#filo%,""
25730NEXT e%
25738put=0
25746FOR e%=1 TO 2
25754PRINT#filo%,put
25762NEXT e%
25770NEXT q%
25778CLOSE#filo%
25786NEXT d%,c%
25794SYS "Hourglass_Off"
25802SYS "Wimp_CreateMenu",-1
25810IF w_a% THEN
25818  a$="P"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+n$
25826  PROCadd_watchdog(a$)
25834ENDIF
25842ENDPROC
25850
25858DEFPROCsave_mem_file(n$)
25866filo%=OPENIN(n$+".!Boot")
25874CLOSE#filo%
25882IF filo%<>0 THEN
25890  !q%=dir_exists%
25898  SYS "Wimp_GetWindowState",,q%
25906  q%!28=-1
25914  SYS "Wimp_OpenWindow",,q%
25922  REPEAT
25930    SYS "Wimp_Poll",&81830,q% TO A%
25938  UNTIL A%=6 AND q%!12=dir_exists% AND (q%!16=5 OR q%!16=6)
25946  !q%=dir_exists%
25954  SYS "Wimp_CloseWindow",,q%
25962  IF q%!16=5 THEN ENDPROC
25970ENDIF
25978SYS "Hourglass_On"
25986OSCLI("CDir "+n$)
25994OSCLI("CDir "+n$+".Files")
26002SYS "OS_SpriteOp",&10D,memsp%,memspname%,12,1
26010sprite_name$=FNstring0(memspname%)
26018SYS "OS_SpriteOp",&11A,memsp%,sprite_name$,(FN_Leaf(n$))
26026SYS "OS_SpriteOp",&10C,memsp%,(n$+".!Sprites")
26034SYS "OS_SpriteOp",&10D,memsp22%,memsp22name%,12,1
26042sprite_name$=FNstring0(memsp22name%)
26050SYS "OS_SpriteOp",&11A,memsp22%,sprite_name$,(FN_Leaf(n$))
26058SYS "OS_SpriteOp",&10C,memsp22%,(n$+".!Sprites22")
26066filo%=OPENOUT(n$+".!Boot")
26074BPUT#filo%,("|!Boot file for "+FN_Leaf(n$))
26082BPUT#filo%,""
26090a$="Set "+(RIGHT$(FN_Leaf(n$),(LEN(FN_Leaf(n$))-2)))+"$Dir <Obey$Dir>.Files"
26098BPUT#filo%,a$
26106BPUT#filo%,"IconSprites <Obey$Dir>.!Sprites"
26114CLOSE#filo%
26122OSCLI("SetType "+n$+".!Boot"+" Obey")
26130filo%=OPENOUT(n$+".!Run")
26138BPUT#filo%,("|!Run file for "+FN_Leaf(n$))
26146BPUT#filo%,""
26154a$="Set "+(RIGHT$(FN_Leaf(n$),(LEN(FN_Leaf(n$))-2)))+"$Dir <Obey$Dir>.Files"
26162BPUT#filo%,a$
26170BPUT#filo%,"IconSprites <Obey$Dir>.!Sprites"
26178BPUT#filo%,"Set Alias$OpenDir Filer_OpenDir <Obey$Dir>.Files"
26186BPUT#filo%,"OpenDir"
26194BPUT#filo%,"Unset OpenDir"
26202CLOSE#filo%
26210OSCLI("SetType "+n$+".!Run"+" Obey")
26218SYS "Hourglass_On"
26226FOR c%=65 TO 90
26234OSCLI("Cdir "+n$+".Files."+CHR$(c%))
26242FOR d%=0 TO 9
26250SYS "Hourglass_Percentage",((c%-65)*10+d%)/260*100
26258filo%=OPENOUT(n$+".Files."+CHR$(c%)+"."+STR$(d%))
26266PRINT#filo%,0
26274CLOSE#filo%
26282NEXT d%,c%
26290SYS "Wimp_CreateMenu",-1
26298IF w_a% THEN
26306  a$="Q"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+n$
26314  PROCadd_watchdog(a$)
26322ENDIF
26330SYS "Hourglass_Off"
26338ENDPROC
26346
26354DEFPROCinit
26362DIM taskid%4:$taskid%="TASK"
26370SYS "Wimp_Initialise",223,!taskid%,"Library" TO version%,myid%
26378DIM menad%(300)
26386DIM winstack$(10000),winkey(10000):winp%=0
26394DIM line$(100),lin%(100)
26402DIM odt$(30)
26410DIM lending%(1,2)
26418DIM menu% &2000:cur%=menu%
26426DIM menuind% &2000:mein%=0
26434DIM fm% &2000,fmi% &2000
26442DIM address$(6)
26450DIM comma_pl%(12)
26458DIM vari$(13)
26466DIM pock_tin$(3)
26474DIM vm_dt$(100,4)
26482DIM helpi%(1000,1)
26490DIM helpi$(1000)
26498DIM q% &2000
26506DIM wimp% 1024
26514DIM buffers% 512
26522DIM Dbuffer 13
26530DIM var$(99,4),var_sp$(9,99,4)
26538DIM sen(99,1),sen_sp(9,99,1)
26546DIM sepr%(1,1,10)
26554DIM _titlestring% 256
26562DIM _p% 256
26570DIM memdata%(30)
26578DIM bookdef% 12500:cur_bd%=-1
26586DIM book_dir_def%(10)
26594DIM mem_dir_def%(100)
26602DIM s%(4)
26610DIM got$(100)
26618DIM day(1),mon(1),yr(1)
26626DIM pass$(255,1),pn%(255)
26634DIM in%(9)
26642DIM trans% 16,rect% 16,plotat% 16,rectin% 16
26650DIM pa$(200),pan%(200)
26658DIM ec%(3,3)
26666curr_exp%=-1
26674p_ptr%=-1
26682cache%=-1
26690cdf%=FALSE
26698menu_flag%=-1
26706printflag%=FALSE
26714logged_on%=FALSE
26722helpi_ptr%=0
26730using_rd%=0
26738smeg_flag%=TRUE
26746SYS "Hourglass_On"
26754PROCsprite_load
26762libicon%=FNicon
26770SYS "Wimp_Poll",&81830,q% TO A%
26778PROCinit_templates
26786PROCopen_display
26794PROCputtext(display%,2,"Loading version number...")
26802SYS "Wimp_Poll",&81830,q% TO A%
26810PROCinit_vers
26818PROCputtext(display%,2,"Loading preferences...")
26826SYS "Wimp_Poll",&81830,q% TO A%
26834PROCinit_prefs
26842PROCputtext(display%,2,"Looking for book directories...")
26850SYS "Wimp_Poll",&81830,q% TO A%
26858PROCcheck_book_dirs
26866PROCputtext(display%,2,"Looking for member directories...")
26874SYS "Wimp_Poll",&81830,q% TO A%
26882PROCcheck_mem_dirs
26890PROCputtext(display%,2,"Setting up menus...")
26898SYS "Wimp_Poll",&81830,q% TO A%
26906PROCsetupmenu
26914PROCputtext(display%,2,"Loading interactive help text...")
26922SYS "Wimp_Poll",&81830,q% TO A%
26930PROCinit_help
26938PROCputtext(display%,2,"Loading password information...")
26946SYS "Wimp_Poll",&81830,q% TO A%
26954PROCinit_pass
26962PROCputtext(display%,2,"Initialising access settings...")
26970SYS "Wimp_Poll",&81830,q% TO A%
26978PROCinit_grey
26986SYS "Hourglass_Smash"
26994ENDPROC
27002
27010DEFPROCinit_grey
27018menad%(1)!(28+(5*24)+8)=menad%(1)!(28+(5*24)+8) EOR (1<<22)
27026menad%(1)!(28+(3*24)+8)=menad%(1)!(28+(3*24)+8) EOR (1<<22)
27034filo%=OPENIN("<Library$Dir>.Preference.WatchActiv")
27042w_a%=BGET#filo%
27050wa%=1-w_a%
27058CLOSE#filo%
27066menad%(10)!(28+((wa%+1)*24)+8)=menad%(1)!(28+((wa%+1)*24)+8) EOR (1<<22)
27074DIM grey%(13,1)
27082RESTORE +3
27090FOR c%=0 TO 13
27098READ grey%(c%,0),grey%(c%,1)
27106NEXT c%
27114DATA 3,0,3,1,3,3,3,4,3,5,4,0,4,1,4,2,4,3,2,2,2,3,2,4,2,6,3,7
27122SYS "OS_ReadVarVal","Library$Templates",wimp%,256,0,0 TO ,,len%
27130wimp%?(len%)=0
27138temp$=FNstring0(wimp%)
27146IF temp$="Templates2" THEN
27154  menad%(6)!(28+(3*24)+8)=menad%(6)!(28+(3*24)+8) EOR (1<<22)
27162ELSE
27170  IF f_flag% THEN
27178    menad%(6)!(28+(3*24))=menad%(6)!(28+(3*24)) OR 1
27186  ENDIF
27194ENDIF
27202ENDPROC
27210
27218DEFFNGet_Search(s$)
27226l%=LEN(s$)
27234IF l%=0 THEN =0
27242acc=0
27250IF l%>=27 THEN
27258  FOR c%=1 TO 27
27266  acc+=26^(27-c%)*(ASC(MID$(s$,c%,1))-65)
27274  NEXT c%
27282ELSE
27290  FOR c%=1 TO LEN(s$)
27298  acc+=26^(27-c%)*(ASC(MID$(s$,c%,1))-65)
27306  NEXT c%
27314ENDIF
27322=acc
27330
27338DEFPROCsearch_title
27346PROCcheck_book_dirs
27354PROCcheck_mem_dirs
27362IF book_count%=0 THEN
27370  PROCdis_message("No book directories have been seen by the filer.")
27378  ENDPROC
27386ENDIF
27394using_rd%=2
27402winp%=0
27410t$=FNgettext(search%,11)
27418t$=FNRemove_Punc(FNUpper(t$))
27426no$=FNAccn_Algorithm(TRUE,t$)
27434ct%=VAL(MID$(no$,2,2))
27442WHILE ct%<=99 AND winp%<21
27450  PROCopen_book_cache_search(no$)
27458  pick%=VAL(no$) MOD 100
27466  w%=pick%
27474  SYS "Hourglass_On"
27482  WHILE w%<100 AND winp%<21
27490    i%=0
27498    WHILE i%<10 AND winp%<21
27506      IF book_dir_def%(i%) THEN
27514        com$=FNTwine(no$,w%,i%)
27522        no%=VAL(LEFT$(com$,5))
27530        divis%=no% DIV 8
27538        modul%=no% MOD 8
27546        IF ((bookdef%?divis% AND (1<<modul%))>>>modul%)=1 THEN
27554          winkey(winp%)=sen_sp(i%,w%,0)
27562          winstack$(winp%)=var_sp$(i%,w%,0)
27570          winstack$(winp%)+="�"+var_sp$(i%,w%,1)
27578          winstack$(winp%)+="�"+var_sp$(i%,w%,2)
27586          winstack$(winp%)+="�"+var_sp$(i%,w%,4)
27594          winstack$(winp%)+="�"+com$
27602          winp%+=-1*(winp%<10000)
27610        ENDIF
27618      ENDIF
27626      i%+=1
27634    ENDWHILE
27642    w%+=1
27650  ENDWHILE
27658  SYS "Hourglass_Off"
27666  ct%+=1
27674  no$=FNzero(STR$(ct%),3)+"00"
27682ENDWHILE
27690PROCsort(winp%-1)
27698!q%=0
27706q%!4=-10+(winp%)*-48
27714q%!8=(6+50+40+15+30)*16
27722q%!12=0
27730SYS "Wimp_SetExtent",main_aux%,q%
27738!q%=main_aux%
27746SYS "Wimp_GetWindowInfo",,q%
27754_p%=!(q%+76)
27762$_p%="Search by Title"
27770PROCcompile_st_win
27778SYS "Hourglass_Off"
27786!q%=main_aux%
27794SYS "Wimp_GetWindowState",,q%
27802q%!28=-1
27810SYS "Wimp_OpenWindow",,q%
27818ENDPROC
27826
27834DEFPROCsearch_author
27842PROCcheck_book_dirs
27850PROCcheck_mem_dirs
27858IF book_count%=0 THEN
27866  PROCdis_message("No book directories have been seen by the filer.")
27874  ENDPROC
27882ENDIF
27890using_rd%=2
27898winp%=0
27906t$=FNgettext(search%,11)
27914t$=FNRemove_Punc(FNUpper(t$))
27922cmp=FNGet_Search(t$)
27930no$="00000"
27938ct%=0
27946WHILE ct%<=99 AND winp%<1001
27954  PROCopen_book_cache_search(no$)
27962  pick%=VAL(no$) MOD 100
27970  w%=pick%
27978  SYS "Hourglass_On"
27986  WHILE w%<100 AND winp%<1001
27994    i%=0
28002    WHILE i%<10 AND winp%<1001
28010      IF book_dir_def%(i%) THEN
28018        com$=FNTwine(no$,w%,i%)
28026        no%=VAL(LEFT$(com$,5))
28034        divis%=no% DIV 8
28042        modul%=no% MOD 8
28050        IF ((bookdef%?divis% AND (1<<modul%))>>>modul%)=1 THEN
28058          winkey(winp%)=sen_sp(i%,w%,1)
28066          IF sen_sp(i%,w%,1)>=cmp THEN
28074            winstack$(winp%)=var_sp$(i%,w%,0)
28082            winstack$(winp%)+="�"+var_sp$(i%,w%,1)
28090            winstack$(winp%)+="�"+var_sp$(i%,w%,2)
28098            winstack$(winp%)+="�"+var_sp$(i%,w%,4)
28106            winstack$(winp%)+="�"+com$
28114            winp%+=-1*(winp%<10000)
28122          ENDIF
28130        ENDIF
28138      ENDIF
28146      i%+=1
28154    ENDWHILE
28162    w%+=1
28170  ENDWHILE
28178  SYS "Hourglass_Off"
28186  ct%+=1
28194  no$=FNzero(STR$(ct%),3)+"00"
28202ENDWHILE
28210PROCsort(winp%-1)
28218!q%=0
28226q%!4=-10+(winp%)*-48
28234q%!8=(6+50+40+15+30)*16
28242q%!12=0
28250SYS "Wimp_SetExtent",main_aux%,q%
28258!q%=main_aux%
28266SYS "Wimp_GetWindowInfo",,q%
28274_p%=!(q%+76)
28282$_p%="Search by Author"
28290PROCcompile_st_win
28298SYS "Hourglass_Off"
28306!q%=main_aux%
28314SYS "Wimp_GetWindowState",,q%
28322q%!28=-1
28330SYS "Wimp_OpenWindow",,q%
28338ENDPROC
28346
28354DEFPROCsearch_accn
28362PROCcheck_book_dirs
28370PROCcheck_mem_dirs
28378IF book_count%=0 THEN
28386  PROCdis_message("No book directories have been seen by the filer.")
28394  ENDPROC
28402ENDIF
28410using_rd%=2
28418winp%=0
28426t$=FNgettext(search%,11)
28434t$=FNRemove_Punc(FNUpper(t$))
28442no$=LEFT$(t$,5)
28450ct%=VAL(MID$(no$,2,2))
28458WHILE ct%<=99 AND winp%<21
28466  PROCopen_book_cache_search(no$)
28474  pick%=VAL(no$) MOD 100
28482  w%=pick%
28490  SYS "Hourglass_On"
28498  WHILE w%<100 AND winp%<21
28506    i%=0
28514    WHILE i%<10 AND winp%<21
28522      IF book_dir_def%(i%) THEN
28530        com$=FNTwine(no$,w%,i%)
28538        no%=VAL(LEFT$(com$,5))
28546        divis%=no% DIV 8
28554        modul%=no% MOD 8
28562        IF ((bookdef%?divis% AND (1<<modul%))>>>modul%)=1 THEN
28570          winkey(winp%)=no%
28578          winstack$(winp%)=var_sp$(i%,w%,0)
28586          winstack$(winp%)+="�"+var_sp$(i%,w%,1)
28594          winstack$(winp%)+="�"+var_sp$(i%,w%,2)
28602          winstack$(winp%)+="�"+var_sp$(i%,w%,4)
28610          winstack$(winp%)+="�"+com$
28618          winp%+=-1*(winp%<10000)
28626        ENDIF
28634      ENDIF
28642      i%+=1
28650    ENDWHILE
28658    w%+=1
28666  ENDWHILE
28674  SYS "Hourglass_Off"
28682  ct%+=1
28690  no$=FNzero(STR$(ct%),3)+"00"
28698ENDWHILE
28706PROCsort(winp%-1)
28714!q%=0
28722q%!4=-10+(winp%)*-48
28730q%!8=(6+50+40+15+30)*16
28738q%!12=0
28746SYS "Wimp_SetExtent",main_aux%,q%
28754!q%=main_aux%
28762SYS "Wimp_GetWindowInfo",,q%
28770_p%=!(q%+76)
28778$_p%="Search by Accession Number"
28786PROCcompile_st_win
28794SYS "Hourglass_Off"
28802!q%=main_aux%
28810SYS "Wimp_GetWindowState",,q%
28818q%!28=-1
28826SYS "Wimp_OpenWindow",,q%
28834ENDPROC
28842
28850DEFPROCsearch_class
28858PROCcheck_book_dirs
28866PROCcheck_mem_dirs
28874IF book_count%=0 THEN
28882  PROCdis_message("No book directories have been seen by the filer.")
28890  ENDPROC
28898ENDIF
28906using_rd%=2
28914winp%=0
28922t$=FNgettext(search%,11)
28930t$=FNUpper(t$)
28938cmp=FNMake_Code(t$)
28946no$="00000"
28954ct%=0
28962WHILE ct%<=99 AND winp%<1001
28970  PROCopen_book_cache_search(no$)
28978  pick%=VAL(no$) MOD 100
28986  w%=pick%
28994  SYS "Hourglass_On"
29002  WHILE w%<100 AND winp%<1001
29010    i%=0
29018    WHILE i%<10 AND winp%<1001
29026      IF book_dir_def%(i%) THEN
29034        com$=FNTwine(no$,w%,i%)
29042        no%=VAL(LEFT$(com$,5))
29050        divis%=no% DIV 8
29058        modul%=no% MOD 8
29066        IF ((bookdef%?divis% AND (1<<modul%))>>>modul%)=1 THEN
29074          winkey(winp%)=FNMake_Code(var_sp$(i%,w%,2))
29082          IF winkey(winp%)>=cmp THEN
29090            winstack$(winp%)=var_sp$(i%,w%,0)
29098            winstack$(winp%)+="�"+var_sp$(i%,w%,1)
29106            winstack$(winp%)+="�"+var_sp$(i%,w%,2)
29114            winstack$(winp%)+="�"+var_sp$(i%,w%,4)
29122            winstack$(winp%)+="�"+com$
29130            winp%+=-1*(winp%<10000)
29138          ENDIF
29146        ENDIF
29154      ENDIF
29162      i%+=1
29170    ENDWHILE
29178    w%+=1
29186  ENDWHILE
29194  SYS "Hourglass_Off"
29202  ct%+=1
29210  no$=FNzero(STR$(ct%),3)+"00"
29218ENDWHILE
29226PROCsort(winp%-1)
29234!q%=0
29242q%!4=-10+(winp%)*-48
29250q%!8=(6+50+40+15+30)*16
29258q%!12=0
29266SYS "Wimp_SetExtent",main_aux%,q%
29274!q%=main_aux%
29282SYS "Wimp_GetWindowInfo",,q%
29290_p%=!(q%+76)
29298$_p%="Search by Classification"
29306PROCcompile_st_win
29314SYS "Hourglass_Off"
29322!q%=main_aux%
29330SYS "Wimp_GetWindowState",,q%
29338q%!28=-1
29346SYS "Wimp_OpenWindow",,q%
29354ENDPROC
29362
29370DEFPROCsearch_key
29378PROCcheck_book_dirs
29386PROCcheck_mem_dirs
29394IF book_count%=0 THEN
29402  PROCdis_message("No book directories have been seen by the filer.")
29410  ENDPROC
29418ENDIF
29426using_rd%=2
29434winp%=0
29442t$=FNUpper(FNgettext(search%,11))
29450no$="00000"
29458ct%=0
29466WHILE ct%<=99 AND winp%<1001
29474  PROCopen_book_cache_search(no$)
29482  pick%=VAL(no$) MOD 100
29490  w%=pick%
29498  SYS "Hourglass_On"
29506  WHILE w%<100 AND winp%<1001
29514    i%=0
29522    WHILE i%<10 AND winp%<1001
29530      IF book_dir_def%(i%) THEN
29538        com$=FNTwine(no$,w%,i%)
29546        no%=VAL(LEFT$(com$,5))
29554        divis%=no% DIV 8
29562        modul%=no% MOD 8
29570        IF ((bookdef%?divis% AND (1<<modul%))>>>modul%)=1 THEN
29578          winkey(winp%)=sen_sp(i%,w%,0)
29586          IF FNcheck_keyword(t$,var_sp$(i%,w%,0)) THEN
29594            winstack$(winp%)=var_sp$(i%,w%,0)
29602            winstack$(winp%)+="�"+var_sp$(i%,w%,1)
29610            winstack$(winp%)+="�"+var_sp$(i%,w%,2)
29618            winstack$(winp%)+="�"+var_sp$(i%,w%,4)
29626            winstack$(winp%)+="�"+com$
29634           winp%+=-1*(winp%<10000)
29642          ENDIF
29650        ENDIF
29658      ENDIF
29666      i%+=1
29674    ENDWHILE
29682    w%+=1
29690  ENDWHILE
29698  SYS "Hourglass_Off"
29706  ct%+=1
29714  no$=FNzero(STR$(ct%),3)+"00"
29722ENDWHILE
29730PROCsort(winp%-1)
29738!q%=0
29746q%!4=-10+(winp%)*-48
29754q%!8=(6+50+40+15+30)*16
29762q%!12=0
29770SYS "Wimp_SetExtent",main_aux%,q%
29778!q%=main_aux%
29786SYS "Wimp_GetWindowInfo",,q%
29794_p%=!(q%+76)
29802$_p%="Search by Author"
29810PROCcompile_st_win
29818SYS "Hourglass_Off"
29826!q%=main_aux%
29834SYS "Wimp_GetWindowState",,q%
29842q%!28=-1
29850SYS "Wimp_OpenWindow",,q%
29858ENDPROC
29866
29874DEFFNTwine(s$,p%,ch%)
29882a$=STR$(ch%)+FNzero(STR$(VAL(s$) DIV 100),2)+FNzero(STR$(p%),2)
29890=FNCheck_Digit_Plus(a$)
29898
29906DEFPROCopen_display
29914!q%=display%
29922SYS "Wimp_GetWindowState",,q%
29930q%!28=-1
29938SYS "Wimp_OpenWindow",,q%
29946ENDPROC
29954
29962DEFPROCupdate_time
29970temp$=FNgettext(display%,2)
29978IF temp$=TIME$ THEN ENDPROC
29986PROCputtext(display%,2,TIME$)
29994ENDPROC
30002
30010DEFPROCsort(n%)
30018IF n%<2 THEN ENDPROC
30026g%=(n%+1)
30034REPEAT
30042g%=g% DIV 2
30050FOR i%=g%+1 TO (n%+1)
30058FOR j%=i%-g% TO 1 STEP -g%
30066v%=j%+g%
30074IF winkey(j%-1)>winkey(v%-1) THEN
30082  SWAP winstack$(j%-1),winstack$(v%-1)
30090  SWAP winkey(j%-1),winkey(v%-1)
30098ENDIF
30106NEXT j%
30114NEXT i%
30122UNTIL g%<=1
30130ENDPROC
30138
30146DEFPROCcompile_st_win
30154FOR c%=0 TO winp%-1
30162s$=winstack$(c%)
30170a1%=INSTR(s$,"�")
30178a2%=INSTR(s$,"�",a1%+1)
30186a3%=INSTR(s$,"�",a2%+1)
30194a4%=INSTR(s$,"�",a3%+1)
30202temp$=FNspc(RIGHT$(s$,LEN(s$)-a4%),7)
30210temp$+=FNspc(LEFT$(s$,a1%-1),50)
30218temp$+=FNspc(MID$(s$,a1%+1,a2%-a1%-1),40)
30226temp$+=FNspc(MID$(s$,a2%+1,a3%-a2%-1),15)
30234temp$+=FNspc(MID$(s$,a3%+1,a4%-a3%-1),30)
30242winstack$(c%)=temp$
30250NEXT c%
30258ENDPROC
30266
30274DEFFNfind_win(u$)
30282IF u$="icon_bar" THEN =-2
30290FOR d%=0 TO 40
30298IF hct$(d%)=u$ THEN =hct%(d%) ELSE NEXT d%
30306=0
30314
30322DEFPROCpass_enter(n%)
30330PROCputtext(optpc%,1,STR$(n%))
30338PROCputtext(optpc%,5,pass$(n%,0))
30346PROCputtext(optpc%,32,pass$(n%,1))
30354FOR c%=0 TO 12
30362!q%=optpc%
30370q%!4=7+c%
30378SYS "Wimp_GetIconState",,q%
30386comp%=(q%!24 AND 1<<21)>>>21
30394s%=pn%(n%)
30402s%=(s% AND 1<<c%)>>>c%
30410IF comp%=1 AND s%=0 THEN PROCxor(optpc%,7+c%,1)
30418IF comp%=0 AND s%=1 THEN PROCxor(optpc%,7+c%,1)
30426NEXT c%
30434s%=((pn%(n%) AND (1<<13))>>>13)
30442comp%=FNIconGet(optpc%,38)
30450IF comp%+s%=1 THEN PROCxor(optpc%,38,1)
30458l%=LEN(FNgettext(optpc%,5))
30466SYS "Wimp_SetCaretPosition",optpc%,5,0,0,-1,l%
30474ENDPROC
30482
30490DEFPROCsave_pass
30498no%=VAL(FNgettext(optpc%,1))
30506IF no%>users%+1 THEN PROCdis_message("Not all users defined."):ENDPROC
30514IF no%=users%+1 THEN users%+=1
30522pass$(no%,0)=FNgettext(optpc%,5)
30530pass$(no%,1)=FNUpper(FNgettext(optpc%,32))
30538comb%=0
30546FOR c%=0 TO 12
30554IF FNIconGet(optpc%,7+c%) THEN comb%=comb% OR 1<<c%
30562NEXT c%
30570IF FNIconGet(optpc%,38) THEN comb%=comb% OR 1<<13
30578pn%(no%)=comb%
30586PROCsave_pass_file
30594IF w_a% THEN
30602  a$="R"+STR$(logged_on%)+";"+pass$(logged_on%,0)
30610  PROCadd_watchdog(a$)
30618ENDIF
30626ENDPROC
30634
30642DEFPROCmove_pass_id(func%)
30650no%=VAL(FNgettext(optpc%,1))
30658IF no%=1 AND func%=0 THEN ENDPROC
30666IF no%=255 AND func%=1 THEN ENDPROC
30674no%+=func%*2-1
30682PROCpass_enter(no%)
30690ENDPROC
30698
30706DEFPROCdelete_pass
30714no%=VAL(FNgettext(optpc%,1))
30722IF no%>users% THEN PROCdis_message("This user is not defined."):ENDPROC
30730IF no%=users% THEN
30738  users%-=1
30746  pass$(no%,0)=""
30754  pass$(no%,1)=""
30762  pn%(no%)=0
30770  IF pass$(no%-1,0)="<Undefined>" THEN pass$(no%-1,0)=""
30778  PROCsave_pass_file
30786ELSE
30794  pass$(no%,0)="<Undefined>"
30802  pass$(no%,1)=FNran_cod
30810  pn%(no%)=0
30818  PROCsave_pass_file
30826ENDIF
30834ENDPROC
30842
30850DEFFNran_cod
30858s$=""
30866WHILE LEN(s$)<6
30874  s$+=CHR$(64+RND(26))
30882ENDWHILE
30890=s$
30898
30906DEFPROCsave_pass_file
30914filo%=OPENOUT("<Library$Dir>.Preference.Pass")
30922BPUT#filo%,users%
30930FOR c%=1 TO users%
30938PRINT#filo%,pass$(c%,0),pass$(c%,1),pn%(c%)
30946NEXT c%
30954CLOSE#filo%
30962ENDPROC
30970
30978DEFPROCsave_export(n$,func%)
30986filo%=OPENOUT(n$)
30994FOR c%=0 TO winp%-1
31002e%=c%
31010accum$=""
31018CASE func% OF
31026  WHEN 0
31034    CASE using_rd% OF
31042      WHEN 1
31050        BPUT#filo%,MID$(winstack$(e%),7,50)
31058        accum$+=MID$(winstack$(e%),57,40)
31066        accum$+=FNspc(MID$(winstack$(e%),97,15),20)
31074        accum$+=FNspc(RIGHT$(winstack$(e%),6),7)
31082        accum$+=FNspc(LEFT$(winstack$(e%),6),10)
31090        BPUT#filo%,accum$
31098      WHEN 5
31106        BPUT#filo%,winstack$(e%)
31114    ENDCASE
31122  WHEN 1
31130    CASE using_rd% OF
31138      WHEN 1
31146        accum$+=""""+MID$(winstack$(e%),7,50)+""","
31154        accum$+=""""+MID$(winstack$(e%),57,40)+""","
31162        accum$+=""""+MID$(winstack$(e%),97,15)+""","
31170        accum$+=""""+RIGHT$(winstack$(e%),6)+""","
31178        accum$+=""""+LEFT$(winstack$(e%),6)+""""
31186        BPUT#filo%,accum$
31194      WHEN 5
31202        accum$+=""""+LEFT$(winstack$(e%),9)+""","
31210        accum$+=""""+MID$(winstack$(e%),13,30)+""","
31218        accum$+=""""+MID$(winstack$(e%),43,60)+""","
31226        accum$+=""""+MID$(winstack$(e%),103,6)+""""
31234        BPUT#filo%,accum$
31242    ENDCASE
31250ENDCASE
31258NEXT c%
31266CLOSE#filo%
31274CASE func% OF
31282  WHEN 0: OSCLI("SetType "+n$+" FFF")
31290  WHEN 1: OSCLI("SetType "+n$+" DFE")
31298ENDCASE
31306ENDPROC
31314
31322DEFPROCinit_vers
31330SYS "OS_GBPB",11,"<Library$Dir>",q%,77,0,&2000,"!RunImage"
31338st=(q%?28)*2^32+(q%?27)*2^24+(q%?26)*2^16+(q%?25)*2^8+(q%?24)*2^0
31346year%=st/100/3600/24/365.25
31354rem=st-year%*100*3600*24*365.25
31362days%=rem/100/3600/24
31370date%=days%+1
31378IF year% MOD 4 THEN feb%=28 ELSE feb%=29
31386IF date%>31 THEN
31394  date%-=31
31402  IF date%>feb% THEN
31410    date%-=feb%
31418    IF date%>31 THEN
31426      date%-=31
31434      IF date%>30 THEN
31442        date%-=30
31450        IF date%>31 THEN
31458          date%-=31
31466          IF date%>30 THEN
31474            date%-=30
31482            IF date%>31 THEN
31490              date%-=31
31498              IF date%>31 THEN
31506                date%-=31
31514                IF date%>30 THEN
31522                  date%-=30
31530                  IF date%>31 THEN
31538                    date%-=31
31546                    IF date%>30 THEN
31554                      date%-=30
31562                      month$="Dec"
31570                    ELSE
31578                      month$="Nov"
31586                    ENDIF
31594                  ELSE
31602                    month$="Oct"
31610                  ENDIF
31618                ELSE
31626                  month$="Sep"
31634                ENDIF
31642              ELSE
31650                month$="Aug"
31658              ENDIF
31666            ELSE
31674              month$="Jul"
31682            ENDIF
31690          ELSE
31698            month$="Jun"
31706          ENDIF
31714        ELSE
31722          month$="May"
31730        ENDIF
31738      ELSE
31746        month$="Apr"
31754      ENDIF
31762    ELSE
31770      month$="Mar"
31778    ENDIF
31786  ELSE
31794    month$="Feb"
31802  ENDIF
31810ELSE
31818  month$="Jan"
31826ENDIF
31834s$=FNzero(STR$(date%),2)+" "+month$+" "+FNzero(STR$(year%),2)
31842PROCputtext(info%,3,s$)
31850ENDPROC
31858
31866DEFPROCreceive_text(fn$)
31874SYS "Wimp_GetPointerInfo",,q%
31882CASE q%!12 OF
31890  WHEN news_imp%
31898    SYS "OS_FSControl",26,fn$,"<Library$Dir>.Text.News",16418
31906    IF w_a% THEN
31914      a$="D"+STR$(logged_on%)+";"+pass$(logged_on%,0)
31922      PROCadd_watchdog(a$)
31930    ENDIF
31938  WHEN overdue_pr%
31946    IF q%!16>=18 AND q%!16<=20 THEN
31954      SYS "OS_FSControl",26,fn$,"<Library$Dir>.Text.Overdue",16418
31962    ENDIF
31970ENDCASE
31978!q%=news_imp%
31986SYS "Wimp_CloseWindow",,q%
31994ENDPROC
32002
32010DEFPROCaddtonews(n$)
32018IF LEN(n$)>77 THEN
32026  d%=77
32034  WHILE MID$(n$,d%,1)<>" "
32042    d%-=1
32050  ENDWHILE
32058  PROCaddtonews(LEFT$(n$,d%-1))
32066  PROCaddtonews(RIGHT$(n$,LEN(n$)-d%))
32074ELSE
32082  winstack$(winp%)=n$
32090  winp%+=-1*(winp%<10000)
32098ENDIF
32106ENDPROC
32114
32122DEFPROCview_member
32130PROCcheck_book_dirs
32138PROCcheck_mem_dirs
32146IF mem_count%=0 THEN
32154  PROCdis_message("No member directories have been seen by the filer.")
32162  ENDPROC
32170ENDIF
32178!q%=changemem%
32186SYS "Wimp_CloseWindow",,q%
32194!q%=remmem%
32202SYS "Wimp_CloseWindow",,q%
32210!q%=main_aux%
32218SYS "Wimp_CloseWindow",,q%
32226first_got%=0
32234FOR c%=5 TO 7
32242IF FNIconGet(vmq%,c%) THEN first_got%=c%
32250NEXT c%
32258IF first_got%=0 THEN ENDPROC
32266second_got%=0
32274FOR c%=9 TO 12
32282IF FNIconGet(vmq%,c%) THEN second_got%=c%
32290NEXT c%
32298IF second_got%=0 THEN ENDPROC
32306wc1%=FNIconGet(vmq%,22)
32314wc2%=FNIconGet(vmq%,26)
32322first_got%-=4:second_got%-=9
32330t1$=FNgettext(vmq%,4)
32338t2$=FNgettext(vmq%,8)
32346IF first_got%=second_got% THEN
32354  IF t1$="" THEN SWAP t1$,t2$:SWAP wc1%,wc2%
32362  second_got%=0
32370ENDIF
32378IF second_got%=1 AND first_got%<>1 THEN
32386  SWAP first_got%,second_got%
32394  SWAP t1$,t2$
32402  SWAP wc1%,wc2%
32410ENDIF
32418IF first_got%=1 THEN
32426  temp%=FNvalidate_mem_no(t1$)
32434  CASE temp% OF
32442    WHEN TRUE: PROCdis_mem_details(t1$)
32450    WHEN FALSE: PROCdis_message("Invalid membership number")
32458    WHEN 2: PROCdis_message("The member directory for that number has not been seen by the filer."):ENDPROC
32466  ENDCASE
32474ELSE
32482  PROCsearch_membership(first_got%,second_got%,t1$,t2$,wc1%,wc2%)
32490  current_view%=0
32498  max_view%=winp%-1
32506  PROCdis_mem_details(winstack$(current_view%))
32514ENDIF
32522PROCcleartext(vmq%,4)
32530PROCcleartext(vmq%,8)
32538!q%=vmq%
32546SYS "Wimp_CloseWindow",,q%
32554ENDPROC
32562
32570DEFFNvalidate_mem_no(s$)
32578IF LEN(s$)<>9 THEN =FALSE
32586count%=0
32594FOR r%=1 TO 8
32602count%=count%+(r%+1)*VAL(MID$(s$,9-r%,1))
32610NEXT r%
32618cd$=MID$(s$,9,1):IF INSTR("Xx",cd$) THEN cd$="10"
32626cd%=VAL(cd$)
32634IF count% MOD 11<>cd% THEN =FALSE
32642d%=VAL(LEFT$(s$,2))
32650l%=VAL(MID$(s$,3,2))
32658s%=VAL(MID$(s$,5,1))
32666n%=VAL(MID$(s$,6,3))
32674IF mem_dir_def%(d%)=FALSE THEN =2
32682IF l%>25 THEN =FALSE
32690IF s%>9 THEN =FALSE
32698filo%=OPENIN("<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%))
32706INPUT#filo%,tn%
32714CLOSE#filo%
32722IF n%>tn% THEN =FALSE
32730=TRUE
32738
32746DEFPROCsearch_membership(s1%,s2%,s1$,s2$,swc1%,swc2%)
32754SYS "Hourglass_On"
32762IF s1%=3 AND s2%=2 THEN
32770  SWAP s1%,s2%
32778  SWAP s1$,s2$
32786  SWAP swc1%,swc2%
32794ENDIF
32802IF s2%=0 THEN single_flag%=TRUE ELSE single_flag%=FALSE
32810IF s1%=2 THEN named_flag%=TRUE ELSE named_flag%=FALSE
32818sa%=0
32826IF named_flag% THEN
32834  IF swc1%=1 THEN
32842    IF LEFT$(s1$,1)="*" OR LEFT$(s1$,1)="@" THEN
32850      named_flag%=FALSE
32858    ELSE
32866      fb%=ASC(FNUpper(LEFT$(s1$,1)))-65
32874    ENDIF
32882  ELSE
32890    fb%=ASC(FNUpper(LEFT$(s1$,1)))-65
32898  ENDIF
32906ENDIF
32914sb%=0
32922lookup_flag%=FALSE
32930loop_flag%=FALSE
32938winp%=0
32946s1$=FNRemove_Unwanted_Spaces(FNUpper(s1$))
32954s2$=FNRemove_Unwanted_Spaces(FNUpper(s2$))
32962WHILE sa%<99
32970  IF mem_dir_def%(sa%) THEN
32978    IF NOT named_flag% THEN sb%=0
32986    WHILE (sb%<26 AND NOT loop_flag%)
32994      sc%=0
33002      WHILE sc%<10
33010        IF named_flag% THEN lb%=fb% ELSE lb%=sb%
33018        try$="<Member"+STR$(sa%)+"$Dir>."+CHR$(65+lb%)+"."+STR$(sc%)
33026        filo%=OPENIN(try$)
33034        INPUT#filo%,tn%
33042        IF tn%>0 THEN
33050          FOR sd%=1 TO tn%
33058          INPUT#filo%,code$
33066          INPUT#filo%,nt$
33074          INPUT#filo%,surn$
33082          INPUT#filo%,name$
33090          FOR se%=0 TO 5
33098          INPUT#filo%,address$(se%)
33106          NEXT se%
33114          INPUT#filo%,state$
33122          IF FNview_compare THEN
33130            lookup_flag%=TRUE
33138            gd%=sa%
33146            gl%=lb%
33154            gs%=sc%
33162            gn%=sd%
33170            winstack$(winp%)=FNzero(STR$(gd%),2)
33178            winstack$(winp%)+=FNzero(STR$(gl%),2)
33186            winstack$(winp%)+=STR$(gs%)
33194            winstack$(winp%)+=FNzero(STR$(gn%),3)
33202            winp%+=-1*(winp%<10000)
33210          ENDIF
33218          temp%=BGET#filo%
33226          bn%=BGET#filo%
33234          IF bn%>0 THEN
33242            FOR se%=1 TO bn%
33250            INPUT#filo%,temp$
33258            NEXT se%
33266          ENDIF
33274          NEXT sd%
33282        ENDIF
33290        CLOSE#filo%
33298        sc%+=1
33306      ENDWHILE
33314      sb%+=1
33322      IF named_flag% THEN loop_flag%=TRUE
33330    ENDWHILE
33338  ENDIF
33346sa%+=1
33354ENDWHILE
33362IF NOT lookup_flag% THEN PROCdis_message("No matches found"):ENDPROC
33370SYS "Hourglass_Off"
33378ENDPROC
33386
33394DEFFNview_compare
33402c_f%=FALSE
33410sepr%()=0
33418FOR va%=0 TO 1
33426FOR vb%=0 TO 1
33434vc%=0
33442IF va%=0 THEN st$=s1$ ELSE st$=s2$
33450IF vb%=0 THEN ss$="," ELSE ss$="."
33458IF vc%=0 THEN la%=1 ELSE la%=sepr%(va%,vb%,vc%-1)+1
33466WHILE INSTR(st$,ss$,la%)
33474  temp%=INSTR(st$,ss$,la%)
33482  sepr%(va%,vb%,vc%)=temp%:vc%+=1
33490  IF vc%=0 THEN la%=1 ELSE la%=sepr%(va%,vb%,vc%-1)+1
33498ENDWHILE
33506NEXT vb%
33514NEXT va%
33522IF s1%=2 THEN
33530  IF sepr%(0,0,0)=0 THEN
33538    IF s1$=surn$ THEN
33546      c_f%=TRUE
33554    ELSE
33562      PROCvc_sub(s1$,surn$,swc1%)
33570    ENDIF
33578  ELSE
33586    PROCvc_sub(LEFT$(s1$,sepr%(0,0,0)-1),surn$,swc1%)
33594    IF LEFT$(s1$,sepr%(0,0,0)-1)=surn$ OR c_f% THEN
33602      c_f%=FALSE
33610      IF sepr%(0,1,0)=0 THEN
33618        IF FNRemove_Punc(s1$)=FNRemove_Punc(surn$+name$) THEN c_f%=TRUE
33626      ELSE
33634        tc%=0
33642        tf%=TRUE
33650        mc%=0
33658        WHILE sepr%(0,1,tc%)
33666          IF tc%=0 THEN cc%=sepr%(0,0,0) ELSE cc%=sepr%(0,1,tc%-1)
33674          tc$=MID$(s1$,cc%+1,sepr%(0,1,tc%)-cc%-1)
33682          nc%=INSTR(name$," ",mc%)
33690          mc$=MID$(name$,mc%+1,1)
33698          mc%=nc%
33706          IF tc$<>mc$ THEN tf%=FALSE
33714          tc%+=1
33722        ENDWHILE
33730        IF tf% THEN c_f%=TRUE ELSE c_f%=FALSE
33738      ENDIF
33746    ENDIF
33754  ENDIF
33762  IF NOT single_flag% AND s2%=3 THEN
33770    tc%=0
33778    tf%=TRUE
33786    WHILE sepr%(1,0,tc%)
33794      IF tc%=0 THEN cc%=0 ELSE cc%=sepr%(1,0,tc%-1)
33802      tc$=MID$(s2$,cc%+1,sepr%(1,0,tc%)-cc%-1)
33810      IF tc%<6 AND address$(tc%)<>"" THEN
33818        IF tc$<>address$(tc%) THEN
33826          PROCvc_sub(tc$,address$(tc%),swc2%)
33834          IF c_f%=FALSE THEN tf%=c_f%
33842        ENDIF
33850      ELSE
33858        IF tc$<>state$ THEN
33866          PROCvc_sub(tc$,state$,swc2%)
33874          IF c_f%=FALSE THEN tf%=c_f%
33882        ENDIF
33890      ENDIF
33898      tc%+=1
33906    ENDWHILE
33914    IF tc%=0 THEN tc$=s2$ ELSE tc$=RIGHT$(s2$,LEN(s2$)-sepr%(1,0,tc%-1))
33922    IF tc%<6 AND address$(tc%)<>"" THEN
33930      IF tc$<>address$(tc%) THEN
33938        PROCvc_sub(tc$,address$(tc%),swc2%)
33946        IF c_f%=FALSE THEN tf%=c_f%
33954      ENDIF
33962    ELSE
33970      IF tc$<>state$ THEN
33978        PROCvc_sub(tc$,state$,swc2%)
33986        IF c_f%=FALSE THEN tf%=c_f%
33994      ENDIF
34002    ENDIF
34010    IF tf% THEN c_f%=TRUE ELSE c_f%=FALSE
34018  ENDIF
34026ELSE
34034  tc%=0
34042  tf%=TRUE
34050  WHILE sepr%(0,0,tc%)
34058    IF tc%=0 THEN cc%=0 ELSE cc%=sepr%(0,0,tc%-1)
34066    tc$=MID$(s1$,cc%+1,sepr%(0,0,tc%)-cc%-1)
34074    IF tc%<6 AND address$(tc%)<>"" THEN
34082      IF tc$<>address$(tc%) THEN
34090        PROCvc_sub(tc$,address$(tc%),swc2%)
34098        IF c_f%=FALSE THEN tf%=c_f%
34106      ENDIF
34114    ELSE
34122      IF tc$<>state$ THEN
34130        PROCvc_sub(tc$,state$,swc2%)
34138        IF c_f%=FALSE THEN tf%=c_f%
34146      ENDIF
34154    ENDIF
34162    tc%+=1
34170  ENDWHILE
34178  IF tc%=0 THEN tc$=s1$ ELSE tc$=RIGHT$(s1$,LEN(s1$)-sepr%(0,0,tc%-1))
34186  IF tc%<6 AND address$(tc%)<>"" THEN
34194    IF tc$<>address$(tc%) THEN
34202      PROCvc_sub(tc$,address$(tc%),swc2%)
34210      IF c_f%=FALSE THEN tf%=c_f%
34218    ENDIF
34226  ELSE
34234    IF tc$<>state$ THEN
34242      PROCvc_sub(tc$,state$,swc2%)
34250      IF c_f%=FALSE THEN tf%=c_f%
34258    ENDIF
34266  ENDIF
34274  IF tf% THEN c_f%=TRUE ELSE c_f%=FALSE
34282ENDIF
34290=c_f%
34298
34306DEFFNRemove_Unwanted_Spaces(s$)
34314last$=""
34322t$=""
34330FOR rusc%=1 TO LEN(s$)
34338tal$=MID$(s$,rusc%,1)
34346delflag%=FALSE
34354IF tal$=" " AND (last$="," OR last$="." OR last$=" ") THEN delflag%=TRUE
34362last$=tal$
34370IF NOT delflag% THEN t$+=tal$
34378NEXT rusc%
34386=t$
34394
34402DEFPROCvc_sub(p$,q$,para%)
34410IF para%=1 THEN
34418  tvf%=TRUE
34426  IF INSTR(p$,"@") THEN
34434    l1%=LEN(q$)
34442    l2%=LEN(p$)
34450    IF l1%=l2% THEN
34458      FOR tv%=1 TO l1%
34466      IF MID$(q$,tv%,1)<>MID$(p$,tv%,1) THEN
34474        IF MID$(p$,tv%,1)<>"@" THEN tvf%=FALSE
34482      ENDIF
34490      IF tvf% THEN NEXT tv%
34498    ELSE
34506      tvf%=FALSE
34514    ENDIF
34522  ENDIF
34530  IF (INSTR(p$,"*") AND tvf%) THEN
34538    stap%=INSTR(p$,"*")
34546    lt%=LEN(p$)
34554    IF lt%<=LEN(q$) THEN
34562      CASE stap% OF
34570        WHEN 1
34578          IF RIGHT$(p$,lt%-1)<>RIGHT$(q$,lt%-1) THEN tvf%=FALSE
34586        WHEN lt%
34594          IF LEFT$(p$)<>LEFT$(q$,lt%-1) THEN tvf%=FALSE
34602        OTHERWISE
34610          IF LEFT$(p$,stap%-1)<>LEFT$(q$,stap%-1) THEN tvf%=FALSE
34618          IF RIGHT$(p$,lt%-stap%)<>RIGHT$(q$,lt%-stap%) THEN tvf%=FALSE
34626      ENDCASE
34634    ELSE
34642      tvf%=FALSE
34650    ENDIF
34658  ENDIF
34666  IF tvf% THEN c_f%=tvf%
34674ENDIF
34682ENDPROC
34690
34698DEFPROCdis_mem_details(s$)
34706IF LEN(s$)=8 THEN s$=FNCheck_Digit_Plus(s$)
34714d%=VAL(LEFT$(s$,2))
34722IF mem_dir_def%(d%)=FALSE THEN PROCdis_message("The membership directory for that number has not been seen by the filer."):ENDPROC
34730l%=VAL(MID$(s$,3,2))
34738s%=VAL(MID$(s$,5,1))
34746n%=VAL(MID$(s$,6,3))
34754try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
34762filo%=OPENIN(try$)
34770INPUT#filo%,tn%
34778IF tn%<n% THEN PROCdis_message("Invalid membership number"):ENDPROC
34786PROCputtext(viewmem%,27,s$)
34794IF n%>1 THEN
34802  FOR c%=1 TO n%-1
34810  FOR d%=1 TO 11
34818  INPUT#filo%,temp$
34826  NEXT d%
34834  temp%=BGET#filo%
34842  bn%=BGET#filo%
34850  IF bn%>0 THEN
34858    FOR d%=1 TO bn%
34866    INPUT#filo%,temp$
34874    NEXT d%
34882  ENDIF
34890  NEXT c%
34898ENDIF
34906INPUT#filo%,memno$
34914INPUT#filo%,title$
34922INPUT#filo%,surn$
34930INPUT#filo%,on$
34938FOR c%=0 TO 5
34946INPUT#filo%,address$(c%)
34954NEXT c%
34962INPUT#filo%,state$
34970tt%=BGET#filo%
34978PROCputtext(viewmem%,5,title$)
34986PROCputtext(viewmem%,6,surn$)
34994PROCputtext(viewmem%,7,on$)
35002FOR c%=0 TO 5
35010PROCputtext(viewmem%,8+c%,address$(c%))
35018NEXT c%
35026PROCputtext(viewmem%,14,state$)
35034CASE tt% OF
35042  WHEN 0: PROCputtext(viewmem%,15,"Adult")
35050  WHEN 1: PROCputtext(viewmem%,15,"Junior")
35058  WHEN 2: PROCputtext(viewmem%,15,"Staff")
35066ENDCASE
35074vbn%=BGET#filo%
35082IF vbn%>0 THEN
35090  FOR c%=1 TO vbn%
35098  INPUT#filo%,vm_dt$(c%,0)
35106  PROCopen_book_cache(vm_dt$(c%,0))
35114  c$=MID$(vm_dt$(c%,0),4,2)
35122  pick%=VAL(c$)
35130  vm_dt$(c%,1)=var$(pick%,0)
35138  vm_dt$(c%,2)=var$(pick%,1)
35146  vm_dt$(c%,3)=var$(pick%,2)
35154  vm_dt$(c%,4)="Due "+MID$(vm_dt$(c%,0),6,2)+"-"+MID$(vm_dt$(c%,0),8,2)
35162  vm_dt$(c%,4)+="-"+MID$(vm_dt$(c%,0),10,2)
35170  vm_dt$(c%,0)=LEFT$(vm_dt$(c%,0),5)
35178  NEXT c%
35186ENDIF
35194cur_vb%=0:IF vbn%>0 THEN cur_vb%=1
35202CLOSE#filo%
35210PROCinsert_mem_text(viewmem%)
35218!q%=viewmem%
35226SYS "Wimp_GetWindowState",,q%
35234q%!28=-1
35242SYS "Wimp_OpenWindow",,q%
35250IF w_a% THEN
35258  a$="O"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+LEFT$(s$,8)
35266  PROCadd_watchdog(a$)
35274ENDIF
35282ENDPROC
35290
35298DEFPROCissuebook_and_exit
35306PROCissuebook
35314!q%=issue%
35322SYS "Wimp_CloseWindow",,q%
35330ENDPROC
35338
35346DEFFNremove_articles(s$)
35354IF LEFT$(s$,4)="THE " THEN
35362  s$=RIGHT$(s$,LEN(s$)-4)
35370ELSE
35378  IF LEFT$(s$,2)="A " THEN
35386    s$=RIGHT$(s$,LEN(s$)-2)
35394  ELSE
35402    IF LEFT$(s$,3)="AN " THEN s$=RIGHT$(s$,LEN(s$)-3)
35410  ENDIF
35418ENDIF
35426=s$
35434
35442DEFPROCoverdue(y2$,y1$,m2$,m1$,d2$,d1$)
35450SYS "Hourglass_On"
35458db%=FNconvert_date_relative(y1$,m1$,d1$,y1$)
35466cb%=FNconvert_date_relative(y2$,m2$,d2$,y1$)
35474t$=TIME$
35482t$=LEFT$(t$,3)
35490CASE t$ OF
35498  WHEN "Sun": cur_day%=1
35506  WHEN "Mon": cur_day%=2
35514  WHEN "Tue": cur_day%=3
35522  WHEN "Wed": cur_day%=4
35530  WHEN "Thu": cur_day%=5
35538  WHEN "Fri": cur_day%=6
35546  WHEN "Sat": cur_day%=7
35554ENDCASE
35562cur_date%=VAL(d2$)
35570cur_mon%=VAL(m2$)
35578cur_yr%=VAL(y2$)
35586netc%=cb%-db%
35594ct%=cb%
35602WHILE ct%>db%
35610  FOR fd%=1 TO 7
35618  IF cur_day%=fd% AND ((dpx% AND (1<<(fd%-1)))>>>(fd%-1))=1 THEN netc%-=1
35626  NEXT fd%
35634  IF ((dpx% AND (1<<7))>>>7)=1 THEN
35642    IF cur_date%=25 AND cur_mon%=12 THEN
35650      IF ((dpx% AND (1<<(cur_day%-1)))>>>(cur_day%-1))=0 THEN netc%-=1
35658    ENDIF
35666  ENDIF
35674  IF (dpx% AND (1<<8))>>>8=1 THEN
35682    IF cur_date%=26 AND cur_mon%=12 THEN
35690      IF ((dpx% AND (1<<(cur_day%-1)))>>>(cur_day%-1))=0 THEN netc%-=1
35698    ENDIF
35706  ENDIF
35714  IF (dpx% AND (1<<9))>>>9=1 THEN
35722    IF cur_date%=1 AND cur_mon%=1 THEN
35730      IF ((dpx% AND (1<<(cur_day%-1)))>>>(cur_day%-1))=0 THEN netc%-=1
35738    ENDIF
35746  ENDIF
35754  IF dxp%>0 THEN
35762    FOR fd%=0 TO dxp%-1
35770    IF FNFormDate(cur_date%,cur_mon%,cur_yr%)=dex$(fd%) THEN
35778      IF ((dpx% AND (1<<(cur_day%-1)))>>>(cur_day%-1))=0 THEN netc%-=1
35786      IF LEFT$(dex$(fd%),4)="2512" THEN
35794        IF ((dpx% AND (1<<7))>>>7)=1 THEN netc%+=1
35802      ENDIF
35810      IF LEFT$(dex$(fd%),4)="2612" THEN
35818        IF ((dpx% AND (1<<8))>>>8)=1 THEN netc%+=1
35826      ENDIF
35834      IF LEFT$(dex$(fd%),4)="0101" THEN
35842        IF ((dpx% AND (1<<9))>>>9)=1 THEN netc%+=1
35850      ENDIF
35858    NEXT fd%
35866  ENDIF
35874  ct%-=1
35882  cur_day%-=1:IF cur_day%=0 THEN cur_day%=7
35890  cur_date%-=1
35898  IF cur_date%=0 THEN
35906    CASE cur_mon% OF
35914      WHEN 1: cur_date%=31
35922      WHEN 2: cur_date%=31
35930      WHEN 3: cur_date%=28:IF cur_yr% MOD 4=0 THEN cur_date%=29
35938      WHEN 4: cur_date%=31
35946      WHEN 5: cur_date%=30
35954      WHEN 6: cur_date%=31
35962      WHEN 7: cur_date%=30
35970      WHEN 8: cur_date%=31
35978      WHEN 9: cur_date%=31
35986      WHEN 10: cur_date%=30
35994      WHEN 11: cur_date%=31
36002      WHEN 12: cur_date%=30
36010    ENDCASE
36018    cur_mon%-=1
36026    IF cur_mon%=0 THEN
36034      cur_yr%-=1
36042      IF cur_yr%=-1 THEN cur_yr%=99
36050    ENDIF
36058  ENDIF
36066ENDWHILE
36074owed%+=netc%*fine_charge%
36082PROCputtext(overdue%,1,STR$(owed%))
36090!q%=overdue%
36098SYS "Wimp_GetWindowState",,q%
36106q%!28=-1
36114SYS "Wimp_OpenWindow",,q%
36122SYS "Hourglass_Off"
36130REPEAT
36138  SYS "Wimp_Poll",&0,q% TO A%
36146UNTIL A%=6 AND q%!12=overdue% AND (q%!16=4 OR q%!16=5)
36154CASE q%!16 OF
36162  WHEN 4
36170    d%=VAL(LEFT$(mem$,2))
36178    l%=VAL(MID$(mem$,3,2))
36186    s%=VAL(MID$(mem$,5,1))
36194    n%=VAL(MID$(mem$,6,3))
36202    try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
36210    filo%=OPENIN(try$)
36218    filp%=OPENOUT(try$+"2")
36226    INPUT#filo%,tn%
36234    IF tn%<n% THEN PROCdis_message("Invalid Membership Number"):CLOSE#filo%:CLOSE#filp%:ENDPROC
36242    PRINT#filp%,tn%
36250    FOR sc%=1 TO tn%
36258    FOR g%=1 TO 11
36266    INPUT#filo%,temp$
36274    IF g%>1 AND sc%=n% THEN
36282      PRINT#filp%,temp$
36290    ELSE
36298      PRINT#filp%,LEFT$(mem$,8)+STR$(owed%)
36306    ENDIF
36314    NEXT g%
36322    temp%=BGET#filo%
36330    BPUT#filp%,temp%
36338    bn%=BGET#filo%
36346    BPUT#filp%,bn%
36354    IF bn%>0 THEN
36362      FOR v%=1 TO bn%
36370      INPUT#filo%,temp$
36378      PRINT#filp%,temp$
36386      NEXT v%
36394    ENDIF
36402    NEXT sc%
36410    CLOSE#filo%
36418    CLOSE#filp%
36426    OSCLI("Delete "+try$)
36434    OSCLI("Rename "+try$+"2 "+try$)
36442  WHEN 5
36450    d%=VAL(LEFT$(mem$,2))
36458    l%=VAL(MID$(mem$,3,2))
36466    s%=VAL(MID$(mem$,5,1))
36474    n%=VAL(MID$(mem$,6,3))
36482    try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
36490    filo%=OPENIN(try$)
36498    filp%=OPENOUT(try$+"2")
36506    INPUT#filo%,tn%
36514    IF tn%<n% THEN PROCdis_message("Invalid Membership Number"):CLOSE#filo%:CLOSE#filp%:ENDPROC
36522    PRINT#filp%,tn%
36530    FOR sc%=1 TO tn%
36538    FOR g%=1 TO 11
36546    INPUT#filo%,temp$
36554    IF g%>1 AND sc%=n% THEN
36562      PRINT#filp%,temp$
36570    ELSE
36578      PRINT#filp%,LEFT$(mem$,8)
36586    ENDIF
36594    NEXT g%
36602    temp%=BGET#filo%
36610    BPUT#filp%,temp%
36618    bn%=BGET#filo%
36626    BPUT#filp%,bn%
36634    IF bn%>0 THEN
36642      FOR v%=1 TO bn%
36650      INPUT#filo%,temp$
36658      PRINT#filp%,temp$
36666      NEXT v%
36674    ENDIF
36682    NEXT sc%
36690    CLOSE#filo%
36698    CLOSE#filp%
36706    OSCLI("Delete "+try$)
36714    OSCLI("Rename "+try$+"2 "+try$)
36722ENDCASE
36730called_flag%=TRUE
36738!q%=overdue%
36746SYS "Wimp_CloseWindow",,q%
36754ENDPROC
36762
36770DEFFNconvert_date_relative(oy$,om$,od$,or$)
36778oy%=VAL(oy$)
36786om%=VAL(om$)
36794od%=VAL(od$)
36802or%=VAL(or$)
36810yd%=oy%-or%:IF yd%<0 THEN yd%=100+yd%
36818nd%=INT(365.25*yd%)
36826FOR nc%=1 TO om%
36834CASE nc% OF
36842  WHEN 1: nd%+=31
36850  WHEN 2: nd%+=28:IF oy% MOD 4=0 THEN nd%+=1
36858  WHEN 3: nd%+=31
36866  WHEN 4: nd%+=30
36874  WHEN 5: nd%+=31
36882  WHEN 6: nd%+=30
36890  WHEN 7: nd%+=31
36898  WHEN 8: nd%+=31
36906  WHEN 9: nd%+=30
36914  WHEN 10: nd%+=31
36922  WHEN 11: nd%+=30
36930  WHEN 12: nd%+=31
36938ENDCASE
36946NEXT nc%
36954nd%+=od%
36962=nd%
36970
36978DEFFNFormDate(cd%,cm%,cy%)
36986=FNzero(STR$(cd%),2)+FNzero(STR$(cm%),2)+FNzero(STR$(cy%),2)
36994
37002DEFPROCinit_prefs
37010filo%=OPENIN("<Library$Dir>.Preference.Issue")
37018filp%=OPENIN("<Library$Dir>.Preference.Allowances")
37026lending%(0,0)=BGET#filo%
37034lending%(0,1)=BGET#filo%
37042lending%(1,0)=BGET#filp%
37050lending%(1,1)=BGET#filp%
37058lending%(1,2)=BGET#filp%
37066CLOSE#filo%
37074CLOSE#filp%
37082filo%=OPENIN("<Library$Dir>.Preference.Fines")
37090INPUT#filo%,fine_charge%
37098INPUT#filo%,dpx%
37106DIM dex$(11)
37114dxp%=BGET#filo%
37122IF dxp%>0 THEN
37130  FOR c%=0 TO dxp%-1
37138  INPUT#filo%,dex$(c%)
37146  NEXT c%
37154ENDIF
37162CLOSE#filo%
37170filo%=OPENIN("<Library$Dir>.Preference.Fonts")
37178f_flag%=BGET#filo%
37186IF f_flag%=1 THEN f_flag%=TRUE
37194CLOSE#filo%
37202ENDPROC
37210
37218DEFPROCrenew(func%)
37226PROCcheck_book_dirs
37234PROCcheck_mem_dirs
37242IF book_count%=0 THEN
37250  PROCdis_message("No book directories have been seen by the filer.")
37258  ENDPROC
37266ENDIF
37274IF mem_count%=0 THEN
37282  PROCdis_message("No member directories have been seen by the filer.")
37290  ENDPROC
37298ENDIF
37306no$=FNUpper(FNgettext(renew%,1))
37314IF LEN(no$)<6 THEN PROCdis_message("Accession Number Too Short"):ENDPROC
37322IF NOT FNvalidate_digits(no$) THEN PROCdis_message("Accession Number: Check Digit Error"):ENDPROC
37330no%=VAL(LEFT$(no$,5))
37338IF book_dir_def%(VAL(LEFT$(no$,1)))=FALSE THEN
37346  PROCdis_message("The book directory for that number has not been seen by the filer.")
37354  ENDPROC
37362ENDIF
37370PROCopen_book_cache(no$)
37378d$=MID$(no$,4,2)
37386pick%=VAL(d$)
37394IF var$(pick%,4)="IN LIBRARY" THEN PROCdis_message("This book is in the library"):ENDPROC
37402da$=FNRemove_Punc(var$(pick%,4))
37410day$=MID$(da$,1,2)
37418mon$=MID$(da$,3,2)
37426yr$=MID$(da$,5,2)
37434mem$=RIGHT$(da$,8)
37442t$=TIME$
37450day2$=MID$(t$,5,2)
37458mon2$=MID$(t$,8,3)
37466CASE mon2$ OF
37474  WHEN "Jan": mon2$="01"
37482  WHEN "Feb": mon2$="02"
37490  WHEN "Mar": mon2$="03"
37498  WHEN "Apr": mon2$="04"
37506  WHEN "May": mon2$="05"
37514  WHEN "Jun": mon2$="06"
37522  WHEN "Jul": mon2$="07"
37530  WHEN "Aug": mon2$="08"
37538  WHEN "Sep": mon2$="09"
37546  WHEN "Oct": mon2$="10"
37554  WHEN "Nov": mon2$="11"
37562  WHEN "Dec": mon2$="12"
37570ENDCASE
37578chosen_flag%=FALSE
37586FOR c%=3 TO 5
37594temp%=FNIconGet(renew%,c%)
37602IF temp% THEN chosen_flag%=c%
37610NEXT c%
37618IF chosen_flag%=FALSE THEN ENDPROC
37626dno%=chosen_flag%+3
37634date$=FNgettext(renew%,dno%)
37642CASE chosen_flag% OF
37650  WHEN 3,4
37658    date$=LEFT$(date$,2)+MID$(date$,4,2)+RIGHT$(date$,2)
37666    IF NOT FNvalidate_date(date$) THEN ENDCASE:ENDPROC
37674  WHEN 5
37682    CASE LEN(date$) OF
37690      WHEN 8
37698        sepflag%=FALSE
37706        IF MID$(date$,3,1)="-" AND MID$(date$,6,1)="-" THEN sepflag%=1
37714        IF MID$(date$,3,1)="/" AND MID$(date$,6,1)="/" THEN sepflag%=2
37722        IF MID$(date$,3,1)="." AND MID$(date$,6,1)="." THEN sepflag%=3
37730        IF MID$(date$,3,1)=" " AND MID$(date$,6,1)=" " THEN sepflag%=3
37738        IF sepflag%=FALSE THEN PROCdis_message("Invalid date format")
37746        IF sepflag%=FALSE THEN ENDCASE:ENDCASE:ENDPROC
37754        date$=LEFT$(date$,2)+MID$(date$,4,2)+RIGHT$(date$,2)
37762        IF NOT FNvalidate_date(date$) THEN ENDCASE:ENDCASE:ENDPROC
37770      WHEN 6
37778        sepflag%=FALSE
37786        FOR c%=1 TO 6
37794        IF INSTR("0123456789",MID$(date$,c%,1))=0 THEN sepflag%=TRUE
37802        NEXT c%
37810        IF sepflag%=TRUE THEN PROCdis_message("Invalid date format")
37818        IF sepflag%=TRUE THEN ENDCASE:ENDCASE:ENDPROC
37826        IF NOT FNvalidate_date(date$) THEN ENDCASE:ENDCASE:ENDPROC
37834      OTHERWISE
37842        PROCdis_message("Invalid Date Format"):ENDCASE:ENDCASE:ENDPROC
37850    ENDCASE
37858ENDCASE
37866date$=STR$(vd%):IF LEN(date$)=1 THEN date$="0"+date$
37874date$=date$+"-"+STR$(vm%):IF LEN(date$)=4 THEN date$=LEFT$(date$,3)+"0"+RIGHT$(date$,1)
37882date$=date$+"-"+STR$(vy%):IF LEN(date$)=7 THEN date$=LEFT$(date$,6)+"0"+RIGHT$(date$,1)
37890date$=FNRemove_Punc(date$)
37898d%=VAL(LEFT$(mem$,2))
37906IF mem_dir_def%(d%)=FALSE THEN
37914  PROCdis_message("The membership directory for the borrower of that book has not been seen by the filer.")
37922  ENDPROC
37930ENDIF
37938l%=VAL(MID$(mem$,3,2))
37946s%=VAL(MID$(mem$,5,1))
37954n%=VAL(MID$(mem$,6,3))
37962try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
37970filo%=OPENIN(try$)
37978filp%=OPENOUT(try$+"2")
37986INPUT#filo%,number%
37994PRINT#filp%,number%
38002IF n%>number% THEN CLOSE#filo%:CLOSE#filp%:PROCdis_message("Invalid Membership Number"):ENDPROC
38010FOR sc%=1 TO number%
38018FOR d%=1 TO 11
38026INPUT#filo%,temp$
38034IF d%=1 AND sc%=n% THEN owed%=VAL(RIGHT$(temp$,LEN(temp$)-8))
38042PRINT#filp%,temp$
38050NEXT d%
38058temp%=BGET#filo%
38066BPUT#filp%,temp%
38074bn%=BGET#filo%
38082BPUT#filp%,bn%
38090FOR d%=1 TO bn%
38098IF sc%=n% THEN
38106  INPUT#filo%,temp$
38114  IF LEFT$(temp$,5)=LEFT$(no$,5) THEN temp$=LEFT$(temp$,5)+date$
38122  PRINT#filp%,temp$
38130ELSE
38138  INPUT#filo%,temp$
38146  PRINT#filp%,temp$
38154ENDIF
38162NEXT d%
38170NEXT sc%
38178CLOSE#filo%
38186CLOSE#filp%
38194OSCLI("Delete "+try$)
38202OSCLI("Rename "+try$+"2 "+try$)
38210called_flag%=FALSE
38218yr2$=MID$(t$,14,2)
38226IF VAL(yr2$)>VAL(yr$) THEN
38234  PROCoverdue(yr2$,yr$,mon2$,mon$,day2$,day$)
38242ELSE
38250  IF VAL(yr2$)=VAL(yr$) THEN
38258    IF VAL(mon2$)>VAL(mon$) THEN
38266      PROCoverdue(yr2$,yr$,mon2$,mon$,day2$,day$)
38274    ELSE
38282      IF VAL(mon2$)=VAL(mon$) THEN
38290        IF VAL(day2$)>VAL(day$) THEN
38298          PROCoverdue(yr2$,yr$,mon2$,mon$,day2$,day$)
38306        ENDIF
38314      ENDIF
38322    ENDIF
38330  ENDIF
38338ENDIF
38346IF NOT called_flag% AND owed%>0 THEN
38354  PROCoverdue(yr2$,yr$,mon2$,mon$,day2$,day$)
38362ENDIF
38370var$(pick%,4)=date$+LEFT$(mem$,8)
38378PROCsave_cache(no$)
38386PROCcleartext(renew%,1)
38394PROCcleartext(renew%,8)
38402SYS "Wimp_SetCaretPosition",renew%,1,0,0,-1,0
38410IF func% THEN
38418  !q%=renew%
38426  SYS "Wimp_CloseWindow",,q%
38434ENDIF
38442IF w_a% THEN
38450  a$="G"+STR$(logged_on%)+";"+pass$(logged_on%,0)
38458  a$+=";"+LEFT$(no$,5)+LEFT$(mem$,8)+date$
38466  PROCadd_watchdog(a$)
38474ENDIF
38482ENDPROC
38490
38498DEFPROCchange_stock
38506PROCcheck_book_dirs
38514PROCcheck_mem_dirs
38522IF book_count%=0 THEN
38530  PROCdis_message("No book directories have been seen by the filer.")
38538  ENDPROC
38546ENDIF
38554csno$=FNgettext(accn_only%,1)
38562IF LEN(csno$)<6 THEN PROCdis_message("Accession Number too short"):ENDPROC
38570IF NOT FNvalidate_digits(csno$) THEN PROCdis_message("Invalid Accession Number"):ENDPROC
38578!q%=accn_only%
38586SYS "Wimp_CloseWindow",,q%
38594IF book_dir_def%(VAL(LEFT$(csno$,1)))=FALSE THEN
38602  PROCdis_message("The book directory for that number has not been seen by the filer.")
38610  ENDPROC
38618ENDIF
38626PROCopen_book_cache(csno$)
38634c$=MID$(csno$,4,2)
38642pick%=VAL(c$)
38650PROCputtext(change_stock%,2,var$(pick%,0))
38658PROCputtext(change_stock%,4,var$(pick%,1))
38666PROCputtext(change_stock%,6,var$(pick%,2))
38674PROCputtext(change_stock%,9,var$(pick%,3))
38682!q%=change_stock%
38690SYS "Wimp_GetWindowState",,q%
38698q%!28=-1
38706SYS "Wimp_OpenWindow",,q%
38714l%=LEN(FNgettext(change_stock%,4))
38722SYS "Wimp_SetCaretPosition",change_stock%,4,0,0,-1,l%
38730ENDPROC
38738
38746DEFPROCchange_stock_go
38754PROCopen_book_cache(csno$)
38762c$=MID$(csno$,4,2)
38770pick%=VAL(c$)
38778var$(pick%,1)=FNgettext(change_stock%,4)
38786var$(pick%,2)=FNgettext(change_stock%,6)
38794var$(pick%,3)=FNgettext(change_stock%,9)
38802!q%=confirm%
38810SYS "Wimp_GetWindowState",,q%
38818q%!28=-1
38826SYS "Wimp_OpenWindow",,q%
38834REPEAT
38842  SYS "Wimp_Poll",&0,q% TO A%
38850UNTIL A%=6 AND q%!12=confirm% AND (q%!16=3 OR q%!16=4)
38858sel%=q%!16
38866!q%=confirm%
38874SYS "Wimp_CloseWindow",,q%
38882IF sel%=4 THEN ENDPROC
38890!q%=change_stock%
38898SYS "Wimp_CloseWindow",,q%
38906PROCsave_cache(csno$)
38914PROCcleartext(accn_only%,1)
38922IF w_a% THEN
38930  a$="J"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
38938  PROCadd_watchdog(a$)
38946ENDIF
38954ENDPROC
38962
38970DEFPROCview_stock
38978PROCcheck_book_dirs
38986PROCcheck_mem_dirs
38994IF book_count%=0 THEN
39002  PROCdis_message("No book directories have been seen by the filer.")
39010  ENDPROC
39018ENDIF
39026no$=FNgettext(accn_only%,1)
39034IF LEN(no$)<6 THEN PROCdis_message("Accession number too short"):ENDPROC
39042IF NOT FNvalidate_digits(no$) THEN PROCdis_message("Invalid accession number"):ENDPROC
39050IF book_dir_def%(VAL(LEFT$(no$,1)))=FALSE THEN
39058  PROCdis_message("The book directory for that number has not been seen by the filer.")
39066  ENDPROC
39074ENDIF
39082PROCopen_book_cache(no$)
39090c$=MID$(no$,4,2)
39098pick%=VAL(c$)
39106PROCputtext(view_stock%,2,var$(pick%,0))
39114PROCputtext(view_stock%,4,var$(pick%,1))
39122PROCputtext(view_stock%,6,var$(pick%,2))
39130PROCputtext(view_stock%,9,var$(pick%,3))
39138stat$=var$(pick%,4)
39146IF stat$<>"IN LIBRARY" THEN
39154  temp$="Due "+LEFT$(stat$,2)+"-"+MID$(stat$,3,2)+"-"+MID$(stat$,5,2)
39162  temp$+="  Member "+FNCheck_Digit_Plus(RIGHT$(stat$,8))
39170  stat$=temp$
39178ENDIF
39186PROCputtext(view_stock%,12,stat$)
39194PROCputtext(view_stock%,13,no$)
39202PROCcleartext(accn_only%,1)
39210!q%=view_stock%
39218SYS "Wimp_GetWindowState",,q%
39226q%!28=-1
39234SYS "Wimp_OpenWindow",,q%
39242!q%=accn_only%
39250SYS "Wimp_CloseWindow",,q%
39258IF w_a% THEN
39266  a$="K"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
39274  PROCadd_watchdog(a$)
39282ENDIF
39290ENDPROC
39298
39306DEFPROCdis_fines
39314PROCputtext(opt_fines%,1,STR$(fine_charge%))
39322FOR c%=0 TO 9
39330comp%=FNIconGet(opt_fines%,4+c%)
39338IF ((dpx% AND (1<<c%))>>>c%)=1 THEN
39346  IF comp%=0 THEN PROCxor(opt_fines%,4+c%,1)
39354ELSE
39362  IF comp%=1 THEN PROCxor(opt_fines%,4+c%,1)
39370ENDIF
39378NEXT c%
39386FOR c%=0 TO 11
39394IF c%>=dxp% THEN
39402  PROCcleartext(opt_fines%,25+c%)
39410ELSE
39418  PROCputtext(opt_fines%,25+c%,dex$(c%))
39426ENDIF
39434NEXT c%
39442ENDPROC
39450
39458DEFPROCsave_fines
39466fine_charge%=VAL(FNgettext(opt_fines%,1))
39474dpx%=0
39482FOR c%=0 TO 9
39490dpx%=dpx% OR ((1<<c%) AND (FNIconGet(opt_fines%,4+c%)=1))
39498NEXT c%
39506dxp%=0
39514FOR c%=25 TO 36
39522temp$=FNgettext(opt_fines%,c%)
39530IF temp$<>"" THEN
39538  IF NOT FNvalidate_date(temp$) THEN
39546    temp$=""
39554    PROCcleartext(opt_fines%,c%)
39562  ENDIF
39570ENDIF
39578IF temp$<>"" THEN dex$(dxp%)=temp$:dxp%+=1
39586NEXT c%
39594filo%=OPENOUT("<Library$Dir>.Preference.Fines")
39602PRINT#filo%,fine_charge%
39610PRINT#filo%,dpx%
39618BPUT#filo%,dxp%
39626FOR c%=0 TO dxp%-1
39634PRINT#filo%,dex$(c%)
39642NEXT c%
39650CLOSE#filo%
39658!q%=opt_fines%
39666SYS "Wimp_CloseWindow",,q%
39674IF w_a% THEN
39682  a$="S"+STR$(logged_on%)+";"+pass$(logged_on%,0)
39690  PROCadd_watchdog(a$)
39698ENDIF
39706ENDPROC
39714
39722DEFPROCremove_member
39730PROCcheck_mem_dirs
39738PROCcheck_book_dirs
39746IF mem_count%=0 THEN
39754  PROCdis_message("No member directories have been seen by the filer.")
39762  ENDPROC
39770ENDIF
39778!q%=changemem%
39786SYS "Wimp_CloseWindow",,q%
39794!q%=viewmem%
39802SYS "Wimp_CloseWindow",,q%
39810rc_no$=FNgettext(mem_only%,1)
39818IF LEN(rc_no$)<>9 THEN PROCdis_message("Invalid membership error"):ENDPROC
39826IF NOT FNvalidate_digits(rc_no$) THEN PROCdis_message("Check digit error"):ENDPROC
39834!q%=mem_only%
39842SYS "Wimp_CloseWindow",,q%
39850d%=VAL(LEFT$(rc_no$,2))
39858IF mem_dir_def%(d%)=FALSE THEN
39866  PROCdis_message("The member directory for that number has not been seen by the filer.")
39874  ENDPROC
39882ENDIF
39890l%=VAL(MID$(rc_no$,3,2))
39898s%=VAL(MID$(rc_no$,5,1))
39906n%=VAL(MID$(rc_no$,6,3))
39914try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
39922filo%=OPENIN(try$)
39930INPUT#filo%,tn%
39938IF tn%<n% OR n%=0 THEN CLOSE#filo%:PROCdis_message("Invalid number"):ENDPROC
39946IF n%>1 THEN
39954  FOR c%=1 TO n%-1
39962  FOR d%=1 TO 11
39970  INPUT#filo%,temp$
39978  NEXT d%
39986  null%=BGET#filo%
39994  tebn%=BGET#filo%
40002  IF tebn%>0 THEN
40010    FOR d%=1 TO tebn%
40018    INPUT#filo%,temp$
40026    NEXT d%
40034  ENDIF
40042  NEXT c%
40050ENDIF
40058INPUT#filo%,memno$
40066INPUT#filo%,title$
40074INPUT#filo%,surn$
40082INPUT#filo%,on$
40090FOR c%=0 TO 5
40098INPUT#filo%,address$(c%)
40106NEXT c%
40114INPUT#filo%,state$
40122tt%=BGET#filo%
40130PROCputtext(remmem%,5,title$)
40138PROCputtext(remmem%,6,surn$)
40146PROCputtext(remmem%,7,on$)
40154FOR c%=0 TO 5
40162PROCputtext(remmem%,8+c%,address$(c%))
40170NEXT c%
40178PROCputtext(remmem%,14,state$)
40186CASE tt% OF
40194  WHEN 0: PROCputtext(remmem%,15,"Adult")
40202  WHEN 1: PROCputtext(remmem%,15,"Junior")
40210  WHEN 2: PROCputtext(remmem%,15,"Staff")
40218ENDCASE
40226vbn%=BGET#filo%
40234IF vbn%>0 THEN
40242  FOR c%=1 TO vbn%
40250  INPUT#filo%,vm_dt$(c%,0)
40258  IF book_dir_def%(VAL(LEFT$(vm_dt$(c%,0))))=FALSE THEN
40266    nxt$=FNCheck_Digit_Plus(vm_dt$(c%,0))
40274    PROCdis_message("The book directory for the book "+nxt$+" has not been seen by the filer.")
40282    vm_dt$(c%,1)="***  Directory not found  ***"
40290    vm_dt$(c%,2)="***  Directory not found  ***"
40298    vm_dt$(c%,3)="***  Directory not found  ***"
40306    vm_dt$(c%,4)="***  Directory not found  ***"
40314  ELSE
40322    PROCopen_book_cache(vm_dt$(c%,0))
40330    c$=MID$(vm_dt$(c%,0),4,2)
40338    pick%=VAL(c$)
40346    vm_dt$(c%,1)=var$(pick%,0)
40354    vm_dt$(c%,2)=var$(pick%,1)
40362    vm_dt$(c%,3)=var$(pick%,2)
40370    vm_dt$(c%,4)="Due "+MID$(vm_dt$(c%,0),6,2)+"-"+MID$(vm_dt$(c%,0),8,2)
40378    vm_dt$(c%,4)+="-"+MID$(vm_dt$(c%,0),10,2)
40386    vm_dt$(c%,0)=LEFT$(vm_dt$(c%,0),5)
40394  ENDIF
40402  NEXT c%
40410ENDIF
40418cur_vb%=0:IF vbn%>0 THEN cur_vb%=1
40426CLOSE#filo%
40434PROCinsert_mem_text(remmem%)
40442!q%=remmem%
40450SYS "Wimp_GetWindowState",,q%
40458q%!28=-1
40466SYS "Wimp_OpenWindow",,q%
40474ENDPROC
40482
40490DEFPROCinsert_mem_text(win%)
40498IF vbn%=0 THEN
40506  FOR c%=21 TO 25
40514  PROCcleartext(win%,c%)
40522  IF c%=21 OR c%=22 THEN PROCcleartext(win%,c%-4)
40530  NEXT c%
40538ENDIF
40546IF vbn%=0 THEN ENDPROC
40554IF cur_vb%=1 THEN
40562  PROCcleartext(win%,17)
40570ELSE
40578  PROCputtext(win%,17,"�")
40586ENDIF
40594IF cur_vb%=vbn% THEN
40602  PROCcleartext(win%,18)
40610ELSE
40618  PROCputtext(win%,18,"�")
40626ENDIF
40634PROCputtext(win%,21,FNCheck_Digit_Plus(vm_dt$(cur_vb%,0)))
40642FOR c%=1 TO 4
40650PROCputtext(win%,21+c%,vm_dt$(cur_vb%,c%))
40658NEXT c%
40666ENDPROC
40674
40682DEFPROCwipe_mem
40690PROCcheck_mem_dirs
40698PROCcheck_book_dirs
40706SYS "Hourglass_On"
40714d%=VAL(LEFT$(rc_no$,2))
40722IF mem_dir_def%(d%)=FALSE THEN
40730  PROCdis_message("The member directory for that number has not been seen by the filer.")
40738  SYS "Hourglass_OfF"
40746  ENDPROC
40754ENDIF
40762l%=VAL(MID$(rc_no$,3,2))
40770s%=VAL(MID$(rc_no$,5,1))
40778n%=VAL(MID$(rc_no$,6,3))
40786try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
40794filo%=OPENIN(try$)
40802filp%=OPENOUT(try$+"2")
40810INPUT#filo%,tn%
40818flag%=TRUE
40826flag2%=FALSE
40834IF n%=tn% THEN
40842  PRINT#filp%,tn%-1
40850  IF tn%=1 THEN flag%=FALSE
40858  tn%-=1
40866  flag2%=TRUE
40874ENDIF
40882IF flag% THEN
40890  FOR c%=1 TO tn%
40898  FOR d%=1 TO 11
40906  INPUT#filo%,temp$
40914  IF c%<>n% THEN
40922    PRINT#filp%,temp$
40930  ELSE
40938    PRINT#filp%,"<Deleted>"
40946  ENDIF
40954  NEXT d%
40962  BPUT#filp%,BGET#filo%
40970  bn%=BGET#filo%
40978  BPUT#filp%,bn%
40986  IF bn%>0 THEN
40994    FOR d%=1 TO bn%
41002    INPUT#filo%,temp$
41010    PRINT#filp%,temp$
41018    NEXT d%
41026  ENDIF
41034  NEXT c%
41042ENDIF
41050CLOSE#filo%
41058CLOSE#filp%
41066OSCLI("Delete "+try$)
41074OSCLI("Rename "+try$+"2 "+try$)
41082IF NOT flag2% THEN
41090  d%=VAL(LEFT$(rc_no$,2))
41098  l%=VAL(MID$(rc_no$,3,2))
41106  s%=VAL(MID$(rc_no$,5,1))
41114  n%=VAL(MID$(rc_no$,6,3))
41122  h_try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+".Holes"
41130  filo%=OPENIN(h_try$)
41138  g%=OPENOUT(h_try$+"2")
41146  delflag%=FALSE
41154  IF filo% THEN
41162    delflag%=TRUE
41170    REPEAT
41178      INPUT#filo%,temp$
41186      PRINT#g%,temp$
41194    UNTIL EOF#filo%
41202  ENDIF
41210  PRINT#g%,STR$(s%)+STR$(n%)
41218  CLOSE#filo%
41226  CLOSE#g%
41234  IF delflag% THEN OSCLI("Delete "+h_try$)
41242  OSCLI("Rename "+h_try$+"2 "+h_try$)
41250ENDIF
41258!q%=remmem%
41266SYS "Wimp_CloseWindow",,q%
41274SYS "Hourglass_Off"
41282IF w_a% THEN
41290  a$="M"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+LEFT$(rc_no$,8)
41298  PROCadd_watchdog(a$)
41306ENDIF
41314ENDPROC
41322
41330DEFPROCchange_member
41338PROCcheck_mem_dirs
41346PROCcheck_book_dirs
41354IF mem_count%=0 THEN
41362  PROCdis_message("No member directories have been seen by the filer.")
41370  ENDPROC
41378ENDIF
41386!q%=remmem%
41394SYS "Wimp_CloseWindow",,q%
41402!q%=viewmem%
41410SYS "Wimp_CloseWindow",,q%
41418rc_no$=FNgettext(mem_only%,1)
41426IF LEN(rc_no$)<>9 THEN PROCdis_message("Invalid membership error"):ENDPROC
41434IF NOT FNvalidate_digits(rc_no$) THEN PROCdis_message("Check digit error"):ENDPROC
41442!q%=mem_only%
41450SYS "Wimp_CloseWindow",,q%
41458d%=VAL(LEFT$(rc_no$,2))
41466IF mem_dir_def%(d%)=FALSE THEN
41474  PROCdis_message("The membership directory for that number has not been seen by the filer.")
41482  ENDPROC
41490ENDIF
41498l%=VAL(MID$(rc_no$,3,2))
41506s%=VAL(MID$(rc_no$,5,1))
41514n%=VAL(MID$(rc_no$,6,3))
41522try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
41530filo%=OPENIN(try$)
41538INPUT#filo%,tn%
41546IF tn%<n% OR n%=0 THEN CLOSE#filo%:PROCdis_message("Invalid number"):ENDPROC
41554IF n%>1 THEN
41562  FOR c%=1 TO n%-1
41570  FOR d%=1 TO 11
41578  INPUT#filo%,temp$
41586  NEXT d%
41594  null%=BGET#filo%
41602  tebn%=BGET#filo%
41610  IF tebn%>0 THEN
41618    FOR d%=1 TO tebn%
41626    INPUT#filo%,temp$
41634    NEXT d%
41642  ENDIF
41650  NEXT c%
41658ENDIF
41666INPUT#filo%,memno$
41674INPUT#filo%,title$
41682INPUT#filo%,surn$
41690INPUT#filo%,on$
41698FOR c%=0 TO 5
41706INPUT#filo%,address$(c%)
41714NEXT c%
41722INPUT#filo%,state$
41730tt%=BGET#filo%
41738PROCputtext(changemem%,5,title$)
41746PROCputtext(changemem%,6,surn$)
41754PROCputtext(changemem%,7,on$)
41762FOR c%=0 TO 5
41770PROCputtext(changemem%,8+c%,address$(c%))
41778NEXT c%
41786PROCputtext(changemem%,14,state$)
41794CASE tt% OF
41802  WHEN 0: PROCputtext(changemem%,15,"Adult")
41810  WHEN 1: PROCputtext(changemem%,15,"Junior")
41818  WHEN 2: PROCputtext(changemem%,15,"Staff")
41826ENDCASE
41834vbn%=BGET#filo%
41842IF vbn%>0 THEN
41850  FOR c%=1 TO vbn%
41858  INPUT#filo%,vm_dt$(c%,0)
41866  IF book_dir_def%(VAL(LEFT$(vm_dt$(c%,0))))=FALSE THEN
41874    nxt$=FNCheck_Digit_Plus(vm_dt$(c%,0))
41882    PROCdis_message("The book directory for the book "+nxt$+" has not been seen by the filer.")
41890    vm_dt$(c%,1)="***  Directory not found  ***"
41898    vm_dt$(c%,2)="***  Directory not found  ***"
41906    vm_dt$(c%,3)="***  Directory not found  ***"
41914    vm_dt$(c%,4)="***  Directory not found  ***"
41922  ELSE
41930    PROCopen_book_cache(vm_dt$(c%,0))
41938    c$=MID$(vm_dt$(c%,0),4,2)
41946    pick%=VAL(c$)
41954    vm_dt$(c%,1)=var$(pick%,0)
41962    vm_dt$(c%,2)=var$(pick%,1)
41970    vm_dt$(c%,3)=var$(pick%,2)
41978    vm_dt$(c%,4)="Due "+MID$(vm_dt$(c%,0),6,2)+"-"+MID$(vm_dt$(c%,0),8,2)
41986    vm_dt$(c%,4)+="-"+MID$(vm_dt$(c%,0),10,2)
41994    vm_dt$(c%,0)=LEFT$(vm_dt$(c%,0),5)
42002  ENDIF
42010  NEXT c%
42018ENDIF
42026cur_vb%=0:IF vbn%>0 THEN cur_vb%=1
42034CLOSE#filo%
42042PROCinsert_mem_text(changemem%)
42050!q%=changemem%
42058SYS "Wimp_GetWindowState",,q%
42066q%!28=-1
42074SYS "Wimp_OpenWindow",,q%
42082l%=LEN(FNgettext(changemem%,5))
42090SYS "Wimp_SetCaretPosition",changemem%,5,0,0,-1,l%
42098ENDPROC
42106
42114DEFPROCsave_ch_mem
42122SYS "Hourglass_On"
42130d%=VAL(LEFT$(rc_no$,2))
42138IF mem_dir_def%(d%)=FALSE THEN
42146  PROCdis_message("The membership directory for that number has not been seen by the filer.")
42154  SYS "Hourglass_Off"
42162  ENDPROC
42170ENDIF
42178l%=VAL(MID$(rc_no$,3,2))
42186s%=VAL(MID$(rc_no$,5,1))
42194n%=VAL(MID$(rc_no$,6,3))
42202try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
42210filo%=OPENIN(try$)
42218filp%=OPENOUT(try$+"2")
42226INPUT#filo%,tn%
42234PRINT#filp%,tn%
42242FOR c%=1 TO tn%
42250FOR d%=1 TO 11
42258INPUT#filo%,temp$
42266IF c%<>n% THEN
42274  PRINT#filp%,temp$
42282ELSE
42290  IF d%=1 THEN PRINT#filp%,temp$
42298  IF d%>=2 AND d%<=11 THEN PRINT#filp%,FNUpper(FNgettext(changemem%,3+d%))
42306ENDIF
42314NEXT d%
42322IF c%<>n% THEN
42330  BPUT#filp%,BGET#filo%
42338ELSE
42346  temp%=BGET#filo%
42354  comp$=FNgettext(changemem%,15)
42362  CASE comp$ OF
42370    WHEN "Adult": comp%=0
42378    WHEN "Junior": comp%=1
42386    WHEN "Staff": comp%=2
42394  ENDCASE
42402  BPUT#filp%,comp%
42410ENDIF
42418bn%=BGET#filo%
42426BPUT#filp%,bn%
42434IF bn%>0 THEN
42442  FOR d%=1 TO bn%
42450  INPUT#filo%,temp$
42458  PRINT#filp%,temp$
42466  NEXT d%
42474ENDIF
42482NEXT c%
42490CLOSE#filo%
42498CLOSE#filp%
42506OSCLI("Delete "+try$)
42514OSCLI("Rename "+try$+"2 "+try$)
42522!q%=changemem%
42530SYS "Wimp_CloseWindow",,q%
42538SYS "Hourglass_Off"
42546IF w_a% THEN
42554  a$="N"+STR$(logged_on%)+";"+pass$(logged_on%,0)+";"+LEFT$(rc_no$,8)
42562  PROCadd_watchdog(a$)
42570ENDIF
42578ENDPROC
42586
42594DEFPROCadd_watchdog(s$)
42602try$="<Library$Dir>.Watchdog.Watchdog"
42610filo%=OPENIN(try$)
42618filp%=OPENOUT(try$+"2")
42626delflag%=FALSE
42634IF filo% THEN
42642  delflag%=TRUE
42650  REPEAT
42658    INPUT#filo%,temp$
42666    PRINT#filp%,temp$
42674  UNTIL EOF#filo%
42682ENDIF
42690PRINT#filp%,TIME$+s$
42698CLOSE#filp%
42706CLOSE#filo%
42714IF delflag% THEN OSCLI("Delete "+try$)
42722OSCLI("Rename "+try$+"2 "+try$)
42730ENDPROC
42738
42746DEFPROCshow_watchdog
42754try$="<Library$Dir>.Watchdog.Watchdog"
42762filo%=OPENIN(try$)
42770IF filo%=0 THEN CLOSE#filo%:PROCdis_message("There is nothing to display")
42778IF filo%=0 THEN ENDPROC
42786winp%=0
42794biggest%=0
42802REPEAT
42810  INPUT#filo%,e$
42818  f$=" "+LEFT$(e$,24)+"  "
42826  opc$=MID$(e$,25,1)
42834  CASE opc$ OF
42842    WHEN "A"
42850      f$+="Log On                "
42858      s1%=INSTR(e$,";")
42866      s2%=INSTR(e$,";",s1%+1)
42874      f$+=FNspc(MID$(e$,26,s1%-26),5)
42882      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
42890      f$+=RIGHT$(e$,LEN(e$)-s2%)
42898      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
42906    WHEN "B"
42914      f$+="Log Off               "
42922      s1%=INSTR(e$,";")
42930      f$+=FNspc(MID$(e$,26,s1%-26),5)
42938      f$+=RIGHT$(e$,LEN(e$)-s1%)
42946      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
42954    WHEN "C"
42962      f$+="Password Change       "
42970      s1%=INSTR(e$,";")
42978      s2%=INSTR(e$,";",s1%+1)
42986      s3%=INSTR(e$,";",s2%+1)
42994      f$+=FNspc(MID$(e$,26,s1%-26),5)
43002      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43010      f$+=MID$(e$,s2%+1,s3%-s2%-1)+" to "
43018      f$+=RIGHT$(e$,LEN(e$)-s3%)
43026      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43034    WHEN "D"
43042      f$+="New News Page         "
43050      s1%=INSTR(e$,";")
43058      f$+=FNspc(MID$(e$,26,s1%-26),5)
43066      f$+=RIGHT$(e$,LEN(e$)-s1%)
43074      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43082    WHEN "E"
43090      f$+="Issue Book            "
43098      s1%=INSTR(e$,";")
43106      s2%=INSTR(e$,";",s1%+1)
43114      f$+=FNspc(MID$(e$,26,s1%-26),5)
43122      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43130      cut$=RIGHT$(e$,LEN(e$)-s2%)
43138      f$+="Accn "+FNCheck_Digit_Plus(LEFT$(cut$,5))
43146      f$+="  Mem "+FNCheck_Digit_Plus(MID$(cut$,6,8))
43154      f$+="  Due "+MID$(cut$,14,2)+"-"+MID$(cut$,16,2)+"-"+RIGHT$(cut$,2)
43162      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43170    WHEN "F"
43178      f$+="Return Book           "
43186      s1%=INSTR(e$,";")
43194      s2%=INSTR(e$,";",s1%+1)
43202      f$+=FNspc(MID$(e$,26,s1%-26),5)
43210      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43218      cut$=RIGHT$(e$,LEN(e$)-s2%)
43226      f$+="Accn "+FNCheck_Digit_Plus(LEFT$(cut$,5))
43234      f$+="  Mem "+FNCheck_Digit_Plus(RIGHT$(cut$,8))
43242      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43250    WHEN "G"
43258      f$+="Renew Book            "
43266      s1%=INSTR(e$,";")
43274      s2%=INSTR(e$,";",s1%+1)
43282      f$+=FNspc(MID$(e$,26,s1%-26),5)
43290      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43298      cut$=RIGHT$(e$,LEN(e$)-s2%)
43306      f$+="Accn "+FNCheck_Digit_Plus(LEFT$(cut$,5))
43314      f$+="  Mem "+FNCheck_Digit_Plus(MID$(cut$,6,8))
43322      f$+="  Due "+MID$(cut$,14,2)+"-"+MID$(cut$,16,2)+"-"+RIGHT$(cut$,2)
43330      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43338    WHEN "H"
43346      f$+="Add Stock             "
43354      s1%=INSTR(e$,";")
43362      s2%=INSTR(e$,";",s1%+1)
43370      f$+=FNspc(MID$(e$,26,s1%-26),5)
43378      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43386      f$+="Accn "+FNCheck_Digit_Plus(RIGHT$(e$,LEN(e$)-s2%))
43394      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43402    WHEN "I"
43410      f$+="Remove Stock          "
43418      s1%=INSTR(e$,";")
43426      s2%=INSTR(e$,";",s1%+1)
43434      f$+=FNspc(MID$(e$,26,s1%-26),5)
43442      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43450      f$+="Accn "+FNCheck_Digit_Plus(RIGHT$(e$,LEN(e$)-s2%))
43458      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43466    WHEN "J"
43474      f$+="Change Stock          "
43482      s1%=INSTR(e$,";")
43490      s2%=INSTR(e$,";",s1%+1)
43498      f$+=FNspc(MID$(e$,26,s1%-26),5)
43506      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43514      f$+="Accn "+FNCheck_Digit_Plus(RIGHT$(e$,LEN(e$)-s2%))
43522      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43530    WHEN "K"
43538      f$+="View Stock            "
43546      s1%=INSTR(e$,";")
43554      s2%=INSTR(e$,";",s1%+1)
43562      f$+=FNspc(MID$(e$,26,s1%-26),5)
43570      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43578      f$+="Accn "+FNCheck_Digit_Plus(RIGHT$(e$,LEN(e$)-s2%))
43586      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43594    WHEN "L"
43602      f$+="New Member            "
43610      s1%=INSTR(e$,";")
43618      s2%=INSTR(e$,";",s1%+1)
43626      f$+=FNspc(MID$(e$,26,s1%-26),5)
43634      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43642      f$+="Mem "+FNCheck_Digit_Plus(RIGHT$(e$,LEN(e$)-s2%))
43650      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43658    WHEN "M"
43666      f$+="Remove Member         "
43674      s1%=INSTR(e$,";")
43682      s2%=INSTR(e$,";",s1%+1)
43690      f$+=FNspc(MID$(e$,26,s1%-26),5)
43698      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43706      f$+="Mem "+FNCheck_Digit_Plus(RIGHT$(e$,LEN(e$)-s2%))
43714      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43722    WHEN "N"
43730      f$+="Change Member         "
43738      s1%=INSTR(e$,";")
43746      s2%=INSTR(e$,";",s1%+1)
43754      f$+=FNspc(MID$(e$,26,s1%-26),5)
43762      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43770      f$+="Mem "+FNCheck_Digit_Plus(RIGHT$(e$,LEN(e$)-s2%))
43778      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43786    WHEN "O"
43794      f$+="View Member           "
43802      s1%=INSTR(e$,";")
43810      s2%=INSTR(e$,";",s1%+1)
43818      f$+=FNspc(MID$(e$,26,s1%-26),5)
43826      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43834      f$+="Mem "+FNCheck_Digit_Plus(RIGHT$(e$,LEN(e$)-s2%))
43842      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43850    WHEN "P"
43858      f$+="Book Directory        "
43866      s1%=INSTR(e$,";")
43874      s2%=INSTR(e$,";",s1%+1)
43882      f$+=FNspc(MID$(e$,26,s1%-26),5)
43890      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43898      f$+=RIGHT$(e$,LEN(s$)-s2%)
43906      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43914    WHEN "Q"
43922      f$+="Member Directory      "
43930      s1%=INSTR(e$,";")
43938      s2%=INSTR(e$,";",s1%+1)
43946      f$+=FNspc(MID$(e$,26,s1%-26),5)
43954      f$+=MID$(e$,s1%+1,s2%-s1%-1)+"  "
43962      f$+=RIGHT$(e$,LEN(s$)-s2%)
43970      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
43978    WHEN "R"
43986      f$+="Password Control      "
43994      s1%=INSTR(e$,";")
44002      f$+=FNspc(MID$(e$,26,s1%-26),5)
44010      f$+=RIGHT$(e$,LEN(e$)-s1%)
44018      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
44026    WHEN "S"
44034      f$+="Fine Presets          "
44042      s1%=INSTR(e$,";")
44050      f$+=FNspc(MID$(e$,26,s1%-26),5)
44058      f$+=RIGHT$(e$,LEN(e$)-s1%)
44066      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
44074    WHEN "T"
44082      f$+="Lending Presets       "
44090      s1%=INSTR(e$,";")
44098      f$+=FNspc(MID$(e$,26,s1%-26),5)
44106      f$+=RIGHT$(e$,LEN(e$)-s1%)
44114      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
44122    WHEN "U"
44130      f$+="Watchdog Activated    "
44138      s1%=INSTR(e$,";")
44146      f$+=FNspc(MID$(e$,26,s1%-26),5)
44154      f$+=RIGHT$(e$,LEN(e$)-s1%)
44162      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
44170    WHEN "V"
44178      f$+="Watchdog Deactivated  "
44186      s1%=INSTR(e$,";")
44194      f$+=FNspc(MID$(e$,26,s1%-26),5)
44202      f$+=RIGHT$(e$,LEN(e$)-s1%)
44210      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
44218    WHEN "W"
44226      f$+="Watchdog Flushed      "
44234      s1%=INSTR(e$,";")
44242      f$+=FNspc(MID$(e$,26,s1%-26),5)
44250      f$+=RIGHT$(e$,LEN(e$)-s1%)
44258      IF LEN(f$)>biggest% THEN biggest%=LEN(f$)
44266  ENDCASE
44274  winstack$(winp%)=f$:winp%+=-1*(winp%<10000)
44282UNTIL EOF#filo%
44290CLOSE#filo%
44298!q%=0
44306q%!4=winp%*-48+10
44314q%!8=biggest%*20
44322q%!12=0
44330SYS "Wimp_SetExtent",main_aux%,q%
44338!q%=main_aux%
44346SYS "Wimp_GetWindowInfo",,q%
44354_p%=!(q%+76)
44362$_p%="Watchdog Entries"
44370!q%=main_aux%
44378SYS "Wimp_GetWindowState",,q%
44386q%!28=-1
44394using_rd%=4
44402SYS "Wimp_OpenWindow",,q%
44410ENDPROC
44418
44426DEFFNMake_Code(s$)
44434s$=FNUpper(s$)
44442l%=LEN(s$)
44450IF l%=0 THEN =0
44458acc=0
44466IF l%>=20 THEN
44474  FOR c%=1 TO 20
44482  asc%=ASC(MID$(s$,c%,1))
44490  IF asc%>=65 AND asc%<=97 THEN
44498    asc%-=55
44506  ELSE
44514    IF asc%>=48 AND asc%<=57 THEN
44522      asc%-=48
44530    ELSE
44538      asc%=0
44546    ENDIF
44554  ENDIF
44562  acc+=36^(20-c%)*asc%
44570  NEXT c%
44578ELSE
44586  FOR c%=1 TO LEN(s$)
44594  asc%=ASC(MID$(s$,c%,1))
44602  IF asc%>=65 AND asc%<=97 THEN
44610    asc%-=55
44618  ELSE
44626    IF asc%>=48 AND asc%<=57 THEN
44634      asc%-=48
44642    ELSE
44650      asc%=0
44658    ENDIF
44666  ENDIF
44674  acc+=26^(27-c%)*asc%
44682  NEXT c%
44690ENDIF
44698=acc
44706
44714DEFFNcheck_keyword(word$,title$)
44722found_flag%=FALSE
44730posn%=1
44738sp%=INSTR(title$," ",posn%)
44746WHILE sp%
44754  ns%=INSTR(title$," ",posn%+1)
44762  IF ns% THEN
44770    IF word$=MID$(title$,sp%+1,ns%-sp%-1) THEN found_flag%=TRUE
44778  ELSE
44786    IF word$=RIGHT$(title$,LEN(title$)-sp%) THEN found_flag%=TRUE
44794  ENDIF
44802  sp%=ns%
44810  posn%=ns%
44818ENDWHILE
44826=found_flag%
44834
44842DEFPROCnew_states
44850t$=MID$(TIME$,12,4)
44858IF VAL(t$)>=1995 THEN
44866  PROCaddtomenu(8,"Norway",-1,"")
44874  PROCaddtomenu(8,"Sweden",-1,"")
44882  PROCaddtomenu(8,"Finland",-1,"")
44890  PROCaddtomenu(8,"Austria",-1,"")
44898ENDIF
44906ENDPROC
44914
44922DEFPROCbook_request
44930PROCcheck_book_dirs
44938!wimp%=256
44946wimp%!12=q%!8
44954wimp%!16=&47D21
44962wimp%?20=q%!24
44970wimp%?21=0
44978gno$=STR$(q%!20)
44986gno%=VAL(gno$)
44994dir%=VAL(LEFT$(gno$,1))
45002IF book_dir_def%(dir%)=FALSE OR ((bookdef%?(gno% DIV 8) AND (1<<(gno% MOD 8)))>>>(gno% MOD 8))=0 THEN
45010  wimp%?21=1
45018  SYS "Wimp_SendMessage",17,wimp%,q%!4
45026ELSE
45034  PROCopen_book_cache(gno$)
45042  pick%=VAL(RIGHT$(gno$,2))
45050  field$=var$(pick%,q%!24)
45058  IF LEN(field$)>231 THEN field$=LEFT$(field$,231):wimp%?21=3
45066  $(wimp%+24)=field$+CHR$(0)
45074  SYS "Wimp_SendMessage",17,wimp%,q%!4
45082ENDIF
45090ENDPROC
45098
45106DEFPROCoverdue_notices
45114PROCcheck_book_dirs
45122PROCcheck_mem_dirs
45130odt$()="":odt_flag%=FALSE
45138pac%=0
45146IF FNIconGet(overdue_pr%,17) THEN
45154  filo%=OPENIN("<Library$Dir>.Text.Overdue")
45162  IF filo%=0 THEN
45170    CLOSE#filo%
45178    PROCdis_message("There is no text currently stored")
45186  ELSE
45194    ct%=0
45202    bf%=FALSE
45210    REPEAT
45218      IF ct%>30 THEN
45226        PROCdis_message("The text file is too long and has been truncated.")
45234        bf%=TRUE
45242      ELSE
45250        odt$(ct%)=GET$#filo%:ct%+=1
45258      ENDIF
45266    UNTIL EOF#filo% OR bf%
45274    CLOSE#filo%
45282    odt_flag%=ct%-1
45290  ENDIF
45298ENDIF
45306IF FNIconGet(overdue_pr%,7) THEN
45314  gno$=FNgettext(overdue_pr%,13)
45322  IF NOT FNvalidate_digits(gno$) THEN
45330    PROCdis_message("Invalid accession number"):ENDPROC
45338  ENDIF
45346  gno%=VAL(LEFT$(gno$))
45354  IF book_dir_def%(gno% DIV 10000)=FALSE THEN
45362    PROCdis_message("The book directory for that number has not been seen by the filer.")
45370    ENDPROC
45378  ENDIF
45386  IF ((bookdef%?(gno% DIV 8) AND (1<<(gno% MOD 8)))>>>(gno% MOD 8))=0 THEN
45394    PROCdis_message("Book not defined"):ENDPROC
45402  ENDIF
45410  PROCopen_book_cache(gno$)
45418  pick%=gno% MOD 100
45426  rd$=LEFT$(var$(pick%,4),6)
45434  rd$=RIGHT$(rd$,2)+MID$(rd$,3,2)+LEFT$(rd$,2)
45442  rel$=TIME$
45450  day_n$=LEFT$(rel$,3)
45458  day$=MID$(rel$,5,2)
45466  mon$=MID$(rel$,8,3)
45474  yr$=MID$(rel$,14,2)
45482  CASE mon$ OF
45490    WHEN "Jan": m$="01"
45498    WHEN "Feb": m$="02"
45506    WHEN "Mar": m$="03"
45514    WHEN "Apr": m$="04"
45522    WHEN "May": m$="05"
45530    WHEN "Jun": m$="06"
45538    WHEN "Jul": m$="07"
45546    WHEN "Aug": m$="08"
45554    WHEN "Sep": m$="09"
45562    WHEN "Oct": m$="10"
45570    WHEN "Nov": m$="11"
45578    WHEN "Dec": m$="12"
45586  ENDCASE
45594  rel$=yr$+m$+day$
45602  IF (VAL(rel$)<=VAL(rd$)) OR var$(pick%,4)="IN LIBRARY" THEN
45610    PROCdis_message("This book is not overdue"):ENDPROC
45618  ELSE
45626    font_flag%=FALSE
45634    f$=FNgettext(overdue_pr%,3)
45642    IF FNUpper(f$)<>"SYSTEM FONT" THEN
45650      font_flag%=TRUE
45658      size%=12
45666      size%=size%*1000
45674      SYS "Font_FindFont",,f$,size%/62.5,size%/62.5 TO fhdl%
45682      SYS "Hourglass_On"
45690      pf%=OPENOUT("printer:")
45698      IF pf%=0 THEN CLOSE#pf%:PROCdis_message("Printer not available")
45706      IF pf%=0 THEN printflag%=FALSE:ENDPROC
45714      SYS "PDriver_SelectJob",pf%,"Overdue"
45722      SYS "PDriver_Info" TO ,,,ff%
45730      IF ((ff% AND (1<<29))>>>29)=1 THEN
45738        SYS "PDriver_DeclareFont",fhdl%,f$,0
45746        SYS "PDriver_DeclareFont",0,0,0
45754      ENDIF
45762      LOCAL ERROR
45770      ON ERROR LOCAL:RESTORE ERROR:SYS "PDriver_AbortJob",pf%:CLOSE#pf%:printflag%=FALSE:PROCdis_message(REPORT$):ENDPROC
45778      SYS "PDriver_PageSize" TO ,,,left%,bottom%,right%,top%
45786      left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
45794      no_lines%=((top%-bottom%)*400) DIV size%
45802      columns%=(((right%-left%)*400) DIV size%)*1.5
45810      rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
45818      trans%!0=1<<16:trans%!4=0<<16
45826      trans%!8=0<<16:trans%!12=1<<16
45834      plotat%!0=left%*400:plotat%!4=bottom%*400-3600
45842      ef%=FNprint_record(pick%)
45850      IF ef% THEN
45858        RESTORE ERROR
45866        SYS "PDriver_AbortJob",pf%
45874        CLOSE#pf%
45882        printflag%=FALSE
45890        ENDPROC
45898      ENDIF
45906      FOR c%=0 TO end%
45914      pa$(c%)=line$(c%)+CHR$(13)+CHR$(10):pan%(c%)=lin%(c%)
45922      NEXT c%:pac%=c%
45930      SYS "PDriver_GiveRectangle",0,rect%,trans%,plotat%,&FFFFFF00
45938      SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
45946      SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
45954      SYS "Font_SetFont",fhdl%
45962      WHILE more2%
45970        PROCrewrite(left%,top%)
45978        SYS "PDriver_GetRectangle",,rectin% TO more2%
45986      ENDWHILE
45994      SYS "PDriver_EndJob",pf%
46002      SYS "Hourglass_Off"
46010      CLOSE#pf%
46018      printflag%=FALSE
46026      SYS "Font_LoseFont",fhdl%
46034    ELSE
46042      columns%=80:no_lines%=VAL(FNgettext(overdue_pr%,22))
46050      IF no_lines%=0 THEN no_lines%=1
46058      ef%=FNprint_record(pick%)
46066      IF ef% THEN SYS "Hourglass_Off":printflag%=FALSE:ENDPROC
46074      VDU 2
46082      FOR c%=0 TO end%
46090      PRINT line$(c%)
46098      NEXT c%
46106      VDU 3
46114      printflag%=FALSE
46122    ENDIF
46130  ENDIF
46138ELSE
46146  pac%=0:more_flag%=FALSE:page%=0
46154  days%=0
46162  IF FNIconGet(overdue_pr%,6) THEN days%=VAL(FNgettext(overdue_pr%,10))
46170  font_flag%=FALSE
46178  f$=FNgettext(overdue_pr%,3)
46186  IF FNUpper(f$)<>"SYSTEM FONT" THEN
46194    font_flag%=TRUE
46202    size%=12
46210    size%=size%*1000
46218    SYS "Font_FindFont",,f$,size%/62.5,size%/62.5 TO fhdl%
46226    SYS "Hourglass_On"
46234    pf%=OPENOUT("printer:")
46242    IF pf%=0 THEN CLOSE#pf%:PROCdis_message("Printer not available")
46250    IF pf%=0 THEN printflag%=FALSE:ENDPROC
46258    SYS "PDriver_SelectJob",pf%,"Overdue"
46266    SYS "PDriver_Info" TO ,,,ff%
46274    IF ((ff% AND (1<<29))>>>29)=1 THEN
46282      SYS "PDriver_DeclareFont",fhdl%,f$,0
46290      SYS "PDriver_DeclareFont",0,0,0
46298    ENDIF
46306    LOCAL ERROR
46314    ON ERROR LOCAL:RESTORE ERROR:SYS "PDriver_AbortJob",pf%:CLOSE#pf%:printflag%=FALSE:PROCdis_message(REPORT$):ENDPROC
46322    SYS "PDriver_PageSize" TO ,,,left%,bottom%,right%,top%
46330    left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
46338    no_lines%=((top%-bottom%)*400) DIV size%
46346    columns%=(((right%-left%)*400) DIV size%)*1.5
46354    rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
46362    trans%!0=1<<16:trans%!4=0<<16
46370    trans%!8=0<<16:trans%!12=1<<16
46378    plotat%!0=left%*400:plotat%!4=bottom%*400-3600
46386    FOR gd%=0 TO 9
46394    IF book_dir_def%(gd%) THEN
46402      FOR gn%=0 TO 9999
46410      gno%=gd%*10000+gn%
46418      IF ((bookdef%?(gno% DIV 8) AND (1<<(gno% MOD 8)))>>>(gno% MOD 8))=1 THEN
46426        IF cache%<>(gno% DIV 100) THEN PROCopen_book_cache(FNzero(STR$(gno%),5))
46434        pick%=gno% MOD 100
46442        IF var$(pick%,4)<>"IN LIBRARY" THEN
46450          date$=LEFT$(var$(pick%,4),6)
46458          day_due$=LEFT$(date$,2)
46466          mon_due$=MID$(date$,3,2)
46474          yr_due$=RIGHT$(date$,2)
46482          dat$=TIME$
46490          day_now$=MID$(dat$,5,2)
46498          mon$=MID$(dat$,8,3)
46506          CASE mon$ OF
46514            WHEN "Jan": mon_now$="01"
46522            WHEN "Feb": mon_now$="02"
46530            WHEN "Mar": mon_now$="03"
46538            WHEN "Apr": mon_now$="04"
46546            WHEN "May": mon_now$="05"
46554            WHEN "Jun": mon_now$="06"
46562            WHEN "Jul": mon_now$="07"
46570            WHEN "Aug": mon_now$="08"
46578            WHEN "Sep": mon_now$="09"
46586            WHEN "Oct": mon_now$="10"
46594            WHEN "Nov": mon_now$="11"
46602            WHEN "Dec": mon_now$="12"
46610          ENDCASE
46618          yr_now$=MID$(dat$,14,2)
46626          date1$=RIGHT$(date$,2)+MID$(date$,3,2)+LEFT$(date$,2)
46634          date2$=yr_now$+mon_now$+day_now$
46642          IF VAL(date1$)>=VAL(date2$) THEN
46650            cb%=FNconvert_date_relative(yr_now$,mon_now$,day_now$,yr_now$)
46658            db%=FNconvert_date_relative(yr_due$,mon_due$,day_due$,yr_now$)
46666            IF (cb%-db%)>=days% THEN
46674              ef%=FNprint_record(pick%)
46682              IF ef% TNEN
46690                RESTORE ERROR
46698                SYS "PDriver_AbortJob",pf%
46706                CLOSE#pf%
46714                printflag%=FALSE
46722                ENDPROC
46730              ENDIF
46738              IF pac%+end%+1>no_lines% THEN
46746                IF pac%=0 THEN
46754                  RESTORE ERROR
46762                  PROCdis_message("Paper too small to fit")
46770                  SYS "PDriver_AbortJob",pf%
46778                  CLOSE#pf%
46786                  printflag%=FALSE
46794                  SYS "Hourglass_Off"
46802                  ENDPROC
46810                ELSE
46818                  SYS "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
46826                  SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
46834                  SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
46842                  SYS "Font_SetFont",fhdl%
46850                  WHILE more2%
46858                    PROCrewrite(left%,top%)
46866                    SYS "PDriver_GetRectangle",,rectin% TO more2%
46874                  ENDWHILE
46882                  page%+=1
46890                  FOR c%=0 TO end%
46898                  pa$(c%)=line$(c%):pan%(c%)=lin%(c%)
46906                  NEXT c%
46914                  pac%=c%
46922                ENDIF
46930              ELSE
46938                FOR c%=0 TO end%
46946                pa$(pac%+c%)=line$(c%):pan%(pac%+c%)=lin%(c%)
46954                NEXT c%
46962                pac%+=c%
46970              ENDIF
46978            ENDIF
46986          ELSE
46994            cb%=FNconvert_date_relative(yr_now$,mon_now$,day_now$,yr_due$)
47002            db%=FNconvert_date_relative(yr_due$,mon_due$,day_due$,yr_due$)
47010            IF (cb%-db%)>=days% THEN
47018              ef%=FNprint_record(pick%)
47026              IF ef% TNEN
47034                RESTORE ERROR
47042                SYS "PDriver_AbortJob",pf%
47050                CLOSE#pf%
47058                printflag%=FALSE
47066                ENDPROC
47074              ENDIF
47082              IF pac%+end%+1>no_lines% THEN
47090                IF pac%=0 THEN
47098                  RESTORE ERROR
47106                  PROCdis_message("Paper too small to fit")
47114                  SYS "PDriver_AbortJob",pf%
47122                  CLOSE#pf%
47130                  printflag%=FALSE
47138                  SYS "Hourglass_Off"
47146                  ENDPROC
47154                ELSE
47162                  SYS "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
47170                  SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
47178                  SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
47186                  SYS "Font_SetFont",fhdl%
47194                  WHILE more2%
47202                    PROCrewrite(left%,top%)
47210                    SYS "PDriver_GetRectangle",,rectin% TO more2%
47218                  ENDWHILE
47226                  page%+=1
47234                  FOR c%=0 TO end%
47242                  pa$(c%)=line$(c%):pan%(c%)=lin%(c%)
47250                  NEXT c%
47258                  pac%=c%
47266                ENDIF
47274              ELSE
47282                FOR c%=0 TO end%
47290                pa$(pac%+c%)=line$(c%):pan%(pac%+c%)=lin%(c%)
47298                NEXT c%
47306                pac%+=c%
47314              ENDIF
47322            ENDIF
47330          ENDIF
47338        ENDIF
47346      ENDIF
47354      NEXT gn%
47362    ENDIF
47370    NEXT gd%
47378    IF pac%>0 THEN
47386      SYS "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
47394      SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
47402      SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
47410      SYS "Font_SetFont",fhdl%
47418      WHILE more2%
47426        PROCrewrite(left%,top%)
47434        SYS "PDriver_GetRectangle",,rectin% TO more2%
47442      ENDWHILE
47450    ENDIF
47458    printflag%=FALSE
47466    SYS "PDriver_EndJob",pf%
47474    SYS "Hourglass_Off"
47482    CLOSE#pf%
47490    RESTORE ERROR
47498  ELSE
47506    columns%=80:no_lines%=VAL(FNgettext(overdue_pr%,22))
47514    IF no_lines%=0 THEN no_lines%=1
47522    pac%=0
47530    FOR gd%=0 TO 9
47538    IF book_dir_def%(gd%) THEN
47546      FOR gn%=0 TO 9999
47554      gno%=gd%*10000+gn%
47562      IF ((bookdef%?(gno% DIV 8) AND (1<<(gno% MOD 8)))>>>(gno% MOD 8))=1 THEN
47570        IF cache%<>(gno% DIV 100) THEN PROCopen_book_cache(FNzero(STR$(gno%),5))
47578        pick%=gno% MOD 100
47586        IF var$(pick%,4)<>"IN LIBRARY" THEN
47594          date$=LEFT$(var$(pick%,4),6)
47602          day_due$=LEFT$(date$,2)
47610          mon_due$=MID$(date$,3,2)
47618          yr_due$=RIGHT$(date$,2)
47626          dat$=TIME$
47634          day_now$=MID$(dat$,5,2)
47642          mon$=MID$(dat$,8,3)
47650          CASE mon$ OF
47658            WHEN "Jan": mon_now$="01"
47666            WHEN "Feb": mon_now$="02"
47674            WHEN "Mar": mon_now$="03"
47682            WHEN "Apr": mon_now$="04"
47690            WHEN "May": mon_now$="05"
47698            WHEN "Jun": mon_now$="06"
47706            WHEN "Jul": mon_now$="07"
47714            WHEN "Aug": mon_now$="08"
47722            WHEN "Sep": mon_now$="09"
47730            WHEN "Oct": mon_now$="10"
47738            WHEN "Nov": mon_now$="11"
47746            WHEN "Dec": mon_now$="12"
47754          ENDCASE
47762          yr_now$=MID$(dat$,14,2)
47770          date1$=RIGHT$(date$,2)+MID$(date$,3,2)+LEFT$(date$,2)
47778          date2$=yr_now$+mon_now$+day_now$
47786          IF VAL(date1$)>=VAL(date2$) THEN
47794            cb%=FNconvert_date_relative(yr_now$,mon_now$,day_now$,yr_now$)
47802            db%=FNconvert_date_relative(yr_due$,mon_due$,day_due$,yr_now$)
47810            IF (cb%-db%)>=days% THEN
47818              ef%=FNprint_record(pick%)
47826              IF ef% THEN printflag%=FALSE:ENDPROC
47834              IF pac%+end%+1>no_lines% THEN
47842                VDU 2
47850                FOR c%=pac%+1 TO no_lines%
47858                PRINT
47866                NEXT c%
47874                FOR c%=0 TO end%
47882                PRINT line$(c%)
47890                NEXT c%
47898                VDU 3
47906                pac%=c%
47914              ELSE
47922                VDU 2
47930                FOR c%=0 TO end%
47938                PRINT line$(c%)
47946                NEXT c%
47954                VDU 3
47962                pac%+=c%
47970              ENDIF
47978            ENDIF
47986          ELSE
47994            cb%=FNconvert_date_relative(yr_now$,mon_now$,day_now$,yr_due$)
48002            db%=FNconvert_date_relative(yr_due$,mon_due$,day_due$,yr_due$)
48010            IF (cb%-db%)>=days% THEN
48018              ef%=FNprint_record(pick%)
48026              IF ef% THEN SYS "Hourglass_Off":printflag%=FALSE:ENDPROC
48034              IF pac%+end%+1>no_lines% THEN
48042                VDU 2
48050                FOR c%=pac%+1 TO no_lines%
48058                PRINT
48066                NEXT c%
48074                FOR c%=0 TO end%
48082                PRINT line$(c%)
48090                NEXT c%
48098                VDU 3
48106                pac%=c%
48114              ELSE
48122                VDU 2
48130                FOR c%=0 TO end%
48138                PRINT line$(c%)
48146                NEXT c%
48154                VDU 3
48162                pac%+=c%
48170              ENDIF
48178            ENDIF
48186          ENDIF
48194        ENDIF
48202      ENDIF
48210      NEXT gn%
48218    ENDIF
48226    NEXT gd%
48234    printflag%=FALSE
48242    SYS "Hourglass_Off"
48250  ENDIF
48258ENDIF
48266ENDPROC
48274
48282DEFFNform_initials(ini$)
48290s%=INSTR(ini$," ")
48298CASE s% OF
48306  WHEN 0: =LEFT$(ini$,1)+". "
48314  OTHERWISE =LEFT$(ini$,1)+". "+FNform_initials(MID$(ini$,s%+1))
48322ENDCASE
48330
48338DEFFNget_address(al%)
48346IF ad_empt%=-1 THEN
48354  IF al%<>6 THEN
48362    =address$(al%)
48370  ELSE
48378    =state$
48386  ENDIF
48394ELSE
48402  IF al%>=ad_empt% THEN
48410    IF al%=6 THEN
48418      =state$
48426    ELSE
48434      =""
48442    ENDIF
48450  ELSE
48458    IF al%=6 THEN
48466      =state$
48474    ELSE
48482      =address$(al%)
48490    ENDIF
48498  ENDIF
48506ENDIF
48514
48522DEFFNprint_record(pick%)
48530gno$=FNCheck_Digit_Plus(FNzero(STR$(gno%),6))
48538mem$=MID$(var$(pick%,4),7)
48546mem$=LEFT$(mem$,8)
48554d%=VAL(LEFT$(mem$,2))
48562IF mem_dir_def%(d%)=FALSE THEN
48570  PROCdis_message("The member directory for member "+FNCheck_Digit_Plus(mem$)+" has not been seen by the filer.")
48578  =TRUE
48586ENDIF
48594l%=VAL(MID$(mem$,3,2))
48602s%=VAL(MID$(mem$,5,1))
48610n%=VAL(MID$(mem$,6,3))
48618try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
48626filo%=OPENIN(try$)
48634IF filo%=0 THEN CLOSE#filo%:=TRUE
48642INPUT#filo%,temp%
48650IF n%>1 THEN
48658  FOR c%=1 TO n%-1
48666  FOR e%=1 TO 11
48674  INPUT#filo%,temp$
48682  NEXT e%
48690  null%=BGET#filo%
48698  tebn%=BGET#filo%
48706  IF tebn%>0 THEN
48714    FOR e%=1 TO tebn%
48722    INPUT#filo%,temp$
48730    NEXT e%
48738  ENDIF
48746  NEXT c%
48754ENDIF
48762INPUT#filo%,memno$
48770INPUT#filo%,title$
48778INPUT#filo%,surn$
48786INPUT#filo%,on$
48794ad_empt%=-1
48802line$()=""
48810FOR c%=0 TO 5
48818INPUT#filo%,address$(c%)
48826IF address$(c%)="" AND ad_empt%=-1 THEN ad_empt%=c%
48834NEXT c%
48842INPUT#filo%,state$
48850tt%=BGET#filo%
48858CLOSE#filo%
48866line$(0)=STRING$(columns%,"="):lin%(0)=0
48874line$="This book was due back on "+LEFT$(var$(pick%,4),2)+"-"
48882line$+=MID$(var$(pick%,4),3,2)+"-"+MID$(var$(pick%,4),5,2)
48890line$(1)=line$:lin%(1)=0
48898IF LEN(line$(1))>columns% THEN line$(1)=RIGHT$(line$(1),columns%)
48906line$(2)="":lin%(2)=0
48914ll$=title$+" "+FNform_initials(on$)+surn$
48922lr$=var$(pick%,0)
48930lw%=(columns% DIV 2)-1
48938rw%=columns% DIV 2
48946IF LEN(ll$)>lw% THEN ll$=LEFT$(ll$,lw%)
48954IF LEN(lr$)>rw% THEN lr$=LEFT$(lr$,rw%)
48962line$=FNspc(ll$,rw%)+lr$
48970line$(3)=line$:lin%(3)=1
48978ll$=FNget_address(0)
48986lr$=var$(pick%,1)
48994IF LEN(ll$)>lw% THEN ll$=LEFT$(ll$,lw%)
49002IF LEN(lr$)>rw% THEN lr$=LEFT$(lr$,rw%)
49010line$=FNspc(ll$,rw%)+lr$
49018line$(4)=line$:lin%(4)=1
49026ll$=FNget_address(1)
49034lr$=var$(pick%,2)
49042IF LEN(ll$)>lw% THEN ll$=LEFT$(ll$,lw%)
49050IF LEN(lr$)>rw% THEN lr$=LEFT$(lr$,rw%)
49058line$=FNspc(ll$,rw%)+lr$
49066line$(5)=line$:lin%(5)=1
49074ll$=FNget_address(2)
49082IF ll$="" THEN
49090  ll$=state$
49098  line$(6)=ll$:lin%(6)=0
49106  line$(7)="":lin%(7)=0
49114  ll$=FNCheck_Digit_Plus(mem$)
49122  lr$=gno$
49130  line$=FNspc(ll$,rw%)+lr$
49138  line$(8)=line$:lin%(8)=1
49146ELSE
49154  line$(6)=ll$:lin%(6)=0
49162  ll$=FNget_address(3)
49170  IF ll$="" THEN
49178    ll$=state$
49186    line$(7)=ll$:lin%(7)=0
49194    line$(8)="":lin%(8)=0
49202    ll$=FNCheck_Digit_Plus(mem$)
49210    lr$=gno$
49218    line$=FNspc(ll$,rw%)+lr$
49226    line$(9)=line$:lin%(9)=1
49234  ELSE
49242    line$(7)=ll$:lin%(7)=0
49250    ll$=FNget_address(4)
49258    IF ll$="" THEN
49266      ll$=state$
49274      line$(8)=ll$:lin%(8)=0
49282      line$(9)="":lin%(9)=0
49290      ll$=FNCheck_Digit_Plus(mem$)
49298      lr$=gno$
49306      line$=FNspc(ll$,rw%)+lr$
49314      line$(10)=line$:lin%(10)=1
49322    ELSE
49330      line$(8)=ll$:lin%(8)=0
49338      ll$=FNget_address(5)
49346      IF ll$="" THEN
49354        ll$=state$
49362        line$(9)=ll$:lin%(9)=0
49370        line$(10)="":lin%(10)=0
49378        ll$=FNCheck_Digit_Plus(mem$)
49386        lr$=gno$
49394        line$=FNspc(ll$,rw%)+lr$
49402        line$(11)=line$:lin%(11)=1
49410      ELSE
49418        line$(9)=ll$:lin%(9)=0
49426        line$(10)=state$:lin%(10)=0
49434        line$(11)="":lin%(11)=0
49442        ll$=FNCheck_Digit_Plus(mem$)
49450        lr$=gno$
49458        line$=FNspc(ll$,rw%)+lr$
49466        line$(12)=line$:lin%(12)=1
49474      ENDIF
49482    ENDIF
49490  ENDIF
49498ENDIF
49506end%=12
49514WHILE line$(end%)=""
49522  end%-=1
49530ENDWHILE
49538IF odt_flag%>0 THEN
49546  FOR c%=end%+1 TO end%+1+odt_flag%
49554  line$(c%)=odt$(c%-end%-1)
49562  NEXT c%
49570  end%=c%-1
49578ENDIF
49586=FALSE
49594
49602DEFPROCrewrite(px%,py%)
49610SYS "Font_SetFont",fhdl%
49618SYS "Wimp_SetFontColours",,0,7
49626SYS "Font_Converttopoints",,px%,py% TO ,pxp%,pyp%
49634FOR i%=0 TO pac%-1
49642IF pan%(i%)=1 THEN
49650  ls$=LEFT$(pa$(i%),(columns% DIV 2))
49658  rs$=MID$(pa$(i%),(columns% DIV 2)+1)
49666  SYS "Font_Paint",,ls$,0,pxp%,(pyp%-size%*(i%+1))
49674  SYS "Font_Paint",,rs$,0,pxp%+size%*(columns%/3),(pyp%-size%*(i%+1))
49682ELSE
49690  SYS "Font_Paint",,pa$(i%),0,pxp%,(pyp%-size%*(i%+1))
49698ENDIF
49706NEXT i%
49714ENDPROC
49722
49730DEFPROCprinter
49738CASE current_print% OF
49746  WHEN 1: PROCoverdue_notices
49754  WHEN 2: PROCprint_vs
49762  WHEN 3: PROCprint_vm
49770  WHEN 4: PROCprint_imports
49778  WHEN 5: PROCprint_all
49786ENDCASE
49794ENDPROC
49802
49810DEFPROCprint_vs
49818pan%()=0
49826pa$(0)="Print requested from view stock window."
49834pa$(1)=""
49842pa$(2)="Accession number: "+FNgettext(view_stock%,13)
49850pa$(3)=""
49858pa$(4)=FNgettext(view_stock%,2)
49866pa$(5)=FNgettext(view_stock%,4)
49874pa$(6)=FNgettext(view_stock%,6)
49882pa$(7)=FNgettext(view_stock%,9)
49890pa$(8)=FNgettext(view_stock%,12)
49898pa$(9)=""
49906pac%=10
49914font_flag%=FALSE
49922f$=FNgettext(print%,3)
49930IF FNUpper(f$)<>"SYSTEM FONT" THEN
49938  font_flag%=TRUE
49946  size%=12
49954  size%=size%*1000
49962  SYS "Font_FindFont",,f$,size%/62.5,size%/62.5 TO fhdl%
49970  SYS "Hourglass_On"
49978  pf%=OPENOUT("printer:")
49986  IF pf%=0 THEN CLOSE#pf%:PROCdis_message("Printer not available")
49994  IF pf%=0 THEN printflag%=FALSE:ENDPROC
50002  SYS "PDriver_SelectJob",pf%,"LibVS"
50010  SYS "PDriver_Info" TO ,,,ff%
50018  IF ((ff% AND (1<<29))>>>29)=1 THEN
50026    SYS "PDriver_DeclareFont",fhdl%,f$,0
50034    SYS "PDriver_DeclareFont",0,0,0
50042  ENDIF
50050  LOCAL ERROR
50058  ON ERROR LOCAL:RESTORE ERROR:SYS "PDriver_AbortJob",pf%:CLOSE#pf%:printflag%=FALSE:PROCdis_message(REPORT$):ENDPROC
50066  SYS "PDriver_PageSize" TO ,,,left%,bottom%,right%,top%
50074  left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
50082  no_lines%=((top%-bottom%)*400) DIV size%
50090  columns%=(((right%-left%)*400) DIV size%)*1.5
50098  rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
50106  trans%!0=1<<16:trans%!4=0<<16
50114  trans%!8=0<<16:trans%!12=1<<16
50122  plotat%!0=left%*400:plotat%!4=bottom%*400-3600
50130  IF pac%>no_lines% THEN
50138    RESTORE ERROR
50146    PROCdis_message("Paper too small to fit")
50154    SYS "PDriver_AbortJob",pf%
50162    CLOSE#pf%
50170    printflag%=FALSE
50178    SYS "Hourglass_Off"
50186    ENDPROC
50194  ELSE
50202    FOR c%=0 TO pac%-1
50210    IF LEN(pa$(c%))>columns% THEN pa$(c%)=LEFT$(pa$(c%),columns%)
50218    NEXT c%
50226    SYS "PDriver_GiveRectangle",0,rect%,trans%,plotat%,&FFFFFF00
50234    SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
50242    SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
50250    SYS "Font_SetFont",fhdl%
50258    WHILE more2%
50266      PROCrewrite(left%,top%)
50274      SYS "PDriver_GetRectangle",,rectin% TO more2%
50282    ENDWHILE
50290  ENDIF
50298  SYS "PDriver_EndJob",pf%
50306  CLOSE#pf%
50314  printflag%=FALSE
50322  SYS "Hourglass_Off"
50330ELSE
50338  columns%=80:no_lines%=67
50346  VDU 2
50354  FOR c%=0 TO pac%-1
50362  IF LEN(pa$(c%))>columns% THEN pa$(c%)=LEFT$(pa$(c%),columns%)
50370  PRINT pa$(c%)
50378  NEXT c%
50386  VDU 3
50394  printflag%=FALSE
50402  SYS "Hourglass_Off"
50410ENDIF
50418ENDPROC
50426
50434DEFPROCprint_vm
50442pan%()=0
50450pa$(0)="Print requested from view member window."
50458pa$(1)=""
50466pa$(2)="Membership number: "+FNgettext(viewmem%,27)
50474pa$(3)=""
50482pa$(4)=FNgettext(viewmem%,5)+" "
50490pa$(4)+=FNgettext(viewmem%,7)+" "
50498pa$(4)+=FNgettext(viewmem%,6)
50506pac%=5
50514pa$(pac%)=FNgettext(viewmem%,8):IF pa$(pac%)<>"" THEN pac%+=1
50522pa$(pac%)=FNgettext(viewmem%,9):IF pa$(pac%)<>"" THEN pac%+=1
50530pa$(pac%)=FNgettext(viewmem%,10):IF pa$(pac%)<>"" THEN pac%+=1
50538pa$(pac%)=FNgettext(viewmem%,11):IF pa$(pac%)<>"" THEN pac%+=1
50546pa$(pac%)=FNgettext(viewmem%,12):IF pa$(pac%)<>"" THEN pac%+=1
50554pa$(pac%)=FNgettext(viewmem%,13):IF pa$(pac%)<>"" THEN pac%+=1
50562pa$(pac%)=FNgettext(viewmem%,14):pac%+=1
50570pa$(pac%)="":pac%+=1
50578pa$(pac%)="Ticket Type: "+FNgettext(viewmem%,15):pac%+=1
50586pa$(pac%)="":pac%+=1
50594pa$(pac%)="Accession numbers of books in care:":pac%+=1
50602IF vbn%=0 THEN
50610  pa$(pac%)="    None":pac%+=1
50618ELSE
50626  FOR d%=1 TO vbn%
50634  pa$(pac%)="    "+FNCheck_Digit_Plus(vm_dt$(d%,0))
50642  pa$(pac%)+=" ("+vm_dt$(d%,4)+")":pac%+=1
50650  NEXT d%
50658ENDIF
50666pa$(pac%)="":pac%+=1
50674font_flag%=FALSE
50682f$=FNgettext(print%,3)
50690IF FNUpper(f$)<>"SYSTEM FONT" THEN
50698  font_flag%=TRUE
50706  size%=12
50714  size%=size%*1000
50722  SYS "Font_FindFont",,f$,size%/62.5,size%/62.5 TO fhdl%
50730  SYS "Hourglass_On"
50738  pf%=OPENOUT("printer:")
50746  IF pf%=0 THEN CLOSE#pf%:PROCdis_message("Printer not available")
50754  IF pf%=0 THEN printflag%=FALSE:ENDPROC
50762  SYS "PDriver_SelectJob",pf%,"LibVM"
50770  SYS "PDriver_Info" TO ,,,ff%
50778  IF ((ff% AND (1<<29))>>>29)=1 THEN
50786    SYS "PDriver_DeclareFont",fhdl%,f$,0
50794    SYS "PDriver_DeclareFont",0,0,0
50802  ENDIF
50810  LOCAL ERROR
50818  ON ERROR LOCAL:RESTORE ERROR:SYS "PDriver_AbortJob",pf%:CLOSE#pf%:printflag%=FALSE:PROCdis_message(REPORT$):ENDPROC
50826  SYS "PDriver_PageSize" TO ,,,left%,bottom%,right%,top%
50834  left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
50842  no_lines%=((top%-bottom%)*400) DIV size%
50850  columns%=(((right%-left%)*400) DIV size%)*1.5
50858  rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
50866  trans%!0=1<<16:trans%!4=0<<16
50874  trans%!8=0<<16:trans%!12=1<<16
50882  plotat%!0=left%*400:plotat%!4=bottom%*400-3600
50890  IF pac%>no_lines% THEN
50898    RESTORE ERROR
50906    PROCdis_message("Paper too small to fit")
50914    SYS "PDriver_AbortJob",pf%
50922    CLOSE#pf%
50930    printflag%=FALSE
50938    SYS "Hourglass_Off"
50946    ENDPROC
50954  ELSE
50962    FOR c%=0 TO pac%-1
50970    IF LEN(pa$(c%))>columns% THEN pa$(c%)=LEFT$(pa$(c%),columns%)
50978    NEXT c%
50986    SYS "PDriver_GiveRectangle",0,rect%,trans%,plotat%,&FFFFFF00
50994    SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
51002    SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
51010    SYS "Font_SetFont",fhdl%
51018    WHILE more2%
51026      PROCrewrite(left%,top%)
51034      SYS "PDriver_GetRectangle",,rectin% TO more2%
51042    ENDWHILE
51050  ENDIF
51058  SYS "PDriver_EndJob",pf%
51066  CLOSE#pf%
51074  printflag%=FALSE
51082  SYS "Hourglass_Off"
51090ELSE
51098  columns%=80:no_lines%=67
51106  VDU 2
51114  FOR c%=0 TO pac%-1
51122  IF LEN(pa$(c%))>columns% THEN pa$(c%)=LEFT$(pa$(c%),columns%)
51130  PRINT pa$(c%)
51138  NEXT c%
51146  VDU 3
51154  printflag%=FALSE
51162  SYS "Hourglass_Off"
51170ENDIF
51178ENDPROC
51186
51194DEFPROCprint_imports
51202pan%()=0
51210pac%=0
51218font_flag%=FALSE
51226f$=FNgettext(print%,3)
51234IF FNUpper(f$)<>"SYSTEM FONT" THEN
51242  font_flag%=TRUE
51250  size%=12
51258  size%=size%*1000
51266  SYS "Font_FindFont",,f$,size%/62.5,size%/62.5 TO fhdl%
51274  SYS "Hourglass_On"
51282  pf%=OPENOUT("printer:")
51290  IF pf%=0 THEN CLOSE#pf%:PROCdis_message("Printer not available")
51298  IF pf%=0 THEN printflag%=FALSE:ENDPROC
51306  SYS "PDriver_SelectJob",pf%,"LibImp"
51314  SYS "PDriver_Info" TO ,,,ff%
51322  IF ((ff% AND (1<<29))>>>29)=1 THEN
51330    SYS "PDriver_DeclareFont",fhdl%,f$,0
51338    SYS "PDriver_DeclareFont",0,0,0
51346  ENDIF
51354  LOCAL ERROR
51362  ON ERROR LOCAL:RESTORE ERROR:SYS "PDriver_AbortJob",pf%:CLOSE#pf%:printflag%=FALSE:PROCdis_message(REPORT$):ENDPROC
51370  SYS "PDriver_PageSize" TO ,,,left%,bottom%,right%,top%
51378  left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
51386  no_lines%=((top%-bottom%)*400) DIV size%
51394  columns%=(((right%-left%)*400) DIV size%)*1.5
51402  rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
51410  trans%!0=1<<16:trans%!4=0<<16
51418  trans%!8=0<<16:trans%!12=1<<16
51426  plotat%!0=left%*400:plotat%!4=bottom%*400-3600
51434  FOR c%=0 TO winp%-1 STEP (no_lines% DIV 6)
51442  pac%=0
51450  FOR d%=c% TO c%+((no_lines% DIV 6)-1)
51458  IF d%<=winp%-1 THEN
51466    pa$(pac%)=LEFT$(winstack$(d%),6):pac%+=1
51474    pa$(pac%)=MID$(winstack$(d%),11,50):pac%+=1
51482    pa$(pac%)=MID$(winstack$(d%),61,40):pac%+=1
51490    pa$(pac%)=MID$(winstack$(d%),101,15):pac%+=1
51498    pa$(pac%)=MID$(winstack$(d%),116,6):pac%+=1
51506    pa$(pac%)="":pac%+=1
51514  ENDIF
51522  NEXT d%
51530  FOR d%=0 TO pac%-1
51538  IF LEN(pa$(d%))>columns% THEN pa$(d%)=LEFT$(pa$(d%),columns%)
51546  NEXT d%
51554  SYS "PDriver_GiveRectangle",(c% DIV (no_lines% DIV 6)),rect%,trans%,plotat%,&FFFFFF00
51562  SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
51570  SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
51578  SYS "Font_SetFont",fhdl%
51586  WHILE more2%
51594    PROCrewrite(left%,top%)
51602    SYS "PDriver_GetRectangle",,rectin% TO more2%
51610  ENDWHILE
51618  NEXT c%
51626  SYS "PDriver_EndJob",pf%
51634  CLOSE#pf%
51642  printflag%=FALSE
51650  SYS "Hourglass_Off"
51658ELSE
51666  columns%=80:no_lines%=VAL(FNgettext(all_pr%,14))
51674  IF no_lines%=0 THEN no_lines%=1
51682  VDU 2
51690  FOR c%=0 TO winp%-1 STEP (no_lines% DIV 6)
51698  pac%=0
51706  FOR d%=c% TO c%+((no_lines% DIV 6)-1)
51714  IF d%<=winp%-1 THEN
51722    pa$(pac%)=LEFT$(winstack$(d%),6):pac%+=1
51730    pa$(pac%)=MID$(winstack$(d%),11,50):pac%+=1
51738    pa$(pac%)=MID$(winstack$(d%),61,40):pac%+=1
51746    pa$(pac%)=MID$(winstack$(d%),101,15):pac%+=1
51754    pa$(pac%)=MID$(winstack$(d%),116,6):pac%+=1
51762    pa$(pac%)="":pac%+=1
51770  ENDIF
51778  NEXT d%
51786  IF pac%<no_lines% THEN
51794    FOR e%=pac% TO no_lines%
51802    pa$(e%)=""
51810    NEXT e%
51818    pac%=e%
51826  ENDIF
51834  FOR e%=0 TO pac%-1
51842  IF LEN(pa$(e%))>columns% THEN pa$(e%)=LEFT$(pa$(e%),columns%)
51850  PRINT pa$(e%)
51858  NEXT e%
51866  NEXT c%
51874  VDU 3
51882  printflag%=FALSE
51890  SYS "Hourglass_Off"
51898ENDIF
51906ENDPROC
51914
51922DEFPROCprint_all
51930PROCcheck_book_dirs
51938PROCcheck_mem_dirs
51946pan%()=0
51954pa$()=""
51962half_flag%=FALSE
51970IF FNIconGet(all_pr%,9) THEN half_flag%=TRUE:pan%()=1
51978IF FNIconGet(all_pr%,5) THEN
51986  font_flag%=FALSE
51994  f$=FNgettext(all_pr%,3)
52002  IF FNUpper(f$)<>"SYSTEM FONT" THEN
52010    font_flag%=TRUE
52018    size%=12:IF half_flag% THEN size%=6
52026    size%=size%*1000
52034    SYS "Font_FindFont",,f$,size%/62.5,size%/62.5 TO fhdl%
52042    SYS "Hourglass_On"
52050    pf%=OPENOUT("printer:")
52058    IF pf%=0 THEN CLOSE#pf%:PROCdis_message("Printer not available")
52066    IF pf%=0 THEN printflag%=FALSE:ENDPROC
52074    SYS "PDriver_SelectJob",pf%,"AllBooks"
52082    SYS "PDriver_Info" TO ,,,ff%
52090    IF ((ff% AND (1<<29))>>>29)=1 THEN
52098      SYS "PDriver_DeclareFont",fhdl%,f$,0
52106      SYS "PDriver_DeclareFont",0,0,0
52114    ENDIF
52122    LOCAL ERROR
52130    ON ERROR LOCAL:RESTORE ERROR:SYS "PDriver_AbortJob",pf%:CLOSE#pf%:printflag%=FALSE:PROCdis_message(REPORT$):ENDPROC
52138    SYS "PDriver_PageSize" TO ,,,left%,bottom%,right%,top%
52146    left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
52154    no_lines%=((top%-bottom%)*400) DIV size%
52162    columns%=(((right%-left%)*400) DIV size%)*1.5
52170    rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
52178    trans%!0=1<<16:trans%!4=0<<16
52186    trans%!8=0<<16:trans%!12=1<<16
52194    plotat%!0=left%*400:plotat%!4=bottom%*400-3600
52202    using_sp%=0
52210    pac%=0
52218    page%=0
52226    FOR gd%=0 TO 9
52234    IF book_dir_def%(gd%) THEN
52242      FOR gn%=0 TO 9999
52250      gno%=gd%*10000+gn%
52258      IF ((bookdef%?(gno% DIV 8) AND (1<<(gno% MOD 8)))>>>(gno% MOD 8))=1 THEN
52266        IF cache%<>(gno% DIV 100) THEN PROCopen_book_cache(FNzero(STR$(gno%),5))
52274        pick%=gno% MOD 100
52282        ls%=(columns% DIV 2)-1
52290        rs%=columns% DIV 2
52298        IF using_sp%=0 THEN
52306          line$(0)=FNCheck_Digit_Plus(FNzero(STR$(gno%),5))
52314          IF half_flag% THEN line$(0)=FNspc(LEFT$(line$(0),ls%),ls%)
52322          line$(1)=var$(pick%,0)
52330          IF half_flag% THEN line$(1)=FNspc(LEFT$(line$(1),ls%),ls%)
52338          line$(2)=var$(pick%,1)
52346          IF half_flag% THEN line$(2)=FNspc(LEFT$(line$(2),ls%),ls%)
52354          line$(3)=var$(pick%,2)
52362          IF half_flag% THEN line$(3)=FNspc(LEFT$(line$(3),ls%),ls%)
52370          line$(4)=var$(pick%,3)
52378          IF half_flag% THEN line$(4)=FNspc(LEFT$(line$(4),ls%),ls%)
52386          ll$=var$(pick%,4)
52394          IF ll$<>"IN LIBRARY" THEN
52402            llt$="Due "+LEFT$(ll$,2)+"-"+MID$(ll$,3,2)+"-"+MID$(ll$,5,2)
52410            llt$+=" Member "+FNCheck_Digit_Plus(MID$(ll$,7,8))
52418            ll$=llt$
52426          ENDIF
52434          line$(5)=ll$
52442          IF half_flag% THEN line$(5)=FNspc(LEFT$(line$(5),ls%),ls%)
52450          IF half_flag% THEN using_sp%=1-using_sp%
52458        ELSE
52466          line$(0)+=" "+FNCheck_Digit_Plus(FNzero(STR$(gno%),5))
52474          line$(1)+=" "+var$(pick%,0)
52482          line$(2)+=" "+var$(pick%,1)
52490          line$(3)+=" "+var$(pick%,2)
52498          line$(4)+=" "+var$(pick%,3)
52506          ll$=var$(pick%,4)
52514          IF ll$<>"IN LIBRARY" THEN
52522            llt$="Due "+LEFT$(ll$,2)+"-"+MID$(ll$,3,2)+"-"+MID$(ll$,5,2)
52530            llt$+=" Member "+FNCheck_Digit_Plus(MID$(ll$,7,8))
52538            ll$=llt$
52546          ENDIF
52554          line$(5)+=" "+ll$
52562          using_sp%=1-using_sp%
52570          FOR c%=0 TO 5:lin%(c%)=1:NEXT c%
52578        ENDIF
52586        IF using_sp%=1 THEN NEXT gn%:ENDIF:NEXT gd%
52594        line$(6)="":lin%(6)=0
52602        IF pac%+7>no_lines% THEN
52610          IF pac%=0 THEN
52618            RESTORE ERROR
52626            PROCdis_message("Paper too small to fit")
52634            SYS "PDriver_AbortJob",pf%
52642            CLOSE#pf%
52650            printflag%=FALSE
52658            SYS "Hourglass_Off"
52666            ENDPROC
52674          ELSE
52682            SYS "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
52690            SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
52698            SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
52706            SYS "Font_SetFont",fhdl%
52714            WHILE more2%
52722              PROCrewrite(left%,top%)
52730              SYS "PDriver_GetRectangle",,rectin% TO more2%
52738            ENDWHILE
52746            page%+=1
52754            FOR c%=0 TO 6
52762            pa$(c%)=line$(c%):pan%(c%)=lin%(c%)
52770            NEXT c%
52778            pac%=c%
52786          ENDIF
52794        ELSE
52802          FOR c%=0 TO 6
52810          pa$(pac%+c%)=line$(c%):pan%(pac%+c%)=lin%(c%)
52818          NEXT c%
52826          pac%+=c%
52834        ENDIF
52842      ENDIF
52850      NEXT gn%
52858    ENDIF
52866    NEXT gd%
52874    IF pac%>0 THEN
52882      SYS "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
52890      SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
52898      SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
52906      SYS "Font_SetFont",fhdl%
52914      WHILE more2%
52922        PROCrewrite(left%,top%)
52930        SYS "PDriver_GetRectangle",,rectin% TO more2%
52938      ENDWHILE
52946    ENDIF
52954    printflag%=FALSE
52962    SYS "PDriver_EndJob",pf%
52970    SYS "Hourglass_Off"
52978    CLOSE#pf%
52986    RESTORE ERROR
52994  ELSE
53002    SYS "Hourglass_On"
53010    columns%=80:no_lines%=VAL(FNgettext(all_pr%,14))
53018    IF no_lines%=0 THEN no_lines%=1
53026    pac%=0
53034    FOR gd%=0 TO 9
53042    IF book_dir_def%(gd%) THEN
53050      FOR gn%=0 TO 9999
53058      gno%=gd%*10000+gn%
53066      IF ((bookdef%?(gno% DIV 8) AND (1<<(gno% MOD 8)))>>>(gno% MOD 8))=1 THEN
53074        IF cache%<>(gno% DIV 100) THEN PROCopen_book_cache(FNzero(STR$(gno%),5))
53082        pick%=gno% MOD 100
53090        line$(0)=FNCheck_Digit_Plus(FNzero(STR$(gno%),5))
53098        line$(1)=var$(pick%,0)
53106        line$(2)=var$(pick%,1)
53114        line$(3)=var$(pick%,2)
53122        line$(4)=var$(pick%,3)
53130        ll$=var$(pick%,4)
53138        IF ll$<>"IN LIBRARY" THEN
53146          llt$="Due "+LEFT$(ll$,2)+"-"+MID$(ll$,3,2)+"-"+MID$(ll$,5,2)
53154          llt$+=" Member "+FNCheck_Digit_Plus(MID$(ll$,7,8))
53162          ll$=llt$
53170        ENDIF
53178        line$(5)=ll$
53186        line$(6)=""
53194        IF pac%+7>no_lines% THEN
53202          IF pac%=0 THEN
53210            SYS "Hourglass_Off"
53218            PROCdis_message("The page length is too small")
53226            printflag%=FALSE
53234            ENDPROC
53242          ENDIF
53250          VDU 2
53258          FOR c%=0 TO pac%-1
53266          PRINT pa$(c%)
53274          NEXT c%
53282          FOR c%=c% TO no_lines%-1
53290          PRINT
53298          NEXT c%
53306          VDU 3
53314          FOR c%=0 TO 6
53322          pa$(c%)=line$(c%)
53330          NEXT c%
53338          pac%=c%
53346        ELSE
53354          FOR c%=pac% TO pac%+6
53362          pa$(c%)=line$(c%-pac%)
53370          NEXT c%
53378          pac%=c%
53386        ENDIF
53394      ENDIF
53402      NEXT gn%
53410    ENDIF
53418    NEXT gd%
53426    IF pac%>0 THEN
53434      VDU 2
53442      FOR c%=0 TO pac%-1
53450      PRINT pa$(c%)
53458      NEXT c%
53466      VDU 3
53474    ENDIF
53482    SYS "Hourglass_Off"
53490    printflag%=FALSE
53498  ENDIF
53506ENDIF
53514IF FNIconGet(all_pr%,6) THEN
53522  font_flag%=FALSE
53530  columns%=80
53538  no_lines%=VAL(FNgettext(all_pr%,14))
53546  f$=FNgettext(all_pr%,3)
53554  SYS "Hourglass_On"
53562  IF FNUpper(f$)="SYSTEM FONT" THEN
53570    half_flag%=FALSE
53578  ELSE
53586    font_flag%=TRUE
53594    size%=12:IF half_flag% THEN size%=6
53602    size%=size%*1000
53610    SYS "Font_FindFont",,f$,size%/62.5,size%/62.5 TO fhdl%
53618    pf%=OPENOUT("printer:")
53626    IF pf%=0 THEN CLOSE#pf%:PROCdis_message("Printer not available")
53634    IF pf%=0 THEN printflag%=FALSE:ENDPROC
53642    SYS "PDriver_SelectJob",pf%,"AllMem"
53650    SYS "PDriver_Info" TO ,,,ff%
53658    IF ((ff% AND (1<<29))>>>29)=1 THEN
53666      SYS "PDriver_DeclareFont",fhdl%,f$,0
53674      SYS "PDriver_DeclareFont",0,0,0
53682    ENDIF
53690    LOCAL ERROR
53698    ON ERROR LOCAL:RESTORE ERROR:SYS "PDriver_AbortJob",pf%:CLOSE#pf%:printflag%=FALSE:PROCdis_message(REPORT$):ENDPROC
53706    SYS "PDriver_PageSize" TO ,,,left%,bottom%,right%,top%
53714    left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
53722    no_lines%=((top%-bottom%)*400) DIV size%
53730    columns%=(((right%-left%)*400) DIV size%)*1.5
53738    rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
53746    trans%!0=1<<16:trans%!4=0<<16
53754    trans%!8=0<<16:trans%!12=1<<16
53762    plotat%!0=left%*400:plotat%!4=bottom%*400-3600
53770  ENDIF
53778  using_sp%=0
53786  pac%=0
53794  page%=0
53802  FOR d%=0 TO 99
53810  IF mem_dir_def%(d%) THEN
53818    FOR l%=0 TO 25
53826    FOR s%=0 TO 9
53834    try$="<Member"+STR$(d%)+"$Dir>."+CHR$(65+l%)+"."+STR$(s%)
53842    filo%=OPENIN(try$)
53850    INPUT#filo%,tn%
53858    IF tn%=0 THEN
53866      CLOSE#filo%
53874    ELSE
53882      FOR n%=1 TO tn%
53890      INPUT#filo%,memno$
53898      INPUT#filo%,title$
53906      INPUT#filo%,surn$
53914      INPUT#filo%,on$
53922      FOR c%=0 TO 5
53930      INPUT#filo%,address$(c%)
53938      NEXT c%
53946      INPUT#filo%,state$
53954      tt%=BGET#filo%
53962      bn%=BGET#filo%
53970      IF bn%>=1 THEN
53978        FOR wq%=1 TO bn%
53986        INPUT#filo%,vm_dt$(wq%,0)
53994        NEXT wq%
54002      ENDIF
54010      IF memno$<>"Hole" THEN
54018        ls%=(columns% DIV 2)-1
54026        rs%=columns% DIV 2
54034        IF using_sp%=0 THEN
54042          line$()=STRING$(rs%," ")
54050          mem$=FNzero(STR$(d%),2)+FNzero(STR$(l%),2)+STR$(s%)
54058          mem$+=FNzero(STR$(n%),3)
54066          mem$=FNCheck_Digit_Plus(mem$)
54074          line$(0)="Membership number: "+mem$
54082          IF half_flag% THEN line$(0)=FNspc(LEFT$(line$(0),ls%),ls%)
54090          line$(1)=""
54098          IF half_flag% THEN line$(1)=FNspc(LEFT$(line$(1),ls%),ls%)
54106          line$(2)=title$+" "+on$+" "+surn$
54114          IF half_flag% THEN line$(2)=FNspc(LEFT$(line$(2),ls%),ls%)
54122          line$(3)=address$(0)
54130          IF half_flag% THEN line$(3)=FNspc(LEFT$(line$(3),ls%),ls%)
54138          line$(4)=address$(1)
54146          IF half_flag% THEN line$(4)=FNspc(LEFT$(line$(4),ls%),ls%)
54154          line$(5)=address$(2)
54162          IF half_flag% THEN line$(5)=FNspc(LEFT$(line$(5),ls%),ls%)
54170          line$(6)=address$(3)
54178          IF half_flag% THEN line$(6)=FNspc(LEFT$(line$(6),ls%),ls%)
54186          line$(7)=address$(4)
54194          IF half_flag% THEN line$(7)=FNspc(LEFT$(line$(7),ls%),ls%)
54202          line$(8)=address$(5)
54210          IF half_flag% THEN line$(8)=FNspc(LEFT$(line$(8),ls%),ls%)
54218          line$(9)=state$
54226          IF half_flag% THEN line$(9)=FNspc(LEFT$(line$(9),ls%),ls%)
54234          line$(10)=""
54242          IF half_flag% THEN line$(10)=FNspc(LEFT$(line$(10),ls%),ls%)
54250          line$(11)="Ticket Type: "
54258          CASE tt% OF
54266            WHEN 0: line$(11)+="Adult"
54274            WHEN 1: line$(11)+="Junior"
54282            WHEN 2: line$(11)+="Staff"
54290          ENDCASE
54298          IF half_flag% THEN line$(11)=FNspc(LEFT$(line$(11),ls%),ls%)
54306          line$(12)=""
54314          IF half_flag% THEN line$(12)=FNspc(LEFT$(line$(12),ls%),ls%)
54322          line$(13)="Accession numbers of books in care:"
54330          IF half_flag% THEN line$(13)=FNspc(LEFT$(line$(13),ls%),ls%)
54338          lc%=14
54346          IF bn%=0 THEN
54354            line$(14)="    None":lc%=15
54362            IF half_flag% THEN line$(14)=FNspc(LEFT$(line$(14),ls%),ls%)
54370          ELSE
54378            FOR wq%=1 TO bn%
54386            gt$=vm_dt$(wq%,0)
54394            line$(lc%)="    "+FNCheck_Digit_Plus(LEFT$(gt$,5))
54402            line$(lc%)+=" (Due "+MID$(gt$,6,2)+"-"+MID$(gt$,8,2)+"-"
54410            line$(lc%)+=MID$(gt$,10,2)+")"
54418            IF half_flag% THEN line$(lc%)=FNspc(LEFT$(line$(lc%),ls%),ls%)
54426            lc%+=1
54434            NEXT wq%
54442          ENDIF
54450          IF half_flag% THEN using_sp%=1-using_sp%
54458          flc%=lc%
54466        ELSE
54474          mem$=FNzero(STR$(d%),2)+FNzero(STR$(l%),2)+STR$(s%)
54482          mem$+=FNzero(STR$(n%),3)
54490          mem$=FNCheck_Digit_Plus(mem$)
54498          line$(0)+=" "+"Membership number: "+mem$
54506          line$(1)+=" "+" "
54514          line$(2)+=" "+title$+" "+on$+" "+surn$
54522          line$(3)+=" "+address$(0)
54530          line$(4)+=" "+address$(1)
54538          line$(5)+=" "+address$(2)
54546          line$(6)+=" "+address$(3)
54554          line$(7)+=" "+address$(4)
54562          line$(8)+=" "+address$(5)
54570          line$(9)+=" "+state$
54578          line$(10)+=" "+" "
54586          line$(11)+=" "+"Ticket Type: "
54594          CASE tt% OF
54602            WHEN 0: line$(11)+="Adult"
54610            WHEN 1: line$(11)+="Junior"
54618            WHEN 2: line$(11)+="Staff"
54626          ENDCASE
54634          line$(12)+=" "+" "
54642          line$(13)+=" "+"Accession numbers of books in care:"
54650          lc%=14
54658          IF bn%=0 THEN
54666            line$(14)+="     None":lc%=15
54674          ELSE
54682            FOR wq%=1 TO bn%
54690            gt$=vm_dt$(wq%)
54698            line$(lc%)+="     "+FNCheck_Digit_Plus(LEFT$(gt$,5))
54706            line$(lc%)+=" (Due "+MID$(gt$,6,2)+"-"+MID$(gt$,8,2)+"-"
54714            line$(lc%)+=MID$(gt$,10,2)+")"
54722            lc%+=1
54730            NEXT wq%
54738          ENDIF
54746          using_sp%=1-using_sp%
54754        ENDIF
54762        IF using_sp%<>1 THEN
54770          IF half_flag% THEN
54778            IF flc%>lc% THEN lst%=flc% ELSE lst%=lc%
54786            lct%=0
54794            line$(lst%)=""
54802            WHILE line$(lct%)<>""
54810              IF line$(lct%)=STRING$(rs%," ") THEN
54818                FOR wq%=lct% TO lst%-2
54826                line$(wq%)=line$(wq%+1)
54834                NEXT wq%
54842                lst%-=1
54850                lct%-=1
54858                line$(lst%)=""
54866              ENDIF
54874              lct%+=1
54882            ENDWHILE
54890          ELSE
54898            lst%=lc%
54906            lct%=8
54914            WHILE line$(lct%)=""
54922              FOR wq%=lct% TO lst%-2
54930              line$(wq%)=line$(wq%+1)
54938              NEXT wq%
54946              lst%-=1
54954              lct%-=1
54962            ENDWHILE
54970          ENDIF
54978          flag%=FNset_lines(font_flag%)
54986          IF flag% THEN ENDPROC
54994        ENDIF
55002      ENDIF
55010      NEXT n%
55018      CLOSE#filo%
55026    ENDIF
55034    NEXT s%,l%
55042  ENDIF
55050  NEXT d%
55058  IF using_sp%=1 THEN
55066    line$(1)+=" "
55074    line$(10)+=" "
55082    line$(12)+=" "
55090    lst%=flc%
55098    lct%=0
55106    line$(lst%)=""
55114    WHILE line$(lct%)<>""
55122      IF line$(lct%)=STRING$(rs%-1," ") THEN
55130        FOR wq%=lct% TO lst%-2
55138        line$(wq%)=line$(wq%+1)
55146        NEXT wq%
55154        lst%-=1
55162        lct%-=1
55170        line$(lst%)=""
55178      ENDIF
55186      lct%+=1
55194    ENDWHILE
55202    flag%=FNset_lines(font_flag%)
55210    IF flag% THEN ENDPROC
55218  ENDIF
55226  IF pac%>0 THEN
55234    IF font_flag% THEN
55242      SYS "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
55250      SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
55258      SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
55266      SYS "Font_SetFont",fhdl%
55274      WHILE more2%
55282        PROCrewrite(left%,top%)
55290        SYS "PDriver_GetRectangle",,rectin% TO more2%
55298      ENDWHILE
55306    ELSE
55314      VDU 2
55322      FOR c%=0 TO pac%-1
55330      PRINT pa$(c%)
55338      NEXT c%
55346      VDU 3
55354    ENDIF
55362  ENDIF
55370  IF font_flag% THEN
55378    SYS "PDriver_EndJob",pf%
55386    CLOSE#pf%
55394    RESTORE ERROR
55402  ENDIF
55410  printflag%=FALSE
55418  SYS "Hourglass_Off"
55426ENDIF
55434ENDPROC
55442
55450DEFFNset_lines(func%)
55458CASE func% OF
55466  WHEN TRUE
55474    IF pac%+lst%>no_lines% THEN
55482      IF pac%=0 THEN
55490        RESTORE ERROR
55498        PROCdis_message("Paper too small to fit")
55506        SYS "PDriver_AbortJob",pf%
55514        CLOSE#pf%
55522        printflag%=FALSE
55530        SYS "Hourglass_Off"
55538        =TRUE
55546     ELSE
55554        SYS "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
55562        SYS "PDriver_DrawPage",1,rectin%,0,0 TO more2%
55570        SYS "ColourTrans_SetFontColours",,&FFFFFF00,0,6
55578        SYS "Font_SetFont",fhdl%
55586        WHILE more2%
55594          PROCrewrite(left%,top%)
55602          SYS "PDriver_GetRectangle",,rectin% TO more2%
55610        ENDWHILE
55618        page%+=1
55626        pa$()=""
55634        FOR c%=0 TO lst%-1
55642        pa$(c%)=line$(c%):IF half_flag% THEN pan%(c%)=1 ELSE pan%(c%)=0
55650        NEXT c%
55658        pa$(c%)=" ":pac%=c%+1
55666      ENDIF
55674    ELSE
55682      FOR c%=0 TO lst%-1
55690      pa$(pac%+c%)=line$(c%):IF half_flag% THEN pan%(pac%+c%)=1 ELSE pan%(pac%+c%)=0
55698      NEXT c%
55706      pa$(c%)=" ":pac%+=c%+1
55714    ENDIF
55722  WHEN FALSE
55730    IF pac%+lst%>no_lines% THEN
55738      VDU 2
55746      FOR c%=0 TO pac%-1
55754      PRINT pa$(c%)
55762      NEXT c%
55770      FOR c%=c% TO no_lines%-1
55778      PRINT
55786      NEXT c%
55794      VDU 3
55802      FOR c%=0 TO lst%-1
55810      pa$(c%)=line$(c%)
55818      NEXT c%
55826      pa$(c%)=""
55834      pac%=c%+1
55842    ELSE
55850      FOR c%=pac% TO pac%+lst%-1
55858      pa$(c%)=line$(c%-pac%)
55866      NEXT c%
55874      pa$(c%)=""
55882      pac%=c%+1
55890    ENDIF
55898ENDCASE
55906=FALSE
55914
55922DEFPROCload_bookdef
55930FOR i%=0 TO 9
55938IF book_dir_def%(i%) THEN
55946  OSCLI("Load <Books"+STR$(i%)+"$Dir>.^.BookDef "+STR$~(bookdef%+(1250*i%)))
55954ENDIF
55962NEXT i%
55970ENDPROC
55978
55986DEFPROCprepare_export(func%,batch%)
55994CASE func% OF
56002  WHEN 0,2: win%=export_csv%:label$="CSV"
56010  WHEN 1,3: win%=export_text%:label$="Text"
56018ENDCASE
56026!q%=win%
56034SYS "Wimp_GetWindowState",,q%
56042q%!28=-1
56050SYS "Wimp_OpenWindow",,q%
56058PROCputtext(win%,5,STR$(batch%))
56066CASE func% OF
56074  WHEN 0,1
56082    PROCputtext(win%,8,"accession")
56090    !q%=win%
56098    SYS "Wimp_GetWindowInfo",,q%
56106    _p%=!(q%+76)
56114    $_p%="Export Books as "+label$
56122  WHEN 2,3
56130    PROCputtext(win%,8,"membership")
56138    !q%=win%
56146    SYS "Wimp_GetWindowInfo",,q%
56154    _p%=!(q%+76)
56162    $_p%="Export Members as "+label$
56170ENDCASE
56178l%=LEN(FNgettext(win%,1))
56186SYS "Wimp_SetCaretPosition",win%,1,0,0,-1,l%
56194curr_exp%=-1
56202ENDPROC
56210
56218DEFPROCstart_export(n$,func%)
56226PROCcheck_book_dirs
56234PROCcheck_mem_dirs
56242SYS "Hourglass_On"
56250CASE func% OF
56258  WHEN 0: win%=export_csv%
56266  WHEN 1: win%=export_text%
56274ENDCASE
56282got$=FNgettext(win%,8)
56290IF got$="membership" THEN func%+=2
56298curr_exp%=func%
56306curre$=n$
56314noflag%=FNIconGet(win%,6)
56322efh%=OPENOUT(n$)
56330IF efh%=0 THEN CLOSE#efh%:ENDPROC
56338g1%=ec%(func%,0)
56346g2%=ec%(func%,1)
56354g3%=ec%(func%,2)
56362g4%=ec%(func%,3)
56370CASE func% OF
56378  WHEN 0
56386    REPEAT
56394      g%=ec%(0,0)*10000+ec%(0,1)
56402      IF ((bookdef%?(g% DIV 8) AND (1<<(g% MOD 8)))>>>(g% MOD 8))=1 THEN
56410        SYS "Hourglass_Percentage",g%/(10000*book_count%)*100
56418        IF cache%<>g% DIV 100 THEN PROCopen_book_cache(FNzero(STR$(g%),5))
56426        pick%=g% MOD 100
56434        IF noflag%=1 THEN
56442          accum$=""""+FNCheck_Digit_Plus(FNzero(STR$(g%),5))+""","
56450          accum$+=""""+var$(pick%,0)+""","
56458        ELSE
56466          accum$=""""+var$(pick%,0)+""","
56474        ENDIF
56482        FOR c%=1 TO 4
56490        accum$+=""""+var$(pick%,c%)+""","
56498        NEXT c%
56506        accum$=LEFT$(accum$)
56514        BPUT#efh%,accum$
56522      ENDIF
56530      loop_flag%=FALSE
56538      ec%(0,1)+=1
56546      IF ec%(0,1)=10000 THEN
56554        ec%(0,1)=0
56562        ec%(0,0)+=1
56570        WHILE book_dir_def%(ec%(0,0))=FALSE AND ec%(0,0)<10
56578          ec%(0,0)+=1
56586        ENDWHILE
56594        IF ec%(0,0)=10 THEN loop_flag%=TRUE
56602      ENDIF
56610    UNTIL loop_flag%
56618    curr_exp%=-1
56626    CLOSE#efh%
56634    OSCLI("SetType "+n$+" DFE")
56642    !q%=win%
56650    SYS "Wimp_CloseWindow",,q%
56658  WHEN 1
56666    REPEAT
56674      g%=ec%(1,0)*10000+ec%(1,1)
56682      IF ((bookdef%?(g% DIV 8) AND (1<<(g% MOD 8)))>>>(g% MOD 8))=1 THEN
56690        SYS "Hourglass_Percentage",g%/(10000*book_count%)*100
56698        IF cache%<>g% DIV 100 THEN PROCopen_book_cache(FNzero(STR$(g%),5))
56706        pick%=g% MOD 100
56714        IF noflag%=1 THEN BPUT#efh%,FNCheck_Digit_Plus(FNzero(STR$(g%),5))
56722        FOR c%=0 TO 4
56730        BPUT#efh%,var$(pick%,c%)
56738        NEXT c%
56746      ENDIF
56754      loop_flag%=FALSE
56762      ec%(1,1)+=1
56770      IF ec%(1,1)=10000 THEN
56778        ec%(1,1)=0
56786        ec%(1,0)+=1
56794        WHILE book_dir_def%(ec%(1,0))=FALSE AND ec%(1,0)<10
56802          ec%(1,0)+=1
56810        ENDWHILE
56818        IF ec%(1,0)=10 THEN loop_flag%=TRUE
56826      ENDIF
56834    UNTIL loop_flag%
56842    curr_exp%=-1
56850    CLOSE#efh%
56858    OSCLI("SetType "+n$+" Text")
56866    !q%=win%
56874    SYS "Wimp_CloseWindow",,q%
56882  WHEN 2
56890    first_flag%=TRUE
56898    REPEAT
56906      IF ec%(2,3)=1 OR first_flag% THEN
56914        WHILE mem_dir_def%(ec%(2,0))=FALSE AND ec%(2,0)<100
56922          ec%(2,0)+=1
56930        ENDWHILE
56938        IF ec%(2,0)=100 THEN CLOSE#efh%:curr_exp%=-1:ENDPROC
56946        try$="<Member"+STR$(ec%(2,0))+"$Dir>."+CHR$(65+ec%(2,1))+"."
56954        try$+=STR$(ec%(2,2))
56962        filo%=OPENIN(try$)
56970        INPUT#filo%,n_got%
56978        IF ec%(2,3)>1 THEN
56986          FOR c%=1 TO ec%(2,3)-1
56994          FOR d%=1 TO 11
57002          INPUT#filo%,temp$
57010          NEXT d%
57018          temp%=BGET#filo%
57026          bn%=BGET#filo%
57034          IF bn%>0 THEN
57042            FOR d%=1 TO bn%
57050            INPUT#filo%,temp$
57058            NEXT d%
57066          ENDIF
57074          NEXT c%
57082        ENDIF
57090        IF first_flag% THEN first_flag%=FALSE
57098      ENDIF
57106      IF n_got%>0 THEN
57114        code$=FNzero(STR$(ec%(2,0)),2)+FNzero(STR$(ec%(2,1)),2)
57122        code$+=STR$(ec%(2,2))+FNzero(STR$(ec%(2,3)),3)
57130        IF noflag%=1 THEN
57138          accum$=""""+FNCheck_Digit_Plus(code$)+""","
57146          INPUT#filo%,mem$
57154          accum$+=""""+mem$+""","
57162        ELSE
57170          INPUT#filo%,mem$
57178          accum$=""""+mem$+""","
57186        ENDIF
57194        FOR c%=1 TO 10
57202        INPUT#filo%,temp$
57210        accum$+=""""+temp$+""","
57218        NEXT c%
57226        accum$+=""""+STR$(BGET#filo%)+""","
57234        bno%=BGET#filo%
57242        accum$+=""""+STR$(bno%)+""""
57250        BPUT#efh%,accum$
57258        IF bno%>0 THEN
57266          accum$=""
57274          FOR c%=1 TO bno%
57282          INPUT#filo%,temp$
57290          accum$+=""""+temp$+""","
57298          NEXT c%
57306          accum$=LEFT$(accum$)
57314          BPUT#efh%,accum$
57322        ENDIF
57330      ENDIF
57338      loop_flag%=FALSE
57346      ec%(2,3)+=1
57354      IF ec%(2,3)>=n_got%+1 THEN
57362        CLOSE#filo%
57370        ec%(2,3)=1
57378        ec%(2,2)+=1
57386        IF ec%(2,2)=10 THEN
57394          ec%(2,2)=0
57402          ec%(2,1)+=1
57410          IF ec%(2,1)=26 THEN
57418            ec%(2,1)=0
57426            ec%(2,0)+=1
57434            WHILE mem_dir_def%(ec%(2,0))=FALSE AND ec%(2,0)<100
57442              ec%(2,0)+=1
57450            ENDWHILE
57458            IF ec%(2,0)=100 THEN loop_flag%=TRUE
57466          ENDIF
57474        ENDIF
57482      ENDIF
57490    UNTIL loop_flag%
57498    curr_exp%=-1
57506    CLOSE#efh%
57514    OSCLI("SetType "+n$+" DFE")
57522    !q%=win%
57530    SYS "Wimp_CloseWindow",,q%
57538  WHEN 4
57546    first_flag%=TRUE
57554    REPEAT
57562      IF ec%(3,3)=1 OR first_flag% THEN
57570        WHILE mem_dir_def%(ec%(3,0))=FALSE AND ec%(3,0)<100
57578          ec%(3,0)+=1
57586        ENDWHILE
57594        IF ec%(3,0)=100 THEN CLOSE#efh%:curr_exp%=-1:ENDPROC
57602        try$="<Member"+STR$(ec%(3,0))+"$Dir>."+CHR$(65+ec%(3,1))+"."
57610        try$+=STR$(ec%(3,2))
57618        filo%=OPENIN(try$)
57626        INPUT#filo%,n_got%
57634        IF ec%(3,3)>1 THEN
57642          FOR c%=1 TO ec%(3,3)-1
57650          FOR d%=1 TO 11
57658          INPUT#filo%,temp$
57666          NEXT d%
57674          temp%=BGET#filo%
57682          bn%=BGET#filo%
57690          IF bn%>0 THEN
57698            FOR d%=1 TO bn%
57706            INPUT#filo%,temp$
57714            NEXT d%
57722          ENDIF
57730          NEXT c%
57738        ENDIF
57746        IF first_flag% THEN first_flag%=FALSE
57754      ENDIF
57762      IF n_got%>0 THEN
57770        code$=FNzero(STR$(ec%(3,0)),2)+FNzero(STR$(ec%(3,1)),2)
57778        code$+=STR$(ec%(3,2))+FNzero(STR$(ec%(3,3)),3)
57786        IF noflag%=1 THEN BPUT#efh%,FNCheck_Digit_Plus(code$)
57794        INPUT#filo%,mem$
57802        BPUT#efh%,mem$
57810        FOR c%=1 TO 10
57818        INPUT#filo%,temp$
57826        BPUT#efh%,temp$
57834        NEXT c%
57842        BPUT#efh%,STR$(BGET#filo%)
57850        bno%=BGET#filo%
57858        BPUT#efh%,STR$(bno%)
57866        IF bno%>0 THEN
57874          FOR c%=1 TO bno%
57882          INPUT#filo%,temp$
57890          BPUT#efh%,"  "+temp$
57898          NEXT c%
57906        ENDIF
57914      ENDIF
57922      loop_flag%=FALSE
57930      ec%(3,3)+=1
57938      IF ec%(3,3)>=n_got%+1 THEN
57946        CLOSE#filo%
57954        ec%(3,3)=1
57962        ec%(3,2)+=1
57970        IF ec%(3,2)=10 THEN
57978          ec%(3,2)=0
57986          ec%(3,1)+=1
57994          IF ec%(3,1)=26 THEN
58002            ec%(3,1)=0
58010            ec%(3,0)+=1
58018            WHILE mem_dir_def%(ec%(3,0))=FALSE AND ec%(3,0)<100
58026              ec%(3,0)+=1
58034            ENDWHILE
58042            IF ec%(3,0)=100 THEN loop_flag%=TRUE
58050          ENDIF
58058        ENDIF
58066      ENDIF
58074    UNTIL loop_flag%
58082    curr_exp%=-1
58090    CLOSE#efh%
58098    OSCLI("SetType "+n$+" DFE")
58106    !q%=win%
58114    SYS "Wimp_CloseWindow",,q%
58122ENDCASE
58130ENDPROC
58138
58146DEFPROCdisc_full
58154SYS "Hourglass_Smash"
58162CASE curr_exp% OF
58170  WHEN 0,2: OSCLI("SetType "+n$+" DFE"):cw%=export_csv%
58178  WHEN 1,3: OSCLI("SetType "+n$+" Text"):cw%=export_text%
58186ENDCASE
58194gh%=VAL(FNgettext(cw%,5))
58202PROCputtext(cw%,5,STR$(gh%+1))
58210l%=LEN(FNgettext(cw%,1))
58218SYS "Wimp_SetCaretPosition",cw%,1,0,0,-1,l%
58226curr_exp%=-1
58234ENDPROC
58242
58250DEFPROCput_valid(!q%,q%!4,s$)
58258SYS "Wimp_GetIconState",,q%
58266q%!8=0:q%!12=0
58274$(q%!32)=s$
58282SYS "Wimp_SetIconState",,q%
58290ENDPROC

� ><Library$Dir>.!RunImage
� � 1994 James Goodger

"
*� � �errorbox
2	�init
:� � �errorbox
B�
J#  ș "Wimp_Poll",&81830,q% � A%
R
  Ȏ A% �
Z    � 0
b0      � printflag% � �printer � �update_time
j    � 1
r      �poll_draw
z    � 2
�"      ș "Wimp_OpenWindow",,q%
�    � 3
�#      ș "Wimp_CloseWindow",,q%
�'      � !q%=main_aux% � using_rd%=0
�    � 6
�      �decode_button_press
�    � 7
�      �dragger
�    � 8
�'      �process_key(q%!0,q%!4,q%!24)
�    � 9
�      �decode_menu
�    � 17,18
�      �receive(q%)
�  �
�� �
�



ݤicon
3ș "Wimp_SpriteOp",40,-1,"!library" � ,,,width%
"q%!0=-1
*
q%!4=0
2
q%!8=0
:q%!12=(width%*2)+12
Bq%!16=96
Jq%!20=%10000000000010
R$(q%+24)="!library"
Z$ș "Wimp_CreateIcon",,q% � icon%
b
=icon%
j
r��setupmenu
z
��buildmenu(15,"Export")
�*�addtomenu(15,"As CSV...  �F10",-1,"")
�+�addtomenu(15,"As Text... �F11",-1,"F")
�
��buildmenu(14,"Export")
�)�addtomenu(14,"As CSV...  ^F5",-1,"")
�*�addtomenu(14,"As Text... ^F6",-1,"F")
�
��buildmenu(13,"Medium")
�,�addtomenu(13,"This Terminal  F9",-1,"")
�-�addtomenu(13,"Pocket Book   �F9",-1,"F")
�
��buildmenu(12,"Print")
�*�addtomenu(12,"Overdue Notices",-1,"")
�+�addtomenu(12,"Entire Database",-1,"F")
�
!�buildmenu(11,"Ticket Types")

 �addtomenu(11,"Adult",-1,"")
!�addtomenu(11,"Junior",-1,"")
!�addtomenu(11,"Staff",-1,"F")
"
*�buildmenu(10,"Watchdog")
2�addtomenu(10,"View",-1,"")
:#�addtomenu(10,"Activate",-1,"")
B%�addtomenu(10,"Deactivate",-1,"")
J!�addtomenu(10,"Flush",-1,"F")
R
Z�buildmenu(9,"Export")
b5�addtomenu(9,"Export as Text  ^F3",save_text%,"")
j5�addtomenu(9,"Export as CSV  ^�F3",save_csv%,"F")
r
z�buildmenu(8,"Countries")
��addtomenu(8,"UK",-1,"")
�!�addtomenu(8,"Ireland",-1,"")
� �addtomenu(8,"France",-1,"")
�!�addtomenu(8,"Germany",-1,"")
��addtomenu(8,"Spain",-1,"")
�"�addtomenu(8,"Portugal",-1,"")
�$�addtomenu(8,"Luxembourg",-1,"")
�!�addtomenu(8,"Belgium",-1,"")
�)�addtomenu(8,"The Netherlands",-1,"")
��addtomenu(8,"Italy",-1,"")
� �addtomenu(8,"Greece",-1,"")
�-�addtomenu(8,"Denmark",-1,""):�new_states
��addtomenu(8,"",-1,"FW")
�
��buildmenu(7,"Medium")
�+�addtomenu(7,"This Terminal �F5",-1,"")
,�addtomenu(7,"Pocket Book   �F6",-1,"F")


�buildmenu(6,"Options")
*�addtomenu(6,"Password Control",-1,"")
")�addtomenu(6,"Lending Lengths",-1,"")
*�addtomenu(6,"Fines",-1,"")
2#�addtomenu(6,"Use Fonts",-1,"")
:#�addtomenu(6,"Watchdog",10,"F")
B
J�buildmenu(5,"Create")
R6�addtomenu(5,"Book Directory    F3",save_book%,"")
Z6�addtomenu(5,"Member Directory �F3",save_mem%,"F")
b
j�buildmenu(4,"Members")
r+�addtomenu(4,"New Member     F9",13,"")
z,�addtomenu(4,"Remove Member  F10",-1,"")
�,�addtomenu(4,"Change Member  F11",-1,"")
�,�addtomenu(4,"View Member   �F4",-1,"L")
�,�addtomenu(4,"Export           ",15,"F")
�
��buildmenu(3,"Books")
�*�addtomenu(3,"Issue Book    F5",-1,"")
�*�addtomenu(3,"Return Book   F6",-1,"")
�+�addtomenu(3,"Renew Book    F7",-1,"L")
�)�addtomenu(3,"Add Stock    �F5",7,"")
�*�addtomenu(3,"Remove Stock �F7",-1,"")
�*�addtomenu(3,"Change Stock �F8",-1,"")
�+�addtomenu(3,"View Stock    F8",-1,"L")
�+�addtomenu(3,"Export          ",14,"F")
�
��buildmenu(2,"Librarian")
��addtomenu(2,"Books",3,"")
 �addtomenu(2,"Members",4,"")

(�addtomenu(2,"Passwords  �F1",-1,"")
(�addtomenu(2,"News Pages ^F2",-1,"")
�addtomenu(2,"Create",5,"")
" �addtomenu(2,"Print",12,"L")
*!�addtomenu(2,"Options",6,"F")
2
:�buildmenu(1,"Library")
B"�addtomenu(1,"Info",info%,"L")
J'�addtomenu(1,"News      �F2",-1,"")
R'�addtomenu(1,"Search     F4",-1,"")
Z#�addtomenu(1,"Librarian",2,"L")
b'�addtomenu(1,"Log On     F1",-1,"")
j'�addtomenu(1,"Log Off    F2",-1,"")
r�addtomenu(1,"Quit",-1,"F")
z
��
�
���receive(q%)
�file$=�string0(q%+44)
�Ȏ q%!16 �
�	  � 0
�    � logged_on% � �log_off
�    ș "Wimp_CloseDown":�
�	  � 2
�    Ȏ drag_source% �
�C      � save_book%: �save_book_file(file$):ș "Hourglass_Smash"
�A      � save_mem%: �save_mem_file(file$):ș "Hourglass_Smash"
�B      � save_text%: �save_export(file$,0):ș "Hourglass_Smash"
�A      � save_csv%: �save_export(file$,1):ș "Hourglass_Smash"
�D      � export_csv%: �start_export(file$,0):ș "Hourglass_Smash"
�E      � export_text%: �start_export(file$,1):ș "Hourglass_Smash"
	    �

	  � 3
    Ȏ q%!40 �
0      � &FFF: �receive_text(�string0(q%+44))
"/      � &DFE: �receive_csv(�string0(q%+44))
*	    �
2  � &502
:)    q%!12=q%!8:q%!16=&503:help%=q%+20
B    � c%=0 � helpi_ptr%-1
J3    � q%!32=helpi%(c%,0) � q%!36=helpi%(c%,1) �
R      �help(helpi$(c%))
Z	    �
b      � c%
j	    �
r(    ?help%=0:!q%=(help%+24-q%) � � 3
z(    ș "Wimp_SendMessage",17,q%,q%!4
�  � &400C2
�1    newtaskid%=q%!4:taskname$=�string0(q%+28)
�3    � taskname$="Library" � newtaskid%<>myid% �
�!      � logged_on% � �log_off
�      ș "Wimp_CloseDown":�
�	    �
�  � &47D20: �book_request
��
��
�
���help(a$)
�$help%=a$+"|M"
�help%+=�a$+2
��
�
���errorbox

�("Shut")

3� �$="Disc full" � curr_exp%<>-1 � �disc_full:�
err_flag%=3
ș "Wimp_DragBox",,-1
"!buffers%=�
*]$(buffers%+4)=�$+" (Internal code "+�(�)+") Click OK to continue, or Cancel to quit"+�(0)
2Aș "Wimp_ReportError",buffers%,err_flag%,"!Library" � ,click%
:0� click%=2 � ș "Wimp_CloseDown",,!taskid%:�
B�
J
Rݤstring0(a%)
Z� a$
b	a$=""
jȕ (?a%<>0) � (?a%<>13)
r  a$+=�?a%
z  a%+=1
��
�=a$
�
�ݤfiletype(filename$)
�� f%,type%
�)ș "OS_File",17,filename$ � type%,,f%
�� type%<>1 � = -2
�0� (f%>>>20)=&FFF � =((f%>>>8) � &FFF) � = -1
�
���init_templates
�
� Q% 4092
�� rz% 4092
�� tz% 4092
�� fhands% 256
� � ws% &8000:maxws%=ws%+&8000
�� hct$(40),hct%(40)
	n%=-1

Iș "Wimp_OpenTemplate",,"<Library$Dir>.Resources.<Library$Templates>"
Eș "Wimp_LoadTemplate",,Q%,ws%,maxws%,fhands%,"info",0 � ,,curws%
&ș "Wimp_CreateWindow",,Q% � info%
"(n%+=1:hct$(n%)="info":hct%(n%)=info%
*Iș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"logon",0 � ,,curws%
2'ș "Wimp_CreateWindow",,Q% � logon%
:*n%+=1:hct$(n%)="logon":hct%(n%)=logon%
BJș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"search",0 � ,,curws%
J(ș "Wimp_CreateWindow",,Q% � search%
R,n%+=1:hct$(n%)="search":hct%(n%)=search%
ZLș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"change_p",0 � ,,curws%
b,ș "Wimp_CreateWindow",,Q% � changepass%
j2n%+=1:hct$(n%)="change_p":hct%(n%)=changepass%
rKș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"confirm",0 � ,,curws%
z)ș "Wimp_CreateWindow",,Q% � confirm%
�.n%+=1:hct$(n%)="confirm":hct%(n%)=confirm%
�Mș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"add_stock",0 � ,,curws%
�+ș "Wimp_CreateWindow",,Q% � add_stock%
�2n%+=1:hct$(n%)="add_stock":hct%(n%)=add_stock%
�Mș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"accn_only",0 � ,,curws%
�+ș "Wimp_CreateWindow",,Q% � accn_only%
�2n%+=1:hct$(n%)="accn_only":hct%(n%)=accn_only%
�Iș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"issue",0 � ,,curws%
�'ș "Wimp_CreateWindow",,Q% � issue%
�*n%+=1:hct$(n%)="issue":hct%(n%)=issue%
�Lș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"opt_pass",0 � ,,curws%
�'ș "Wimp_CreateWindow",,Q% � optpc%
�-n%+=1:hct$(n%)="opt_pass":hct%(n%)=optpc%
�Lș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"opt_lend",0 � ,,curws%
�)ș "Wimp_CreateWindow",,Q% � optlend%
�/n%+=1:hct$(n%)="opt_lend":hct%(n%)=optlend%
Mș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"rem_check",0 � ,,curws%

,ș "Wimp_CreateWindow",,Q% � conf_remst%
3n%+=1:hct$(n%)="rem_check":hct%(n%)=conf_remst%
Nș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"new_member",0 � ,,curws%
"(ș "Wimp_CreateWindow",,Q% � newmem%
*0n%+=1:hct$(n%)="new_member":hct%(n%)=newmem%
2Nș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"pocket_imp",0 � ,,curws%
:(ș "Wimp_CreateWindow",,Q% � pocket%
B0n%+=1:hct$(n%)="pocket_imp":hct%(n%)=pocket%
JMș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"save_book",0 � ,,curws%
RQ%!64=sprites%
Z+ș "Wimp_CreateWindow",,Q% � save_book%
b2n%+=1:hct$(n%)="save_book":hct%(n%)=save_book%
jLș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"main_aux",0 � ,,curws%
r*ș "Wimp_CreateWindow",,Q% � main_aux%
z0n%+=1:hct$(n%)="main_aux":hct%(n%)=main_aux%
�Lș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"save_mem",0 � ,,curws%
�Q%!64=sprites%
�*ș "Wimp_CreateWindow",,Q% � save_mem%
�0n%+=1:hct$(n%)="save_mem":hct%(n%)=save_mem%
�Mș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"save_text",0 � ,,curws%
�+ș "Wimp_CreateWindow",,Q% � save_text%
�2n%+=1:hct$(n%)="save_text":hct%(n%)=save_text%
�Mș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"save_text",0 � ,,curws%
�*ș "Wimp_CreateWindow",,Q% � save_csv%
�$�puttext(save_csv%,0,"file_dfe")
�#�puttext(save_csv%,1,"CSVFile")
�0n%+=1:hct$(n%)="save_csv":hct%(n%)=save_csv%
�Kș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"display",0 � ,,curws%
�)ș "Wimp_CreateWindow",,Q% � display%
�.n%+=1:hct$(n%)="display":hct%(n%)=display%
�Lș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"news_imp",0 � ,,curws%
	*ș "Wimp_CreateWindow",,Q% � news_imp%
	
0n%+=1:hct$(n%)="news_imp":hct%(n%)=news_imp%
	Lș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"view_mem",0 � ,,curws%
	)ș "Wimp_CreateWindow",,Q% � viewmem%
	"/n%+=1:hct$(n%)="view_mem":hct%(n%)=viewmem%
	*Kș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"rem_mem",0 � ,,curws%
	2(ș "Wimp_CreateWindow",,Q% � remmem%
	:-n%+=1:hct$(n%)="rem_mem":hct%(n%)=remmem%
	BJș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"ch_mem",0 � ,,curws%
	J+ș "Wimp_CreateWindow",,Q% � changemem%
	R/n%+=1:hct$(n%)="ch_mem":hct%(n%)=changemem%
	ZLș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"vm_query",0 � ,,curws%
	b%ș "Wimp_CreateWindow",,Q% � vmq%
	j+n%+=1:hct$(n%)="vm_query":hct%(n%)=vmq%
	rKș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"overdue",0 � ,,curws%
	z)ș "Wimp_CreateWindow",,Q% � overdue%
	�.n%+=1:hct$(n%)="overdue":hct%(n%)=overdue%
	�Iș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"renew",0 � ,,curws%
	�'ș "Wimp_CreateWindow",,Q% � renew%
	�*n%+=1:hct$(n%)="renew":hct%(n%)=renew%
	�Lș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"ch_stock",0 � ,,curws%
	�.ș "Wimp_CreateWindow",,Q% � change_stock%
	�4n%+=1:hct$(n%)="ch_stock":hct%(n%)=change_stock%
	�Nș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"view_stock",0 � ,,curws%
	�,ș "Wimp_CreateWindow",,Q% � view_stock%
	�4n%+=1:hct$(n%)="view_stock":hct%(n%)=view_stock%
	�Mș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"opt_fines",0 � ,,curws%
	�+ș "Wimp_CreateWindow",,Q% � opt_fines%
	�2n%+=1:hct$(n%)="opt_fines":hct%(n%)=opt_fines%
	�Lș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"mem_only",0 � ,,curws%
	�*ș "Wimp_CreateWindow",,Q% � mem_only%
	�0n%+=1:hct$(n%)="mem_only":hct%(n%)=mem_only%
Iș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"print",0 � ,,curws%

'ș "Wimp_CreateWindow",,Q% � print%
*n%+=1:hct$(n%)="print":hct%(n%)=print%
Nș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"overdue_pr",0 � ,,curws%
"Q%!64=sprites%
*,ș "Wimp_CreateWindow",,Q% � overdue_pr%
24n%+=1:hct$(n%)="overdue_pr":hct%(n%)=overdue_pr%
:Jș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"all_pr",0 � ,,curws%
B(ș "Wimp_CreateWindow",,Q% � all_pr%
J,n%+=1:hct$(n%)="all_pr":hct%(n%)=all_pr%
RNș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"dir_exists",0 � ,,curws%
Z,ș "Wimp_CreateWindow",,Q% � dir_exists%
b4n%+=1:hct$(n%)="dir_exists":hct%(n%)=dir_exists%
jNș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"pocket_mem",0 � ,,curws%
r*ș "Wimp_CreateWindow",,Q% � pock_mem%
z2n%+=1:hct$(n%)="pocket_mem":hct%(n%)=pock_mem%
�Nș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"export_csv",0 � ,,curws%
�,ș "Wimp_CreateWindow",,Q% � export_csv%
�4n%+=1:hct$(n%)="export_csv":hct%(n%)=export_csv%
�Oș "Wimp_LoadTemplate",,Q%,curws%,maxws%,fhands%,"export_text",0 � ,,curws%
�-ș "Wimp_CreateWindow",,Q% � export_text%
�6n%+=1:hct$(n%)="export_text":hct%(n%)=export_text%
�ș "Wimp_CloseTemplate"
��
�
�ݤ_Leaf(f$)
�Ȏ �f$,".") �
�  � 0: =f$
�%  : =�_Leaf(�f$,�(f$)-�f$,".")))
��
�
���search
chosen%=-1

� c%=0 � 8 � 2
.� �IconGet(search%,c%) � chosen%=c% � � c%
4� chosen%=-1 � �dis_message("No valid choice"):�
"Ȏ chosen% �
*  � 0: �search_title
2  � 2: �search_author
:  � 4: �search_class
B  � 6: �search_accn
J  � 8: �search_key
R�
Z�cleartext(search%,11)
b!q%=search%
jș "Wimp_CloseWindow",,q%
r�
z
���log_on
�!q%=logon%
�ș "Wimp_CloseWindow",,q%
�!s$=�Upper(�gettext(logon%,1))
�match%=�
�� c%=1 � users%
�'� s$=pass$(c%,1) � match%=c% � � c%
�]� match%<>� � �cleartext(logon%,1) � �dis_message("Access Denied"):�cleartext(logon%,1):�
�logged_on%=match%
�=menad%(1)!(28+(4*24)+8)=menad%(1)!(28+(4*24)+8) � (1<<22)
�=menad%(1)!(28+(5*24)+8)=menad%(1)!(28+(5*24)+8) � (1<<22)
�=menad%(1)!(28+(3*24)+8)=menad%(1)!(28+(3*24)+8) � (1<<22)
�� c%=0 � 13
�%� (pn%(logged_on%) � (1<<c%))=0 �
�g  menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8)=menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8) � (1<<22)
�  � c%=1 �
q    menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8)=menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8) � (1<<22)

  �
I  � c%=13 � menad%(4)!(28+(4*24)+8)=menad%(4)!(28+(4*24)+8) � (1<<22)
�
"J  � ((menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8) � (1<<22))>>>22)=1 �
*i    menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8)=menad%(grey%(c%,0))!(28+(grey%(c%,1)*24)+8) � (1<<22)
2  �
:  � c%=1 �
BP    � ((menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8) � (1<<22))>>>22)=1 �
Js      menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8)=menad%(grey%(c%,0))!(28+((grey%(c%,1)+1)*24)+8) � (1<<22)
R	    �
Z  �
b  � c%=13 �
j8    � ((menad%(4)!(28+(4*24)+8) � (1<<22))>>>22)=1 �
rC      menad%(4)!(28+(4*24)+8)=menad%(4)!(28+(4*24)+8) � (1<<22)
z	    �
�  �
��
�� c%
�&�puttext(display%,4,�(logged_on%))
�,�puttext(display%,5,pass$(logged_on%,0))
�� w_a% �
�J  a$="A"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+pass$(logged_on%,1)
�  �add_watchdog(a$)
��
��
�
���dis_message(s$)
�err_flag%=17
�ș "Wimp_DragBox",,-1
�%!buffers%=0:$(buffers%+4)=s$+�(0)
�Dș "Wimp_ReportError",buffers%,err_flag%,"Message from !Library"

�




��log_off

=menad%(1)!(28+(4*24)+8)=menad%(1)!(28+(4*24)+8) � (1<<22)

"=menad%(1)!(28+(5*24)+8)=menad%(1)!(28+(5*24)+8) � (1<<22)

*=menad%(1)!(28+(3*24)+8)=menad%(1)!(28+(3*24)+8) � (1<<22)

2�cleartext(display%,4)

:�cleartext(display%,5)

B� w_a% �

J2  a$="B"+�(logged_on%)+";"+pass$(logged_on%,0)

R  �add_watchdog(a$)

Z�

blogged_on%=�

j�

r

z��init_pass

�,filo%=�("<Library$Dir>.Preference.Pass")

�users%=�#filo%

�� c%=1 � users%

�+�#filo%,pass$(c%,0),pass$(c%,1),pn%(c%)

�� c%

��#filo%

��

�

���pass_alt

�'op$=�Upper(�gettext(changepass%,1))

�'np$=�Upper(�gettext(changepass%,3))

�match%=�

�1� op$=pass$(logged_on%,1) � match%=logged_on%

�� match%=� �

�  �cleartext(changepass%,1)

�  �cleartext(changepass%,3)
6  �dis_message("This is not a valid old password")

�
� match%=� � �
!q%=confirm%
" ș "Wimp_GetWindowState",,q%
*q%!4=340
2q%!8=312
:q%!12=340+600
Bq%!16=312+400
Jq%!28=-1
Rȗ ȓ q%!4,q%!8,600,400
Zș "Wimp_OpenWindow",,q%
b�
j  ș "Wimp_Poll",&0,q% � A%
r1� A%=6 � q%!12=confirm% � (q%!16=3 � q%!16=4)
zȗ ȓ 0,0,1279,1023
�� q%!16=4 �
�  !q%=confirm%
�  ș "Wimp_CloseWindow",,q%
��
�9  �cleartext(changepass%,1):�cleartext(changepass%,3)
�  !q%=confirm%
�  ș "Wimp_CloseWindow",,q%
�  !q%=changepass%
�  ș "Wimp_CloseWindow",,q%
�  pass$(match%,1)=np$
�  �save_pass_file
��
��cleartext(changepass%,1)
��cleartext(changepass%,3)
�� w_a% �
�B  a$="C"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+op$+";"+np$
  �add_watchdog(a$)

�
�

"��issuebook
*�check_book_dirs
2�check_mem_dirs
:� book_count%=0 �
BF  �dis_message("No book directories have been seen by the filer.")
J  �
R�
Z� mem_count%=0 �
bH  �dis_message("No member directories have been seen by the filer.")
j  �
r�
zno$=�gettext(issue%,1)
�<� �(no$)<>6 � �dis_message("Invalid accession number"):�
�U� � �validate_digits(no$) � �dis_message("Accession number: Check Digit Error"):�
�no%=�(�no$,5))
�#� book_dir_def%(�(�no$,1)))=� �
�a  �dis_message("The book directory for that accession number has not been seen by the filer")
�  �
��
�=� ((bookdef%?(no% � 8) � (1<<(no% � 8)))>>>(no% � 8))=0 �
�.  �dis_message("This book does not exist")
�  �
��
��open_book_cache(no$)
�d$=�no$,4,2)
�pick%=�(d$)
�U� var$(pick%,4)<>"IN LIBRARY" � �dis_message("This book is not in the library"):�
�mem$=�gettext(issue%,3)
?� �(mem$)<9 � �dis_message("Membership Number Too Short"):�

W� � �validate_digits(mem$) � �dis_message("Membership Number: Check Digit Error"):�
chosen_flag%=�
� c%=6 � 7
"temp%=�IconGet(issue%,c%)
*� temp% � chosen_flag%=c%
2� c%
:<� chosen_flag%=� � �IconGet(issue%,11) � chosen_flag%=11
BȎ chosen_flag% �
J  � 6: dno%=9
R  � 7: dno%=10
Z  � 11: dno%=12
b�
jdate$=�gettext(issue%,dno%)
rȎ chosen_flag% �
z  � 6,7
�-    date$=�date$,2)+�date$,4,2)+�date$,2)
�'    � � �validate_date(date$) � �:�
�
  � 11
�    Ȏ �(date$) �
�
      � 8
�        sepflag%=�
�<        � �date$,3,1)="-" � �date$,6,1)="-" � sepflag%=1
�<        � �date$,3,1)="/" � �date$,6,1)="/" � sepflag%=2
�<        � �date$,3,1)="." � �date$,6,1)="." � sepflag%=3
�<        � �date$,3,1)=" " � �date$,6,1)=" " � sepflag%=3
�D        � sepflag%=� � �dis_message("Invalid date format"):�:�:�
�1        date$=�date$,2)+�date$,4,2)+�date$,2)
�-        � � �validate_date(date$) � �:�:�
�
      � 6
�        sepflag%=�
�        � c%=1 � 6
8        � �"0123456789",�date$,c%,1))=0 � sepflag%=�

        � c%
D        � sepflag%=� � �dis_message("Invalid date format"):�:�:�
-        � � �validate_date(date$) � �:�:�
"      
*5        �dis_message("Invalid Date Format"):�:�:�
2	    �
:�
B/date$=�(vd%):� �(date$)=1 � date$="0"+date$
JGdate$=date$+"-"+�(vm%):� �(date$)=4 � date$=�date$,3)+"0"+�date$,1)
RGdate$=date$+"-"+�(vy%):� �(date$)=7 � date$=�date$,6)+"0"+�date$,1)
Zdate$=�Remove_Punc(date$)
bd%=�(�mem$,2))
jl%=�(�mem$,3,2))
rs%=�(�mem$,5,1))
zn%=�(�mem$,6,3))
�� mem_dir_def%(d%)=� �
�Y  �dis_message("The member directory for that number has not been seen by the filer")
�  �
��
�4try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
�filo%=�(try$)
�filp%=�(try$+"2")
��#filo%,number%
��#filp%,number%
�N� n%>number% � �#filo%:�#filp%:�dis_message("Invalid Membership Number"):�
�� sc%=1 � number%
�� d%=1 � 11
��#filo%,temp$
��#filp%,temp$
�� d%
�temp%=�#filo%
�#filp%,temp%

bn%=�#filo%
� sc%=n% � bn%+=1
�#filp%,bn%
"� d%=1 � bn%
*� sc%=n% �
2  � d%<bn% �
:    �#filo%,temp$
B    �#filp%,temp$
J  �
R    �#filp%,�no$,5)+date$
Z  �
b�
j  �#filo%,temp$
r  �#filp%,temp$
z�
�� d%
�	� sc%
��#filo%
��#filp%
��("Delete "+try$)
��("Rename "+try$+"2 "+try$)
� var$(pick%,4)=date$+�mem$,8)
��save_cache(no$)
��cleartext(issue%,1)
��cleartext(issue%,3)
��cleartext(issue%,12)
�0ș "Wimp_SetCaretPosition",issue%,1,0,0,-1,0
�� w_a% �
�2  a$="E"+�(logged_on%)+";"+pass$(logged_on%,0)
�$  a$+=";"+�no$,5)+�mem$,8)+date$
�  �add_watchdog(a$)
�

�

��open_book_cache(accn$)
"� filo%,a$,b$,c$,c%
*accn$=�accn$,5)
2a$=�accn$,1)
:b$=�accn$,2,1)
Bc$=�accn$,3,1)
J9filo%=�("<Books"+a$+"$Dir>."+b$+"."+c$+"00-"+c$+"99")
R?� filo%=0 � �dis_message("Missing Book Cache for "+accn$):�
Z� c%=0 � 99
b� da%=0 � 4
j�#filo%,var$(c%,da%)
r	� da%
z� ea%=0 � 1
��#filo%,sen(c%,ea%)
�� ea%,c%
��#filo%
�cache%=�(accn$) � 100
��
�
�#��open_book_cache_search(accn$)
�accn$=�zero(accn$,5)
�� a$,b$,c$
�b$=�accn$,2,1)
�c$=�accn$,3,1)
�� i%=0 � 9
�� book_dir_def%(i%) �
�  a$=�(i%)
�=  in%(i%)=�("<Books"+a$+"$Dir>."+b$+"."+c$+"00-"+c$+"99")
�C  � in%(i%)=0 � �dis_message("Missing Book Cache for "+accn$):�
  � c%=0 � 99

  � da%=0 � 4
   �#filo%,var_sp$(i%,c%,da%)
  � da%
"  � ea%=0 � 1
*  �#filo%,sen_sp(i%,c%,ea%)
2  � ea%,c%
:  �#in%(i%)
B�
J� i%
Rcache%=�(accn$) � 100
Z�
b
j��new_book
r�check_book_dirs
z�check_mem_dirs
�� book_count%=0 �
�F  �dis_message("No book directories have been seen by the filer.")
�  �
��
�tit$=�gettext(add_stock%,2)
�'tit$=�remove_articles(�Upper(tit$))
�tit$=�Remove_Punc(tit$)
�no$=�Accn_Algorithm(�,tit$)
�snt=�Get_Search(tit$)
�au$=�gettext(add_stock%,4)
�au$=�Upper(au$)
�au$=�Remove_Punc(au$)
�sna=�Get_Search(au$)
�� no$="Full" � �
��open_book_cache(no$)
�no%=�(no$)
d$=�no$,4,2)

pick%=�(d$)
0var$(pick%,0)=�Upper(�gettext(add_stock%,2))
0var$(pick%,1)=�Upper(�gettext(add_stock%,4))
"0var$(pick%,2)=�Upper(�gettext(add_stock%,6))
*0var$(pick%,3)=�Upper(�gettext(add_stock%,9))
2var$(pick%,4)="IN LIBRARY"
:sen(pick%,0)=snt
Bsen(pick%,1)=sna
J�save_cache(no$)
R2�puttext(add_stock%,16,�Check_Digit_Plus(no$))
Zq%!0=add_stock%
b ș "Wimp_GetWindowState",,q%
j�info(q%+4)
r<ș "Wimp_ForceRedraw",add_stock%,bx%+424,by%-446,174,-46
z#�seti(add_stock%,17,&5000000,0)
� �seti(add_stock%,17,&9000,0)
��
�  ș "Wimp_Poll",&0,q% � A%
�(� A%=6 � q%!12=add_stock% � q%!16=17
�#�seti(add_stock%,17,&5000000,0)
� �seti(add_stock%,17,&9000,0)
��cleartext(add_stock%,2)
��cleartext(add_stock%,4)
��cleartext(add_stock%,6)
��cleartext(add_stock%,9)
��cleartext(add_stock%,16)
� divis%=no% � 8:modul%=no%� 8
�3bookdef%?divis%=bookdef%?divis% � (1<<(modul%))
�c�("Save <Books"+�(no% � 10000)+"$Dir>.^.BookDef "+�~(bookdef%+(no% � 10000)*1250)+" + "+�~1250)
�� w_a% �
�:  a$="H"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
  �add_watchdog(a$)

�
�

"��save_cache(accn$)
*� a$,b$,c$
2a$=�accn$,1)
:b$=�accn$,2,1)
Bc$=�accn$,3,1)
J9filo%=�("<Books"+a$+"$Dir>."+b$+"."+c$+"00-"+c$+"99")
RC� filo%=0 � �dis_message("Cannot Save Book Cache for "+accn$):�
Z� c%=0 � 99
b� da%=0 � 4
j�#filo%,var$(c%,da%)
r	� da%
z� ea%=0 � 1
��#filo%,sen(c%,ea%)
�� ea%,c%
��#filo%
��
�
���fin_nm(func%)
��check_book_dirs
��check_mem_dirs
�� mem_count%=0 �
�H  �dis_message("No member directories have been seen by the filer.")
�  �
��
�flag%=0
�� c%=7 � 11
�%� �IconGet(newmem%,c%) � flag%=c%
�� c%
Ȏ flag% �

  � 7: nt$="MR."
  � 8: nt$="MRS."
  � 9: nt$="MISS"
"  � 10: nt$="MS."
*+  � 11: nt$=�Upper(�gettext(newmem%,6))
2�
:� flag%=0 � �
Bflag%=0
J� c%=29 � 31
R%� �IconGet(newmem%,c%) � flag%=c%
Z� c%
b� flag%=0 � �
jticket%=flag%-29
r&surn$=�Upper(�gettext(newmem%,14))
z&name$=�Upper(�gettext(newmem%,15))
�� surn$="" � �
�address$()=""
�� c%=17 � 22
�0address$(c%-17)=�Upper(�gettext(newmem%,c%))
�� c%
�'state$=�Upper(�gettext(newmem%,24))
�t$=�surn$,1)
��find_mem_space(t$)
�� lowest%=-1 �
�I  �dis_message("No members directories have been seen by the filer.")
�  �
��
�,code$=�algorithm(lk1%,lk2%,tn%,�(t$)-65)
�@� code$="You need more directories." � �dis_message(code$):�
�6filo%=�("<Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%))
�:filp%=�("<Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%)+"2")
�#filp%,tn%


� tn%>1 �
  �#filo%,temp%
  � c%=1 � lowest%
"  � d%=1 � 11
*  �#filo%,temp$
2  �#filp%,temp$
:
  � d%
B  temp%=�#filo%
J  �#filp%,temp%
R  bn%=�#filo%
Z  �#filp%,bn%
b  � bn%>0 �
j    � d%=1 � bn%
r    �#filo%,temp%
z    �#filp%,temp%
�    � d%
�  �
�
  � c%
��
��#filp%,�code$,8)
��#filp%,nt$
��#filp%,surn$
��#filp%,name$
�� c%=0 � 5
��#filp%,address$(c%)
�� c%
��#filp%,state$
��#filp%,ticket%
�
�#filp%,0
��#filo%
��#filp%
7�("Delete <Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%))

c�("Rename <Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%)+"2 <Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%))
�puttext(newmem%,35,code$)
q%!0=newmem%
" ș "Wimp_GetWindowState",,q%
*�info(q%+4)
29ș "Wimp_ForceRedraw",newmem%,bx%+364,by%-872,174,-46
: �seti(newmem%,39,&5000000,0)
B�seti(newmem%,39,&9000,0)
J�
R  ș "Wimp_Poll",&0,q% � A%
Z%� A%=6 � q%!12=newmem% � q%!16=39
b �seti(newmem%,39,&5000000,0)
j�seti(newmem%,39,&9000,0)
r� func%=0 �
z  �cleartext(newmem%,35)
�  � c%=17 � 22
�  �cleartext(newmem%,c%)
�
  � c%
�  � c%=14 � 15
�  �cleartext(newmem%,c%)
�
  � c%
�   l%=�(�gettext(newmem%,14))
�5  ș "Wimp_SetCaretPosition",newmem%,14,0,0,-1,l%
��
�  �cleartext(newmem%,35)
�  � c%=17 � 22
�  �cleartext(newmem%,c%)
�
  � c%
�  � c%=14 � 15
�  �cleartext(newmem%,c%)
�
  � c%
  !q%=newmem%

  ș "Wimp_CloseWindow",,q%
�
� w_a% �
"@  a$="L"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+�code$,8)
*  �add_watchdog(a$)
2�
:�
B
J��find_mem_space(t$)
Rlowest%=-1:lk1%=0:lk2%=0
Z� d%=0 � 99
b� mem_dir_def%(d%) �
j3  filo%=�("<Member"+�(d%)+"$Dir>."+t$+".Holes")
r  � filo%=0 �
z    �#filo%
�    � e%=0 � 9
�6    filo%=�("<Member"+�(d%)+"$Dir>."+t$+"."+�(e%))
�    �#filo%,temp%
�4    � lowest%=-1 � lowest%=temp%:lk1%=d%:lk2%=e%
�7    � temp%<lowest% � lowest%=temp%:lk1%=d%:lk2%=e%
�    �#filo%
�    � e%
�    tn%=lowest%+1
�  �
�    �#filo%,got$
�1    try$="<Member"+�(d%)+"$Dir>."+t$+".Holes"
�    filp%=�(try$+"2")
�    delflag%=�
�	    �
�      � � �#filo% �
�        delflag%=�
        �#filo%,got$

        �#filp%,got$
      �
    � �#filo%
"    �#filo%
*    �#filp%
28    lk1%=d%:lk2%=�(�got$,1)):tn%=�(�got$,�(got$)-1))
:    lowest%=1
B    �("Delete "+try$)
J#    �("Rename "+try$+"2 "+try$)
R&    � delflag% � �("Delete "+try$)
Z  �
b�
j� d%
r�
z
�ݤIconGet(win%,icon%)
�!q%=win%
�q%!4=icon%
�ș "Wimp_GetIconState",,q%
�=((q%!24 � 1<<21)>>>21)
�
���cleartext(win%,icon%)
��puttext(win%,icon%,"")
��
�
���put_acc_up(s$,ok$)
��puttext(accn_only%,2,ok$)
�$_titlestring%=s$
�!q%=accn_only%
�ș "Wimp_GetWindowInfo",,q%
�_p%=!(q%+76)
$_p%=$_titlestring%

!q%=accn_only%
 ș "Wimp_GetWindowState",,q%
q%!28=-1
"ș "Wimp_OpenWindow",,q%
*�cleartext(accn_only%,1)
24ș "Wimp_SetCaretPosition",accn_only%,1,0,0,-1,0
:�
B
J��put_mem_up(s$)
R$_titlestring%=s$
Z!q%=mem_only%
bș "Wimp_GetWindowInfo",,q%
j_p%=!(q%+76)
r$_p%=$_titlestring%
z!q%=mem_only%
� ș "Wimp_GetWindowState",,q%
�q%!28=-1
�ș "Wimp_OpenWindow",,q%
��cleartext(mem_only%,1)
�3ș "Wimp_SetCaretPosition",mem_only%,1,0,0,-1,0
��
�
���accn_o_fin
�comp$=�WinTitle(accn_only%)
�Ȏ comp$ �
�#  � "Return Book": �return_book
�%  � "Remove Stock": �remove_stock
�%  � "Change Stock": �change_stock
�!  � "View Stock": �view_stock
��
��


��mem_o_fin
comp$=�WinTitle(mem_only%)
Ȏ comp$ �
"'  � "Remove Member": �remove_member
*'  � "Change Member": �change_member
2�
:�
B
JݤWinTitle(window%)
R!q%=window%
Zș "Wimp_GetWindowInfo",,q%
b5� ((q%!60) � &100)=0 � 1,"Title isn't indirected"
j
=$(q%!76)
r
z��return_book
��check_book_dirs
��check_mem_dirs
�� book_count%=0 �
�F  �dis_message("No book directories have been seen by the filer.")
�  �
��
�� mem_count%=0 �
�H  �dis_message("No member directories have been seen by the filer.")
�  �
��
�no$=�gettext(accn_only%,1)
�<� �(no$)<>6 � �dis_message("Invalid accession number"):�
�J� � �validate_digits(no$) � �dis_message("Invalid accession number"):�
�no$=�no$,5)
�#� book_dir_def%(�(�no$,1)))=� �
�W  �dis_message("The book directory for this number has not been seen by the filer")
  �

�
no%=�(no$)
=� ((bookdef%?(no% � 8) � (1<<(no% � 8)))>>>(no% � 8))=0 �
".  �dis_message("This book does not exist")
*  �
2�
:�open_book_cache(no$)
Bc$=�no$,2)
Jpick%=�(c$)
RX� var$(pick%,4)="IN LIBRARY" � �dis_message("This book is already in the library"):�
Z#da$=�Remove_Punc(var$(pick%,4))
bday$=�da$,1,2)
jmon$=�da$,3,2)
ryr$=�da$,5,2)
zmem$=�da$,8)
�	t$=�$
�day2$=�t$,5,2)
�mon2$=�t$,8,3)
�Ȏ mon2$ �
�  � "Jan": mon2$="01"
�  � "Feb": mon2$="02"
�  � "Mar": mon2$="03"
�  � "Apr": mon2$="04"
�  � "May": mon2$="05"
�  � "Jun": mon2$="06"
�  � "Jul": mon2$="07"
�  � "Aug": mon2$="08"
�  � "Sep": mon2$="09"
�  � "Oct": mon2$="10"
�  � "Nov": mon2$="11"
�  � "Dec": mon2$="12"
�

d%=�(�mem$,2))
l%=�(�mem$,3,2))
s%=�(�mem$,5,1))
"n%=�(�mem$,6,3))
*� mem_dir_def%(d%)=� �
2�  �dis_message("The membership directory of the borrower has not been seen by the filer. Locate the directory and try again.")
:  �
B�
J4try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
Rfilo%=�(try$)
Zfilp%=�(try$+"2")
b�#filo%,tn%
jJ� tn%<n% � �dis_message("Invalid Membership Number"):�#filo%:�#filp%:�
r�#filp%,tn%
z� sc%=1 � tn%
�� g%=1 � 11
��#filo%,temp$
�1� g%=1 � sc%=n% � owed%=�(�temp$,�(temp$)-8))
��#filp%,temp$
�� g%
�temp%=�#filo%
��#filp%,temp%
�bn%=�#filo%
�*� sc%=n% � �#filp%,bn%-1 � �#filp%,bn%
�� v%=1 � bn%
�� sc%=n% �
�  �#filo%,temp$
�*  � �temp$,5)<>�no$,5) � �#filp%,temp$
��
�  �#filo%,temp$
�  �#filp%,temp$
 �
 
� v%
 	� sc%
 �#filo%
 "�#filp%
 *�("Delete "+try$)
 2�("Rename "+try$+"2 "+try$)
 :called_flag%=�
 Byr2$=�t$,14,2)
 J� �(yr2$)>�(yr$) �
 R.  �overdue(yr2$,yr$,mon2$,mon$,day2$,day$)
 Z�
 b  � �(yr2$)=�(yr$) �
 j    � �(mon2$)>�(mon$) �
 r2      �overdue(yr2$,yr$,mon2$,mon$,day2$,day$)
 z	    �
 �      � �(mon2$)=�(mon$) �
 �         � �(day2$)>�(day$) �
 �6          �overdue(yr2$,yr$,mon2$,mon$,day2$,day$)
 �
        �
 �      �
 �	    �
 �  �
 ��
 � � � called_flag% � owed%>0 �
 �.  �overdue(yr2$,yr$,mon2$,mon$,day2$,day$)
 ��
 �var$(pick%,4)="IN LIBRARY"
 ��save_cache(no$)
 ��cleartext(accn_only%,1)
 �!q%=accn_only%
 �ș "Wimp_CloseWindow",,q%
!� w_a% �
!
?  a$="F"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+no$+mem$
!  �add_watchdog(a$)
!�
!"�
!*
!2 ��xor(handle%,icon%,ntimes%)
!:8� I%:� I%=1 � ntimes%:�seti(handle%,icon%,&200000,0)
!Btempt%=�:� � �-tempt%>3:�
!J�
!R
!Z#��seti(handle%,icon%,eor%,bic%)
!bJ!q%=handle%:q%!4=icon%:q%!8=eor%:q%!12=bic%:ș "Wimp_SetIconState",,q%
!j�
!r
!z��dis_lend
!�)�puttext(optlend%,5,�(lending%(0,0)))
!�)�puttext(optlend%,6,�(lending%(0,1)))
!�*�puttext(optlend%,13,�(lending%(1,0)))
!�*�puttext(optlend%,14,�(lending%(1,1)))
!�*�puttext(optlend%,15,�(lending%(1,2)))
!��
!�
!�ݤgettext(!q%,q%!4)
!�ș "Wimp_GetIconState",,q%
!�
=$(q%!28)
!�
!���remove_stock
!��check_book_dirs
!��check_mem_dirs
!�� book_count%=0 �
!�F  �dis_message("No book directories have been seen by the filer.")
"  �
"
�
"no$=�gettext(accn_only%,1)
"fn$=no$
""J� � �validate_digits(no$) � �dis_message("Invalid Accession Number"):�
"*no$=�no$,5):no%=�(no$)
"2#� book_dir_def%(�(�no$,1)))=� �
":U  �dis_message("The book directory for that book has not been seen by the filer")
"B  �
"J�
"R=� ((bookdef%?(no% � 8) � (1<<(no% � 8)))>>>(no% � 8))=0 �
"Z.  �dis_message("This book does not exist")
"b  �
"j�
"r�open_book_cache(no$)
"zc$=�no$,2)
"�pick%=�(c$)
"�divis%=no% � 8
"�modul%=no% � 8
"�!q%=conf_remst%
"� ș "Wimp_GetWindowState",,q%
"�q%!28=-1
"�ș "Wimp_OpenWindow",,q%
"�"� var$(pick%,4)="IN LIBRARY" �
"�  stat$=var$(pick%,4)
"��
"�  q$=var$(pick%,4)
"�3  stat$="Due "+�q$,2)+"-"+�q$,3,2)+"-"+�q$,5,2)
"�  stat$+="  Member "+�q$,8)
"��
"�)�puttext(conf_remst%,2,var$(pick%,0))
"�)�puttext(conf_remst%,4,var$(pick%,1))
#�puttext(conf_remst%,6,fn$)
#
)�puttext(conf_remst%,8,var$(pick%,2))
#*�puttext(conf_remst%,10,var$(pick%,3))
#"�puttext(conf_remst%,13,stat$)
#"�
#*  ș "Wimp_Poll",&0,q% � A%
#26� A%=6 � q%!12=conf_remst% � (q%!16=14 � q%!16=15)
#:sel%=q%!16
#B!q%=conf_remst%
#Jș "Wimp_CloseWindow",,q%
#R!q%=accn_only%
#Zș "Wimp_CloseWindow",,q%
#b�cleartext(accn_only%,1)
#j� sel%=15 � �
#r� c%=0 � 4
#zvar$(pick%,c%)=""
#�� c%
#�1bookdef%?divis%=bookdef%?divis% � (1<<modul%)
#��save_cache(no$)
#�c�("Save <Books"+�(no% � 10000)+"$Dir>.^.BookDef "+�~(bookdef%+(no% � 10000)*1250)+" + "+�~1250)
#�� w_a% �
#�:  a$="I"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
#�  �add_watchdog(a$)
#��
#��
#�
#���puttext(win%,ico%,s$)
#�!q%=win%
#�
q%!4=ico%
#�ș "Wimp_GetIconState",,q%
#�!q%=win%
#�
q%!4=ico%
$q%!8=0:q%!12=0
$
$(q%!28)=s$
$ș "Wimp_SetIconState",,q%
$�
$"
$*��sprite_load
$2� s%,t%
$:;s%=�("<Library$Dir>.Resources.Sprites"):t%=�#s%+16:�#s%
$B� sprites% t%,spname% 12
$J!sprites%=t%:sprites%!8=0
$R"ș "OS_SpriteOp",&109,sprites%
$ZDș "OS_SpriteOp",&10A,sprites%,"<Library$Dir>.Resources.Sprites"
$b:s%=�("<Library$Dir>.Resources.BookSp"):t%=�#s%+16:�#s%
$j� booksp% t%,bookspname% 12
$r!booksp%=t%:booksp%!8=0
$z!ș "OS_SpriteOp",&109,booksp%
$�Bș "OS_SpriteOp",&10A,booksp%,"<Library$Dir>.Resources.BookSp"
$�9s%=�("<Library$Dir>.Resources.MemSp"):t%=�#s%+16:�#s%
$�� memsp% t%,memspname% 12
$�!memsp%=t%:memsp%!8=0
$� ș "OS_SpriteOp",&109,memsp%
$�@ș "OS_SpriteOp",&10A,memsp%,"<Library$Dir>.Resources.MemSp"
$�<s%=�("<Library$Dir>.Resources.BookSp22"):t%=�#s%+16:�#s%
$�#� booksp22% t%,booksp22name% 12
$�!booksp22%=t%:booksp22%!8=0
$�#ș "OS_SpriteOp",&109,booksp22%
$�Fș "OS_SpriteOp",&10A,booksp22%,"<Library$Dir>.Resources.BookSp22"
$�;s%=�("<Library$Dir>.Resources.MemSp22"):t%=�#s%+16:�#s%
$�!� memsp22% t%,memsp22name% 12
$�!memsp22%=t%:memsp22%!8=0
$�"ș "OS_SpriteOp",&109,memsp22%
$�Dș "OS_SpriteOp",&10A,memsp22%,"<Library$Dir>.Resources.MemSp22"
%�
%

%��news_display
%ș "Hourglass_On"
%"&filo%=�("<Library$Dir>.Text.News")
%*,� filo%=0 � ș "Hourglass_Off":�#filo%:�
%2winp%=0
%:�
%B  s$=�#filo%
%J  �addtonews(s$)
%R
� �#filo%
%Z�#filo%
%bș "Hourglass_Off"
%j!q%=main_aux%
%rș "Wimp_CloseWindow",,q%
%z	!q%=0
%�q%!4=winp%*-48+10
%�
q%!8=1232
%�q%!12=0
%�$ș "Wimp_SetExtent",main_aux%,q%
%�!q%=main_aux%
%�ș "Wimp_GetWindowInfo",,q%
%�_p%=!(q%+76)
%�$_p%="News"
%�!q%=main_aux%
%� ș "Wimp_GetWindowState",,q%
%�q%!28=-1
%�using_rd%=3
%�ș "Wimp_OpenWindow",,q%
%��
%�
%���issue_set_dates
&rel$=�$
&
day_n$=�rel$,3)
&day$=�rel$,5,2)
&mon$=�rel$,8,3)
&"yr$=�rel$,12,4)
&*day=�(day$)
&2
Ȏ mon$ �
&:  � "Jan": mon=1
&B  � "Feb": mon=2
&J  � "Mar": mon=3
&R  � "Apr": mon=4
&Z  � "May": mon=5
&b  � "Jun": mon=6
&j  � "Jul": mon=7
&r  � "Aug": mon=8
&z  � "Sep": mon=9
&�  � "Oct": mon=10
&�  � "Nov": mon=11
&�  � "Dec": mon=12
&��
&�
yr=�(yr$)
&�� c%=0 � 1
&�day(c%)=day+lending%(0,c%)
&�mon(c%)=mon
&�
yr(c%)=yr
&��
&�flag%=�
&�  Ȏ mon �
&�H    � 1,3,5,7,8,10,12: � day(c%)>31 � mon(c%)+=1:day(c%)-=31:flag%=�
&�    � 2
&�$      � yr � 4=0 � yr � 400<>0 �
&�9        � day(c%)>29 � mon(c%)+=1:day(c%)-=29:flag%=�
'      �
'
9        � day(c%)>28 � mon(c%)+=1:day(c%)-=28:flag%=�
'      �
'A    � 4,6,9,11: � day(c%)>30 � mon(c%)+=1:day(c%)-=30:flag%=�
'"  �
'*� flag%
'2(� mon(c%)>12 � yr(c%)+=1:mon(c%)-=12
':'s$=�(day(c%)):� �(s$)=1 � s$="0"+s$
'B5s$=s$+�(mon(c%)):� �(s$)=3 � s$=�s$,2)+"0"+�s$,1)
'J:s$=s$+�(yr(c%) � 100):� �(s$)=5 � s$=�s$,4)+"0"+�s$,1)
'R8�puttext(issue%,9+c%,�s$,2)+"-"+�s$,3,2)+"-"+�s$,2))
'Z� c%
'b�cleartext(issue%,12)
'j�
'r
'z��renew_set_dates
'�rel$=�$
'�day_n$=�rel$,3)
'�day$=�rel$,5,2)
'�mon$=�rel$,8,3)
'�yr$=�rel$,12,4)
'�day=�(day$)
'�
Ȏ mon$ �
'�  � "Jan": mon=1
'�  � "Feb": mon=2
'�  � "Mar": mon=3
'�  � "Apr": mon=4
'�  � "May": mon=5
'�  � "Jun": mon=6
'�  � "Jul": mon=7
'�  � "Aug": mon=8
'�  � "Sep": mon=9
(  � "Oct": mon=10
(
  � "Nov": mon=11
(  � "Dec": mon=12
(�
("
yr=�(yr$)
(*� c%=0 � 1
(2day(c%)=day+lending%(0,c%)
(:mon(c%)=mon
(B
yr(c%)=yr
(J�
(Rflag%=�
(Z  Ȏ mon �
(bH    � 1,3,5,7,8,10,12: � day(c%)>31 � mon(c%)+=1:day(c%)-=31:flag%=�
(j    � 2
(r$      � yr � 4=0 � yr � 400<>0 �
(z9        � day(c%)>29 � mon(c%)+=1:day(c%)-=29:flag%=�
(�      �
(�9        � day(c%)>28 � mon(c%)+=1:day(c%)-=28:flag%=�
(�      �
(�A    � 4,6,9,11: � day(c%)>30 � mon(c%)+=1:day(c%)-=30:flag%=�
(�  �
(�� flag%
(�(� mon(c%)>12 � yr(c%)+=1:mon(c%)-=12
(�'s$=�(day(c%)):� �(s$)=1 � s$="0"+s$
(�5s$=s$+�(mon(c%)):� �(s$)=3 � s$=�s$,2)+"0"+�s$,1)
(�:s$=s$+�(yr(c%) � 100):� �(s$)=5 � s$=�s$,4)+"0"+�s$,1)
(�8�puttext(renew%,6+c%,�s$,2)+"-"+�s$,3,2)+"-"+�s$,2))
(�� c%
(��cleartext(renew%,8)
(��
(�
(�ݤvalidate_date(v_date$)
)� dy$,mon$,yr$
)
dy$=�v_date$,2)
)mon$=�v_date$,3,2)
)yr$=�v_date$,2)
)"vd%=�(dy$)
)*vm%=�(mon$)
)2vy%=�(yr$)
):
lyf%=�
)B!� vy% � 4=0 � vy%<>0 � lyf%=�
)J=� vm%<1 � vm%>12 � �dis_message("Invalid date format"):=�
)RȎ vm% �
)Z  � 1,3,5,7,8,10,12
)bC    � vd%<1 � vd%>31 � �dis_message("Invalid date format"):�:=�
)j	  � 2
)r    � lyf% �
)zG      � vd%<1 � vd%>29 � �dis_message("Invalid date format"):�:�:=�
)�	    �
)�G      � vd%<1 � vd%>28 � �dis_message("Invalid date format"):�:�:=�
)�	    �
)�  � 4,6,9,11
)�C    � vd%<1 � vd%>30 � �dis_message("Invalid date format"):�:=�
)��
)�=�
)�
)���init_help
)�1filo%=�("<Library$Dir>.Resources.InteraHelp")
)��
)�  s$=�#filo%
)�  Ȏ �s$,1) �
)�
    � "W"
)�      s$=�s$,�(s$)-1)
)�       cur_win%=�find_win(s$)
*
    � "I"
*
      s$=�s$,�(s$)-1)
*      c_i$=s$
*
    � "D"
*"*      � cur_win%=-2 � c_i$=�(libicon%)
**      s$=�s$,�(s$)-1)
*2      a%=�c_i$,">")
*:      � a% �
*B        le%=�(�c_i$,a%-1))
*J$        ri%=�(�c_i$,�(c_i$)-a%))
*R        � d%=le% � ri%
*Z)        helpi%(helpi_ptr%,0)=cur_win%
*b#        helpi%(helpi_ptr%,1)=d%
*j!        helpi$(helpi_ptr%)=s$
*r        helpi_ptr%+=1
*z        � d%
*�      �
*�)        helpi%(helpi_ptr%,0)=cur_win%
*�(        helpi%(helpi_ptr%,1)=�(c_i$)
*�!        helpi$(helpi_ptr%)=s$
*�        helpi_ptr%+=1
*�      �
*�  �
*�
� �#filo%
*��#filo%
*��
*�
*�ݤUpper(s$)
*�	q$=""
*�� �(s$)>0 �
*�  � up%=1 � �(s$)
*�  tal$=�s$,up%,1)
+2  � tal$>="a" � tal$<="z" � tal$=�(�(tal$)-32)
+
  q$=q$+tal$
+  � up%
+�
+"=q$
+*
+2ݤalgorithm(d%,v%,n%,a%)
+:,� n%>999 � ="You need more directories."
+Ba$=�zero(�(d%),2)
+Ja$+=�zero(�(a%),2)
+R
a$+=�(v%)
+Za$+=�zero(�(n%),3)
+bcount%=0
+j� c%=1 � 8
+r'count%=count%+(c%+1)*�(�a$,9-c%,1))
+z� c%
+�cd%=count% � 11
+�'� cd%=10 � a$=a$+"X" � a$=a$+�(cd%)
+�=a$
+�
+���info(p%)
+�'x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
+�5scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
+�bx%=x0%-scx%:by%=y1%-scy%
+��
+�
+�ݤCheck_Digit_Plus(stem$)
+�count_cd%=0
+�multiplier%=2
+�� c%=�(stem$) � 1 � �
+�*count_cd%+=�(�stem$,c%,1))*multiplier%
+�multiplier%+=1
,� c%
,
.cd$=�~(count_cd% � 11):� cd$="A" � cd$="X"
,=stem$+cd$
,
,"��receive_csv(fn$)
,* ș "Wimp_GetPointerInfo",,q%
,2+� q%!12<>pocket% � q%!12<>pock_mem% � �
,:�check_book_dirs
,B�check_mem_dirs
,JȎ q%!12 �
,R  � pocket%
,Z    � book_count%=0 �
,bJ      �dis_message("No book directories have been seen by the filer.")
,j      �
,r	    �
,z  � pock_mem%
,�    � mem_count%=0 �
,�L      �dis_message("No member directories have been seen by the filer.")
,�      �
,�	    �
,��
,�gn$=fn$
,�filo%=�(fn$)
,�count_a%=0
,�ȕ � �#filo%
,�  temp$=�#filo%
,�  count_a%+=1
,��
,��#filo%
,�Ȏ q%!12 �
,�2  � pocket%: �pocket_fill_window(gn$,count_a%)
,�1  � pock_mem%: �pocket_fill_mem(gn$,count_a%)
-�
-

q%!0=0
-q%!4=-48*winp%-10
-$q%!8=7*16+50*16+40*16+15*16+6*16
-"q%!12=0
-*$ș "Wimp_SetExtent",main_aux%,q%
-2q%!0=pocket%
-:ș "Wimp_CloseWindow",,q%
-Bq%!0=pock_mem%
-Jș "Wimp_CloseWindow",,q%
-R!q%=main_aux%
-Zș "Wimp_GetWindowInfo",,q%
-b_p%=!(q%+76)
-j$_p%="Pocket Book Imports"
-rq%!0=main_aux%
-z ș "Wimp_GetWindowState",,q%
-�q%!28=-1
-�ș "Wimp_OpenWindow",,q%
-��
-�
-�&��pocket_fill_window(fn$,count_a%)
-�using_rd%=1
-�winp%=0
-�p_ptr%=count_a%-1
-�ș "Hourglass_On"
-�filp%=�(fn$)
-�� f%=1 � count_a%
-�/ș "Hourglass_Percentage",(f%/count_a%)*100
-�e$=�#filp%
-�e$=�Upper(e$)
-�c_ptr%=0
-�quote_c%=0
.� g%=1 � �(e$)
.
-� �e$,g%,1)=�(34) � quote_c%=quote_c% � 1
.A� �e$,g%,1)="," � quote_c%=0 � comma_pl%(c_ptr%)=g%:c_ptr%+=1
.� g%
."'vari$(0)=�trim(�e$,comma_pl%(0)-1))
.*full_flag%=�
.2� �(vari$(0))=6 �
.:  full_flag%=�
.B  � tr%=1 � 5
.J8  � �"0123456789",�vari$(0),tr%,1))=0 � full_flag%=�
.R  � tr%
.Z�
.bCvari$(1)=�trim(�e$,comma_pl%(0)+1,comma_pl%(1)-comma_pl%(0)-1))
.jCvari$(2)=�trim(�e$,comma_pl%(1)+1,comma_pl%(2)-comma_pl%(1)-1))
.r� � full_flag% �
.z-  vari$(3)=�trim(�e$,�(e$)-comma_pl%(2)))
.�1  d$=�Remove_Punc(�remove_articles(vari$(0)))
.�*  no$=�Accn_Algorithm(�,d$):no%=�(no$)
.��
.�E  vari$(3)=�trim(�e$,comma_pl%(2)+1,comma_pl%(3)-comma_pl%(2)-1))
.�E  vari$(4)=�trim(�e$,comma_pl%(3)+1,comma_pl%(4)-comma_pl%(3)-1))
.�-  vari$(5)=�trim(�e$,�(e$)-comma_pl%(4)))
.�!  no$=�vari$(0),5):no%=�(no$)
.��
.��open_book_cache(no$)
.�divis%=no% � 8
.�modul%=no% � 8
.�3bookdef%?divis%=(bookdef%?divis% � (1<<modul%))
.�pick%=�(�no$,2))
.�� g%=0 � 4
.�� full_flag% �
.�   var$(pick%,g%)=vari$(g%+1)
/�
/
E  � g%<4 � var$(pick%,g%)=vari$(g%) � var$(pick%,g%)="IN LIBRARY"
/�
/� g%
/"� ea%=0 � 1
/*`sen(pick%,ea%)=�Get_Search(�Remove_Punc(�remove_articles(�Upper(vari$(ea%+�(full_flag%))))))
/2	� ea%
/:� full_flag% �
/B  cd$=�spc(vari$(0),10)
/J�
/R)  cd$=�spc(�Check_Digit_Plus(no$),10)
/Z�
/b'pock_tin$(0)=�spc(var$(pick%,0),50)
/j'pock_tin$(1)=�spc(var$(pick%,1),40)
/r'pock_tin$(2)=�spc(var$(pick%,2),15)
/z&pock_tin$(3)=�spc(var$(pick%,3),6)
/�Lwinstack$(winp%)=cd$+pock_tin$(0)+pock_tin$(1)+pock_tin$(2)+pock_tin$(3)
/�winp%+=-1*(winp%<10000)
/��save_cache(no$)
/�� w_a% �
/�:  a$="H"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
/�  �add_watchdog(a$)
/��
/�� f%
/��#filp%
/�� i%=0 � 9
/�� book_dir_def%(i%) �
/�Q  �("Save <Books"+�(i%)+"$Dir>.^.BookDef "+�~(bookdef%+i%*1250)+" + "+�~1250)
/��
/�� i%
/�ș "Hourglass_Off"
/��
0
0
#��pocket_fill_mem(fn$,count_a%)
0using_rd%=5
0winp%=0
0"p_ptr%=count_a%-1
0*ș "Hourglass_On"
02filq%=�(fn$)
0:� f%=1 � count_a%
0B/ș "Hourglass_Percentage",(f%/count_a%)*100
0Je$=�#filq%
0Re$=�Upper(e$)
0Zc_ptr%=0
0bquote_c%=0
0jcomma_pl%()=0
0r� g%=1 � �(e$)
0z-� �e$,g%,1)=�(34) � quote_c%=quote_c% � 1
0�A� �e$,g%,1)="," � quote_c%=0 � comma_pl%(c_ptr%)=g%:c_ptr%+=1
0�� g%
0�'vari$(0)=�trim(�e$,comma_pl%(0)-1))
0�full_flag%=�
0�� �(vari$(0))=9 �
0�  full_flag%=�
0�  � tr%=1 � 8
0�8  � �"0123456789",�vari$(0),tr%,1))=0 � full_flag%=�
0�  � tr%
0��
0�Cvari$(1)=�trim(�e$,comma_pl%(0)+1,comma_pl%(1)-comma_pl%(0)-1))
0�Cvari$(2)=�trim(�e$,comma_pl%(1)+1,comma_pl%(2)-comma_pl%(1)-1))
0�Cvari$(3)=�trim(�e$,comma_pl%(2)+1,comma_pl%(3)-comma_pl%(2)-1))
0�Cvari$(4)=�trim(�e$,comma_pl%(3)+1,comma_pl%(4)-comma_pl%(3)-1))
0�Cvari$(5)=�trim(�e$,comma_pl%(4)+1,comma_pl%(5)-comma_pl%(4)-1))
0�Cvari$(6)=�trim(�e$,comma_pl%(5)+1,comma_pl%(6)-comma_pl%(5)-1))
1Cvari$(7)=�trim(�e$,comma_pl%(6)+1,comma_pl%(7)-comma_pl%(6)-1))
1
Cvari$(8)=�trim(�e$,comma_pl%(7)+1,comma_pl%(8)-comma_pl%(7)-1))
1Cvari$(9)=�trim(�e$,comma_pl%(8)+1,comma_pl%(9)-comma_pl%(8)-1))
1� � full_flag% �
1".  vari$(10)=�trim(�e$,�(e$)-comma_pl%(9)))
1*  Ȏ vari$(10) �
12    � "ADULT": ticket%=0
1:    � "JUNIOR": ticket%=1
1B    � "STAFF": ticket%=2
1J    : ticket%=0
1R  �
1Z  t$=�vari$(1),1)
1b  �find_mem_space(t$)
1j.  code$=�algorithm(lk1%,lk2%,tn%,�(t$)-65)
1rJ  � code$="You need more directories." � �dis_message(code$):�#filq%:�
1z�
1�G  vari$(10)=�trim(�e$,comma_pl%(9)+1,comma_pl%(10)-comma_pl%(9)-1))
1�I  vari$(11)=�trim(�e$,comma_pl%(10)+1,comma_pl%(11)-comma_pl%(10)-1))
1�I  vari$(12)=�trim(�e$,comma_pl%(11)+1,comma_pl%(12)-comma_pl%(11)-1))
1�/  vari$(13)=�trim(�e$,�(e$)-comma_pl%(12)))
1�  ticket%=�(vari$(12))
1�  code$=vari$(0)
1�  lk1%=�(�code$,2))
1�  t$=�(65+�(�code$,3,2)))
1�  lk2%=�(�code$,5,1))
1�  tn%=�(�code$,6,3))
1��
1�6filo%=�("<Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%))
1�:filp%=�("<Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%)+"2")
1��#filp%,tn%
1�
� tn%>1 �
1�  �#filo%,temp%
2  � c%=1 � lowest%
2
  � d%=1 � 11
2  �#filo%,temp$
2  �#filp%,temp$
2"
  � d%
2*  temp%=�#filo%
22  �#filp%,temp%
2:  bn%=�#filo%
2B  �#filp%,bn%
2J  � bn%>0 �
2R    � d%=1 � bn%
2Z    �#filo%,temp%
2b    �#filp%,temp%
2j    � d%
2r  �
2z
  � c%
2��
2��#filp%,vari$(1)
2��#filp%,vari$(2)
2��#filp%,vari$(3)
2��#filp%,vari$(4)
2�� c%=0 � 5
2��#filp%,vari$(5+c%)
2�� c%
2��#filp%,vari$(10)
2��#filp%,ticket%
2�� � full_flag% �
2�  �#filp%,0
2��
2�  bg%=�(vari$(13))
2�  �#filp%,bg%
2�  � bg%>0 �
3    bk$=�#filq%
3
    ȕ �bk$,",")
3*      �#filp%,�trim(�bk$,�bk$,",")-1))
3      bk$=�bk$,�bk$,",")+1)
3"	    �
3*    �#filp%,�trim(bk$)
32
    f%+=1
3:  �
3B�
3J�#filo%
3R�#filp%
3Z7�("Delete <Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%))
3bc�("Rename <Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%)+"2 <Member"+�(lk1%)+"$Dir>."+t$+"."+�(lk2%))
3j#winstack$(winp%)=�spc(code$,12)
3rtwinstack$(winp%)+=�spc(�vari$(1+2*�(full_flag%))+", "+vari$(2*�(full_flag%))+" "+vari$(2+2*�(full_flag%),30),30)
3z*adc$=�vari$(3+2*�(full_flag%))+",",61)
3�0� adc%=4+2*�(full_flag%) � 9+2*�(full_flag%)
3�:� vari$(adc%)<>"" � adc$+=�vari$(adc%)+",",61-�(adc$))
3�
� adc%
3�adc$=�adc$)
3�#winstack$(winp%)+=�spc(adc$,60)
3�"Ȏ vari$(10+2*�(full_flag%)) �
3�/  � "ADULT","0": winstack$(winp%)+="Adult "
3�0  � "JUNIOR","1": winstack$(winp%)+="Junior"
3�/  � "STAFF","2": winstack$(winp%)+="Staff "
3�#  : winstack$(winp%)+="Adult "
3��
3�winp%+=-1*(winp%<10000)
3�� w_a% �
3�@  a$="L"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+�code$,8)
3�  �add_watchdog(a$)
3��
4� f%
4
�#filq%
4ș "Hourglass_Off"
4�
4"
4*ݤtrim(s$)
42s$=�s$,�(s$)-1)
4:=�s$,�(s$)-1)
4B
4J��poll_draw
4R� more%
4Z&ș "Wimp_RedrawWindow",,q% � more%
4bx0%=q%!4
4j
y0%=q%!16
4rscx%=q%!20:scy%=q%!24
4zbx%=x0%-scx%:by%=y0%-scy%
4�ȕ more%
4�  �event_draw(q%!0,bx%,by%)
4�(  ș "Wimp_GetRectangle",,q% � more%
4�
  more%=0
4��
4��
4�
4���event_draw(win%,px%,py%)
4�
Ȏ win% �
4�(  � main_aux%: �redraw_pock(px%,py%)
4��
4��
4�
4�ݤspc(s$,nl%)
4�=s$+�nl%-�(s$)," ")
4�
5��redraw_pock(px%,py%)
5
� c%=0 � winp%-1
5	e%=c%
5� px%,py%-e%*48-10
5"� winstack$(c%)
5*� c%
52�
5:
5Bݤzero(a$,l%)
5J=�l%-�(a$),"0")+a$
5R
5Zݤvalidate_digits(n$)
5bl%=�(n$)
5jaccum%=0
5r� valc%=1 � l%-1
5z� �"Xx",�n$,valc%,1)) �
5�  deco%=10
5��
5�  deco%=�(�n$,valc%,1))
5��
5� accum%+=((l%+1)-valc%)*deco%
5�� valc%
5�cd$=�n$,1)
5�&� �"Xx",cd$) � cd%=10 � cd%=�(cd$)
5�� accum% � 11=cd% � =� � =�
5�
5���buildmenu(mn%,mt$)
5�menad%(mn%)=cur%
5�
$cur%=mt$
5�
cur%?12=7
5�
cur%?13=2
5�
cur%?14=7
6
cur%?15=0
6

cur%!16=0
6cur%!20=44
6
cur%!24=0
6"cur%+=28
6*G� cur%>=menu%+&2000 � �dis_message("Menu tree has run out of room")
62�
6:
6B ��addtomenu(mn%,it$,ha%,fe$)
6J	fe%=0
6R� �fe$,"L") � fe%+=2
6Z� �fe$,"W") � fe%+=4
6b� �fe$,"F") � fe%+=128
6j
!cur%=fe%
6r+� ha%>-1 � ha%<&80 � cur%!4=menad%(ha%)
6z� ha%=-1 � cur%!4=-1
6�� ha%>&80 � cur%!4=ha%
6�cur%!8=1 � (7<<24) � 256
6�$(menuind%+mein%)=it$
6�ile%=�(it$)+1
6�*� (ile% � 4)>0 � ile%=((ile% � 4)+1)*4
6�cur%!12=menuind%+mein%
6�cur%!16=-1
6�cur%!20=�(it$)
6�&� �fe$,"W") � ile%=256:cur%!20=255
6�mein%+=ile%
6�=� mein%>&2000 � �dis_message("Menu inderection overflow")
6�cur%+=24
6�F� cur%>menu%+&2000 � �dis_message("Menu tree has run out of room")
6�G� ((menad%(mn%)!16)-32)<(�(it$)*16) � menad%(mn%)!16=(�(it$)*16)+32
6��
6�
7ݤRemove_Punc(s$)
7
	d$=""
7� c%=1 � �(s$)
7e$=�s$,c%,1)
7":� (e$>="A" � e$<="Z") � (e$>="a" � e$<="z") � d$=d$+e$
7* � e$>="0" � e$<="9" � d$+=e$
72� c%
7:=d$
7B
7JݤAccn_Algorithm(func%,s$)
7R� a%
7Zs$=�Upper(s$)
7b
� s$="" �
7j  sn%=0
7r�
7z  � �(s$)>=2 � s$=�s$,2)
7�
  a%=0
7�  � c%=1 � �(s$)
7�)  a%+=(�(�s$,c%,1))-65)*26^(�(s$)-c%)
7�
  � c%
7�  sn%=�(a%*(9999/675))
7��
7�� func% � =�zero(�(sn%),4)
7�flag%=�:flag2%=�
7�st%=sn%
7�	cd%=0
7�ȕ cd%<10 � � flag2%
7�&  ȕ book_dir_def%(cd%)=� � cd%<10
7�    cd%+=1
7�  �
7�  flag2%=�
7��
8� cd%=10 �
8
E  �dis_message("No book directories have been seen by the filer")
8
  ="Full"
8�
8"scd%=cd%
8*�
82a  � ((bookdef%?((cd%*10000+sn%) � 8) � (1<<((cd%*10000+sn%) � 8)))>>>((cd%*10000+sn%) � 8)) �
8:    cd%+=1
8B    flag2%=�
8J    ȕ cd%<10 � � flag2%
8R*      ȕ book_dir_def%(cd%)=� � cd%<10
8Z        cd%+=1
8b      �
8j      flag2%=�
8r	    �
8z  �
8�    flag%=�
8�  �
8�  � cd%=10 �
8�    cd%=scd%
8�    sn%+=1
8�    � sn%=st% �
8�N      �dis_message("There is no more space. Create a new book directory.")
8�      ="Full"
8�	    �
8�  �
8�� flag%
8� =�zero(�((cd%*10000)+sn%),5)
8�
8�'ݤAccn_Algorithm_Original(func%,s$)
8�� a%
8�s$=�Upper(s$)
9
� s$="" �
9
  sn%=0
9�
9  � �(s$)>=2 � s$=�s$,2)
9"
  a%=0
9*  � c%=1 � �(s$)
92)  a%+=(�(�s$,c%,1))-65)*26^(�(s$)-c%)
9:
  � c%
9B  sn%=�(a%*(9999/675))
9J�
9R� func% � =�zero(�(sn%),4)
9Zflag%=�:flag2%=�
9bst%=sn%
9j	cd%=0
9r
ȕ cd%<10
9z&  ȕ book_dir_def%(cd%)=� � cd%<10
9�    cd%+=1
9�  �
9��
9�� cd%=10 �
9�E  �dis_message("No book directories have been seen by the filer")
9�
  ="Full"
9��
9��
9�r  � ((bookdef%?((cd%*10000+sn%) � 8) � (1<<((cd%*10000+sn%) � 8)))>>>((cd%*10000+sn%) � 8)) � sn%+=1 � flag%=�
9�"  � sn%=10000 � sn%=0:flag2%=�
9�  � sn%=st% � flag2% �
9�    � cd%<9 �
9�      cd%+=1:flag2%=�
9�      ȕ cd%<10
9�,        ȕ book_dir_def%(cd%)=� � cd%<10
9�          cd%+=1
:
        �
:
      �
:a      � cd%=10 � �dis_message("There is no more space. Create a new book directory."):="Full"
:	    �
:"N      �dis_message("There is no more space. Create a new book directory.")
:*      ="Full"
:2	    �
::  �
:B� flag%
:J =�zero(�((cd%*10000)+sn%),5)
:R
:Z��check_book_dirs
:bbook_count%=0
:j� c%=0 � 9
:rHș "XOS_ReadVarVal",("Books"+�(c%)+"$Dir"),wimp%,256,,3 � ,,n% ;err%
:z� (err% � 1) �
:�  book_dir_def%(c%)=�
:��
:�  book_dir_def%(c%)=�
:�  book_count%+=1
:��
:�� c%
:� � smeg_flag% � �load_bookdef
:��
:�
:���check_mem_dirs
:�mem_count%=0
:�� c%=0 � 99
:�Iș "XOS_ReadVarVal",("Member"+�(c%)+"$Dir"),wimp%,256,,3 � ,,n% ;err%
:�� (err% � 1) �
:�  mem_dir_def%(c%)=�
:��
;  mem_dir_def%(c%)=�
;
  mem_count%+=1
;�
;� c%
;"�
;*
;2��update_save_boxes
;:smeg_flag%=�
;B�check_book_dirs
;Jsmeg_flag%=�
;R	br%=0
;Zflag%=�
;bȕ br%<10 � � flag%
;j$  ȕ book_dir_def%(br%) � br%<10
;r    br%+=1
;z  �
;�
  flag%=�
;��
;�� br%=10 � br%=0
;�	dr%=0
;�flag%=�
;�ȕ dr%<100 � � flag%
;�$  ȕ mem_dir_def%(dr%) � dr%<100
;�    dr%+=1
;�  �
;�
  flag%=�
;��
;�� dr%=100 � dr%=0
;�wimp%!0=save_book%
;�
wimp%!4=1
;�!ș "Wimp_GetIconState",,wimp%
;�
wimp%!8=0
<wimp%!12=0
<
 $(wimp%!28)="!!Books"+�(br%)
<!ș "Wimp_SetIconState",,wimp%
<wimp%!0=save_mem%
<"
wimp%!4=1
<*!ș "Wimp_GetIconState",,wimp%
<2
wimp%!8=0
<:wimp%!12=0
<B!$(wimp%!28)="!!Member"+�(dr%)
<J!ș "Wimp_SetIconState",,wimp%
<R�
<Z
<b��decode_menu
<jȎ menu_flag% �
<r	  � 0
<z    Ȏ q%!0 �
<�      � 1: �news_display
<�
      � 2
<�        !q%=search%
<�(        ș "Wimp_GetWindowState",,q%
<�        q%!28=-1
<�$        ș "Wimp_OpenWindow",,q%
<�&        l%=�(�gettext(search%,11))
<�;        ș "Wimp_SetCaretPosition",search%,11,0,0,-1,l%
<�
      � 3
<�        Ȏ q%!4 �
<�          � 0
<�            Ȏ q%!8 �
<�              � 0
<�                !q%=issue%
<�0                ș "Wimp_GetWindowState",,q%
<�                q%!28=-1
=,                ș "Wimp_OpenWindow",,q%
=
,                l%=�(�gettext(issue%,1))
=A                ș "Wimp_SetCaretPosition",issue%,1,0,0,-1,l%
=$                �issue_set_dates
="              � 1
=*7                �put_acc_up("Return Book","Return")
=2              � 2
=:                !q%=renew%
=B0                ș "Wimp_GetWindowState",,q%
=J                q%!28=-1
=R,                ș "Wimp_OpenWindow",,q%
=Z,                l%=�(�gettext(renew%,1))
=bA                ș "Wimp_SetCaretPosition",renew%,1,0,0,-1,l%
=j$                �renew_set_dates
=r              � 3
=z                Ȏ q%!12 �
=�                  � 0
=�&                    !q%=add_stock%
=�4                    ș "Wimp_GetWindowState",,q%
=�                     q%!28=-1
=�0                    ș "Wimp_OpenWindow",,q%
=�4                    l%=�(�gettext(add_stock%,2))
=�I                    ș "Wimp_SetCaretPosition",add_stock%,2,0,0,-1,l%
=�                  � 1
=�#                    !q%=pocket%
=�4                    ș "Wimp_GetWindowState",,q%
=�                     q%!28=-1
=�0                    ș "Wimp_OpenWindow",,q%
=�                �
=�              � 4
=�8                �put_acc_up("Remove Stock","Remove")
=�              � 5
>6                �put_acc_up("Change Stock","Find")
>
              � 6
>4                �put_acc_up("View Stock","Find")
>              � 7
>"                Ȏ q%!12 �
>*                  � 0
>2"                    � c%=0 � 3
>:#                    ec%(0,c%)=0
>B                    � c%
>J,                    �prepare_export(0,1)
>R                  � 1
>Z"                    � c%=0 � 3
>b#                    ec%(1,c%)=0
>j                    � c%
>r,                    �prepare_export(1,1)
>z                �
>�            �
>�          � 1
>�            Ȏ q%!8 �
>�              � 0
>�                Ȏ q%!12 �
>�                  � 0
>�#                    !q%=newmem%
>�4                    ș "Wimp_GetWindowState",,q%
>�                     q%!28=-1
>�0                    ș "Wimp_OpenWindow",,q%
>�2                    l%=�(�gettext(newmem%,14))
>�G                    ș "Wimp_SetCaretPosition",newmem%,14,0,0,-1,l%
>�                  � 1
>�%                    !q%=pock_mem%
>�4                    ș "Wimp_GetWindowState",,q%
>�                     q%!28=-1
?0                    ș "Wimp_OpenWindow",,q%
?
                �
?3              � 1: �put_mem_up("Remove Member")
?3              � 2: �put_mem_up("Change Member")
?"              � 3
?*                !q%=vmq%
?20                ș "Wimp_GetWindowState",,q%
?:                q%!28=-1
?B,                ș "Wimp_OpenWindow",,q%
?J*                l%=�(�gettext(vmq%,4))
?R?                ș "Wimp_SetCaretPosition",vmq%,4,0,0,-1,l%
?Z              � 4
?b                Ȏ q%!12 �
?j                  � 0
?r"                    � c%=0 � 3
?z)                    ec%(2,c%)=�(c%=3)
?�                    � c%
?�,                    �prepare_export(2,1)
?�                  � 1
?�"                    � c%=0 � 3
?�)                    ec%(3,c%)=�(c%=3)
?�                    � c%
?�,                    �prepare_export(3,1)
?�                �
?�            �
?�          � 2
?�            !q%=changepass%
?�,            ș "Wimp_GetWindowState",,q%
?�            q%!28=-1
?�(            ș "Wimp_OpenWindow",,q%
?�-            l%=�(�gettext(changepass%,1))
?�B            ș "Wimp_SetCaretPosition",changepass%,1,0,0,-1,l%
@          � 3
@
            !q%=news_imp%
@,            ș "Wimp_GetWindowState",,q%
@            q%!28=-1
@"(            ș "Wimp_OpenWindow",,q%
@*          � 5
@2            Ȏ q%!8 �
@:              � 0
@B                pr$=""
@J                � �
@R(                � � �:pr$="None":� �
@ZE                � pr$="" � ș "OS_Module",18,"PDriver" � ,pdr_no%
@b                � pr$="" �
@j1                  ș "PDriver_Info" � ,,,,pr%
@r'                  pr$=�string0(pr%)
@z                �
@�"                � pr$="" � � �
@�/                �puttext(overdue_pr%,1,pr$)
@�#                !q%=overdue_pr%
@�0                ș "Wimp_GetWindowState",,q%
@�                q%!28=-1
@�,                ș "Wimp_OpenWindow",,q%
@�2                l%=�(�gettext(overdue_pr%,10))
@�G                ș "Wimp_SetCaretPosition",overdue_pr%,10,0,0,-1,l%
@�$                current_print%=1
@�              � 1
@�                pr$=""
@�                � �
@�(                � � �:pr$="None":� �
@�E                � pr$="" � ș "OS_Module",18,"PDriver" � ,pdr_no%
@�                � pr$="" �
@�1                  ș "PDriver_Info" � ,,,,pr%
A'                  pr$=�string0(pr%)
A
                �
A"                � pr$="" � � �
A+                �puttext(all_pr%,1,pr$)
A"                !q%=all_pr%
A*0                ș "Wimp_GetWindowState",,q%
A2                q%!28=-1
A:,                ș "Wimp_OpenWindow",,q%
AB$                current_print%=5
AJ            �
AR          � 6
AZ            Ȏ q%!8 �
Ab              � 0
Aj                !q%=optpc%
Ar0                ș "Wimp_GetWindowState",,q%
Az                q%!28=-1
A�,                ș "Wimp_OpenWindow",,q%
A�"                �pass_enter(1)
A�              � 1
A�                �dis_lend
A�                 !q%=optlend%
A�0                ș "Wimp_GetWindowState",,q%
A�                q%!28=-1
A�,                ș "Wimp_OpenWindow",,q%
A�.                l%=�(�gettext(optlend%,5))
A�C                ș "Wimp_SetCaretPosition",optlend%,5,0,0,-1,l%
A�              � 2
A�                �dis_fines
A�"                !q%=opt_fines%
A�0                ș "Wimp_GetWindowState",,q%
A�                q%!28=-1
A�,                ș "Wimp_OpenWindow",,q%
B0                l%=�(�gettext(opt_fines%,1))
B
E                ș "Wimp_SetCaretPosition",opt_fines%,1,0,0,-1,l%
B              � 3
BC                menad%(6)!(28+(3*24))=menad%(6)!(28+(3*24)) � 1
B"3                comp%=menad%(6)!(28+(3*24)) � 1
B*=                filo%=�("<Library$Dir>.Preference.Fonts")
B2!                �#filo%,comp%
B:                �#filo%
BB<                st1$="<Library$Dir>.Resources.Templates"
BJB                st2$="<Library$Dir>.Resources.Spare.Templates"
BR3                �("Rename "+st1$+"3 "+st2$+"A")
BZ3                �("Rename "+st2$+"3 "+st1$+"3")
Bb3                �("Rename "+st2$+"A "+st2$+"3")
Bj              � 4
Br                Ȏ q%!12 �
Bz)                  � 0: �show_watchdog
B�                  � 1
B�                    w_a%=1
B�F                    filo%=�("<Library$Dir>.Preference.WatchActiv")
B�$                    �#filo%,w_a%
B�                    �#filo%
B�+                    temp%=(28+(1*24)+8)
B�,                    temp2%=(28+(2*24)+8)
B�C                    menad%(10)!temp%=menad%(10)!temp% � (1<<22)
B�E                    menad%(10)!temp2%=menad%(10)!temp2% � (1<<22)
B�D                    a$="U"+�(logged_on%)+";"+pass$(logged_on%,0)
B�)                    �add_watchdog(a$)
B�                  � 2
B�D                    a$="V"+�(logged_on%)+";"+pass$(logged_on%,0)
B�)                    �add_watchdog(a$)
B�                    w_a%=0
B�F                    filo%=�("<Library$Dir>.Preference.WatchActiv")
C$                    �#filo%,w_a%
C
                    �#filo%
C+                    temp%=(28+(1*24)+8)
C,                    temp2%=(28+(2*24)+8)
C"C                    menad%(10)!temp%=menad%(10)!temp% � (1<<22)
C*E                    menad%(10)!temp2%=menad%(10)!temp2% � (1<<22)
C2                  � 3
C:B                    filo%=�("<Library$Dir>.Watchdog.Watchdog")
CB                    �#filo%
CJ!                    � filo% �
CRE                      �("Delete <Library$Dir>.Watchdog.Watchdog")
CZ                    �
Cb                     � w_a% �
CjF                      a$="V"+�(logged_on%)+";"+pass$(logged_on%,0)
Cr+                      �add_watchdog(a$)
Cz                    �
C�                �
C�            �
C�
        �
C�
      � 4
C�        !q%=logon%
C�(        ș "Wimp_GetWindowState",,q%
C�        q%!28=-1
C�$        ș "Wimp_OpenWindow",,q%
C�$        l%=�(�gettext(logon%,1))
C�9        ș "Wimp_SetCaretPosition",logon%,1,0,0,-1,l%
C�      � 5: �log_off
C�
      � 6
C�#        � logged_on% � �log_off
C�+        ș "Wimp_CloseDown",,!taskid%:�
C�	    �
C�	  � 1
D0    ș "Wimp_DecodeMenu",,menad%(8),q%,wimp%
D
    a$=$wimp%
D    �puttext(newmem%,24,a$)
D	  � 3
D"    � q%!0>=0 � q%!0<=2 �
D*      choice%=q%!0
D2      Ȏ choice% �
D:        � 0: a$="Adult"
DB        � 1: a$="Junior"
DJ        � 2: a$="Staff"
DR      �
DZ$      �puttext(changemem%,15,a$)
Db	    �
Dj	  � 4
Dr*    ș "Wimp_DecodeMenu",,fm%,q%,wimp%
Dz    pute$=$wimp%
D�    Ȏ current_print% �
D�
      � 1
D�(        alr$=�gettext(overdue_pr%,3)
D�+        � �Upper(pute$)<>�Upper(alr$) �
D�-          � �Upper(pute$)="SYSTEM FONT" �
D�0            �seti(overdue_pr%,21,&5000000,0)
D�0            �seti(overdue_pr%,22,&500F000,0)
D�            � f_flag% �
D�2              �put_valid(overdue_pr%,21,"F17")
D�H              �put_valid(overdue_pr%,22,"A0-9;R7;Pptr_write;KA;F07")
D�            �
D�          �
D�.            � �Upper(alr$)="SYSTEM FONT" �
D�2              �seti(overdue_pr%,21,&5000000,0)
D�2              �seti(overdue_pr%,22,&500F000,0)
D�              � f_flag% �
E4                �put_valid(overdue_pr%,21,"F12")
E
J                �put_valid(overdue_pr%,22,"A0-9;R7;Pptr_write;KA;F02")
E              �
E0              l%=�(�gettext(overdue_pr%,10))
E"E              ș "Wimp_SetCaretPosition",overdue_pr%,10,0,0,-1,l%
E*            �
E2          �
E:
        �
EB*        �puttext(overdue_pr%,3,$wimp%)
EJ
      � 5
ER$        alr$=�gettext(all_pr%,3)
EZ+        � �Upper(pute$)<>�Upper(alr$) �
Eb-          � �Upper(pute$)="SYSTEM FONT" �
Ej,            �seti(all_pr%,10,&5000000,0)
Er,            �seti(all_pr%,13,&5000000,0)
Ez,            �seti(all_pr%,14,&500F000,0)
E�+            �seti(all_pr%,9,&500B000,0)
E�            � f_flag% �
E�.              �put_valid(all_pr%,10,"F12")
E�.              �put_valid(all_pr%,13,"F17")
E�A              �put_valid(all_pr%,14,"A0-9;R7;Pptr_write;F07")
E�            �
E�          �
E�.            � �Upper(alr$)="SYSTEM FONT" �
E�.              �seti(all_pr%,10,&5000000,0)
E�.              �seti(all_pr%,13,&5000000,0)
E�.              �seti(all_pr%,14,&500F000,0)
E�-              �seti(all_pr%,9,&500B000,0)
E�              � f_flag% �
E�0                �put_valid(all_pr%,10,"F12")
E�0                �put_valid(all_pr%,13,"F17")
E�C                �put_valid(all_pr%,14,"A0-9;R7;Pptr_write;F02")
F              �
F
/              ș "Wimp_SetCaretPosition",-1
F            �
F          �
F"
        �
F*&        �puttext(all_pr%,3,$wimp%)
F2&      : �puttext(print%,3,$wimp%)
F:	    �
FB�
FJ ș "Wimp_GetPointerInfo",,q%
FR� ((q%!8) � 1) �
FZ  � om%=255 �
Fb)    ș "Wimp_CreateMenu",,fm%,ox%,oy%
Fj  �
Fr1    ș "Wimp_CreateMenu",,menad%(om%),ox%,oy%
Fz  �
F��
F��
F�
F�!��process_key(win%,ico%,key%)
F�ș "Wimp_CreateMenu",-1
F�
Ȏ key% �
F�  � &180
F�$    ș "Wimp_GetPointerInfo",,q%
F�    Ȏ q%!12 �
F�      � view_stock%
F�        pr$=""
F�        � �
F�         � � �:pr$="None":� �
F�=        � pr$="" � ș "OS_Module",18,"PDriver" � ,pdr_no%
F�        � pr$="" �
F�)          ș "PDriver_Info" � ,,,,pr%
G          pr$=�string0(pr%)
G

        �
G        � �
G"        �puttext(print%,1,pr$)
G"        !q%=print%
G*(        ș "Wimp_GetWindowState",,q%
G2        q%!28=-1
G:$        ș "Wimp_OpenWindow",,q%
GB        current_print%=2
GJ      � viewmem%
GR        pr$=""
GZ        � �
Gb         � � �:pr$="None":� �
Gj=        � pr$="" � ș "OS_Module",18,"PDriver" � ,pdr_no%
Gr        � pr$="" �
Gz)          ș "PDriver_Info" � ,,,,pr%
G�          pr$=�string0(pr%)
G�
        �
G�        � �
G�"        �puttext(print%,1,pr$)
G�        !q%=print%
G�(        ș "Wimp_GetWindowState",,q%
G�        q%!28=-1
G�$        ș "Wimp_OpenWindow",,q%
G�        current_print%=3
G�      � main_aux%
G�        pr$=""
G�        � �
G�         � � �:pr$="None":� �
G�=        � pr$="" � ș "OS_Module",18,"PDriver" � ,pdr_no%
G�        � pr$="" �
G�)          ș "PDriver_Info" � ,,,,pr%
H          pr$=�string0(pr%)
H

        �
H        � �
H"        �puttext(print%,1,pr$)
H"        � using_rd%=1 �
H*          !q%=print%
H2*          ș "Wimp_GetWindowState",,q%
H:          q%!28=-1
HB&          ș "Wimp_OpenWindow",,q%
HJ          current_print%=4
HR
        �
HZ	    �
Hb  � &181
Hj    � logged_on%=0 �
Hr      !q%=logon%
Hz&      ș "Wimp_GetWindowState",,q%
H�      q%!28=-1
H�"      ș "Wimp_OpenWindow",,q%
H�"      l%=�(�gettext(logon%,1))
H�7      ș "Wimp_SetCaretPosition",logon%,1,0,0,-1,l%
H�	    �
H�%  � &182: � logged_on% � �log_off
H�  � &183
H�    � logged_on% �
H�)      � (pn%(logged_on%) � (1<<11)) �
H�        �update_save_boxes
H�        !q%=save_book%
H�'        ș "Wimp_GetWindowInfo",,q%
H�7        ș "Wimp_CreateMenu",,save_book%,q%!4,q%!16
H�      �
H�	    �
H�  � &184
I    !q%=search%
I
$    ș "Wimp_GetWindowState",,q%
I    q%!28=-1
I     ș "Wimp_OpenWindow",,q%
I""    l%=�(�gettext(search%,11))
I*7    ș "Wimp_SetCaretPosition",search%,11,0,0,-1,l%
I2  � &185
I:    � logged_on% �
IB(      � (pn%(logged_on%) � (1<<0)) �
IJ        !q%=issue%
IR(        ș "Wimp_GetWindowState",,q%
IZ        q%!28=-1
Ib$        ș "Wimp_OpenWindow",,q%
Ij$        l%=�(�gettext(issue%,1))
Ir9        ș "Wimp_SetCaretPosition",issue%,1,0,0,-1,l%
Iz        �issue_set_dates
I�      �
I�	    �
I�  � &186
I�    � logged_on% �
I�(      � (pn%(logged_on%) � (1<<1)) �
I�/        �put_acc_up("Return Book","Return")
I�      �
I�	    �
I�  � &187
I�    � logged_on% �
I�(      � (pn%(logged_on%) � (1<<1)) �
I�        !q%=renew%
I�(        ș "Wimp_GetWindowState",,q%
I�        q%!28=-1
I�$        ș "Wimp_OpenWindow",,q%
I�$        l%=�(�gettext(renew%,1))
J9        ș "Wimp_SetCaretPosition",renew%,1,0,0,-1,l%
J
        �renew_set_dates
J      �
J	    �
J"  � &188
J*    � logged_on% �
J2*      �put_acc_up("View Stock","Find")
J:	    �
JB  � &189
JJ    � logged_on% �
JR(      � (pn%(logged_on%) � (1<<5)) �
JZ        !q%=newmem%
Jb(        ș "Wimp_GetWindowState",,q%
Jj        q%!28=-1
Jr$        ș "Wimp_OpenWindow",,q%
Jz&        l%=�(�gettext(newmem%,14))
J�;        ș "Wimp_SetCaretPosition",newmem%,14,0,0,-1,l%
J�      �
J�	    �
J�  � &191
J�    � logged_on% �
J�(      � (pn%(logged_on%) � (1<<9)) �
J�        !q%=changepass%
J�(        ș "Wimp_GetWindowState",,q%
J�        q%!28=-1
J�$        ș "Wimp_OpenWindow",,q%
J�)        l%=�(�gettext(changepass%,1))
J�>        ș "Wimp_SetCaretPosition",changepass%,1,0,0,-1,l%
J�      �
J�	    �
J�  � &192: �news_display
J�  � &193
K    � logged_on% �
K
)      � (pn%(logged_on%) � (1<<11)) �
K        �update_save_boxes
K        !q%=save_mem%
K"'        ș "Wimp_GetWindowInfo",,q%
K*6        ș "Wimp_CreateMenu",,save_mem%,q%!4,q%!16
K2      �
K:	    �
KB  � &194
KJ    � logged_on% �
KR(      � (pn%(logged_on%) � (1<<8)) �
KZ        !q%=vmq%
Kb(        ș "Wimp_GetWindowState",,q%
Kj        q%!28=-1
Kr$        ș "Wimp_OpenWindow",,q%
Kz"        l%=�(�gettext(vmq%,4))
K�7        ș "Wimp_SetCaretPosition",vmq%,4,0,0,-1,l%
K�      �
K�	    �
K�  � &195
K�    � logged_on% �
K�(      � (pn%(logged_on%) � (1<<2)) �
K�        !q%=add_stock%
K�(        ș "Wimp_GetWindowState",,q%
K�        q%!28=-1
K�$        ș "Wimp_OpenWindow",,q%
K�(        l%=�(�gettext(add_stock%,2))
K�=        ș "Wimp_SetCaretPosition",add_stock%,2,0,0,-1,l%
K�      �
K�	    �
K�  � &196
K�    � logged_on% �
L(      � (pn%(logged_on%) � (1<<2)) �
L
        !q%=pocket%
L(        ș "Wimp_GetWindowState",,q%
L        q%!28=-1
L"$        ș "Wimp_OpenWindow",,q%
L*      �
L2	    �
L:  � &197
LB    � logged_on% �
LJ(      � (pn%(logged_on%) � (1<<3)) �
LR0        �put_acc_up("Remove Stock","Remove")
LZ      �
Lb	    �
Lj  � &198
Lr    � logged_on% �
Lz(      � (pn%(logged_on%) � (1<<4)) �
L�.        �put_acc_up("Change Stock","Find")
L�      �
L�	    �
L�  � &199
L�    � logged_on% �
L�(      � (pn%(logged_on%) � (1<<5)) �
L�        !q%=pock_mem%
L�(        ș "Wimp_GetWindowState",,q%
L�        q%!28=-1
L�$        ș "Wimp_OpenWindow",,q%
L�      �
L�	    �
L�  � &1A1
L�    !q%=display%
L�$    ș "Wimp_GetWindowState",,q%
L�    q%!28=-1
M     ș "Wimp_OpenWindow",,q%
M
  � &1A2
M    � logged_on% �
M)      � (pn%(logged_on%) � (1<<10)) �
M"        !q%=news_imp%
M*(        ș "Wimp_GetWindowState",,q%
M2        q%!28=-1
M:$        ș "Wimp_OpenWindow",,q%
MB      �
MJ	    �
MR  � &1A3
MZ    � logged_on% �
Mb'      � using_rd%=1 � using_rd%=5 �
Mj        !q%=save_text%
Mr'        ș "Wimp_GetWindowInfo",,q%
Mz7        ș "Wimp_CreateMenu",,save_text%,q%!4,q%!16
M�      �
M�	    �
M�  � &1A5
M�    � logged_on% �
M�)      � (pn%(logged_on%) � (1<<13)) �
M�        � c%=0 � 3
M�        ec%(0,c%)=0
M�        � c%
M�         �prepare_export(0,1)
M�      �
M�	    �
M�  � &1A6
M�    � logged_on% �
M�)      � (pn%(logged_on%) � (1<<13)) �
M�        � c%=0 � 3
M�        ec%(1,c%)=0
N        � c%
N
         �prepare_export(1,1)
N      �
N	    �
N"  � &1B3
N*    � logged_on% �
N2'      � using_rd%=1 � using_rd%=5 �
N:        !q%=save_csv%
NB'        ș "Wimp_GetWindowInfo",,q%
NJ6        ș "Wimp_CreateMenu",,save_csv%,q%!4,q%!16
NR      �
NZ	    �
Nb  � &1CA
Nj    � logged_on% �
Nr(      � (pn%(logged_on%) � (1<<6)) �
Nz(        �put_mem_up("Remove Member")
N�      �
N�	    �
N�  � &1CB
N�    � logged_on% �
N�(      � (pn%(logged_on%) � (1<<7)) �
N�(        �put_mem_up("Change Member")
N�      �
N�	    �
N�  � &1DA
N�    � logged_on% �
N�)      � (pn%(logged_on%) � (1<<13)) �
N�        � c%=0 � 3
N�        ec%(2,c%)=�(c%=3)
N�        � c%
N�         �prepare_export(2,1)
N�      �
O	    �
O
  � &1DB
O    � logged_on% �
O)      � (pn%(logged_on%) � (1<<13)) �
O"        � c%=0 � 3
O*        ec%(3,c%)=�(c%=3)
O2        � c%
O:         �prepare_export(3,1)
OB      �
OJ	    �
OR
  � 13
OZ    Ȏ win% �
Ob      � search%
Oj        � ico%=11 �
Or           �xor(search%,12,2)
Oz          �search
O�
        �
O�      � logon%
O�        � ico%=1 �
O�          �xor(logon%,2,2)
O�          �log_on
O�
        �
O�      � changepass%
O�        Ȏ ico% �
O�          � 1
O�-            l%=�(�gettext(changepass%,3))
O�B            ș "Wimp_SetCaretPosition",changepass%,3,0,0,-1,l%
O�          � 3
O�%            �xor(changepass%,4,2)
O�            �pass_alt
O�
        �
O�      � issue%
P        Ȏ ico% �
P
          � 1
P(            l%=�(�gettext(issue%,3))
P=            ș "Wimp_SetCaretPosition",issue%,3,0,0,-1,l%
P"          � 3
P*             �xor(issue%,8,2)
P2            �issuebook
P:
        �
PB      � renew%
PJ        � ico%=1 �
PR          �xor(renew%,9,2)
PZ          �renew(�)
Pb
        �
Pj      � add_stock%
Pr        Ȏ ico% �
Pz          � 2,4,6
P�$            ni%=ico%+2+�(ico%=6)
P�.            l%=�(�gettext(add_stock%,ni%))
P�C            ș "Wimp_SetCaretPosition",add_stock%,ni%,0,0,-1,l%
P�          � 11
P�%            �xor(add_stock%,10,2)
P�            �new_book
P�
        �
P�      � change_stock%
P�        Ȏ ico% �
P�          � 2,4,6
P�$            ni%=ico%+2+�(ico%=6)
P�1            l%=�(�gettext(change_stock%,ni%))
P�F            ș "Wimp_SetCaretPosition",change_stock%,ni%,0,0,-1,l%
P�          � 9
P�(            �xor(change_stock%,10,2)
P�             �change_stock_go
Q
        �
Q
      � newmem%
Q#        � ico%>=14 � ico%<=21 �
Q(          ni%=ico%+1+(1 � (ico%=15))
Q")          l%=�(�gettext(newmem%,ni%))
Q*>          ș "Wimp_SetCaretPosition",newmem%,ni%,0,0,-1,l%
Q2
        �
Q:        � ico%=22 �
QB           �xor(newmem%,36,2)
QJ          �fin_nm(0)
QR
        �
QZ      � vmq%
Qb        Ȏ ico% �
Qj          � 4
Qr&            l%=�(�gettext(vmq%,8))
Qz;            ș "Wimp_SetCaretPosition",vmq%,8,0,0,-1,l%
Q�          � 8
Q�            �xor(vmq%,20,2)
Q�            �view_member
Q�
        �
Q�      � accn_only%
Q�        � ico%=1 �
Q�"          �xor(accn_only%,2,2)
Q�          �accn_o_fin
Q�
        �
Q�      � mem_only%
Q�        � ico%=1 �
Q�!          �xor(mem_only%,2,2)
Q�          �mem_o_fin
Q�
        �
Q�      � optlend%
Q�        Ȏ ico% �
R          � 5
R
*            l%=�(�gettext(optlend%,6))
R?            ș "Wimp_SetCaretPosition",optlend%,6,0,0,-1,l%
R          � 6
R"+            l%=�(�gettext(optlend%,13))
R*@            ș "Wimp_SetCaretPosition",optlend%,13,0,0,-1,l%
R2          � 13,14
R:/            l%=�(�gettext(optlend%,ico%+1))
RBD            ș "Wimp_SetCaretPosition",optlend%,ico%+1,0,0,-1,l%
RJ          � 15
RR"            �xor(optlend%,4,2)
RZ            �up_o_lend
Rb
        �
Rj      � optpc%
Rr         � ico%=5 � ico%=32 �
Rz          ni%=�(ico%-32)+5
R�&          l%=�(�gettext(win%,ni%))
R�=          ș "Wimp_SetCaretPosition",optpc%,ni%,0,0,-1,l%
R�
        �
R�      � opt_fines%
R�        ni%=-1
R�        � ico%=1 � ni%=25
R�.        � ico%>=25 � ico%<=35 � ni%=ico%+1
R�        � ico%=36 �
R�#          �xor(opt_fines%,40,2)
R�          �save_fines
R�
        �
R�,          l%=�(�gettext(opt_fines%,ni%))
R�A          ș "Wimp_SetCaretPosition",opt_fines%,ni%,0,0,-1,l%
R�
        �
R�      � changemem%
R�        ni%=-1
S-        � ico%>=5 � ico%<=13 � ni%=ico%+1
S
        � ico%=14 �
S#          �xor(changemem%,26,2)
S          �save_ch_mem
S"
        �
S*,          l%=�(�gettext(changemem%,ni%))
S2A          ș "Wimp_SetCaretPosition",changemem%,ni%,0,0,-1,l%
S:
        �
SB      � save_text%
SJ         �xor(save_text%,2,2)
SR%        n$=�gettext(save_text%,1)
SZ'        � �n$,".")=0 � �n$,":")=0 �
SbO          �dis_message("To save, drag the file icon to a directory viewer")
Sj
        �
Sr           �save_export(n$,0)
Sz
        �
S�      � save_csv%
S�        �xor(save_csv%,2,2)
S�$        n$=�gettext(save_csv%,1)
S�'        � �n$,".")=0 � �n$,":")=0 �
S�O          �dis_message("To save, drag the file icon to a directory viewer")
S�
        �
S�           �save_export(n$,1)
S�
        �
S�      � export_csv%
S�!        �xor(export_csv%,2,2)
S�&        n$=�gettext(export_csv%,1)
S�'        � �n$,".")=0 � �n$,":")=0 �
S�O          �dis_message("To save, drag the file icon to a directory viewer")
S�
        �
S�!          �start_export(n$,0)
S�
        �
T      � export_text%
T
"        �xor(export_text%,2,2)
T'        n$=�gettext(export_text%,1)
T'        � �n$,".")=0 � �n$,":")=0 �
T"O          �dis_message("To save, drag the file icon to a directory viewer")
T*
        �
T2!          �start_export(n$,1)
T:
        �
TB	    �
TJ  
TR!    ș "Wimp_ProcessKey",key%
TZ�
Tb�
Tj
Tr��decode_button_press
Tz
Ȏ q%!8 �
T�	  � 1
T�    Ȏ q%!12 �
T�      � optpc%
T�        Ȏ q%!16 �
T�.          � 2,3: �move_pass_id(�(q%!16-3))
T�
        �
T�      � save_book%
T�        Ȏ q%!16 �
T�          � 3
T�*            tx$=�gettext(save_book%,1)
T�%            tx%=�(�tx$,�(tx$)-7))
T�            tx%-=1
T�             � tx%=-1 � tx%=9
T�7            �puttext(save_book%,1,"!!Books"+�(tx%))
T�          � 4
T�*            tx$=�gettext(save_book%,1)
U%            tx%=�(�tx$,�(tx$)-7))
U
            tx%+=1
U             � tx%=10 � tx%=0
U7            �puttext(save_book%,1,"!!Books"+�(tx%))
U"
        �
U*      � save_mem%
U2        Ȏ q%!16 �
U:          � 2
UBQ            �dis_message("To save, drag the file icon to a directory viewer")
UJ          � 3
UR)            tx$=�gettext(save_mem%,1)
UZ%            tx%=�(�tx$,�(tx$)-8))
Ub            tx%-=1
Uj!            � tx%=-1 � tx%=99
Ur7            �puttext(save_mem%,1,"!!Member"+�(tx%))
Uz          � 4
U�)            tx$=�gettext(save_mem%,1)
U�%            tx%=�(�tx$,�(tx$)-8))
U�            tx%+=1
U�!            � tx%=100 � tx%=0
U�7            �puttext(save_mem%,1,"!!Member"+�(tx%))
U�
        �
U�	    �
U�	  � 2
U�    Ȏ q%!12 �
U�      � -2,display%
U�<        � (q%!12=-2 � q%!16=libicon%) � q%!12=display% �
U�           �update_save_boxes
U�          � q%!12=-2 �
U�?            ș "Wimp_CreateMenu",,menad%(1),q%!0-96,44*9+52
U�-            ox%=q%!0-96:oy%=44*9+52:om%=1
U�          �
V9            ș "Wimp_CreateMenu",,menad%(1),q%!0,q%!4
V
'            ox%=q%!0:oy%=q%!4:om%=1
V          �
V          menu_flag%=0
V"
        �
V*      � newmem%
V2        � q%!16=24 �
V:7          ș "Wimp_CreateMenu",,menad%(8),q%!0,q%!4
VB$          ox%=!q%:oy%=q%!4:om%=8
VJ          menu_flag%=1
VR
        �
VZ      � main_aux%
Vb)        � using_rd%=1 � using_rd%=5 �
Vj7          ș "Wimp_CreateMenu",,menad%(9),q%!0,q%!4
Vr$          ox%=!q%:oy%=q%!4:om%=9
Vz          menu_flag%=2
V�
        �
V�      � changemem%
V�        � q%!16=15 �
V�8          ș "Wimp_CreateMenu",,menad%(11),q%!0,q%!4
V�%          ox%=!q%:oy%=q%!4:om%=11
V�          menu_flag%=3
V�
        �
V�&      � overdue_pr%,print%,all_pr%
V�        � q%!16=3 �
V�K          ș "OS_ReadVarVal","Library$Templates",wimp%,256,0,0 � ,,len%
V�          wimp%?(len%)=0
V�#          temp$=�string0(wimp%)
V�$          � temp$="Templates3" �
V�            ff%=3<<19
V�?            ș "Font_ListFonts",,fm%,ff%,&2000,fmi%,&2000,0
V�3            ș "Wimp_CreateMenu",,fm%,q%!0,q%!4
W(            ox%=!q%:oy%=q%!4:om%=255
W
            menu_flag%=4
W          �
W
        �
W"      : menu_flag%=-1
W*	    �
W2	  � 4
W:    Ȏ q%!12 �
WB      � -2
WJ        � q%!16=libicon% �
WR          !q%=display%
WZ*          ș "Wimp_GetWindowState",,q%
Wb          q%!28=-1
Wj&          ș "Wimp_OpenWindow",,q%
Wr
        �
Wz      � search%
W�        Ȏ q%!16 �
W�          � 12: �search
W�          � 13
W�&            �cleartext(search%,11)
W�            !q%=search%
W�)            ș "Wimp_CloseWindow",,q%
W�
        �
W�      � logon%
W�        Ȏ q%!16 �
W�          � 2: �log_on
W�          � 3
W�$            �cleartext(logon%,1)
W�            !q%=logon%
W�)            ș "Wimp_CloseWindow",,q%
W�
        �
W�      � changepass%
X        Ȏ q%!16 �
X
          � 4: �pass_alt
X          � 5
X)            �cleartext(changepass%,1)
X")            �cleartext(changepass%,3)
X*            !q%=changepass%
X2)            ș "Wimp_CloseWindow",,q%
X:
        �
XB      � issue%
XJ        Ȏ q%!16 �
XR&          � 4: �issuebook_and_exit
XZ          � 8: �issuebook
Xb          � 13
Xj$            �cleartext(issue%,1)
Xr$            �cleartext(issue%,3)
Xz%            �cleartext(issue%,12)
X�            !q%=issue%
X�)            ș "Wimp_CloseWindow",,q%
X�
        �
X�      � add_stock%
X�        Ȏ q%!16 �
X�          � 10: �new_book
X�          � 11
X�            �new_book
X�            !q%=add_stock%
X�)            ș "Wimp_CloseWindow",,q%
X�          � 18
X�(            �cleartext(add_stock%,2)
X�(            �cleartext(add_stock%,4)
X�(            �cleartext(add_stock%,6)
X�(            �cleartext(add_stock%,9)
X�)            �cleartext(add_stock%,16)
Y            !q%=add_stock%
Y
)            ș "Wimp_CloseWindow",,q%
Y
        �
Y      � newmem%
Y"        Ȏ q%!16 �
Y**          � 36,37: �fin_nm((q%!16)-36)
Y2          � 11
Y:*            l%=�(�gettext(newmem%,14))
YB?            ș "Wimp_SetCaretPosition",newmem%,14,0,0,-1,l%
YJ          � 40
YR&            �cleartext(newmem%,35)
YZ            � c%=17 � 22
Yb&            �cleartext(newmem%,c%)
Yj            � c%
Yr            � c%=14 � 15
Yz&            �cleartext(newmem%,c%)
Y�            � c%
Y�            !q%=newmem%
Y�)            ș "Wimp_CloseWindow",,q%
Y�
        �
Y�      � vmq%
Y�        Ȏ q%!16 �
Y�           � 20: �view_member
Y�          � 21
Y�"            �cleartext(vmq%,4)
Y�"            �cleartext(vmq%,8)
Y�            !q%=vmq%
Y�)            ș "Wimp_CloseWindow",,q%
Y�
        �
Y�      � renew%
Y�        Ȏ q%!16 �
Y�          � 9: �renew(�)
Z          � 10: �renew(�)
Z
          � 11
Z$            �cleartext(renew%,1)
Z$            �cleartext(renew%,8)
Z"            !q%=renew%
Z*)            ș "Wimp_CloseWindow",,q%
Z2
        �
Z:      � accn_only%
ZB        Ȏ q%!16 �
ZJ          � 2: �accn_o_fin
ZR          � 3
ZZ(            �cleartext(accn_only%,1)
Zb            !q%=accn_only%
Zj)            ș "Wimp_CloseWindow",,q%
Zr
        �
Zz      � mem_only%
Z�        Ȏ q%!16 �
Z�          � 2: �mem_o_fin
Z�          � 3
Z�'            �cleartext(mem_only%,1)
Z�            !q%=mem_only%
Z�)            ș "Wimp_CloseWindow",,q%
Z�
        �
Z�      � change_stock%
Z�        Ȏ q%!16 �
Z�$          � 10: �change_stock_go
Z�          � 11
Z�!            !q%=change_stock%
Z�)            ș "Wimp_CloseWindow",,q%
Z�
        �
Z�      � view_stock%
Z�        � q%!16=10 �
[          !q%=q%!12
[
'          ș "Wimp_CloseWindow",,q%
[
        �
[      � optpc%
["        Ȏ q%!16 �
[*+          � 2,3: �move_pass_id(q%!16-2)
[2          � 33: �save_pass
[:           � 36: �delete_pass
[B          � 37
[J            !q%=optpc%
[R)            ș "Wimp_CloseWindow",,q%
[Z
        �
[b      � optlend%
[j        Ȏ q%!16 �
[r          � 4: �up_o_lend
[z          � 16
[�            !q%=optlend%
[�)            ș "Wimp_CloseWindow",,q%
[�
        �
[�      � save_book%
[�        Ȏ q%!16 �
[�          � 2
[�Q            �dis_message("To save, drag the file icon to a directory viewer")
[�          � 3
[�*            tx$=�gettext(save_book%,1)
[�%            tx%=�(�tx$,�(tx$)-7))
[�            tx%+=1
[�             � tx%=10 � tx%=0
[�7            �puttext(save_book%,1,"!!Books"+�(tx%))
[�          � 4
[�*            tx$=�gettext(save_book%,1)
[�%            tx%=�(�tx$,�(tx$)-7))
\            tx%-=1
\
             � tx%=-1 � tx%=9
\7            �puttext(save_book%,1,"!!Books"+�(tx%))
\
        �
\"      � save_mem%
\*        Ȏ q%!16 �
\2          � 2
\:Q            �dis_message("To save, drag the file icon to a directory viewer")
\B          � 3
\J)            tx$=�gettext(save_mem%,1)
\R%            tx%=�(�tx$,�(tx$)-8))
\Z            tx%+=1
\b!            � tx%=100 � tx%=0
\j7            �puttext(save_mem%,1,"!!Member"+�(tx%))
\r          � 4
\z)            tx$=�gettext(save_mem%,1)
\�%            tx%=�(�tx$,�(tx$)-8))
\�            tx%-=1
\�!            � tx%=-1 � tx%=99
\�7            �puttext(save_mem%,1,"!!Member"+�(tx%))
\�
        �
\�      � save_text%
\�        � q%!16=2 �
\�'          n$=�gettext(save_text%,1)
\�)          � �n$,".")=0 � �n$,":")=0 �
\�Q            �dis_message("To save, drag the file icon to a directory viewer")
\�          �
\�"            �save_export(n$,0)
\�$            ș "Hourglass_Smash"
\�          �
\�
        �
\�      � save_csv%
]        � q%!16=2 �
]
&          n$=�gettext(save_csv%,1)
])          � �n$,".")=0 � �n$,":")=0 �
]Q            �dis_message("To save, drag the file icon to a directory viewer")
]"          �
]*"            �save_export(n$,1)
]2$            ș "Hourglass_Smash"
]:          �
]B
        �
]J      � export_csv%
]R        � q%!16=2 �
]Z(          n$=�gettext(export_csv%,1)
]b)          � �n$,".")=0 � �n$,":")=0 �
]jQ            �dis_message("To save, drag the file icon to a directory viewer")
]r          �
]z#            �start_export(n$,0)
]�$            ș "Hourglass_Smash"
]�          �
]�
        �
]�      � export_text%
]�        � q%!16=2 �
]�)          n$=�gettext(export_text%,1)
]�)          � �n$,".")=0 � �n$,":")=0 �
]�Q            �dis_message("To save, drag the file icon to a directory viewer")
]�          �
]�#            �start_export(n$,1)
]�$            ș "Hourglass_Smash"
]�          �
]�
        �
]�      � opt_fines%
]�        Ȏ q%!16 �
]�          � 38
^            � c%=4 � 13
^
C            � �IconGet(opt_fines%,c%)=1 � �xor(opt_fines%,c%,1)
^            � c%
^%            �xor(opt_fines%,38,1)
^"            � c%=25 � 36
^**            �puttext(opt_fines%,c%,"")
^2            � c%
^:,            l%=�(�gettext(opt_fines%,1))
^BA            ș "Wimp_SetCaretPosition",opt_fines%,1,0,0,-1,l%
^J          � 40
^R            �save_fines
^Z          � 41
^b            !q%=opt_fines%
^j)            ș "Wimp_CloseWindow",,q%
^r
        �
^z      � remmem%
^�        Ȏ q%!16 �
^�          � 17
^�B            � cur_vb%>1 � cur_vb%-=1:�insert_mem_text(remmem%)
^�          � 18
^�E            � cur_vb%<vbn% � cur_vb%+=1:�insert_mem_text(remmem%)
^�          � 26
^�            � vbn%>0 �
^�M              a$="This member cannot be deleted as there are still books"
^�&              a$+=" on the ticket"
^�"              �dis_message(a$)
^�            �
^�              �wipe_mem
^�            �
^�          � 27
^�            !q%=remmem%
^�)            ș "Wimp_CloseWindow",,q%
_
        �
_
      � changemem%
_        Ȏ q%!16 �
_          � 17
_"E            � cur_vb%>1 � cur_vb%-=1:�insert_mem_text(changemem%)
_*          � 18
_2             � cur_vb%<vbn% �
_:              cur_vb%+=1
_B.              �insert_mem_text(changemem%)
_J            �
_R          � 26
_Z            �save_ch_mem
_b          � 27
_j            !q%=changemem%
_r)            ș "Wimp_CloseWindow",,q%
_z
        �
_�      � viewmem%
_�        Ȏ q%!16 �
_�          � 17
_�C            � cur_vb%>1 � cur_vb%-=1:�insert_mem_text(viewmem%)
_�          � 18
_�             � cur_vb%<vbn% �
_�              cur_vb%+=1
_�,              �insert_mem_text(viewmem%)
_�            �
_�          � 28
_�            !q%=viewmem%
_�)            ș "Wimp_CloseWindow",,q%
_�          � 29
_�#            � current_view%>0 �
_�"              current_view%-=1
_�<              �dis_mem_details(winstack$(current_view%))
`            �
`
          � 30
`+            � current_view%<max_view% �
`"              current_view%+=1
`"<              �dis_mem_details(winstack$(current_view%))
`*            �
`2
        �
`:      � overdue_pr%
`B        Ȏ q%!16 �
`J1          � 14: printflag%=�:current_print%=1
`R=          � 15: !q%=overdue_pr%:ș "Wimp_CloseWindow",,q%
`Z
        �
`b      � print%
`j        Ȏ q%!16 �
`r7          � 4: !q%=print%:ș "Wimp_CloseWindow",,q%
`z          � 5: printflag%=�
`�
        �
`�      � all_pr%
`�        Ȏ q%!16 �
`�9          � 11: !q%=all_pr%:ș "Wimp_CloseWindow",,q%
`�           � 12: printflag%=�
`�
        �
`�	    �
`�
  � 16,64
`�    �drag_box(q%!12)
`��
`��
`�
`���drag_box(win%)
`�z� win%<>save_book% � win%<>save_mem% � win%<>save_csv% � win%<>save_text% � win%<>export_text% � win%<>export_csv% � �
`�� x%,y%
`�)!q%=win%:ș "Wimp_GetWindowState",,q%
a x%=q%!4-q%!20:y%=q%!16-q%!24
a
7q%!4=0+(3 � (win%=export_csv% � win%=export_text%))
aș "Wimp_GetIconState",,q%
a!q%=win%
a"
q%!4=5
a*q%!8+=x%:q%!12+=y%
a2q%!16+=x%:q%!20+=y%
a:q%!24=0:q%!28=0
aB#q%!32=&7FFFFFFF:q%!36=&7FFFFFFF
aJ!ș "OS_Byte",161,28 � ,,byte%
aR� (byte% � 1) �
aZ  � c%=0 � 12
ab  q%!c%=q%!(c%+8)
aj
  � c%
ar  Ȏ win% �
az4    � save_book%: area%=sprites%:name$="!!books"
a�5    � save_mem%: area%=sprites%:name$="!!members"
a�;    � save_text%,export_text%: area%=1:name$="file_fff"
a�9    � save_csv%,export_csv%: area%=1:name$="file_dfe"
a�  �
a�5  ș "DragASprite_Start",%11001010,area%,name$,q%
a��
a�  ș "Wimp_DragBox",,q%
a��
a�drag_source%=win%
a��
a�
a�
��dragger
a�� file$,win%,ic%,x%,y%
a�)� (byte% � 1) � ș "DragASprite_Stop"
a� ș "Wimp_GetPointerInfo",,q%
a�0q%!20=q%!12:q%!24=q%!16:q%!28=!q%:q%!32=q%!4
b?!wimp%=drag_source%:wimp%!4=1:ș "Wimp_GetIconState",,wimp%
b
file$=$(wimp%!28)
bfile$=�_Leaf(file$)
bȎ drag_source% �
b"   � save_book%: q%!36=146000
b*  � save_mem%: q%!36=563000
b2  � save_text%: q%!36=2048
b:  � save_csv%: q%!36=2048
bB  � export_text%: q%!36=10
bJ  � export_csv%: q%!36=10
bR�
bZq%!0=64
bbq%!12=0
bjq%!16=1
brq%!40=&FFF
bz$(q%+44)=file$
b�+ș "Wimp_SendMessage",17,q%,q%!20,q%!24
b��
b�
b���save_book_file(n$)
b�filo%=�(n$+".!Boot")
b��#filo%
b�� filo%<>0 �
b�  !q%=dir_exists%
b�"  ș "Wimp_GetWindowState",,q%
b�  q%!28=-1
b�  ș "Wimp_OpenWindow",,q%
b�  �
b�%    ș "Wimp_Poll",&81830,q% � A%
b�6  � A%=6 � q%!12=dir_exists% � (q%!16=5 � q%!16=6)
b�  !q%=dir_exists%
b�  ș "Wimp_CloseWindow",,q%
c  � q%!16=5 � �
c
�
c�("CDir "+n$)
c�("CDir "+n$+".Files")
c"� c%=0 � 9
c*!�("CDir "+n$+".Files."+�(c%))
c2� c%
c:2ș "OS_SpriteOp",&10D,booksp%,bookspname%,12,1
cB&sprite_name$=�string0(bookspname%)
cJ;ș "OS_SpriteOp",&11A,booksp%,sprite_name$,(�_Leaf(n$))
cR2ș "OS_SpriteOp",&10C,booksp%,(n$+".!Sprites")
cZ6ș "OS_SpriteOp",&10D,booksp22%,booksp22name%,12,1
cb(sprite_name$=�string0(booksp22name%)
cj=ș "OS_SpriteOp",&11A,booksp22%,sprite_name$,(�_Leaf(n$))
cr6ș "OS_SpriteOp",&10C,booksp22%,(n$+".!Sprites22")
czfilo%=�(n$+".!Boot")
c�+�#filo%,("|!Boot file for "+�_Leaf(n$))
c�dir%=�(¤_Leaf(n$),1))
c��#filo%,""
c�Fa$="Set "+(¤_Leaf(n$),(�(�_Leaf(n$))-2)))+"$Dir <Obey$Dir>.Files"
c��#filo%,a$
c�-�#filo%,"IconSprites <Obey$Dir>.!Sprites"
c��#filo%
c�%�("SetType "+n$+".!Boot"+" Obey")
c�filo%=�(n$+".!Run")
c�*�#filo%,("|!Run file for "+�_Leaf(n$))
c��#filo%,""
c�Fa$="Set "+(¤_Leaf(n$),(�(�_Leaf(n$))-2)))+"$Dir <Obey$Dir>.Files"
c��#filo%,a$
c�-�#filo%,"IconSprites <Obey$Dir>.!Sprites"
c�>�#filo%,"Set Alias$OpenDir Filer_OpenDir <Obey$Dir>.Files"
c��#filo%,"OpenDir"
d�#filo%,"Unset OpenDir"
d
�#filo%
d$�("SetType "+n$+".!Run"+" Obey")
d� c%=0 � 1249
d"bookdef%?c%=0
d*� c%
d2cur_bd%=-1
d:5�("Save "+n$+".BookDef "+�~bookdef%+" + "+�~1250)
dBș "Hourglass_On"
dJ� c%=0 � 9
dR� d%=0 � 9
dZ&ș "Hourglass_Percentage",c%*10+d%
db:filo%=�(n$+".Files."+�(c%)+"."+�(d%)+"00-"+�(d%)+"99")
dj� q%=1 � 100
dr� e%=0 � 4
dz�#filo%,""
d�� e%
d�	put=0
d�� e%=1 � 2
d��#filo%,put
d�� e%
d�� q%
d��#filo%
d�� d%,c%
d�ș "Hourglass_Off"
d�ș "Wimp_CreateMenu",-1
d�� w_a% �
d�9  a$="P"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+n$
d�  �add_watchdog(a$)
d��
d��
d�
e��save_mem_file(n$)
e
filo%=�(n$+".!Boot")
e�#filo%
e� filo%<>0 �
e"  !q%=dir_exists%
e*"  ș "Wimp_GetWindowState",,q%
e2  q%!28=-1
e:  ș "Wimp_OpenWindow",,q%
eB  �
eJ%    ș "Wimp_Poll",&81830,q% � A%
eR6  � A%=6 � q%!12=dir_exists% � (q%!16=5 � q%!16=6)
eZ  !q%=dir_exists%
eb  ș "Wimp_CloseWindow",,q%
ej  � q%!16=5 � �
er�
ezș "Hourglass_On"
e��("CDir "+n$)
e��("CDir "+n$+".Files")
e�0ș "OS_SpriteOp",&10D,memsp%,memspname%,12,1
e�%sprite_name$=�string0(memspname%)
e�:ș "OS_SpriteOp",&11A,memsp%,sprite_name$,(�_Leaf(n$))
e�1ș "OS_SpriteOp",&10C,memsp%,(n$+".!Sprites")
e�4ș "OS_SpriteOp",&10D,memsp22%,memsp22name%,12,1
e�'sprite_name$=�string0(memsp22name%)
e�<ș "OS_SpriteOp",&11A,memsp22%,sprite_name$,(�_Leaf(n$))
e�5ș "OS_SpriteOp",&10C,memsp22%,(n$+".!Sprites22")
e�filo%=�(n$+".!Boot")
e�+�#filo%,("|!Boot file for "+�_Leaf(n$))
e��#filo%,""
e�Fa$="Set "+(¤_Leaf(n$),(�(�_Leaf(n$))-2)))+"$Dir <Obey$Dir>.Files"
e��#filo%,a$
e�-�#filo%,"IconSprites <Obey$Dir>.!Sprites"
f�#filo%
f
%�("SetType "+n$+".!Boot"+" Obey")
ffilo%=�(n$+".!Run")
f*�#filo%,("|!Run file for "+�_Leaf(n$))
f"�#filo%,""
f*Fa$="Set "+(¤_Leaf(n$),(�(�_Leaf(n$))-2)))+"$Dir <Obey$Dir>.Files"
f2�#filo%,a$
f:-�#filo%,"IconSprites <Obey$Dir>.!Sprites"
fB>�#filo%,"Set Alias$OpenDir Filer_OpenDir <Obey$Dir>.Files"
fJ�#filo%,"OpenDir"
fR�#filo%,"Unset OpenDir"
fZ�#filo%
fb$�("SetType "+n$+".!Run"+" Obey")
fjș "Hourglass_On"
fr� c%=65 � 90
fz!�("Cdir "+n$+".Files."+�(c%))
f�� d%=0 � 9
f�5ș "Hourglass_Percentage",((c%-65)*10+d%)/260*100
f�)filo%=�(n$+".Files."+�(c%)+"."+�(d%))
f�
�#filo%,0
f��#filo%
f�� d%,c%
f�ș "Wimp_CreateMenu",-1
f�� w_a% �
f�9  a$="Q"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+n$
f�  �add_watchdog(a$)
f��
f�ș "Hourglass_Off"
f��
f�
f�
��init
f�� taskid%4:$taskid%="TASK"
g@ș "Wimp_Initialise",223,!taskid%,"Library" � version%,myid%
g
� menad%(300)
g,� winstack$(10000),winkey(10000):winp%=0
g� line$(100),lin%(100)
g"� odt$(30)
g*� lending%(1,2)
g2� menu% &2000:cur%=menu%
g:� menuind% &2000:mein%=0
gB� fm% &2000,fmi% &2000
gJ� address$(6)
gR� comma_pl%(12)
gZ� vari$(13)
gb� pock_tin$(3)
gj� vm_dt$(100,4)
gr� helpi%(1000,1)
gz� helpi$(1000)
g�� q% &2000
g�� wimp% 1024
g�� buffers% 512
g�� Dbuffer 13
g� � var$(99,4),var_sp$(9,99,4)
g�� sen(99,1),sen_sp(9,99,1)
g�� sepr%(1,1,10)
g�� _titlestring% 256
g�
� _p% 256
g�� memdata%(30)
g�� bookdef% 12500:cur_bd%=-1
g�� book_dir_def%(10)
g�� mem_dir_def%(100)
g�� s%(4)
g�� got$(100)
g�� day(1),mon(1),yr(1)
h� pass$(255,1),pn%(255)
h
� in%(9)
h.� trans% 16,rect% 16,plotat% 16,rectin% 16
h� pa$(200),pan%(200)
h"� ec%(3,3)
h*curr_exp%=-1
h2
p_ptr%=-1
h:
cache%=-1
hB
cdf%=�
hJmenu_flag%=-1
hRprintflag%=�
hZlogged_on%=�
hbhelpi_ptr%=0
hjusing_rd%=0
hrsmeg_flag%=�
hzș "Hourglass_On"
h��sprite_load
h�libicon%=�icon
h�!ș "Wimp_Poll",&81830,q% � A%
h��init_templates
h��open_display
h�4�puttext(display%,2,"Loading version number...")
h�!ș "Wimp_Poll",&81830,q% � A%
h��init_vers
h�1�puttext(display%,2,"Loading preferences...")
h�!ș "Wimp_Poll",&81830,q% � A%
h��init_prefs
h�:�puttext(display%,2,"Looking for book directories...")
h�!ș "Wimp_Poll",&81830,q% � A%
h��check_book_dirs
h�<�puttext(display%,2,"Looking for member directories...")
h�!ș "Wimp_Poll",&81830,q% � A%
i�check_mem_dirs
i
.�puttext(display%,2,"Setting up menus...")
i!ș "Wimp_Poll",&81830,q% � A%
i�setupmenu
i";�puttext(display%,2,"Loading interactive help text...")
i*!ș "Wimp_Poll",&81830,q% � A%
i2�init_help
i::�puttext(display%,2,"Loading password information...")
iB!ș "Wimp_Poll",&81830,q% � A%
iJ�init_pass
iR:�puttext(display%,2,"Initialising access settings...")
iZ!ș "Wimp_Poll",&81830,q% � A%
ib�init_grey
ijș "Hourglass_Smash"
ir�
iz
i���init_grey
i�=menad%(1)!(28+(5*24)+8)=menad%(1)!(28+(5*24)+8) � (1<<22)
i�=menad%(1)!(28+(3*24)+8)=menad%(1)!(28+(3*24)+8) � (1<<22)
i�2filo%=�("<Library$Dir>.Preference.WatchActiv")
i�w_a%=�#filo%
i�wa%=1-w_a%
i��#filo%
i�Jmenad%(10)!(28+((wa%+1)*24)+8)=menad%(1)!(28+((wa%+1)*24)+8) � (1<<22)
i�� grey%(13,1)
i�� +3
i�� c%=0 � 13
i�� grey%(c%,0),grey%(c%,1)
i�� c%
i�=� 3,0,3,1,3,3,3,4,3,5,4,0,4,1,4,2,4,3,2,2,2,3,2,4,2,6,3,7
i�Aș "OS_ReadVarVal","Library$Templates",wimp%,256,0,0 � ,,len%
i�wimp%?(len%)=0
jtemp$=�string0(wimp%)
j
� temp$="Templates2" �
j?  menad%(6)!(28+(3*24)+8)=menad%(6)!(28+(3*24)+8) � (1<<22)
j�
j"  � f_flag% �
j*7    menad%(6)!(28+(3*24))=menad%(6)!(28+(3*24)) � 1
j2  �
j:�
jB�
jJ
jRݤGet_Search(s$)
jZl%=�(s$)
jb� l%=0 � =0
jj	acc=0
jr� l%>=27 �
jz  � c%=1 � 27
j�'  acc+=26^(27-c%)*(�(�s$,c%,1))-65)
j�
  � c%
j��
j�  � c%=1 � �(s$)
j�'  acc+=26^(27-c%)*(�(�s$,c%,1))-65)
j�
  � c%
j��
j�=acc
j�
j���search_title
j��check_book_dirs
j��check_mem_dirs
j�� book_count%=0 �
j�F  �dis_message("No book directories have been seen by the filer.")
j�  �
j��
kusing_rd%=2
k
winp%=0
kt$=�gettext(search%,11)
kt$=�Remove_Punc(�Upper(t$))
k"no$=�Accn_Algorithm(�,t$)
k*ct%=�(�no$,2,2))
k2ȕ ct%<=99 � winp%<21
k:"  �open_book_cache_search(no$)
kB  pick%=�(no$) � 100
kJ  w%=pick%
kR  ș "Hourglass_On"
kZ  ȕ w%<100 � winp%<21
kb    i%=0
kj    ȕ i%<10 � winp%<21
kr      � book_dir_def%(i%) �
kz"        com$=�Twine(no$,w%,i%)
k�        no%=�(�com$,5))
k�        divis%=no% � 8
k�        modul%=no% � 8
k�<        � ((bookdef%?divis% � (1<<modul%))>>>modul%)=1 �
k�+          winkey(winp%)=sen_sp(i%,w%,0)
k�/          winstack$(winp%)=var_sp$(i%,w%,0)
k�4          winstack$(winp%)+="�"+var_sp$(i%,w%,1)
k�4          winstack$(winp%)+="�"+var_sp$(i%,w%,2)
k�4          winstack$(winp%)+="�"+var_sp$(i%,w%,4)
k�(          winstack$(winp%)+="�"+com$
k�%          winp%+=-1*(winp%<10000)
k�
        �
k�      �
k�      i%+=1
k�	    �
k�
    w%+=1
l  �
l
  ș "Hourglass_Off"
l  ct%+=1
l  no$=�zero(�(ct%),3)+"00"
l"�
l*�sort(winp%-1)
l2	!q%=0
l:q%!4=-10+(winp%)*-48
lBq%!8=(6+50+40+15+30)*16
lJq%!12=0
lR$ș "Wimp_SetExtent",main_aux%,q%
lZ!q%=main_aux%
lbș "Wimp_GetWindowInfo",,q%
lj_p%=!(q%+76)
lr$_p%="Search by Title"
lz�compile_st_win
l�ș "Hourglass_Off"
l�!q%=main_aux%
l� ș "Wimp_GetWindowState",,q%
l�q%!28=-1
l�ș "Wimp_OpenWindow",,q%
l��
l�
l���search_author
l��check_book_dirs
l��check_mem_dirs
l�� book_count%=0 �
l�F  �dis_message("No book directories have been seen by the filer.")
l�  �
l��
l�using_rd%=2
l�winp%=0
mt$=�gettext(search%,11)
m
t$=�Remove_Punc(�Upper(t$))
mcmp=�Get_Search(t$)
mno$="00000"
m"	ct%=0
m*ȕ ct%<=99 � winp%<1001
m2"  �open_book_cache_search(no$)
m:  pick%=�(no$) � 100
mB  w%=pick%
mJ  ș "Hourglass_On"
mR  ȕ w%<100 � winp%<1001
mZ    i%=0
mb    ȕ i%<10 � winp%<1001
mj      � book_dir_def%(i%) �
mr"        com$=�Twine(no$,w%,i%)
mz        no%=�(�com$,5))
m�        divis%=no% � 8
m�        modul%=no% � 8
m�<        � ((bookdef%?divis% � (1<<modul%))>>>modul%)=1 �
m�+          winkey(winp%)=sen_sp(i%,w%,1)
m�&          � sen_sp(i%,w%,1)>=cmp �
m�1            winstack$(winp%)=var_sp$(i%,w%,0)
m�6            winstack$(winp%)+="�"+var_sp$(i%,w%,1)
m�6            winstack$(winp%)+="�"+var_sp$(i%,w%,2)
m�6            winstack$(winp%)+="�"+var_sp$(i%,w%,4)
m�*            winstack$(winp%)+="�"+com$
m�'            winp%+=-1*(winp%<10000)
m�          �
m�
        �
m�      �
m�      i%+=1
m�	    �
n
    w%+=1
n
  �
n  ș "Hourglass_Off"
n  ct%+=1
n"  no$=�zero(�(ct%),3)+"00"
n*�
n2�sort(winp%-1)
n:	!q%=0
nBq%!4=-10+(winp%)*-48
nJq%!8=(6+50+40+15+30)*16
nRq%!12=0
nZ$ș "Wimp_SetExtent",main_aux%,q%
nb!q%=main_aux%
njș "Wimp_GetWindowInfo",,q%
nr_p%=!(q%+76)
nz$_p%="Search by Author"
n��compile_st_win
n�ș "Hourglass_Off"
n�!q%=main_aux%
n� ș "Wimp_GetWindowState",,q%
n�q%!28=-1
n�ș "Wimp_OpenWindow",,q%
n��
n�
n���search_accn
n��check_book_dirs
n��check_mem_dirs
n�� book_count%=0 �
n�F  �dis_message("No book directories have been seen by the filer.")
n�  �
n��
n�using_rd%=2
owinp%=0
o
t$=�gettext(search%,11)
ot$=�Remove_Punc(�Upper(t$))
ono$=�t$,5)
o"ct%=�(�no$,2,2))
o*ȕ ct%<=99 � winp%<21
o2"  �open_book_cache_search(no$)
o:  pick%=�(no$) � 100
oB  w%=pick%
oJ  ș "Hourglass_On"
oR  ȕ w%<100 � winp%<21
oZ    i%=0
ob    ȕ i%<10 � winp%<21
oj      � book_dir_def%(i%) �
or"        com$=�Twine(no$,w%,i%)
oz        no%=�(�com$,5))
o�        divis%=no% � 8
o�        modul%=no% � 8
o�<        � ((bookdef%?divis% � (1<<modul%))>>>modul%)=1 �
o�          winkey(winp%)=no%
o�/          winstack$(winp%)=var_sp$(i%,w%,0)
o�4          winstack$(winp%)+="�"+var_sp$(i%,w%,1)
o�4          winstack$(winp%)+="�"+var_sp$(i%,w%,2)
o�4          winstack$(winp%)+="�"+var_sp$(i%,w%,4)
o�(          winstack$(winp%)+="�"+com$
o�%          winp%+=-1*(winp%<10000)
o�
        �
o�      �
o�      i%+=1
o�	    �
o�
    w%+=1
o�  �
p  ș "Hourglass_Off"
p
  ct%+=1
p  no$=�zero(�(ct%),3)+"00"
p�
p"�sort(winp%-1)
p*	!q%=0
p2q%!4=-10+(winp%)*-48
p:q%!8=(6+50+40+15+30)*16
pBq%!12=0
pJ$ș "Wimp_SetExtent",main_aux%,q%
pR!q%=main_aux%
pZș "Wimp_GetWindowInfo",,q%
pb_p%=!(q%+76)
pj%$_p%="Search by Accession Number"
pr�compile_st_win
pzș "Hourglass_Off"
p�!q%=main_aux%
p� ș "Wimp_GetWindowState",,q%
p�q%!28=-1
p�ș "Wimp_OpenWindow",,q%
p��
p�
p���search_class
p��check_book_dirs
p��check_mem_dirs
p�� book_count%=0 �
p�F  �dis_message("No book directories have been seen by the filer.")
p�  �
p��
p�using_rd%=2
p�winp%=0
p�t$=�gettext(search%,11)
qt$=�Upper(t$)
q
cmp=�Make_Code(t$)
qno$="00000"
q	ct%=0
q"ȕ ct%<=99 � winp%<1001
q*"  �open_book_cache_search(no$)
q2  pick%=�(no$) � 100
q:  w%=pick%
qB  ș "Hourglass_On"
qJ  ȕ w%<100 � winp%<1001
qR    i%=0
qZ    ȕ i%<10 � winp%<1001
qb      � book_dir_def%(i%) �
qj"        com$=�Twine(no$,w%,i%)
qr        no%=�(�com$,5))
qz        divis%=no% � 8
q�        modul%=no% � 8
q�<        � ((bookdef%?divis% � (1<<modul%))>>>modul%)=1 �
q�8          winkey(winp%)=�Make_Code(var_sp$(i%,w%,2))
q�$          � winkey(winp%)>=cmp �
q�1            winstack$(winp%)=var_sp$(i%,w%,0)
q�6            winstack$(winp%)+="�"+var_sp$(i%,w%,1)
q�6            winstack$(winp%)+="�"+var_sp$(i%,w%,2)
q�6            winstack$(winp%)+="�"+var_sp$(i%,w%,4)
q�*            winstack$(winp%)+="�"+com$
q�'            winp%+=-1*(winp%<10000)
q�          �
q�
        �
q�      �
q�      i%+=1
q�	    �
q�
    w%+=1
r  �
r
  ș "Hourglass_Off"
r  ct%+=1
r  no$=�zero(�(ct%),3)+"00"
r"�
r*�sort(winp%-1)
r2	!q%=0
r:q%!4=-10+(winp%)*-48
rBq%!8=(6+50+40+15+30)*16
rJq%!12=0
rR$ș "Wimp_SetExtent",main_aux%,q%
rZ!q%=main_aux%
rbș "Wimp_GetWindowInfo",,q%
rj_p%=!(q%+76)
rr#$_p%="Search by Classification"
rz�compile_st_win
r�ș "Hourglass_Off"
r�!q%=main_aux%
r� ș "Wimp_GetWindowState",,q%
r�q%!28=-1
r�ș "Wimp_OpenWindow",,q%
r��
r�
r���search_key
r��check_book_dirs
r��check_mem_dirs
r�� book_count%=0 �
r�F  �dis_message("No book directories have been seen by the filer.")
r�  �
r��
r�using_rd%=2
r�winp%=0
s#t$=�Upper(�gettext(search%,11))
s
no$="00000"
s	ct%=0
sȕ ct%<=99 � winp%<1001
s""  �open_book_cache_search(no$)
s*  pick%=�(no$) � 100
s2  w%=pick%
s:  ș "Hourglass_On"
sB  ȕ w%<100 � winp%<1001
sJ    i%=0
sR    ȕ i%<10 � winp%<1001
sZ      � book_dir_def%(i%) �
sb"        com$=�Twine(no$,w%,i%)
sj        no%=�(�com$,5))
sr        divis%=no% � 8
sz        modul%=no% � 8
s�<        � ((bookdef%?divis% � (1<<modul%))>>>modul%)=1 �
s�+          winkey(winp%)=sen_sp(i%,w%,0)
s�5          � �check_keyword(t$,var_sp$(i%,w%,0)) �
s�1            winstack$(winp%)=var_sp$(i%,w%,0)
s�6            winstack$(winp%)+="�"+var_sp$(i%,w%,1)
s�6            winstack$(winp%)+="�"+var_sp$(i%,w%,2)
s�6            winstack$(winp%)+="�"+var_sp$(i%,w%,4)
s�*            winstack$(winp%)+="�"+com$
s�&           winp%+=-1*(winp%<10000)
s�          �
s�
        �
s�      �
s�      i%+=1
s�	    �
s�
    w%+=1
s�  �
t  ș "Hourglass_Off"
t
  ct%+=1
t  no$=�zero(�(ct%),3)+"00"
t�
t"�sort(winp%-1)
t*	!q%=0
t2q%!4=-10+(winp%)*-48
t:q%!8=(6+50+40+15+30)*16
tBq%!12=0
tJ$ș "Wimp_SetExtent",main_aux%,q%
tR!q%=main_aux%
tZș "Wimp_GetWindowInfo",,q%
tb_p%=!(q%+76)
tj$_p%="Search by Author"
tr�compile_st_win
tzș "Hourglass_Off"
t�!q%=main_aux%
t� ș "Wimp_GetWindowState",,q%
t�q%!28=-1
t�ș "Wimp_OpenWindow",,q%
t��
t�
t�ݤTwine(s$,p%,ch%)
t�4a$=�(ch%)+�zero(�(�(s$) � 100),2)+�zero(�(p%),2)
t�=�Check_Digit_Plus(a$)
t�
t���open_display
t�!q%=display%
t� ș "Wimp_GetWindowState",,q%
t�q%!28=-1
t�ș "Wimp_OpenWindow",,q%
t��
u
u
��update_time
utemp$=�gettext(display%,2)
u� temp$=�$ � �
u"�puttext(display%,2,�$)
u*�
u2
u:��sort(n%)
uB� n%<2 � �
uJ
g%=(n%+1)
uR�
uZ
g%=g% � 2
ub� i%=g%+1 � (n%+1)
uj� j%=i%-g% � 1 � -g%
urv%=j%+g%
uz!� winkey(j%-1)>winkey(v%-1) �
u�(  Ȕ winstack$(j%-1),winstack$(v%-1)
u�"  Ȕ winkey(j%-1),winkey(v%-1)
u��
u�� j%
u�� i%
u�� g%<=1
u��
u�
u���compile_st_win
u�� c%=0 � winp%-1
u�s$=winstack$(c%)
u�a1%=�s$,"�")
u�a2%=�s$,"�",a1%+1)
u�a3%=�s$,"�",a2%+1)
u�a4%=�s$,"�",a3%+1)
u� temp$=�spc(�s$,�(s$)-a4%),7)
vtemp$+=�spc(�s$,a1%-1),50)
v
(temp$+=�spc(�s$,a1%+1,a2%-a1%-1),40)
v(temp$+=�spc(�s$,a2%+1,a3%-a2%-1),15)
v(temp$+=�spc(�s$,a3%+1,a4%-a3%-1),30)
v"winstack$(c%)=temp$
v*� c%
v2�
v:
vBݤfind_win(u$)
vJ� u$="icon_bar" � =-2
vR� d%=0 � 40
vZ$� hct$(d%)=u$ � =hct%(d%) � � d%
vb=0
vj
vr��pass_enter(n%)
vz�puttext(optpc%,1,�(n%))
v�"�puttext(optpc%,5,pass$(n%,0))
v�#�puttext(optpc%,32,pass$(n%,1))
v�� c%=0 � 12
v�!q%=optpc%
v�
q%!4=7+c%
v�ș "Wimp_GetIconState",,q%
v�comp%=(q%!24 � 1<<21)>>>21
v�s%=pn%(n%)
v�s%=(s% � 1<<c%)>>>c%
v�*� comp%=1 � s%=0 � �xor(optpc%,7+c%,1)
v�*� comp%=0 � s%=1 � �xor(optpc%,7+c%,1)
v�� c%
v�!s%=((pn%(n%) � (1<<13))>>>13)
v�comp%=�IconGet(optpc%,38)
v�$� comp%+s%=1 � �xor(optpc%,38,1)
v�l%=�(�gettext(optpc%,5))
w1ș "Wimp_SetCaretPosition",optpc%,5,0,0,-1,l%
w
�
w
w��save_pass
w"no%=�(�gettext(optpc%,1))
w*=� no%>users%+1 � �dis_message("Not all users defined."):�
w2� no%=users%+1 � users%+=1
w:#pass$(no%,0)=�gettext(optpc%,5)
wB,pass$(no%,1)=�Upper(�gettext(optpc%,32))
wJcomb%=0
wR� c%=0 � 12
wZ1� �IconGet(optpc%,7+c%) � comb%=comb% � 1<<c%
wb� c%
wj/� �IconGet(optpc%,38) � comb%=comb% � 1<<13
wrpn%(no%)=comb%
wz�save_pass_file
w�� w_a% �
w�2  a$="R"+�(logged_on%)+";"+pass$(logged_on%,0)
w�  �add_watchdog(a$)
w��
w��
w�
w���move_pass_id(func%)
w�no%=�(�gettext(optpc%,1))
w�� no%=1 � func%=0 � �
w�� no%=255 � func%=1 � �
w�no%+=func%*2-1
w��pass_enter(no%)
w��
w�
w���delete_pass
w�no%=�(�gettext(optpc%,1))
x>� no%>users% � �dis_message("This user is not defined."):�
x
� no%=users% �
x  users%-=1
x  pass$(no%,0)=""
x"  pass$(no%,1)=""
x*  pn%(no%)=0
x28  � pass$(no%-1,0)="<Undefined>" � pass$(no%-1,0)=""
x:  �save_pass_file
xB�
xJ   pass$(no%,0)="<Undefined>"
xR  pass$(no%,1)=�ran_cod
xZ  pn%(no%)=0
xb  �save_pass_file
xj�
xr�
xz
x�
ݤran_cod
x�	s$=""
x�ȕ �(s$)<6
x�  s$+=�(64+�(26))
x��
x�=s$
x�
x���save_pass_file
x�,filo%=�("<Library$Dir>.Preference.Pass")
x��#filo%,users%
x�� c%=1 � users%
x�+�#filo%,pass$(c%,0),pass$(c%,1),pn%(c%)
x�� c%
x��#filo%
x��
x�
y��save_export(n$,func%)
y
filo%=�(n$)
y� c%=0 � winp%-1
y	e%=c%
y"
accum$=""
y*Ȏ func% �
y2	  � 0
y:    Ȏ using_rd% �
yB
      � 1
yJ(        �#filo%,�winstack$(e%),7,50)
yR)        accum$+=�winstack$(e%),57,40)
yZ2        accum$+=�spc(�winstack$(e%),97,15),20)
yb-        accum$+=�spc(�winstack$(e%),6),7)
yj.        accum$+=�spc(�winstack$(e%),6),10)
yr        �#filo%,accum$
yz
      � 5
y�!        �#filo%,winstack$(e%)
y�	    �
y�	  � 1
y�    Ȏ using_rd% �
y�
      � 1
y�3        accum$+=""""+�winstack$(e%),7,50)+""","
y�4        accum$+=""""+�winstack$(e%),57,40)+""","
y�4        accum$+=""""+�winstack$(e%),97,15)+""","
y�0        accum$+=""""+�winstack$(e%),6)+""","
y�/        accum$+=""""+�winstack$(e%),6)+""""
y�        �#filo%,accum$
y�
      � 5
y�0        accum$+=""""+�winstack$(e%),9)+""","
y�4        accum$+=""""+�winstack$(e%),13,30)+""","
y�4        accum$+=""""+�winstack$(e%),43,60)+""","
y�3        accum$+=""""+�winstack$(e%),103,6)+""""
z        �#filo%,accum$
z
	    �
z�
z� c%
z"�#filo%
z*Ȏ func% �
z2"  � 0: �("SetType "+n$+" FFF")
z:"  � 1: �("SetType "+n$+" DFE")
zB�
zJ�
zR
zZ��init_vers
zb=ș "OS_GBPB",11,"<Library$Dir>",q%,77,0,&2000,"!RunImage"
zjEst=(q%?28)*2^32+(q%?27)*2^24+(q%?26)*2^16+(q%?25)*2^8+(q%?24)*2^0
zryear%=st/100/3600/24/365.25
zz#rem=st-year%*100*3600*24*365.25
z�days%=rem/100/3600/24
z�date%=days%+1
z�#� year% � 4 � feb%=28 � feb%=29
z�� date%>31 �
z�  date%-=31
z�  � date%>feb% �
z�    date%-=feb%
z�    � date%>31 �
z�      date%-=31
z�      � date%>30 �
z�        date%-=30
z�        � date%>31 �
z�          date%-=31
z�          � date%>30 �
z�            date%-=30
z�            � date%>31 �
{              date%-=31
{
              � date%>31 �
{                date%-=31
{                 � date%>30 �
{"                  date%-=30
{*"                  � date%>31 �
{2!                    date%-=31
{:$                    � date%>30 �
{B#                      date%-=30
{J&                      month$="Dec"
{R                    �
{Z&                      month$="Nov"
{b                    �
{j                  �
{r$                    month$="Oct"
{z                  �
{�                �
{�"                  month$="Sep"
{�                �
{�              �
{�                 month$="Aug"
{�              �
{�            �
{�              month$="Jul"
{�            �
{�          �
{�            month$="Jun"
{�          �
{�
        �
{�          month$="May"
{�
        �
{�      �
|        month$="Apr"
|
      �
|	    �
|      month$="Mar"
|"	    �
|*  �
|2    month$="Feb"
|:  �
|B�
|J  month$="Jan"
|R�
|Z9s$=�zero(�(date%),2)+" "+month$+" "+�zero(�(year%),2)
|b�puttext(info%,3,s$)
|j�
|r
|z��receive_text(fn$)
|� ș "Wimp_GetPointerInfo",,q%
|�Ȏ q%!12 �
|�  � news_imp%
|�@    ș "OS_FSControl",26,fn$,"<Library$Dir>.Text.News",16418
|�    � w_a% �
|�6      a$="D"+�(logged_on%)+";"+pass$(logged_on%,0)
|�      �add_watchdog(a$)
|�	    �
|�  � overdue_pr%
|�!    � q%!16>=18 � q%!16<=20 �
|�E      ș "OS_FSControl",26,fn$,"<Library$Dir>.Text.Overdue",16418
|�	    �
|��
|�!q%=news_imp%
|�ș "Wimp_CloseWindow",,q%
|��
}
}
��addtonews(n$)
}� �(n$)>77 �
}  d%=77
}"  ȕ �n$,d%,1)<>" "
}*
    d%-=1
}2  �
}:  �addtonews(�n$,d%-1))
}B  �addtonews(�n$,�(n$)-d%))
}J�
}R  winstack$(winp%)=n$
}Z  winp%+=-1*(winp%<10000)
}b�
}j�
}r
}z��view_member
}��check_book_dirs
}��check_mem_dirs
}�� mem_count%=0 �
}�H  �dis_message("No member directories have been seen by the filer.")
}�  �
}��
}�!q%=changemem%
}�ș "Wimp_CloseWindow",,q%
}�!q%=remmem%
}�ș "Wimp_CloseWindow",,q%
}�!q%=main_aux%
}�ș "Wimp_CloseWindow",,q%
}�first_got%=0
}�� c%=5 � 7
}�'� �IconGet(vmq%,c%) � first_got%=c%
}�� c%
~� first_got%=0 � �
~
second_got%=0
~� c%=9 � 12
~(� �IconGet(vmq%,c%) � second_got%=c%
~"� c%
~*� second_got%=0 � �
~2wc1%=�IconGet(vmq%,22)
~:wc2%=�IconGet(vmq%,26)
~B first_got%-=4:second_got%-=9
~Jt1$=�gettext(vmq%,4)
~Rt2$=�gettext(vmq%,8)
~Z� first_got%=second_got% �
~b(  � t1$="" � Ȕ t1$,t2$:Ȕ wc1%,wc2%
~j  second_got%=0
~r�
~z%� second_got%=1 � first_got%<>1 �
~�  Ȕ first_got%,second_got%
~�  Ȕ t1$,t2$
~�  Ȕ wc1%,wc2%
~��
~�� first_got%=1 �
~�!  temp%=�validate_mem_no(t1$)
~�  Ȏ temp% �
~�"    � �: �dis_mem_details(t1$)
~�6    � �: �dis_message("Invalid membership number")
~�c    � 2: �dis_message("The member directory for that number has not been seen by the filer."):�
~�  �
~��
~�B  �search_membership(first_got%,second_got%,t1$,t2$,wc1%,wc2%)
~�  current_view%=0
~�  max_view%=winp%-1
~�0  �dis_mem_details(winstack$(current_view%))
�

�cleartext(vmq%,4)
�cleartext(vmq%,8)
!q%=vmq%
"ș "Wimp_CloseWindow",,q%
*�
2
:ݤvalidate_mem_no(s$)
B� �(s$)<>9 � =�
Jcount%=0
R� r%=1 � 8
Z'count%=count%+(r%+1)*�(�s$,9-r%,1))
b� r%
j(cd$=�s$,9,1):� �"Xx",cd$) � cd$="10"
rcd%=�(cd$)
z� count% � 11<>cd% � =�
�d%=�(�s$,2))
�l%=�(�s$,3,2))
�s%=�(�s$,5,1))
�n%=�(�s$,6,3))
�� mem_dir_def%(d%)=� � =2
�� l%>25 � =�
�� s%>9 � =�
�8filo%=�("<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%))
��#filo%,tn%
��#filo%
�� n%>tn% � =�
�=�
�
�4��search_membership(s1%,s2%,s1$,s2$,swc1%,swc2%)
�ș "Hourglass_On"
�� s1%=3 � s2%=2 �
�  Ȕ s1%,s2%
�
  Ȕ s1$,s2$
�  Ȕ swc1%,swc2%
��
�"-� s2%=0 � single_flag%=� � single_flag%=�
�*+� s1%=2 � named_flag%=� � named_flag%=�
�2	sa%=0
�:� named_flag% �
�B  � swc1%=1 �
�J%    � �s1$,1)="*" � �s1$,1)="@" �
�R      named_flag%=�
�Z	    �
�b#      fb%=�(�Upper(�s1$,1)))-65
�j	    �
�r  �
�z!    fb%=�(�Upper(�s1$,1)))-65
��  �
���
��	sb%=0
��lookup_flag%=�
��loop_flag%=�
��winp%=0
��,s1$=�Remove_Unwanted_Spaces(�Upper(s1$))
��,s2$=�Remove_Unwanted_Spaces(�Upper(s2$))
��
ȕ sa%<99
��  � mem_dir_def%(sa%) �
��    � � named_flag% � sb%=0
��"    ȕ (sb%<26 � � loop_flag%)
��      sc%=0
��      ȕ sc%<10
��-        � named_flag% � lb%=fb% � lb%=sb%
��?        try$="<Member"+�(sa%)+"$Dir>."+�(65+lb%)+"."+�(sc%)
�        filo%=�(try$)
�
        �#filo%,tn%
�        � tn%>0 �
�          � sd%=1 � tn%
�"          �#filo%,code$
�*          �#filo%,nt$
�2          �#filo%,surn$
�:          �#filo%,name$
�B          � se%=0 � 5
�J#          �#filo%,address$(se%)
�R          � se%
�Z          �#filo%,state$
�b          � �view_compare �
�j            lookup_flag%=�
�r            gd%=sa%
�z            gl%=lb%
��            gs%=sc%
��            gn%=sd%
��0            winstack$(winp%)=�zero(�(gd%),2)
��1            winstack$(winp%)+=�zero(�(gl%),2)
��(            winstack$(winp%)+=�(gs%)
��1            winstack$(winp%)+=�zero(�(gn%),3)
��'            winp%+=-1*(winp%<10000)
��          �
��          temp%=�#filo%
��          bn%=�#filo%
��          � bn%>0 �
��            � se%=1 � bn%
��            �#filo%,temp$
��            � se%
��          �
��          � sd%
�
        �
�
        �#filo%
�        sc%+=1
�      �
�"      sb%+=1
�*&      � named_flag% � loop_flag%=�
�2	    �
�:  �
�B
sa%+=1
�J�
�R9� � lookup_flag% � �dis_message("No matches found"):�
�Zș "Hourglass_Off"
�b�
�j
�rݤview_compare
�z
c_f%=�
��
sepr%()=0
��� va%=0 � 1
��� vb%=0 � 1
��	vc%=0
��� va%=0 � st$=s1$ � st$=s2$
��� vb%=0 � ss$="," � ss$="."
��0� vc%=0 � la%=1 � la%=sepr%(va%,vb%,vc%-1)+1
��ȕ �st$,ss$,la%)
��  temp%=�st$,ss$,la%)
��%  sepr%(va%,vb%,vc%)=temp%:vc%+=1
��2  � vc%=0 � la%=1 � la%=sepr%(va%,vb%,vc%-1)+1
���
��	� vb%
��	� va%
��
� s1%=2 �
��  � sepr%(0,0,0)=0 �
�    � s1$=surn$ �
�
      c_f%=�
�	    �
�"      �vc_sub(s1$,surn$,swc1%)
�"	    �
�*  �
�21    �vc_sub(�s1$,sepr%(0,0,0)-1),surn$,swc1%)
�:-    � �s1$,sepr%(0,0,0)-1)=surn$ � c_f% �
�B      c_f%=�
�J      � sepr%(0,1,0)=0 �
�RB        � �Remove_Punc(s1$)=�Remove_Punc(surn$+name$) � c_f%=�
�Z      �
�b        tc%=0
�j        tf%=�
�r        mc%=0
�z        ȕ sepr%(0,1,tc%)
��?          � tc%=0 � cc%=sepr%(0,0,0) � cc%=sepr%(0,1,tc%-1)
��2          tc$=�s1$,cc%+1,sepr%(0,1,tc%)-cc%-1)
��!          nc%=�name$," ",mc%)
��!          mc$=�name$,mc%+1,1)
��          mc%=nc%
��           � tc$<>mc$ � tf%=�
��          tc%+=1
��
        �
��#        � tf% � c_f%=� � c_f%=�
��      �
��	    �
��  �
��   � � single_flag% � s2%=3 �
��
    tc%=0
��
    tf%=�
��    ȕ sepr%(1,0,tc%)
�0      � tc%=0 � cc%=0 � cc%=sepr%(1,0,tc%-1)
�
.      tc$=�s2$,cc%+1,sepr%(1,0,tc%)-cc%-1)
�'      � tc%<6 � address$(tc%)<>"" �
�"        � tc$<>address$(tc%) �
�".          �vc_sub(tc$,address$(tc%),swc2%)
�*!          � c_f%=� � tf%=c_f%
�2
        �
�:      �
�B        � tc$<>state$ �
�J'          �vc_sub(tc$,state$,swc2%)
�R!          � c_f%=� � tf%=c_f%
�Z
        �
�b      �
�j      tc%+=1
�r	    �
�z=    � tc%=0 � tc$=s2$ � tc$=�s2$,�(s2$)-sepr%(1,0,tc%-1))
��%    � tc%<6 � address$(tc%)<>"" �
��       � tc$<>address$(tc%) �
��,        �vc_sub(tc$,address$(tc%),swc2%)
��        � c_f%=� � tf%=c_f%
��      �
��	    �
��      � tc$<>state$ �
��%        �vc_sub(tc$,state$,swc2%)
��        � c_f%=� � tf%=c_f%
��      �
��	    �
��    � tf% � c_f%=� � c_f%=�
��  �
���
��  tc%=0
��  tf%=�
�  ȕ sepr%(0,0,tc%)
�
.    � tc%=0 � cc%=0 � cc%=sepr%(0,0,tc%-1)
�,    tc$=�s1$,cc%+1,sepr%(0,0,tc%)-cc%-1)
�%    � tc%<6 � address$(tc%)<>"" �
�"       � tc$<>address$(tc%) �
�*,        �vc_sub(tc$,address$(tc%),swc2%)
�2        � c_f%=� � tf%=c_f%
�:      �
�B	    �
�J      � tc$<>state$ �
�R%        �vc_sub(tc$,state$,swc2%)
�Z        � c_f%=� � tf%=c_f%
�b      �
�j	    �
�r    tc%+=1
�z  �
��;  � tc%=0 � tc$=s1$ � tc$=�s1$,�(s1$)-sepr%(0,0,tc%-1))
��#  � tc%<6 � address$(tc%)<>"" �
��    � tc$<>address$(tc%) �
��*      �vc_sub(tc$,address$(tc%),swc2%)
��      � c_f%=� � tf%=c_f%
��	    �
��  �
��    � tc$<>state$ �
��#      �vc_sub(tc$,state$,swc2%)
��      � c_f%=� � tf%=c_f%
��	    �
��  �
��  � tf% � c_f%=� � c_f%=�
���
��	=c_f%
��
� ݤRemove_Unwanted_Spaces(s$)
�
last$=""
�	t$=""
�� rusc%=1 � �(s$)
�"tal$=�s$,rusc%,1)
�*delflag%=�
�2A� tal$=" " � (last$="," � last$="." � last$=" ") � delflag%=�
�:last$=tal$
�B� � delflag% � t$+=tal$
�J� rusc%
�R=t$
�Z
�b��vc_sub(p$,q$,para%)
�j� para%=1 �
�r  tvf%=�
�z  � �p$,"@") �
��    l1%=�(q$)
��    l2%=�(p$)
��    � l1%=l2% �
��      � tv%=1 � l1%
��$      � �q$,tv%,1)<>�p$,tv%,1) �
��&        � �p$,tv%,1)<>"@" � tvf%=�
��      �
��      � tvf% � � tv%
��	    �
��      tvf%=�
��	    �
��  �
��  � (�p$,"*") � tvf%) �
��    stap%=�p$,"*")
��    lt%=�(p$)
��    � lt%<=�(q$) �
�      Ȏ stap% �
�
        � 1
�/          � �p$,lt%-1)<>�q$,lt%-1) � tvf%=�
�        � lt%
�")          � �p$)<>�q$,lt%-1) � tvf%=�
�*
        
�23          � �p$,stap%-1)<>�q$,stap%-1) � tvf%=�
�:7          � �p$,lt%-stap%)<>�q$,lt%-stap%) � tvf%=�
�B      �
�J	    �
�R      tvf%=�
�Z	    �
�b  �
�j  � tvf% � c_f%=tvf%
�r�
�z�
��
����dis_mem_details(s$)
��(� �(s$)=8 � s$=�Check_Digit_Plus(s$)
��d%=�(�s$,2))
��u� mem_dir_def%(d%)=� � �dis_message("The membership directory for that number has not been seen by the filer."):�
��l%=�(�s$,3,2))
��s%=�(�s$,5,1))
��n%=�(�s$,6,3))
��4try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
��filo%=�(try$)
���#filo%,tn%
��:� tn%<n% � �dis_message("Invalid membership number"):�
���puttext(viewmem%,27,s$)
��� n%>1 �
��  � c%=1 � n%-1
��  � d%=1 � 11
�  �#filo%,temp$
�

  � d%
�  temp%=�#filo%
�  bn%=�#filo%
�"  � bn%>0 �
�*    � d%=1 � bn%
�2    �#filo%,temp$
�:    � d%
�B  �
�J
  � c%
�R�
�Z�#filo%,memno$
�b�#filo%,title$
�j�#filo%,surn$
�r�#filo%,on$
�z� c%=0 � 5
���#filo%,address$(c%)
��� c%
���#filo%,state$
��tt%=�#filo%
���puttext(viewmem%,5,title$)
���puttext(viewmem%,6,surn$)
���puttext(viewmem%,7,on$)
��� c%=0 � 5
��(�puttext(viewmem%,8+c%,address$(c%))
��� c%
�� �puttext(viewmem%,14,state$)
��Ȏ tt% �
��(  � 0: �puttext(viewmem%,15,"Adult")
��)  � 1: �puttext(viewmem%,15,"Junior")
��(  � 2: �puttext(viewmem%,15,"Staff")
���
�vbn%=�#filo%
�
� vbn%>0 �
�  � c%=1 � vbn%
�  �#filo%,vm_dt$(c%,0)
�"$  �open_book_cache(vm_dt$(c%,0))
�*  c$=�vm_dt$(c%,0),4,2)
�2  pick%=�(c$)
�:   vm_dt$(c%,1)=var$(pick%,0)
�B   vm_dt$(c%,2)=var$(pick%,1)
�J   vm_dt$(c%,3)=var$(pick%,2)
�RC  vm_dt$(c%,4)="Due "+�vm_dt$(c%,0),6,2)+"-"+�vm_dt$(c%,0),8,2)
�Z+  vm_dt$(c%,4)+="-"+�vm_dt$(c%,0),10,2)
�b#  vm_dt$(c%,0)=�vm_dt$(c%,0),5)
�j
  � c%
�r�
�z"cur_vb%=0:� vbn%>0 � cur_vb%=1
���#filo%
���insert_mem_text(viewmem%)
��!q%=viewmem%
�� ș "Wimp_GetWindowState",,q%
��q%!28=-1
��ș "Wimp_OpenWindow",,q%
��� w_a% �
��=  a$="O"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+�s$,8)
��  �add_watchdog(a$)
���
���
��
����issuebook_and_exit
���issuebook
��!q%=issue%
��ș "Wimp_CloseWindow",,q%
��
�

�ݤremove_articles(s$)
�� �s$,4)="THE " �
�"  s$=�s$,�(s$)-4)
�*�
�2  � �s$,2)="A " �
�:    s$=�s$,�(s$)-2)
�B  �
�J(    � �s$,3)="AN " � s$=�s$,�(s$)-3)
�R  �
�Z�
�b=s$
�j
�r&��overdue(y2$,y1$,m2$,m1$,d2$,d1$)
�zș "Hourglass_On"
��/db%=�convert_date_relative(y1$,m1$,d1$,y1$)
��/cb%=�convert_date_relative(y2$,m2$,d2$,y1$)
��	t$=�$
��
t$=�t$,3)
��Ȏ t$ �
��  � "Sun": cur_day%=1
��  � "Mon": cur_day%=2
��  � "Tue": cur_day%=3
��  � "Wed": cur_day%=4
��  � "Thu": cur_day%=5
��  � "Fri": cur_day%=6
��  � "Sat": cur_day%=7
���
��cur_date%=�(d2$)
��cur_mon%=�(m2$)
��cur_yr%=�(y2$)
�netc%=cb%-db%
�
ct%=cb%
�ȕ ct%>db%
�  � fd%=1 � 7
�"E  � cur_day%=fd% � ((dpx% � (1<<(fd%-1)))>>>(fd%-1))=1 � netc%-=1
�*  � fd%
�2!  � ((dpx% � (1<<7))>>>7)=1 �
�:&    � cur_date%=25 � cur_mon%=12 �
�BD      � ((dpx% � (1<<(cur_day%-1)))>>>(cur_day%-1))=0 � netc%-=1
�J	    �
�R  �
�Z  � (dpx% � (1<<8))>>>8=1 �
�b&    � cur_date%=26 � cur_mon%=12 �
�jD      � ((dpx% � (1<<(cur_day%-1)))>>>(cur_day%-1))=0 � netc%-=1
�r	    �
�z  �
��  � (dpx% � (1<<9))>>>9=1 �
��$    � cur_date%=1 � cur_mon%=1 �
��D      � ((dpx% � (1<<(cur_day%-1)))>>>(cur_day%-1))=0 � netc%-=1
��	    �
��  �
��  � dxp%>0 �
��    � fd%=0 � dxp%-1
��;    � �FormDate(cur_date%,cur_mon%,cur_yr%)=dex$(fd%) �
��D      � ((dpx% � (1<<(cur_day%-1)))>>>(cur_day%-1))=0 � netc%-=1
��"      � �dex$(fd%),4)="2512" �
��0        � ((dpx% � (1<<7))>>>7)=1 � netc%+=1
��      �
��"      � �dex$(fd%),4)="2612" �
��0        � ((dpx% � (1<<8))>>>8)=1 � netc%+=1
��      �
��"      � �dex$(fd%),4)="0101" �
�0        � ((dpx% � (1<<9))>>>9)=1 � netc%+=1
�
      �
�
    � fd%
�  �
�"  ct%-=1
�*+  cur_day%-=1:� cur_day%=0 � cur_day%=7
�2  cur_date%-=1
�:  � cur_date%=0 �
�B    Ȏ cur_mon% �
�J      � 1: cur_date%=31
�R      � 2: cur_date%=31
�Z:      � 3: cur_date%=28:� cur_yr% � 4=0 � cur_date%=29
�b      � 4: cur_date%=31
�j      � 5: cur_date%=30
�r      � 6: cur_date%=31
�z      � 7: cur_date%=30
��      � 8: cur_date%=31
��      � 9: cur_date%=31
��      � 10: cur_date%=30
��      � 11: cur_date%=31
��      � 12: cur_date%=30
��	    �
��    cur_mon%-=1
��    � cur_mon%=0 �
��      cur_yr%-=1
��#      � cur_yr%=-1 � cur_yr%=99
��	    �
��  �
���
��owed%+=netc%*fine_charge%
��!�puttext(overdue%,1,�(owed%))
��!q%=overdue%
� ș "Wimp_GetWindowState",,q%
�
q%!28=-1
�ș "Wimp_OpenWindow",,q%
�ș "Hourglass_Off"
�"�
�*  ș "Wimp_Poll",&0,q% � A%
�21� A%=6 � q%!12=overdue% � (q%!16=4 � q%!16=5)
�:Ȏ q%!16 �
�B	  � 4
�J    d%=�(�mem$,2))
�R    l%=�(�mem$,3,2))
�Z    s%=�(�mem$,5,1))
�b    n%=�(�mem$,6,3))
�j8    try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
�r    filo%=�(try$)
�z    filp%=�(try$+"2")
��    �#filo%,tn%
��N    � tn%<n% � �dis_message("Invalid Membership Number"):�#filo%:�#filp%:�
��    �#filp%,tn%
��    � sc%=1 � tn%
��    � g%=1 � 11
��    �#filo%,temp$
��    � g%>1 � sc%=n% �
��      �#filp%,temp$
��	    �
��#      �#filp%,�mem$,8)+�(owed%)
��	    �
��    � g%
��    temp%=�#filo%
��    �#filp%,temp%
��    bn%=�#filo%
��    �#filp%,bn%
�    � bn%>0 �
�
      � v%=1 � bn%
�      �#filo%,temp$
�      �#filp%,temp$
�"      � v%
�*	    �
�2
    � sc%
�:    �#filo%
�B    �#filp%
�J    �("Delete "+try$)
�R#    �("Rename "+try$+"2 "+try$)
�Z	  � 5
�b    d%=�(�mem$,2))
�j    l%=�(�mem$,3,2))
�r    s%=�(�mem$,5,1))
�z    n%=�(�mem$,6,3))
��8    try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
��    filo%=�(try$)
��    filp%=�(try$+"2")
��    �#filo%,tn%
��N    � tn%<n% � �dis_message("Invalid Membership Number"):�#filo%:�#filp%:�
��    �#filp%,tn%
��    � sc%=1 � tn%
��    � g%=1 � 11
��    �#filo%,temp$
��    � g%>1 � sc%=n% �
��      �#filp%,temp$
��	    �
��      �#filp%,�mem$,8)
��	    �
��    � g%
��    temp%=�#filo%
�    �#filp%,temp%
�
    bn%=�#filo%
�    �#filp%,bn%
�    � bn%>0 �
�"      � v%=1 � bn%
�*      �#filo%,temp$
�2      �#filp%,temp$
�:      � v%
�B	    �
�J
    � sc%
�R    �#filo%
�Z    �#filp%
�b    �("Delete "+try$)
�j#    �("Rename "+try$+"2 "+try$)
�r�
�zcalled_flag%=�
��!q%=overdue%
��ș "Wimp_CloseWindow",,q%
���
��
��,ݤconvert_date_relative(oy$,om$,od$,or$)
��oy%=�(oy$)
��om%=�(om$)
��od%=�(od$)
��or%=�(or$)
��%yd%=oy%-or%:� yd%<0 � yd%=100+yd%
��nd%=�(365.25*yd%)
��� nc%=1 � om%
��Ȏ nc% �
��  � 1: nd%+=31
��'  � 2: nd%+=28:� oy% � 4=0 � nd%+=1
��  � 3: nd%+=31
�  � 4: nd%+=30
�
  � 5: nd%+=31
�  � 6: nd%+=30
�  � 7: nd%+=31
�"  � 8: nd%+=31
�*  � 9: nd%+=30
�2  � 10: nd%+=31
�:  � 11: nd%+=30
�B  � 12: nd%+=31
�J�
�R	� nc%
�Znd%+=od%
�b=nd%
�j
�rݤFormDate(cd%,cm%,cy%)
�z4=�zero(�(cd%),2)+�zero(�(cm%),2)+�zero(�(cy%),2)
��
����init_prefs
��-filo%=�("<Library$Dir>.Preference.Issue")
��2filp%=�("<Library$Dir>.Preference.Allowances")
��lending%(0,0)=�#filo%
��lending%(0,1)=�#filo%
��lending%(1,0)=�#filp%
��lending%(1,1)=�#filp%
��lending%(1,2)=�#filp%
���#filo%
���#filp%
��-filo%=�("<Library$Dir>.Preference.Fines")
���#filo%,fine_charge%
���#filo%,dpx%
��� dex$(11)
��dxp%=�#filo%
�� dxp%>0 �
�
  � c%=0 � dxp%-1
�  �#filo%,dex$(c%)
�
  � c%
�"�
�*�#filo%
�2-filo%=�("<Library$Dir>.Preference.Fonts")
�:f_flag%=�#filo%
�B� f_flag%=1 � f_flag%=�
�J�#filo%
�R�
�Z
�b��renew(func%)
�j�check_book_dirs
�r�check_mem_dirs
�z� book_count%=0 �
��F  �dis_message("No book directories have been seen by the filer.")
��  �
���
��� mem_count%=0 �
��H  �dis_message("No member directories have been seen by the filer.")
��  �
���
��"no$=�Upper(�gettext(renew%,1))
��=� �(no$)<6 � �dis_message("Accession Number Too Short"):�
��U� � �validate_digits(no$) � �dis_message("Accession Number: Check Digit Error"):�
��no%=�(�no$,5))
��#� book_dir_def%(�(�no$,1)))=� �
��X  �dis_message("The book directory for that number has not been seen by the filer.")
��  �
���
���open_book_cache(no$)
�d$=�no$,4,2)
�
pick%=�(d$)
�P� var$(pick%,4)="IN LIBRARY" � �dis_message("This book is in the library"):�
�#da$=�Remove_Punc(var$(pick%,4))
�"day$=�da$,1,2)
�*mon$=�da$,3,2)
�2yr$=�da$,5,2)
�:mem$=�da$,8)
�B	t$=�$
�Jday2$=�t$,5,2)
�Rmon2$=�t$,8,3)
�ZȎ mon2$ �
�b  � "Jan": mon2$="01"
�j  � "Feb": mon2$="02"
�r  � "Mar": mon2$="03"
�z  � "Apr": mon2$="04"
��  � "May": mon2$="05"
��  � "Jun": mon2$="06"
��  � "Jul": mon2$="07"
��  � "Aug": mon2$="08"
��  � "Sep": mon2$="09"
��  � "Oct": mon2$="10"
��  � "Nov": mon2$="11"
��  � "Dec": mon2$="12"
���
��chosen_flag%=�
��� c%=3 � 5
��temp%=�IconGet(renew%,c%)
��� temp% � chosen_flag%=c%
��� c%
��� chosen_flag%=� � �
��dno%=chosen_flag%+3
�date$=�gettext(renew%,dno%)
�
Ȏ chosen_flag% �
�  � 3,4
�-    date$=�date$,2)+�date$,4,2)+�date$,2)
�"'    � � �validate_date(date$) � �:�
�*	  � 5
�2    Ȏ �(date$) �
�:
      � 8
�B        sepflag%=�
�J<        � �date$,3,1)="-" � �date$,6,1)="-" � sepflag%=1
�R<        � �date$,3,1)="/" � �date$,6,1)="/" � sepflag%=2
�Z<        � �date$,3,1)="." � �date$,6,1)="." � sepflag%=3
�b<        � �date$,3,1)=" " � �date$,6,1)=" " � sepflag%=3
�j>        � sepflag%=� � �dis_message("Invalid date format")
�r         � sepflag%=� � �:�:�
�z1        date$=�date$,2)+�date$,4,2)+�date$,2)
��-        � � �validate_date(date$) � �:�:�
��
      � 6
��        sepflag%=�
��        � c%=1 � 6
��8        � �"0123456789",�date$,c%,1))=0 � sepflag%=�
��        � c%
��>        � sepflag%=� � �dis_message("Invalid date format")
��         � sepflag%=� � �:�:�
��-        � � �validate_date(date$) � �:�:�
��      
��5        �dis_message("Invalid Date Format"):�:�:�
��	    �
���
��/date$=�(vd%):� �(date$)=1 � date$="0"+date$
��Gdate$=date$+"-"+�(vm%):� �(date$)=4 � date$=�date$,3)+"0"+�date$,1)
��Gdate$=date$+"-"+�(vy%):� �(date$)=7 � date$=�date$,6)+"0"+�date$,1)
�date$=�Remove_Punc(date$)
�
d%=�(�mem$,2))
�� mem_dir_def%(d%)=� �
�l  �dis_message("The membership directory for the borrower of that book has not been seen by the filer.")
�"  �
�*�
�2l%=�(�mem$,3,2))
�:s%=�(�mem$,5,1))
�Bn%=�(�mem$,6,3))
�J4try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
�Rfilo%=�(try$)
�Zfilp%=�(try$+"2")
�b�#filo%,number%
�j�#filp%,number%
�rN� n%>number% � �#filo%:�#filp%:�dis_message("Invalid Membership Number"):�
�z� sc%=1 � number%
��� d%=1 � 11
���#filo%,temp$
��1� d%=1 � sc%=n% � owed%=�(�temp$,�(temp$)-8))
���#filp%,temp$
��� d%
��temp%=�#filo%
���#filp%,temp%
��bn%=�#filo%
���#filp%,bn%
��� d%=1 � bn%
��� sc%=n% �
��  �#filo%,temp$
��1  � �temp$,5)=�no$,5) � temp$=�temp$,5)+date$
��  �#filp%,temp$
���
��  �#filo%,temp$
�  �#filp%,temp$
�
�
�� d%
�	� sc%
�"�#filo%
�*�#filp%
�2�("Delete "+try$)
�:�("Rename "+try$+"2 "+try$)
�Bcalled_flag%=�
�Jyr2$=�t$,14,2)
�R� �(yr2$)>�(yr$) �
�Z.  �overdue(yr2$,yr$,mon2$,mon$,day2$,day$)
�b�
�j  � �(yr2$)=�(yr$) �
�r    � �(mon2$)>�(mon$) �
�z2      �overdue(yr2$,yr$,mon2$,mon$,day2$,day$)
��	    �
��      � �(mon2$)=�(mon$) �
��         � �(day2$)>�(day$) �
��6          �overdue(yr2$,yr$,mon2$,mon$,day2$,day$)
��
        �
��      �
��	    �
��  �
���
�� � � called_flag% � owed%>0 �
��.  �overdue(yr2$,yr$,mon2$,mon$,day2$,day$)
���
�� var$(pick%,4)=date$+�mem$,8)
���save_cache(no$)
���cleartext(renew%,1)
���cleartext(renew%,8)
�0ș "Wimp_SetCaretPosition",renew%,1,0,0,-1,0
�

� func% �
�  !q%=renew%
�  ș "Wimp_CloseWindow",,q%
�"�
�*� w_a% �
�22  a$="G"+�(logged_on%)+";"+pass$(logged_on%,0)
�:$  a$+=";"+�no$,5)+�mem$,8)+date$
�B  �add_watchdog(a$)
�J�
�R�
�Z
�b��change_stock
�j�check_book_dirs
�r�check_mem_dirs
�z� book_count%=0 �
��F  �dis_message("No book directories have been seen by the filer.")
��  �
���
�� csno$=�gettext(accn_only%,1)
��?� �(csno$)<6 � �dis_message("Accession Number too short"):�
��L� � �validate_digits(csno$) � �dis_message("Invalid Accession Number"):�
��!q%=accn_only%
��ș "Wimp_CloseWindow",,q%
��%� book_dir_def%(�(�csno$,1)))=� �
��X  �dis_message("The book directory for that number has not been seen by the filer.")
��  �
���
���open_book_cache(csno$)
��c$=�csno$,4,2)
��pick%=�(c$)
��+�puttext(change_stock%,2,var$(pick%,0))
�+�puttext(change_stock%,4,var$(pick%,1))
�
+�puttext(change_stock%,6,var$(pick%,2))
�+�puttext(change_stock%,9,var$(pick%,3))
�!q%=change_stock%
�" ș "Wimp_GetWindowState",,q%
�*q%!28=-1
�2ș "Wimp_OpenWindow",,q%
�:#l%=�(�gettext(change_stock%,4))
�B8ș "Wimp_SetCaretPosition",change_stock%,4,0,0,-1,l%
�J�
�R
�Z��change_stock_go
�b�open_book_cache(csno$)
�jc$=�csno$,4,2)
�rpick%=�(c$)
�z+var$(pick%,1)=�gettext(change_stock%,4)
��+var$(pick%,2)=�gettext(change_stock%,6)
��+var$(pick%,3)=�gettext(change_stock%,9)
��!q%=confirm%
�� ș "Wimp_GetWindowState",,q%
��q%!28=-1
��ș "Wimp_OpenWindow",,q%
���
��  ș "Wimp_Poll",&0,q% � A%
��1� A%=6 � q%!12=confirm% � (q%!16=3 � q%!16=4)
��sel%=q%!16
��!q%=confirm%
��ș "Wimp_CloseWindow",,q%
��� sel%=4 � �
��!q%=change_stock%
��ș "Wimp_CloseWindow",,q%
���save_cache(csno$)
��cleartext(accn_only%,1)
�
� w_a% �
�:  a$="J"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
�  �add_watchdog(a$)
�"�
�*�
�2
�:��view_stock
�B�check_book_dirs
�J�check_mem_dirs
�R� book_count%=0 �
�ZF  �dis_message("No book directories have been seen by the filer.")
�b  �
�j�
�rno$=�gettext(accn_only%,1)
�z=� �(no$)<6 � �dis_message("Accession number too short"):�
��J� � �validate_digits(no$) � �dis_message("Invalid accession number"):�
��#� book_dir_def%(�(�no$,1)))=� �
��X  �dis_message("The book directory for that number has not been seen by the filer.")
��  �
���
���open_book_cache(no$)
��c$=�no$,4,2)
��pick%=�(c$)
��)�puttext(view_stock%,2,var$(pick%,0))
��)�puttext(view_stock%,4,var$(pick%,1))
��)�puttext(view_stock%,6,var$(pick%,2))
��)�puttext(view_stock%,9,var$(pick%,3))
��stat$=var$(pick%,4)
��� stat$<>"IN LIBRARY" �
��<  temp$="Due "+�stat$,2)+"-"+�stat$,3,2)+"-"+�stat$,5,2)
��5  temp$+="  Member "+�Check_Digit_Plus(�stat$,8))
�  stat$=temp$
�
�
�"�puttext(view_stock%,12,stat$)
� �puttext(view_stock%,13,no$)
�"�cleartext(accn_only%,1)
�*!q%=view_stock%
�2 ș "Wimp_GetWindowState",,q%
�:q%!28=-1
�Bș "Wimp_OpenWindow",,q%
�J!q%=accn_only%
�Rș "Wimp_CloseWindow",,q%
�Z� w_a% �
�b:  a$="K"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+no$
�j  �add_watchdog(a$)
�r�
�z�
��
����dis_fines
��*�puttext(opt_fines%,1,�(fine_charge%))
��� c%=0 � 9
��#comp%=�IconGet(opt_fines%,4+c%)
��!� ((dpx% � (1<<c%))>>>c%)=1 �
��)  � comp%=0 � �xor(opt_fines%,4+c%,1)
���
��)  � comp%=1 � �xor(opt_fines%,4+c%,1)
���
��� c%
��� c%=0 � 11
��� c%>=dxp% �
��"  �cleartext(opt_fines%,25+c%)
���
��)  �puttext(opt_fines%,25+c%,dex$(c%))
��
�
� c%
��
�
�"��save_fines
�**fine_charge%=�(�gettext(opt_fines%,1))
�2
dpx%=0
�:� c%=0 � 9
�B9dpx%=dpx% � ((1<<c%) � (�IconGet(opt_fines%,4+c%)=1))
�J� c%
�R
dxp%=0
�Z� c%=25 � 36
�b!temp$=�gettext(opt_fines%,c%)
�j� temp$<>"" �
�r!  � � �validate_date(temp$) �
�z    temp$=""
��!    �cleartext(opt_fines%,c%)
��  �
���
��*� temp$<>"" � dex$(dxp%)=temp$:dxp%+=1
��� c%
��-filo%=�("<Library$Dir>.Preference.Fines")
���#filo%,fine_charge%
���#filo%,dpx%
���#filo%,dxp%
��� c%=0 � dxp%-1
���#filo%,dex$(c%)
��� c%
���#filo%
��!q%=opt_fines%
��ș "Wimp_CloseWindow",,q%
��� w_a% �
�2  a$="S"+�(logged_on%)+";"+pass$(logged_on%,0)
�
  �add_watchdog(a$)
��
��
�"
�*��remove_member
�2�check_mem_dirs
�:�check_book_dirs
�B� mem_count%=0 �
�JH  �dis_message("No member directories have been seen by the filer.")
�R  �
�Z�
�b!q%=changemem%
�jș "Wimp_CloseWindow",,q%
�r!q%=viewmem%
�zș "Wimp_CloseWindow",,q%
�� rc_no$=�gettext(mem_only%,1)
��?� �(rc_no$)<>9 � �dis_message("Invalid membership error"):�
��F� � �validate_digits(rc_no$) � �dis_message("Check digit error"):�
��!q%=mem_only%
��ș "Wimp_CloseWindow",,q%
��d%=�(�rc_no$,2))
��� mem_dir_def%(d%)=� �
��Z  �dis_message("The member directory for that number has not been seen by the filer.")
��  �
���
��l%=�(�rc_no$,3,2))
��s%=�(�rc_no$,5,1))
��n%=�(�rc_no$,6,3))
��4try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
��filo%=�(try$)
���#filo%,tn%
�>� tn%<n% � n%=0 � �#filo%:�dis_message("Invalid number"):�
�
� n%>1 �
�  � c%=1 � n%-1
�  � d%=1 � 11
�"  �#filo%,temp$
�*
  � d%
�2  null%=�#filo%
�:  tebn%=�#filo%
�B  � tebn%>0 �
�J    � d%=1 � tebn%
�R    �#filo%,temp$
�Z    � d%
�b  �
�j
  � c%
�r�
�z�#filo%,memno$
���#filo%,title$
���#filo%,surn$
���#filo%,on$
��� c%=0 � 5
���#filo%,address$(c%)
��� c%
���#filo%,state$
��tt%=�#filo%
���puttext(remmem%,5,title$)
���puttext(remmem%,6,surn$)
���puttext(remmem%,7,on$)
��� c%=0 � 5
��'�puttext(remmem%,8+c%,address$(c%))
��� c%
���puttext(remmem%,14,state$)
��Ȏ tt% �
�'  � 0: �puttext(remmem%,15,"Adult")
�
(  � 1: �puttext(remmem%,15,"Junior")
�'  � 2: �puttext(remmem%,15,"Staff")
��
�"vbn%=�#filo%
�*� vbn%>0 �
�2  � c%=1 � vbn%
�:  �#filo%,vm_dt$(c%,0)
�B,  � book_dir_def%(�(�vm_dt$(c%,0))))=� �
�J,    nxt$=�Check_Digit_Plus(vm_dt$(c%,0))
�R`    �dis_message("The book directory for the book "+nxt$+" has not been seen by the filer.")
�Z4    vm_dt$(c%,1)="***  Directory not found  ***"
�b4    vm_dt$(c%,2)="***  Directory not found  ***"
�j4    vm_dt$(c%,3)="***  Directory not found  ***"
�r4    vm_dt$(c%,4)="***  Directory not found  ***"
�z  �
��&    �open_book_cache(vm_dt$(c%,0))
��    c$=�vm_dt$(c%,0),4,2)
��    pick%=�(c$)
��"    vm_dt$(c%,1)=var$(pick%,0)
��"    vm_dt$(c%,2)=var$(pick%,1)
��"    vm_dt$(c%,3)=var$(pick%,2)
��E    vm_dt$(c%,4)="Due "+�vm_dt$(c%,0),6,2)+"-"+�vm_dt$(c%,0),8,2)
��-    vm_dt$(c%,4)+="-"+�vm_dt$(c%,0),10,2)
��%    vm_dt$(c%,0)=�vm_dt$(c%,0),5)
��  �
��
  � c%
���
��"cur_vb%=0:� vbn%>0 � cur_vb%=1
���#filo%
���insert_mem_text(remmem%)
��!q%=remmem%
� ș "Wimp_GetWindowState",,q%
�
q%!28=-1
�ș "Wimp_OpenWindow",,q%
��
�"
�*��insert_mem_text(win%)
�2� vbn%=0 �
�:  � c%=21 � 25
�B  �cleartext(win%,c%)
�J-  � c%=21 � c%=22 � �cleartext(win%,c%-4)
�R
  � c%
�Z�
�b� vbn%=0 � �
�j� cur_vb%=1 �
�r  �cleartext(win%,17)
�z�
��  �puttext(win%,17,"�")
���
��� cur_vb%=vbn% �
��  �cleartext(win%,18)
���
��  �puttext(win%,18,"�")
���
��:�puttext(win%,21,�Check_Digit_Plus(vm_dt$(cur_vb%,0)))
��� c%=1 � 4
��+�puttext(win%,21+c%,vm_dt$(cur_vb%,c%))
��� c%
���
��
����wipe_mem
���check_mem_dirs
���check_book_dirs
�ș "Hourglass_On"
�
d%=�(�rc_no$,2))
�� mem_dir_def%(d%)=� �
�Z  �dis_message("The member directory for that number has not been seen by the filer.")
�"  ș "Hourglass_OfF"
�*  �
�2�
�:l%=�(�rc_no$,3,2))
�Bs%=�(�rc_no$,5,1))
�Jn%=�(�rc_no$,6,3))
�R4try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
�Zfilo%=�(try$)
�bfilp%=�(try$+"2")
�j�#filo%,tn%
�rflag%=�
�zflag2%=�
��� n%=tn% �
��  �#filp%,tn%-1
��  � tn%=1 � flag%=�
��  tn%-=1
��  flag2%=�
���
��
� flag% �
��  � c%=1 � tn%
��  � d%=1 � 11
��  �#filo%,temp$
��  � c%<>n% �
��    �#filp%,temp$
��  �
��    �#filp%,"<Deleted>"
��  �
��
  � d%
�  �#filp%,�#filo%
�
  bn%=�#filo%
�  �#filp%,bn%
�  � bn%>0 �
�"    � d%=1 � bn%
�*    �#filo%,temp$
�2    �#filp%,temp$
�:    � d%
�B  �
�J
  � c%
�R�
�Z�#filo%
�b�#filp%
�j�("Delete "+try$)
�r�("Rename "+try$+"2 "+try$)
�z� � flag2% �
��  d%=�(�rc_no$,2))
��  l%=�(�rc_no$,3,2))
��  s%=�(�rc_no$,5,1))
��  n%=�(�rc_no$,6,3))
��7  h_try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+".Holes"
��  filo%=�(h_try$)
��  g%=�(h_try$+"2")
��  delflag%=�
��  � filo% �
��    delflag%=�
��	    �
��      �#filo%,temp$
��      �#g%,temp$
��    � �#filo%
��  �
��  �#g%,�(s%)+�(n%)
�
  �#filo%
�

  �#g%
�&  � delflag% � �("Delete "+h_try$)
�%  �("Rename "+h_try$+"2 "+h_try$)
�"�
�*!q%=remmem%
�2ș "Wimp_CloseWindow",,q%
�:ș "Hourglass_Off"
�B� w_a% �
�JA  a$="M"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+�rc_no$,8)
�R  �add_watchdog(a$)
�Z�
�b�
�j
�r��change_member
�z�check_mem_dirs
���check_book_dirs
��� mem_count%=0 �
��H  �dis_message("No member directories have been seen by the filer.")
��  �
���
��!q%=remmem%
��ș "Wimp_CloseWindow",,q%
��!q%=viewmem%
��ș "Wimp_CloseWindow",,q%
�� rc_no$=�gettext(mem_only%,1)
��?� �(rc_no$)<>9 � �dis_message("Invalid membership error"):�
��F� � �validate_digits(rc_no$) � �dis_message("Check digit error"):�
��!q%=mem_only%
��ș "Wimp_CloseWindow",,q%
��d%=�(�rc_no$,2))
��� mem_dir_def%(d%)=� �
�^  �dis_message("The membership directory for that number has not been seen by the filer.")
�
  �
��
�l%=�(�rc_no$,3,2))
�"s%=�(�rc_no$,5,1))
�*n%=�(�rc_no$,6,3))
�24try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
�:filo%=�(try$)
�B�#filo%,tn%
�J>� tn%<n% � n%=0 � �#filo%:�dis_message("Invalid number"):�
�R� n%>1 �
�Z  � c%=1 � n%-1
�b  � d%=1 � 11
�j  �#filo%,temp$
�r
  � d%
�z  null%=�#filo%
��  tebn%=�#filo%
��  � tebn%>0 �
��    � d%=1 � tebn%
��    �#filo%,temp$
��    � d%
��  �
��
  � c%
���
���#filo%,memno$
���#filo%,title$
���#filo%,surn$
���#filo%,on$
��� c%=0 � 5
���#filo%,address$(c%)
��� c%
���#filo%,state$
�tt%=�#filo%
�
!�puttext(changemem%,5,title$)
� �puttext(changemem%,6,surn$)
��puttext(changemem%,7,on$)
�"� c%=0 � 5
�**�puttext(changemem%,8+c%,address$(c%))
�2� c%
�:"�puttext(changemem%,14,state$)
�BȎ tt% �
�J*  � 0: �puttext(changemem%,15,"Adult")
�R+  � 1: �puttext(changemem%,15,"Junior")
�Z*  � 2: �puttext(changemem%,15,"Staff")
�b�
�jvbn%=�#filo%
�r� vbn%>0 �
�z  � c%=1 � vbn%
��  �#filo%,vm_dt$(c%,0)
��,  � book_dir_def%(�(�vm_dt$(c%,0))))=� �
��,    nxt$=�Check_Digit_Plus(vm_dt$(c%,0))
��`    �dis_message("The book directory for the book "+nxt$+" has not been seen by the filer.")
��4    vm_dt$(c%,1)="***  Directory not found  ***"
��4    vm_dt$(c%,2)="***  Directory not found  ***"
��4    vm_dt$(c%,3)="***  Directory not found  ***"
��4    vm_dt$(c%,4)="***  Directory not found  ***"
��  �
��&    �open_book_cache(vm_dt$(c%,0))
��    c$=�vm_dt$(c%,0),4,2)
��    pick%=�(c$)
��"    vm_dt$(c%,1)=var$(pick%,0)
��"    vm_dt$(c%,2)=var$(pick%,1)
��"    vm_dt$(c%,3)=var$(pick%,2)
��E    vm_dt$(c%,4)="Due "+�vm_dt$(c%,0),6,2)+"-"+�vm_dt$(c%,0),8,2)
�-    vm_dt$(c%,4)+="-"+�vm_dt$(c%,0),10,2)
�
%    vm_dt$(c%,0)=�vm_dt$(c%,0),5)
�  �
�
  � c%
�"�
�*"cur_vb%=0:� vbn%>0 � cur_vb%=1
�2�#filo%
�: �insert_mem_text(changemem%)
�B!q%=changemem%
�J ș "Wimp_GetWindowState",,q%
�Rq%!28=-1
�Zș "Wimp_OpenWindow",,q%
�b l%=�(�gettext(changemem%,5))
�j5ș "Wimp_SetCaretPosition",changemem%,5,0,0,-1,l%
�r�
�z
����save_ch_mem
��ș "Hourglass_On"
��d%=�(�rc_no$,2))
��� mem_dir_def%(d%)=� �
��^  �dis_message("The membership directory for that number has not been seen by the filer.")
��  ș "Hourglass_Off"
��  �
���
��l%=�(�rc_no$,3,2))
��s%=�(�rc_no$,5,1))
��n%=�(�rc_no$,6,3))
��4try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
��filo%=�(try$)
��filp%=�(try$+"2")
���#filo%,tn%
���#filp%,tn%
�� c%=1 � tn%
�
� d%=1 � 11
��#filo%,temp$
�� c%<>n% �
�"  �#filp%,temp$
�*�
�2  � d%=1 � �#filp%,temp$
�:B  � d%>=2 � d%<=11 � �#filp%,�Upper(�gettext(changemem%,3+d%))
�B�
�J� d%
�R� c%<>n% �
�Z  �#filp%,�#filo%
�b�
�j  temp%=�#filo%
�r#  comp$=�gettext(changemem%,15)
�z  Ȏ comp$ �
��    � "Adult": comp%=0
��    � "Junior": comp%=1
��    � "Staff": comp%=2
��  �
��  �#filp%,comp%
���
��bn%=�#filo%
���#filp%,bn%
��
� bn%>0 �
��  � d%=1 � bn%
��  �#filo%,temp$
��  �#filp%,temp$
��
  � d%
���
��� c%
���#filo%
��#filp%
�
�("Delete "+try$)
��("Rename "+try$+"2 "+try$)
�!q%=changemem%
�"ș "Wimp_CloseWindow",,q%
�*ș "Hourglass_Off"
�2� w_a% �
�:A  a$="N"+�(logged_on%)+";"+pass$(logged_on%,0)+";"+�rc_no$,8)
�B  �add_watchdog(a$)
�J�
�R�
�Z
�b��add_watchdog(s$)
�j*try$="<Library$Dir>.Watchdog.Watchdog"
�rfilo%=�(try$)
�zfilp%=�(try$+"2")
��delflag%=�
��
� filo% �
��  delflag%=�
��  �
��    �#filo%,temp$
��    �#filp%,temp$
��  � �#filo%
���
���#filp%,�$+s$
���#filp%
���#filo%
��"� delflag% � �("Delete "+try$)
���("Rename "+try$+"2 "+try$)
���
��
����show_watchdog
�*try$="<Library$Dir>.Watchdog.Watchdog"
�
filo%=�(try$)
�C� filo%=0 � �#filo%:�dis_message("There is nothing to display")
�� filo%=0 � �
�"winp%=0
�*biggest%=0
�2�
�:  �#filo%,e$
�B  f$=" "+�e$,24)+"  "
�J  opc$=�e$,25,1)
�R  Ȏ opc$ �
�Z
    � "A"
�b&      f$+="Log On                "
�j      s1%=�e$,";")
�r      s2%=�e$,";",s1%+1)
�z$      f$+=�spc(�e$,26,s1%-26),5)
��'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
��      f$+=�e$,�(e$)-s2%)
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "B"
��&      f$+="Log Off               "
��      s1%=�e$,";")
��$      f$+=�spc(�e$,26,s1%-26),5)
��      f$+=�e$,�(e$)-s1%)
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "C"
��&      f$+="Password Change       "
��      s1%=�e$,";")
��      s2%=�e$,";",s1%+1)
��      s3%=�e$,";",s2%+1)
��$      f$+=�spc(�e$,26,s1%-26),5)
��'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
�)      f$+=�e$,s2%+1,s3%-s2%-1)+" to "
�
      f$+=�e$,�(e$)-s3%)
�+      � �(f$)>biggest% � biggest%=�(f$)
�
    � "D"
�"&      f$+="New News Page         "
�*      s1%=�e$,";")
�2$      f$+=�spc(�e$,26,s1%-26),5)
�:      f$+=�e$,�(e$)-s1%)
�B+      � �(f$)>biggest% � biggest%=�(f$)
�J
    � "E"
�R&      f$+="Issue Book            "
�Z      s1%=�e$,";")
�b      s2%=�e$,";",s1%+1)
�j$      f$+=�spc(�e$,26,s1%-26),5)
�r'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
�z      cut$=�e$,�(e$)-s2%)
��1      f$+="Accn "+�Check_Digit_Plus(�cut$,5))
��4      f$+="  Mem "+�Check_Digit_Plus(�cut$,6,8))
��?      f$+="  Due "+�cut$,14,2)+"-"+�cut$,16,2)+"-"+�cut$,2)
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "F"
��&      f$+="Return Book           "
��      s1%=�e$,";")
��      s2%=�e$,";",s1%+1)
��$      f$+=�spc(�e$,26,s1%-26),5)
��'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
��      cut$=�e$,�(e$)-s2%)
��1      f$+="Accn "+�Check_Digit_Plus(�cut$,5))
��2      f$+="  Mem "+�Check_Digit_Plus(�cut$,8))
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "G"
��&      f$+="Renew Book            "
�      s1%=�e$,";")
�
      s2%=�e$,";",s1%+1)
�$      f$+=�spc(�e$,26,s1%-26),5)
�'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
�"      cut$=�e$,�(e$)-s2%)
�*1      f$+="Accn "+�Check_Digit_Plus(�cut$,5))
�24      f$+="  Mem "+�Check_Digit_Plus(�cut$,6,8))
�:?      f$+="  Due "+�cut$,14,2)+"-"+�cut$,16,2)+"-"+�cut$,2)
�B+      � �(f$)>biggest% � biggest%=�(f$)
�J
    � "H"
�R&      f$+="Add Stock             "
�Z      s1%=�e$,";")
�b      s2%=�e$,";",s1%+1)
�j$      f$+=�spc(�e$,26,s1%-26),5)
�r'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
�z7      f$+="Accn "+�Check_Digit_Plus(�e$,�(e$)-s2%))
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "I"
��&      f$+="Remove Stock          "
��      s1%=�e$,";")
��      s2%=�e$,";",s1%+1)
��$      f$+=�spc(�e$,26,s1%-26),5)
��'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
��7      f$+="Accn "+�Check_Digit_Plus(�e$,�(e$)-s2%))
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "J"
��&      f$+="Change Stock          "
��      s1%=�e$,";")
��      s2%=�e$,";",s1%+1)
��$      f$+=�spc(�e$,26,s1%-26),5)
��'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
��7      f$+="Accn "+�Check_Digit_Plus(�e$,�(e$)-s2%))
�+      � �(f$)>biggest% � biggest%=�(f$)
�

    � "K"
�&      f$+="View Stock            "
�      s1%=�e$,";")
�"      s2%=�e$,";",s1%+1)
�*$      f$+=�spc(�e$,26,s1%-26),5)
�2'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
�:7      f$+="Accn "+�Check_Digit_Plus(�e$,�(e$)-s2%))
�B+      � �(f$)>biggest% � biggest%=�(f$)
�J
    � "L"
�R&      f$+="New Member            "
�Z      s1%=�e$,";")
�b      s2%=�e$,";",s1%+1)
�j$      f$+=�spc(�e$,26,s1%-26),5)
�r'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
�z6      f$+="Mem "+�Check_Digit_Plus(�e$,�(e$)-s2%))
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "M"
��&      f$+="Remove Member         "
��      s1%=�e$,";")
��      s2%=�e$,";",s1%+1)
��$      f$+=�spc(�e$,26,s1%-26),5)
��'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
��6      f$+="Mem "+�Check_Digit_Plus(�e$,�(e$)-s2%))
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "N"
��&      f$+="Change Member         "
��      s1%=�e$,";")
��      s2%=�e$,";",s1%+1)
��$      f$+=�spc(�e$,26,s1%-26),5)
��'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
��6      f$+="Mem "+�Check_Digit_Plus(�e$,�(e$)-s2%))
�+      � �(f$)>biggest% � biggest%=�(f$)
�

    � "O"
�&      f$+="View Member           "
�      s1%=�e$,";")
�"      s2%=�e$,";",s1%+1)
�*$      f$+=�spc(�e$,26,s1%-26),5)
�2'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
�:6      f$+="Mem "+�Check_Digit_Plus(�e$,�(e$)-s2%))
�B+      � �(f$)>biggest% � biggest%=�(f$)
�J
    � "P"
�R&      f$+="Book Directory        "
�Z      s1%=�e$,";")
�b      s2%=�e$,";",s1%+1)
�j$      f$+=�spc(�e$,26,s1%-26),5)
�r'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
�z      f$+=�e$,�(s$)-s2%)
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "Q"
��&      f$+="Member Directory      "
��      s1%=�e$,";")
��      s2%=�e$,";",s1%+1)
��$      f$+=�spc(�e$,26,s1%-26),5)
��'      f$+=�e$,s1%+1,s2%-s1%-1)+"  "
��      f$+=�e$,�(s$)-s2%)
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "R"
��&      f$+="Password Control      "
��      s1%=�e$,";")
��$      f$+=�spc(�e$,26,s1%-26),5)
��      f$+=�e$,�(e$)-s1%)
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "S"
�&      f$+="Fine Presets          "
�
      s1%=�e$,";")
�$      f$+=�spc(�e$,26,s1%-26),5)
�      f$+=�e$,�(e$)-s1%)
�"+      � �(f$)>biggest% � biggest%=�(f$)
�*
    � "T"
�2&      f$+="Lending Presets       "
�:      s1%=�e$,";")
�B$      f$+=�spc(�e$,26,s1%-26),5)
�J      f$+=�e$,�(e$)-s1%)
�R+      � �(f$)>biggest% � biggest%=�(f$)
�Z
    � "U"
�b&      f$+="Watchdog Activated    "
�j      s1%=�e$,";")
�r$      f$+=�spc(�e$,26,s1%-26),5)
�z      f$+=�e$,�(e$)-s1%)
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "V"
��&      f$+="Watchdog Deactivated  "
��      s1%=�e$,";")
��$      f$+=�spc(�e$,26,s1%-26),5)
��      f$+=�e$,�(e$)-s1%)
��+      � �(f$)>biggest% � biggest%=�(f$)
��
    � "W"
��&      f$+="Watchdog Flushed      "
��      s1%=�e$,";")
��$      f$+=�spc(�e$,26,s1%-26),5)
��      f$+=�e$,�(e$)-s1%)
��+      � �(f$)>biggest% � biggest%=�(f$)
��  �
��1  winstack$(winp%)=f$:winp%+=-1*(winp%<10000)
��
� �#filo%
��#filo%
�
	!q%=0
�q%!4=winp%*-48+10
�q%!8=biggest%*20
�"q%!12=0
�*$ș "Wimp_SetExtent",main_aux%,q%
�2!q%=main_aux%
�:ș "Wimp_GetWindowInfo",,q%
�B_p%=!(q%+76)
�J$_p%="Watchdog Entries"
�R!q%=main_aux%
�Z ș "Wimp_GetWindowState",,q%
�bq%!28=-1
�jusing_rd%=4
�rș "Wimp_OpenWindow",,q%
�z�
��
��ݤMake_Code(s$)
��s$=�Upper(s$)
��l%=�(s$)
��� l%=0 � =0
��	acc=0
��� l%>=20 �
��  � c%=1 � 20
��  asc%=�(�s$,c%,1))
��  � asc%>=65 � asc%<=97 �
��    asc%-=55
��  �
��    � asc%>=48 � asc%<=57 �
��      asc%-=48
��	    �
��      asc%=0
�	    �
�
  �
�  acc+=36^(20-c%)*asc%
�
  � c%
�"�
�*  � c%=1 � �(s$)
�2  asc%=�(�s$,c%,1))
�:  � asc%>=65 � asc%<=97 �
�B    asc%-=55
�J  �
�R    � asc%>=48 � asc%<=57 �
�Z      asc%-=48
�b	    �
�j      asc%=0
�r	    �
�z  �
��  acc+=26^(27-c%)*asc%
��
  � c%
���
��=acc
��
��!ݤcheck_keyword(word$,title$)
��found_flag%=�
��posn%=1
��sp%=�title$," ",posn%)
��
ȕ sp%
��  ns%=�title$," ",posn%+1)
��
  � ns% �
��8    � word$=�title$,sp%+1,ns%-sp%-1) � found_flag%=�
��  �
��6    � word$=�title$,�(title$)-sp%) � found_flag%=�
��  �
�
  sp%=ns%
�
  posn%=ns%
��
�=found_flag%
�"
�*��new_states
�2t$=��$,12,4)
�:� �(t$)>=1995 �
�B"  �addtomenu(8,"Norway",-1,"")
�J"  �addtomenu(8,"Sweden",-1,"")
�R#  �addtomenu(8,"Finland",-1,"")
�Z#  �addtomenu(8,"Austria",-1,"")
�b�
�j�
�r
�z��book_request
���check_book_dirs
��!wimp%=256
��wimp%!12=q%!8
��wimp%!16=&47D21
��wimp%?20=q%!24
��wimp%?21=0
��gno$=�(q%!20)
��gno%=�(gno$)
��dir%=�(�gno$,1))
��X� book_dir_def%(dir%)=� � ((bookdef%?(gno% � 8) � (1<<(gno% � 8)))>>>(gno% � 8))=0 �
��  wimp%?21=1
��)  ș "Wimp_SendMessage",17,wimp%,q%!4
���
��  �open_book_cache(gno$)
��  pick%=�(�gno$,2))
��  field$=var$(pick%,q%!24)
�6  � �(field$)>231 � field$=�field$,231):wimp%?21=3
�
  $(wimp%+24)=field$+�(0)
�)  ș "Wimp_SendMessage",17,wimp%,q%!4
��
�"�
�*
�2��overdue_notices
�:�check_book_dirs
�B�check_mem_dirs
�Jodt$()="":odt_flag%=�
�R
pac%=0
�Z � �IconGet(overdue_pr%,17) �
�b+  filo%=�("<Library$Dir>.Text.Overdue")
�j  � filo%=0 �
�r    �#filo%
�z9    �dis_message("There is no text currently stored")
��  �
��
    ct%=0
��
    bf%=�
��	    �
��      � ct%>30 �
��M        �dis_message("The text file is too long and has been truncated.")
��        bf%=�
��      �
��$        odt$(ct%)=�#filo%:ct%+=1
��      �
��    � �#filo% � bf%
��    �#filo%
��    odt_flag%=ct%-1
��  �
���
��� �IconGet(overdue_pr%,7) �
�#  gno$=�gettext(overdue_pr%,13)
�
"  � � �validate_digits(gno$) �
�2    �dis_message("Invalid accession number"):�
�  �
�"  gno%=�(�gno$))
�*'  � book_dir_def%(gno% � 10000)=� �
�2Z    �dis_message("The book directory for that number has not been seen by the filer.")
�:	    �
�B  �
�JB  � ((bookdef%?(gno% � 8) � (1<<(gno% � 8)))>>>(gno% � 8))=0 �
�R*    �dis_message("Book not defined"):�
�Z  �
�b  �open_book_cache(gno$)
�j  pick%=gno% � 100
�r  rd$=�var$(pick%,4),6)
�z#  rd$=�rd$,2)+�rd$,3,2)+�rd$,2)
��
  rel$=�$
��  day_n$=�rel$,3)
��  day$=�rel$,5,2)
��  mon$=�rel$,8,3)
��  yr$=�rel$,14,2)
��  Ȏ mon$ �
��    � "Jan": m$="01"
��    � "Feb": m$="02"
��    � "Mar": m$="03"
��    � "Apr": m$="04"
��    � "May": m$="05"
��    � "Jun": m$="06"
��    � "Jul": m$="07"
��    � "Aug": m$="08"
��    � "Sep": m$="09"
��    � "Oct": m$="10"
�    � "Nov": m$="11"
�
    � "Dec": m$="12"
�  �
�  rel$=yr$+m$+day$
�"8  � (�(rel$)<=�(rd$)) � var$(pick%,4)="IN LIBRARY" �
�*2    �dis_message("This book is not overdue"):�
�2  �
�:    font_flag%=�
�B"    f$=�gettext(overdue_pr%,3)
�J%    � �Upper(f$)<>"SYSTEM FONT" �
�R      font_flag%=�
�Z      size%=12
�b      size%=size%*1000
�j>      ș "Font_FindFont",,f$,size%/62.5,size%/62.5 � fhdl%
�r      ș "Hourglass_On"
�z      pf%=�("printer:")
��?      � pf%=0 � �#pf%:�dis_message("Printer not available")
��"      � pf%=0 � printflag%=�:�
��.      ș "PDriver_SelectJob",pf%,"Overdue"
��$      ș "PDriver_Info" � ,,,ff%
��&      � ((ff% � (1<<29))>>>29)=1 �
��/        ș "PDriver_DeclareFont",fhdl%,f$,0
��*        ș "PDriver_DeclareFont",0,0,0
��      �
��
      � �
��S      � � �:� �:ș "PDriver_AbortJob",pf%:�#pf%:printflag%=�:�dis_message(�$):�
��>      ș "PDriver_PageSize" � ,,,left%,bottom%,right%,top%
��M      left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
��0      no_lines%=((top%-bottom%)*400) � size%
��5      columns%=(((right%-left%)*400) � size%)*1.5
��D      rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
��'      trans%!0=1<<16:trans%!4=0<<16
�(      trans%!8=0<<16:trans%!12=1<<16
�
8      plotat%!0=left%*400:plotat%!4=bottom%*400-3600
�"      ef%=�print_record(pick%)
�      � ef% �
�"        � �
�*%        ș "PDriver_AbortJob",pf%
�2        �#pf%
�:        printflag%=�
�B
        �
�J      �
�R      � c%=0 � end%
�Z9      pa$(c%)=line$(c%)+�(13)+�(10):pan%(c%)=lin%(c%)
�b      � c%:pac%=c%
�jE      ș "PDriver_GiveRectangle",0,rect%,trans%,plotat%,&FFFFFF00
�r6      ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
�z8      ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
��!      ș "Font_SetFont",fhdl%
��      ȕ more2%
��         �rewrite(left%,top%)
��7        ș "PDriver_GetRectangle",,rectin% � more2%
��      �
��!      ș "PDriver_EndJob",pf%
��      ș "Hourglass_Off"
��      �#pf%
��      printflag%=�
��"      ș "Font_LoseFont",fhdl%
��	    �
��;      columns%=80:no_lines%=�(�gettext(overdue_pr%,22))
��%      � no_lines%=0 � no_lines%=1
��"      ef%=�print_record(pick%)
��3      � ef% � ș "Hourglass_Off":printflag%=�:�
��
      � 2
�      � c%=0 � end%
�
      � line$(c%)
�      � c%
�
      � 3
�"      printflag%=�
�*	    �
�2  �
�:�
�B!  pac%=0:more_flag%=�:page%=0
�J
  days%=0
�RC  � �IconGet(overdue_pr%,6) � days%=�(�gettext(overdue_pr%,10))
�Z  font_flag%=�
�b   f$=�gettext(overdue_pr%,3)
�j#  � �Upper(f$)<>"SYSTEM FONT" �
�r    font_flag%=�
�z    size%=12
��    size%=size%*1000
��<    ș "Font_FindFont",,f$,size%/62.5,size%/62.5 � fhdl%
��    ș "Hourglass_On"
��    pf%=�("printer:")
��=    � pf%=0 � �#pf%:�dis_message("Printer not available")
��     � pf%=0 � printflag%=�:�
��,    ș "PDriver_SelectJob",pf%,"Overdue"
��"    ș "PDriver_Info" � ,,,ff%
��$    � ((ff% � (1<<29))>>>29)=1 �
��-      ș "PDriver_DeclareFont",fhdl%,f$,0
��(      ș "PDriver_DeclareFont",0,0,0
��	    �
��    � �
��Q    � � �:� �:ș "PDriver_AbortJob",pf%:�#pf%:printflag%=�:�dis_message(�$):�
��<    ș "PDriver_PageSize" � ,,,left%,bottom%,right%,top%
��K    left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
�.    no_lines%=((top%-bottom%)*400) � size%
�
3    columns%=(((right%-left%)*400) � size%)*1.5
�B    rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
�%    trans%!0=1<<16:trans%!4=0<<16
�"&    trans%!8=0<<16:trans%!12=1<<16
�*6    plotat%!0=left%*400:plotat%!4=bottom%*400-3600
�2    � gd%=0 � 9
�:    � book_dir_def%(gd%) �
�B      � gn%=0 � 9999
�J      gno%=gd%*10000+gn%
�RF      � ((bookdef%?(gno% � 8) � (1<<(gno% � 8)))>>>(gno% � 8))=1 �
�ZG        � cache%<>(gno% � 100) � �open_book_cache(�zero(�(gno%),5))
�b        pick%=gno% � 100
�j+        � var$(pick%,4)<>"IN LIBRARY" �
�r%          date$=�var$(pick%,4),6)
�z           day_due$=�date$,2)
��"          mon_due$=�date$,3,2)
��          yr_due$=�date$,2)
��          dat$=�$
��!          day_now$=�dat$,5,2)
��          mon$=�dat$,8,3)
��          Ȏ mon$ �
��&            � "Jan": mon_now$="01"
��&            � "Feb": mon_now$="02"
��&            � "Mar": mon_now$="03"
��&            � "Apr": mon_now$="04"
��&            � "May": mon_now$="05"
��&            � "Jun": mon_now$="06"
��&            � "Jul": mon_now$="07"
��&            � "Aug": mon_now$="08"
��&            � "Sep": mon_now$="09"
��&            � "Oct": mon_now$="10"
�&            � "Nov": mon_now$="11"
�
&            � "Dec": mon_now$="12"
�          �
�!          yr_now$=�dat$,14,2)
�"4          date1$=�date$,2)+�date$,3,2)+�date$,2)
�*.          date2$=yr_now$+mon_now$+day_now$
�2&          � �(date1$)>=�(date2$) �
�:M            cb%=�convert_date_relative(yr_now$,mon_now$,day_now$,yr_now$)
�BM            db%=�convert_date_relative(yr_due$,mon_due$,day_due$,yr_now$)
�J$            � (cb%-db%)>=days% �
�R*              ef%=�print_record(pick%)
�Z              � ef% TNEN
�b                � �
�j-                ș "PDriver_AbortJob",pf%
�r                �#pf%
�z                 printflag%=�
��                �
��              �
��+              � pac%+end%+1>no_lines% �
��                � pac%=0 �
��                  � �
��<                  �dis_message("Paper too small to fit")
��/                  ș "PDriver_AbortJob",pf%
��                  �#pf%
��"                  printflag%=�
��(                  ș "Hourglass_Off"
��                  �
��                �
��U                  ș "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
��B                  ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
��D                  ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
��-                  ș "Font_SetFont",fhdl%
�                  ȕ more2%
�
,                    �rewrite(left%,top%)
�C                    ș "PDriver_GetRectangle",,rectin% � more2%
�                  �
�"                  page%+=1
�*#                  � c%=0 � end%
�29                  pa$(c%)=line$(c%):pan%(c%)=lin%(c%)
�:                  � c%
�B                  pac%=c%
�J                �
�R              �
�Z!                � c%=0 � end%
�bA                pa$(pac%+c%)=line$(c%):pan%(pac%+c%)=lin%(c%)
�j                � c%
�r                pac%+=c%
�z              �
��            �
��          �
��M            cb%=�convert_date_relative(yr_now$,mon_now$,day_now$,yr_due$)
��M            db%=�convert_date_relative(yr_due$,mon_due$,day_due$,yr_due$)
��$            � (cb%-db%)>=days% �
��*              ef%=�print_record(pick%)
��              � ef% TNEN
��                � �
��-                ș "PDriver_AbortJob",pf%
��                �#pf%
��                 printflag%=�
��                �
��              �
��+              � pac%+end%+1>no_lines% �
��                � pac%=0 �
��                  � �
�<                  �dis_message("Paper too small to fit")
�
/                  ș "PDriver_AbortJob",pf%
�                  �#pf%
�"                  printflag%=�
�"(                  ș "Hourglass_Off"
�*                  �
�2                �
�:U                  ș "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
�BB                  ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
�JD                  ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
�R-                  ș "Font_SetFont",fhdl%
�Z                  ȕ more2%
�b,                    �rewrite(left%,top%)
�jC                    ș "PDriver_GetRectangle",,rectin% � more2%
�r                  �
�z                  page%+=1
��#                  � c%=0 � end%
��9                  pa$(c%)=line$(c%):pan%(c%)=lin%(c%)
��                  � c%
��                  pac%=c%
��                �
��              �
��!                � c%=0 � end%
��A                pa$(pac%+c%)=line$(c%):pan%(pac%+c%)=lin%(c%)
��                � c%
��                pac%+=c%
��              �
��            �
��          �
��
        �
��      �
��      � gn%
�	    �
�

    � gd%
�    � pac%>0 �
�I      ș "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
�"6      ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
�*8      ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
�2!      ș "Font_SetFont",fhdl%
�:      ȕ more2%
�B         �rewrite(left%,top%)
�J7        ș "PDriver_GetRectangle",,rectin% � more2%
�R      �
�Z	    �
�b    printflag%=�
�j    ș "PDriver_EndJob",pf%
�r    ș "Hourglass_Off"
�z
    �#pf%
��    � �
��  �
��9    columns%=80:no_lines%=�(�gettext(overdue_pr%,22))
��#    � no_lines%=0 � no_lines%=1
��    pac%=0
��    � gd%=0 � 9
��    � book_dir_def%(gd%) �
��      � gn%=0 � 9999
��      gno%=gd%*10000+gn%
��F      � ((bookdef%?(gno% � 8) � (1<<(gno% � 8)))>>>(gno% � 8))=1 �
��G        � cache%<>(gno% � 100) � �open_book_cache(�zero(�(gno%),5))
��        pick%=gno% � 100
��+        � var$(pick%,4)<>"IN LIBRARY" �
��%          date$=�var$(pick%,4),6)
��           day_due$=�date$,2)
��"          mon_due$=�date$,3,2)
�          yr_due$=�date$,2)
�
          dat$=�$
�!          day_now$=�dat$,5,2)
�          mon$=�dat$,8,3)
�"          Ȏ mon$ �
�*&            � "Jan": mon_now$="01"
�2&            � "Feb": mon_now$="02"
�:&            � "Mar": mon_now$="03"
�B&            � "Apr": mon_now$="04"
�J&            � "May": mon_now$="05"
�R&            � "Jun": mon_now$="06"
�Z&            � "Jul": mon_now$="07"
�b&            � "Aug": mon_now$="08"
�j&            � "Sep": mon_now$="09"
�r&            � "Oct": mon_now$="10"
�z&            � "Nov": mon_now$="11"
��&            � "Dec": mon_now$="12"
��          �
��!          yr_now$=�dat$,14,2)
��4          date1$=�date$,2)+�date$,3,2)+�date$,2)
��.          date2$=yr_now$+mon_now$+day_now$
��&          � �(date1$)>=�(date2$) �
��M            cb%=�convert_date_relative(yr_now$,mon_now$,day_now$,yr_now$)
��M            db%=�convert_date_relative(yr_due$,mon_due$,day_due$,yr_now$)
��$            � (cb%-db%)>=days% �
��*              ef%=�print_record(pick%)
��(              � ef% � printflag%=�:�
��+              � pac%+end%+1>no_lines% �
��                � 2
��+                � c%=pac%+1 � no_lines%
��                �
��                � c%
�!                � c%=0 � end%
�
                � line$(c%)
�                � c%
�                � 3
�"                pac%=c%
�*              �
�2                � 2
�:!                � c%=0 � end%
�B                � line$(c%)
�J                � c%
�R                � 3
�Z                pac%+=c%
�b              �
�j            �
�r          �
�zM            cb%=�convert_date_relative(yr_now$,mon_now$,day_now$,yr_due$)
��M            db%=�convert_date_relative(yr_due$,mon_due$,day_due$,yr_due$)
��$            � (cb%-db%)>=days% �
��*              ef%=�print_record(pick%)
��;              � ef% � ș "Hourglass_Off":printflag%=�:�
��+              � pac%+end%+1>no_lines% �
��                � 2
��+                � c%=pac%+1 � no_lines%
��                �
��                � c%
��!                � c%=0 � end%
��                � line$(c%)
��                � c%
��                � 3
��                pac%=c%
��              �
��                � 2
�!                � c%=0 � end%
�
                � line$(c%)
�                � c%
�                � 3
�"                pac%+=c%
�*              �
�2            �
�:          �
�B
        �
�J      �
�R      � gn%
�Z	    �
�b
    � gd%
�j    printflag%=�
�r    ș "Hourglass_Off"
�z  �
���
���
��
��ݤform_initials(ini$)
��s%=�ini$," ")
��Ȏ s% �
��  � 0: =�ini$,1)+". "
��2   =�ini$,1)+". "+�form_initials(�ini$,s%+1))
���
��
��ݤget_address(al%)
��� ad_empt%=-1 �
��  � al%<>6 �
��    =address$(al%)
��  �
��    =state$
�  �
�
�
�  � al%>=ad_empt% �
�    � al%=6 �
�"      =state$
�*	    �
�2
      =""
�:	    �
�B  �
�J    � al%=6 �
�R      =state$
�Z	    �
�b      =address$(al%)
�j	    �
�r  �
�z�
��
��ݤprint_record(pick%)
��,gno$=�Check_Digit_Plus(�zero(�(gno%),6))
��mem$=�var$(pick%,4),7)
��mem$=�mem$,8)
��d%=�(�mem$,2))
��� mem_dir_def%(d%)=� �
��q  �dis_message("The member directory for member "+�Check_Digit_Plus(mem$)+" has not been seen by the filer.")
��  =�
���
��l%=�(�mem$,3,2))
��s%=�(�mem$,5,1))
��n%=�(�mem$,6,3))
��4try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
��filo%=�(try$)
��� filo%=0 � �#filo%:=�
��#filo%,temp%
�
� n%>1 �
�  � c%=1 � n%-1
�  � e%=1 � 11
�"  �#filo%,temp$
�*
  � e%
�2  null%=�#filo%
�:  tebn%=�#filo%
�B  � tebn%>0 �
�J    � e%=1 � tebn%
�R    �#filo%,temp$
�Z    � e%
�b  �
�j
  � c%
�r�
�z�#filo%,memno$
���#filo%,title$
���#filo%,surn$
���#filo%,on$
��ad_empt%=-1
��line$()=""
��� c%=0 � 5
���#filo%,address$(c%)
��1� address$(c%)="" � ad_empt%=-1 � ad_empt%=c%
��� c%
���#filo%,state$
��tt%=�#filo%
���#filo%
��%line$(0)=�columns%,"="):lin%(0)=0
��<line$="This book was due back on "+�var$(pick%,4),2)+"-"
��6line$+=�var$(pick%,4),3,2)+"-"+�var$(pick%,4),5,2)
��line$(1)=line$:lin%(1)=0
�9� �(line$(1))>columns% � line$(1)=�line$(1),columns%)
�
line$(2)="":lin%(2)=0
�,ll$=title$+" "+�form_initials(on$)+surn$
�lr$=var$(pick%,0)
�"lw%=(columns% � 2)-1
�*rw%=columns% � 2
�2 � �(ll$)>lw% � ll$=�ll$,lw%)
�: � �(lr$)>rw% � lr$=�lr$,rw%)
�Bline$=�spc(ll$,rw%)+lr$
�Jline$(3)=line$:lin%(3)=1
�Rll$=�get_address(0)
�Zlr$=var$(pick%,1)
�b � �(ll$)>lw% � ll$=�ll$,lw%)
�j � �(lr$)>rw% � lr$=�lr$,rw%)
�rline$=�spc(ll$,rw%)+lr$
�zline$(4)=line$:lin%(4)=1
��ll$=�get_address(1)
��lr$=var$(pick%,2)
�� � �(ll$)>lw% � ll$=�ll$,lw%)
�� � �(lr$)>rw% � lr$=�lr$,rw%)
��line$=�spc(ll$,rw%)+lr$
��line$(5)=line$:lin%(5)=1
��ll$=�get_address(2)
��� ll$="" �
��  ll$=state$
��  line$(6)=ll$:lin%(6)=0
��  line$(7)="":lin%(7)=0
��!  ll$=�Check_Digit_Plus(mem$)
��  lr$=gno$
��  line$=�spc(ll$,rw%)+lr$
��  line$(8)=line$:lin%(8)=1
���
�  line$(6)=ll$:lin%(6)=0
�
  ll$=�get_address(3)
�  � ll$="" �
�    ll$=state$
�"    line$(7)=ll$:lin%(7)=0
�*    line$(8)="":lin%(8)=0
�2#    ll$=�Check_Digit_Plus(mem$)
�:    lr$=gno$
�B    line$=�spc(ll$,rw%)+lr$
�J     line$(9)=line$:lin%(9)=1
�R  �
�Z    line$(7)=ll$:lin%(7)=0
�b    ll$=�get_address(4)
�j    � ll$="" �
�r      ll$=state$
�z       line$(8)=ll$:lin%(8)=0
��      line$(9)="":lin%(9)=0
��%      ll$=�Check_Digit_Plus(mem$)
��      lr$=gno$
��!      line$=�spc(ll$,rw%)+lr$
��$      line$(10)=line$:lin%(10)=1
��	    �
��       line$(8)=ll$:lin%(8)=0
��      ll$=�get_address(5)
��      � ll$="" �
��        ll$=state$
��"        line$(9)=ll$:lin%(9)=0
��#        line$(10)="":lin%(10)=0
��'        ll$=�Check_Digit_Plus(mem$)
��        lr$=gno$
��#        line$=�spc(ll$,rw%)+lr$
��&        line$(11)=line$:lin%(11)=1
�      �
�
"        line$(9)=ll$:lin%(9)=0
�'        line$(10)=state$:lin%(10)=0
�#        line$(11)="":lin%(11)=0
�"'        ll$=�Check_Digit_Plus(mem$)
�*        lr$=gno$
�2#        line$=�spc(ll$,rw%)+lr$
�:&        line$(12)=line$:lin%(12)=1
�B      �
�J	    �
�R  �
�Z�
�bend%=12
�jȕ line$(end%)=""
�r
  end%-=1
�z�
��� odt_flag%>0 �
��$  � c%=end%+1 � end%+1+odt_flag%
��  line$(c%)=odt$(c%-end%-1)
��
  � c%
��  end%=c%-1
���
��=�
��
����rewrite(px%,py%)
��ș "Font_SetFont",fhdl%
��!ș "Wimp_SetFontColours",,0,7
��3ș "Font_Converttopoints",,px%,py% � ,pxp%,pyp%
��� i%=0 � pac%-1
��� pan%(i%)=1 �
��"  ls$=�pa$(i%),(columns% � 2))
��$  rs$=�pa$(i%),(columns% � 2)+1)
�5  ș "Font_Paint",,ls$,0,pxp%,(pyp%-size%*(i%+1))
�
H  ș "Font_Paint",,rs$,0,pxp%+size%*(columns%/3),(pyp%-size%*(i%+1))
��
�9  ș "Font_Paint",,pa$(i%),0,pxp%,(pyp%-size%*(i%+1))
�"�
�*� i%
�2�
�:
�B
��printer
�JȎ current_print% �
�R  � 1: �overdue_notices
�Z  � 2: �print_vs
�b  � 3: �print_vm
�j  � 4: �print_imports
�r  � 5: �print_all
�z�
‚�
Š
’��print_vs
špan%()=0
¢4pa$(0)="Print requested from view stock window."
ª
pa$(1)=""
²8pa$(2)="Accession number: "+�gettext(view_stock%,13)
º
pa$(3)=""
��"pa$(4)=�gettext(view_stock%,2)
��"pa$(5)=�gettext(view_stock%,4)
��"pa$(6)=�gettext(view_stock%,6)
��"pa$(7)=�gettext(view_stock%,9)
��#pa$(8)=�gettext(view_stock%,12)
��
pa$(9)=""
��pac%=10
�font_flag%=�
�f$=�gettext(print%,3)
�
!� �Upper(f$)<>"SYSTEM FONT" �
�  font_flag%=�
�  size%=12
�"  size%=size%*1000
�*:  ș "Font_FindFont",,f$,size%/62.5,size%/62.5 � fhdl%
�2  ș "Hourglass_On"
�:  pf%=�("printer:")
�B;  � pf%=0 � �#pf%:�dis_message("Printer not available")
�J  � pf%=0 � printflag%=�:�
�R(  ș "PDriver_SelectJob",pf%,"LibVS"
�Z   ș "PDriver_Info" � ,,,ff%
�b"  � ((ff% � (1<<29))>>>29)=1 �
�j+    ș "PDriver_DeclareFont",fhdl%,f$,0
�r&    ș "PDriver_DeclareFont",0,0,0
�z  �
Â	  � �
ÊO  � � �:� �:ș "PDriver_AbortJob",pf%:�#pf%:printflag%=�:�dis_message(�$):�
Ò:  ș "PDriver_PageSize" � ,,,left%,bottom%,right%,top%
ÚI  left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
â,  no_lines%=((top%-bottom%)*400) � size%
ê1  columns%=(((right%-left%)*400) � size%)*1.5
ò@  rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
ú#  trans%!0=1<<16:trans%!4=0<<16
��$  trans%!8=0<<16:trans%!12=1<<16
��4  plotat%!0=left%*400:plotat%!4=bottom%*400-3600
��  � pac%>no_lines% �
��    � �
��.    �dis_message("Paper too small to fit")
��!    ș "PDriver_AbortJob",pf%
��
    �#pf%
�    printflag%=�
�    ș "Hourglass_Off"
�
	    �
�  �
�    � c%=0 � pac%-1
�":    � �(pa$(c%))>columns% � pa$(c%)=�pa$(c%),columns%)
�*    � c%
�2C    ș "PDriver_GiveRectangle",0,rect%,trans%,plotat%,&FFFFFF00
�:4    ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
�B6    ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
�J    ș "Font_SetFont",fhdl%
�R    ȕ more2%
�Z      �rewrite(left%,top%)
�b5      ș "PDriver_GetRectangle",,rectin% � more2%
�j	    �
�r  �
�z  ș "PDriver_EndJob",pf%
Ă  �#pf%
Ċ  printflag%=�
Ē  ș "Hourglass_Off"
�
Ģ  columns%=80:no_lines%=67
Ī	  � 2
IJ  � c%=0 � pac%-1
ĺ8  � �(pa$(c%))>columns% � pa$(c%)=�pa$(c%),columns%)
��  � pa$(c%)
��
  � c%
��	  � 3
��  printflag%=�
��  ș "Hourglass_Off"
���
���
�
���print_vm
�
pan%()=0
�5pa$(0)="Print requested from view member window."
�
pa$(1)=""
�"6pa$(2)="Membership number: "+�gettext(viewmem%,27)
�*
pa$(3)=""
�2#pa$(4)=�gettext(viewmem%,5)+" "
�:$pa$(4)+=�gettext(viewmem%,7)+" "
�B pa$(4)+=�gettext(viewmem%,6)
�J
pac%=5
�R<pa$(pac%)=�gettext(viewmem%,8):� pa$(pac%)<>"" � pac%+=1
�Z<pa$(pac%)=�gettext(viewmem%,9):� pa$(pac%)<>"" � pac%+=1
�b=pa$(pac%)=�gettext(viewmem%,10):� pa$(pac%)<>"" � pac%+=1
�j=pa$(pac%)=�gettext(viewmem%,11):� pa$(pac%)<>"" � pac%+=1
�r=pa$(pac%)=�gettext(viewmem%,12):� pa$(pac%)<>"" � pac%+=1
�z=pa$(pac%)=�gettext(viewmem%,13):� pa$(pac%)<>"" � pac%+=1
ł+pa$(pac%)=�gettext(viewmem%,14):pac%+=1
Ŋpa$(pac%)="":pac%+=1
Œ;pa$(pac%)="Ticket Type: "+�gettext(viewmem%,15):pac%+=1
Śpa$(pac%)="":pac%+=1
Ţ;pa$(pac%)="Accession numbers of books in care:":pac%+=1
Ū� vbn%=0 �
Ų"  pa$(pac%)="    None":pac%+=1
ź�
��  � d%=1 � vbn%
��6  pa$(pac%)="    "+�Check_Digit_Plus(vm_dt$(d%,0))
��.  pa$(pac%)+=" ("+vm_dt$(d%,4)+")":pac%+=1
��
  � d%
���
��pa$(pac%)="":pac%+=1
��font_flag%=�
�f$=�gettext(print%,3)
�!� �Upper(f$)<>"SYSTEM FONT" �
�
  font_flag%=�
�  size%=12
�  size%=size%*1000
�":  ș "Font_FindFont",,f$,size%/62.5,size%/62.5 � fhdl%
�*  ș "Hourglass_On"
�2  pf%=�("printer:")
�:;  � pf%=0 � �#pf%:�dis_message("Printer not available")
�B  � pf%=0 � printflag%=�:�
�J(  ș "PDriver_SelectJob",pf%,"LibVM"
�R   ș "PDriver_Info" � ,,,ff%
�Z"  � ((ff% � (1<<29))>>>29)=1 �
�b+    ș "PDriver_DeclareFont",fhdl%,f$,0
�j&    ș "PDriver_DeclareFont",0,0,0
�r  �
�z	  � �
ƂO  � � �:� �:ș "PDriver_AbortJob",pf%:�#pf%:printflag%=�:�dis_message(�$):�
Ɗ:  ș "PDriver_PageSize" � ,,,left%,bottom%,right%,top%
ƒI  left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
ƚ,  no_lines%=((top%-bottom%)*400) � size%
Ƣ1  columns%=(((right%-left%)*400) � size%)*1.5
ƪ@  rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
Ʋ#  trans%!0=1<<16:trans%!4=0<<16
ƺ$  trans%!8=0<<16:trans%!12=1<<16
��4  plotat%!0=left%*400:plotat%!4=bottom%*400-3600
��  � pac%>no_lines% �
��    � �
��.    �dis_message("Paper too small to fit")
��!    ș "PDriver_AbortJob",pf%
��
    �#pf%
��    printflag%=�
�    ș "Hourglass_Off"
�	    �
�
  �
�    � c%=0 � pac%-1
�:    � �(pa$(c%))>columns% � pa$(c%)=�pa$(c%),columns%)
�"    � c%
�*C    ș "PDriver_GiveRectangle",0,rect%,trans%,plotat%,&FFFFFF00
�24    ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
�:6    ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
�B    ș "Font_SetFont",fhdl%
�J    ȕ more2%
�R      �rewrite(left%,top%)
�Z5      ș "PDriver_GetRectangle",,rectin% � more2%
�b	    �
�j  �
�r  ș "PDriver_EndJob",pf%
�z  �#pf%
ǂ  printflag%=�
NJ  ș "Hourglass_Off"
ǒ�
ǚ  columns%=80:no_lines%=67
Ǣ	  � 2
Ǫ  � c%=0 � pac%-1
Dz8  � �(pa$(c%))>columns% � pa$(c%)=�pa$(c%),columns%)
Ǻ  � pa$(c%)
��
  � c%
��	  � 3
��  printflag%=�
��  ș "Hourglass_Off"
���
���
��
���print_imports
�pan%()=0
�

pac%=0
�font_flag%=�
�f$=�gettext(print%,3)
�"!� �Upper(f$)<>"SYSTEM FONT" �
�*  font_flag%=�
�2  size%=12
�:  size%=size%*1000
�B:  ș "Font_FindFont",,f$,size%/62.5,size%/62.5 � fhdl%
�J  ș "Hourglass_On"
�R  pf%=�("printer:")
�Z;  � pf%=0 � �#pf%:�dis_message("Printer not available")
�b  � pf%=0 � printflag%=�:�
�j)  ș "PDriver_SelectJob",pf%,"LibImp"
�r   ș "PDriver_Info" � ,,,ff%
�z"  � ((ff% � (1<<29))>>>29)=1 �
Ȃ+    ș "PDriver_DeclareFont",fhdl%,f$,0
Ȋ&    ș "PDriver_DeclareFont",0,0,0
Ȓ  �
Ț	  � �
ȢO  � � �:� �:ș "PDriver_AbortJob",pf%:�#pf%:printflag%=�:�dis_message(�$):�
Ȫ:  ș "PDriver_PageSize" � ,,,left%,bottom%,right%,top%
ȲI  left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
Ⱥ,  no_lines%=((top%-bottom%)*400) � size%
��1  columns%=(((right%-left%)*400) � size%)*1.5
��@  rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
��#  trans%!0=1<<16:trans%!4=0<<16
��$  trans%!8=0<<16:trans%!12=1<<16
��4  plotat%!0=left%*400:plotat%!4=bottom%*400-3600
��(  � c%=0 � winp%-1 � (no_lines% � 6)
��  pac%=0
�&  � d%=c% � c%+((no_lines% � 6)-1)
�  � d%<=winp%-1 �
�
+    pa$(pac%)=�winstack$(d%),6):pac%+=1
�/    pa$(pac%)=�winstack$(d%),11,50):pac%+=1
�/    pa$(pac%)=�winstack$(d%),61,40):pac%+=1
�"0    pa$(pac%)=�winstack$(d%),101,15):pac%+=1
�*/    pa$(pac%)=�winstack$(d%),116,6):pac%+=1
�2    pa$(pac%)="":pac%+=1
�:  �
�B
  � d%
�J  � d%=0 � pac%-1
�R8  � �(pa$(d%))>columns% � pa$(d%)=�pa$(d%),columns%)
�Z
  � d%
�bV  ș "PDriver_GiveRectangle",(c% � (no_lines% � 6)),rect%,trans%,plotat%,&FFFFFF00
�j2  ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
�r4  ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
�z  ș "Font_SetFont",fhdl%
ɂ  ȕ more2%
Ɋ    �rewrite(left%,top%)
ɒ3    ș "PDriver_GetRectangle",,rectin% � more2%
ɚ  �
ɢ
  � c%
ɪ  ș "PDriver_EndJob",pf%
ɲ  �#pf%
ɺ  printflag%=�
��  ș "Hourglass_Off"
���
��3  columns%=80:no_lines%=�(�gettext(all_pr%,14))
��!  � no_lines%=0 � no_lines%=1
��	  � 2
��(  � c%=0 � winp%-1 � (no_lines% � 6)
��  pac%=0
�&  � d%=c% � c%+((no_lines% � 6)-1)
�  � d%<=winp%-1 �
�
+    pa$(pac%)=�winstack$(d%),6):pac%+=1
�/    pa$(pac%)=�winstack$(d%),11,50):pac%+=1
�/    pa$(pac%)=�winstack$(d%),61,40):pac%+=1
�"0    pa$(pac%)=�winstack$(d%),101,15):pac%+=1
�*/    pa$(pac%)=�winstack$(d%),116,6):pac%+=1
�2    pa$(pac%)="":pac%+=1
�:  �
�B
  � d%
�J  � pac%<no_lines% �
�R    � e%=pac% � no_lines%
�Z    pa$(e%)=""
�b    � e%
�j    pac%=e%
�r  �
�z  � e%=0 � pac%-1
ʂ8  � �(pa$(e%))>columns% � pa$(e%)=�pa$(e%),columns%)
ʊ  � pa$(e%)
ʒ
  � e%
ʚ
  � c%
ʢ	  � 3
ʪ  printflag%=�
ʲ  ș "Hourglass_Off"
ʺ�
���
��
����print_all
���check_book_dirs
���check_mem_dirs
��pan%()=0
��pa$()=""
�half_flag%=�
�1� �IconGet(all_pr%,9) � half_flag%=�:pan%()=1
�
� �IconGet(all_pr%,5) �
�  font_flag%=�
�  f$=�gettext(all_pr%,3)
�"#  � �Upper(f$)<>"SYSTEM FONT" �
�*    font_flag%=�
�2'    size%=12:� half_flag% � size%=6
�:    size%=size%*1000
�B<    ș "Font_FindFont",,f$,size%/62.5,size%/62.5 � fhdl%
�J    ș "Hourglass_On"
�R    pf%=�("printer:")
�Z=    � pf%=0 � �#pf%:�dis_message("Printer not available")
�b     � pf%=0 � printflag%=�:�
�j-    ș "PDriver_SelectJob",pf%,"AllBooks"
�r"    ș "PDriver_Info" � ,,,ff%
�z$    � ((ff% � (1<<29))>>>29)=1 �
˂-      ș "PDriver_DeclareFont",fhdl%,f$,0
ˊ(      ș "PDriver_DeclareFont",0,0,0
˒	    �
˚    � �
ˢQ    � � �:� �:ș "PDriver_AbortJob",pf%:�#pf%:printflag%=�:�dis_message(�$):�
˪<    ș "PDriver_PageSize" � ,,,left%,bottom%,right%,top%
˲K    left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
˺.    no_lines%=((top%-bottom%)*400) � size%
��3    columns%=(((right%-left%)*400) � size%)*1.5
��B    rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
��%    trans%!0=1<<16:trans%!4=0<<16
��&    trans%!8=0<<16:trans%!12=1<<16
��6    plotat%!0=left%*400:plotat%!4=bottom%*400-3600
��    using_sp%=0
��    pac%=0
�    page%=0
�    � gd%=0 � 9
�
    � book_dir_def%(gd%) �
�      � gn%=0 � 9999
�      gno%=gd%*10000+gn%
�"F      � ((bookdef%?(gno% � 8) � (1<<(gno% � 8)))>>>(gno% � 8))=1 �
�*G        � cache%<>(gno% � 100) � �open_book_cache(�zero(�(gno%),5))
�2        pick%=gno% � 100
�:         ls%=(columns% � 2)-1
�B        rs%=columns% � 2
�J        � using_sp%=0 �
�R:          line$(0)=�Check_Digit_Plus(�zero(�(gno%),5))
�Z>          � half_flag% � line$(0)=�spc(�line$(0),ls%),ls%)
�b$          line$(1)=var$(pick%,0)
�j>          � half_flag% � line$(1)=�spc(�line$(1),ls%),ls%)
�r$          line$(2)=var$(pick%,1)
�z>          � half_flag% � line$(2)=�spc(�line$(2),ls%),ls%)
̂$          line$(3)=var$(pick%,2)
̊>          � half_flag% � line$(3)=�spc(�line$(3),ls%),ls%)
̒$          line$(4)=var$(pick%,3)
̚>          � half_flag% � line$(4)=�spc(�line$(4),ls%),ls%)
̢          ll$=var$(pick%,4)
̪#          � ll$<>"IN LIBRARY" �
̲?            llt$="Due "+�ll$,2)+"-"+�ll$,3,2)+"-"+�ll$,5,2)
̺=            llt$+=" Member "+�Check_Digit_Plus(�ll$,7,8))
��            ll$=llt$
��          �
��          line$(5)=ll$
��>          � half_flag% � line$(5)=�spc(�line$(5),ls%),ls%)
��2          � half_flag% � using_sp%=1-using_sp%
��
        �
��?          line$(0)+=" "+�Check_Digit_Plus(�zero(�(gno%),5))
�)          line$(1)+=" "+var$(pick%,0)
�)          line$(2)+=" "+var$(pick%,1)
�
)          line$(3)+=" "+var$(pick%,2)
�)          line$(4)+=" "+var$(pick%,3)
�          ll$=var$(pick%,4)
�"#          � ll$<>"IN LIBRARY" �
�*?            llt$="Due "+�ll$,2)+"-"+�ll$,3,2)+"-"+�ll$,5,2)
�2=            llt$+=" Member "+�Check_Digit_Plus(�ll$,7,8))
�:            ll$=llt$
�B          �
�J          line$(5)+=" "+ll$
�R#          using_sp%=1-using_sp%
�Z(          � c%=0 � 5:lin%(c%)=1:� c%
�b
        �
�j)        � using_sp%=1 � � gn%:�:� gd%
�r!        line$(6)="":lin%(6)=0
�z         � pac%+7>no_lines% �
͂          � pac%=0 �
͊            � �
͒6            �dis_message("Paper too small to fit")
͚)            ș "PDriver_AbortJob",pf%
͢            �#pf%
ͪ            printflag%=�
Ͳ"            ș "Hourglass_Off"
ͺ            �
��          �
��O            ș "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
��<            ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
��>            ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
��'            ș "Font_SetFont",fhdl%
��            ȕ more2%
��&              �rewrite(left%,top%)
�=              ș "PDriver_GetRectangle",,rectin% � more2%
�            �
�
            page%+=1
�            � c%=0 � 6
�3            pa$(c%)=line$(c%):pan%(c%)=lin%(c%)
�"            � c%
�*            pac%=c%
�2          �
�:
        �
�B          � c%=0 � 6
�J;          pa$(pac%+c%)=line$(c%):pan%(pac%+c%)=lin%(c%)
�R          � c%
�Z          pac%+=c%
�b
        �
�j      �
�r      � gn%
�z	    �
΂
    � gd%
Ί    � pac%>0 �
ΒI      ș "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
Κ6      ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
΢8      ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
Ϊ!      ș "Font_SetFont",fhdl%
β      ȕ more2%
κ         �rewrite(left%,top%)
��7        ș "PDriver_GetRectangle",,rectin% � more2%
��      �
��	    �
��    printflag%=�
��    ș "PDriver_EndJob",pf%
��    ș "Hourglass_Off"
��
    �#pf%
�    � �
�  �
�
    ș "Hourglass_On"
�5    columns%=80:no_lines%=�(�gettext(all_pr%,14))
�#    � no_lines%=0 � no_lines%=1
�"    pac%=0
�*    � gd%=0 � 9
�2    � book_dir_def%(gd%) �
�:      � gn%=0 � 9999
�B      gno%=gd%*10000+gn%
�JF      � ((bookdef%?(gno% � 8) � (1<<(gno% � 8)))>>>(gno% � 8))=1 �
�RG        � cache%<>(gno% � 100) � �open_book_cache(�zero(�(gno%),5))
�Z        pick%=gno% � 100
�b8        line$(0)=�Check_Digit_Plus(�zero(�(gno%),5))
�j"        line$(1)=var$(pick%,0)
�r"        line$(2)=var$(pick%,1)
�z"        line$(3)=var$(pick%,2)
ς"        line$(4)=var$(pick%,3)
ϊ        ll$=var$(pick%,4)
ϒ!        � ll$<>"IN LIBRARY" �
Ϛ=          llt$="Due "+�ll$,2)+"-"+�ll$,3,2)+"-"+�ll$,5,2)
Ϣ;          llt$+=" Member "+�Check_Digit_Plus(�ll$,7,8))
Ϫ          ll$=llt$
ϲ
        �
Ϻ        line$(5)=ll$
��        line$(6)=""
��         � pac%+7>no_lines% �
��          � pac%=0 �
��"            ș "Hourglass_Off"
��<            �dis_message("The page length is too small")
��            printflag%=�
��            �
�          �
�          � 2
�
          � c%=0 � pac%-1
�          � pa$(c%)
�          � c%
�"#          � c%=c% � no_lines%-1
�*          �
�2          � c%
�:          � 3
�B          � c%=0 � 6
�J          pa$(c%)=line$(c%)
�R          � c%
�Z          pac%=c%
�b
        �
�j           � c%=pac% � pac%+6
�r$          pa$(c%)=line$(c%-pac%)
�z          � c%
Ђ          pac%=c%
Њ
        �
В      �
К      � gn%
Т	    �
Ъ
    � gd%
в    � pac%>0 �
к
      � 2
��      � c%=0 � pac%-1
��      � pa$(c%)
��      � c%
��
      � 3
��	    �
��    ș "Hourglass_Off"
��    printflag%=�
�  �
��
�
� �IconGet(all_pr%,6) �
�  font_flag%=�
�  columns%=80
�"'  no_lines%=�(�gettext(all_pr%,14))
�*  f$=�gettext(all_pr%,3)
�2  ș "Hourglass_On"
�:"  � �Upper(f$)="SYSTEM FONT" �
�B    half_flag%=�
�J  �
�R    font_flag%=�
�Z'    size%=12:� half_flag% � size%=6
�b    size%=size%*1000
�j<    ș "Font_FindFont",,f$,size%/62.5,size%/62.5 � fhdl%
�r    pf%=�("printer:")
�z=    � pf%=0 � �#pf%:�dis_message("Printer not available")
т     � pf%=0 � printflag%=�:�
ъ+    ș "PDriver_SelectJob",pf%,"AllMem"
ђ"    ș "PDriver_Info" � ,,,ff%
њ$    � ((ff% � (1<<29))>>>29)=1 �
Ѣ-      ș "PDriver_DeclareFont",fhdl%,f$,0
Ѫ(      ș "PDriver_DeclareFont",0,0,0
Ѳ	    �
Ѻ    � �
��Q    � � �:� �:ș "PDriver_AbortJob",pf%:�#pf%:printflag%=�:�dis_message(�$):�
��<    ș "PDriver_PageSize" � ,,,left%,bottom%,right%,top%
��K    left%=left%/400:right%=right%/400:top%=top%/400:bottom%=bottom%/400
��.    no_lines%=((top%-bottom%)*400) � size%
��3    columns%=(((right%-left%)*400) � size%)*1.5
��B    rect%!0=left%:rect%!4=bottom%:rect%!8=right%:rect%!12=top%
��%    trans%!0=1<<16:trans%!4=0<<16
�&    trans%!8=0<<16:trans%!12=1<<16
�6    plotat%!0=left%*400:plotat%!4=bottom%*400-3600
�
  �
�  using_sp%=0
�  pac%=0
�"
  page%=0
�*  � d%=0 � 99
�2  � mem_dir_def%(d%) �
�:    � l%=0 � 25
�B    � s%=0 � 9
�J8    try$="<Member"+�(d%)+"$Dir>."+�(65+l%)+"."+�(s%)
�R    filo%=�(try$)
�Z    �#filo%,tn%
�b    � tn%=0 �
�j      �#filo%
�r	    �
�z      � n%=1 � tn%
҂      �#filo%,memno$
Ҋ      �#filo%,title$
Ғ      �#filo%,surn$
Қ      �#filo%,on$
Ң      � c%=0 � 5
Ҫ      �#filo%,address$(c%)
Ҳ      � c%
Һ      �#filo%,state$
��      tt%=�#filo%
��      bn%=�#filo%
��      � bn%>=1 �
��        � wq%=1 � bn%
��!        �#filo%,vm_dt$(wq%,0)
��        � wq%
��      �
�      � memno$<>"Hole" �
�         ls%=(columns% � 2)-1
�
        rs%=columns% � 2
�        � using_sp%=0 �
�          line$()=�rs%," ")
�"6          mem$=�zero(�(d%),2)+�zero(�(l%),2)+�(s%)
�*"          mem$+=�zero(�(n%),3)
�2*          mem$=�Check_Digit_Plus(mem$)
�:1          line$(0)="Membership number: "+mem$
�B>          � half_flag% � line$(0)=�spc(�line$(0),ls%),ls%)
�J          line$(1)=""
�R>          � half_flag% � line$(1)=�spc(�line$(1),ls%),ls%)
�Z/          line$(2)=title$+" "+on$+" "+surn$
�b>          � half_flag% � line$(2)=�spc(�line$(2),ls%),ls%)
�j"          line$(3)=address$(0)
�r>          � half_flag% � line$(3)=�spc(�line$(3),ls%),ls%)
�z"          line$(4)=address$(1)
ӂ>          � half_flag% � line$(4)=�spc(�line$(4),ls%),ls%)
ӊ"          line$(5)=address$(2)
Ӓ>          � half_flag% � line$(5)=�spc(�line$(5),ls%),ls%)
Ӛ"          line$(6)=address$(3)
Ӣ>          � half_flag% � line$(6)=�spc(�line$(6),ls%),ls%)
Ӫ"          line$(7)=address$(4)
Ӳ>          � half_flag% � line$(7)=�spc(�line$(7),ls%),ls%)
Ӻ"          line$(8)=address$(5)
��>          � half_flag% � line$(8)=�spc(�line$(8),ls%),ls%)
��          line$(9)=state$
��>          � half_flag% � line$(9)=�spc(�line$(9),ls%),ls%)
��          line$(10)=""
��@          � half_flag% � line$(10)=�spc(�line$(10),ls%),ls%)
��'          line$(11)="Ticket Type: "
��          Ȏ tt% �
�'            � 0: line$(11)+="Adult"
�(            � 1: line$(11)+="Junior"
�
'            � 2: line$(11)+="Staff"
�          �
�@          � half_flag% � line$(11)=�spc(�line$(11),ls%),ls%)
�"          line$(12)=""
�*@          � half_flag% � line$(12)=�spc(�line$(12),ls%),ls%)
�2=          line$(13)="Accession numbers of books in care:"
�:@          � half_flag% � line$(13)=�spc(�line$(13),ls%),ls%)
�B          lc%=14
�J          � bn%=0 �
�R+            line$(14)="    None":lc%=15
�ZB            � half_flag% � line$(14)=�spc(�line$(14),ls%),ls%)
�b          �
�j            � wq%=1 � bn%
�r!            gt$=vm_dt$(wq%,0)
�z<            line$(lc%)="    "+�Check_Digit_Plus(�gt$,5))
Ԃ@            line$(lc%)+=" (Due "+�gt$,6,2)+"-"+�gt$,8,2)+"-"
Ԋ*            line$(lc%)+=�gt$,10,2)+")"
ԒD            � half_flag% � line$(lc%)=�spc(�line$(lc%),ls%),ls%)
Ԛ            lc%+=1
Ԣ            � wq%
Ԫ          �
Բ2          � half_flag% � using_sp%=1-using_sp%
Ժ          flc%=lc%
��
        �
��6          mem$=�zero(�(d%),2)+�zero(�(l%),2)+�(s%)
��"          mem$+=�zero(�(n%),3)
��*          mem$=�Check_Digit_Plus(mem$)
��6          line$(0)+=" "+"Membership number: "+mem$
��          line$(1)+=" "+" "
��4          line$(2)+=" "+title$+" "+on$+" "+surn$
�'          line$(3)+=" "+address$(0)
�'          line$(4)+=" "+address$(1)
�
'          line$(5)+=" "+address$(2)
�'          line$(6)+=" "+address$(3)
�'          line$(7)+=" "+address$(4)
�"'          line$(8)+=" "+address$(5)
�*"          line$(9)+=" "+state$
�2           line$(10)+=" "+" "
�:,          line$(11)+=" "+"Ticket Type: "
�B          Ȏ tt% �
�J'            � 0: line$(11)+="Adult"
�R(            � 1: line$(11)+="Junior"
�Z'            � 2: line$(11)+="Staff"
�b          �
�j           line$(12)+=" "+" "
�rB          line$(13)+=" "+"Accession numbers of books in care:"
�z          lc%=14
Ղ          � bn%=0 �
Պ-            line$(14)+="     None":lc%=15
Ւ          �
՚            � wq%=1 � bn%
բ            gt$=vm_dt$(wq%)
ժ>            line$(lc%)+="     "+�Check_Digit_Plus(�gt$,5))
ղ@            line$(lc%)+=" (Due "+�gt$,6,2)+"-"+�gt$,8,2)+"-"
պ*            line$(lc%)+=�gt$,10,2)+")"
��            lc%+=1
��            � wq%
��          �
��#          using_sp%=1-using_sp%
��
        �
��        � using_sp%<>1 �
��          � half_flag% �
�1            � flc%>lc% � lst%=flc% � lst%=lc%
�            lct%=0
�
            line$(lst%)=""
�"            ȕ line$(lct%)<>""
�+              � line$(lct%)=�rs%," ") �
�"'                � wq%=lct% � lst%-2
�*+                line$(wq%)=line$(wq%+1)
�2                � wq%
�:                lst%-=1
�B                lct%-=1
�J"                line$(lst%)=""
�R              �
�Z              lct%+=1
�b            �
�j          �
�r            lst%=lc%
�z            lct%=8
ւ!            ȕ line$(lct%)=""
֊%              � wq%=lct% � lst%-2
֒)              line$(wq%)=line$(wq%+1)
֚              � wq%
֢              lst%-=1
֪              lct%-=1
ֲ            �
ֺ          �
��*          flag%=�set_lines(font_flag%)
��          � flag% � �
��
        �
��      �
��      � n%
��      �#filo%
��	    �
�    � s%,l%
�  �
�

  � d%
�  � using_sp%=1 �
�    line$(1)+=" "
�"    line$(10)+=" "
�*    line$(12)+=" "
�2    lst%=flc%
�:    lct%=0
�B    line$(lst%)=""
�J    ȕ line$(lct%)<>""
�R%      � line$(lct%)=�rs%-1," ") �
�Z        � wq%=lct% � lst%-2
�b#        line$(wq%)=line$(wq%+1)
�j        � wq%
�r        lst%-=1
�z        lct%-=1
ׂ        line$(lst%)=""
׊      �
ג      lct%+=1
ך	    �
ע$    flag%=�set_lines(font_flag%)
ת    � flag% � �
ײ  �
׺  � pac%>0 �
��    � font_flag% �
��I      ș "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
��6      ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
��8      ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
��!      ș "Font_SetFont",fhdl%
��      ȕ more2%
��         �rewrite(left%,top%)
�7        ș "PDriver_GetRectangle",,rectin% � more2%
�      �
�
	    �
�
      � 2
�      � c%=0 � pac%-1
�"      � pa$(c%)
�*      � c%
�2
      � 3
�:	    �
�B  �
�J  � font_flag% �
�R    ș "PDriver_EndJob",pf%
�Z
    �#pf%
�b    � �
�j  �
�r  printflag%=�
�z  ș "Hourglass_Off"
؂�
؊�
ؒ
ؚݤset_lines(func%)
آȎ func% �
ت	  � �
ز    � pac%+lst%>no_lines% �
غ      � pac%=0 �
��        � �
��2        �dis_message("Paper too small to fit")
��%        ș "PDriver_AbortJob",pf%
��        �#pf%
��        printflag%=�
��        ș "Hourglass_Off"
��        =�
�
     �
�K        ș "PDriver_GiveRectangle",page%,rect%,trans%,plotat%,&FFFFFF00
�
8        ș "PDriver_DrawPage",1,rectin%,0,0 � more2%
�:        ș "ColourTrans_SetFontColours",,&FFFFFF00,0,6
�#        ș "Font_SetFont",fhdl%
�"        ȕ more2%
�*"          �rewrite(left%,top%)
�29          ș "PDriver_GetRectangle",,rectin% � more2%
�:
        �
�B        page%+=1
�J        pa$()=""
�R        � c%=0 � lst%-1
�ZD        pa$(c%)=line$(c%):� half_flag% � pan%(c%)=1 � pan%(c%)=0
�b        � c%
�j!        pa$(c%)=" ":pac%=c%+1
�r      �
�z	    �
ق      � c%=0 � lst%-1
يQ      pa$(pac%+c%)=line$(c%):� half_flag% � pan%(pac%+c%)=1 � pan%(pac%+c%)=0
ْ      � c%
ٚ       pa$(c%)=" ":pac%+=c%+1
٢	    �
٪	  � �
ٲ    � pac%+lst%>no_lines% �
ٺ
      � 2
��      � c%=0 � pac%-1
��      � pa$(c%)
��      � c%
��      � c%=c% � no_lines%-1
��      �
��      � c%
��
      � 3
�      � c%=0 � lst%-1
�      pa$(c%)=line$(c%)
�
      � c%
�      pa$(c%)=""
�      pac%=c%+1
�"	    �
�*!      � c%=pac% � pac%+lst%-1
�2       pa$(c%)=line$(c%-pac%)
�:      � c%
�B      pa$(c%)=""
�J      pac%=c%+1
�R	    �
�Z�
�b=�
�j
�r��load_bookdef
�z� i%=0 � 9
ڂ� book_dir_def%(i%) �
ڊF  �("Load <Books"+�(i%)+"$Dir>.^.BookDef "+�~(bookdef%+(1250*i%)))
ڒ�
ښ� i%
ڢ�
ڪ
ڲ"��prepare_export(func%,batch%)
ںȎ func% �
��*  � 0,2: win%=export_csv%:label$="CSV"
��,  � 1,3: win%=export_text%:label$="Text"
���
��!q%=win%
�� ș "Wimp_GetWindowState",,q%
��q%!28=-1
��ș "Wimp_OpenWindow",,q%
��puttext(win%,5,�(batch%))
�Ȏ func% �
�
  � 0,1
�$    �puttext(win%,8,"accession")
�    !q%=win%
�"#    ș "Wimp_GetWindowInfo",,q%
�*    _p%=!(q%+76)
�2&    $_p%="Export Books as "+label$
�:  � 2,3
�B%    �puttext(win%,8,"membership")
�J    !q%=win%
�R#    ș "Wimp_GetWindowInfo",,q%
�Z    _p%=!(q%+76)
�b(    $_p%="Export Members as "+label$
�j�
�rl%=�(�gettext(win%,1))
�z/ș "Wimp_SetCaretPosition",win%,1,0,0,-1,l%
ۂcurr_exp%=-1
ۊ�
ے
ۚ��start_export(n$,func%)
ۢ�check_book_dirs
۪�check_mem_dirs
۲ș "Hourglass_On"
ۺȎ func% �
��  � 0: win%=export_csv%
��  � 1: win%=export_text%
���
��got$=�gettext(win%,8)
��"� got$="membership" � func%+=2
��curr_exp%=func%
��
curre$=n$
�noflag%=�IconGet(win%,6)
�efh%=�(n$)
�
� efh%=0 � �#efh%:�
�g1%=ec%(func%,0)
�g2%=ec%(func%,1)
�"g3%=ec%(func%,2)
�*g4%=ec%(func%,3)
�2Ȏ func% �
�:	  � 0
�B	    �
�J$      g%=ec%(0,0)*10000+ec%(0,1)
�R@      � ((bookdef%?(g% � 8) � (1<<(g% � 8)))>>>(g% � 8))=1 �
�Z@        ș "Hourglass_Percentage",g%/(10000*book_count%)*100
�bA        � cache%<>g% � 100 � �open_book_cache(�zero(�(g%),5))
�j        pick%=g% � 100
�r        � noflag%=1 �
�zA          accum$=""""+�Check_Digit_Plus(�zero(�(g%),5))+""","
܂.          accum$+=""""+var$(pick%,0)+""","
܊
        �
ܒ-          accum$=""""+var$(pick%,0)+""","
ܚ
        �
ܢ        � c%=1 � 4
ܪ-        accum$+=""""+var$(pick%,c%)+""","
ܲ        � c%
ܺ        accum$=�accum$)
��        �#efh%,accum$
��      �
��      loop_flag%=�
��      ec%(0,1)+=1
��      � ec%(0,1)=10000 �
��        ec%(0,1)=0
��        ec%(0,0)+=1
�6        ȕ book_dir_def%(ec%(0,0))=� � ec%(0,0)<10
�          ec%(0,0)+=1
�

        �
�(        � ec%(0,0)=10 � loop_flag%=�
�      �
�"    � loop_flag%
�*    curr_exp%=-1
�2    �#efh%
�:    �("SetType "+n$+" DFE")
�B    !q%=win%
�J!    ș "Wimp_CloseWindow",,q%
�R	  � 1
�Z	    �
�b$      g%=ec%(1,0)*10000+ec%(1,1)
�j@      � ((bookdef%?(g% � 8) � (1<<(g% � 8)))>>>(g% � 8))=1 �
�r@        ș "Hourglass_Percentage",g%/(10000*book_count%)*100
�zA        � cache%<>g% � 100 � �open_book_cache(�zero(�(g%),5))
݂        pick%=g% � 100
݊B        � noflag%=1 � �#efh%,�Check_Digit_Plus(�zero(�(g%),5))
ݒ        � c%=0 � 4
ݚ!        �#efh%,var$(pick%,c%)
ݢ        � c%
ݪ      �
ݲ      loop_flag%=�
ݺ      ec%(1,1)+=1
��      � ec%(1,1)=10000 �
��        ec%(1,1)=0
��        ec%(1,0)+=1
��6        ȕ book_dir_def%(ec%(1,0))=� � ec%(1,0)<10
��          ec%(1,0)+=1
��
        �
��(        � ec%(1,0)=10 � loop_flag%=�
�      �
�    � loop_flag%
�
    curr_exp%=-1
�    �#efh%
�     �("SetType "+n$+" Text")
�"    !q%=win%
�*!    ș "Wimp_CloseWindow",,q%
�2	  � 2
�:    first_flag%=�
�B	    �
�J&      � ec%(2,3)=1 � first_flag% �
�R6        ȕ mem_dir_def%(ec%(2,0))=� � ec%(2,0)<100
�Z          ec%(2,0)+=1
�b
        �
�j2        � ec%(2,0)=100 � �#efh%:curr_exp%=-1:�
�rB        try$="<Member"+�(ec%(2,0))+"$Dir>."+�(65+ec%(2,1))+"."
�z        try$+=�(ec%(2,2))
ނ        filo%=�(try$)
ފ        �#filo%,n_got%
ޒ        � ec%(2,3)>1 �
ޚ!          � c%=1 � ec%(2,3)-1
ޢ          � d%=1 � 11
ު          �#filo%,temp$
޲          � d%
޺          temp%=�#filo%
��          bn%=�#filo%
��          � bn%>0 �
��            � d%=1 � bn%
��            �#filo%,temp$
��            � d%
��          �
��          � c%
�
        �
�)        � first_flag% � first_flag%=�
�
      �
�      � n_got%>0 �
�;        code$=�zero(�(ec%(2,0)),2)+�zero(�(ec%(2,1)),2)
�"3        code$+=�(ec%(2,2))+�zero(�(ec%(2,3)),3)
�*        � noflag%=1 �
�28          accum$=""""+�Check_Digit_Plus(code$)+""","
�:          �#filo%,mem$
�B%          accum$+=""""+mem$+""","
�J
        �
�R          �#filo%,mem$
�Z$          accum$=""""+mem$+""","
�b
        �
�j        � c%=1 � 10
�r        �#filo%,temp$
�z$        accum$+=""""+temp$+""","
߂        � c%
ߊ)        accum$+=""""+�(�#filo%)+""","
ߒ        bno%=�#filo%
ߚ%        accum$+=""""+�(bno%)+""""
ߢ        �#efh%,accum$
ߪ        � bno%>0 �
߲          accum$=""
ߺ          � c%=1 � bno%
��          �#filo%,temp$
��&          accum$+=""""+temp$+""","
��          � c%
��          accum$=�accum$)
��          �#efh%,accum$
��
        �
��      �
�      loop_flag%=�
�      ec%(2,3)+=1
�
       � ec%(2,3)>=n_got%+1 �
�        �#filo%
�        ec%(2,3)=1
�"        ec%(2,2)+=1
�*        � ec%(2,2)=10 �
�2          ec%(2,2)=0
�:          ec%(2,1)+=1
�B          � ec%(2,1)=26 �
�J            ec%(2,1)=0
�R            ec%(2,0)+=1
�Z:            ȕ mem_dir_def%(ec%(2,0))=� � ec%(2,0)<100
�b              ec%(2,0)+=1
�j            �
�r-            � ec%(2,0)=100 � loop_flag%=�
�z          �
�
        �
�      �
�    � loop_flag%
�    curr_exp%=-1
�    �#efh%
�    �("SetType "+n$+" DFE")
�    !q%=win%
�!    ș "Wimp_CloseWindow",,q%
��	  � 4
��    first_flag%=�
��	    �
��&      � ec%(3,3)=1 � first_flag% �
��6        ȕ mem_dir_def%(ec%(3,0))=� � ec%(3,0)<100
��          ec%(3,0)+=1
��
        �
�2        � ec%(3,0)=100 � �#efh%:curr_exp%=-1:�
�B        try$="<Member"+�(ec%(3,0))+"$Dir>."+�(65+ec%(3,1))+"."
�
        try$+=�(ec%(3,2))
�        filo%=�(try$)
�        �#filo%,n_got%
�"        � ec%(3,3)>1 �
�*!          � c%=1 � ec%(3,3)-1
�2          � d%=1 � 11
�:          �#filo%,temp$
�B          � d%
�J          temp%=�#filo%
�R          bn%=�#filo%
�Z          � bn%>0 �
�b            � d%=1 � bn%
�j            �#filo%,temp$
�r            � d%
�z          �
�          � c%
�
        �
�)        � first_flag% � first_flag%=�
�      �
�      � n_got%>0 �
�;        code$=�zero(�(ec%(3,0)),2)+�zero(�(ec%(3,1)),2)
�3        code$+=�(ec%(3,2))+�zero(�(ec%(3,3)),3)
�9        � noflag%=1 � �#efh%,�Check_Digit_Plus(code$)
��        �#filo%,mem$
��        �#efh%,mem$
��        � c%=1 � 10
��        �#filo%,temp$
��        �#efh%,temp$
��        � c%
��        �#efh%,�(�#filo%)
�        bno%=�#filo%
�        �#efh%,�(bno%)
�
        � bno%>0 �
�          � c%=1 � bno%
�          �#filo%,temp$
�"          �#efh%,"  "+temp$
�*          � c%
�2
        �
�:      �
�B      loop_flag%=�
�J      ec%(3,3)+=1
�R       � ec%(3,3)>=n_got%+1 �
�Z        �#filo%
�b        ec%(3,3)=1
�j        ec%(3,2)+=1
�r        � ec%(3,2)=10 �
�z          ec%(3,2)=0
�          ec%(3,1)+=1
�          � ec%(3,1)=26 �
�            ec%(3,1)=0
�            ec%(3,0)+=1
�:            ȕ mem_dir_def%(ec%(3,0))=� � ec%(3,0)<100
�              ec%(3,0)+=1
�            �
�-            � ec%(3,0)=100 � loop_flag%=�
��          �
��
        �
��      �
��    � loop_flag%
��    curr_exp%=-1
��    �#efh%
��    �("SetType "+n$+" DFE")
�    !q%=win%
�!    ș "Wimp_CloseWindow",,q%
�
�
��
�
�"��disc_full
�*ș "Hourglass_Smash"
�2Ȏ curr_exp% �
�:4  � 0,2: �("SetType "+n$+" DFE"):cw%=export_csv%
�B6  � 1,3: �("SetType "+n$+" Text"):cw%=export_text%
�J�
�Rgh%=�(�gettext(cw%,5))
�Z�puttext(cw%,5,�(gh%+1))
�bl%=�(�gettext(cw%,1))
�j.ș "Wimp_SetCaretPosition",cw%,1,0,0,-1,l%
�rcurr_exp%=-1
�z�
�
���put_valid(!q%,q%!4,s$)
�ș "Wimp_GetIconState",,q%
�q%!8=0:q%!12=0
�$(q%!32)=s$
�ș "Wimp_SetIconState",,q%
��
�
00000000  0d 00 0a 1e f4 20 3e 3c  4c 69 62 72 61 72 79 24  |..... ><Library$|
00000010  44 69 72 3e 2e 21 52 75  6e 49 6d 61 67 65 0d 00  |Dir>.!RunImage..|
00000020  12 1a f4 20 a9 20 31 39  39 34 20 4a 61 6d 65 73  |... . 1994 James|
00000030  20 47 6f 6f 64 67 65 72  0d 00 1a 04 0d 00 22 04  | Goodger......".|
00000040  0d 00 2a 11 ee 20 85 20  f2 65 72 72 6f 72 62 6f  |..*.. . .errorbo|
00000050  78 0d 00 32 09 f2 69 6e  69 74 0d 00 3a 11 ee 20  |x..2..init..:.. |
00000060  85 20 f2 65 72 72 6f 72  62 6f 78 0d 00 42 05 f5  |. .errorbox..B..|
00000070  0d 00 4a 23 20 20 c8 99  20 22 57 69 6d 70 5f 50  |..J#  .. "Wimp_P|
00000080  6f 6c 6c 22 2c 26 38 31  38 33 30 2c 71 25 20 b8  |oll",&81830,q% .|
00000090  20 41 25 0d 00 52 0d 20  20 c8 8e 20 41 25 20 ca  | A%..R.  .. A% .|
000000a0  0d 00 5a 0b 20 20 20 20  c9 20 30 0d 00 62 30 20  |..Z.    . 0..b0 |
000000b0  20 20 20 20 20 e7 20 70  72 69 6e 74 66 6c 61 67  |     . printflag|
000000c0  25 20 8c 20 f2 70 72 69  6e 74 65 72 20 8b 20 f2  |% . .printer . .|
000000d0  75 70 64 61 74 65 5f 74  69 6d 65 0d 00 6a 0b 20  |update_time..j. |
000000e0  20 20 20 c9 20 31 0d 00  72 14 20 20 20 20 20 20  |   . 1..r.      |
000000f0  f2 70 6f 6c 6c 5f 64 72  61 77 0d 00 7a 0b 20 20  |.poll_draw..z.  |
00000100  20 20 c9 20 32 0d 00 82  22 20 20 20 20 20 20 c8  |  . 2..."      .|
00000110  99 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |. "Wimp_OpenWind|
00000120  6f 77 22 2c 2c 71 25 0d  00 8a 0b 20 20 20 20 c9  |ow",,q%....    .|
00000130  20 33 0d 00 92 23 20 20  20 20 20 20 c8 99 20 22  | 3...#      .. "|
00000140  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00000150  22 2c 2c 71 25 0d 00 9a  27 20 20 20 20 20 20 e7  |",,q%...'      .|
00000160  20 21 71 25 3d 6d 61 69  6e 5f 61 75 78 25 20 8c  | !q%=main_aux% .|
00000170  20 75 73 69 6e 67 5f 72  64 25 3d 30 0d 00 a2 0b  | using_rd%=0....|
00000180  20 20 20 20 c9 20 36 0d  00 aa 1e 20 20 20 20 20  |    . 6....     |
00000190  20 f2 64 65 63 6f 64 65  5f 62 75 74 74 6f 6e 5f  | .decode_button_|
000001a0  70 72 65 73 73 0d 00 b2  0b 20 20 20 20 c9 20 37  |press....    . 7|
000001b0  0d 00 ba 12 20 20 20 20  20 20 f2 64 72 61 67 67  |....      .dragg|
000001c0  65 72 0d 00 c2 0b 20 20  20 20 c9 20 38 0d 00 ca  |er....    . 8...|
000001d0  27 20 20 20 20 20 20 f2  70 72 6f 63 65 73 73 5f  |'      .process_|
000001e0  6b 65 79 28 71 25 21 30  2c 71 25 21 34 2c 71 25  |key(q%!0,q%!4,q%|
000001f0  21 32 34 29 0d 00 d2 0b  20 20 20 20 c9 20 39 0d  |!24)....    . 9.|
00000200  00 da 16 20 20 20 20 20  20 f2 64 65 63 6f 64 65  |...      .decode|
00000210  5f 6d 65 6e 75 0d 00 e2  0f 20 20 20 20 c9 20 31  |_menu....    . 1|
00000220  37 2c 31 38 0d 00 ea 16  20 20 20 20 20 20 f2 72  |7,18....      .r|
00000230  65 63 65 69 76 65 28 71  25 29 0d 00 f2 07 20 20  |eceive(q%)....  |
00000240  cb 0d 00 fa 07 fd 20 a3  0d 01 02 05 e0 0d 01 0a  |...... .........|
00000250  04 0d 01 12 0a dd a4 69  63 6f 6e 0d 01 1a 33 c8  |.......icon...3.|
00000260  99 20 22 57 69 6d 70 5f  53 70 72 69 74 65 4f 70  |. "Wimp_SpriteOp|
00000270  22 2c 34 30 2c 2d 31 2c  22 21 6c 69 62 72 61 72  |",40,-1,"!librar|
00000280  79 22 20 b8 20 2c 2c 2c  77 69 64 74 68 25 0d 01  |y" . ,,,width%..|
00000290  22 0b 71 25 21 30 3d 2d  31 0d 01 2a 0a 71 25 21  |".q%!0=-1..*.q%!|
000002a0  34 3d 30 0d 01 32 0a 71  25 21 38 3d 30 0d 01 3a  |4=0..2.q%!8=0..:|
000002b0  17 71 25 21 31 32 3d 28  77 69 64 74 68 25 2a 32  |.q%!12=(width%*2|
000002c0  29 2b 31 32 0d 01 42 0c  71 25 21 31 36 3d 39 36  |)+12..B.q%!16=96|
000002d0  0d 01 4a 19 71 25 21 32  30 3d 25 31 30 30 30 30  |..J.q%!20=%10000|
000002e0  30 30 30 30 30 30 30 31  30 0d 01 52 17 24 28 71  |000000010..R.$(q|
000002f0  25 2b 32 34 29 3d 22 21  6c 69 62 72 61 72 79 22  |%+24)="!library"|
00000300  0d 01 5a 24 c8 99 20 22  57 69 6d 70 5f 43 72 65  |..Z$.. "Wimp_Cre|
00000310  61 74 65 49 63 6f 6e 22  2c 2c 71 25 20 b8 20 69  |ateIcon",,q% . i|
00000320  63 6f 6e 25 0d 01 62 0a  3d 69 63 6f 6e 25 0d 01  |con%..b.=icon%..|
00000330  6a 04 0d 01 72 0f dd f2  73 65 74 75 70 6d 65 6e  |j...r...setupmen|
00000340  75 0d 01 7a 04 0d 01 82  1b f2 62 75 69 6c 64 6d  |u..z......buildm|
00000350  65 6e 75 28 31 35 2c 22  45 78 70 6f 72 74 22 29  |enu(15,"Export")|
00000360  0d 01 8a 2a f2 61 64 64  74 6f 6d 65 6e 75 28 31  |...*.addtomenu(1|
00000370  35 2c 22 41 73 20 43 53  56 2e 2e 2e 20 20 8b 46  |5,"As CSV...  .F|
00000380  31 30 22 2c 2d 31 2c 22  22 29 0d 01 92 2b f2 61  |10",-1,"")...+.a|
00000390  64 64 74 6f 6d 65 6e 75  28 31 35 2c 22 41 73 20  |ddtomenu(15,"As |
000003a0  54 65 78 74 2e 2e 2e 20  8b 46 31 31 22 2c 2d 31  |Text... .F11",-1|
000003b0  2c 22 46 22 29 0d 01 9a  04 0d 01 a2 1b f2 62 75  |,"F").........bu|
000003c0  69 6c 64 6d 65 6e 75 28  31 34 2c 22 45 78 70 6f  |ildmenu(14,"Expo|
000003d0  72 74 22 29 0d 01 aa 29  f2 61 64 64 74 6f 6d 65  |rt")...).addtome|
000003e0  6e 75 28 31 34 2c 22 41  73 20 43 53 56 2e 2e 2e  |nu(14,"As CSV...|
000003f0  20 20 5e 46 35 22 2c 2d  31 2c 22 22 29 0d 01 b2  |  ^F5",-1,"")...|
00000400  2a f2 61 64 64 74 6f 6d  65 6e 75 28 31 34 2c 22  |*.addtomenu(14,"|
00000410  41 73 20 54 65 78 74 2e  2e 2e 20 5e 46 36 22 2c  |As Text... ^F6",|
00000420  2d 31 2c 22 46 22 29 0d  01 ba 04 0d 01 c2 1b f2  |-1,"F").........|
00000430  62 75 69 6c 64 6d 65 6e  75 28 31 33 2c 22 4d 65  |buildmenu(13,"Me|
00000440  64 69 75 6d 22 29 0d 01  ca 2c f2 61 64 64 74 6f  |dium")...,.addto|
00000450  6d 65 6e 75 28 31 33 2c  22 54 68 69 73 20 54 65  |menu(13,"This Te|
00000460  72 6d 69 6e 61 6c 20 20  46 39 22 2c 2d 31 2c 22  |rminal  F9",-1,"|
00000470  22 29 0d 01 d2 2d f2 61  64 64 74 6f 6d 65 6e 75  |")...-.addtomenu|
00000480  28 31 33 2c 22 50 6f 63  6b 65 74 20 42 6f 6f 6b  |(13,"Pocket Book|
00000490  20 20 20 8b 46 39 22 2c  2d 31 2c 22 46 22 29 0d  |   .F9",-1,"F").|
000004a0  01 da 04 0d 01 e2 1a f2  62 75 69 6c 64 6d 65 6e  |........buildmen|
000004b0  75 28 31 32 2c 22 50 72  69 6e 74 22 29 0d 01 ea  |u(12,"Print")...|
000004c0  2a f2 61 64 64 74 6f 6d  65 6e 75 28 31 32 2c 22  |*.addtomenu(12,"|
000004d0  4f 76 65 72 64 75 65 20  4e 6f 74 69 63 65 73 22  |Overdue Notices"|
000004e0  2c 2d 31 2c 22 22 29 0d  01 f2 2b f2 61 64 64 74  |,-1,"")...+.addt|
000004f0  6f 6d 65 6e 75 28 31 32  2c 22 45 6e 74 69 72 65  |omenu(12,"Entire|
00000500  20 44 61 74 61 62 61 73  65 22 2c 2d 31 2c 22 46  | Database",-1,"F|
00000510  22 29 0d 01 fa 04 0d 02  02 21 f2 62 75 69 6c 64  |").......!.build|
00000520  6d 65 6e 75 28 31 31 2c  22 54 69 63 6b 65 74 20  |menu(11,"Ticket |
00000530  54 79 70 65 73 22 29 0d  02 0a 20 f2 61 64 64 74  |Types")... .addt|
00000540  6f 6d 65 6e 75 28 31 31  2c 22 41 64 75 6c 74 22  |omenu(11,"Adult"|
00000550  2c 2d 31 2c 22 22 29 0d  02 12 21 f2 61 64 64 74  |,-1,"")...!.addt|
00000560  6f 6d 65 6e 75 28 31 31  2c 22 4a 75 6e 69 6f 72  |omenu(11,"Junior|
00000570  22 2c 2d 31 2c 22 22 29  0d 02 1a 21 f2 61 64 64  |",-1,"")...!.add|
00000580  74 6f 6d 65 6e 75 28 31  31 2c 22 53 74 61 66 66  |tomenu(11,"Staff|
00000590  22 2c 2d 31 2c 22 46 22  29 0d 02 22 04 0d 02 2a  |",-1,"F").."...*|
000005a0  1d f2 62 75 69 6c 64 6d  65 6e 75 28 31 30 2c 22  |..buildmenu(10,"|
000005b0  57 61 74 63 68 64 6f 67  22 29 0d 02 32 1f f2 61  |Watchdog")..2..a|
000005c0  64 64 74 6f 6d 65 6e 75  28 31 30 2c 22 56 69 65  |ddtomenu(10,"Vie|
000005d0  77 22 2c 2d 31 2c 22 22  29 0d 02 3a 23 f2 61 64  |w",-1,"")..:#.ad|
000005e0  64 74 6f 6d 65 6e 75 28  31 30 2c 22 41 63 74 69  |dtomenu(10,"Acti|
000005f0  76 61 74 65 22 2c 2d 31  2c 22 22 29 0d 02 42 25  |vate",-1,"")..B%|
00000600  f2 61 64 64 74 6f 6d 65  6e 75 28 31 30 2c 22 44  |.addtomenu(10,"D|
00000610  65 61 63 74 69 76 61 74  65 22 2c 2d 31 2c 22 22  |eactivate",-1,""|
00000620  29 0d 02 4a 21 f2 61 64  64 74 6f 6d 65 6e 75 28  |)..J!.addtomenu(|
00000630  31 30 2c 22 46 6c 75 73  68 22 2c 2d 31 2c 22 46  |10,"Flush",-1,"F|
00000640  22 29 0d 02 52 04 0d 02  5a 1a f2 62 75 69 6c 64  |")..R...Z..build|
00000650  6d 65 6e 75 28 39 2c 22  45 78 70 6f 72 74 22 29  |menu(9,"Export")|
00000660  0d 02 62 35 f2 61 64 64  74 6f 6d 65 6e 75 28 39  |..b5.addtomenu(9|
00000670  2c 22 45 78 70 6f 72 74  20 61 73 20 54 65 78 74  |,"Export as Text|
00000680  20 20 5e 46 33 22 2c 73  61 76 65 5f 74 65 78 74  |  ^F3",save_text|
00000690  25 2c 22 22 29 0d 02 6a  35 f2 61 64 64 74 6f 6d  |%,"")..j5.addtom|
000006a0  65 6e 75 28 39 2c 22 45  78 70 6f 72 74 20 61 73  |enu(9,"Export as|
000006b0  20 43 53 56 20 20 5e 8b  46 33 22 2c 73 61 76 65  | CSV  ^.F3",save|
000006c0  5f 63 73 76 25 2c 22 46  22 29 0d 02 72 04 0d 02  |_csv%,"F")..r...|
000006d0  7a 1d f2 62 75 69 6c 64  6d 65 6e 75 28 38 2c 22  |z..buildmenu(8,"|
000006e0  43 6f 75 6e 74 72 69 65  73 22 29 0d 02 82 1c f2  |Countries").....|
000006f0  61 64 64 74 6f 6d 65 6e  75 28 38 2c 22 55 4b 22  |addtomenu(8,"UK"|
00000700  2c 2d 31 2c 22 22 29 0d  02 8a 21 f2 61 64 64 74  |,-1,"")...!.addt|
00000710  6f 6d 65 6e 75 28 38 2c  22 49 72 65 6c 61 6e 64  |omenu(8,"Ireland|
00000720  22 2c 2d 31 2c 22 22 29  0d 02 92 20 f2 61 64 64  |",-1,"")... .add|
00000730  74 6f 6d 65 6e 75 28 38  2c 22 46 72 61 6e 63 65  |tomenu(8,"France|
00000740  22 2c 2d 31 2c 22 22 29  0d 02 9a 21 f2 61 64 64  |",-1,"")...!.add|
00000750  74 6f 6d 65 6e 75 28 38  2c 22 47 65 72 6d 61 6e  |tomenu(8,"German|
00000760  79 22 2c 2d 31 2c 22 22  29 0d 02 a2 1f f2 61 64  |y",-1,"").....ad|
00000770  64 74 6f 6d 65 6e 75 28  38 2c 22 53 70 61 69 6e  |dtomenu(8,"Spain|
00000780  22 2c 2d 31 2c 22 22 29  0d 02 aa 22 f2 61 64 64  |",-1,"")...".add|
00000790  74 6f 6d 65 6e 75 28 38  2c 22 50 6f 72 74 75 67  |tomenu(8,"Portug|
000007a0  61 6c 22 2c 2d 31 2c 22  22 29 0d 02 b2 24 f2 61  |al",-1,"")...$.a|
000007b0  64 64 74 6f 6d 65 6e 75  28 38 2c 22 4c 75 78 65  |ddtomenu(8,"Luxe|
000007c0  6d 62 6f 75 72 67 22 2c  2d 31 2c 22 22 29 0d 02  |mbourg",-1,"")..|
000007d0  ba 21 f2 61 64 64 74 6f  6d 65 6e 75 28 38 2c 22  |.!.addtomenu(8,"|
000007e0  42 65 6c 67 69 75 6d 22  2c 2d 31 2c 22 22 29 0d  |Belgium",-1,"").|
000007f0  02 c2 29 f2 61 64 64 74  6f 6d 65 6e 75 28 38 2c  |..).addtomenu(8,|
00000800  22 54 68 65 20 4e 65 74  68 65 72 6c 61 6e 64 73  |"The Netherlands|
00000810  22 2c 2d 31 2c 22 22 29  0d 02 ca 1f f2 61 64 64  |",-1,"").....add|
00000820  74 6f 6d 65 6e 75 28 38  2c 22 49 74 61 6c 79 22  |tomenu(8,"Italy"|
00000830  2c 2d 31 2c 22 22 29 0d  02 d2 20 f2 61 64 64 74  |,-1,"")... .addt|
00000840  6f 6d 65 6e 75 28 38 2c  22 47 72 65 65 63 65 22  |omenu(8,"Greece"|
00000850  2c 2d 31 2c 22 22 29 0d  02 da 2d f2 61 64 64 74  |,-1,"")...-.addt|
00000860  6f 6d 65 6e 75 28 38 2c  22 44 65 6e 6d 61 72 6b  |omenu(8,"Denmark|
00000870  22 2c 2d 31 2c 22 22 29  3a f2 6e 65 77 5f 73 74  |",-1,""):.new_st|
00000880  61 74 65 73 0d 02 e2 1c  f2 61 64 64 74 6f 6d 65  |ates.....addtome|
00000890  6e 75 28 38 2c 22 22 2c  2d 31 2c 22 46 57 22 29  |nu(8,"",-1,"FW")|
000008a0  0d 02 ea 04 0d 02 f2 1a  f2 62 75 69 6c 64 6d 65  |.........buildme|
000008b0  6e 75 28 37 2c 22 4d 65  64 69 75 6d 22 29 0d 02  |nu(7,"Medium")..|
000008c0  fa 2b f2 61 64 64 74 6f  6d 65 6e 75 28 37 2c 22  |.+.addtomenu(7,"|
000008d0  54 68 69 73 20 54 65 72  6d 69 6e 61 6c 20 8b 46  |This Terminal .F|
000008e0  35 22 2c 2d 31 2c 22 22  29 0d 03 02 2c f2 61 64  |5",-1,"")...,.ad|
000008f0  64 74 6f 6d 65 6e 75 28  37 2c 22 50 6f 63 6b 65  |dtomenu(7,"Pocke|
00000900  74 20 42 6f 6f 6b 20 20  20 8b 46 36 22 2c 2d 31  |t Book   .F6",-1|
00000910  2c 22 46 22 29 0d 03 0a  04 0d 03 12 1b f2 62 75  |,"F").........bu|
00000920  69 6c 64 6d 65 6e 75 28  36 2c 22 4f 70 74 69 6f  |ildmenu(6,"Optio|
00000930  6e 73 22 29 0d 03 1a 2a  f2 61 64 64 74 6f 6d 65  |ns")...*.addtome|
00000940  6e 75 28 36 2c 22 50 61  73 73 77 6f 72 64 20 43  |nu(6,"Password C|
00000950  6f 6e 74 72 6f 6c 22 2c  2d 31 2c 22 22 29 0d 03  |ontrol",-1,"")..|
00000960  22 29 f2 61 64 64 74 6f  6d 65 6e 75 28 36 2c 22  |").addtomenu(6,"|
00000970  4c 65 6e 64 69 6e 67 20  4c 65 6e 67 74 68 73 22  |Lending Lengths"|
00000980  2c 2d 31 2c 22 22 29 0d  03 2a 1f f2 61 64 64 74  |,-1,"")..*..addt|
00000990  6f 6d 65 6e 75 28 36 2c  22 46 69 6e 65 73 22 2c  |omenu(6,"Fines",|
000009a0  2d 31 2c 22 22 29 0d 03  32 23 f2 61 64 64 74 6f  |-1,"")..2#.addto|
000009b0  6d 65 6e 75 28 36 2c 22  55 73 65 20 46 6f 6e 74  |menu(6,"Use Font|
000009c0  73 22 2c 2d 31 2c 22 22  29 0d 03 3a 23 f2 61 64  |s",-1,"")..:#.ad|
000009d0  64 74 6f 6d 65 6e 75 28  36 2c 22 57 61 74 63 68  |dtomenu(6,"Watch|
000009e0  64 6f 67 22 2c 31 30 2c  22 46 22 29 0d 03 42 04  |dog",10,"F")..B.|
000009f0  0d 03 4a 1a f2 62 75 69  6c 64 6d 65 6e 75 28 35  |..J..buildmenu(5|
00000a00  2c 22 43 72 65 61 74 65  22 29 0d 03 52 36 f2 61  |,"Create")..R6.a|
00000a10  64 64 74 6f 6d 65 6e 75  28 35 2c 22 42 6f 6f 6b  |ddtomenu(5,"Book|
00000a20  20 44 69 72 65 63 74 6f  72 79 20 20 20 20 46 33  | Directory    F3|
00000a30  22 2c 73 61 76 65 5f 62  6f 6f 6b 25 2c 22 22 29  |",save_book%,"")|
00000a40  0d 03 5a 36 f2 61 64 64  74 6f 6d 65 6e 75 28 35  |..Z6.addtomenu(5|
00000a50  2c 22 4d 65 6d 62 65 72  20 44 69 72 65 63 74 6f  |,"Member Directo|
00000a60  72 79 20 8b 46 33 22 2c  73 61 76 65 5f 6d 65 6d  |ry .F3",save_mem|
00000a70  25 2c 22 46 22 29 0d 03  62 04 0d 03 6a 1b f2 62  |%,"F")..b...j..b|
00000a80  75 69 6c 64 6d 65 6e 75  28 34 2c 22 4d 65 6d 62  |uildmenu(4,"Memb|
00000a90  65 72 73 22 29 0d 03 72  2b f2 61 64 64 74 6f 6d  |ers")..r+.addtom|
00000aa0  65 6e 75 28 34 2c 22 4e  65 77 20 4d 65 6d 62 65  |enu(4,"New Membe|
00000ab0  72 20 20 20 20 20 46 39  22 2c 31 33 2c 22 22 29  |r     F9",13,"")|
00000ac0  0d 03 7a 2c f2 61 64 64  74 6f 6d 65 6e 75 28 34  |..z,.addtomenu(4|
00000ad0  2c 22 52 65 6d 6f 76 65  20 4d 65 6d 62 65 72 20  |,"Remove Member |
00000ae0  20 46 31 30 22 2c 2d 31  2c 22 22 29 0d 03 82 2c  | F10",-1,"")...,|
00000af0  f2 61 64 64 74 6f 6d 65  6e 75 28 34 2c 22 43 68  |.addtomenu(4,"Ch|
00000b00  61 6e 67 65 20 4d 65 6d  62 65 72 20 20 46 31 31  |ange Member  F11|
00000b10  22 2c 2d 31 2c 22 22 29  0d 03 8a 2c f2 61 64 64  |",-1,"")...,.add|
00000b20  74 6f 6d 65 6e 75 28 34  2c 22 56 69 65 77 20 4d  |tomenu(4,"View M|
00000b30  65 6d 62 65 72 20 20 20  8b 46 34 22 2c 2d 31 2c  |ember   .F4",-1,|
00000b40  22 4c 22 29 0d 03 92 2c  f2 61 64 64 74 6f 6d 65  |"L")...,.addtome|
00000b50  6e 75 28 34 2c 22 45 78  70 6f 72 74 20 20 20 20  |nu(4,"Export    |
00000b60  20 20 20 20 20 20 20 22  2c 31 35 2c 22 46 22 29  |       ",15,"F")|
00000b70  0d 03 9a 04 0d 03 a2 19  f2 62 75 69 6c 64 6d 65  |.........buildme|
00000b80  6e 75 28 33 2c 22 42 6f  6f 6b 73 22 29 0d 03 aa  |nu(3,"Books")...|
00000b90  2a f2 61 64 64 74 6f 6d  65 6e 75 28 33 2c 22 49  |*.addtomenu(3,"I|
00000ba0  73 73 75 65 20 42 6f 6f  6b 20 20 20 20 46 35 22  |ssue Book    F5"|
00000bb0  2c 2d 31 2c 22 22 29 0d  03 b2 2a f2 61 64 64 74  |,-1,"")...*.addt|
00000bc0  6f 6d 65 6e 75 28 33 2c  22 52 65 74 75 72 6e 20  |omenu(3,"Return |
00000bd0  42 6f 6f 6b 20 20 20 46  36 22 2c 2d 31 2c 22 22  |Book   F6",-1,""|
00000be0  29 0d 03 ba 2b f2 61 64  64 74 6f 6d 65 6e 75 28  |)...+.addtomenu(|
00000bf0  33 2c 22 52 65 6e 65 77  20 42 6f 6f 6b 20 20 20  |3,"Renew Book   |
00000c00  20 46 37 22 2c 2d 31 2c  22 4c 22 29 0d 03 c2 29  | F7",-1,"L")...)|
00000c10  f2 61 64 64 74 6f 6d 65  6e 75 28 33 2c 22 41 64  |.addtomenu(3,"Ad|
00000c20  64 20 53 74 6f 63 6b 20  20 20 20 8b 46 35 22 2c  |d Stock    .F5",|
00000c30  37 2c 22 22 29 0d 03 ca  2a f2 61 64 64 74 6f 6d  |7,"")...*.addtom|
00000c40  65 6e 75 28 33 2c 22 52  65 6d 6f 76 65 20 53 74  |enu(3,"Remove St|
00000c50  6f 63 6b 20 8b 46 37 22  2c 2d 31 2c 22 22 29 0d  |ock .F7",-1,"").|
00000c60  03 d2 2a f2 61 64 64 74  6f 6d 65 6e 75 28 33 2c  |..*.addtomenu(3,|
00000c70  22 43 68 61 6e 67 65 20  53 74 6f 63 6b 20 8b 46  |"Change Stock .F|
00000c80  38 22 2c 2d 31 2c 22 22  29 0d 03 da 2b f2 61 64  |8",-1,"")...+.ad|
00000c90  64 74 6f 6d 65 6e 75 28  33 2c 22 56 69 65 77 20  |dtomenu(3,"View |
00000ca0  53 74 6f 63 6b 20 20 20  20 46 38 22 2c 2d 31 2c  |Stock    F8",-1,|
00000cb0  22 4c 22 29 0d 03 e2 2b  f2 61 64 64 74 6f 6d 65  |"L")...+.addtome|
00000cc0  6e 75 28 33 2c 22 45 78  70 6f 72 74 20 20 20 20  |nu(3,"Export    |
00000cd0  20 20 20 20 20 20 22 2c  31 34 2c 22 46 22 29 0d  |      ",14,"F").|
00000ce0  03 ea 04 0d 03 f2 1d f2  62 75 69 6c 64 6d 65 6e  |........buildmen|
00000cf0  75 28 32 2c 22 4c 69 62  72 61 72 69 61 6e 22 29  |u(2,"Librarian")|
00000d00  0d 03 fa 1e f2 61 64 64  74 6f 6d 65 6e 75 28 32  |.....addtomenu(2|
00000d10  2c 22 42 6f 6f 6b 73 22  2c 33 2c 22 22 29 0d 04  |,"Books",3,"")..|
00000d20  02 20 f2 61 64 64 74 6f  6d 65 6e 75 28 32 2c 22  |. .addtomenu(2,"|
00000d30  4d 65 6d 62 65 72 73 22  2c 34 2c 22 22 29 0d 04  |Members",4,"")..|
00000d40  0a 28 f2 61 64 64 74 6f  6d 65 6e 75 28 32 2c 22  |.(.addtomenu(2,"|
00000d50  50 61 73 73 77 6f 72 64  73 20 20 8b 46 31 22 2c  |Passwords  .F1",|
00000d60  2d 31 2c 22 22 29 0d 04  12 28 f2 61 64 64 74 6f  |-1,"")...(.addto|
00000d70  6d 65 6e 75 28 32 2c 22  4e 65 77 73 20 50 61 67  |menu(2,"News Pag|
00000d80  65 73 20 5e 46 32 22 2c  2d 31 2c 22 22 29 0d 04  |es ^F2",-1,"")..|
00000d90  1a 1f f2 61 64 64 74 6f  6d 65 6e 75 28 32 2c 22  |...addtomenu(2,"|
00000da0  43 72 65 61 74 65 22 2c  35 2c 22 22 29 0d 04 22  |Create",5,"").."|
00000db0  20 f2 61 64 64 74 6f 6d  65 6e 75 28 32 2c 22 50  | .addtomenu(2,"P|
00000dc0  72 69 6e 74 22 2c 31 32  2c 22 4c 22 29 0d 04 2a  |rint",12,"L")..*|
00000dd0  21 f2 61 64 64 74 6f 6d  65 6e 75 28 32 2c 22 4f  |!.addtomenu(2,"O|
00000de0  70 74 69 6f 6e 73 22 2c  36 2c 22 46 22 29 0d 04  |ptions",6,"F")..|
00000df0  32 04 0d 04 3a 1b f2 62  75 69 6c 64 6d 65 6e 75  |2...:..buildmenu|
00000e00  28 31 2c 22 4c 69 62 72  61 72 79 22 29 0d 04 42  |(1,"Library")..B|
00000e10  22 f2 61 64 64 74 6f 6d  65 6e 75 28 31 2c 22 49  |".addtomenu(1,"I|
00000e20  6e 66 6f 22 2c 69 6e 66  6f 25 2c 22 4c 22 29 0d  |nfo",info%,"L").|
00000e30  04 4a 27 f2 61 64 64 74  6f 6d 65 6e 75 28 31 2c  |.J'.addtomenu(1,|
00000e40  22 4e 65 77 73 20 20 20  20 20 20 8b 46 32 22 2c  |"News      .F2",|
00000e50  2d 31 2c 22 22 29 0d 04  52 27 f2 61 64 64 74 6f  |-1,"")..R'.addto|
00000e60  6d 65 6e 75 28 31 2c 22  53 65 61 72 63 68 20 20  |menu(1,"Search  |
00000e70  20 20 20 46 34 22 2c 2d  31 2c 22 22 29 0d 04 5a  |   F4",-1,"")..Z|
00000e80  23 f2 61 64 64 74 6f 6d  65 6e 75 28 31 2c 22 4c  |#.addtomenu(1,"L|
00000e90  69 62 72 61 72 69 61 6e  22 2c 32 2c 22 4c 22 29  |ibrarian",2,"L")|
00000ea0  0d 04 62 27 f2 61 64 64  74 6f 6d 65 6e 75 28 31  |..b'.addtomenu(1|
00000eb0  2c 22 4c 6f 67 20 4f 6e  20 20 20 20 20 46 31 22  |,"Log On     F1"|
00000ec0  2c 2d 31 2c 22 22 29 0d  04 6a 27 f2 61 64 64 74  |,-1,"")..j'.addt|
00000ed0  6f 6d 65 6e 75 28 31 2c  22 4c 6f 67 20 4f 66 66  |omenu(1,"Log Off|
00000ee0  20 20 20 20 46 32 22 2c  2d 31 2c 22 22 29 0d 04  |    F2",-1,"")..|
00000ef0  72 1f f2 61 64 64 74 6f  6d 65 6e 75 28 31 2c 22  |r..addtomenu(1,"|
00000f00  51 75 69 74 22 2c 2d 31  2c 22 46 22 29 0d 04 7a  |Quit",-1,"F")..z|
00000f10  04 0d 04 82 05 e1 0d 04  8a 04 0d 04 92 11 dd f2  |................|
00000f20  72 65 63 65 69 76 65 28  71 25 29 0d 04 9a 19 66  |receive(q%)....f|
00000f30  69 6c 65 24 3d a4 73 74  72 69 6e 67 30 28 71 25  |ile$=.string0(q%|
00000f40  2b 34 34 29 0d 04 a2 0e  c8 8e 20 71 25 21 31 36  |+44)...... q%!16|
00000f50  20 ca 0d 04 aa 09 20 20  c9 20 30 0d 04 b2 1f 20  | .....  . 0.... |
00000f60  20 20 20 e7 20 6c 6f 67  67 65 64 5f 6f 6e 25 20  |   . logged_on% |
00000f70  8c 20 f2 6c 6f 67 5f 6f  66 66 0d 04 ba 1d 20 20  |. .log_off....  |
00000f80  20 20 c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |  .. "Wimp_Close|
00000f90  44 6f 77 6e 22 3a e0 0d  04 c2 09 20 20 c9 20 32  |Down":.....  . 2|
00000fa0  0d 04 ca 19 20 20 20 20  c8 8e 20 64 72 61 67 5f  |....    .. drag_|
00000fb0  73 6f 75 72 63 65 25 20  ca 0d 04 d2 43 20 20 20  |source% ....C   |
00000fc0  20 20 20 c9 20 73 61 76  65 5f 62 6f 6f 6b 25 3a  |   . save_book%:|
00000fd0  20 f2 73 61 76 65 5f 62  6f 6f 6b 5f 66 69 6c 65  | .save_book_file|
00000fe0  28 66 69 6c 65 24 29 3a  c8 99 20 22 48 6f 75 72  |(file$):.. "Hour|
00000ff0  67 6c 61 73 73 5f 53 6d  61 73 68 22 0d 04 da 41  |glass_Smash"...A|
00001000  20 20 20 20 20 20 c9 20  73 61 76 65 5f 6d 65 6d  |      . save_mem|
00001010  25 3a 20 f2 73 61 76 65  5f 6d 65 6d 5f 66 69 6c  |%: .save_mem_fil|
00001020  65 28 66 69 6c 65 24 29  3a c8 99 20 22 48 6f 75  |e(file$):.. "Hou|
00001030  72 67 6c 61 73 73 5f 53  6d 61 73 68 22 0d 04 e2  |rglass_Smash"...|
00001040  42 20 20 20 20 20 20 c9  20 73 61 76 65 5f 74 65  |B      . save_te|
00001050  78 74 25 3a 20 f2 73 61  76 65 5f 65 78 70 6f 72  |xt%: .save_expor|
00001060  74 28 66 69 6c 65 24 2c  30 29 3a c8 99 20 22 48  |t(file$,0):.. "H|
00001070  6f 75 72 67 6c 61 73 73  5f 53 6d 61 73 68 22 0d  |ourglass_Smash".|
00001080  04 ea 41 20 20 20 20 20  20 c9 20 73 61 76 65 5f  |..A      . save_|
00001090  63 73 76 25 3a 20 f2 73  61 76 65 5f 65 78 70 6f  |csv%: .save_expo|
000010a0  72 74 28 66 69 6c 65 24  2c 31 29 3a c8 99 20 22  |rt(file$,1):.. "|
000010b0  48 6f 75 72 67 6c 61 73  73 5f 53 6d 61 73 68 22  |Hourglass_Smash"|
000010c0  0d 04 f2 44 20 20 20 20  20 20 c9 20 65 78 70 6f  |...D      . expo|
000010d0  72 74 5f 63 73 76 25 3a  20 f2 73 74 61 72 74 5f  |rt_csv%: .start_|
000010e0  65 78 70 6f 72 74 28 66  69 6c 65 24 2c 30 29 3a  |export(file$,0):|
000010f0  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 53 6d  |.. "Hourglass_Sm|
00001100  61 73 68 22 0d 04 fa 45  20 20 20 20 20 20 c9 20  |ash"...E      . |
00001110  65 78 70 6f 72 74 5f 74  65 78 74 25 3a 20 f2 73  |export_text%: .s|
00001120  74 61 72 74 5f 65 78 70  6f 72 74 28 66 69 6c 65  |tart_export(file|
00001130  24 2c 31 29 3a c8 99 20  22 48 6f 75 72 67 6c 61  |$,1):.. "Hourgla|
00001140  73 73 5f 53 6d 61 73 68  22 0d 05 02 09 20 20 20  |ss_Smash"....   |
00001150  20 cb 0d 05 0a 09 20 20  c9 20 33 0d 05 12 12 20  | .....  . 3.... |
00001160  20 20 20 c8 8e 20 71 25  21 34 30 20 ca 0d 05 1a  |   .. q%!40 ....|
00001170  30 20 20 20 20 20 20 c9  20 26 46 46 46 3a 20 f2  |0      . &FFF: .|
00001180  72 65 63 65 69 76 65 5f  74 65 78 74 28 a4 73 74  |receive_text(.st|
00001190  72 69 6e 67 30 28 71 25  2b 34 34 29 29 0d 05 22  |ring0(q%+44)).."|
000011a0  2f 20 20 20 20 20 20 c9  20 26 44 46 45 3a 20 f2  |/      . &DFE: .|
000011b0  72 65 63 65 69 76 65 5f  63 73 76 28 a4 73 74 72  |receive_csv(.str|
000011c0  69 6e 67 30 28 71 25 2b  34 34 29 29 0d 05 2a 09  |ing0(q%+44))..*.|
000011d0  20 20 20 20 cb 0d 05 32  0c 20 20 c9 20 26 35 30  |    ...2.  . &50|
000011e0  32 0d 05 3a 29 20 20 20  20 71 25 21 31 32 3d 71  |2..:)    q%!12=q|
000011f0  25 21 38 3a 71 25 21 31  36 3d 26 35 30 33 3a 68  |%!8:q%!16=&503:h|
00001200  65 6c 70 25 3d 71 25 2b  32 30 0d 05 42 1d 20 20  |elp%=q%+20..B.  |
00001210  20 20 e3 20 63 25 3d 30  20 b8 20 68 65 6c 70 69  |  . c%=0 . helpi|
00001220  5f 70 74 72 25 2d 31 0d  05 4a 33 20 20 20 20 e7  |_ptr%-1..J3    .|
00001230  20 71 25 21 33 32 3d 68  65 6c 70 69 25 28 63 25  | q%!32=helpi%(c%|
00001240  2c 30 29 20 80 20 71 25  21 33 36 3d 68 65 6c 70  |,0) . q%!36=help|
00001250  69 25 28 63 25 2c 31 29  20 8c 0d 05 52 1b 20 20  |i%(c%,1) ...R.  |
00001260  20 20 20 20 f2 68 65 6c  70 28 68 65 6c 70 69 24  |    .help(helpi$|
00001270  28 63 25 29 29 0d 05 5a  09 20 20 20 20 cc 0d 05  |(c%))..Z.    ...|
00001280  62 0e 20 20 20 20 20 20  ed 20 63 25 0d 05 6a 09  |b.      . c%..j.|
00001290  20 20 20 20 cd 0d 05 72  28 20 20 20 20 3f 68 65  |    ...r(    ?he|
000012a0  6c 70 25 3d 30 3a 21 71  25 3d 28 68 65 6c 70 25  |lp%=0:!q%=(help%|
000012b0  2b 32 34 2d 71 25 29 20  80 20 ac 20 33 0d 05 7a  |+24-q%) . . 3..z|
000012c0  28 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 53 65  |(    .. "Wimp_Se|
000012d0  6e 64 4d 65 73 73 61 67  65 22 2c 31 37 2c 71 25  |ndMessage",17,q%|
000012e0  2c 71 25 21 34 0d 05 82  0e 20 20 c9 20 26 34 30  |,q%!4....  . &40|
000012f0  30 43 32 0d 05 8a 31 20  20 20 20 6e 65 77 74 61  |0C2...1    newta|
00001300  73 6b 69 64 25 3d 71 25  21 34 3a 74 61 73 6b 6e  |skid%=q%!4:taskn|
00001310  61 6d 65 24 3d a4 73 74  72 69 6e 67 30 28 71 25  |ame$=.string0(q%|
00001320  2b 32 38 29 0d 05 92 33  20 20 20 20 e7 20 74 61  |+28)...3    . ta|
00001330  73 6b 6e 61 6d 65 24 3d  22 4c 69 62 72 61 72 79  |skname$="Library|
00001340  22 20 80 20 6e 65 77 74  61 73 6b 69 64 25 3c 3e  |" . newtaskid%<>|
00001350  6d 79 69 64 25 20 8c 0d  05 9a 21 20 20 20 20 20  |myid% ....!     |
00001360  20 e7 20 6c 6f 67 67 65  64 5f 6f 6e 25 20 8c 20  | . logged_on% . |
00001370  f2 6c 6f 67 5f 6f 66 66  0d 05 a2 1f 20 20 20 20  |.log_off....    |
00001380  20 20 c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |  .. "Wimp_Close|
00001390  44 6f 77 6e 22 3a e0 0d  05 aa 09 20 20 20 20 cd  |Down":.....    .|
000013a0  0d 05 b2 1d 20 20 c9 20  26 34 37 44 32 30 3a 20  |....  . &47D20: |
000013b0  f2 62 6f 6f 6b 5f 72 65  71 75 65 73 74 0d 05 ba  |.book_request...|
000013c0  05 cb 0d 05 c2 05 e1 0d  05 ca 04 0d 05 d2 0e dd  |................|
000013d0  f2 68 65 6c 70 28 61 24  29 0d 05 da 12 24 68 65  |.help(a$)....$he|
000013e0  6c 70 25 3d 61 24 2b 22  7c 4d 22 0d 05 e2 10 68  |lp%=a$+"|M"....h|
000013f0  65 6c 70 25 2b 3d a9 61  24 2b 32 0d 05 ea 05 e1  |elp%+=.a$+2.....|
00001400  0d 05 f2 04 0d 05 fa 0e  dd f2 65 72 72 6f 72 62  |..........errorb|
00001410  6f 78 0d 06 02 0d ff 28  22 53 68 75 74 22 29 0d  |ox.....("Shut").|
00001420  06 0a 33 e7 20 f6 24 3d  22 44 69 73 63 20 66 75  |..3. .$="Disc fu|
00001430  6c 6c 22 20 80 20 63 75  72 72 5f 65 78 70 25 3c  |ll" . curr_exp%<|
00001440  3e 2d 31 20 8c 20 f2 64  69 73 63 5f 66 75 6c 6c  |>-1 . .disc_full|
00001450  3a e1 0d 06 12 0f 65 72  72 5f 66 6c 61 67 25 3d  |:.....err_flag%=|
00001460  33 0d 06 1a 19 c8 99 20  22 57 69 6d 70 5f 44 72  |3...... "Wimp_Dr|
00001470  61 67 42 6f 78 22 2c 2c  2d 31 0d 06 22 0f 21 62  |agBox",,-1..".!b|
00001480  75 66 66 65 72 73 25 3d  9f 0d 06 2a 5d 24 28 62  |uffers%=...*]$(b|
00001490  75 66 66 65 72 73 25 2b  34 29 3d f6 24 2b 22 20  |uffers%+4)=.$+" |
000014a0  28 49 6e 74 65 72 6e 61  6c 20 63 6f 64 65 20 22  |(Internal code "|
000014b0  2b c3 28 9e 29 2b 22 29  20 43 6c 69 63 6b 20 4f  |+.(.)+") Click O|
000014c0  4b 20 74 6f 20 63 6f 6e  74 69 6e 75 65 2c 20 6f  |K to continue, o|
000014d0  72 20 43 61 6e 63 65 6c  20 74 6f 20 71 75 69 74  |r Cancel to quit|
000014e0  22 2b bd 28 30 29 0d 06  32 41 c8 99 20 22 57 69  |"+.(0)..2A.. "Wi|
000014f0  6d 70 5f 52 65 70 6f 72  74 45 72 72 6f 72 22 2c  |mp_ReportError",|
00001500  62 75 66 66 65 72 73 25  2c 65 72 72 5f 66 6c 61  |buffers%,err_fla|
00001510  67 25 2c 22 21 4c 69 62  72 61 72 79 22 20 b8 20  |g%,"!Library" . |
00001520  2c 63 6c 69 63 6b 25 0d  06 3a 30 e7 20 63 6c 69  |,click%..:0. cli|
00001530  63 6b 25 3d 32 20 8c 20  c8 99 20 22 57 69 6d 70  |ck%=2 . .. "Wimp|
00001540  5f 43 6c 6f 73 65 44 6f  77 6e 22 2c 2c 21 74 61  |_CloseDown",,!ta|
00001550  73 6b 69 64 25 3a e0 0d  06 42 05 e1 0d 06 4a 04  |skid%:...B....J.|
00001560  0d 06 52 11 dd a4 73 74  72 69 6e 67 30 28 61 25  |..R...string0(a%|
00001570  29 0d 06 5a 08 ea 20 61  24 0d 06 62 09 61 24 3d  |)..Z.. a$..b.a$=|
00001580  22 22 0d 06 6a 1b c8 95  20 28 3f 61 25 3c 3e 30  |""..j... (?a%<>0|
00001590  29 20 80 20 28 3f 61 25  3c 3e 31 33 29 0d 06 72  |) . (?a%<>13)..r|
000015a0  0e 20 20 61 24 2b 3d bd  3f 61 25 0d 06 7a 0b 20  |.  a$+=.?a%..z. |
000015b0  20 61 25 2b 3d 31 0d 06  82 05 ce 0d 06 8a 07 3d  | a%+=1.........=|
000015c0  61 24 0d 06 92 04 0d 06  9a 19 dd a4 66 69 6c 65  |a$..........file|
000015d0  74 79 70 65 28 66 69 6c  65 6e 61 6d 65 24 29 0d  |type(filename$).|
000015e0  06 a2 0e ea 20 66 25 2c  74 79 70 65 25 0d 06 aa  |.... f%,type%...|
000015f0  29 c8 99 20 22 4f 53 5f  46 69 6c 65 22 2c 31 37  |).. "OS_File",17|
00001600  2c 66 69 6c 65 6e 61 6d  65 24 20 b8 20 74 79 70  |,filename$ . typ|
00001610  65 25 2c 2c 66 25 0d 06  b2 15 e7 20 74 79 70 65  |e%,,f%..... type|
00001620  25 3c 3e 31 20 8c 20 3d  20 2d 32 0d 06 ba 30 e7  |%<>1 . = -2...0.|
00001630  20 28 66 25 3e 3e 3e 32  30 29 3d 26 46 46 46 20  | (f%>>>20)=&FFF |
00001640  8c 20 3d 28 28 66 25 3e  3e 3e 38 29 20 80 20 26  |. =((f%>>>8) . &|
00001650  46 46 46 29 20 8b 20 3d  20 2d 31 0d 06 c2 04 0d  |FFF) . = -1.....|
00001660  06 ca 14 dd f2 69 6e 69  74 5f 74 65 6d 70 6c 61  |.....init_templa|
00001670  74 65 73 0d 06 d2 0d de  20 51 25 20 34 30 39 32  |tes..... Q% 4092|
00001680  0d 06 da 0e de 20 72 7a  25 20 34 30 39 32 0d 06  |..... rz% 4092..|
00001690  e2 0e de 20 74 7a 25 20  34 30 39 32 0d 06 ea 11  |... tz% 4092....|
000016a0  de 20 66 68 61 6e 64 73  25 20 32 35 36 0d 06 f2  |. fhands% 256...|
000016b0  20 de 20 77 73 25 20 26  38 30 30 30 3a 6d 61 78  | . ws% &8000:max|
000016c0  77 73 25 3d 77 73 25 2b  26 38 30 30 30 0d 06 fa  |ws%=ws%+&8000...|
000016d0  17 de 20 68 63 74 24 28  34 30 29 2c 68 63 74 25  |.. hct$(40),hct%|
000016e0  28 34 30 29 0d 07 02 09  6e 25 3d 2d 31 0d 07 0a  |(40)....n%=-1...|
000016f0  49 c8 99 20 22 57 69 6d  70 5f 4f 70 65 6e 54 65  |I.. "Wimp_OpenTe|
00001700  6d 70 6c 61 74 65 22 2c  2c 22 3c 4c 69 62 72 61  |mplate",,"<Libra|
00001710  72 79 24 44 69 72 3e 2e  52 65 73 6f 75 72 63 65  |ry$Dir>.Resource|
00001720  73 2e 3c 4c 69 62 72 61  72 79 24 54 65 6d 70 6c  |s.<Library$Templ|
00001730  61 74 65 73 3e 22 0d 07  12 45 c8 99 20 22 57 69  |ates>"...E.. "Wi|
00001740  6d 70 5f 4c 6f 61 64 54  65 6d 70 6c 61 74 65 22  |mp_LoadTemplate"|
00001750  2c 2c 51 25 2c 77 73 25  2c 6d 61 78 77 73 25 2c  |,,Q%,ws%,maxws%,|
00001760  66 68 61 6e 64 73 25 2c  22 69 6e 66 6f 22 2c 30  |fhands%,"info",0|
00001770  20 b8 20 2c 2c 63 75 72  77 73 25 0d 07 1a 26 c8  | . ,,curws%...&.|
00001780  99 20 22 57 69 6d 70 5f  43 72 65 61 74 65 57 69  |. "Wimp_CreateWi|
00001790  6e 64 6f 77 22 2c 2c 51  25 20 b8 20 69 6e 66 6f  |ndow",,Q% . info|
000017a0  25 0d 07 22 28 6e 25 2b  3d 31 3a 68 63 74 24 28  |%.."(n%+=1:hct$(|
000017b0  6e 25 29 3d 22 69 6e 66  6f 22 3a 68 63 74 25 28  |n%)="info":hct%(|
000017c0  6e 25 29 3d 69 6e 66 6f  25 0d 07 2a 49 c8 99 20  |n%)=info%..*I.. |
000017d0  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
000017e0  74 65 22 2c 2c 51 25 2c  63 75 72 77 73 25 2c 6d  |te",,Q%,curws%,m|
000017f0  61 78 77 73 25 2c 66 68  61 6e 64 73 25 2c 22 6c  |axws%,fhands%,"l|
00001800  6f 67 6f 6e 22 2c 30 20  b8 20 2c 2c 63 75 72 77  |ogon",0 . ,,curw|
00001810  73 25 0d 07 32 27 c8 99  20 22 57 69 6d 70 5f 43  |s%..2'.. "Wimp_C|
00001820  72 65 61 74 65 57 69 6e  64 6f 77 22 2c 2c 51 25  |reateWindow",,Q%|
00001830  20 b8 20 6c 6f 67 6f 6e  25 0d 07 3a 2a 6e 25 2b  | . logon%..:*n%+|
00001840  3d 31 3a 68 63 74 24 28  6e 25 29 3d 22 6c 6f 67  |=1:hct$(n%)="log|
00001850  6f 6e 22 3a 68 63 74 25  28 6e 25 29 3d 6c 6f 67  |on":hct%(n%)=log|
00001860  6f 6e 25 0d 07 42 4a c8  99 20 22 57 69 6d 70 5f  |on%..BJ.. "Wimp_|
00001870  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 51  |LoadTemplate",,Q|
00001880  25 2c 63 75 72 77 73 25  2c 6d 61 78 77 73 25 2c  |%,curws%,maxws%,|
00001890  66 68 61 6e 64 73 25 2c  22 73 65 61 72 63 68 22  |fhands%,"search"|
000018a0  2c 30 20 b8 20 2c 2c 63  75 72 77 73 25 0d 07 4a  |,0 . ,,curws%..J|
000018b0  28 c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |(.. "Wimp_Create|
000018c0  57 69 6e 64 6f 77 22 2c  2c 51 25 20 b8 20 73 65  |Window",,Q% . se|
000018d0  61 72 63 68 25 0d 07 52  2c 6e 25 2b 3d 31 3a 68  |arch%..R,n%+=1:h|
000018e0  63 74 24 28 6e 25 29 3d  22 73 65 61 72 63 68 22  |ct$(n%)="search"|
000018f0  3a 68 63 74 25 28 6e 25  29 3d 73 65 61 72 63 68  |:hct%(n%)=search|
00001900  25 0d 07 5a 4c c8 99 20  22 57 69 6d 70 5f 4c 6f  |%..ZL.. "Wimp_Lo|
00001910  61 64 54 65 6d 70 6c 61  74 65 22 2c 2c 51 25 2c  |adTemplate",,Q%,|
00001920  63 75 72 77 73 25 2c 6d  61 78 77 73 25 2c 66 68  |curws%,maxws%,fh|
00001930  61 6e 64 73 25 2c 22 63  68 61 6e 67 65 5f 70 22  |ands%,"change_p"|
00001940  2c 30 20 b8 20 2c 2c 63  75 72 77 73 25 0d 07 62  |,0 . ,,curws%..b|
00001950  2c c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |,.. "Wimp_Create|
00001960  57 69 6e 64 6f 77 22 2c  2c 51 25 20 b8 20 63 68  |Window",,Q% . ch|
00001970  61 6e 67 65 70 61 73 73  25 0d 07 6a 32 6e 25 2b  |angepass%..j2n%+|
00001980  3d 31 3a 68 63 74 24 28  6e 25 29 3d 22 63 68 61  |=1:hct$(n%)="cha|
00001990  6e 67 65 5f 70 22 3a 68  63 74 25 28 6e 25 29 3d  |nge_p":hct%(n%)=|
000019a0  63 68 61 6e 67 65 70 61  73 73 25 0d 07 72 4b c8  |changepass%..rK.|
000019b0  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
000019c0  6c 61 74 65 22 2c 2c 51  25 2c 63 75 72 77 73 25  |late",,Q%,curws%|
000019d0  2c 6d 61 78 77 73 25 2c  66 68 61 6e 64 73 25 2c  |,maxws%,fhands%,|
000019e0  22 63 6f 6e 66 69 72 6d  22 2c 30 20 b8 20 2c 2c  |"confirm",0 . ,,|
000019f0  63 75 72 77 73 25 0d 07  7a 29 c8 99 20 22 57 69  |curws%..z).. "Wi|
00001a00  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
00001a10  2c 2c 51 25 20 b8 20 63  6f 6e 66 69 72 6d 25 0d  |,,Q% . confirm%.|
00001a20  07 82 2e 6e 25 2b 3d 31  3a 68 63 74 24 28 6e 25  |...n%+=1:hct$(n%|
00001a30  29 3d 22 63 6f 6e 66 69  72 6d 22 3a 68 63 74 25  |)="confirm":hct%|
00001a40  28 6e 25 29 3d 63 6f 6e  66 69 72 6d 25 0d 07 8a  |(n%)=confirm%...|
00001a50  4d c8 99 20 22 57 69 6d  70 5f 4c 6f 61 64 54 65  |M.. "Wimp_LoadTe|
00001a60  6d 70 6c 61 74 65 22 2c  2c 51 25 2c 63 75 72 77  |mplate",,Q%,curw|
00001a70  73 25 2c 6d 61 78 77 73  25 2c 66 68 61 6e 64 73  |s%,maxws%,fhands|
00001a80  25 2c 22 61 64 64 5f 73  74 6f 63 6b 22 2c 30 20  |%,"add_stock",0 |
00001a90  b8 20 2c 2c 63 75 72 77  73 25 0d 07 92 2b c8 99  |. ,,curws%...+..|
00001aa0  20 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  | "Wimp_CreateWin|
00001ab0  64 6f 77 22 2c 2c 51 25  20 b8 20 61 64 64 5f 73  |dow",,Q% . add_s|
00001ac0  74 6f 63 6b 25 0d 07 9a  32 6e 25 2b 3d 31 3a 68  |tock%...2n%+=1:h|
00001ad0  63 74 24 28 6e 25 29 3d  22 61 64 64 5f 73 74 6f  |ct$(n%)="add_sto|
00001ae0  63 6b 22 3a 68 63 74 25  28 6e 25 29 3d 61 64 64  |ck":hct%(n%)=add|
00001af0  5f 73 74 6f 63 6b 25 0d  07 a2 4d c8 99 20 22 57  |_stock%...M.. "W|
00001b00  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00001b10  22 2c 2c 51 25 2c 63 75  72 77 73 25 2c 6d 61 78  |",,Q%,curws%,max|
00001b20  77 73 25 2c 66 68 61 6e  64 73 25 2c 22 61 63 63  |ws%,fhands%,"acc|
00001b30  6e 5f 6f 6e 6c 79 22 2c  30 20 b8 20 2c 2c 63 75  |n_only",0 . ,,cu|
00001b40  72 77 73 25 0d 07 aa 2b  c8 99 20 22 57 69 6d 70  |rws%...+.. "Wimp|
00001b50  5f 43 72 65 61 74 65 57  69 6e 64 6f 77 22 2c 2c  |_CreateWindow",,|
00001b60  51 25 20 b8 20 61 63 63  6e 5f 6f 6e 6c 79 25 0d  |Q% . accn_only%.|
00001b70  07 b2 32 6e 25 2b 3d 31  3a 68 63 74 24 28 6e 25  |..2n%+=1:hct$(n%|
00001b80  29 3d 22 61 63 63 6e 5f  6f 6e 6c 79 22 3a 68 63  |)="accn_only":hc|
00001b90  74 25 28 6e 25 29 3d 61  63 63 6e 5f 6f 6e 6c 79  |t%(n%)=accn_only|
00001ba0  25 0d 07 ba 49 c8 99 20  22 57 69 6d 70 5f 4c 6f  |%...I.. "Wimp_Lo|
00001bb0  61 64 54 65 6d 70 6c 61  74 65 22 2c 2c 51 25 2c  |adTemplate",,Q%,|
00001bc0  63 75 72 77 73 25 2c 6d  61 78 77 73 25 2c 66 68  |curws%,maxws%,fh|
00001bd0  61 6e 64 73 25 2c 22 69  73 73 75 65 22 2c 30 20  |ands%,"issue",0 |
00001be0  b8 20 2c 2c 63 75 72 77  73 25 0d 07 c2 27 c8 99  |. ,,curws%...'..|
00001bf0  20 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  | "Wimp_CreateWin|
00001c00  64 6f 77 22 2c 2c 51 25  20 b8 20 69 73 73 75 65  |dow",,Q% . issue|
00001c10  25 0d 07 ca 2a 6e 25 2b  3d 31 3a 68 63 74 24 28  |%...*n%+=1:hct$(|
00001c20  6e 25 29 3d 22 69 73 73  75 65 22 3a 68 63 74 25  |n%)="issue":hct%|
00001c30  28 6e 25 29 3d 69 73 73  75 65 25 0d 07 d2 4c c8  |(n%)=issue%...L.|
00001c40  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
00001c50  6c 61 74 65 22 2c 2c 51  25 2c 63 75 72 77 73 25  |late",,Q%,curws%|
00001c60  2c 6d 61 78 77 73 25 2c  66 68 61 6e 64 73 25 2c  |,maxws%,fhands%,|
00001c70  22 6f 70 74 5f 70 61 73  73 22 2c 30 20 b8 20 2c  |"opt_pass",0 . ,|
00001c80  2c 63 75 72 77 73 25 0d  07 da 27 c8 99 20 22 57  |,curws%...'.. "W|
00001c90  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
00001ca0  22 2c 2c 51 25 20 b8 20  6f 70 74 70 63 25 0d 07  |",,Q% . optpc%..|
00001cb0  e2 2d 6e 25 2b 3d 31 3a  68 63 74 24 28 6e 25 29  |.-n%+=1:hct$(n%)|
00001cc0  3d 22 6f 70 74 5f 70 61  73 73 22 3a 68 63 74 25  |="opt_pass":hct%|
00001cd0  28 6e 25 29 3d 6f 70 74  70 63 25 0d 07 ea 4c c8  |(n%)=optpc%...L.|
00001ce0  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
00001cf0  6c 61 74 65 22 2c 2c 51  25 2c 63 75 72 77 73 25  |late",,Q%,curws%|
00001d00  2c 6d 61 78 77 73 25 2c  66 68 61 6e 64 73 25 2c  |,maxws%,fhands%,|
00001d10  22 6f 70 74 5f 6c 65 6e  64 22 2c 30 20 b8 20 2c  |"opt_lend",0 . ,|
00001d20  2c 63 75 72 77 73 25 0d  07 f2 29 c8 99 20 22 57  |,curws%...).. "W|
00001d30  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
00001d40  22 2c 2c 51 25 20 b8 20  6f 70 74 6c 65 6e 64 25  |",,Q% . optlend%|
00001d50  0d 07 fa 2f 6e 25 2b 3d  31 3a 68 63 74 24 28 6e  |.../n%+=1:hct$(n|
00001d60  25 29 3d 22 6f 70 74 5f  6c 65 6e 64 22 3a 68 63  |%)="opt_lend":hc|
00001d70  74 25 28 6e 25 29 3d 6f  70 74 6c 65 6e 64 25 0d  |t%(n%)=optlend%.|
00001d80  08 02 4d c8 99 20 22 57  69 6d 70 5f 4c 6f 61 64  |..M.. "Wimp_Load|
00001d90  54 65 6d 70 6c 61 74 65  22 2c 2c 51 25 2c 63 75  |Template",,Q%,cu|
00001da0  72 77 73 25 2c 6d 61 78  77 73 25 2c 66 68 61 6e  |rws%,maxws%,fhan|
00001db0  64 73 25 2c 22 72 65 6d  5f 63 68 65 63 6b 22 2c  |ds%,"rem_check",|
00001dc0  30 20 b8 20 2c 2c 63 75  72 77 73 25 0d 08 0a 2c  |0 . ,,curws%...,|
00001dd0  c8 99 20 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |.. "Wimp_CreateW|
00001de0  69 6e 64 6f 77 22 2c 2c  51 25 20 b8 20 63 6f 6e  |indow",,Q% . con|
00001df0  66 5f 72 65 6d 73 74 25  0d 08 12 33 6e 25 2b 3d  |f_remst%...3n%+=|
00001e00  31 3a 68 63 74 24 28 6e  25 29 3d 22 72 65 6d 5f  |1:hct$(n%)="rem_|
00001e10  63 68 65 63 6b 22 3a 68  63 74 25 28 6e 25 29 3d  |check":hct%(n%)=|
00001e20  63 6f 6e 66 5f 72 65 6d  73 74 25 0d 08 1a 4e c8  |conf_remst%...N.|
00001e30  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
00001e40  6c 61 74 65 22 2c 2c 51  25 2c 63 75 72 77 73 25  |late",,Q%,curws%|
00001e50  2c 6d 61 78 77 73 25 2c  66 68 61 6e 64 73 25 2c  |,maxws%,fhands%,|
00001e60  22 6e 65 77 5f 6d 65 6d  62 65 72 22 2c 30 20 b8  |"new_member",0 .|
00001e70  20 2c 2c 63 75 72 77 73  25 0d 08 22 28 c8 99 20  | ,,curws%.."(.. |
00001e80  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
00001e90  6f 77 22 2c 2c 51 25 20  b8 20 6e 65 77 6d 65 6d  |ow",,Q% . newmem|
00001ea0  25 0d 08 2a 30 6e 25 2b  3d 31 3a 68 63 74 24 28  |%..*0n%+=1:hct$(|
00001eb0  6e 25 29 3d 22 6e 65 77  5f 6d 65 6d 62 65 72 22  |n%)="new_member"|
00001ec0  3a 68 63 74 25 28 6e 25  29 3d 6e 65 77 6d 65 6d  |:hct%(n%)=newmem|
00001ed0  25 0d 08 32 4e c8 99 20  22 57 69 6d 70 5f 4c 6f  |%..2N.. "Wimp_Lo|
00001ee0  61 64 54 65 6d 70 6c 61  74 65 22 2c 2c 51 25 2c  |adTemplate",,Q%,|
00001ef0  63 75 72 77 73 25 2c 6d  61 78 77 73 25 2c 66 68  |curws%,maxws%,fh|
00001f00  61 6e 64 73 25 2c 22 70  6f 63 6b 65 74 5f 69 6d  |ands%,"pocket_im|
00001f10  70 22 2c 30 20 b8 20 2c  2c 63 75 72 77 73 25 0d  |p",0 . ,,curws%.|
00001f20  08 3a 28 c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |.:(.. "Wimp_Crea|
00001f30  74 65 57 69 6e 64 6f 77  22 2c 2c 51 25 20 b8 20  |teWindow",,Q% . |
00001f40  70 6f 63 6b 65 74 25 0d  08 42 30 6e 25 2b 3d 31  |pocket%..B0n%+=1|
00001f50  3a 68 63 74 24 28 6e 25  29 3d 22 70 6f 63 6b 65  |:hct$(n%)="pocke|
00001f60  74 5f 69 6d 70 22 3a 68  63 74 25 28 6e 25 29 3d  |t_imp":hct%(n%)=|
00001f70  70 6f 63 6b 65 74 25 0d  08 4a 4d c8 99 20 22 57  |pocket%..JM.. "W|
00001f80  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00001f90  22 2c 2c 51 25 2c 63 75  72 77 73 25 2c 6d 61 78  |",,Q%,curws%,max|
00001fa0  77 73 25 2c 66 68 61 6e  64 73 25 2c 22 73 61 76  |ws%,fhands%,"sav|
00001fb0  65 5f 62 6f 6f 6b 22 2c  30 20 b8 20 2c 2c 63 75  |e_book",0 . ,,cu|
00001fc0  72 77 73 25 0d 08 52 12  51 25 21 36 34 3d 73 70  |rws%..R.Q%!64=sp|
00001fd0  72 69 74 65 73 25 0d 08  5a 2b c8 99 20 22 57 69  |rites%..Z+.. "Wi|
00001fe0  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
00001ff0  2c 2c 51 25 20 b8 20 73  61 76 65 5f 62 6f 6f 6b  |,,Q% . save_book|
00002000  25 0d 08 62 32 6e 25 2b  3d 31 3a 68 63 74 24 28  |%..b2n%+=1:hct$(|
00002010  6e 25 29 3d 22 73 61 76  65 5f 62 6f 6f 6b 22 3a  |n%)="save_book":|
00002020  68 63 74 25 28 6e 25 29  3d 73 61 76 65 5f 62 6f  |hct%(n%)=save_bo|
00002030  6f 6b 25 0d 08 6a 4c c8  99 20 22 57 69 6d 70 5f  |ok%..jL.. "Wimp_|
00002040  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 51  |LoadTemplate",,Q|
00002050  25 2c 63 75 72 77 73 25  2c 6d 61 78 77 73 25 2c  |%,curws%,maxws%,|
00002060  66 68 61 6e 64 73 25 2c  22 6d 61 69 6e 5f 61 75  |fhands%,"main_au|
00002070  78 22 2c 30 20 b8 20 2c  2c 63 75 72 77 73 25 0d  |x",0 . ,,curws%.|
00002080  08 72 2a c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |.r*.. "Wimp_Crea|
00002090  74 65 57 69 6e 64 6f 77  22 2c 2c 51 25 20 b8 20  |teWindow",,Q% . |
000020a0  6d 61 69 6e 5f 61 75 78  25 0d 08 7a 30 6e 25 2b  |main_aux%..z0n%+|
000020b0  3d 31 3a 68 63 74 24 28  6e 25 29 3d 22 6d 61 69  |=1:hct$(n%)="mai|
000020c0  6e 5f 61 75 78 22 3a 68  63 74 25 28 6e 25 29 3d  |n_aux":hct%(n%)=|
000020d0  6d 61 69 6e 5f 61 75 78  25 0d 08 82 4c c8 99 20  |main_aux%...L.. |
000020e0  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
000020f0  74 65 22 2c 2c 51 25 2c  63 75 72 77 73 25 2c 6d  |te",,Q%,curws%,m|
00002100  61 78 77 73 25 2c 66 68  61 6e 64 73 25 2c 22 73  |axws%,fhands%,"s|
00002110  61 76 65 5f 6d 65 6d 22  2c 30 20 b8 20 2c 2c 63  |ave_mem",0 . ,,c|
00002120  75 72 77 73 25 0d 08 8a  12 51 25 21 36 34 3d 73  |urws%....Q%!64=s|
00002130  70 72 69 74 65 73 25 0d  08 92 2a c8 99 20 22 57  |prites%...*.. "W|
00002140  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
00002150  22 2c 2c 51 25 20 b8 20  73 61 76 65 5f 6d 65 6d  |",,Q% . save_mem|
00002160  25 0d 08 9a 30 6e 25 2b  3d 31 3a 68 63 74 24 28  |%...0n%+=1:hct$(|
00002170  6e 25 29 3d 22 73 61 76  65 5f 6d 65 6d 22 3a 68  |n%)="save_mem":h|
00002180  63 74 25 28 6e 25 29 3d  73 61 76 65 5f 6d 65 6d  |ct%(n%)=save_mem|
00002190  25 0d 08 a2 4d c8 99 20  22 57 69 6d 70 5f 4c 6f  |%...M.. "Wimp_Lo|
000021a0  61 64 54 65 6d 70 6c 61  74 65 22 2c 2c 51 25 2c  |adTemplate",,Q%,|
000021b0  63 75 72 77 73 25 2c 6d  61 78 77 73 25 2c 66 68  |curws%,maxws%,fh|
000021c0  61 6e 64 73 25 2c 22 73  61 76 65 5f 74 65 78 74  |ands%,"save_text|
000021d0  22 2c 30 20 b8 20 2c 2c  63 75 72 77 73 25 0d 08  |",0 . ,,curws%..|
000021e0  aa 2b c8 99 20 22 57 69  6d 70 5f 43 72 65 61 74  |.+.. "Wimp_Creat|
000021f0  65 57 69 6e 64 6f 77 22  2c 2c 51 25 20 b8 20 73  |eWindow",,Q% . s|
00002200  61 76 65 5f 74 65 78 74  25 0d 08 b2 32 6e 25 2b  |ave_text%...2n%+|
00002210  3d 31 3a 68 63 74 24 28  6e 25 29 3d 22 73 61 76  |=1:hct$(n%)="sav|
00002220  65 5f 74 65 78 74 22 3a  68 63 74 25 28 6e 25 29  |e_text":hct%(n%)|
00002230  3d 73 61 76 65 5f 74 65  78 74 25 0d 08 ba 4d c8  |=save_text%...M.|
00002240  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
00002250  6c 61 74 65 22 2c 2c 51  25 2c 63 75 72 77 73 25  |late",,Q%,curws%|
00002260  2c 6d 61 78 77 73 25 2c  66 68 61 6e 64 73 25 2c  |,maxws%,fhands%,|
00002270  22 73 61 76 65 5f 74 65  78 74 22 2c 30 20 b8 20  |"save_text",0 . |
00002280  2c 2c 63 75 72 77 73 25  0d 08 c2 2a c8 99 20 22  |,,curws%...*.. "|
00002290  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
000022a0  77 22 2c 2c 51 25 20 b8  20 73 61 76 65 5f 63 73  |w",,Q% . save_cs|
000022b0  76 25 0d 08 ca 24 f2 70  75 74 74 65 78 74 28 73  |v%...$.puttext(s|
000022c0  61 76 65 5f 63 73 76 25  2c 30 2c 22 66 69 6c 65  |ave_csv%,0,"file|
000022d0  5f 64 66 65 22 29 0d 08  d2 23 f2 70 75 74 74 65  |_dfe")...#.putte|
000022e0  78 74 28 73 61 76 65 5f  63 73 76 25 2c 31 2c 22  |xt(save_csv%,1,"|
000022f0  43 53 56 46 69 6c 65 22  29 0d 08 da 30 6e 25 2b  |CSVFile")...0n%+|
00002300  3d 31 3a 68 63 74 24 28  6e 25 29 3d 22 73 61 76  |=1:hct$(n%)="sav|
00002310  65 5f 63 73 76 22 3a 68  63 74 25 28 6e 25 29 3d  |e_csv":hct%(n%)=|
00002320  73 61 76 65 5f 63 73 76  25 0d 08 e2 4b c8 99 20  |save_csv%...K.. |
00002330  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
00002340  74 65 22 2c 2c 51 25 2c  63 75 72 77 73 25 2c 6d  |te",,Q%,curws%,m|
00002350  61 78 77 73 25 2c 66 68  61 6e 64 73 25 2c 22 64  |axws%,fhands%,"d|
00002360  69 73 70 6c 61 79 22 2c  30 20 b8 20 2c 2c 63 75  |isplay",0 . ,,cu|
00002370  72 77 73 25 0d 08 ea 29  c8 99 20 22 57 69 6d 70  |rws%...).. "Wimp|
00002380  5f 43 72 65 61 74 65 57  69 6e 64 6f 77 22 2c 2c  |_CreateWindow",,|
00002390  51 25 20 b8 20 64 69 73  70 6c 61 79 25 0d 08 f2  |Q% . display%...|
000023a0  2e 6e 25 2b 3d 31 3a 68  63 74 24 28 6e 25 29 3d  |.n%+=1:hct$(n%)=|
000023b0  22 64 69 73 70 6c 61 79  22 3a 68 63 74 25 28 6e  |"display":hct%(n|
000023c0  25 29 3d 64 69 73 70 6c  61 79 25 0d 08 fa 4c c8  |%)=display%...L.|
000023d0  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
000023e0  6c 61 74 65 22 2c 2c 51  25 2c 63 75 72 77 73 25  |late",,Q%,curws%|
000023f0  2c 6d 61 78 77 73 25 2c  66 68 61 6e 64 73 25 2c  |,maxws%,fhands%,|
00002400  22 6e 65 77 73 5f 69 6d  70 22 2c 30 20 b8 20 2c  |"news_imp",0 . ,|
00002410  2c 63 75 72 77 73 25 0d  09 02 2a c8 99 20 22 57  |,curws%...*.. "W|
00002420  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
00002430  22 2c 2c 51 25 20 b8 20  6e 65 77 73 5f 69 6d 70  |",,Q% . news_imp|
00002440  25 0d 09 0a 30 6e 25 2b  3d 31 3a 68 63 74 24 28  |%...0n%+=1:hct$(|
00002450  6e 25 29 3d 22 6e 65 77  73 5f 69 6d 70 22 3a 68  |n%)="news_imp":h|
00002460  63 74 25 28 6e 25 29 3d  6e 65 77 73 5f 69 6d 70  |ct%(n%)=news_imp|
00002470  25 0d 09 12 4c c8 99 20  22 57 69 6d 70 5f 4c 6f  |%...L.. "Wimp_Lo|
00002480  61 64 54 65 6d 70 6c 61  74 65 22 2c 2c 51 25 2c  |adTemplate",,Q%,|
00002490  63 75 72 77 73 25 2c 6d  61 78 77 73 25 2c 66 68  |curws%,maxws%,fh|
000024a0  61 6e 64 73 25 2c 22 76  69 65 77 5f 6d 65 6d 22  |ands%,"view_mem"|
000024b0  2c 30 20 b8 20 2c 2c 63  75 72 77 73 25 0d 09 1a  |,0 . ,,curws%...|
000024c0  29 c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |).. "Wimp_Create|
000024d0  57 69 6e 64 6f 77 22 2c  2c 51 25 20 b8 20 76 69  |Window",,Q% . vi|
000024e0  65 77 6d 65 6d 25 0d 09  22 2f 6e 25 2b 3d 31 3a  |ewmem%.."/n%+=1:|
000024f0  68 63 74 24 28 6e 25 29  3d 22 76 69 65 77 5f 6d  |hct$(n%)="view_m|
00002500  65 6d 22 3a 68 63 74 25  28 6e 25 29 3d 76 69 65  |em":hct%(n%)=vie|
00002510  77 6d 65 6d 25 0d 09 2a  4b c8 99 20 22 57 69 6d  |wmem%..*K.. "Wim|
00002520  70 5f 4c 6f 61 64 54 65  6d 70 6c 61 74 65 22 2c  |p_LoadTemplate",|
00002530  2c 51 25 2c 63 75 72 77  73 25 2c 6d 61 78 77 73  |,Q%,curws%,maxws|
00002540  25 2c 66 68 61 6e 64 73  25 2c 22 72 65 6d 5f 6d  |%,fhands%,"rem_m|
00002550  65 6d 22 2c 30 20 b8 20  2c 2c 63 75 72 77 73 25  |em",0 . ,,curws%|
00002560  0d 09 32 28 c8 99 20 22  57 69 6d 70 5f 43 72 65  |..2(.. "Wimp_Cre|
00002570  61 74 65 57 69 6e 64 6f  77 22 2c 2c 51 25 20 b8  |ateWindow",,Q% .|
00002580  20 72 65 6d 6d 65 6d 25  0d 09 3a 2d 6e 25 2b 3d  | remmem%..:-n%+=|
00002590  31 3a 68 63 74 24 28 6e  25 29 3d 22 72 65 6d 5f  |1:hct$(n%)="rem_|
000025a0  6d 65 6d 22 3a 68 63 74  25 28 6e 25 29 3d 72 65  |mem":hct%(n%)=re|
000025b0  6d 6d 65 6d 25 0d 09 42  4a c8 99 20 22 57 69 6d  |mmem%..BJ.. "Wim|
000025c0  70 5f 4c 6f 61 64 54 65  6d 70 6c 61 74 65 22 2c  |p_LoadTemplate",|
000025d0  2c 51 25 2c 63 75 72 77  73 25 2c 6d 61 78 77 73  |,Q%,curws%,maxws|
000025e0  25 2c 66 68 61 6e 64 73  25 2c 22 63 68 5f 6d 65  |%,fhands%,"ch_me|
000025f0  6d 22 2c 30 20 b8 20 2c  2c 63 75 72 77 73 25 0d  |m",0 . ,,curws%.|
00002600  09 4a 2b c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |.J+.. "Wimp_Crea|
00002610  74 65 57 69 6e 64 6f 77  22 2c 2c 51 25 20 b8 20  |teWindow",,Q% . |
00002620  63 68 61 6e 67 65 6d 65  6d 25 0d 09 52 2f 6e 25  |changemem%..R/n%|
00002630  2b 3d 31 3a 68 63 74 24  28 6e 25 29 3d 22 63 68  |+=1:hct$(n%)="ch|
00002640  5f 6d 65 6d 22 3a 68 63  74 25 28 6e 25 29 3d 63  |_mem":hct%(n%)=c|
00002650  68 61 6e 67 65 6d 65 6d  25 0d 09 5a 4c c8 99 20  |hangemem%..ZL.. |
00002660  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
00002670  74 65 22 2c 2c 51 25 2c  63 75 72 77 73 25 2c 6d  |te",,Q%,curws%,m|
00002680  61 78 77 73 25 2c 66 68  61 6e 64 73 25 2c 22 76  |axws%,fhands%,"v|
00002690  6d 5f 71 75 65 72 79 22  2c 30 20 b8 20 2c 2c 63  |m_query",0 . ,,c|
000026a0  75 72 77 73 25 0d 09 62  25 c8 99 20 22 57 69 6d  |urws%..b%.. "Wim|
000026b0  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
000026c0  2c 51 25 20 b8 20 76 6d  71 25 0d 09 6a 2b 6e 25  |,Q% . vmq%..j+n%|
000026d0  2b 3d 31 3a 68 63 74 24  28 6e 25 29 3d 22 76 6d  |+=1:hct$(n%)="vm|
000026e0  5f 71 75 65 72 79 22 3a  68 63 74 25 28 6e 25 29  |_query":hct%(n%)|
000026f0  3d 76 6d 71 25 0d 09 72  4b c8 99 20 22 57 69 6d  |=vmq%..rK.. "Wim|
00002700  70 5f 4c 6f 61 64 54 65  6d 70 6c 61 74 65 22 2c  |p_LoadTemplate",|
00002710  2c 51 25 2c 63 75 72 77  73 25 2c 6d 61 78 77 73  |,Q%,curws%,maxws|
00002720  25 2c 66 68 61 6e 64 73  25 2c 22 6f 76 65 72 64  |%,fhands%,"overd|
00002730  75 65 22 2c 30 20 b8 20  2c 2c 63 75 72 77 73 25  |ue",0 . ,,curws%|
00002740  0d 09 7a 29 c8 99 20 22  57 69 6d 70 5f 43 72 65  |..z).. "Wimp_Cre|
00002750  61 74 65 57 69 6e 64 6f  77 22 2c 2c 51 25 20 b8  |ateWindow",,Q% .|
00002760  20 6f 76 65 72 64 75 65  25 0d 09 82 2e 6e 25 2b  | overdue%....n%+|
00002770  3d 31 3a 68 63 74 24 28  6e 25 29 3d 22 6f 76 65  |=1:hct$(n%)="ove|
00002780  72 64 75 65 22 3a 68 63  74 25 28 6e 25 29 3d 6f  |rdue":hct%(n%)=o|
00002790  76 65 72 64 75 65 25 0d  09 8a 49 c8 99 20 22 57  |verdue%...I.. "W|
000027a0  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
000027b0  22 2c 2c 51 25 2c 63 75  72 77 73 25 2c 6d 61 78  |",,Q%,curws%,max|
000027c0  77 73 25 2c 66 68 61 6e  64 73 25 2c 22 72 65 6e  |ws%,fhands%,"ren|
000027d0  65 77 22 2c 30 20 b8 20  2c 2c 63 75 72 77 73 25  |ew",0 . ,,curws%|
000027e0  0d 09 92 27 c8 99 20 22  57 69 6d 70 5f 43 72 65  |...'.. "Wimp_Cre|
000027f0  61 74 65 57 69 6e 64 6f  77 22 2c 2c 51 25 20 b8  |ateWindow",,Q% .|
00002800  20 72 65 6e 65 77 25 0d  09 9a 2a 6e 25 2b 3d 31  | renew%...*n%+=1|
00002810  3a 68 63 74 24 28 6e 25  29 3d 22 72 65 6e 65 77  |:hct$(n%)="renew|
00002820  22 3a 68 63 74 25 28 6e  25 29 3d 72 65 6e 65 77  |":hct%(n%)=renew|
00002830  25 0d 09 a2 4c c8 99 20  22 57 69 6d 70 5f 4c 6f  |%...L.. "Wimp_Lo|
00002840  61 64 54 65 6d 70 6c 61  74 65 22 2c 2c 51 25 2c  |adTemplate",,Q%,|
00002850  63 75 72 77 73 25 2c 6d  61 78 77 73 25 2c 66 68  |curws%,maxws%,fh|
00002860  61 6e 64 73 25 2c 22 63  68 5f 73 74 6f 63 6b 22  |ands%,"ch_stock"|
00002870  2c 30 20 b8 20 2c 2c 63  75 72 77 73 25 0d 09 aa  |,0 . ,,curws%...|
00002880  2e c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |... "Wimp_Create|
00002890  57 69 6e 64 6f 77 22 2c  2c 51 25 20 b8 20 63 68  |Window",,Q% . ch|
000028a0  61 6e 67 65 5f 73 74 6f  63 6b 25 0d 09 b2 34 6e  |ange_stock%...4n|
000028b0  25 2b 3d 31 3a 68 63 74  24 28 6e 25 29 3d 22 63  |%+=1:hct$(n%)="c|
000028c0  68 5f 73 74 6f 63 6b 22  3a 68 63 74 25 28 6e 25  |h_stock":hct%(n%|
000028d0  29 3d 63 68 61 6e 67 65  5f 73 74 6f 63 6b 25 0d  |)=change_stock%.|
000028e0  09 ba 4e c8 99 20 22 57  69 6d 70 5f 4c 6f 61 64  |..N.. "Wimp_Load|
000028f0  54 65 6d 70 6c 61 74 65  22 2c 2c 51 25 2c 63 75  |Template",,Q%,cu|
00002900  72 77 73 25 2c 6d 61 78  77 73 25 2c 66 68 61 6e  |rws%,maxws%,fhan|
00002910  64 73 25 2c 22 76 69 65  77 5f 73 74 6f 63 6b 22  |ds%,"view_stock"|
00002920  2c 30 20 b8 20 2c 2c 63  75 72 77 73 25 0d 09 c2  |,0 . ,,curws%...|
00002930  2c c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |,.. "Wimp_Create|
00002940  57 69 6e 64 6f 77 22 2c  2c 51 25 20 b8 20 76 69  |Window",,Q% . vi|
00002950  65 77 5f 73 74 6f 63 6b  25 0d 09 ca 34 6e 25 2b  |ew_stock%...4n%+|
00002960  3d 31 3a 68 63 74 24 28  6e 25 29 3d 22 76 69 65  |=1:hct$(n%)="vie|
00002970  77 5f 73 74 6f 63 6b 22  3a 68 63 74 25 28 6e 25  |w_stock":hct%(n%|
00002980  29 3d 76 69 65 77 5f 73  74 6f 63 6b 25 0d 09 d2  |)=view_stock%...|
00002990  4d c8 99 20 22 57 69 6d  70 5f 4c 6f 61 64 54 65  |M.. "Wimp_LoadTe|
000029a0  6d 70 6c 61 74 65 22 2c  2c 51 25 2c 63 75 72 77  |mplate",,Q%,curw|
000029b0  73 25 2c 6d 61 78 77 73  25 2c 66 68 61 6e 64 73  |s%,maxws%,fhands|
000029c0  25 2c 22 6f 70 74 5f 66  69 6e 65 73 22 2c 30 20  |%,"opt_fines",0 |
000029d0  b8 20 2c 2c 63 75 72 77  73 25 0d 09 da 2b c8 99  |. ,,curws%...+..|
000029e0  20 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  | "Wimp_CreateWin|
000029f0  64 6f 77 22 2c 2c 51 25  20 b8 20 6f 70 74 5f 66  |dow",,Q% . opt_f|
00002a00  69 6e 65 73 25 0d 09 e2  32 6e 25 2b 3d 31 3a 68  |ines%...2n%+=1:h|
00002a10  63 74 24 28 6e 25 29 3d  22 6f 70 74 5f 66 69 6e  |ct$(n%)="opt_fin|
00002a20  65 73 22 3a 68 63 74 25  28 6e 25 29 3d 6f 70 74  |es":hct%(n%)=opt|
00002a30  5f 66 69 6e 65 73 25 0d  09 ea 4c c8 99 20 22 57  |_fines%...L.. "W|
00002a40  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00002a50  22 2c 2c 51 25 2c 63 75  72 77 73 25 2c 6d 61 78  |",,Q%,curws%,max|
00002a60  77 73 25 2c 66 68 61 6e  64 73 25 2c 22 6d 65 6d  |ws%,fhands%,"mem|
00002a70  5f 6f 6e 6c 79 22 2c 30  20 b8 20 2c 2c 63 75 72  |_only",0 . ,,cur|
00002a80  77 73 25 0d 09 f2 2a c8  99 20 22 57 69 6d 70 5f  |ws%...*.. "Wimp_|
00002a90  43 72 65 61 74 65 57 69  6e 64 6f 77 22 2c 2c 51  |CreateWindow",,Q|
00002aa0  25 20 b8 20 6d 65 6d 5f  6f 6e 6c 79 25 0d 09 fa  |% . mem_only%...|
00002ab0  30 6e 25 2b 3d 31 3a 68  63 74 24 28 6e 25 29 3d  |0n%+=1:hct$(n%)=|
00002ac0  22 6d 65 6d 5f 6f 6e 6c  79 22 3a 68 63 74 25 28  |"mem_only":hct%(|
00002ad0  6e 25 29 3d 6d 65 6d 5f  6f 6e 6c 79 25 0d 0a 02  |n%)=mem_only%...|
00002ae0  49 c8 99 20 22 57 69 6d  70 5f 4c 6f 61 64 54 65  |I.. "Wimp_LoadTe|
00002af0  6d 70 6c 61 74 65 22 2c  2c 51 25 2c 63 75 72 77  |mplate",,Q%,curw|
00002b00  73 25 2c 6d 61 78 77 73  25 2c 66 68 61 6e 64 73  |s%,maxws%,fhands|
00002b10  25 2c 22 70 72 69 6e 74  22 2c 30 20 b8 20 2c 2c  |%,"print",0 . ,,|
00002b20  63 75 72 77 73 25 0d 0a  0a 27 c8 99 20 22 57 69  |curws%...'.. "Wi|
00002b30  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
00002b40  2c 2c 51 25 20 b8 20 70  72 69 6e 74 25 0d 0a 12  |,,Q% . print%...|
00002b50  2a 6e 25 2b 3d 31 3a 68  63 74 24 28 6e 25 29 3d  |*n%+=1:hct$(n%)=|
00002b60  22 70 72 69 6e 74 22 3a  68 63 74 25 28 6e 25 29  |"print":hct%(n%)|
00002b70  3d 70 72 69 6e 74 25 0d  0a 1a 4e c8 99 20 22 57  |=print%...N.. "W|
00002b80  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00002b90  22 2c 2c 51 25 2c 63 75  72 77 73 25 2c 6d 61 78  |",,Q%,curws%,max|
00002ba0  77 73 25 2c 66 68 61 6e  64 73 25 2c 22 6f 76 65  |ws%,fhands%,"ove|
00002bb0  72 64 75 65 5f 70 72 22  2c 30 20 b8 20 2c 2c 63  |rdue_pr",0 . ,,c|
00002bc0  75 72 77 73 25 0d 0a 22  12 51 25 21 36 34 3d 73  |urws%..".Q%!64=s|
00002bd0  70 72 69 74 65 73 25 0d  0a 2a 2c c8 99 20 22 57  |prites%..*,.. "W|
00002be0  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
00002bf0  22 2c 2c 51 25 20 b8 20  6f 76 65 72 64 75 65 5f  |",,Q% . overdue_|
00002c00  70 72 25 0d 0a 32 34 6e  25 2b 3d 31 3a 68 63 74  |pr%..24n%+=1:hct|
00002c10  24 28 6e 25 29 3d 22 6f  76 65 72 64 75 65 5f 70  |$(n%)="overdue_p|
00002c20  72 22 3a 68 63 74 25 28  6e 25 29 3d 6f 76 65 72  |r":hct%(n%)=over|
00002c30  64 75 65 5f 70 72 25 0d  0a 3a 4a c8 99 20 22 57  |due_pr%..:J.. "W|
00002c40  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00002c50  22 2c 2c 51 25 2c 63 75  72 77 73 25 2c 6d 61 78  |",,Q%,curws%,max|
00002c60  77 73 25 2c 66 68 61 6e  64 73 25 2c 22 61 6c 6c  |ws%,fhands%,"all|
00002c70  5f 70 72 22 2c 30 20 b8  20 2c 2c 63 75 72 77 73  |_pr",0 . ,,curws|
00002c80  25 0d 0a 42 28 c8 99 20  22 57 69 6d 70 5f 43 72  |%..B(.. "Wimp_Cr|
00002c90  65 61 74 65 57 69 6e 64  6f 77 22 2c 2c 51 25 20  |eateWindow",,Q% |
00002ca0  b8 20 61 6c 6c 5f 70 72  25 0d 0a 4a 2c 6e 25 2b  |. all_pr%..J,n%+|
00002cb0  3d 31 3a 68 63 74 24 28  6e 25 29 3d 22 61 6c 6c  |=1:hct$(n%)="all|
00002cc0  5f 70 72 22 3a 68 63 74  25 28 6e 25 29 3d 61 6c  |_pr":hct%(n%)=al|
00002cd0  6c 5f 70 72 25 0d 0a 52  4e c8 99 20 22 57 69 6d  |l_pr%..RN.. "Wim|
00002ce0  70 5f 4c 6f 61 64 54 65  6d 70 6c 61 74 65 22 2c  |p_LoadTemplate",|
00002cf0  2c 51 25 2c 63 75 72 77  73 25 2c 6d 61 78 77 73  |,Q%,curws%,maxws|
00002d00  25 2c 66 68 61 6e 64 73  25 2c 22 64 69 72 5f 65  |%,fhands%,"dir_e|
00002d10  78 69 73 74 73 22 2c 30  20 b8 20 2c 2c 63 75 72  |xists",0 . ,,cur|
00002d20  77 73 25 0d 0a 5a 2c c8  99 20 22 57 69 6d 70 5f  |ws%..Z,.. "Wimp_|
00002d30  43 72 65 61 74 65 57 69  6e 64 6f 77 22 2c 2c 51  |CreateWindow",,Q|
00002d40  25 20 b8 20 64 69 72 5f  65 78 69 73 74 73 25 0d  |% . dir_exists%.|
00002d50  0a 62 34 6e 25 2b 3d 31  3a 68 63 74 24 28 6e 25  |.b4n%+=1:hct$(n%|
00002d60  29 3d 22 64 69 72 5f 65  78 69 73 74 73 22 3a 68  |)="dir_exists":h|
00002d70  63 74 25 28 6e 25 29 3d  64 69 72 5f 65 78 69 73  |ct%(n%)=dir_exis|
00002d80  74 73 25 0d 0a 6a 4e c8  99 20 22 57 69 6d 70 5f  |ts%..jN.. "Wimp_|
00002d90  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 51  |LoadTemplate",,Q|
00002da0  25 2c 63 75 72 77 73 25  2c 6d 61 78 77 73 25 2c  |%,curws%,maxws%,|
00002db0  66 68 61 6e 64 73 25 2c  22 70 6f 63 6b 65 74 5f  |fhands%,"pocket_|
00002dc0  6d 65 6d 22 2c 30 20 b8  20 2c 2c 63 75 72 77 73  |mem",0 . ,,curws|
00002dd0  25 0d 0a 72 2a c8 99 20  22 57 69 6d 70 5f 43 72  |%..r*.. "Wimp_Cr|
00002de0  65 61 74 65 57 69 6e 64  6f 77 22 2c 2c 51 25 20  |eateWindow",,Q% |
00002df0  b8 20 70 6f 63 6b 5f 6d  65 6d 25 0d 0a 7a 32 6e  |. pock_mem%..z2n|
00002e00  25 2b 3d 31 3a 68 63 74  24 28 6e 25 29 3d 22 70  |%+=1:hct$(n%)="p|
00002e10  6f 63 6b 65 74 5f 6d 65  6d 22 3a 68 63 74 25 28  |ocket_mem":hct%(|
00002e20  6e 25 29 3d 70 6f 63 6b  5f 6d 65 6d 25 0d 0a 82  |n%)=pock_mem%...|
00002e30  4e c8 99 20 22 57 69 6d  70 5f 4c 6f 61 64 54 65  |N.. "Wimp_LoadTe|
00002e40  6d 70 6c 61 74 65 22 2c  2c 51 25 2c 63 75 72 77  |mplate",,Q%,curw|
00002e50  73 25 2c 6d 61 78 77 73  25 2c 66 68 61 6e 64 73  |s%,maxws%,fhands|
00002e60  25 2c 22 65 78 70 6f 72  74 5f 63 73 76 22 2c 30  |%,"export_csv",0|
00002e70  20 b8 20 2c 2c 63 75 72  77 73 25 0d 0a 8a 2c c8  | . ,,curws%...,.|
00002e80  99 20 22 57 69 6d 70 5f  43 72 65 61 74 65 57 69  |. "Wimp_CreateWi|
00002e90  6e 64 6f 77 22 2c 2c 51  25 20 b8 20 65 78 70 6f  |ndow",,Q% . expo|
00002ea0  72 74 5f 63 73 76 25 0d  0a 92 34 6e 25 2b 3d 31  |rt_csv%...4n%+=1|
00002eb0  3a 68 63 74 24 28 6e 25  29 3d 22 65 78 70 6f 72  |:hct$(n%)="expor|
00002ec0  74 5f 63 73 76 22 3a 68  63 74 25 28 6e 25 29 3d  |t_csv":hct%(n%)=|
00002ed0  65 78 70 6f 72 74 5f 63  73 76 25 0d 0a 9a 4f c8  |export_csv%...O.|
00002ee0  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
00002ef0  6c 61 74 65 22 2c 2c 51  25 2c 63 75 72 77 73 25  |late",,Q%,curws%|
00002f00  2c 6d 61 78 77 73 25 2c  66 68 61 6e 64 73 25 2c  |,maxws%,fhands%,|
00002f10  22 65 78 70 6f 72 74 5f  74 65 78 74 22 2c 30 20  |"export_text",0 |
00002f20  b8 20 2c 2c 63 75 72 77  73 25 0d 0a a2 2d c8 99  |. ,,curws%...-..|
00002f30  20 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  | "Wimp_CreateWin|
00002f40  64 6f 77 22 2c 2c 51 25  20 b8 20 65 78 70 6f 72  |dow",,Q% . expor|
00002f50  74 5f 74 65 78 74 25 0d  0a aa 36 6e 25 2b 3d 31  |t_text%...6n%+=1|
00002f60  3a 68 63 74 24 28 6e 25  29 3d 22 65 78 70 6f 72  |:hct$(n%)="expor|
00002f70  74 5f 74 65 78 74 22 3a  68 63 74 25 28 6e 25 29  |t_text":hct%(n%)|
00002f80  3d 65 78 70 6f 72 74 5f  74 65 78 74 25 0d 0a b2  |=export_text%...|
00002f90  1b c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 54  |... "Wimp_CloseT|
00002fa0  65 6d 70 6c 61 74 65 22  0d 0a ba 05 e1 0d 0a c2  |emplate"........|
00002fb0  04 0d 0a ca 0f dd a4 5f  4c 65 61 66 28 66 24 29  |......._Leaf(f$)|
00002fc0  0d 0a d2 11 c8 8e 20 a7  66 24 2c 22 2e 22 29 20  |...... .f$,".") |
00002fd0  ca 0d 0a da 0e 20 20 c9  20 30 3a 20 3d 66 24 0d  |.....  . 0: =f$.|
00002fe0  0a e2 25 20 20 7f 3a 20  3d a4 5f 4c 65 61 66 28  |..%  .: =._Leaf(|
00002ff0  c2 66 24 2c a9 28 66 24  29 2d a7 66 24 2c 22 2e  |.f$,.(f$)-.f$,".|
00003000  22 29 29 29 0d 0a ea 05  cb 0d 0a f2 04 0d 0a fa  |")))............|
00003010  0c dd f2 73 65 61 72 63  68 0d 0b 02 0e 63 68 6f  |...search....cho|
00003020  73 65 6e 25 3d 2d 31 0d  0b 0a 12 e3 20 63 25 3d  |sen%=-1..... c%=|
00003030  30 20 b8 20 38 20 88 20  32 0d 0b 12 2e e7 20 a4  |0 . 8 . 2..... .|
00003040  49 63 6f 6e 47 65 74 28  73 65 61 72 63 68 25 2c  |IconGet(search%,|
00003050  63 25 29 20 8c 20 63 68  6f 73 65 6e 25 3d 63 25  |c%) . chosen%=c%|
00003060  20 8b 20 ed 20 63 25 0d  0b 1a 34 e7 20 63 68 6f  | . . c%...4. cho|
00003070  73 65 6e 25 3d 2d 31 20  8c 20 f2 64 69 73 5f 6d  |sen%=-1 . .dis_m|
00003080  65 73 73 61 67 65 28 22  4e 6f 20 76 61 6c 69 64  |essage("No valid|
00003090  20 63 68 6f 69 63 65 22  29 3a e1 0d 0b 22 10 c8  | choice"):..."..|
000030a0  8e 20 63 68 6f 73 65 6e  25 20 ca 0d 0b 2a 18 20  |. chosen% ...*. |
000030b0  20 c9 20 30 3a 20 f2 73  65 61 72 63 68 5f 74 69  | . 0: .search_ti|
000030c0  74 6c 65 0d 0b 32 19 20  20 c9 20 32 3a 20 f2 73  |tle..2.  . 2: .s|
000030d0  65 61 72 63 68 5f 61 75  74 68 6f 72 0d 0b 3a 18  |earch_author..:.|
000030e0  20 20 c9 20 34 3a 20 f2  73 65 61 72 63 68 5f 63  |  . 4: .search_c|
000030f0  6c 61 73 73 0d 0b 42 17  20 20 c9 20 36 3a 20 f2  |lass..B.  . 6: .|
00003100  73 65 61 72 63 68 5f 61  63 63 6e 0d 0b 4a 16 20  |search_accn..J. |
00003110  20 c9 20 38 3a 20 f2 73  65 61 72 63 68 5f 6b 65  | . 8: .search_ke|
00003120  79 0d 0b 52 05 cb 0d 0b  5a 1a f2 63 6c 65 61 72  |y..R....Z..clear|
00003130  74 65 78 74 28 73 65 61  72 63 68 25 2c 31 31 29  |text(search%,11)|
00003140  0d 0b 62 0f 21 71 25 3d  73 65 61 72 63 68 25 0d  |..b.!q%=search%.|
00003150  0b 6a 1d c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |.j... "Wimp_Clos|
00003160  65 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 0b 72 05  |eWindow",,q%..r.|
00003170  e1 0d 0b 7a 04 0d 0b 82  0c dd f2 6c 6f 67 5f 6f  |...z.......log_o|
00003180  6e 0d 0b 8a 0e 21 71 25  3d 6c 6f 67 6f 6e 25 0d  |n....!q%=logon%.|
00003190  0b 92 1d c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |..... "Wimp_Clos|
000031a0  65 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 0b 9a 21  |eWindow",,q%...!|
000031b0  73 24 3d a4 55 70 70 65  72 28 a4 67 65 74 74 65  |s$=.Upper(.gette|
000031c0  78 74 28 6c 6f 67 6f 6e  25 2c 31 29 29 0d 0b a2  |xt(logon%,1))...|
000031d0  0c 6d 61 74 63 68 25 3d  a3 0d 0b aa 13 e3 20 63  |.match%=...... c|
000031e0  25 3d 31 20 b8 20 75 73  65 72 73 25 0d 0b b2 27  |%=1 . users%...'|
000031f0  e7 20 73 24 3d 70 61 73  73 24 28 63 25 2c 31 29  |. s$=pass$(c%,1)|
00003200  20 8c 20 6d 61 74 63 68  25 3d 63 25 20 8b 20 ed  | . match%=c% . .|
00003210  20 63 25 0d 0b ba 5d e7  20 6d 61 74 63 68 25 3c  | c%...]. match%<|
00003220  3e a3 20 8c 20 f2 63 6c  65 61 72 74 65 78 74 28  |>. . .cleartext(|
00003230  6c 6f 67 6f 6e 25 2c 31  29 20 8b 20 f2 64 69 73  |logon%,1) . .dis|
00003240  5f 6d 65 73 73 61 67 65  28 22 41 63 63 65 73 73  |_message("Access|
00003250  20 44 65 6e 69 65 64 22  29 3a f2 63 6c 65 61 72  | Denied"):.clear|
00003260  74 65 78 74 28 6c 6f 67  6f 6e 25 2c 31 29 3a e1  |text(logon%,1):.|
00003270  0d 0b c2 15 6c 6f 67 67  65 64 5f 6f 6e 25 3d 6d  |....logged_on%=m|
00003280  61 74 63 68 25 0d 0b ca  3d 6d 65 6e 61 64 25 28  |atch%...=menad%(|
00003290  31 29 21 28 32 38 2b 28  34 2a 32 34 29 2b 38 29  |1)!(28+(4*24)+8)|
000032a0  3d 6d 65 6e 61 64 25 28  31 29 21 28 32 38 2b 28  |=menad%(1)!(28+(|
000032b0  34 2a 32 34 29 2b 38 29  20 82 20 28 31 3c 3c 32  |4*24)+8) . (1<<2|
000032c0  32 29 0d 0b d2 3d 6d 65  6e 61 64 25 28 31 29 21  |2)...=menad%(1)!|
000032d0  28 32 38 2b 28 35 2a 32  34 29 2b 38 29 3d 6d 65  |(28+(5*24)+8)=me|
000032e0  6e 61 64 25 28 31 29 21  28 32 38 2b 28 35 2a 32  |nad%(1)!(28+(5*2|
000032f0  34 29 2b 38 29 20 82 20  28 31 3c 3c 32 32 29 0d  |4)+8) . (1<<22).|
00003300  0b da 3d 6d 65 6e 61 64  25 28 31 29 21 28 32 38  |..=menad%(1)!(28|
00003310  2b 28 33 2a 32 34 29 2b  38 29 3d 6d 65 6e 61 64  |+(3*24)+8)=menad|
00003320  25 28 31 29 21 28 32 38  2b 28 33 2a 32 34 29 2b  |%(1)!(28+(3*24)+|
00003330  38 29 20 82 20 28 31 3c  3c 32 32 29 0d 0b e2 0f  |8) . (1<<22)....|
00003340  e3 20 63 25 3d 30 20 b8  20 31 33 0d 0b ea 25 e7  |. c%=0 . 13...%.|
00003350  20 28 70 6e 25 28 6c 6f  67 67 65 64 5f 6f 6e 25  | (pn%(logged_on%|
00003360  29 20 80 20 28 31 3c 3c  63 25 29 29 3d 30 20 8c  |) . (1<<c%))=0 .|
00003370  0d 0b f2 67 20 20 6d 65  6e 61 64 25 28 67 72 65  |...g  menad%(gre|
00003380  79 25 28 63 25 2c 30 29  29 21 28 32 38 2b 28 67  |y%(c%,0))!(28+(g|
00003390  72 65 79 25 28 63 25 2c  31 29 2a 32 34 29 2b 38  |rey%(c%,1)*24)+8|
000033a0  29 3d 6d 65 6e 61 64 25  28 67 72 65 79 25 28 63  |)=menad%(grey%(c|
000033b0  25 2c 30 29 29 21 28 32  38 2b 28 67 72 65 79 25  |%,0))!(28+(grey%|
000033c0  28 63 25 2c 31 29 2a 32  34 29 2b 38 29 20 84 20  |(c%,1)*24)+8) . |
000033d0  28 31 3c 3c 32 32 29 0d  0b fa 0e 20 20 e7 20 63  |(1<<22)....  . c|
000033e0  25 3d 31 20 8c 0d 0c 02  71 20 20 20 20 6d 65 6e  |%=1 ....q    men|
000033f0  61 64 25 28 67 72 65 79  25 28 63 25 2c 30 29 29  |ad%(grey%(c%,0))|
00003400  21 28 32 38 2b 28 28 67  72 65 79 25 28 63 25 2c  |!(28+((grey%(c%,|
00003410  31 29 2b 31 29 2a 32 34  29 2b 38 29 3d 6d 65 6e  |1)+1)*24)+8)=men|
00003420  61 64 25 28 67 72 65 79  25 28 63 25 2c 30 29 29  |ad%(grey%(c%,0))|
00003430  21 28 32 38 2b 28 28 67  72 65 79 25 28 63 25 2c  |!(28+((grey%(c%,|
00003440  31 29 2b 31 29 2a 32 34  29 2b 38 29 20 84 20 28  |1)+1)*24)+8) . (|
00003450  31 3c 3c 32 32 29 0d 0c  0a 07 20 20 cd 0d 0c 12  |1<<22)....  ....|
00003460  49 20 20 e7 20 63 25 3d  31 33 20 8c 20 6d 65 6e  |I  . c%=13 . men|
00003470  61 64 25 28 34 29 21 28  32 38 2b 28 34 2a 32 34  |ad%(4)!(28+(4*24|
00003480  29 2b 38 29 3d 6d 65 6e  61 64 25 28 34 29 21 28  |)+8)=menad%(4)!(|
00003490  32 38 2b 28 34 2a 32 34  29 2b 38 29 20 84 20 28  |28+(4*24)+8) . (|
000034a0  31 3c 3c 32 32 29 0d 0c  1a 05 cc 0d 0c 22 4a 20  |1<<22)......."J |
000034b0  20 e7 20 28 28 6d 65 6e  61 64 25 28 67 72 65 79  | . ((menad%(grey|
000034c0  25 28 63 25 2c 30 29 29  21 28 32 38 2b 28 67 72  |%(c%,0))!(28+(gr|
000034d0  65 79 25 28 63 25 2c 31  29 2a 32 34 29 2b 38 29  |ey%(c%,1)*24)+8)|
000034e0  20 80 20 28 31 3c 3c 32  32 29 29 3e 3e 3e 32 32  | . (1<<22))>>>22|
000034f0  29 3d 31 20 8c 0d 0c 2a  69 20 20 20 20 6d 65 6e  |)=1 ...*i    men|
00003500  61 64 25 28 67 72 65 79  25 28 63 25 2c 30 29 29  |ad%(grey%(c%,0))|
00003510  21 28 32 38 2b 28 67 72  65 79 25 28 63 25 2c 31  |!(28+(grey%(c%,1|
00003520  29 2a 32 34 29 2b 38 29  3d 6d 65 6e 61 64 25 28  |)*24)+8)=menad%(|
00003530  67 72 65 79 25 28 63 25  2c 30 29 29 21 28 32 38  |grey%(c%,0))!(28|
00003540  2b 28 67 72 65 79 25 28  63 25 2c 31 29 2a 32 34  |+(grey%(c%,1)*24|
00003550  29 2b 38 29 20 82 20 28  31 3c 3c 32 32 29 0d 0c  |)+8) . (1<<22)..|
00003560  32 07 20 20 cd 0d 0c 3a  0e 20 20 e7 20 63 25 3d  |2.  ...:.  . c%=|
00003570  31 20 8c 0d 0c 42 50 20  20 20 20 e7 20 28 28 6d  |1 ...BP    . ((m|
00003580  65 6e 61 64 25 28 67 72  65 79 25 28 63 25 2c 30  |enad%(grey%(c%,0|
00003590  29 29 21 28 32 38 2b 28  28 67 72 65 79 25 28 63  |))!(28+((grey%(c|
000035a0  25 2c 31 29 2b 31 29 2a  32 34 29 2b 38 29 20 80  |%,1)+1)*24)+8) .|
000035b0  20 28 31 3c 3c 32 32 29  29 3e 3e 3e 32 32 29 3d  | (1<<22))>>>22)=|
000035c0  31 20 8c 0d 0c 4a 73 20  20 20 20 20 20 6d 65 6e  |1 ...Js      men|
000035d0  61 64 25 28 67 72 65 79  25 28 63 25 2c 30 29 29  |ad%(grey%(c%,0))|
000035e0  21 28 32 38 2b 28 28 67  72 65 79 25 28 63 25 2c  |!(28+((grey%(c%,|
000035f0  31 29 2b 31 29 2a 32 34  29 2b 38 29 3d 6d 65 6e  |1)+1)*24)+8)=men|
00003600  61 64 25 28 67 72 65 79  25 28 63 25 2c 30 29 29  |ad%(grey%(c%,0))|
00003610  21 28 32 38 2b 28 28 67  72 65 79 25 28 63 25 2c  |!(28+((grey%(c%,|
00003620  31 29 2b 31 29 2a 32 34  29 2b 38 29 20 82 20 28  |1)+1)*24)+8) . (|
00003630  31 3c 3c 32 32 29 0d 0c  52 09 20 20 20 20 cd 0d  |1<<22)..R.    ..|
00003640  0c 5a 07 20 20 cd 0d 0c  62 0f 20 20 e7 20 63 25  |.Z.  ...b.  . c%|
00003650  3d 31 33 20 8c 0d 0c 6a  38 20 20 20 20 e7 20 28  |=13 ...j8    . (|
00003660  28 6d 65 6e 61 64 25 28  34 29 21 28 32 38 2b 28  |(menad%(4)!(28+(|
00003670  34 2a 32 34 29 2b 38 29  20 80 20 28 31 3c 3c 32  |4*24)+8) . (1<<2|
00003680  32 29 29 3e 3e 3e 32 32  29 3d 31 20 8c 0d 0c 72  |2))>>>22)=1 ...r|
00003690  43 20 20 20 20 20 20 6d  65 6e 61 64 25 28 34 29  |C      menad%(4)|
000036a0  21 28 32 38 2b 28 34 2a  32 34 29 2b 38 29 3d 6d  |!(28+(4*24)+8)=m|
000036b0  65 6e 61 64 25 28 34 29  21 28 32 38 2b 28 34 2a  |enad%(4)!(28+(4*|
000036c0  32 34 29 2b 38 29 20 82  20 28 31 3c 3c 32 32 29  |24)+8) . (1<<22)|
000036d0  0d 0c 7a 09 20 20 20 20  cd 0d 0c 82 07 20 20 cd  |..z.    .....  .|
000036e0  0d 0c 8a 05 cd 0d 0c 92  08 ed 20 63 25 0d 0c 9a  |.......... c%...|
000036f0  26 f2 70 75 74 74 65 78  74 28 64 69 73 70 6c 61  |&.puttext(displa|
00003700  79 25 2c 34 2c c3 28 6c  6f 67 67 65 64 5f 6f 6e  |y%,4,.(logged_on|
00003710  25 29 29 0d 0c a2 2c f2  70 75 74 74 65 78 74 28  |%))...,.puttext(|
00003720  64 69 73 70 6c 61 79 25  2c 35 2c 70 61 73 73 24  |display%,5,pass$|
00003730  28 6c 6f 67 67 65 64 5f  6f 6e 25 2c 30 29 29 0d  |(logged_on%,0)).|
00003740  0c aa 0c e7 20 77 5f 61  25 20 8c 0d 0c b2 4a 20  |.... w_a% ....J |
00003750  20 61 24 3d 22 41 22 2b  c3 28 6c 6f 67 67 65 64  | a$="A"+.(logged|
00003760  5f 6f 6e 25 29 2b 22 3b  22 2b 70 61 73 73 24 28  |_on%)+";"+pass$(|
00003770  6c 6f 67 67 65 64 5f 6f  6e 25 2c 30 29 2b 22 3b  |logged_on%,0)+";|
00003780  22 2b 70 61 73 73 24 28  6c 6f 67 67 65 64 5f 6f  |"+pass$(logged_o|
00003790  6e 25 2c 31 29 0d 0c ba  17 20 20 f2 61 64 64 5f  |n%,1)....  .add_|
000037a0  77 61 74 63 68 64 6f 67  28 61 24 29 0d 0c c2 05  |watchdog(a$)....|
000037b0  cd 0d 0c ca 05 e1 0d 0c  d2 04 0d 0c da 15 dd f2  |................|
000037c0  64 69 73 5f 6d 65 73 73  61 67 65 28 73 24 29 0d  |dis_message(s$).|
000037d0  0c e2 10 65 72 72 5f 66  6c 61 67 25 3d 31 37 0d  |...err_flag%=17.|
000037e0  0c ea 19 c8 99 20 22 57  69 6d 70 5f 44 72 61 67  |..... "Wimp_Drag|
000037f0  42 6f 78 22 2c 2c 2d 31  0d 0c f2 25 21 62 75 66  |Box",,-1...%!buf|
00003800  66 65 72 73 25 3d 30 3a  24 28 62 75 66 66 65 72  |fers%=0:$(buffer|
00003810  73 25 2b 34 29 3d 73 24  2b bd 28 30 29 0d 0c fa  |s%+4)=s$+.(0)...|
00003820  44 c8 99 20 22 57 69 6d  70 5f 52 65 70 6f 72 74  |D.. "Wimp_Report|
00003830  45 72 72 6f 72 22 2c 62  75 66 66 65 72 73 25 2c  |Error",buffers%,|
00003840  65 72 72 5f 66 6c 61 67  25 2c 22 4d 65 73 73 61  |err_flag%,"Messa|
00003850  67 65 20 66 72 6f 6d 20  21 4c 69 62 72 61 72 79  |ge from !Library|
00003860  22 0d 0d 02 05 e1 0d 0d  0a 04 0d 0d 12 0d dd f2  |"...............|
00003870  6c 6f 67 5f 6f 66 66 0d  0d 1a 3d 6d 65 6e 61 64  |log_off...=menad|
00003880  25 28 31 29 21 28 32 38  2b 28 34 2a 32 34 29 2b  |%(1)!(28+(4*24)+|
00003890  38 29 3d 6d 65 6e 61 64  25 28 31 29 21 28 32 38  |8)=menad%(1)!(28|
000038a0  2b 28 34 2a 32 34 29 2b  38 29 20 82 20 28 31 3c  |+(4*24)+8) . (1<|
000038b0  3c 32 32 29 0d 0d 22 3d  6d 65 6e 61 64 25 28 31  |<22).."=menad%(1|
000038c0  29 21 28 32 38 2b 28 35  2a 32 34 29 2b 38 29 3d  |)!(28+(5*24)+8)=|
000038d0  6d 65 6e 61 64 25 28 31  29 21 28 32 38 2b 28 35  |menad%(1)!(28+(5|
000038e0  2a 32 34 29 2b 38 29 20  82 20 28 31 3c 3c 32 32  |*24)+8) . (1<<22|
000038f0  29 0d 0d 2a 3d 6d 65 6e  61 64 25 28 31 29 21 28  |)..*=menad%(1)!(|
00003900  32 38 2b 28 33 2a 32 34  29 2b 38 29 3d 6d 65 6e  |28+(3*24)+8)=men|
00003910  61 64 25 28 31 29 21 28  32 38 2b 28 33 2a 32 34  |ad%(1)!(28+(3*24|
00003920  29 2b 38 29 20 82 20 28  31 3c 3c 32 32 29 0d 0d  |)+8) . (1<<22)..|
00003930  32 1a f2 63 6c 65 61 72  74 65 78 74 28 64 69 73  |2..cleartext(dis|
00003940  70 6c 61 79 25 2c 34 29  0d 0d 3a 1a f2 63 6c 65  |play%,4)..:..cle|
00003950  61 72 74 65 78 74 28 64  69 73 70 6c 61 79 25 2c  |artext(display%,|
00003960  35 29 0d 0d 42 0c e7 20  77 5f 61 25 20 8c 0d 0d  |5)..B.. w_a% ...|
00003970  4a 32 20 20 61 24 3d 22  42 22 2b c3 28 6c 6f 67  |J2  a$="B"+.(log|
00003980  67 65 64 5f 6f 6e 25 29  2b 22 3b 22 2b 70 61 73  |ged_on%)+";"+pas|
00003990  73 24 28 6c 6f 67 67 65  64 5f 6f 6e 25 2c 30 29  |s$(logged_on%,0)|
000039a0  0d 0d 52 17 20 20 f2 61  64 64 5f 77 61 74 63 68  |..R.  .add_watch|
000039b0  64 6f 67 28 61 24 29 0d  0d 5a 05 cd 0d 0d 62 10  |dog(a$)..Z....b.|
000039c0  6c 6f 67 67 65 64 5f 6f  6e 25 3d a3 0d 0d 6a 05  |logged_on%=...j.|
000039d0  e1 0d 0d 72 04 0d 0d 7a  0f dd f2 69 6e 69 74 5f  |...r...z...init_|
000039e0  70 61 73 73 0d 0d 82 2c  66 69 6c 6f 25 3d 8e 28  |pass...,filo%=.(|
000039f0  22 3c 4c 69 62 72 61 72  79 24 44 69 72 3e 2e 50  |"<Library$Dir>.P|
00003a00  72 65 66 65 72 65 6e 63  65 2e 50 61 73 73 22 29  |reference.Pass")|
00003a10  0d 0d 8a 12 75 73 65 72  73 25 3d 9a 23 66 69 6c  |....users%=.#fil|
00003a20  6f 25 0d 0d 92 13 e3 20  63 25 3d 31 20 b8 20 75  |o%..... c%=1 . u|
00003a30  73 65 72 73 25 0d 0d 9a  2b e8 23 66 69 6c 6f 25  |sers%...+.#filo%|
00003a40  2c 70 61 73 73 24 28 63  25 2c 30 29 2c 70 61 73  |,pass$(c%,0),pas|
00003a50  73 24 28 63 25 2c 31 29  2c 70 6e 25 28 63 25 29  |s$(c%,1),pn%(c%)|
00003a60  0d 0d a2 08 ed 20 63 25  0d 0d aa 0b d9 23 66 69  |..... c%.....#fi|
00003a70  6c 6f 25 0d 0d b2 05 e1  0d 0d ba 04 0d 0d c2 0e  |lo%.............|
00003a80  dd f2 70 61 73 73 5f 61  6c 74 0d 0d ca 27 6f 70  |..pass_alt...'op|
00003a90  24 3d a4 55 70 70 65 72  28 a4 67 65 74 74 65 78  |$=.Upper(.gettex|
00003aa0  74 28 63 68 61 6e 67 65  70 61 73 73 25 2c 31 29  |t(changepass%,1)|
00003ab0  29 0d 0d d2 27 6e 70 24  3d a4 55 70 70 65 72 28  |)...'np$=.Upper(|
00003ac0  a4 67 65 74 74 65 78 74  28 63 68 61 6e 67 65 70  |.gettext(changep|
00003ad0  61 73 73 25 2c 33 29 29  0d 0d da 0c 6d 61 74 63  |ass%,3))....matc|
00003ae0  68 25 3d a3 0d 0d e2 31  e7 20 6f 70 24 3d 70 61  |h%=....1. op$=pa|
00003af0  73 73 24 28 6c 6f 67 67  65 64 5f 6f 6e 25 2c 31  |ss$(logged_on%,1|
00003b00  29 20 8c 20 6d 61 74 63  68 25 3d 6c 6f 67 67 65  |) . match%=logge|
00003b10  64 5f 6f 6e 25 0d 0d ea  10 e7 20 6d 61 74 63 68  |d_on%..... match|
00003b20  25 3d a3 20 8c 0d 0d f2  1f 20 20 f2 63 6c 65 61  |%=. .....  .clea|
00003b30  72 74 65 78 74 28 63 68  61 6e 67 65 70 61 73 73  |rtext(changepass|
00003b40  25 2c 31 29 0d 0d fa 1f  20 20 f2 63 6c 65 61 72  |%,1)....  .clear|
00003b50  74 65 78 74 28 63 68 61  6e 67 65 70 61 73 73 25  |text(changepass%|
00003b60  2c 33 29 0d 0e 02 36 20  20 f2 64 69 73 5f 6d 65  |,3)...6  .dis_me|
00003b70  73 73 61 67 65 28 22 54  68 69 73 20 69 73 20 6e  |ssage("This is n|
00003b80  6f 74 20 61 20 76 61 6c  69 64 20 6f 6c 64 20 70  |ot a valid old p|
00003b90  61 73 73 77 6f 72 64 22  29 0d 0e 0a 05 cd 0d 0e  |assword").......|
00003ba0  12 12 e7 20 6d 61 74 63  68 25 3d a3 20 8c 20 e1  |... match%=. . .|
00003bb0  0d 0e 1a 10 21 71 25 3d  63 6f 6e 66 69 72 6d 25  |....!q%=confirm%|
00003bc0  0d 0e 22 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |.." .. "Wimp_Get|
00003bd0  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 71 25  |WindowState",,q%|
00003be0  0d 0e 2a 0c 71 25 21 34  3d 33 34 30 0d 0e 32 0c  |..*.q%!4=340..2.|
00003bf0  71 25 21 38 3d 33 31 32  0d 0e 3a 11 71 25 21 31  |q%!8=312..:.q%!1|
00003c00  32 3d 33 34 30 2b 36 30  30 0d 0e 42 11 71 25 21  |2=340+600..B.q%!|
00003c10  31 36 3d 33 31 32 2b 34  30 30 0d 0e 4a 0c 71 25  |16=312+400..J.q%|
00003c20  21 32 38 3d 2d 31 0d 0e  52 1b c8 97 20 c8 93 20  |!28=-1..R... .. |
00003c30  71 25 21 34 2c 71 25 21  38 2c 36 30 30 2c 34 30  |q%!4,q%!8,600,40|
00003c40  30 0d 0e 5a 1c c8 99 20  22 57 69 6d 70 5f 4f 70  |0..Z... "Wimp_Op|
00003c50  65 6e 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 0e 62  |enWindow",,q%..b|
00003c60  05 f5 0d 0e 6a 1f 20 20  c8 99 20 22 57 69 6d 70  |....j.  .. "Wimp|
00003c70  5f 50 6f 6c 6c 22 2c 26  30 2c 71 25 20 b8 20 41  |_Poll",&0,q% . A|
00003c80  25 0d 0e 72 31 fd 20 41  25 3d 36 20 80 20 71 25  |%..r1. A%=6 . q%|
00003c90  21 31 32 3d 63 6f 6e 66  69 72 6d 25 20 80 20 28  |!12=confirm% . (|
00003ca0  71 25 21 31 36 3d 33 20  84 20 71 25 21 31 36 3d  |q%!16=3 . q%!16=|
00003cb0  34 29 0d 0e 7a 17 c8 97  20 c8 93 20 30 2c 30 2c  |4)..z... .. 0,0,|
00003cc0  31 32 37 39 2c 31 30 32  33 0d 0e 82 0f e7 20 71  |1279,1023..... q|
00003cd0  25 21 31 36 3d 34 20 8c  0d 0e 8a 12 20 20 21 71  |%!16=4 .....  !q|
00003ce0  25 3d 63 6f 6e 66 69 72  6d 25 0d 0e 92 1f 20 20  |%=confirm%....  |
00003cf0  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |.. "Wimp_CloseWi|
00003d00  6e 64 6f 77 22 2c 2c 71  25 0d 0e 9a 05 cc 0d 0e  |ndow",,q%.......|
00003d10  a2 39 20 20 f2 63 6c 65  61 72 74 65 78 74 28 63  |.9  .cleartext(c|
00003d20  68 61 6e 67 65 70 61 73  73 25 2c 31 29 3a f2 63  |hangepass%,1):.c|
00003d30  6c 65 61 72 74 65 78 74  28 63 68 61 6e 67 65 70  |leartext(changep|
00003d40  61 73 73 25 2c 33 29 0d  0e aa 12 20 20 21 71 25  |ass%,3)....  !q%|
00003d50  3d 63 6f 6e 66 69 72 6d  25 0d 0e b2 1f 20 20 c8  |=confirm%....  .|
00003d60  99 20 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |. "Wimp_CloseWin|
00003d70  64 6f 77 22 2c 2c 71 25  0d 0e ba 15 20 20 21 71  |dow",,q%....  !q|
00003d80  25 3d 63 68 61 6e 67 65  70 61 73 73 25 0d 0e c2  |%=changepass%...|
00003d90  1f 20 20 c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |.  .. "Wimp_Clos|
00003da0  65 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 0e ca 19  |eWindow",,q%....|
00003db0  20 20 70 61 73 73 24 28  6d 61 74 63 68 25 2c 31  |  pass$(match%,1|
00003dc0  29 3d 6e 70 24 0d 0e d2  15 20 20 f2 73 61 76 65  |)=np$....  .save|
00003dd0  5f 70 61 73 73 5f 66 69  6c 65 0d 0e da 05 cd 0d  |_pass_file......|
00003de0  0e e2 1d f2 63 6c 65 61  72 74 65 78 74 28 63 68  |....cleartext(ch|
00003df0  61 6e 67 65 70 61 73 73  25 2c 31 29 0d 0e ea 1d  |angepass%,1)....|
00003e00  f2 63 6c 65 61 72 74 65  78 74 28 63 68 61 6e 67  |.cleartext(chang|
00003e10  65 70 61 73 73 25 2c 33  29 0d 0e f2 0c e7 20 77  |epass%,3)..... w|
00003e20  5f 61 25 20 8c 0d 0e fa  42 20 20 61 24 3d 22 43  |_a% ....B  a$="C|
00003e30  22 2b c3 28 6c 6f 67 67  65 64 5f 6f 6e 25 29 2b  |"+.(logged_on%)+|
00003e40  22 3b 22 2b 70 61 73 73  24 28 6c 6f 67 67 65 64  |";"+pass$(logged|
00003e50  5f 6f 6e 25 2c 30 29 2b  22 3b 22 2b 6f 70 24 2b  |_on%,0)+";"+op$+|
00003e60  22 3b 22 2b 6e 70 24 0d  0f 02 17 20 20 f2 61 64  |";"+np$....  .ad|
00003e70  64 5f 77 61 74 63 68 64  6f 67 28 61 24 29 0d 0f  |d_watchdog(a$)..|
00003e80  0a 05 cd 0d 0f 12 05 e1  0d 0f 1a 04 0d 0f 22 0f  |..............".|
00003e90  dd f2 69 73 73 75 65 62  6f 6f 6b 0d 0f 2a 14 f2  |..issuebook..*..|
00003ea0  63 68 65 63 6b 5f 62 6f  6f 6b 5f 64 69 72 73 0d  |check_book_dirs.|
00003eb0  0f 32 13 f2 63 68 65 63  6b 5f 6d 65 6d 5f 64 69  |.2..check_mem_di|
00003ec0  72 73 0d 0f 3a 15 e7 20  62 6f 6f 6b 5f 63 6f 75  |rs..:.. book_cou|
00003ed0  6e 74 25 3d 30 20 8c 0d  0f 42 46 20 20 f2 64 69  |nt%=0 ...BF  .di|
00003ee0  73 5f 6d 65 73 73 61 67  65 28 22 4e 6f 20 62 6f  |s_message("No bo|
00003ef0  6f 6b 20 64 69 72 65 63  74 6f 72 69 65 73 20 68  |ok directories h|
00003f00  61 76 65 20 62 65 65 6e  20 73 65 65 6e 20 62 79  |ave been seen by|
00003f10  20 74 68 65 20 66 69 6c  65 72 2e 22 29 0d 0f 4a  | the filer.")..J|
00003f20  07 20 20 e1 0d 0f 52 05  cd 0d 0f 5a 14 e7 20 6d  |.  ...R....Z.. m|
00003f30  65 6d 5f 63 6f 75 6e 74  25 3d 30 20 8c 0d 0f 62  |em_count%=0 ...b|
00003f40  48 20 20 f2 64 69 73 5f  6d 65 73 73 61 67 65 28  |H  .dis_message(|
00003f50  22 4e 6f 20 6d 65 6d 62  65 72 20 64 69 72 65 63  |"No member direc|
00003f60  74 6f 72 69 65 73 20 68  61 76 65 20 62 65 65 6e  |tories have been|
00003f70  20 73 65 65 6e 20 62 79  20 74 68 65 20 66 69 6c  | seen by the fil|
00003f80  65 72 2e 22 29 0d 0f 6a  07 20 20 e1 0d 0f 72 05  |er.")..j.  ...r.|
00003f90  cd 0d 0f 7a 1a 6e 6f 24  3d a4 67 65 74 74 65 78  |...z.no$=.gettex|
00003fa0  74 28 69 73 73 75 65 25  2c 31 29 0d 0f 82 3c e7  |t(issue%,1)...<.|
00003fb0  20 a9 28 6e 6f 24 29 3c  3e 36 20 8c 20 f2 64 69  | .(no$)<>6 . .di|
00003fc0  73 5f 6d 65 73 73 61 67  65 28 22 49 6e 76 61 6c  |s_message("Inval|
00003fd0  69 64 20 61 63 63 65 73  73 69 6f 6e 20 6e 75 6d  |id accession num|
00003fe0  62 65 72 22 29 3a e1 0d  0f 8a 55 e7 20 ac 20 a4  |ber"):....U. . .|
00003ff0  76 61 6c 69 64 61 74 65  5f 64 69 67 69 74 73 28  |validate_digits(|
00004000  6e 6f 24 29 20 8c 20 f2  64 69 73 5f 6d 65 73 73  |no$) . .dis_mess|
00004010  61 67 65 28 22 41 63 63  65 73 73 69 6f 6e 20 6e  |age("Accession n|
00004020  75 6d 62 65 72 3a 20 43  68 65 63 6b 20 44 69 67  |umber: Check Dig|
00004030  69 74 20 45 72 72 6f 72  22 29 3a e1 0d 0f 92 12  |it Error"):.....|
00004040  6e 6f 25 3d bb 28 c0 6e  6f 24 2c 35 29 29 0d 0f  |no%=.(.no$,5))..|
00004050  9a 23 e7 20 62 6f 6f 6b  5f 64 69 72 5f 64 65 66  |.#. book_dir_def|
00004060  25 28 bb 28 c0 6e 6f 24  2c 31 29 29 29 3d a3 20  |%(.(.no$,1)))=. |
00004070  8c 0d 0f a2 61 20 20 f2  64 69 73 5f 6d 65 73 73  |....a  .dis_mess|
00004080  61 67 65 28 22 54 68 65  20 62 6f 6f 6b 20 64 69  |age("The book di|
00004090  72 65 63 74 6f 72 79 20  66 6f 72 20 74 68 61 74  |rectory for that|
000040a0  20 61 63 63 65 73 73 69  6f 6e 20 6e 75 6d 62 65  | accession numbe|
000040b0  72 20 68 61 73 20 6e 6f  74 20 62 65 65 6e 20 73  |r has not been s|
000040c0  65 65 6e 20 62 79 20 74  68 65 20 66 69 6c 65 72  |een by the filer|
000040d0  22 29 0d 0f aa 07 20 20  e1 0d 0f b2 05 cd 0d 0f  |")....  ........|
000040e0  ba 3d e7 20 28 28 62 6f  6f 6b 64 65 66 25 3f 28  |.=. ((bookdef%?(|
000040f0  6e 6f 25 20 81 20 38 29  20 80 20 28 31 3c 3c 28  |no% . 8) . (1<<(|
00004100  6e 6f 25 20 83 20 38 29  29 29 3e 3e 3e 28 6e 6f  |no% . 8)))>>>(no|
00004110  25 20 83 20 38 29 29 3d  30 20 8c 0d 0f c2 2e 20  |% . 8))=0 ..... |
00004120  20 f2 64 69 73 5f 6d 65  73 73 61 67 65 28 22 54  | .dis_message("T|
00004130  68 69 73 20 62 6f 6f 6b  20 64 6f 65 73 20 6e 6f  |his book does no|
00004140  74 20 65 78 69 73 74 22  29 0d 0f ca 07 20 20 e1  |t exist")....  .|
00004150  0d 0f d2 05 cd 0d 0f da  19 f2 6f 70 65 6e 5f 62  |..........open_b|
00004160  6f 6f 6b 5f 63 61 63 68  65 28 6e 6f 24 29 0d 0f  |ook_cache(no$)..|
00004170  e2 10 64 24 3d c1 6e 6f  24 2c 34 2c 32 29 0d 0f  |..d$=.no$,4,2)..|
00004180  ea 0f 70 69 63 6b 25 3d  bb 28 64 24 29 0d 0f f2  |..pick%=.(d$)...|
00004190  55 e7 20 76 61 72 24 28  70 69 63 6b 25 2c 34 29  |U. var$(pick%,4)|
000041a0  3c 3e 22 49 4e 20 4c 49  42 52 41 52 59 22 20 8c  |<>"IN LIBRARY" .|
000041b0  20 f2 64 69 73 5f 6d 65  73 73 61 67 65 28 22 54  | .dis_message("T|
000041c0  68 69 73 20 62 6f 6f 6b  20 69 73 20 6e 6f 74 20  |his book is not |
000041d0  69 6e 20 74 68 65 20 6c  69 62 72 61 72 79 22 29  |in the library")|
000041e0  3a e1 0d 0f fa 1b 6d 65  6d 24 3d a4 67 65 74 74  |:.....mem$=.gett|
000041f0  65 78 74 28 69 73 73 75  65 25 2c 33 29 0d 10 02  |ext(issue%,3)...|
00004200  3f e7 20 a9 28 6d 65 6d  24 29 3c 39 20 8c 20 f2  |?. .(mem$)<9 . .|
00004210  64 69 73 5f 6d 65 73 73  61 67 65 28 22 4d 65 6d  |dis_message("Mem|
00004220  62 65 72 73 68 69 70 20  4e 75 6d 62 65 72 20 54  |bership Number T|
00004230  6f 6f 20 53 68 6f 72 74  22 29 3a e1 0d 10 0a 57  |oo Short"):....W|
00004240  e7 20 ac 20 a4 76 61 6c  69 64 61 74 65 5f 64 69  |. . .validate_di|
00004250  67 69 74 73 28 6d 65 6d  24 29 20 8c 20 f2 64 69  |gits(mem$) . .di|
00004260  73 5f 6d 65 73 73 61 67  65 28 22 4d 65 6d 62 65  |s_message("Membe|
00004270  72 73 68 69 70 20 4e 75  6d 62 65 72 3a 20 43 68  |rship Number: Ch|
00004280  65 63 6b 20 44 69 67 69  74 20 45 72 72 6f 72 22  |eck Digit Error"|
00004290  29 3a e1 0d 10 12 12 63  68 6f 73 65 6e 5f 66 6c  |):.....chosen_fl|
000042a0  61 67 25 3d a3 0d 10 1a  0e e3 20 63 25 3d 36 20  |ag%=...... c%=6 |
000042b0  b8 20 37 0d 10 22 1d 74  65 6d 70 25 3d a4 49 63  |. 7..".temp%=.Ic|
000042c0  6f 6e 47 65 74 28 69 73  73 75 65 25 2c 63 25 29  |onGet(issue%,c%)|
000042d0  0d 10 2a 1d e7 20 74 65  6d 70 25 20 8c 20 63 68  |..*.. temp% . ch|
000042e0  6f 73 65 6e 5f 66 6c 61  67 25 3d 63 25 0d 10 32  |osen_flag%=c%..2|
000042f0  08 ed 20 63 25 0d 10 3a  3c e7 20 63 68 6f 73 65  |.. c%..:<. chose|
00004300  6e 5f 66 6c 61 67 25 3d  a3 20 80 20 a4 49 63 6f  |n_flag%=. . .Ico|
00004310  6e 47 65 74 28 69 73 73  75 65 25 2c 31 31 29 20  |nGet(issue%,11) |
00004320  8c 20 63 68 6f 73 65 6e  5f 66 6c 61 67 25 3d 31  |. chosen_flag%=1|
00004330  31 0d 10 42 15 c8 8e 20  63 68 6f 73 65 6e 5f 66  |1..B... chosen_f|
00004340  6c 61 67 25 20 ca 0d 10  4a 11 20 20 c9 20 36 3a  |lag% ...J.  . 6:|
00004350  20 64 6e 6f 25 3d 39 0d  10 52 12 20 20 c9 20 37  | dno%=9..R.  . 7|
00004360  3a 20 64 6e 6f 25 3d 31  30 0d 10 5a 13 20 20 c9  |: dno%=10..Z.  .|
00004370  20 31 31 3a 20 64 6e 6f  25 3d 31 32 0d 10 62 05  | 11: dno%=12..b.|
00004380  cb 0d 10 6a 1f 64 61 74  65 24 3d a4 67 65 74 74  |...j.date$=.gett|
00004390  65 78 74 28 69 73 73 75  65 25 2c 64 6e 6f 25 29  |ext(issue%,dno%)|
000043a0  0d 10 72 15 c8 8e 20 63  68 6f 73 65 6e 5f 66 6c  |..r... chosen_fl|
000043b0  61 67 25 20 ca 0d 10 7a  0b 20 20 c9 20 36 2c 37  |ag% ...z.  . 6,7|
000043c0  0d 10 82 2d 20 20 20 20  64 61 74 65 24 3d c0 64  |...-    date$=.d|
000043d0  61 74 65 24 2c 32 29 2b  c1 64 61 74 65 24 2c 34  |ate$,2)+.date$,4|
000043e0  2c 32 29 2b c2 64 61 74  65 24 2c 32 29 0d 10 8a  |,2)+.date$,2)...|
000043f0  27 20 20 20 20 e7 20 ac  20 a4 76 61 6c 69 64 61  |'    . . .valida|
00004400  74 65 5f 64 61 74 65 28  64 61 74 65 24 29 20 8c  |te_date(date$) .|
00004410  20 cb 3a e1 0d 10 92 0a  20 20 c9 20 31 31 0d 10  | .:.....  . 11..|
00004420  9a 15 20 20 20 20 c8 8e  20 a9 28 64 61 74 65 24  |..    .. .(date$|
00004430  29 20 ca 0d 10 a2 0d 20  20 20 20 20 20 c9 20 38  |) .....      . 8|
00004440  0d 10 aa 16 20 20 20 20  20 20 20 20 73 65 70 66  |....        sepf|
00004450  6c 61 67 25 3d a3 0d 10  b2 3c 20 20 20 20 20 20  |lag%=....<      |
00004460  20 20 e7 20 c1 64 61 74  65 24 2c 33 2c 31 29 3d  |  . .date$,3,1)=|
00004470  22 2d 22 20 80 20 c1 64  61 74 65 24 2c 36 2c 31  |"-" . .date$,6,1|
00004480  29 3d 22 2d 22 20 8c 20  73 65 70 66 6c 61 67 25  |)="-" . sepflag%|
00004490  3d 31 0d 10 ba 3c 20 20  20 20 20 20 20 20 e7 20  |=1...<        . |
000044a0  c1 64 61 74 65 24 2c 33  2c 31 29 3d 22 2f 22 20  |.date$,3,1)="/" |
000044b0  80 20 c1 64 61 74 65 24  2c 36 2c 31 29 3d 22 2f  |. .date$,6,1)="/|
000044c0  22 20 8c 20 73 65 70 66  6c 61 67 25 3d 32 0d 10  |" . sepflag%=2..|
000044d0  c2 3c 20 20 20 20 20 20  20 20 e7 20 c1 64 61 74  |.<        . .dat|
000044e0  65 24 2c 33 2c 31 29 3d  22 2e 22 20 80 20 c1 64  |e$,3,1)="." . .d|
000044f0  61 74 65 24 2c 36 2c 31  29 3d 22 2e 22 20 8c 20  |ate$,6,1)="." . |
00004500  73 65 70 66 6c 61 67 25  3d 33 0d 10 ca 3c 20 20  |sepflag%=3...<  |
00004510  20 20 20 20 20 20 e7 20  c1 64 61 74 65 24 2c 33  |      . .date$,3|
00004520  2c 31 29 3d 22 20 22 20  80 20 c1 64 61 74 65 24  |,1)=" " . .date$|
00004530  2c 36 2c 31 29 3d 22 20  22 20 8c 20 73 65 70 66  |,6,1)=" " . sepf|
00004540  6c 61 67 25 3d 33 0d 10  d2 44 20 20 20 20 20 20  |lag%=3...D      |
00004550  20 20 e7 20 73 65 70 66  6c 61 67 25 3d a3 20 8c  |  . sepflag%=. .|
00004560  20 f2 64 69 73 5f 6d 65  73 73 61 67 65 28 22 49  | .dis_message("I|
00004570  6e 76 61 6c 69 64 20 64  61 74 65 20 66 6f 72 6d  |nvalid date form|
00004580  61 74 22 29 3a cd 3a cb  3a e1 0d 10 da 31 20 20  |at"):.:.:....1  |
00004590  20 20 20 20 20 20 64 61  74 65 24 3d c0 64 61 74  |      date$=.dat|
000045a0  65 24 2c 32 29 2b c1 64  61 74 65 24 2c 34 2c 32  |e$,2)+.date$,4,2|
000045b0  29 2b c2 64 61 74 65 24  2c 32 29 0d 10 e2 2d 20  |)+.date$,2)...- |
000045c0  20 20 20 20 20 20 20 e7  20 ac 20 a4 76 61 6c 69  |       . . .vali|
000045d0  64 61 74 65 5f 64 61 74  65 28 64 61 74 65 24 29  |date_date(date$)|
000045e0  20 8c 20 cb 3a cb 3a e1  0d 10 ea 0d 20 20 20 20  | . .:.:.....    |
000045f0  20 20 c9 20 36 0d 10 f2  16 20 20 20 20 20 20 20  |  . 6....       |
00004600  20 73 65 70 66 6c 61 67  25 3d a3 0d 10 fa 16 20  | sepflag%=..... |
00004610  20 20 20 20 20 20 20 e3  20 63 25 3d 31 20 b8 20  |       . c%=1 . |
00004620  36 0d 11 02 38 20 20 20  20 20 20 20 20 e7 20 a7  |6...8        . .|
00004630  22 30 31 32 33 34 35 36  37 38 39 22 2c c1 64 61  |"0123456789",.da|
00004640  74 65 24 2c 63 25 2c 31  29 29 3d 30 20 8c 20 73  |te$,c%,1))=0 . s|
00004650  65 70 66 6c 61 67 25 3d  b9 0d 11 0a 10 20 20 20  |epflag%=.....   |
00004660  20 20 20 20 20 ed 20 63  25 0d 11 12 44 20 20 20  |     . c%...D   |
00004670  20 20 20 20 20 e7 20 73  65 70 66 6c 61 67 25 3d  |     . sepflag%=|
00004680  b9 20 8c 20 f2 64 69 73  5f 6d 65 73 73 61 67 65  |. . .dis_message|
00004690  28 22 49 6e 76 61 6c 69  64 20 64 61 74 65 20 66  |("Invalid date f|
000046a0  6f 72 6d 61 74 22 29 3a  cd 3a cb 3a e1 0d 11 1a  |ormat"):.:.:....|
000046b0  2d 20 20 20 20 20 20 20  20 e7 20 ac 20 a4 76 61  |-        . . .va|
000046c0  6c 69 64 61 74 65 5f 64  61 74 65 28 64 61 74 65  |lidate_date(date|
000046d0  24 29 20 8c 20 cb 3a cb  3a e1 0d 11 22 0b 20 20  |$) . .:.:...".  |
000046e0  20 20 20 20 7f 0d 11 2a  35 20 20 20 20 20 20 20  |    ...*5       |
000046f0  20 f2 64 69 73 5f 6d 65  73 73 61 67 65 28 22 49  | .dis_message("I|
00004700  6e 76 61 6c 69 64 20 44  61 74 65 20 46 6f 72 6d  |nvalid Date Form|
00004710  61 74 22 29 3a cb 3a cb  3a e1 0d 11 32 09 20 20  |at"):.:.:...2.  |
00004720  20 20 cb 0d 11 3a 05 cb  0d 11 42 2f 64 61 74 65  |  ...:....B/date|
00004730  24 3d c3 28 76 64 25 29  3a e7 20 a9 28 64 61 74  |$=.(vd%):. .(dat|
00004740  65 24 29 3d 31 20 8c 20  64 61 74 65 24 3d 22 30  |e$)=1 . date$="0|
00004750  22 2b 64 61 74 65 24 0d  11 4a 47 64 61 74 65 24  |"+date$..JGdate$|
00004760  3d 64 61 74 65 24 2b 22  2d 22 2b c3 28 76 6d 25  |=date$+"-"+.(vm%|
00004770  29 3a e7 20 a9 28 64 61  74 65 24 29 3d 34 20 8c  |):. .(date$)=4 .|
00004780  20 64 61 74 65 24 3d c0  64 61 74 65 24 2c 33 29  | date$=.date$,3)|
00004790  2b 22 30 22 2b c2 64 61  74 65 24 2c 31 29 0d 11  |+"0"+.date$,1)..|
000047a0  52 47 64 61 74 65 24 3d  64 61 74 65 24 2b 22 2d  |RGdate$=date$+"-|
000047b0  22 2b c3 28 76 79 25 29  3a e7 20 a9 28 64 61 74  |"+.(vy%):. .(dat|
000047c0  65 24 29 3d 37 20 8c 20  64 61 74 65 24 3d c0 64  |e$)=7 . date$=.d|
000047d0  61 74 65 24 2c 36 29 2b  22 30 22 2b c2 64 61 74  |ate$,6)+"0"+.dat|
000047e0  65 24 2c 31 29 0d 11 5a  1d 64 61 74 65 24 3d a4  |e$,1)..Z.date$=.|
000047f0  52 65 6d 6f 76 65 5f 50  75 6e 63 28 64 61 74 65  |Remove_Punc(date|
00004800  24 29 0d 11 62 12 64 25  3d bb 28 c0 6d 65 6d 24  |$)..b.d%=.(.mem$|
00004810  2c 32 29 29 0d 11 6a 14  6c 25 3d bb 28 c1 6d 65  |,2))..j.l%=.(.me|
00004820  6d 24 2c 33 2c 32 29 29  0d 11 72 14 73 25 3d bb  |m$,3,2))..r.s%=.|
00004830  28 c1 6d 65 6d 24 2c 35  2c 31 29 29 0d 11 7a 14  |(.mem$,5,1))..z.|
00004840  6e 25 3d bb 28 c1 6d 65  6d 24 2c 36 2c 33 29 29  |n%=.(.mem$,6,3))|
00004850  0d 11 82 1a e7 20 6d 65  6d 5f 64 69 72 5f 64 65  |..... mem_dir_de|
00004860  66 25 28 64 25 29 3d a3  20 8c 0d 11 8a 59 20 20  |f%(d%)=. ....Y  |
00004870  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 54 68  |.dis_message("Th|
00004880  65 20 6d 65 6d 62 65 72  20 64 69 72 65 63 74 6f  |e member directo|
00004890  72 79 20 66 6f 72 20 74  68 61 74 20 6e 75 6d 62  |ry for that numb|
000048a0  65 72 20 68 61 73 20 6e  6f 74 20 62 65 65 6e 20  |er has not been |
000048b0  73 65 65 6e 20 62 79 20  74 68 65 20 66 69 6c 65  |seen by the file|
000048c0  72 22 29 0d 11 92 07 20  20 e1 0d 11 9a 05 cd 0d  |r")....  .......|
000048d0  11 a2 34 74 72 79 24 3d  22 3c 4d 65 6d 62 65 72  |..4try$="<Member|
000048e0  22 2b c3 28 64 25 29 2b  22 24 44 69 72 3e 2e 22  |"+.(d%)+"$Dir>."|
000048f0  2b bd 28 36 35 2b 6c 25  29 2b 22 2e 22 2b c3 28  |+.(65+l%)+"."+.(|
00004900  73 25 29 0d 11 aa 11 66  69 6c 6f 25 3d 8e 28 74  |s%)....filo%=.(t|
00004910  72 79 24 29 0d 11 b2 15  66 69 6c 70 25 3d ae 28  |ry$)....filp%=.(|
00004920  74 72 79 24 2b 22 32 22  29 0d 11 ba 13 e8 23 66  |try$+"2").....#f|
00004930  69 6c 6f 25 2c 6e 75 6d  62 65 72 25 0d 11 c2 13  |ilo%,number%....|
00004940  f1 23 66 69 6c 70 25 2c  6e 75 6d 62 65 72 25 0d  |.#filp%,number%.|
00004950  11 ca 4e e7 20 6e 25 3e  6e 75 6d 62 65 72 25 20  |..N. n%>number% |
00004960  8c 20 d9 23 66 69 6c 6f  25 3a d9 23 66 69 6c 70  |. .#filo%:.#filp|
00004970  25 3a f2 64 69 73 5f 6d  65 73 73 61 67 65 28 22  |%:.dis_message("|
00004980  49 6e 76 61 6c 69 64 20  4d 65 6d 62 65 72 73 68  |Invalid Membersh|
00004990  69 70 20 4e 75 6d 62 65  72 22 29 3a e1 0d 11 d2  |ip Number"):....|
000049a0  15 e3 20 73 63 25 3d 31  20 b8 20 6e 75 6d 62 65  |.. sc%=1 . numbe|
000049b0  72 25 0d 11 da 0f e3 20  64 25 3d 31 20 b8 20 31  |r%..... d%=1 . 1|
000049c0  31 0d 11 e2 11 e8 23 66  69 6c 6f 25 2c 74 65 6d  |1.....#filo%,tem|
000049d0  70 24 0d 11 ea 11 f1 23  66 69 6c 70 25 2c 74 65  |p$.....#filp%,te|
000049e0  6d 70 24 0d 11 f2 08 ed  20 64 25 0d 11 fa 11 74  |mp$..... d%....t|
000049f0  65 6d 70 25 3d 9a 23 66  69 6c 6f 25 0d 12 02 11  |emp%=.#filo%....|
00004a00  d5 23 66 69 6c 70 25 2c  74 65 6d 70 25 0d 12 0a  |.#filp%,temp%...|
00004a10  0f 62 6e 25 3d 9a 23 66  69 6c 6f 25 0d 12 12 15  |.bn%=.#filo%....|
00004a20  e7 20 73 63 25 3d 6e 25  20 8c 20 62 6e 25 2b 3d  |. sc%=n% . bn%+=|
00004a30  31 0d 12 1a 0f d5 23 66  69 6c 70 25 2c 62 6e 25  |1.....#filp%,bn%|
00004a40  0d 12 22 10 e3 20 64 25  3d 31 20 b8 20 62 6e 25  |..".. d%=1 . bn%|
00004a50  0d 12 2a 0e e7 20 73 63  25 3d 6e 25 20 8c 0d 12  |..*.. sc%=n% ...|
00004a60  32 10 20 20 e7 20 64 25  3c 62 6e 25 20 8c 0d 12  |2.  . d%<bn% ...|
00004a70  3a 15 20 20 20 20 e8 23  66 69 6c 6f 25 2c 74 65  |:.    .#filo%,te|
00004a80  6d 70 24 0d 12 42 15 20  20 20 20 f1 23 66 69 6c  |mp$..B.    .#fil|
00004a90  70 25 2c 74 65 6d 70 24  0d 12 4a 07 20 20 cc 0d  |p%,temp$..J.  ..|
00004aa0  12 52 1d 20 20 20 20 f1  23 66 69 6c 70 25 2c c0  |.R.    .#filp%,.|
00004ab0  6e 6f 24 2c 35 29 2b 64  61 74 65 24 0d 12 5a 07  |no$,5)+date$..Z.|
00004ac0  20 20 cd 0d 12 62 05 cc  0d 12 6a 13 20 20 e8 23  |  ...b....j.  .#|
00004ad0  66 69 6c 6f 25 2c 74 65  6d 70 24 0d 12 72 13 20  |filo%,temp$..r. |
00004ae0  20 f1 23 66 69 6c 70 25  2c 74 65 6d 70 24 0d 12  | .#filp%,temp$..|
00004af0  7a 05 cd 0d 12 82 08 ed  20 64 25 0d 12 8a 09 ed  |z....... d%.....|
00004b00  20 73 63 25 0d 12 92 0b  d9 23 66 69 6c 6f 25 0d  | sc%.....#filo%.|
00004b10  12 9a 0b d9 23 66 69 6c  70 25 0d 12 a2 15 ff 28  |....#filp%.....(|
00004b20  22 44 65 6c 65 74 65 20  22 2b 74 72 79 24 29 0d  |"Delete "+try$).|
00004b30  12 aa 1f ff 28 22 52 65  6e 61 6d 65 20 22 2b 74  |....("Rename "+t|
00004b40  72 79 24 2b 22 32 20 22  2b 74 72 79 24 29 0d 12  |ry$+"2 "+try$)..|
00004b50  b2 20 76 61 72 24 28 70  69 63 6b 25 2c 34 29 3d  |. var$(pick%,4)=|
00004b60  64 61 74 65 24 2b c0 6d  65 6d 24 2c 38 29 0d 12  |date$+.mem$,8)..|
00004b70  ba 14 f2 73 61 76 65 5f  63 61 63 68 65 28 6e 6f  |...save_cache(no|
00004b80  24 29 0d 12 c2 18 f2 63  6c 65 61 72 74 65 78 74  |$).....cleartext|
00004b90  28 69 73 73 75 65 25 2c  31 29 0d 12 ca 18 f2 63  |(issue%,1).....c|
00004ba0  6c 65 61 72 74 65 78 74  28 69 73 73 75 65 25 2c  |leartext(issue%,|
00004bb0  33 29 0d 12 d2 19 f2 63  6c 65 61 72 74 65 78 74  |3).....cleartext|
00004bc0  28 69 73 73 75 65 25 2c  31 32 29 0d 12 da 30 c8  |(issue%,12)...0.|
00004bd0  99 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |. "Wimp_SetCaret|
00004be0  50 6f 73 69 74 69 6f 6e  22 2c 69 73 73 75 65 25  |Position",issue%|
00004bf0  2c 31 2c 30 2c 30 2c 2d  31 2c 30 0d 12 e2 0c e7  |,1,0,0,-1,0.....|
00004c00  20 77 5f 61 25 20 8c 0d  12 ea 32 20 20 61 24 3d  | w_a% ....2  a$=|
00004c10  22 45 22 2b c3 28 6c 6f  67 67 65 64 5f 6f 6e 25  |"E"+.(logged_on%|
00004c20  29 2b 22 3b 22 2b 70 61  73 73 24 28 6c 6f 67 67  |)+";"+pass$(logg|
00004c30  65 64 5f 6f 6e 25 2c 30  29 0d 12 f2 24 20 20 61  |ed_on%,0)...$  a|
00004c40  24 2b 3d 22 3b 22 2b c0  6e 6f 24 2c 35 29 2b c0  |$+=";"+.no$,5)+.|
00004c50  6d 65 6d 24 2c 38 29 2b  64 61 74 65 24 0d 12 fa  |mem$,8)+date$...|
00004c60  17 20 20 f2 61 64 64 5f  77 61 74 63 68 64 6f 67  |.  .add_watchdog|
00004c70  28 61 24 29 0d 13 02 05  cd 0d 13 0a 05 e1 0d 13  |(a$)............|
00004c80  12 04 0d 13 1a 1c dd f2  6f 70 65 6e 5f 62 6f 6f  |........open_boo|
00004c90  6b 5f 63 61 63 68 65 28  61 63 63 6e 24 29 0d 13  |k_cache(accn$)..|
00004ca0  22 17 ea 20 66 69 6c 6f  25 2c 61 24 2c 62 24 2c  |".. filo%,a$,b$,|
00004cb0  63 24 2c 63 25 0d 13 2a  13 61 63 63 6e 24 3d c0  |c$,c%..*.accn$=.|
00004cc0  61 63 63 6e 24 2c 35 29  0d 13 32 10 61 24 3d c0  |accn$,5)..2.a$=.|
00004cd0  61 63 63 6e 24 2c 31 29  0d 13 3a 12 62 24 3d c1  |accn$,1)..:.b$=.|
00004ce0  61 63 63 6e 24 2c 32 2c  31 29 0d 13 42 12 63 24  |accn$,2,1)..B.c$|
00004cf0  3d c1 61 63 63 6e 24 2c  33 2c 31 29 0d 13 4a 39  |=.accn$,3,1)..J9|
00004d00  66 69 6c 6f 25 3d 8e 28  22 3c 42 6f 6f 6b 73 22  |filo%=.("<Books"|
00004d10  2b 61 24 2b 22 24 44 69  72 3e 2e 22 2b 62 24 2b  |+a$+"$Dir>."+b$+|
00004d20  22 2e 22 2b 63 24 2b 22  30 30 2d 22 2b 63 24 2b  |"."+c$+"00-"+c$+|
00004d30  22 39 39 22 29 0d 13 52  3f e7 20 66 69 6c 6f 25  |"99")..R?. filo%|
00004d40  3d 30 20 8c 20 f2 64 69  73 5f 6d 65 73 73 61 67  |=0 . .dis_messag|
00004d50  65 28 22 4d 69 73 73 69  6e 67 20 42 6f 6f 6b 20  |e("Missing Book |
00004d60  43 61 63 68 65 20 66 6f  72 20 22 2b 61 63 63 6e  |Cache for "+accn|
00004d70  24 29 3a e1 0d 13 5a 0f  e3 20 63 25 3d 30 20 b8  |$):...Z.. c%=0 .|
00004d80  20 39 39 0d 13 62 0f e3  20 64 61 25 3d 30 20 b8  | 99..b.. da%=0 .|
00004d90  20 34 0d 13 6a 18 e8 23  66 69 6c 6f 25 2c 76 61  | 4..j..#filo%,va|
00004da0  72 24 28 63 25 2c 64 61  25 29 0d 13 72 09 ed 20  |r$(c%,da%)..r.. |
00004db0  64 61 25 0d 13 7a 0f e3  20 65 61 25 3d 30 20 b8  |da%..z.. ea%=0 .|
00004dc0  20 31 0d 13 82 17 e8 23  66 69 6c 6f 25 2c 73 65  | 1.....#filo%,se|
00004dd0  6e 28 63 25 2c 65 61 25  29 0d 13 8a 0c ed 20 65  |n(c%,ea%)..... e|
00004de0  61 25 2c 63 25 0d 13 92  0b d9 23 66 69 6c 6f 25  |a%,c%.....#filo%|
00004df0  0d 13 9a 19 63 61 63 68  65 25 3d bb 28 61 63 63  |....cache%=.(acc|
00004e00  6e 24 29 20 81 20 31 30  30 0d 13 a2 05 e1 0d 13  |n$) . 100.......|
00004e10  aa 04 0d 13 b2 23 dd f2  6f 70 65 6e 5f 62 6f 6f  |.....#..open_boo|
00004e20  6b 5f 63 61 63 68 65 5f  73 65 61 72 63 68 28 61  |k_cache_search(a|
00004e30  63 63 6e 24 29 0d 13 ba  18 61 63 63 6e 24 3d a4  |ccn$)....accn$=.|
00004e40  7a 65 72 6f 28 61 63 63  6e 24 2c 35 29 0d 13 c2  |zero(accn$,5)...|
00004e50  0e ea 20 61 24 2c 62 24  2c 63 24 0d 13 ca 12 62  |.. a$,b$,c$....b|
00004e60  24 3d c1 61 63 63 6e 24  2c 32 2c 31 29 0d 13 d2  |$=.accn$,2,1)...|
00004e70  12 63 24 3d c1 61 63 63  6e 24 2c 33 2c 31 29 0d  |.c$=.accn$,3,1).|
00004e80  13 da 0e e3 20 69 25 3d  30 20 b8 20 39 0d 13 e2  |.... i%=0 . 9...|
00004e90  19 e7 20 62 6f 6f 6b 5f  64 69 72 5f 64 65 66 25  |.. book_dir_def%|
00004ea0  28 69 25 29 20 8c 0d 13  ea 0e 20 20 61 24 3d c3  |(i%) .....  a$=.|
00004eb0  28 69 25 29 0d 13 f2 3d  20 20 69 6e 25 28 69 25  |(i%)...=  in%(i%|
00004ec0  29 3d 8e 28 22 3c 42 6f  6f 6b 73 22 2b 61 24 2b  |)=.("<Books"+a$+|
00004ed0  22 24 44 69 72 3e 2e 22  2b 62 24 2b 22 2e 22 2b  |"$Dir>."+b$+"."+|
00004ee0  63 24 2b 22 30 30 2d 22  2b 63 24 2b 22 39 39 22  |c$+"00-"+c$+"99"|
00004ef0  29 0d 13 fa 43 20 20 e7  20 69 6e 25 28 69 25 29  |)...C  . in%(i%)|
00004f00  3d 30 20 8c 20 f2 64 69  73 5f 6d 65 73 73 61 67  |=0 . .dis_messag|
00004f10  65 28 22 4d 69 73 73 69  6e 67 20 42 6f 6f 6b 20  |e("Missing Book |
00004f20  43 61 63 68 65 20 66 6f  72 20 22 2b 61 63 63 6e  |Cache for "+accn|
00004f30  24 29 3a e1 0d 14 02 11  20 20 e3 20 63 25 3d 30  |$):.....  . c%=0|
00004f40  20 b8 20 39 39 0d 14 0a  11 20 20 e3 20 64 61 25  | . 99....  . da%|
00004f50  3d 30 20 b8 20 34 0d 14  12 20 20 20 e8 23 66 69  |=0 . 4...   .#fi|
00004f60  6c 6f 25 2c 76 61 72 5f  73 70 24 28 69 25 2c 63  |lo%,var_sp$(i%,c|
00004f70  25 2c 64 61 25 29 0d 14  1a 0b 20 20 ed 20 64 61  |%,da%)....  . da|
00004f80  25 0d 14 22 11 20 20 e3  20 65 61 25 3d 30 20 b8  |%..".  . ea%=0 .|
00004f90  20 31 0d 14 2a 1f 20 20  e8 23 66 69 6c 6f 25 2c  | 1..*.  .#filo%,|
00004fa0  73 65 6e 5f 73 70 28 69  25 2c 63 25 2c 65 61 25  |sen_sp(i%,c%,ea%|
00004fb0  29 0d 14 32 0e 20 20 ed  20 65 61 25 2c 63 25 0d  |)..2.  . ea%,c%.|
00004fc0  14 3a 0f 20 20 d9 23 69  6e 25 28 69 25 29 0d 14  |.:.  .#in%(i%)..|
00004fd0  42 05 cd 0d 14 4a 08 ed  20 69 25 0d 14 52 19 63  |B....J.. i%..R.c|
00004fe0  61 63 68 65 25 3d bb 28  61 63 63 6e 24 29 20 81  |ache%=.(accn$) .|
00004ff0  20 31 30 30 0d 14 5a 05  e1 0d 14 62 04 0d 14 6a  | 100..Z....b...j|
00005000  0e dd f2 6e 65 77 5f 62  6f 6f 6b 0d 14 72 14 f2  |...new_book..r..|
00005010  63 68 65 63 6b 5f 62 6f  6f 6b 5f 64 69 72 73 0d  |check_book_dirs.|
00005020  14 7a 13 f2 63 68 65 63  6b 5f 6d 65 6d 5f 64 69  |.z..check_mem_di|
00005030  72 73 0d 14 82 15 e7 20  62 6f 6f 6b 5f 63 6f 75  |rs..... book_cou|
00005040  6e 74 25 3d 30 20 8c 0d  14 8a 46 20 20 f2 64 69  |nt%=0 ....F  .di|
00005050  73 5f 6d 65 73 73 61 67  65 28 22 4e 6f 20 62 6f  |s_message("No bo|
00005060  6f 6b 20 64 69 72 65 63  74 6f 72 69 65 73 20 68  |ok directories h|
00005070  61 76 65 20 62 65 65 6e  20 73 65 65 6e 20 62 79  |ave been seen by|
00005080  20 74 68 65 20 66 69 6c  65 72 2e 22 29 0d 14 92  | the filer.")...|
00005090  07 20 20 e1 0d 14 9a 05  cd 0d 14 a2 1f 74 69 74  |.  ..........tit|
000050a0  24 3d a4 67 65 74 74 65  78 74 28 61 64 64 5f 73  |$=.gettext(add_s|
000050b0  74 6f 63 6b 25 2c 32 29  0d 14 aa 27 74 69 74 24  |tock%,2)...'tit$|
000050c0  3d a4 72 65 6d 6f 76 65  5f 61 72 74 69 63 6c 65  |=.remove_article|
000050d0  73 28 a4 55 70 70 65 72  28 74 69 74 24 29 29 0d  |s(.Upper(tit$)).|
000050e0  14 b2 1b 74 69 74 24 3d  a4 52 65 6d 6f 76 65 5f  |...tit$=.Remove_|
000050f0  50 75 6e 63 28 74 69 74  24 29 0d 14 ba 1f 6e 6f  |Punc(tit$)....no|
00005100  24 3d a4 41 63 63 6e 5f  41 6c 67 6f 72 69 74 68  |$=.Accn_Algorith|
00005110  6d 28 a3 2c 74 69 74 24  29 0d 14 c2 19 73 6e 74  |m(.,tit$)....snt|
00005120  3d a4 47 65 74 5f 53 65  61 72 63 68 28 74 69 74  |=.Get_Search(tit|
00005130  24 29 0d 14 ca 1e 61 75  24 3d a4 67 65 74 74 65  |$)....au$=.gette|
00005140  78 74 28 61 64 64 5f 73  74 6f 63 6b 25 2c 34 29  |xt(add_stock%,4)|
00005150  0d 14 d2 13 61 75 24 3d  a4 55 70 70 65 72 28 61  |....au$=.Upper(a|
00005160  75 24 29 0d 14 da 19 61  75 24 3d a4 52 65 6d 6f  |u$)....au$=.Remo|
00005170  76 65 5f 50 75 6e 63 28  61 75 24 29 0d 14 e2 18  |ve_Punc(au$)....|
00005180  73 6e 61 3d a4 47 65 74  5f 53 65 61 72 63 68 28  |sna=.Get_Search(|
00005190  61 75 24 29 0d 14 ea 14  e7 20 6e 6f 24 3d 22 46  |au$)..... no$="F|
000051a0  75 6c 6c 22 20 8c 20 e1  0d 14 f2 19 f2 6f 70 65  |ull" . ......ope|
000051b0  6e 5f 62 6f 6f 6b 5f 63  61 63 68 65 28 6e 6f 24  |n_book_cache(no$|
000051c0  29 0d 14 fa 0e 6e 6f 25  3d bb 28 6e 6f 24 29 0d  |)....no%=.(no$).|
000051d0  15 02 10 64 24 3d c1 6e  6f 24 2c 34 2c 32 29 0d  |...d$=.no$,4,2).|
000051e0  15 0a 0f 70 69 63 6b 25  3d bb 28 64 24 29 0d 15  |...pick%=.(d$)..|
000051f0  12 30 76 61 72 24 28 70  69 63 6b 25 2c 30 29 3d  |.0var$(pick%,0)=|
00005200  a4 55 70 70 65 72 28 a4  67 65 74 74 65 78 74 28  |.Upper(.gettext(|
00005210  61 64 64 5f 73 74 6f 63  6b 25 2c 32 29 29 0d 15  |add_stock%,2))..|
00005220  1a 30 76 61 72 24 28 70  69 63 6b 25 2c 31 29 3d  |.0var$(pick%,1)=|
00005230  a4 55 70 70 65 72 28 a4  67 65 74 74 65 78 74 28  |.Upper(.gettext(|
00005240  61 64 64 5f 73 74 6f 63  6b 25 2c 34 29 29 0d 15  |add_stock%,4))..|
00005250  22 30 76 61 72 24 28 70  69 63 6b 25 2c 32 29 3d  |"0var$(pick%,2)=|
00005260  a4 55 70 70 65 72 28 a4  67 65 74 74 65 78 74 28  |.Upper(.gettext(|
00005270  61 64 64 5f 73 74 6f 63  6b 25 2c 36 29 29 0d 15  |add_stock%,6))..|
00005280  2a 30 76 61 72 24 28 70  69 63 6b 25 2c 33 29 3d  |*0var$(pick%,3)=|
00005290  a4 55 70 70 65 72 28 a4  67 65 74 74 65 78 74 28  |.Upper(.gettext(|
000052a0  61 64 64 5f 73 74 6f 63  6b 25 2c 39 29 29 0d 15  |add_stock%,9))..|
000052b0  32 1e 76 61 72 24 28 70  69 63 6b 25 2c 34 29 3d  |2.var$(pick%,4)=|
000052c0  22 49 4e 20 4c 49 42 52  41 52 59 22 0d 15 3a 14  |"IN LIBRARY"..:.|
000052d0  73 65 6e 28 70 69 63 6b  25 2c 30 29 3d 73 6e 74  |sen(pick%,0)=snt|
000052e0  0d 15 42 14 73 65 6e 28  70 69 63 6b 25 2c 31 29  |..B.sen(pick%,1)|
000052f0  3d 73 6e 61 0d 15 4a 14  f2 73 61 76 65 5f 63 61  |=sna..J..save_ca|
00005300  63 68 65 28 6e 6f 24 29  0d 15 52 32 f2 70 75 74  |che(no$)..R2.put|
00005310  74 65 78 74 28 61 64 64  5f 73 74 6f 63 6b 25 2c  |text(add_stock%,|
00005320  31 36 2c a4 43 68 65 63  6b 5f 44 69 67 69 74 5f  |16,.Check_Digit_|
00005330  50 6c 75 73 28 6e 6f 24  29 29 0d 15 5a 13 71 25  |Plus(no$))..Z.q%|
00005340  21 30 3d 61 64 64 5f 73  74 6f 63 6b 25 0d 15 62  |!0=add_stock%..b|
00005350  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
00005360  64 6f 77 53 74 61 74 65  22 2c 2c 71 25 0d 15 6a  |dowState",,q%..j|
00005370  0f f2 69 6e 66 6f 28 71  25 2b 34 29 0d 15 72 3c  |..info(q%+4)..r<|
00005380  c8 99 20 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  |.. "Wimp_ForceRe|
00005390  64 72 61 77 22 2c 61 64  64 5f 73 74 6f 63 6b 25  |draw",add_stock%|
000053a0  2c 62 78 25 2b 34 32 34  2c 62 79 25 2d 34 34 36  |,bx%+424,by%-446|
000053b0  2c 31 37 34 2c 2d 34 36  0d 15 7a 23 f2 73 65 74  |,174,-46..z#.set|
000053c0  69 28 61 64 64 5f 73 74  6f 63 6b 25 2c 31 37 2c  |i(add_stock%,17,|
000053d0  26 35 30 30 30 30 30 30  2c 30 29 0d 15 82 20 f2  |&5000000,0)... .|
000053e0  73 65 74 69 28 61 64 64  5f 73 74 6f 63 6b 25 2c  |seti(add_stock%,|
000053f0  31 37 2c 26 39 30 30 30  2c 30 29 0d 15 8a 05 f5  |17,&9000,0).....|
00005400  0d 15 92 1f 20 20 c8 99  20 22 57 69 6d 70 5f 50  |....  .. "Wimp_P|
00005410  6f 6c 6c 22 2c 26 30 2c  71 25 20 b8 20 41 25 0d  |oll",&0,q% . A%.|
00005420  15 9a 28 fd 20 41 25 3d  36 20 80 20 71 25 21 31  |..(. A%=6 . q%!1|
00005430  32 3d 61 64 64 5f 73 74  6f 63 6b 25 20 80 20 71  |2=add_stock% . q|
00005440  25 21 31 36 3d 31 37 0d  15 a2 23 f2 73 65 74 69  |%!16=17...#.seti|
00005450  28 61 64 64 5f 73 74 6f  63 6b 25 2c 31 37 2c 26  |(add_stock%,17,&|
00005460  35 30 30 30 30 30 30 2c  30 29 0d 15 aa 20 f2 73  |5000000,0)... .s|
00005470  65 74 69 28 61 64 64 5f  73 74 6f 63 6b 25 2c 31  |eti(add_stock%,1|
00005480  37 2c 26 39 30 30 30 2c  30 29 0d 15 b2 1c f2 63  |7,&9000,0).....c|
00005490  6c 65 61 72 74 65 78 74  28 61 64 64 5f 73 74 6f  |leartext(add_sto|
000054a0  63 6b 25 2c 32 29 0d 15  ba 1c f2 63 6c 65 61 72  |ck%,2).....clear|
000054b0  74 65 78 74 28 61 64 64  5f 73 74 6f 63 6b 25 2c  |text(add_stock%,|
000054c0  34 29 0d 15 c2 1c f2 63  6c 65 61 72 74 65 78 74  |4).....cleartext|
000054d0  28 61 64 64 5f 73 74 6f  63 6b 25 2c 36 29 0d 15  |(add_stock%,6)..|
000054e0  ca 1c f2 63 6c 65 61 72  74 65 78 74 28 61 64 64  |...cleartext(add|
000054f0  5f 73 74 6f 63 6b 25 2c  39 29 0d 15 d2 1d f2 63  |_stock%,9).....c|
00005500  6c 65 61 72 74 65 78 74  28 61 64 64 5f 73 74 6f  |leartext(add_sto|
00005510  63 6b 25 2c 31 36 29 0d  15 da 20 64 69 76 69 73  |ck%,16)... divis|
00005520  25 3d 6e 6f 25 20 81 20  38 3a 6d 6f 64 75 6c 25  |%=no% . 8:modul%|
00005530  3d 6e 6f 25 83 20 38 0d  15 e2 33 62 6f 6f 6b 64  |=no%. 8...3bookd|
00005540  65 66 25 3f 64 69 76 69  73 25 3d 62 6f 6f 6b 64  |ef%?divis%=bookd|
00005550  65 66 25 3f 64 69 76 69  73 25 20 84 20 28 31 3c  |ef%?divis% . (1<|
00005560  3c 28 6d 6f 64 75 6c 25  29 29 0d 15 ea 63 ff 28  |<(modul%))...c.(|
00005570  22 53 61 76 65 20 3c 42  6f 6f 6b 73 22 2b c3 28  |"Save <Books"+.(|
00005580  6e 6f 25 20 81 20 31 30  30 30 30 29 2b 22 24 44  |no% . 10000)+"$D|
00005590  69 72 3e 2e 5e 2e 42 6f  6f 6b 44 65 66 20 22 2b  |ir>.^.BookDef "+|
000055a0  c3 7e 28 62 6f 6f 6b 64  65 66 25 2b 28 6e 6f 25  |.~(bookdef%+(no%|
000055b0  20 81 20 31 30 30 30 30  29 2a 31 32 35 30 29 2b  | . 10000)*1250)+|
000055c0  22 20 2b 20 22 2b c3 7e  31 32 35 30 29 0d 15 f2  |" + "+.~1250)...|
000055d0  0c e7 20 77 5f 61 25 20  8c 0d 15 fa 3a 20 20 61  |.. w_a% ....:  a|
000055e0  24 3d 22 48 22 2b c3 28  6c 6f 67 67 65 64 5f 6f  |$="H"+.(logged_o|
000055f0  6e 25 29 2b 22 3b 22 2b  70 61 73 73 24 28 6c 6f  |n%)+";"+pass$(lo|
00005600  67 67 65 64 5f 6f 6e 25  2c 30 29 2b 22 3b 22 2b  |gged_on%,0)+";"+|
00005610  6e 6f 24 0d 16 02 17 20  20 f2 61 64 64 5f 77 61  |no$....  .add_wa|
00005620  74 63 68 64 6f 67 28 61  24 29 0d 16 0a 05 cd 0d  |tchdog(a$)......|
00005630  16 12 05 e1 0d 16 1a 04  0d 16 22 17 dd f2 73 61  |.........."...sa|
00005640  76 65 5f 63 61 63 68 65  28 61 63 63 6e 24 29 0d  |ve_cache(accn$).|
00005650  16 2a 0e ea 20 61 24 2c  62 24 2c 63 24 0d 16 32  |.*.. a$,b$,c$..2|
00005660  10 61 24 3d c0 61 63 63  6e 24 2c 31 29 0d 16 3a  |.a$=.accn$,1)..:|
00005670  12 62 24 3d c1 61 63 63  6e 24 2c 32 2c 31 29 0d  |.b$=.accn$,2,1).|
00005680  16 42 12 63 24 3d c1 61  63 63 6e 24 2c 33 2c 31  |.B.c$=.accn$,3,1|
00005690  29 0d 16 4a 39 66 69 6c  6f 25 3d ae 28 22 3c 42  |)..J9filo%=.("<B|
000056a0  6f 6f 6b 73 22 2b 61 24  2b 22 24 44 69 72 3e 2e  |ooks"+a$+"$Dir>.|
000056b0  22 2b 62 24 2b 22 2e 22  2b 63 24 2b 22 30 30 2d  |"+b$+"."+c$+"00-|
000056c0  22 2b 63 24 2b 22 39 39  22 29 0d 16 52 43 e7 20  |"+c$+"99")..RC. |
000056d0  66 69 6c 6f 25 3d 30 20  8c 20 f2 64 69 73 5f 6d  |filo%=0 . .dis_m|
000056e0  65 73 73 61 67 65 28 22  43 61 6e 6e 6f 74 20 53  |essage("Cannot S|
000056f0  61 76 65 20 42 6f 6f 6b  20 43 61 63 68 65 20 66  |ave Book Cache f|
00005700  6f 72 20 22 2b 61 63 63  6e 24 29 3a e1 0d 16 5a  |or "+accn$):...Z|
00005710  0f e3 20 63 25 3d 30 20  b8 20 39 39 0d 16 62 0f  |.. c%=0 . 99..b.|
00005720  e3 20 64 61 25 3d 30 20  b8 20 34 0d 16 6a 18 f1  |. da%=0 . 4..j..|
00005730  23 66 69 6c 6f 25 2c 76  61 72 24 28 63 25 2c 64  |#filo%,var$(c%,d|
00005740  61 25 29 0d 16 72 09 ed  20 64 61 25 0d 16 7a 0f  |a%)..r.. da%..z.|
00005750  e3 20 65 61 25 3d 30 20  b8 20 31 0d 16 82 17 f1  |. ea%=0 . 1.....|
00005760  23 66 69 6c 6f 25 2c 73  65 6e 28 63 25 2c 65 61  |#filo%,sen(c%,ea|
00005770  25 29 0d 16 8a 0c ed 20  65 61 25 2c 63 25 0d 16  |%)..... ea%,c%..|
00005780  92 0b d9 23 66 69 6c 6f  25 0d 16 9a 05 e1 0d 16  |...#filo%.......|
00005790  a2 04 0d 16 aa 13 dd f2  66 69 6e 5f 6e 6d 28 66  |........fin_nm(f|
000057a0  75 6e 63 25 29 0d 16 b2  14 f2 63 68 65 63 6b 5f  |unc%).....check_|
000057b0  62 6f 6f 6b 5f 64 69 72  73 0d 16 ba 13 f2 63 68  |book_dirs.....ch|
000057c0  65 63 6b 5f 6d 65 6d 5f  64 69 72 73 0d 16 c2 14  |eck_mem_dirs....|
000057d0  e7 20 6d 65 6d 5f 63 6f  75 6e 74 25 3d 30 20 8c  |. mem_count%=0 .|
000057e0  0d 16 ca 48 20 20 f2 64  69 73 5f 6d 65 73 73 61  |...H  .dis_messa|
000057f0  67 65 28 22 4e 6f 20 6d  65 6d 62 65 72 20 64 69  |ge("No member di|
00005800  72 65 63 74 6f 72 69 65  73 20 68 61 76 65 20 62  |rectories have b|
00005810  65 65 6e 20 73 65 65 6e  20 62 79 20 74 68 65 20  |een seen by the |
00005820  66 69 6c 65 72 2e 22 29  0d 16 d2 07 20 20 e1 0d  |filer.")....  ..|
00005830  16 da 05 cd 0d 16 e2 0b  66 6c 61 67 25 3d 30 0d  |........flag%=0.|
00005840  16 ea 0f e3 20 63 25 3d  37 20 b8 20 31 31 0d 16  |.... c%=7 . 11..|
00005850  f2 25 e7 20 a4 49 63 6f  6e 47 65 74 28 6e 65 77  |.%. .IconGet(new|
00005860  6d 65 6d 25 2c 63 25 29  20 8c 20 66 6c 61 67 25  |mem%,c%) . flag%|
00005870  3d 63 25 0d 16 fa 08 ed  20 63 25 0d 17 02 0e c8  |=c%..... c%.....|
00005880  8e 20 66 6c 61 67 25 20  ca 0d 17 0a 14 20 20 c9  |. flag% .....  .|
00005890  20 37 3a 20 6e 74 24 3d  22 4d 52 2e 22 0d 17 12  | 7: nt$="MR."...|
000058a0  15 20 20 c9 20 38 3a 20  6e 74 24 3d 22 4d 52 53  |.  . 8: nt$="MRS|
000058b0  2e 22 0d 17 1a 15 20 20  c9 20 39 3a 20 6e 74 24  |."....  . 9: nt$|
000058c0  3d 22 4d 49 53 53 22 0d  17 22 15 20 20 c9 20 31  |="MISS"..".  . 1|
000058d0  30 3a 20 6e 74 24 3d 22  4d 53 2e 22 0d 17 2a 2b  |0: nt$="MS."..*+|
000058e0  20 20 c9 20 31 31 3a 20  6e 74 24 3d a4 55 70 70  |  . 11: nt$=.Upp|
000058f0  65 72 28 a4 67 65 74 74  65 78 74 28 6e 65 77 6d  |er(.gettext(newm|
00005900  65 6d 25 2c 36 29 29 0d  17 32 05 cb 0d 17 3a 11  |em%,6))..2....:.|
00005910  e7 20 66 6c 61 67 25 3d  30 20 8c 20 e1 0d 17 42  |. flag%=0 . ...B|
00005920  0b 66 6c 61 67 25 3d 30  0d 17 4a 10 e3 20 63 25  |.flag%=0..J.. c%|
00005930  3d 32 39 20 b8 20 33 31  0d 17 52 25 e7 20 a4 49  |=29 . 31..R%. .I|
00005940  63 6f 6e 47 65 74 28 6e  65 77 6d 65 6d 25 2c 63  |conGet(newmem%,c|
00005950  25 29 20 8c 20 66 6c 61  67 25 3d 63 25 0d 17 5a  |%) . flag%=c%..Z|
00005960  08 ed 20 63 25 0d 17 62  11 e7 20 66 6c 61 67 25  |.. c%..b.. flag%|
00005970  3d 30 20 8c 20 e1 0d 17  6a 14 74 69 63 6b 65 74  |=0 . ...j.ticket|
00005980  25 3d 66 6c 61 67 25 2d  32 39 0d 17 72 26 73 75  |%=flag%-29..r&su|
00005990  72 6e 24 3d a4 55 70 70  65 72 28 a4 67 65 74 74  |rn$=.Upper(.gett|
000059a0  65 78 74 28 6e 65 77 6d  65 6d 25 2c 31 34 29 29  |ext(newmem%,14))|
000059b0  0d 17 7a 26 6e 61 6d 65  24 3d a4 55 70 70 65 72  |..z&name$=.Upper|
000059c0  28 a4 67 65 74 74 65 78  74 28 6e 65 77 6d 65 6d  |(.gettext(newmem|
000059d0  25 2c 31 35 29 29 0d 17  82 12 e7 20 73 75 72 6e  |%,15))..... surn|
000059e0  24 3d 22 22 20 8c 20 e1  0d 17 8a 11 61 64 64 72  |$="" . .....addr|
000059f0  65 73 73 24 28 29 3d 22  22 0d 17 92 10 e3 20 63  |ess$()=""..... c|
00005a00  25 3d 31 37 20 b8 20 32  32 0d 17 9a 30 61 64 64  |%=17 . 22...0add|
00005a10  72 65 73 73 24 28 63 25  2d 31 37 29 3d a4 55 70  |ress$(c%-17)=.Up|
00005a20  70 65 72 28 a4 67 65 74  74 65 78 74 28 6e 65 77  |per(.gettext(new|
00005a30  6d 65 6d 25 2c 63 25 29  29 0d 17 a2 08 ed 20 63  |mem%,c%))..... c|
00005a40  25 0d 17 aa 27 73 74 61  74 65 24 3d a4 55 70 70  |%...'state$=.Upp|
00005a50  65 72 28 a4 67 65 74 74  65 78 74 28 6e 65 77 6d  |er(.gettext(newm|
00005a60  65 6d 25 2c 32 34 29 29  0d 17 b2 10 74 24 3d c0  |em%,24))....t$=.|
00005a70  73 75 72 6e 24 2c 31 29  0d 17 ba 17 f2 66 69 6e  |surn$,1).....fin|
00005a80  64 5f 6d 65 6d 5f 73 70  61 63 65 28 74 24 29 0d  |d_mem_space(t$).|
00005a90  17 c2 12 e7 20 6c 6f 77  65 73 74 25 3d 2d 31 20  |.... lowest%=-1 |
00005aa0  8c 0d 17 ca 49 20 20 f2  64 69 73 5f 6d 65 73 73  |....I  .dis_mess|
00005ab0  61 67 65 28 22 4e 6f 20  6d 65 6d 62 65 72 73 20  |age("No members |
00005ac0  64 69 72 65 63 74 6f 72  69 65 73 20 68 61 76 65  |directories have|
00005ad0  20 62 65 65 6e 20 73 65  65 6e 20 62 79 20 74 68  | been seen by th|
00005ae0  65 20 66 69 6c 65 72 2e  22 29 0d 17 d2 07 20 20  |e filer.")....  |
00005af0  e1 0d 17 da 05 cd 0d 17  e2 2c 63 6f 64 65 24 3d  |.........,code$=|
00005b00  a4 61 6c 67 6f 72 69 74  68 6d 28 6c 6b 31 25 2c  |.algorithm(lk1%,|
00005b10  6c 6b 32 25 2c 74 6e 25  2c 97 28 74 24 29 2d 36  |lk2%,tn%,.(t$)-6|
00005b20  35 29 0d 17 ea 40 e7 20  63 6f 64 65 24 3d 22 59  |5)...@. code$="Y|
00005b30  6f 75 20 6e 65 65 64 20  6d 6f 72 65 20 64 69 72  |ou need more dir|
00005b40  65 63 74 6f 72 69 65 73  2e 22 20 8c 20 f2 64 69  |ectories." . .di|
00005b50  73 5f 6d 65 73 73 61 67  65 28 63 6f 64 65 24 29  |s_message(code$)|
00005b60  3a e1 0d 17 f2 36 66 69  6c 6f 25 3d 8e 28 22 3c  |:....6filo%=.("<|
00005b70  4d 65 6d 62 65 72 22 2b  c3 28 6c 6b 31 25 29 2b  |Member"+.(lk1%)+|
00005b80  22 24 44 69 72 3e 2e 22  2b 74 24 2b 22 2e 22 2b  |"$Dir>."+t$+"."+|
00005b90  c3 28 6c 6b 32 25 29 29  0d 17 fa 3a 66 69 6c 70  |.(lk2%))...:filp|
00005ba0  25 3d ae 28 22 3c 4d 65  6d 62 65 72 22 2b c3 28  |%=.("<Member"+.(|
00005bb0  6c 6b 31 25 29 2b 22 24  44 69 72 3e 2e 22 2b 74  |lk1%)+"$Dir>."+t|
00005bc0  24 2b 22 2e 22 2b c3 28  6c 6b 32 25 29 2b 22 32  |$+"."+.(lk2%)+"2|
00005bd0  22 29 0d 18 02 0f f1 23  66 69 6c 70 25 2c 74 6e  |").....#filp%,tn|
00005be0  25 0d 18 0a 0d e7 20 74  6e 25 3e 31 20 8c 0d 18  |%..... tn%>1 ...|
00005bf0  12 13 20 20 e8 23 66 69  6c 6f 25 2c 74 65 6d 70  |..  .#filo%,temp|
00005c00  25 0d 18 1a 16 20 20 e3  20 63 25 3d 31 20 b8 20  |%....  . c%=1 . |
00005c10  6c 6f 77 65 73 74 25 0d  18 22 11 20 20 e3 20 64  |lowest%..".  . d|
00005c20  25 3d 31 20 b8 20 31 31  0d 18 2a 13 20 20 e8 23  |%=1 . 11..*.  .#|
00005c30  66 69 6c 6f 25 2c 74 65  6d 70 24 0d 18 32 13 20  |filo%,temp$..2. |
00005c40  20 f1 23 66 69 6c 70 25  2c 74 65 6d 70 24 0d 18  | .#filp%,temp$..|
00005c50  3a 0a 20 20 ed 20 64 25  0d 18 42 13 20 20 74 65  |:.  . d%..B.  te|
00005c60  6d 70 25 3d 9a 23 66 69  6c 6f 25 0d 18 4a 13 20  |mp%=.#filo%..J. |
00005c70  20 d5 23 66 69 6c 70 25  2c 74 65 6d 70 25 0d 18  | .#filp%,temp%..|
00005c80  52 11 20 20 62 6e 25 3d  9a 23 66 69 6c 6f 25 0d  |R.  bn%=.#filo%.|
00005c90  18 5a 11 20 20 d5 23 66  69 6c 70 25 2c 62 6e 25  |.Z.  .#filp%,bn%|
00005ca0  0d 18 62 0f 20 20 e7 20  62 6e 25 3e 30 20 8c 0d  |..b.  . bn%>0 ..|
00005cb0  18 6a 14 20 20 20 20 e3  20 64 25 3d 31 20 b8 20  |.j.    . d%=1 . |
00005cc0  62 6e 25 0d 18 72 15 20  20 20 20 e8 23 66 69 6c  |bn%..r.    .#fil|
00005cd0  6f 25 2c 74 65 6d 70 25  0d 18 7a 15 20 20 20 20  |o%,temp%..z.    |
00005ce0  f1 23 66 69 6c 70 25 2c  74 65 6d 70 25 0d 18 82  |.#filp%,temp%...|
00005cf0  0c 20 20 20 20 ed 20 64  25 0d 18 8a 07 20 20 cd  |.    . d%....  .|
00005d00  0d 18 92 0a 20 20 ed 20  63 25 0d 18 9a 05 cd 0d  |....  . c%......|
00005d10  18 a2 15 f1 23 66 69 6c  70 25 2c c0 63 6f 64 65  |....#filp%,.code|
00005d20  24 2c 38 29 0d 18 aa 0f  f1 23 66 69 6c 70 25 2c  |$,8).....#filp%,|
00005d30  6e 74 24 0d 18 b2 11 f1  23 66 69 6c 70 25 2c 73  |nt$.....#filp%,s|
00005d40  75 72 6e 24 0d 18 ba 11  f1 23 66 69 6c 70 25 2c  |urn$.....#filp%,|
00005d50  6e 61 6d 65 24 0d 18 c2  0e e3 20 63 25 3d 30 20  |name$..... c%=0 |
00005d60  b8 20 35 0d 18 ca 18 f1  23 66 69 6c 70 25 2c 61  |. 5.....#filp%,a|
00005d70  64 64 72 65 73 73 24 28  63 25 29 0d 18 d2 08 ed  |ddress$(c%).....|
00005d80  20 63 25 0d 18 da 12 f1  23 66 69 6c 70 25 2c 73  | c%.....#filp%,s|
00005d90  74 61 74 65 24 0d 18 e2  13 d5 23 66 69 6c 70 25  |tate$.....#filp%|
00005da0  2c 74 69 63 6b 65 74 25  0d 18 ea 0d d5 23 66 69  |,ticket%.....#fi|
00005db0  6c 70 25 2c 30 0d 18 f2  0b d9 23 66 69 6c 6f 25  |lp%,0.....#filo%|
00005dc0  0d 18 fa 0b d9 23 66 69  6c 70 25 0d 19 02 37 ff  |.....#filp%...7.|
00005dd0  28 22 44 65 6c 65 74 65  20 3c 4d 65 6d 62 65 72  |("Delete <Member|
00005de0  22 2b c3 28 6c 6b 31 25  29 2b 22 24 44 69 72 3e  |"+.(lk1%)+"$Dir>|
00005df0  2e 22 2b 74 24 2b 22 2e  22 2b c3 28 6c 6b 32 25  |."+t$+"."+.(lk2%|
00005e00  29 29 0d 19 0a 63 ff 28  22 52 65 6e 61 6d 65 20  |))...c.("Rename |
00005e10  3c 4d 65 6d 62 65 72 22  2b c3 28 6c 6b 31 25 29  |<Member"+.(lk1%)|
00005e20  2b 22 24 44 69 72 3e 2e  22 2b 74 24 2b 22 2e 22  |+"$Dir>."+t$+"."|
00005e30  2b c3 28 6c 6b 32 25 29  2b 22 32 20 3c 4d 65 6d  |+.(lk2%)+"2 <Mem|
00005e40  62 65 72 22 2b c3 28 6c  6b 31 25 29 2b 22 24 44  |ber"+.(lk1%)+"$D|
00005e50  69 72 3e 2e 22 2b 74 24  2b 22 2e 22 2b c3 28 6c  |ir>."+t$+"."+.(l|
00005e60  6b 32 25 29 29 0d 19 12  1e f2 70 75 74 74 65 78  |k2%)).....puttex|
00005e70  74 28 6e 65 77 6d 65 6d  25 2c 33 35 2c 63 6f 64  |t(newmem%,35,cod|
00005e80  65 24 29 0d 19 1a 10 71  25 21 30 3d 6e 65 77 6d  |e$)....q%!0=newm|
00005e90  65 6d 25 0d 19 22 20 c8  99 20 22 57 69 6d 70 5f  |em%.." .. "Wimp_|
00005ea0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00005eb0  2c 71 25 0d 19 2a 0f f2  69 6e 66 6f 28 71 25 2b  |,q%..*..info(q%+|
00005ec0  34 29 0d 19 32 39 c8 99  20 22 57 69 6d 70 5f 46  |4)..29.. "Wimp_F|
00005ed0  6f 72 63 65 52 65 64 72  61 77 22 2c 6e 65 77 6d  |orceRedraw",newm|
00005ee0  65 6d 25 2c 62 78 25 2b  33 36 34 2c 62 79 25 2d  |em%,bx%+364,by%-|
00005ef0  38 37 32 2c 31 37 34 2c  2d 34 36 0d 19 3a 20 f2  |872,174,-46..: .|
00005f00  73 65 74 69 28 6e 65 77  6d 65 6d 25 2c 33 39 2c  |seti(newmem%,39,|
00005f10  26 35 30 30 30 30 30 30  2c 30 29 0d 19 42 1d f2  |&5000000,0)..B..|
00005f20  73 65 74 69 28 6e 65 77  6d 65 6d 25 2c 33 39 2c  |seti(newmem%,39,|
00005f30  26 39 30 30 30 2c 30 29  0d 19 4a 05 f5 0d 19 52  |&9000,0)..J....R|
00005f40  1f 20 20 c8 99 20 22 57  69 6d 70 5f 50 6f 6c 6c  |.  .. "Wimp_Poll|
00005f50  22 2c 26 30 2c 71 25 20  b8 20 41 25 0d 19 5a 25  |",&0,q% . A%..Z%|
00005f60  fd 20 41 25 3d 36 20 80  20 71 25 21 31 32 3d 6e  |. A%=6 . q%!12=n|
00005f70  65 77 6d 65 6d 25 20 80  20 71 25 21 31 36 3d 33  |ewmem% . q%!16=3|
00005f80  39 0d 19 62 20 f2 73 65  74 69 28 6e 65 77 6d 65  |9..b .seti(newme|
00005f90  6d 25 2c 33 39 2c 26 35  30 30 30 30 30 30 2c 30  |m%,39,&5000000,0|
00005fa0  29 0d 19 6a 1d f2 73 65  74 69 28 6e 65 77 6d 65  |)..j..seti(newme|
00005fb0  6d 25 2c 33 39 2c 26 39  30 30 30 2c 30 29 0d 19  |m%,39,&9000,0)..|
00005fc0  72 0f e7 20 66 75 6e 63  25 3d 30 20 8c 0d 19 7a  |r.. func%=0 ...z|
00005fd0  1c 20 20 f2 63 6c 65 61  72 74 65 78 74 28 6e 65  |.  .cleartext(ne|
00005fe0  77 6d 65 6d 25 2c 33 35  29 0d 19 82 12 20 20 e3  |wmem%,35)....  .|
00005ff0  20 63 25 3d 31 37 20 b8  20 32 32 0d 19 8a 1c 20  | c%=17 . 22.... |
00006000  20 f2 63 6c 65 61 72 74  65 78 74 28 6e 65 77 6d  | .cleartext(newm|
00006010  65 6d 25 2c 63 25 29 0d  19 92 0a 20 20 ed 20 63  |em%,c%)....  . c|
00006020  25 0d 19 9a 12 20 20 e3  20 63 25 3d 31 34 20 b8  |%....  . c%=14 .|
00006030  20 31 35 0d 19 a2 1c 20  20 f2 63 6c 65 61 72 74  | 15....  .cleart|
00006040  65 78 74 28 6e 65 77 6d  65 6d 25 2c 63 25 29 0d  |ext(newmem%,c%).|
00006050  19 aa 0a 20 20 ed 20 63  25 0d 19 b2 20 20 20 6c  |...  . c%...   l|
00006060  25 3d a9 28 a4 67 65 74  74 65 78 74 28 6e 65 77  |%=.(.gettext(new|
00006070  6d 65 6d 25 2c 31 34 29  29 0d 19 ba 35 20 20 c8  |mem%,14))...5  .|
00006080  99 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |. "Wimp_SetCaret|
00006090  50 6f 73 69 74 69 6f 6e  22 2c 6e 65 77 6d 65 6d  |Position",newmem|
000060a0  25 2c 31 34 2c 30 2c 30  2c 2d 31 2c 6c 25 0d 19  |%,14,0,0,-1,l%..|
000060b0  c2 05 cc 0d 19 ca 1c 20  20 f2 63 6c 65 61 72 74  |.......  .cleart|
000060c0  65 78 74 28 6e 65 77 6d  65 6d 25 2c 33 35 29 0d  |ext(newmem%,35).|
000060d0  19 d2 12 20 20 e3 20 63  25 3d 31 37 20 b8 20 32  |...  . c%=17 . 2|
000060e0  32 0d 19 da 1c 20 20 f2  63 6c 65 61 72 74 65 78  |2....  .cleartex|
000060f0  74 28 6e 65 77 6d 65 6d  25 2c 63 25 29 0d 19 e2  |t(newmem%,c%)...|
00006100  0a 20 20 ed 20 63 25 0d  19 ea 12 20 20 e3 20 63  |.  . c%....  . c|
00006110  25 3d 31 34 20 b8 20 31  35 0d 19 f2 1c 20 20 f2  |%=14 . 15....  .|
00006120  63 6c 65 61 72 74 65 78  74 28 6e 65 77 6d 65 6d  |cleartext(newmem|
00006130  25 2c 63 25 29 0d 19 fa  0a 20 20 ed 20 63 25 0d  |%,c%)....  . c%.|
00006140  1a 02 11 20 20 21 71 25  3d 6e 65 77 6d 65 6d 25  |...  !q%=newmem%|
00006150  0d 1a 0a 1f 20 20 c8 99  20 22 57 69 6d 70 5f 43  |....  .. "Wimp_C|
00006160  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |loseWindow",,q%.|
00006170  1a 12 05 cd 0d 1a 1a 0c  e7 20 77 5f 61 25 20 8c  |......... w_a% .|
00006180  0d 1a 22 40 20 20 61 24  3d 22 4c 22 2b c3 28 6c  |.."@  a$="L"+.(l|
00006190  6f 67 67 65 64 5f 6f 6e  25 29 2b 22 3b 22 2b 70  |ogged_on%)+";"+p|
000061a0  61 73 73 24 28 6c 6f 67  67 65 64 5f 6f 6e 25 2c  |ass$(logged_on%,|
000061b0  30 29 2b 22 3b 22 2b c0  63 6f 64 65 24 2c 38 29  |0)+";"+.code$,8)|
000061c0  0d 1a 2a 17 20 20 f2 61  64 64 5f 77 61 74 63 68  |..*.  .add_watch|
000061d0  64 6f 67 28 61 24 29 0d  1a 32 05 cd 0d 1a 3a 05  |dog(a$)..2....:.|
000061e0  e1 0d 1a 42 04 0d 1a 4a  18 dd f2 66 69 6e 64 5f  |...B...J...find_|
000061f0  6d 65 6d 5f 73 70 61 63  65 28 74 24 29 0d 1a 52  |mem_space(t$)..R|
00006200  1c 6c 6f 77 65 73 74 25  3d 2d 31 3a 6c 6b 31 25  |.lowest%=-1:lk1%|
00006210  3d 30 3a 6c 6b 32 25 3d  30 0d 1a 5a 0f e3 20 64  |=0:lk2%=0..Z.. d|
00006220  25 3d 30 20 b8 20 39 39  0d 1a 62 18 e7 20 6d 65  |%=0 . 99..b.. me|
00006230  6d 5f 64 69 72 5f 64 65  66 25 28 64 25 29 20 8c  |m_dir_def%(d%) .|
00006240  0d 1a 6a 33 20 20 66 69  6c 6f 25 3d 8e 28 22 3c  |..j3  filo%=.("<|
00006250  4d 65 6d 62 65 72 22 2b  c3 28 64 25 29 2b 22 24  |Member"+.(d%)+"$|
00006260  44 69 72 3e 2e 22 2b 74  24 2b 22 2e 48 6f 6c 65  |Dir>."+t$+".Hole|
00006270  73 22 29 0d 1a 72 11 20  20 e7 20 66 69 6c 6f 25  |s")..r.  . filo%|
00006280  3d 30 20 8c 0d 1a 7a 0f  20 20 20 20 d9 23 66 69  |=0 ...z.    .#fi|
00006290  6c 6f 25 0d 1a 82 12 20  20 20 20 e3 20 65 25 3d  |lo%....    . e%=|
000062a0  30 20 b8 20 39 0d 1a 8a  36 20 20 20 20 66 69 6c  |0 . 9...6    fil|
000062b0  6f 25 3d 8e 28 22 3c 4d  65 6d 62 65 72 22 2b c3  |o%=.("<Member"+.|
000062c0  28 64 25 29 2b 22 24 44  69 72 3e 2e 22 2b 74 24  |(d%)+"$Dir>."+t$|
000062d0  2b 22 2e 22 2b c3 28 65  25 29 29 0d 1a 92 15 20  |+"."+.(e%)).... |
000062e0  20 20 20 e8 23 66 69 6c  6f 25 2c 74 65 6d 70 25  |   .#filo%,temp%|
000062f0  0d 1a 9a 34 20 20 20 20  e7 20 6c 6f 77 65 73 74  |...4    . lowest|
00006300  25 3d 2d 31 20 8c 20 6c  6f 77 65 73 74 25 3d 74  |%=-1 . lowest%=t|
00006310  65 6d 70 25 3a 6c 6b 31  25 3d 64 25 3a 6c 6b 32  |emp%:lk1%=d%:lk2|
00006320  25 3d 65 25 0d 1a a2 37  20 20 20 20 e7 20 74 65  |%=e%...7    . te|
00006330  6d 70 25 3c 6c 6f 77 65  73 74 25 20 8c 20 6c 6f  |mp%<lowest% . lo|
00006340  77 65 73 74 25 3d 74 65  6d 70 25 3a 6c 6b 31 25  |west%=temp%:lk1%|
00006350  3d 64 25 3a 6c 6b 32 25  3d 65 25 0d 1a aa 0f 20  |=d%:lk2%=e%.... |
00006360  20 20 20 d9 23 66 69 6c  6f 25 0d 1a b2 0c 20 20  |   .#filo%....  |
00006370  20 20 ed 20 65 25 0d 1a  ba 15 20 20 20 20 74 6e  |  . e%....    tn|
00006380  25 3d 6c 6f 77 65 73 74  25 2b 31 0d 1a c2 07 20  |%=lowest%+1.... |
00006390  20 cc 0d 1a ca 14 20 20  20 20 e8 23 66 69 6c 6f  | .....    .#filo|
000063a0  25 2c 67 6f 74 24 0d 1a  d2 31 20 20 20 20 74 72  |%,got$...1    tr|
000063b0  79 24 3d 22 3c 4d 65 6d  62 65 72 22 2b c3 28 64  |y$="<Member"+.(d|
000063c0  25 29 2b 22 24 44 69 72  3e 2e 22 2b 74 24 2b 22  |%)+"$Dir>."+t$+"|
000063d0  2e 48 6f 6c 65 73 22 0d  1a da 19 20 20 20 20 66  |.Holes"....    f|
000063e0  69 6c 70 25 3d ae 28 74  72 79 24 2b 22 32 22 29  |ilp%=.(try$+"2")|
000063f0  0d 1a e2 12 20 20 20 20  64 65 6c 66 6c 61 67 25  |....    delflag%|
00006400  3d b9 0d 1a ea 09 20 20  20 20 f5 0d 1a f2 17 20  |=.....    ..... |
00006410  20 20 20 20 20 e7 20 ac  20 c5 23 66 69 6c 6f 25  |     . . .#filo%|
00006420  20 8c 0d 1a fa 16 20 20  20 20 20 20 20 20 64 65  | .....        de|
00006430  6c 66 6c 61 67 25 3d a3  0d 1b 02 18 20 20 20 20  |lflag%=.....    |
00006440  20 20 20 20 e8 23 66 69  6c 6f 25 2c 67 6f 74 24  |    .#filo%,got$|
00006450  0d 1b 0a 18 20 20 20 20  20 20 20 20 f1 23 66 69  |....        .#fi|
00006460  6c 70 25 2c 67 6f 74 24  0d 1b 12 0b 20 20 20 20  |lp%,got$....    |
00006470  20 20 cd 0d 1b 1a 11 20  20 20 20 fd 20 c5 23 66  |  .....    . .#f|
00006480  69 6c 6f 25 0d 1b 22 0f  20 20 20 20 d9 23 66 69  |ilo%..".    .#fi|
00006490  6c 6f 25 0d 1b 2a 0f 20  20 20 20 d9 23 66 69 6c  |lo%..*.    .#fil|
000064a0  70 25 0d 1b 32 38 20 20  20 20 6c 6b 31 25 3d 64  |p%..28    lk1%=d|
000064b0  25 3a 6c 6b 32 25 3d bb  28 c0 67 6f 74 24 2c 31  |%:lk2%=.(.got$,1|
000064c0  29 29 3a 74 6e 25 3d bb  28 c2 67 6f 74 24 2c a9  |)):tn%=.(.got$,.|
000064d0  28 67 6f 74 24 29 2d 31  29 29 0d 1b 3a 11 20 20  |(got$)-1))..:.  |
000064e0  20 20 6c 6f 77 65 73 74  25 3d 31 0d 1b 42 19 20  |  lowest%=1..B. |
000064f0  20 20 20 ff 28 22 44 65  6c 65 74 65 20 22 2b 74  |   .("Delete "+t|
00006500  72 79 24 29 0d 1b 4a 23  20 20 20 20 ff 28 22 52  |ry$)..J#    .("R|
00006510  65 6e 61 6d 65 20 22 2b  74 72 79 24 2b 22 32 20  |ename "+try$+"2 |
00006520  22 2b 74 72 79 24 29 0d  1b 52 26 20 20 20 20 e7  |"+try$)..R&    .|
00006530  20 64 65 6c 66 6c 61 67  25 20 8c 20 ff 28 22 44  | delflag% . .("D|
00006540  65 6c 65 74 65 20 22 2b  74 72 79 24 29 0d 1b 5a  |elete "+try$)..Z|
00006550  07 20 20 cd 0d 1b 62 05  cd 0d 1b 6a 08 ed 20 64  |.  ...b....j.. d|
00006560  25 0d 1b 72 05 e1 0d 1b  7a 04 0d 1b 82 19 dd a4  |%..r....z.......|
00006570  49 63 6f 6e 47 65 74 28  77 69 6e 25 2c 69 63 6f  |IconGet(win%,ico|
00006580  6e 25 29 0d 1b 8a 0c 21  71 25 3d 77 69 6e 25 0d  |n%)....!q%=win%.|
00006590  1b 92 0e 71 25 21 34 3d  69 63 6f 6e 25 0d 1b 9a  |...q%!4=icon%...|
000065a0  1e c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  |... "Wimp_GetIco|
000065b0  6e 53 74 61 74 65 22 2c  2c 71 25 0d 1b a2 1b 3d  |nState",,q%....=|
000065c0  28 28 71 25 21 32 34 20  80 20 31 3c 3c 32 31 29  |((q%!24 . 1<<21)|
000065d0  3e 3e 3e 32 31 29 0d 1b  aa 04 0d 1b b2 1b dd f2  |>>>21)..........|
000065e0  63 6c 65 61 72 74 65 78  74 28 77 69 6e 25 2c 69  |cleartext(win%,i|
000065f0  63 6f 6e 25 29 0d 1b ba  1b f2 70 75 74 74 65 78  |con%).....puttex|
00006600  74 28 77 69 6e 25 2c 69  63 6f 6e 25 2c 22 22 29  |t(win%,icon%,"")|
00006610  0d 1b c2 05 e1 0d 1b ca  04 0d 1b d2 18 dd f2 70  |...............p|
00006620  75 74 5f 61 63 63 5f 75  70 28 73 24 2c 6f 6b 24  |ut_acc_up(s$,ok$|
00006630  29 0d 1b da 1e f2 70 75  74 74 65 78 74 28 61 63  |).....puttext(ac|
00006640  63 6e 5f 6f 6e 6c 79 25  2c 32 2c 6f 6b 24 29 0d  |cn_only%,2,ok$).|
00006650  1b e2 15 24 5f 74 69 74  6c 65 73 74 72 69 6e 67  |...$_titlestring|
00006660  25 3d 73 24 0d 1b ea 12  21 71 25 3d 61 63 63 6e  |%=s$....!q%=accn|
00006670  5f 6f 6e 6c 79 25 0d 1b  f2 1f c8 99 20 22 57 69  |_only%...... "Wi|
00006680  6d 70 5f 47 65 74 57 69  6e 64 6f 77 49 6e 66 6f  |mp_GetWindowInfo|
00006690  22 2c 2c 71 25 0d 1b fa  10 5f 70 25 3d 21 28 71  |",,q%...._p%=!(q|
000066a0  25 2b 37 36 29 0d 1c 02  17 24 5f 70 25 3d 24 5f  |%+76)....$_p%=$_|
000066b0  74 69 74 6c 65 73 74 72  69 6e 67 25 0d 1c 0a 12  |titlestring%....|
000066c0  21 71 25 3d 61 63 63 6e  5f 6f 6e 6c 79 25 0d 1c  |!q%=accn_only%..|
000066d0  12 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |. .. "Wimp_GetWi|
000066e0  6e 64 6f 77 53 74 61 74  65 22 2c 2c 71 25 0d 1c  |ndowState",,q%..|
000066f0  1a 0c 71 25 21 32 38 3d  2d 31 0d 1c 22 1c c8 99  |..q%!28=-1.."...|
00006700  20 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  | "Wimp_OpenWindo|
00006710  77 22 2c 2c 71 25 0d 1c  2a 1c f2 63 6c 65 61 72  |w",,q%..*..clear|
00006720  74 65 78 74 28 61 63 63  6e 5f 6f 6e 6c 79 25 2c  |text(accn_only%,|
00006730  31 29 0d 1c 32 34 c8 99  20 22 57 69 6d 70 5f 53  |1)..24.. "Wimp_S|
00006740  65 74 43 61 72 65 74 50  6f 73 69 74 69 6f 6e 22  |etCaretPosition"|
00006750  2c 61 63 63 6e 5f 6f 6e  6c 79 25 2c 31 2c 30 2c  |,accn_only%,1,0,|
00006760  30 2c 2d 31 2c 30 0d 1c  3a 05 e1 0d 1c 42 04 0d  |0,-1,0..:....B..|
00006770  1c 4a 14 dd f2 70 75 74  5f 6d 65 6d 5f 75 70 28  |.J...put_mem_up(|
00006780  73 24 29 0d 1c 52 15 24  5f 74 69 74 6c 65 73 74  |s$)..R.$_titlest|
00006790  72 69 6e 67 25 3d 73 24  0d 1c 5a 11 21 71 25 3d  |ring%=s$..Z.!q%=|
000067a0  6d 65 6d 5f 6f 6e 6c 79  25 0d 1c 62 1f c8 99 20  |mem_only%..b... |
000067b0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 49  |"Wimp_GetWindowI|
000067c0  6e 66 6f 22 2c 2c 71 25  0d 1c 6a 10 5f 70 25 3d  |nfo",,q%..j._p%=|
000067d0  21 28 71 25 2b 37 36 29  0d 1c 72 17 24 5f 70 25  |!(q%+76)..r.$_p%|
000067e0  3d 24 5f 74 69 74 6c 65  73 74 72 69 6e 67 25 0d  |=$_titlestring%.|
000067f0  1c 7a 11 21 71 25 3d 6d  65 6d 5f 6f 6e 6c 79 25  |.z.!q%=mem_only%|
00006800  0d 1c 82 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |... .. "Wimp_Get|
00006810  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 71 25  |WindowState",,q%|
00006820  0d 1c 8a 0c 71 25 21 32  38 3d 2d 31 0d 1c 92 1c  |....q%!28=-1....|
00006830  c8 99 20 22 57 69 6d 70  5f 4f 70 65 6e 57 69 6e  |.. "Wimp_OpenWin|
00006840  64 6f 77 22 2c 2c 71 25  0d 1c 9a 1b f2 63 6c 65  |dow",,q%.....cle|
00006850  61 72 74 65 78 74 28 6d  65 6d 5f 6f 6e 6c 79 25  |artext(mem_only%|
00006860  2c 31 29 0d 1c a2 33 c8  99 20 22 57 69 6d 70 5f  |,1)...3.. "Wimp_|
00006870  53 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |SetCaretPosition|
00006880  22 2c 6d 65 6d 5f 6f 6e  6c 79 25 2c 31 2c 30 2c  |",mem_only%,1,0,|
00006890  30 2c 2d 31 2c 30 0d 1c  aa 05 e1 0d 1c b2 04 0d  |0,-1,0..........|
000068a0  1c ba 10 dd f2 61 63 63  6e 5f 6f 5f 66 69 6e 0d  |.....accn_o_fin.|
000068b0  1c c2 1f 63 6f 6d 70 24  3d a4 57 69 6e 54 69 74  |...comp$=.WinTit|
000068c0  6c 65 28 61 63 63 6e 5f  6f 6e 6c 79 25 29 0d 1c  |le(accn_only%)..|
000068d0  ca 0e c8 8e 20 63 6f 6d  70 24 20 ca 0d 1c d2 23  |.... comp$ ....#|
000068e0  20 20 c9 20 22 52 65 74  75 72 6e 20 42 6f 6f 6b  |  . "Return Book|
000068f0  22 3a 20 f2 72 65 74 75  72 6e 5f 62 6f 6f 6b 0d  |": .return_book.|
00006900  1c da 25 20 20 c9 20 22  52 65 6d 6f 76 65 20 53  |..%  . "Remove S|
00006910  74 6f 63 6b 22 3a 20 f2  72 65 6d 6f 76 65 5f 73  |tock": .remove_s|
00006920  74 6f 63 6b 0d 1c e2 25  20 20 c9 20 22 43 68 61  |tock...%  . "Cha|
00006930  6e 67 65 20 53 74 6f 63  6b 22 3a 20 f2 63 68 61  |nge Stock": .cha|
00006940  6e 67 65 5f 73 74 6f 63  6b 0d 1c ea 21 20 20 c9  |nge_stock...!  .|
00006950  20 22 56 69 65 77 20 53  74 6f 63 6b 22 3a 20 f2  | "View Stock": .|
00006960  76 69 65 77 5f 73 74 6f  63 6b 0d 1c f2 05 cb 0d  |view_stock......|
00006970  1c fa 05 e1 0d 1d 02 04  0d 1d 0a 0f dd f2 6d 65  |..............me|
00006980  6d 5f 6f 5f 66 69 6e 0d  1d 12 1e 63 6f 6d 70 24  |m_o_fin....comp$|
00006990  3d a4 57 69 6e 54 69 74  6c 65 28 6d 65 6d 5f 6f  |=.WinTitle(mem_o|
000069a0  6e 6c 79 25 29 0d 1d 1a  0e c8 8e 20 63 6f 6d 70  |nly%)...... comp|
000069b0  24 20 ca 0d 1d 22 27 20  20 c9 20 22 52 65 6d 6f  |$ ..."'  . "Remo|
000069c0  76 65 20 4d 65 6d 62 65  72 22 3a 20 f2 72 65 6d  |ve Member": .rem|
000069d0  6f 76 65 5f 6d 65 6d 62  65 72 0d 1d 2a 27 20 20  |ove_member..*'  |
000069e0  c9 20 22 43 68 61 6e 67  65 20 4d 65 6d 62 65 72  |. "Change Member|
000069f0  22 3a 20 f2 63 68 61 6e  67 65 5f 6d 65 6d 62 65  |": .change_membe|
00006a00  72 0d 1d 32 05 cb 0d 1d  3a 05 e1 0d 1d 42 04 0d  |r..2....:....B..|
00006a10  1d 4a 17 dd a4 57 69 6e  54 69 74 6c 65 28 77 69  |.J...WinTitle(wi|
00006a20  6e 64 6f 77 25 29 0d 1d  52 0f 21 71 25 3d 77 69  |ndow%)..R.!q%=wi|
00006a30  6e 64 6f 77 25 0d 1d 5a  1f c8 99 20 22 57 69 6d  |ndow%..Z... "Wim|
00006a40  70 5f 47 65 74 57 69 6e  64 6f 77 49 6e 66 6f 22  |p_GetWindowInfo"|
00006a50  2c 2c 71 25 0d 1d 62 35  e7 20 28 28 71 25 21 36  |,,q%..b5. ((q%!6|
00006a60  30 29 20 80 20 26 31 30  30 29 3d 30 20 85 20 31  |0) . &100)=0 . 1|
00006a70  2c 22 54 69 74 6c 65 20  69 73 6e 27 74 20 69 6e  |,"Title isn't in|
00006a80  64 69 72 65 63 74 65 64  22 0d 1d 6a 0d 3d 24 28  |directed"..j.=$(|
00006a90  71 25 21 37 36 29 0d 1d  72 04 0d 1d 7a 11 dd f2  |q%!76)..r...z...|
00006aa0  72 65 74 75 72 6e 5f 62  6f 6f 6b 0d 1d 82 14 f2  |return_book.....|
00006ab0  63 68 65 63 6b 5f 62 6f  6f 6b 5f 64 69 72 73 0d  |check_book_dirs.|
00006ac0  1d 8a 13 f2 63 68 65 63  6b 5f 6d 65 6d 5f 64 69  |....check_mem_di|
00006ad0  72 73 0d 1d 92 15 e7 20  62 6f 6f 6b 5f 63 6f 75  |rs..... book_cou|
00006ae0  6e 74 25 3d 30 20 8c 0d  1d 9a 46 20 20 f2 64 69  |nt%=0 ....F  .di|
00006af0  73 5f 6d 65 73 73 61 67  65 28 22 4e 6f 20 62 6f  |s_message("No bo|
00006b00  6f 6b 20 64 69 72 65 63  74 6f 72 69 65 73 20 68  |ok directories h|
00006b10  61 76 65 20 62 65 65 6e  20 73 65 65 6e 20 62 79  |ave been seen by|
00006b20  20 74 68 65 20 66 69 6c  65 72 2e 22 29 0d 1d a2  | the filer.")...|
00006b30  07 20 20 e1 0d 1d aa 05  cd 0d 1d b2 14 e7 20 6d  |.  ........... m|
00006b40  65 6d 5f 63 6f 75 6e 74  25 3d 30 20 8c 0d 1d ba  |em_count%=0 ....|
00006b50  48 20 20 f2 64 69 73 5f  6d 65 73 73 61 67 65 28  |H  .dis_message(|
00006b60  22 4e 6f 20 6d 65 6d 62  65 72 20 64 69 72 65 63  |"No member direc|
00006b70  74 6f 72 69 65 73 20 68  61 76 65 20 62 65 65 6e  |tories have been|
00006b80  20 73 65 65 6e 20 62 79  20 74 68 65 20 66 69 6c  | seen by the fil|
00006b90  65 72 2e 22 29 0d 1d c2  07 20 20 e1 0d 1d ca 05  |er.")....  .....|
00006ba0  cd 0d 1d d2 1e 6e 6f 24  3d a4 67 65 74 74 65 78  |.....no$=.gettex|
00006bb0  74 28 61 63 63 6e 5f 6f  6e 6c 79 25 2c 31 29 0d  |t(accn_only%,1).|
00006bc0  1d da 3c e7 20 a9 28 6e  6f 24 29 3c 3e 36 20 8c  |..<. .(no$)<>6 .|
00006bd0  20 f2 64 69 73 5f 6d 65  73 73 61 67 65 28 22 49  | .dis_message("I|
00006be0  6e 76 61 6c 69 64 20 61  63 63 65 73 73 69 6f 6e  |nvalid accession|
00006bf0  20 6e 75 6d 62 65 72 22  29 3a e1 0d 1d e2 4a e7  | number"):....J.|
00006c00  20 ac 20 a4 76 61 6c 69  64 61 74 65 5f 64 69 67  | . .validate_dig|
00006c10  69 74 73 28 6e 6f 24 29  20 8c 20 f2 64 69 73 5f  |its(no$) . .dis_|
00006c20  6d 65 73 73 61 67 65 28  22 49 6e 76 61 6c 69 64  |message("Invalid|
00006c30  20 61 63 63 65 73 73 69  6f 6e 20 6e 75 6d 62 65  | accession numbe|
00006c40  72 22 29 3a e1 0d 1d ea  0f 6e 6f 24 3d c0 6e 6f  |r"):.....no$=.no|
00006c50  24 2c 35 29 0d 1d f2 23  e7 20 62 6f 6f 6b 5f 64  |$,5)...#. book_d|
00006c60  69 72 5f 64 65 66 25 28  bb 28 c0 6e 6f 24 2c 31  |ir_def%(.(.no$,1|
00006c70  29 29 29 3d a3 20 8c 0d  1d fa 57 20 20 f2 64 69  |)))=. ....W  .di|
00006c80  73 5f 6d 65 73 73 61 67  65 28 22 54 68 65 20 62  |s_message("The b|
00006c90  6f 6f 6b 20 64 69 72 65  63 74 6f 72 79 20 66 6f  |ook directory fo|
00006ca0  72 20 74 68 69 73 20 6e  75 6d 62 65 72 20 68 61  |r this number ha|
00006cb0  73 20 6e 6f 74 20 62 65  65 6e 20 73 65 65 6e 20  |s not been seen |
00006cc0  62 79 20 74 68 65 20 66  69 6c 65 72 22 29 0d 1e  |by the filer")..|
00006cd0  02 07 20 20 e1 0d 1e 0a  05 cd 0d 1e 12 0e 6e 6f  |..  ..........no|
00006ce0  25 3d bb 28 6e 6f 24 29  0d 1e 1a 3d e7 20 28 28  |%=.(no$)...=. ((|
00006cf0  62 6f 6f 6b 64 65 66 25  3f 28 6e 6f 25 20 81 20  |bookdef%?(no% . |
00006d00  38 29 20 80 20 28 31 3c  3c 28 6e 6f 25 20 83 20  |8) . (1<<(no% . |
00006d10  38 29 29 29 3e 3e 3e 28  6e 6f 25 20 83 20 38 29  |8)))>>>(no% . 8)|
00006d20  29 3d 30 20 8c 0d 1e 22  2e 20 20 f2 64 69 73 5f  |)=0 ...".  .dis_|
00006d30  6d 65 73 73 61 67 65 28  22 54 68 69 73 20 62 6f  |message("This bo|
00006d40  6f 6b 20 64 6f 65 73 20  6e 6f 74 20 65 78 69 73  |ok does not exis|
00006d50  74 22 29 0d 1e 2a 07 20  20 e1 0d 1e 32 05 cd 0d  |t")..*.  ...2...|
00006d60  1e 3a 19 f2 6f 70 65 6e  5f 62 6f 6f 6b 5f 63 61  |.:..open_book_ca|
00006d70  63 68 65 28 6e 6f 24 29  0d 1e 42 0e 63 24 3d c2  |che(no$)..B.c$=.|
00006d80  6e 6f 24 2c 32 29 0d 1e  4a 0f 70 69 63 6b 25 3d  |no$,2)..J.pick%=|
00006d90  bb 28 63 24 29 0d 1e 52  58 e7 20 76 61 72 24 28  |.(c$)..RX. var$(|
00006da0  70 69 63 6b 25 2c 34 29  3d 22 49 4e 20 4c 49 42  |pick%,4)="IN LIB|
00006db0  52 41 52 59 22 20 8c 20  f2 64 69 73 5f 6d 65 73  |RARY" . .dis_mes|
00006dc0  73 61 67 65 28 22 54 68  69 73 20 62 6f 6f 6b 20  |sage("This book |
00006dd0  69 73 20 61 6c 72 65 61  64 79 20 69 6e 20 74 68  |is already in th|
00006de0  65 20 6c 69 62 72 61 72  79 22 29 3a e1 0d 1e 5a  |e library"):...Z|
00006df0  23 64 61 24 3d a4 52 65  6d 6f 76 65 5f 50 75 6e  |#da$=.Remove_Pun|
00006e00  63 28 76 61 72 24 28 70  69 63 6b 25 2c 34 29 29  |c(var$(pick%,4))|
00006e10  0d 1e 62 12 64 61 79 24  3d c1 64 61 24 2c 31 2c  |..b.day$=.da$,1,|
00006e20  32 29 0d 1e 6a 12 6d 6f  6e 24 3d c1 64 61 24 2c  |2)..j.mon$=.da$,|
00006e30  33 2c 32 29 0d 1e 72 11  79 72 24 3d c1 64 61 24  |3,2)..r.yr$=.da$|
00006e40  2c 35 2c 32 29 0d 1e 7a  10 6d 65 6d 24 3d c2 64  |,5,2)..z.mem$=.d|
00006e50  61 24 2c 38 29 0d 1e 82  09 74 24 3d 91 24 0d 1e  |a$,8)....t$=.$..|
00006e60  8a 12 64 61 79 32 24 3d  c1 74 24 2c 35 2c 32 29  |..day2$=.t$,5,2)|
00006e70  0d 1e 92 12 6d 6f 6e 32  24 3d c1 74 24 2c 38 2c  |....mon2$=.t$,8,|
00006e80  33 29 0d 1e 9a 0e c8 8e  20 6d 6f 6e 32 24 20 ca  |3)...... mon2$ .|
00006e90  0d 1e a2 19 20 20 c9 20  22 4a 61 6e 22 3a 20 6d  |....  . "Jan": m|
00006ea0  6f 6e 32 24 3d 22 30 31  22 0d 1e aa 19 20 20 c9  |on2$="01"....  .|
00006eb0  20 22 46 65 62 22 3a 20  6d 6f 6e 32 24 3d 22 30  | "Feb": mon2$="0|
00006ec0  32 22 0d 1e b2 19 20 20  c9 20 22 4d 61 72 22 3a  |2"....  . "Mar":|
00006ed0  20 6d 6f 6e 32 24 3d 22  30 33 22 0d 1e ba 19 20  | mon2$="03".... |
00006ee0  20 c9 20 22 41 70 72 22  3a 20 6d 6f 6e 32 24 3d  | . "Apr": mon2$=|
00006ef0  22 30 34 22 0d 1e c2 19  20 20 c9 20 22 4d 61 79  |"04"....  . "May|
00006f00  22 3a 20 6d 6f 6e 32 24  3d 22 30 35 22 0d 1e ca  |": mon2$="05"...|
00006f10  19 20 20 c9 20 22 4a 75  6e 22 3a 20 6d 6f 6e 32  |.  . "Jun": mon2|
00006f20  24 3d 22 30 36 22 0d 1e  d2 19 20 20 c9 20 22 4a  |$="06"....  . "J|
00006f30  75 6c 22 3a 20 6d 6f 6e  32 24 3d 22 30 37 22 0d  |ul": mon2$="07".|
00006f40  1e da 19 20 20 c9 20 22  41 75 67 22 3a 20 6d 6f  |...  . "Aug": mo|
00006f50  6e 32 24 3d 22 30 38 22  0d 1e e2 19 20 20 c9 20  |n2$="08"....  . |
00006f60  22 53 65 70 22 3a 20 6d  6f 6e 32 24 3d 22 30 39  |"Sep": mon2$="09|
00006f70  22 0d 1e ea 19 20 20 c9  20 22 4f 63 74 22 3a 20  |"....  . "Oct": |
00006f80  6d 6f 6e 32 24 3d 22 31  30 22 0d 1e f2 19 20 20  |mon2$="10"....  |
00006f90  c9 20 22 4e 6f 76 22 3a  20 6d 6f 6e 32 24 3d 22  |. "Nov": mon2$="|
00006fa0  31 31 22 0d 1e fa 19 20  20 c9 20 22 44 65 63 22  |11"....  . "Dec"|
00006fb0  3a 20 6d 6f 6e 32 24 3d  22 31 32 22 0d 1f 02 05  |: mon2$="12"....|
00006fc0  cb 0d 1f 0a 12 64 25 3d  bb 28 c0 6d 65 6d 24 2c  |.....d%=.(.mem$,|
00006fd0  32 29 29 0d 1f 12 14 6c  25 3d bb 28 c1 6d 65 6d  |2))....l%=.(.mem|
00006fe0  24 2c 33 2c 32 29 29 0d  1f 1a 14 73 25 3d bb 28  |$,3,2))....s%=.(|
00006ff0  c1 6d 65 6d 24 2c 35 2c  31 29 29 0d 1f 22 14 6e  |.mem$,5,1))..".n|
00007000  25 3d bb 28 c1 6d 65 6d  24 2c 36 2c 33 29 29 0d  |%=.(.mem$,6,3)).|
00007010  1f 2a 1a e7 20 6d 65 6d  5f 64 69 72 5f 64 65 66  |.*.. mem_dir_def|
00007020  25 28 64 25 29 3d a3 20  8c 0d 1f 32 82 20 20 f2  |%(d%)=. ...2.  .|
00007030  64 69 73 5f 6d 65 73 73  61 67 65 28 22 54 68 65  |dis_message("The|
00007040  20 6d 65 6d 62 65 72 73  68 69 70 20 64 69 72 65  | membership dire|
00007050  63 74 6f 72 79 20 6f 66  20 74 68 65 20 62 6f 72  |ctory of the bor|
00007060  72 6f 77 65 72 20 68 61  73 20 6e 6f 74 20 62 65  |rower has not be|
00007070  65 6e 20 73 65 65 6e 20  62 79 20 74 68 65 20 66  |en seen by the f|
00007080  69 6c 65 72 2e 20 4c 6f  63 61 74 65 20 74 68 65  |iler. Locate the|
00007090  20 64 69 72 65 63 74 6f  72 79 20 61 6e 64 20 74  | directory and t|
000070a0  72 79 20 61 67 61 69 6e  2e 22 29 0d 1f 3a 07 20  |ry again.")..:. |
000070b0  20 e1 0d 1f 42 05 cd 0d  1f 4a 34 74 72 79 24 3d  | ...B....J4try$=|
000070c0  22 3c 4d 65 6d 62 65 72  22 2b c3 28 64 25 29 2b  |"<Member"+.(d%)+|
000070d0  22 24 44 69 72 3e 2e 22  2b bd 28 36 35 2b 6c 25  |"$Dir>."+.(65+l%|
000070e0  29 2b 22 2e 22 2b c3 28  73 25 29 0d 1f 52 11 66  |)+"."+.(s%)..R.f|
000070f0  69 6c 6f 25 3d 8e 28 74  72 79 24 29 0d 1f 5a 15  |ilo%=.(try$)..Z.|
00007100  66 69 6c 70 25 3d ae 28  74 72 79 24 2b 22 32 22  |filp%=.(try$+"2"|
00007110  29 0d 1f 62 0f e8 23 66  69 6c 6f 25 2c 74 6e 25  |)..b..#filo%,tn%|
00007120  0d 1f 6a 4a e7 20 74 6e  25 3c 6e 25 20 8c 20 f2  |..jJ. tn%<n% . .|
00007130  64 69 73 5f 6d 65 73 73  61 67 65 28 22 49 6e 76  |dis_message("Inv|
00007140  61 6c 69 64 20 4d 65 6d  62 65 72 73 68 69 70 20  |alid Membership |
00007150  4e 75 6d 62 65 72 22 29  3a d9 23 66 69 6c 6f 25  |Number"):.#filo%|
00007160  3a d9 23 66 69 6c 70 25  3a e1 0d 1f 72 0f f1 23  |:.#filp%:...r..#|
00007170  66 69 6c 70 25 2c 74 6e  25 0d 1f 7a 11 e3 20 73  |filp%,tn%..z.. s|
00007180  63 25 3d 31 20 b8 20 74  6e 25 0d 1f 82 0f e3 20  |c%=1 . tn%..... |
00007190  67 25 3d 31 20 b8 20 31  31 0d 1f 8a 11 e8 23 66  |g%=1 . 11.....#f|
000071a0  69 6c 6f 25 2c 74 65 6d  70 24 0d 1f 92 31 e7 20  |ilo%,temp$...1. |
000071b0  67 25 3d 31 20 80 20 73  63 25 3d 6e 25 20 8c 20  |g%=1 . sc%=n% . |
000071c0  6f 77 65 64 25 3d bb 28  c2 74 65 6d 70 24 2c a9  |owed%=.(.temp$,.|
000071d0  28 74 65 6d 70 24 29 2d  38 29 29 0d 1f 9a 11 f1  |(temp$)-8)).....|
000071e0  23 66 69 6c 70 25 2c 74  65 6d 70 24 0d 1f a2 08  |#filp%,temp$....|
000071f0  ed 20 67 25 0d 1f aa 11  74 65 6d 70 25 3d 9a 23  |. g%....temp%=.#|
00007200  66 69 6c 6f 25 0d 1f b2  11 d5 23 66 69 6c 70 25  |filo%.....#filp%|
00007210  2c 74 65 6d 70 25 0d 1f  ba 0f 62 6e 25 3d 9a 23  |,temp%....bn%=.#|
00007220  66 69 6c 6f 25 0d 1f c2  2a e7 20 73 63 25 3d 6e  |filo%...*. sc%=n|
00007230  25 20 8c 20 d5 23 66 69  6c 70 25 2c 62 6e 25 2d  |% . .#filp%,bn%-|
00007240  31 20 8b 20 d5 23 66 69  6c 70 25 2c 62 6e 25 0d  |1 . .#filp%,bn%.|
00007250  1f ca 10 e3 20 76 25 3d  31 20 b8 20 62 6e 25 0d  |.... v%=1 . bn%.|
00007260  1f d2 0e e7 20 73 63 25  3d 6e 25 20 8c 0d 1f da  |.... sc%=n% ....|
00007270  13 20 20 e8 23 66 69 6c  6f 25 2c 74 65 6d 70 24  |.  .#filo%,temp$|
00007280  0d 1f e2 2a 20 20 e7 20  c0 74 65 6d 70 24 2c 35  |...*  . .temp$,5|
00007290  29 3c 3e c0 6e 6f 24 2c  35 29 20 8c 20 f1 23 66  |)<>.no$,5) . .#f|
000072a0  69 6c 70 25 2c 74 65 6d  70 24 0d 1f ea 05 cc 0d  |ilp%,temp$......|
000072b0  1f f2 13 20 20 e8 23 66  69 6c 6f 25 2c 74 65 6d  |...  .#filo%,tem|
000072c0  70 24 0d 1f fa 13 20 20  f1 23 66 69 6c 70 25 2c  |p$....  .#filp%,|
000072d0  74 65 6d 70 24 0d 20 02  05 cd 0d 20 0a 08 ed 20  |temp$. .... ... |
000072e0  76 25 0d 20 12 09 ed 20  73 63 25 0d 20 1a 0b d9  |v%. ... sc%. ...|
000072f0  23 66 69 6c 6f 25 0d 20  22 0b d9 23 66 69 6c 70  |#filo%. "..#filp|
00007300  25 0d 20 2a 15 ff 28 22  44 65 6c 65 74 65 20 22  |%. *..("Delete "|
00007310  2b 74 72 79 24 29 0d 20  32 1f ff 28 22 52 65 6e  |+try$). 2..("Ren|
00007320  61 6d 65 20 22 2b 74 72  79 24 2b 22 32 20 22 2b  |ame "+try$+"2 "+|
00007330  74 72 79 24 29 0d 20 3a  12 63 61 6c 6c 65 64 5f  |try$). :.called_|
00007340  66 6c 61 67 25 3d a3 0d  20 42 12 79 72 32 24 3d  |flag%=.. B.yr2$=|
00007350  c1 74 24 2c 31 34 2c 32  29 0d 20 4a 16 e7 20 bb  |.t$,14,2). J.. .|
00007360  28 79 72 32 24 29 3e bb  28 79 72 24 29 20 8c 0d  |(yr2$)>.(yr$) ..|
00007370  20 52 2e 20 20 f2 6f 76  65 72 64 75 65 28 79 72  | R.  .overdue(yr|
00007380  32 24 2c 79 72 24 2c 6d  6f 6e 32 24 2c 6d 6f 6e  |2$,yr$,mon2$,mon|
00007390  24 2c 64 61 79 32 24 2c  64 61 79 24 29 0d 20 5a  |$,day2$,day$). Z|
000073a0  05 cc 0d 20 62 18 20 20  e7 20 bb 28 79 72 32 24  |... b.  . .(yr2$|
000073b0  29 3d bb 28 79 72 24 29  20 8c 0d 20 6a 1c 20 20  |)=.(yr$) .. j.  |
000073c0  20 20 e7 20 bb 28 6d 6f  6e 32 24 29 3e bb 28 6d  |  . .(mon2$)>.(m|
000073d0  6f 6e 24 29 20 8c 0d 20  72 32 20 20 20 20 20 20  |on$) .. r2      |
000073e0  f2 6f 76 65 72 64 75 65  28 79 72 32 24 2c 79 72  |.overdue(yr2$,yr|
000073f0  24 2c 6d 6f 6e 32 24 2c  6d 6f 6e 24 2c 64 61 79  |$,mon2$,mon$,day|
00007400  32 24 2c 64 61 79 24 29  0d 20 7a 09 20 20 20 20  |2$,day$). z.    |
00007410  cc 0d 20 82 1e 20 20 20  20 20 20 e7 20 bb 28 6d  |.. ..      . .(m|
00007420  6f 6e 32 24 29 3d bb 28  6d 6f 6e 24 29 20 8c 0d  |on2$)=.(mon$) ..|
00007430  20 8a 20 20 20 20 20 20  20 20 20 e7 20 bb 28 64  | .         . .(d|
00007440  61 79 32 24 29 3e bb 28  64 61 79 24 29 20 8c 0d  |ay2$)>.(day$) ..|
00007450  20 92 36 20 20 20 20 20  20 20 20 20 20 f2 6f 76  | .6          .ov|
00007460  65 72 64 75 65 28 79 72  32 24 2c 79 72 24 2c 6d  |erdue(yr2$,yr$,m|
00007470  6f 6e 32 24 2c 6d 6f 6e  24 2c 64 61 79 32 24 2c  |on2$,mon$,day2$,|
00007480  64 61 79 24 29 0d 20 9a  0d 20 20 20 20 20 20 20  |day$). ..       |
00007490  20 cd 0d 20 a2 0b 20 20  20 20 20 20 cd 0d 20 aa  | .. ..      .. .|
000074a0  09 20 20 20 20 cd 0d 20  b2 07 20 20 cd 0d 20 ba  |.    .. ..  .. .|
000074b0  05 cd 0d 20 c2 20 e7 20  ac 20 63 61 6c 6c 65 64  |... . . . called|
000074c0  5f 66 6c 61 67 25 20 80  20 6f 77 65 64 25 3e 30  |_flag% . owed%>0|
000074d0  20 8c 0d 20 ca 2e 20 20  f2 6f 76 65 72 64 75 65  | .. ..  .overdue|
000074e0  28 79 72 32 24 2c 79 72  24 2c 6d 6f 6e 32 24 2c  |(yr2$,yr$,mon2$,|
000074f0  6d 6f 6e 24 2c 64 61 79  32 24 2c 64 61 79 24 29  |mon$,day2$,day$)|
00007500  0d 20 d2 05 cd 0d 20 da  1e 76 61 72 24 28 70 69  |. .... ..var$(pi|
00007510  63 6b 25 2c 34 29 3d 22  49 4e 20 4c 49 42 52 41  |ck%,4)="IN LIBRA|
00007520  52 59 22 0d 20 e2 14 f2  73 61 76 65 5f 63 61 63  |RY". ...save_cac|
00007530  68 65 28 6e 6f 24 29 0d  20 ea 1c f2 63 6c 65 61  |he(no$). ...clea|
00007540  72 74 65 78 74 28 61 63  63 6e 5f 6f 6e 6c 79 25  |rtext(accn_only%|
00007550  2c 31 29 0d 20 f2 12 21  71 25 3d 61 63 63 6e 5f  |,1). ..!q%=accn_|
00007560  6f 6e 6c 79 25 0d 20 fa  1d c8 99 20 22 57 69 6d  |only%. .... "Wim|
00007570  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00007580  71 25 0d 21 02 0c e7 20  77 5f 61 25 20 8c 0d 21  |q%.!... w_a% ..!|
00007590  0a 3f 20 20 61 24 3d 22  46 22 2b c3 28 6c 6f 67  |.?  a$="F"+.(log|
000075a0  67 65 64 5f 6f 6e 25 29  2b 22 3b 22 2b 70 61 73  |ged_on%)+";"+pas|
000075b0  73 24 28 6c 6f 67 67 65  64 5f 6f 6e 25 2c 30 29  |s$(logged_on%,0)|
000075c0  2b 22 3b 22 2b 6e 6f 24  2b 6d 65 6d 24 0d 21 12  |+";"+no$+mem$.!.|
000075d0  17 20 20 f2 61 64 64 5f  77 61 74 63 68 64 6f 67  |.  .add_watchdog|
000075e0  28 61 24 29 0d 21 1a 05  cd 0d 21 22 05 e1 0d 21  |(a$).!....!"...!|
000075f0  2a 04 0d 21 32 20 dd f2  78 6f 72 28 68 61 6e 64  |*..!2 ..xor(hand|
00007600  6c 65 25 2c 69 63 6f 6e  25 2c 6e 74 69 6d 65 73  |le%,icon%,ntimes|
00007610  25 29 0d 21 3a 38 ea 20  49 25 3a e3 20 49 25 3d  |%).!:8. I%:. I%=|
00007620  31 20 b8 20 6e 74 69 6d  65 73 25 3a f2 73 65 74  |1 . ntimes%:.set|
00007630  69 28 68 61 6e 64 6c 65  25 2c 69 63 6f 6e 25 2c  |i(handle%,icon%,|
00007640  26 32 30 30 30 30 30 2c  30 29 0d 21 42 1d 74 65  |&200000,0).!B.te|
00007650  6d 70 74 25 3d 91 3a f5  20 fd 20 91 2d 74 65 6d  |mpt%=.:. . .-tem|
00007660  70 74 25 3e 33 3a ed 0d  21 4a 05 e1 0d 21 52 04  |pt%>3:..!J...!R.|
00007670  0d 21 5a 23 dd f2 73 65  74 69 28 68 61 6e 64 6c  |.!Z#..seti(handl|
00007680  65 25 2c 69 63 6f 6e 25  2c 65 6f 72 25 2c 62 69  |e%,icon%,eor%,bi|
00007690  63 25 29 0d 21 62 4a 21  71 25 3d 68 61 6e 64 6c  |c%).!bJ!q%=handl|
000076a0  65 25 3a 71 25 21 34 3d  69 63 6f 6e 25 3a 71 25  |e%:q%!4=icon%:q%|
000076b0  21 38 3d 65 6f 72 25 3a  71 25 21 31 32 3d 62 69  |!8=eor%:q%!12=bi|
000076c0  63 25 3a c8 99 20 22 57  69 6d 70 5f 53 65 74 49  |c%:.. "Wimp_SetI|
000076d0  63 6f 6e 53 74 61 74 65  22 2c 2c 71 25 0d 21 6a  |conState",,q%.!j|
000076e0  05 e1 0d 21 72 04 0d 21  7a 0e dd f2 64 69 73 5f  |...!r..!z...dis_|
000076f0  6c 65 6e 64 0d 21 82 29  f2 70 75 74 74 65 78 74  |lend.!.).puttext|
00007700  28 6f 70 74 6c 65 6e 64  25 2c 35 2c c3 28 6c 65  |(optlend%,5,.(le|
00007710  6e 64 69 6e 67 25 28 30  2c 30 29 29 29 0d 21 8a  |nding%(0,0))).!.|
00007720  29 f2 70 75 74 74 65 78  74 28 6f 70 74 6c 65 6e  |).puttext(optlen|
00007730  64 25 2c 36 2c c3 28 6c  65 6e 64 69 6e 67 25 28  |d%,6,.(lending%(|
00007740  30 2c 31 29 29 29 0d 21  92 2a f2 70 75 74 74 65  |0,1))).!.*.putte|
00007750  78 74 28 6f 70 74 6c 65  6e 64 25 2c 31 33 2c c3  |xt(optlend%,13,.|
00007760  28 6c 65 6e 64 69 6e 67  25 28 31 2c 30 29 29 29  |(lending%(1,0)))|
00007770  0d 21 9a 2a f2 70 75 74  74 65 78 74 28 6f 70 74  |.!.*.puttext(opt|
00007780  6c 65 6e 64 25 2c 31 34  2c c3 28 6c 65 6e 64 69  |lend%,14,.(lendi|
00007790  6e 67 25 28 31 2c 31 29  29 29 0d 21 a2 2a f2 70  |ng%(1,1))).!.*.p|
000077a0  75 74 74 65 78 74 28 6f  70 74 6c 65 6e 64 25 2c  |uttext(optlend%,|
000077b0  31 35 2c c3 28 6c 65 6e  64 69 6e 67 25 28 31 2c  |15,.(lending%(1,|
000077c0  32 29 29 29 0d 21 aa 05  e1 0d 21 b2 04 0d 21 ba  |2))).!....!...!.|
000077d0  17 dd a4 67 65 74 74 65  78 74 28 21 71 25 2c 71  |...gettext(!q%,q|
000077e0  25 21 34 29 0d 21 c2 1e  c8 99 20 22 57 69 6d 70  |%!4).!.... "Wimp|
000077f0  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00007800  71 25 0d 21 ca 0d 3d 24  28 71 25 21 32 38 29 0d  |q%.!..=$(q%!28).|
00007810  21 d2 04 0d 21 da 12 dd  f2 72 65 6d 6f 76 65 5f  |!...!....remove_|
00007820  73 74 6f 63 6b 0d 21 e2  14 f2 63 68 65 63 6b 5f  |stock.!...check_|
00007830  62 6f 6f 6b 5f 64 69 72  73 0d 21 ea 13 f2 63 68  |book_dirs.!...ch|
00007840  65 63 6b 5f 6d 65 6d 5f  64 69 72 73 0d 21 f2 15  |eck_mem_dirs.!..|
00007850  e7 20 62 6f 6f 6b 5f 63  6f 75 6e 74 25 3d 30 20  |. book_count%=0 |
00007860  8c 0d 21 fa 46 20 20 f2  64 69 73 5f 6d 65 73 73  |..!.F  .dis_mess|
00007870  61 67 65 28 22 4e 6f 20  62 6f 6f 6b 20 64 69 72  |age("No book dir|
00007880  65 63 74 6f 72 69 65 73  20 68 61 76 65 20 62 65  |ectories have be|
00007890  65 6e 20 73 65 65 6e 20  62 79 20 74 68 65 20 66  |en seen by the f|
000078a0  69 6c 65 72 2e 22 29 0d  22 02 07 20 20 e1 0d 22  |iler.")."..  .."|
000078b0  0a 05 cd 0d 22 12 1e 6e  6f 24 3d a4 67 65 74 74  |...."..no$=.gett|
000078c0  65 78 74 28 61 63 63 6e  5f 6f 6e 6c 79 25 2c 31  |ext(accn_only%,1|
000078d0  29 0d 22 1a 0b 66 6e 24  3d 6e 6f 24 0d 22 22 4a  |)."..fn$=no$.""J|
000078e0  e7 20 ac 20 a4 76 61 6c  69 64 61 74 65 5f 64 69  |. . .validate_di|
000078f0  67 69 74 73 28 6e 6f 24  29 20 8c 20 f2 64 69 73  |gits(no$) . .dis|
00007900  5f 6d 65 73 73 61 67 65  28 22 49 6e 76 61 6c 69  |_message("Invali|
00007910  64 20 41 63 63 65 73 73  69 6f 6e 20 4e 75 6d 62  |d Accession Numb|
00007920  65 72 22 29 3a e1 0d 22  2a 1a 6e 6f 24 3d c0 6e  |er"):.."*.no$=.n|
00007930  6f 24 2c 35 29 3a 6e 6f  25 3d bb 28 6e 6f 24 29  |o$,5):no%=.(no$)|
00007940  0d 22 32 23 e7 20 62 6f  6f 6b 5f 64 69 72 5f 64  |."2#. book_dir_d|
00007950  65 66 25 28 bb 28 c0 6e  6f 24 2c 31 29 29 29 3d  |ef%(.(.no$,1)))=|
00007960  a3 20 8c 0d 22 3a 55 20  20 f2 64 69 73 5f 6d 65  |. ..":U  .dis_me|
00007970  73 73 61 67 65 28 22 54  68 65 20 62 6f 6f 6b 20  |ssage("The book |
00007980  64 69 72 65 63 74 6f 72  79 20 66 6f 72 20 74 68  |directory for th|
00007990  61 74 20 62 6f 6f 6b 20  68 61 73 20 6e 6f 74 20  |at book has not |
000079a0  62 65 65 6e 20 73 65 65  6e 20 62 79 20 74 68 65  |been seen by the|
000079b0  20 66 69 6c 65 72 22 29  0d 22 42 07 20 20 e1 0d  | filer")."B.  ..|
000079c0  22 4a 05 cd 0d 22 52 3d  e7 20 28 28 62 6f 6f 6b  |"J..."R=. ((book|
000079d0  64 65 66 25 3f 28 6e 6f  25 20 81 20 38 29 20 80  |def%?(no% . 8) .|
000079e0  20 28 31 3c 3c 28 6e 6f  25 20 83 20 38 29 29 29  | (1<<(no% . 8)))|
000079f0  3e 3e 3e 28 6e 6f 25 20  83 20 38 29 29 3d 30 20  |>>>(no% . 8))=0 |
00007a00  8c 0d 22 5a 2e 20 20 f2  64 69 73 5f 6d 65 73 73  |.."Z.  .dis_mess|
00007a10  61 67 65 28 22 54 68 69  73 20 62 6f 6f 6b 20 64  |age("This book d|
00007a20  6f 65 73 20 6e 6f 74 20  65 78 69 73 74 22 29 0d  |oes not exist").|
00007a30  22 62 07 20 20 e1 0d 22  6a 05 cd 0d 22 72 19 f2  |"b.  .."j..."r..|
00007a40  6f 70 65 6e 5f 62 6f 6f  6b 5f 63 61 63 68 65 28  |open_book_cache(|
00007a50  6e 6f 24 29 0d 22 7a 0e  63 24 3d c2 6e 6f 24 2c  |no$)."z.c$=.no$,|
00007a60  32 29 0d 22 82 0f 70 69  63 6b 25 3d bb 28 63 24  |2)."..pick%=.(c$|
00007a70  29 0d 22 8a 12 64 69 76  69 73 25 3d 6e 6f 25 20  |)."..divis%=no% |
00007a80  81 20 38 0d 22 92 12 6d  6f 64 75 6c 25 3d 6e 6f  |. 8."..modul%=no|
00007a90  25 20 83 20 38 0d 22 9a  13 21 71 25 3d 63 6f 6e  |% . 8."..!q%=con|
00007aa0  66 5f 72 65 6d 73 74 25  0d 22 a2 20 c8 99 20 22  |f_remst%.". .. "|
00007ab0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00007ac0  61 74 65 22 2c 2c 71 25  0d 22 aa 0c 71 25 21 32  |ate",,q%."..q%!2|
00007ad0  38 3d 2d 31 0d 22 b2 1c  c8 99 20 22 57 69 6d 70  |8=-1.".... "Wimp|
00007ae0  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 71 25  |_OpenWindow",,q%|
00007af0  0d 22 ba 22 e7 20 76 61  72 24 28 70 69 63 6b 25  |.".". var$(pick%|
00007b00  2c 34 29 3d 22 49 4e 20  4c 49 42 52 41 52 59 22  |,4)="IN LIBRARY"|
00007b10  20 8c 0d 22 c2 19 20 20  73 74 61 74 24 3d 76 61  | .."..  stat$=va|
00007b20  72 24 28 70 69 63 6b 25  2c 34 29 0d 22 ca 05 cc  |r$(pick%,4)."...|
00007b30  0d 22 d2 16 20 20 71 24  3d 76 61 72 24 28 70 69  |."..  q$=var$(pi|
00007b40  63 6b 25 2c 34 29 0d 22  da 33 20 20 73 74 61 74  |ck%,4).".3  stat|
00007b50  24 3d 22 44 75 65 20 22  2b c0 71 24 2c 32 29 2b  |$="Due "+.q$,2)+|
00007b60  22 2d 22 2b c1 71 24 2c  33 2c 32 29 2b 22 2d 22  |"-"+.q$,3,2)+"-"|
00007b70  2b c1 71 24 2c 35 2c 32  29 0d 22 e2 1f 20 20 73  |+.q$,5,2)."..  s|
00007b80  74 61 74 24 2b 3d 22 20  20 4d 65 6d 62 65 72 20  |tat$+="  Member |
00007b90  22 2b c2 71 24 2c 38 29  0d 22 ea 05 cd 0d 22 f2  |"+.q$,8)."....".|
00007ba0  29 f2 70 75 74 74 65 78  74 28 63 6f 6e 66 5f 72  |).puttext(conf_r|
00007bb0  65 6d 73 74 25 2c 32 2c  76 61 72 24 28 70 69 63  |emst%,2,var$(pic|
00007bc0  6b 25 2c 30 29 29 0d 22  fa 29 f2 70 75 74 74 65  |k%,0)).".).putte|
00007bd0  78 74 28 63 6f 6e 66 5f  72 65 6d 73 74 25 2c 34  |xt(conf_remst%,4|
00007be0  2c 76 61 72 24 28 70 69  63 6b 25 2c 31 29 29 0d  |,var$(pick%,1)).|
00007bf0  23 02 1f f2 70 75 74 74  65 78 74 28 63 6f 6e 66  |#...puttext(conf|
00007c00  5f 72 65 6d 73 74 25 2c  36 2c 66 6e 24 29 0d 23  |_remst%,6,fn$).#|
00007c10  0a 29 f2 70 75 74 74 65  78 74 28 63 6f 6e 66 5f  |.).puttext(conf_|
00007c20  72 65 6d 73 74 25 2c 38  2c 76 61 72 24 28 70 69  |remst%,8,var$(pi|
00007c30  63 6b 25 2c 32 29 29 0d  23 12 2a f2 70 75 74 74  |ck%,2)).#.*.putt|
00007c40  65 78 74 28 63 6f 6e 66  5f 72 65 6d 73 74 25 2c  |ext(conf_remst%,|
00007c50  31 30 2c 76 61 72 24 28  70 69 63 6b 25 2c 33 29  |10,var$(pick%,3)|
00007c60  29 0d 23 1a 22 f2 70 75  74 74 65 78 74 28 63 6f  |).#.".puttext(co|
00007c70  6e 66 5f 72 65 6d 73 74  25 2c 31 33 2c 73 74 61  |nf_remst%,13,sta|
00007c80  74 24 29 0d 23 22 05 f5  0d 23 2a 1f 20 20 c8 99  |t$).#"...#*.  ..|
00007c90  20 22 57 69 6d 70 5f 50  6f 6c 6c 22 2c 26 30 2c  | "Wimp_Poll",&0,|
00007ca0  71 25 20 b8 20 41 25 0d  23 32 36 fd 20 41 25 3d  |q% . A%.#26. A%=|
00007cb0  36 20 80 20 71 25 21 31  32 3d 63 6f 6e 66 5f 72  |6 . q%!12=conf_r|
00007cc0  65 6d 73 74 25 20 80 20  28 71 25 21 31 36 3d 31  |emst% . (q%!16=1|
00007cd0  34 20 84 20 71 25 21 31  36 3d 31 35 29 0d 23 3a  |4 . q%!16=15).#:|
00007ce0  0e 73 65 6c 25 3d 71 25  21 31 36 0d 23 42 13 21  |.sel%=q%!16.#B.!|
00007cf0  71 25 3d 63 6f 6e 66 5f  72 65 6d 73 74 25 0d 23  |q%=conf_remst%.#|
00007d00  4a 1d c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |J... "Wimp_Close|
00007d10  57 69 6e 64 6f 77 22 2c  2c 71 25 0d 23 52 12 21  |Window",,q%.#R.!|
00007d20  71 25 3d 61 63 63 6e 5f  6f 6e 6c 79 25 0d 23 5a  |q%=accn_only%.#Z|
00007d30  1d c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 57  |... "Wimp_CloseW|
00007d40  69 6e 64 6f 77 22 2c 2c  71 25 0d 23 62 1c f2 63  |indow",,q%.#b..c|
00007d50  6c 65 61 72 74 65 78 74  28 61 63 63 6e 5f 6f 6e  |leartext(accn_on|
00007d60  6c 79 25 2c 31 29 0d 23  6a 11 e7 20 73 65 6c 25  |ly%,1).#j.. sel%|
00007d70  3d 31 35 20 8c 20 e1 0d  23 72 0e e3 20 63 25 3d  |=15 . ..#r.. c%=|
00007d80  30 20 b8 20 34 0d 23 7a  15 76 61 72 24 28 70 69  |0 . 4.#z.var$(pi|
00007d90  63 6b 25 2c 63 25 29 3d  22 22 0d 23 82 08 ed 20  |ck%,c%)="".#... |
00007da0  63 25 0d 23 8a 31 62 6f  6f 6b 64 65 66 25 3f 64  |c%.#.1bookdef%?d|
00007db0  69 76 69 73 25 3d 62 6f  6f 6b 64 65 66 25 3f 64  |ivis%=bookdef%?d|
00007dc0  69 76 69 73 25 20 82 20  28 31 3c 3c 6d 6f 64 75  |ivis% . (1<<modu|
00007dd0  6c 25 29 0d 23 92 14 f2  73 61 76 65 5f 63 61 63  |l%).#...save_cac|
00007de0  68 65 28 6e 6f 24 29 0d  23 9a 63 ff 28 22 53 61  |he(no$).#.c.("Sa|
00007df0  76 65 20 3c 42 6f 6f 6b  73 22 2b c3 28 6e 6f 25  |ve <Books"+.(no%|
00007e00  20 83 20 31 30 30 30 30  29 2b 22 24 44 69 72 3e  | . 10000)+"$Dir>|
00007e10  2e 5e 2e 42 6f 6f 6b 44  65 66 20 22 2b c3 7e 28  |.^.BookDef "+.~(|
00007e20  62 6f 6f 6b 64 65 66 25  2b 28 6e 6f 25 20 81 20  |bookdef%+(no% . |
00007e30  31 30 30 30 30 29 2a 31  32 35 30 29 2b 22 20 2b  |10000)*1250)+" +|
00007e40  20 22 2b c3 7e 31 32 35  30 29 0d 23 a2 0c e7 20  | "+.~1250).#... |
00007e50  77 5f 61 25 20 8c 0d 23  aa 3a 20 20 61 24 3d 22  |w_a% ..#.:  a$="|
00007e60  49 22 2b c3 28 6c 6f 67  67 65 64 5f 6f 6e 25 29  |I"+.(logged_on%)|
00007e70  2b 22 3b 22 2b 70 61 73  73 24 28 6c 6f 67 67 65  |+";"+pass$(logge|
00007e80  64 5f 6f 6e 25 2c 30 29  2b 22 3b 22 2b 6e 6f 24  |d_on%,0)+";"+no$|
00007e90  0d 23 b2 17 20 20 f2 61  64 64 5f 77 61 74 63 68  |.#..  .add_watch|
00007ea0  64 6f 67 28 61 24 29 0d  23 ba 05 cd 0d 23 c2 05  |dog(a$).#....#..|
00007eb0  e1 0d 23 ca 04 0d 23 d2  1b dd f2 70 75 74 74 65  |..#...#....putte|
00007ec0  78 74 28 77 69 6e 25 2c  69 63 6f 25 2c 73 24 29  |xt(win%,ico%,s$)|
00007ed0  0d 23 da 0c 21 71 25 3d  77 69 6e 25 0d 23 e2 0d  |.#..!q%=win%.#..|
00007ee0  71 25 21 34 3d 69 63 6f  25 0d 23 ea 1e c8 99 20  |q%!4=ico%.#.... |
00007ef0  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00007f00  74 65 22 2c 2c 71 25 0d  23 f2 0c 21 71 25 3d 77  |te",,q%.#..!q%=w|
00007f10  69 6e 25 0d 23 fa 0d 71  25 21 34 3d 69 63 6f 25  |in%.#..q%!4=ico%|
00007f20  0d 24 02 12 71 25 21 38  3d 30 3a 71 25 21 31 32  |.$..q%!8=0:q%!12|
00007f30  3d 30 0d 24 0a 0f 24 28  71 25 21 32 38 29 3d 73  |=0.$..$(q%!28)=s|
00007f40  24 0d 24 12 1e c8 99 20  22 57 69 6d 70 5f 53 65  |$.$.... "Wimp_Se|
00007f50  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 71 25 0d  |tIconState",,q%.|
00007f60  24 1a 05 e1 0d 24 22 04  0d 24 2a 11 dd f2 73 70  |$....$"..$*...sp|
00007f70  72 69 74 65 5f 6c 6f 61  64 0d 24 32 0b ea 20 73  |rite_load.$2.. s|
00007f80  25 2c 74 25 0d 24 3a 3b  73 25 3d 8e 28 22 3c 4c  |%,t%.$:;s%=.("<L|
00007f90  69 62 72 61 72 79 24 44  69 72 3e 2e 52 65 73 6f  |ibrary$Dir>.Reso|
00007fa0  75 72 63 65 73 2e 53 70  72 69 74 65 73 22 29 3a  |urces.Sprites"):|
00007fb0  74 25 3d a2 23 73 25 2b  31 36 3a d9 23 73 25 0d  |t%=.#s%+16:.#s%.|
00007fc0  24 42 1c de 20 73 70 72  69 74 65 73 25 20 74 25  |$B.. sprites% t%|
00007fd0  2c 73 70 6e 61 6d 65 25  20 31 32 0d 24 4a 1d 21  |,spname% 12.$J.!|
00007fe0  73 70 72 69 74 65 73 25  3d 74 25 3a 73 70 72 69  |sprites%=t%:spri|
00007ff0  74 65 73 25 21 38 3d 30  0d 24 52 22 c8 99 20 22  |tes%!8=0.$R".. "|
00008000  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 30  |OS_SpriteOp",&10|
00008010  39 2c 73 70 72 69 74 65  73 25 0d 24 5a 44 c8 99  |9,sprites%.$ZD..|
00008020  20 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  | "OS_SpriteOp",&|
00008030  31 30 41 2c 73 70 72 69  74 65 73 25 2c 22 3c 4c  |10A,sprites%,"<L|
00008040  69 62 72 61 72 79 24 44  69 72 3e 2e 52 65 73 6f  |ibrary$Dir>.Reso|
00008050  75 72 63 65 73 2e 53 70  72 69 74 65 73 22 0d 24  |urces.Sprites".$|
00008060  62 3a 73 25 3d 8e 28 22  3c 4c 69 62 72 61 72 79  |b:s%=.("<Library|
00008070  24 44 69 72 3e 2e 52 65  73 6f 75 72 63 65 73 2e  |$Dir>.Resources.|
00008080  42 6f 6f 6b 53 70 22 29  3a 74 25 3d a2 23 73 25  |BookSp"):t%=.#s%|
00008090  2b 31 36 3a d9 23 73 25  0d 24 6a 1f de 20 62 6f  |+16:.#s%.$j.. bo|
000080a0  6f 6b 73 70 25 20 74 25  2c 62 6f 6f 6b 73 70 6e  |oksp% t%,bookspn|
000080b0  61 6d 65 25 20 31 32 0d  24 72 1b 21 62 6f 6f 6b  |ame% 12.$r.!book|
000080c0  73 70 25 3d 74 25 3a 62  6f 6f 6b 73 70 25 21 38  |sp%=t%:booksp%!8|
000080d0  3d 30 0d 24 7a 21 c8 99  20 22 4f 53 5f 53 70 72  |=0.$z!.. "OS_Spr|
000080e0  69 74 65 4f 70 22 2c 26  31 30 39 2c 62 6f 6f 6b  |iteOp",&109,book|
000080f0  73 70 25 0d 24 82 42 c8  99 20 22 4f 53 5f 53 70  |sp%.$.B.. "OS_Sp|
00008100  72 69 74 65 4f 70 22 2c  26 31 30 41 2c 62 6f 6f  |riteOp",&10A,boo|
00008110  6b 73 70 25 2c 22 3c 4c  69 62 72 61 72 79 24 44  |ksp%,"<Library$D|
00008120  69 72 3e 2e 52 65 73 6f  75 72 63 65 73 2e 42 6f  |ir>.Resources.Bo|
00008130  6f 6b 53 70 22 0d 24 8a  39 73 25 3d 8e 28 22 3c  |okSp".$.9s%=.("<|
00008140  4c 69 62 72 61 72 79 24  44 69 72 3e 2e 52 65 73  |Library$Dir>.Res|
00008150  6f 75 72 63 65 73 2e 4d  65 6d 53 70 22 29 3a 74  |ources.MemSp"):t|
00008160  25 3d a2 23 73 25 2b 31  36 3a d9 23 73 25 0d 24  |%=.#s%+16:.#s%.$|
00008170  92 1d de 20 6d 65 6d 73  70 25 20 74 25 2c 6d 65  |... memsp% t%,me|
00008180  6d 73 70 6e 61 6d 65 25  20 31 32 0d 24 9a 19 21  |mspname% 12.$..!|
00008190  6d 65 6d 73 70 25 3d 74  25 3a 6d 65 6d 73 70 25  |memsp%=t%:memsp%|
000081a0  21 38 3d 30 0d 24 a2 20  c8 99 20 22 4f 53 5f 53  |!8=0.$. .. "OS_S|
000081b0  70 72 69 74 65 4f 70 22  2c 26 31 30 39 2c 6d 65  |priteOp",&109,me|
000081c0  6d 73 70 25 0d 24 aa 40  c8 99 20 22 4f 53 5f 53  |msp%.$.@.. "OS_S|
000081d0  70 72 69 74 65 4f 70 22  2c 26 31 30 41 2c 6d 65  |priteOp",&10A,me|
000081e0  6d 73 70 25 2c 22 3c 4c  69 62 72 61 72 79 24 44  |msp%,"<Library$D|
000081f0  69 72 3e 2e 52 65 73 6f  75 72 63 65 73 2e 4d 65  |ir>.Resources.Me|
00008200  6d 53 70 22 0d 24 b2 3c  73 25 3d 8e 28 22 3c 4c  |mSp".$.<s%=.("<L|
00008210  69 62 72 61 72 79 24 44  69 72 3e 2e 52 65 73 6f  |ibrary$Dir>.Reso|
00008220  75 72 63 65 73 2e 42 6f  6f 6b 53 70 32 32 22 29  |urces.BookSp22")|
00008230  3a 74 25 3d a2 23 73 25  2b 31 36 3a d9 23 73 25  |:t%=.#s%+16:.#s%|
00008240  0d 24 ba 23 de 20 62 6f  6f 6b 73 70 32 32 25 20  |.$.#. booksp22% |
00008250  74 25 2c 62 6f 6f 6b 73  70 32 32 6e 61 6d 65 25  |t%,booksp22name%|
00008260  20 31 32 0d 24 c2 1f 21  62 6f 6f 6b 73 70 32 32  | 12.$..!booksp22|
00008270  25 3d 74 25 3a 62 6f 6f  6b 73 70 32 32 25 21 38  |%=t%:booksp22%!8|
00008280  3d 30 0d 24 ca 23 c8 99  20 22 4f 53 5f 53 70 72  |=0.$.#.. "OS_Spr|
00008290  69 74 65 4f 70 22 2c 26  31 30 39 2c 62 6f 6f 6b  |iteOp",&109,book|
000082a0  73 70 32 32 25 0d 24 d2  46 c8 99 20 22 4f 53 5f  |sp22%.$.F.. "OS_|
000082b0  53 70 72 69 74 65 4f 70  22 2c 26 31 30 41 2c 62  |SpriteOp",&10A,b|
000082c0  6f 6f 6b 73 70 32 32 25  2c 22 3c 4c 69 62 72 61  |ooksp22%,"<Libra|
000082d0  72 79 24 44 69 72 3e 2e  52 65 73 6f 75 72 63 65  |ry$Dir>.Resource|
000082e0  73 2e 42 6f 6f 6b 53 70  32 32 22 0d 24 da 3b 73  |s.BookSp22".$.;s|
000082f0  25 3d 8e 28 22 3c 4c 69  62 72 61 72 79 24 44 69  |%=.("<Library$Di|
00008300  72 3e 2e 52 65 73 6f 75  72 63 65 73 2e 4d 65 6d  |r>.Resources.Mem|
00008310  53 70 32 32 22 29 3a 74  25 3d a2 23 73 25 2b 31  |Sp22"):t%=.#s%+1|
00008320  36 3a d9 23 73 25 0d 24  e2 21 de 20 6d 65 6d 73  |6:.#s%.$.!. mems|
00008330  70 32 32 25 20 74 25 2c  6d 65 6d 73 70 32 32 6e  |p22% t%,memsp22n|
00008340  61 6d 65 25 20 31 32 0d  24 ea 1d 21 6d 65 6d 73  |ame% 12.$..!mems|
00008350  70 32 32 25 3d 74 25 3a  6d 65 6d 73 70 32 32 25  |p22%=t%:memsp22%|
00008360  21 38 3d 30 0d 24 f2 22  c8 99 20 22 4f 53 5f 53  |!8=0.$.".. "OS_S|
00008370  70 72 69 74 65 4f 70 22  2c 26 31 30 39 2c 6d 65  |priteOp",&109,me|
00008380  6d 73 70 32 32 25 0d 24  fa 44 c8 99 20 22 4f 53  |msp22%.$.D.. "OS|
00008390  5f 53 70 72 69 74 65 4f  70 22 2c 26 31 30 41 2c  |_SpriteOp",&10A,|
000083a0  6d 65 6d 73 70 32 32 25  2c 22 3c 4c 69 62 72 61  |memsp22%,"<Libra|
000083b0  72 79 24 44 69 72 3e 2e  52 65 73 6f 75 72 63 65  |ry$Dir>.Resource|
000083c0  73 2e 4d 65 6d 53 70 32  32 22 0d 25 02 05 e1 0d  |s.MemSp22".%....|
000083d0  25 0a 04 0d 25 12 12 dd  f2 6e 65 77 73 5f 64 69  |%...%....news_di|
000083e0  73 70 6c 61 79 0d 25 1a  15 c8 99 20 22 48 6f 75  |splay.%.... "Hou|
000083f0  72 67 6c 61 73 73 5f 4f  6e 22 0d 25 22 26 66 69  |rglass_On".%"&fi|
00008400  6c 6f 25 3d 8e 28 22 3c  4c 69 62 72 61 72 79 24  |lo%=.("<Library$|
00008410  44 69 72 3e 2e 54 65 78  74 2e 4e 65 77 73 22 29  |Dir>.Text.News")|
00008420  0d 25 2a 2c e7 20 66 69  6c 6f 25 3d 30 20 8c 20  |.%*,. filo%=0 . |
00008430  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |.. "Hourglass_Of|
00008440  66 22 3a d9 23 66 69 6c  6f 25 3a e1 0d 25 32 0b  |f":.#filo%:..%2.|
00008450  77 69 6e 70 25 3d 30 0d  25 3a 05 f5 0d 25 42 10  |winp%=0.%:...%B.|
00008460  20 20 73 24 3d be 23 66  69 6c 6f 25 0d 25 4a 14  |  s$=.#filo%.%J.|
00008470  20 20 f2 61 64 64 74 6f  6e 65 77 73 28 73 24 29  |  .addtonews(s$)|
00008480  0d 25 52 0d fd 20 c5 23  66 69 6c 6f 25 0d 25 5a  |.%R.. .#filo%.%Z|
00008490  0b d9 23 66 69 6c 6f 25  0d 25 62 16 c8 99 20 22  |..#filo%.%b... "|
000084a0  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 0d 25  |Hourglass_Off".%|
000084b0  6a 11 21 71 25 3d 6d 61  69 6e 5f 61 75 78 25 0d  |j.!q%=main_aux%.|
000084c0  25 72 1d c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |%r... "Wimp_Clos|
000084d0  65 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 25 7a 09  |eWindow",,q%.%z.|
000084e0  21 71 25 3d 30 0d 25 82  15 71 25 21 34 3d 77 69  |!q%=0.%..q%!4=wi|
000084f0  6e 70 25 2a 2d 34 38 2b  31 30 0d 25 8a 0d 71 25  |np%*-48+10.%..q%|
00008500  21 38 3d 31 32 33 32 0d  25 92 0b 71 25 21 31 32  |!8=1232.%..q%!12|
00008510  3d 30 0d 25 9a 24 c8 99  20 22 57 69 6d 70 5f 53  |=0.%.$.. "Wimp_S|
00008520  65 74 45 78 74 65 6e 74  22 2c 6d 61 69 6e 5f 61  |etExtent",main_a|
00008530  75 78 25 2c 71 25 0d 25  a2 11 21 71 25 3d 6d 61  |ux%,q%.%..!q%=ma|
00008540  69 6e 5f 61 75 78 25 0d  25 aa 1f c8 99 20 22 57  |in_aux%.%.... "W|
00008550  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 49 6e 66  |imp_GetWindowInf|
00008560  6f 22 2c 2c 71 25 0d 25  b2 10 5f 70 25 3d 21 28  |o",,q%.%.._p%=!(|
00008570  71 25 2b 37 36 29 0d 25  ba 0f 24 5f 70 25 3d 22  |q%+76).%..$_p%="|
00008580  4e 65 77 73 22 0d 25 c2  11 21 71 25 3d 6d 61 69  |News".%..!q%=mai|
00008590  6e 5f 61 75 78 25 0d 25  ca 20 c8 99 20 22 57 69  |n_aux%.%. .. "Wi|
000085a0  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
000085b0  65 22 2c 2c 71 25 0d 25  d2 0c 71 25 21 32 38 3d  |e",,q%.%..q%!28=|
000085c0  2d 31 0d 25 da 0f 75 73  69 6e 67 5f 72 64 25 3d  |-1.%..using_rd%=|
000085d0  33 0d 25 e2 1c c8 99 20  22 57 69 6d 70 5f 4f 70  |3.%.... "Wimp_Op|
000085e0  65 6e 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 25 ea  |enWindow",,q%.%.|
000085f0  05 e1 0d 25 f2 04 0d 25  fa 15 dd f2 69 73 73 75  |...%...%....issu|
00008600  65 5f 73 65 74 5f 64 61  74 65 73 0d 26 02 0b 72  |e_set_dates.&..r|
00008610  65 6c 24 3d 91 24 0d 26  0a 13 64 61 79 5f 6e 24  |el$=.$.&..day_n$|
00008620  3d c0 72 65 6c 24 2c 33  29 0d 26 12 13 64 61 79  |=.rel$,3).&..day|
00008630  24 3d c1 72 65 6c 24 2c  35 2c 32 29 0d 26 1a 13  |$=.rel$,5,2).&..|
00008640  6d 6f 6e 24 3d c1 72 65  6c 24 2c 38 2c 33 29 0d  |mon$=.rel$,8,3).|
00008650  26 22 13 79 72 24 3d c1  72 65 6c 24 2c 31 32 2c  |&".yr$=.rel$,12,|
00008660  34 29 0d 26 2a 0f 64 61  79 3d bb 28 64 61 79 24  |4).&*.day=.(day$|
00008670  29 0d 26 32 0d c8 8e 20  6d 6f 6e 24 20 ca 0d 26  |).&2... mon$ ..&|
00008680  3a 14 20 20 c9 20 22 4a  61 6e 22 3a 20 6d 6f 6e  |:.  . "Jan": mon|
00008690  3d 31 0d 26 42 14 20 20  c9 20 22 46 65 62 22 3a  |=1.&B.  . "Feb":|
000086a0  20 6d 6f 6e 3d 32 0d 26  4a 14 20 20 c9 20 22 4d  | mon=2.&J.  . "M|
000086b0  61 72 22 3a 20 6d 6f 6e  3d 33 0d 26 52 14 20 20  |ar": mon=3.&R.  |
000086c0  c9 20 22 41 70 72 22 3a  20 6d 6f 6e 3d 34 0d 26  |. "Apr": mon=4.&|
000086d0  5a 14 20 20 c9 20 22 4d  61 79 22 3a 20 6d 6f 6e  |Z.  . "May": mon|
000086e0  3d 35 0d 26 62 14 20 20  c9 20 22 4a 75 6e 22 3a  |=5.&b.  . "Jun":|
000086f0  20 6d 6f 6e 3d 36 0d 26  6a 14 20 20 c9 20 22 4a  | mon=6.&j.  . "J|
00008700  75 6c 22 3a 20 6d 6f 6e  3d 37 0d 26 72 14 20 20  |ul": mon=7.&r.  |
00008710  c9 20 22 41 75 67 22 3a  20 6d 6f 6e 3d 38 0d 26  |. "Aug": mon=8.&|
00008720  7a 14 20 20 c9 20 22 53  65 70 22 3a 20 6d 6f 6e  |z.  . "Sep": mon|
00008730  3d 39 0d 26 82 15 20 20  c9 20 22 4f 63 74 22 3a  |=9.&..  . "Oct":|
00008740  20 6d 6f 6e 3d 31 30 0d  26 8a 15 20 20 c9 20 22  | mon=10.&..  . "|
00008750  4e 6f 76 22 3a 20 6d 6f  6e 3d 31 31 0d 26 92 15  |Nov": mon=11.&..|
00008760  20 20 c9 20 22 44 65 63  22 3a 20 6d 6f 6e 3d 31  |  . "Dec": mon=1|
00008770  32 0d 26 9a 05 cb 0d 26  a2 0d 79 72 3d bb 28 79  |2.&....&..yr=.(y|
00008780  72 24 29 0d 26 aa 0e e3  20 63 25 3d 30 20 b8 20  |r$).&... c%=0 . |
00008790  31 0d 26 b2 1e 64 61 79  28 63 25 29 3d 64 61 79  |1.&..day(c%)=day|
000087a0  2b 6c 65 6e 64 69 6e 67  25 28 30 2c 63 25 29 0d  |+lending%(0,c%).|
000087b0  26 ba 0f 6d 6f 6e 28 63  25 29 3d 6d 6f 6e 0d 26  |&..mon(c%)=mon.&|
000087c0  c2 0d 79 72 28 63 25 29  3d 79 72 0d 26 ca 05 f5  |..yr(c%)=yr.&...|
000087d0  0d 26 d2 0b 66 6c 61 67  25 3d b9 0d 26 da 0e 20  |.&..flag%=..&.. |
000087e0  20 c8 8e 20 6d 6f 6e 20  ca 0d 26 e2 48 20 20 20  | .. mon ..&.H   |
000087f0  20 c9 20 31 2c 33 2c 35  2c 37 2c 38 2c 31 30 2c  | . 1,3,5,7,8,10,|
00008800  31 32 3a 20 e7 20 64 61  79 28 63 25 29 3e 33 31  |12: . day(c%)>31|
00008810  20 8c 20 6d 6f 6e 28 63  25 29 2b 3d 31 3a 64 61  | . mon(c%)+=1:da|
00008820  79 28 63 25 29 2d 3d 33  31 3a 66 6c 61 67 25 3d  |y(c%)-=31:flag%=|
00008830  a3 0d 26 ea 0b 20 20 20  20 c9 20 32 0d 26 f2 24  |..&..    . 2.&.$|
00008840  20 20 20 20 20 20 e7 20  79 72 20 83 20 34 3d 30  |      . yr . 4=0|
00008850  20 80 20 79 72 20 83 20  34 30 30 3c 3e 30 20 8c  | . yr . 400<>0 .|
00008860  0d 26 fa 39 20 20 20 20  20 20 20 20 e7 20 64 61  |.&.9        . da|
00008870  79 28 63 25 29 3e 32 39  20 8c 20 6d 6f 6e 28 63  |y(c%)>29 . mon(c|
00008880  25 29 2b 3d 31 3a 64 61  79 28 63 25 29 2d 3d 32  |%)+=1:day(c%)-=2|
00008890  39 3a 66 6c 61 67 25 3d  a3 0d 27 02 0b 20 20 20  |9:flag%=..'..   |
000088a0  20 20 20 cc 0d 27 0a 39  20 20 20 20 20 20 20 20  |   ..'.9        |
000088b0  e7 20 64 61 79 28 63 25  29 3e 32 38 20 8c 20 6d  |. day(c%)>28 . m|
000088c0  6f 6e 28 63 25 29 2b 3d  31 3a 64 61 79 28 63 25  |on(c%)+=1:day(c%|
000088d0  29 2d 3d 32 38 3a 66 6c  61 67 25 3d a3 0d 27 12  |)-=28:flag%=..'.|
000088e0  0b 20 20 20 20 20 20 cd  0d 27 1a 41 20 20 20 20  |.      ..'.A    |
000088f0  c9 20 34 2c 36 2c 39 2c  31 31 3a 20 e7 20 64 61  |. 4,6,9,11: . da|
00008900  79 28 63 25 29 3e 33 30  20 8c 20 6d 6f 6e 28 63  |y(c%)>30 . mon(c|
00008910  25 29 2b 3d 31 3a 64 61  79 28 63 25 29 2d 3d 33  |%)+=1:day(c%)-=3|
00008920  30 3a 66 6c 61 67 25 3d  a3 0d 27 22 07 20 20 cb  |0:flag%=..'".  .|
00008930  0d 27 2a 0b fd 20 66 6c  61 67 25 0d 27 32 28 e7  |.'*.. flag%.'2(.|
00008940  20 6d 6f 6e 28 63 25 29  3e 31 32 20 8c 20 79 72  | mon(c%)>12 . yr|
00008950  28 63 25 29 2b 3d 31 3a  6d 6f 6e 28 63 25 29 2d  |(c%)+=1:mon(c%)-|
00008960  3d 31 32 0d 27 3a 27 73  24 3d c3 28 64 61 79 28  |=12.':'s$=.(day(|
00008970  63 25 29 29 3a e7 20 a9  28 73 24 29 3d 31 20 8c  |c%)):. .(s$)=1 .|
00008980  20 73 24 3d 22 30 22 2b  73 24 0d 27 42 35 73 24  | s$="0"+s$.'B5s$|
00008990  3d 73 24 2b c3 28 6d 6f  6e 28 63 25 29 29 3a e7  |=s$+.(mon(c%)):.|
000089a0  20 a9 28 73 24 29 3d 33  20 8c 20 73 24 3d c0 73  | .(s$)=3 . s$=.s|
000089b0  24 2c 32 29 2b 22 30 22  2b c2 73 24 2c 31 29 0d  |$,2)+"0"+.s$,1).|
000089c0  27 4a 3a 73 24 3d 73 24  2b c3 28 79 72 28 63 25  |'J:s$=s$+.(yr(c%|
000089d0  29 20 83 20 31 30 30 29  3a e7 20 a9 28 73 24 29  |) . 100):. .(s$)|
000089e0  3d 35 20 8c 20 73 24 3d  c0 73 24 2c 34 29 2b 22  |=5 . s$=.s$,4)+"|
000089f0  30 22 2b c2 73 24 2c 31  29 0d 27 52 38 f2 70 75  |0"+.s$,1).'R8.pu|
00008a00  74 74 65 78 74 28 69 73  73 75 65 25 2c 39 2b 63  |ttext(issue%,9+c|
00008a10  25 2c c0 73 24 2c 32 29  2b 22 2d 22 2b c1 73 24  |%,.s$,2)+"-"+.s$|
00008a20  2c 33 2c 32 29 2b 22 2d  22 2b c2 73 24 2c 32 29  |,3,2)+"-"+.s$,2)|
00008a30  29 0d 27 5a 08 ed 20 63  25 0d 27 62 19 f2 63 6c  |).'Z.. c%.'b..cl|
00008a40  65 61 72 74 65 78 74 28  69 73 73 75 65 25 2c 31  |eartext(issue%,1|
00008a50  32 29 0d 27 6a 05 e1 0d  27 72 04 0d 27 7a 15 dd  |2).'j...'r..'z..|
00008a60  f2 72 65 6e 65 77 5f 73  65 74 5f 64 61 74 65 73  |.renew_set_dates|
00008a70  0d 27 82 0b 72 65 6c 24  3d 91 24 0d 27 8a 13 64  |.'..rel$=.$.'..d|
00008a80  61 79 5f 6e 24 3d c0 72  65 6c 24 2c 33 29 0d 27  |ay_n$=.rel$,3).'|
00008a90  92 13 64 61 79 24 3d c1  72 65 6c 24 2c 35 2c 32  |..day$=.rel$,5,2|
00008aa0  29 0d 27 9a 13 6d 6f 6e  24 3d c1 72 65 6c 24 2c  |).'..mon$=.rel$,|
00008ab0  38 2c 33 29 0d 27 a2 13  79 72 24 3d c1 72 65 6c  |8,3).'..yr$=.rel|
00008ac0  24 2c 31 32 2c 34 29 0d  27 aa 0f 64 61 79 3d bb  |$,12,4).'..day=.|
00008ad0  28 64 61 79 24 29 0d 27  b2 0d c8 8e 20 6d 6f 6e  |(day$).'.... mon|
00008ae0  24 20 ca 0d 27 ba 14 20  20 c9 20 22 4a 61 6e 22  |$ ..'..  . "Jan"|
00008af0  3a 20 6d 6f 6e 3d 31 0d  27 c2 14 20 20 c9 20 22  |: mon=1.'..  . "|
00008b00  46 65 62 22 3a 20 6d 6f  6e 3d 32 0d 27 ca 14 20  |Feb": mon=2.'.. |
00008b10  20 c9 20 22 4d 61 72 22  3a 20 6d 6f 6e 3d 33 0d  | . "Mar": mon=3.|
00008b20  27 d2 14 20 20 c9 20 22  41 70 72 22 3a 20 6d 6f  |'..  . "Apr": mo|
00008b30  6e 3d 34 0d 27 da 14 20  20 c9 20 22 4d 61 79 22  |n=4.'..  . "May"|
00008b40  3a 20 6d 6f 6e 3d 35 0d  27 e2 14 20 20 c9 20 22  |: mon=5.'..  . "|
00008b50  4a 75 6e 22 3a 20 6d 6f  6e 3d 36 0d 27 ea 14 20  |Jun": mon=6.'.. |
00008b60  20 c9 20 22 4a 75 6c 22  3a 20 6d 6f 6e 3d 37 0d  | . "Jul": mon=7.|
00008b70  27 f2 14 20 20 c9 20 22  41 75 67 22 3a 20 6d 6f  |'..  . "Aug": mo|
00008b80  6e 3d 38 0d 27 fa 14 20  20 c9 20 22 53 65 70 22  |n=8.'..  . "Sep"|
00008b90  3a 20 6d 6f 6e 3d 39 0d  28 02 15 20 20 c9 20 22  |: mon=9.(..  . "|
00008ba0  4f 63 74 22 3a 20 6d 6f  6e 3d 31 30 0d 28 0a 15  |Oct": mon=10.(..|
00008bb0  20 20 c9 20 22 4e 6f 76  22 3a 20 6d 6f 6e 3d 31  |  . "Nov": mon=1|
00008bc0  31 0d 28 12 15 20 20 c9  20 22 44 65 63 22 3a 20  |1.(..  . "Dec": |
00008bd0  6d 6f 6e 3d 31 32 0d 28  1a 05 cb 0d 28 22 0d 79  |mon=12.(....(".y|
00008be0  72 3d bb 28 79 72 24 29  0d 28 2a 0e e3 20 63 25  |r=.(yr$).(*.. c%|
00008bf0  3d 30 20 b8 20 31 0d 28  32 1e 64 61 79 28 63 25  |=0 . 1.(2.day(c%|
00008c00  29 3d 64 61 79 2b 6c 65  6e 64 69 6e 67 25 28 30  |)=day+lending%(0|
00008c10  2c 63 25 29 0d 28 3a 0f  6d 6f 6e 28 63 25 29 3d  |,c%).(:.mon(c%)=|
00008c20  6d 6f 6e 0d 28 42 0d 79  72 28 63 25 29 3d 79 72  |mon.(B.yr(c%)=yr|
00008c30  0d 28 4a 05 f5 0d 28 52  0b 66 6c 61 67 25 3d b9  |.(J...(R.flag%=.|
00008c40  0d 28 5a 0e 20 20 c8 8e  20 6d 6f 6e 20 ca 0d 28  |.(Z.  .. mon ..(|
00008c50  62 48 20 20 20 20 c9 20  31 2c 33 2c 35 2c 37 2c  |bH    . 1,3,5,7,|
00008c60  38 2c 31 30 2c 31 32 3a  20 e7 20 64 61 79 28 63  |8,10,12: . day(c|
00008c70  25 29 3e 33 31 20 8c 20  6d 6f 6e 28 63 25 29 2b  |%)>31 . mon(c%)+|
00008c80  3d 31 3a 64 61 79 28 63  25 29 2d 3d 33 31 3a 66  |=1:day(c%)-=31:f|
00008c90  6c 61 67 25 3d a3 0d 28  6a 0b 20 20 20 20 c9 20  |lag%=..(j.    . |
00008ca0  32 0d 28 72 24 20 20 20  20 20 20 e7 20 79 72 20  |2.(r$      . yr |
00008cb0  83 20 34 3d 30 20 80 20  79 72 20 83 20 34 30 30  |. 4=0 . yr . 400|
00008cc0  3c 3e 30 20 8c 0d 28 7a  39 20 20 20 20 20 20 20  |<>0 ..(z9       |
00008cd0  20 e7 20 64 61 79 28 63  25 29 3e 32 39 20 8c 20  | . day(c%)>29 . |
00008ce0  6d 6f 6e 28 63 25 29 2b  3d 31 3a 64 61 79 28 63  |mon(c%)+=1:day(c|
00008cf0  25 29 2d 3d 32 39 3a 66  6c 61 67 25 3d a3 0d 28  |%)-=29:flag%=..(|
00008d00  82 0b 20 20 20 20 20 20  cc 0d 28 8a 39 20 20 20  |..      ..(.9   |
00008d10  20 20 20 20 20 e7 20 64  61 79 28 63 25 29 3e 32  |     . day(c%)>2|
00008d20  38 20 8c 20 6d 6f 6e 28  63 25 29 2b 3d 31 3a 64  |8 . mon(c%)+=1:d|
00008d30  61 79 28 63 25 29 2d 3d  32 38 3a 66 6c 61 67 25  |ay(c%)-=28:flag%|
00008d40  3d a3 0d 28 92 0b 20 20  20 20 20 20 cd 0d 28 9a  |=..(..      ..(.|
00008d50  41 20 20 20 20 c9 20 34  2c 36 2c 39 2c 31 31 3a  |A    . 4,6,9,11:|
00008d60  20 e7 20 64 61 79 28 63  25 29 3e 33 30 20 8c 20  | . day(c%)>30 . |
00008d70  6d 6f 6e 28 63 25 29 2b  3d 31 3a 64 61 79 28 63  |mon(c%)+=1:day(c|
00008d80  25 29 2d 3d 33 30 3a 66  6c 61 67 25 3d a3 0d 28  |%)-=30:flag%=..(|
00008d90  a2 07 20 20 cb 0d 28 aa  0b fd 20 66 6c 61 67 25  |..  ..(... flag%|
00008da0  0d 28 b2 28 e7 20 6d 6f  6e 28 63 25 29 3e 31 32  |.(.(. mon(c%)>12|
00008db0  20 8c 20 79 72 28 63 25  29 2b 3d 31 3a 6d 6f 6e  | . yr(c%)+=1:mon|
00008dc0  28 63 25 29 2d 3d 31 32  0d 28 ba 27 73 24 3d c3  |(c%)-=12.(.'s$=.|
00008dd0  28 64 61 79 28 63 25 29  29 3a e7 20 a9 28 73 24  |(day(c%)):. .(s$|
00008de0  29 3d 31 20 8c 20 73 24  3d 22 30 22 2b 73 24 0d  |)=1 . s$="0"+s$.|
00008df0  28 c2 35 73 24 3d 73 24  2b c3 28 6d 6f 6e 28 63  |(.5s$=s$+.(mon(c|
00008e00  25 29 29 3a e7 20 a9 28  73 24 29 3d 33 20 8c 20  |%)):. .(s$)=3 . |
00008e10  73 24 3d c0 73 24 2c 32  29 2b 22 30 22 2b c2 73  |s$=.s$,2)+"0"+.s|
00008e20  24 2c 31 29 0d 28 ca 3a  73 24 3d 73 24 2b c3 28  |$,1).(.:s$=s$+.(|
00008e30  79 72 28 63 25 29 20 83  20 31 30 30 29 3a e7 20  |yr(c%) . 100):. |
00008e40  a9 28 73 24 29 3d 35 20  8c 20 73 24 3d c0 73 24  |.(s$)=5 . s$=.s$|
00008e50  2c 34 29 2b 22 30 22 2b  c2 73 24 2c 31 29 0d 28  |,4)+"0"+.s$,1).(|
00008e60  d2 38 f2 70 75 74 74 65  78 74 28 72 65 6e 65 77  |.8.puttext(renew|
00008e70  25 2c 36 2b 63 25 2c c0  73 24 2c 32 29 2b 22 2d  |%,6+c%,.s$,2)+"-|
00008e80  22 2b c1 73 24 2c 33 2c  32 29 2b 22 2d 22 2b c2  |"+.s$,3,2)+"-"+.|
00008e90  73 24 2c 32 29 29 0d 28  da 08 ed 20 63 25 0d 28  |s$,2)).(... c%.(|
00008ea0  e2 18 f2 63 6c 65 61 72  74 65 78 74 28 72 65 6e  |...cleartext(ren|
00008eb0  65 77 25 2c 38 29 0d 28  ea 05 e1 0d 28 f2 04 0d  |ew%,8).(....(...|
00008ec0  28 fa 1c dd a4 76 61 6c  69 64 61 74 65 5f 64 61  |(....validate_da|
00008ed0  74 65 28 76 5f 64 61 74  65 24 29 0d 29 02 12 ea  |te(v_date$).)...|
00008ee0  20 64 79 24 2c 6d 6f 6e  24 2c 79 72 24 0d 29 0a  | dy$,mon$,yr$.).|
00008ef0  13 64 79 24 3d c0 76 5f  64 61 74 65 24 2c 32 29  |.dy$=.v_date$,2)|
00008f00  0d 29 12 16 6d 6f 6e 24  3d c1 76 5f 64 61 74 65  |.)..mon$=.v_date|
00008f10  24 2c 33 2c 32 29 0d 29  1a 13 79 72 24 3d c2 76  |$,3,2).)..yr$=.v|
00008f20  5f 64 61 74 65 24 2c 32  29 0d 29 22 0e 76 64 25  |_date$,2).)".vd%|
00008f30  3d bb 28 64 79 24 29 0d  29 2a 0f 76 6d 25 3d bb  |=.(dy$).)*.vm%=.|
00008f40  28 6d 6f 6e 24 29 0d 29  32 0e 76 79 25 3d bb 28  |(mon$).)2.vy%=.(|
00008f50  79 72 24 29 0d 29 3a 0a  6c 79 66 25 3d a3 0d 29  |yr$).):.lyf%=..)|
00008f60  42 21 e7 20 76 79 25 20  83 20 34 3d 30 20 80 20  |B!. vy% . 4=0 . |
00008f70  76 79 25 3c 3e 30 20 8c  20 6c 79 66 25 3d b9 0d  |vy%<>0 . lyf%=..|
00008f80  29 4a 3d e7 20 76 6d 25  3c 31 20 84 20 76 6d 25  |)J=. vm%<1 . vm%|
00008f90  3e 31 32 20 8c 20 f2 64  69 73 5f 6d 65 73 73 61  |>12 . .dis_messa|
00008fa0  67 65 28 22 49 6e 76 61  6c 69 64 20 64 61 74 65  |ge("Invalid date|
00008fb0  20 66 6f 72 6d 61 74 22  29 3a 3d a3 0d 29 52 0c  | format"):=..)R.|
00008fc0  c8 8e 20 76 6d 25 20 ca  0d 29 5a 17 20 20 c9 20  |.. vm% ..)Z.  . |
00008fd0  31 2c 33 2c 35 2c 37 2c  38 2c 31 30 2c 31 32 0d  |1,3,5,7,8,10,12.|
00008fe0  29 62 43 20 20 20 20 e7  20 76 64 25 3c 31 20 84  |)bC    . vd%<1 .|
00008ff0  20 76 64 25 3e 33 31 20  8c 20 f2 64 69 73 5f 6d  | vd%>31 . .dis_m|
00009000  65 73 73 61 67 65 28 22  49 6e 76 61 6c 69 64 20  |essage("Invalid |
00009010  64 61 74 65 20 66 6f 72  6d 61 74 22 29 3a cb 3a  |date format"):.:|
00009020  3d a3 0d 29 6a 09 20 20  c9 20 32 0d 29 72 10 20  |=..)j.  . 2.)r. |
00009030  20 20 20 e7 20 6c 79 66  25 20 8c 0d 29 7a 47 20  |   . lyf% ..)zG |
00009040  20 20 20 20 20 e7 20 76  64 25 3c 31 20 84 20 76  |     . vd%<1 . v|
00009050  64 25 3e 32 39 20 8c 20  f2 64 69 73 5f 6d 65 73  |d%>29 . .dis_mes|
00009060  73 61 67 65 28 22 49 6e  76 61 6c 69 64 20 64 61  |sage("Invalid da|
00009070  74 65 20 66 6f 72 6d 61  74 22 29 3a cd 3a cb 3a  |te format"):.:.:|
00009080  3d a3 0d 29 82 09 20 20  20 20 cc 0d 29 8a 47 20  |=..)..    ..).G |
00009090  20 20 20 20 20 e7 20 76  64 25 3c 31 20 84 20 76  |     . vd%<1 . v|
000090a0  64 25 3e 32 38 20 8c 20  f2 64 69 73 5f 6d 65 73  |d%>28 . .dis_mes|
000090b0  73 61 67 65 28 22 49 6e  76 61 6c 69 64 20 64 61  |sage("Invalid da|
000090c0  74 65 20 66 6f 72 6d 61  74 22 29 3a cd 3a cb 3a  |te format"):.:.:|
000090d0  3d a3 0d 29 92 09 20 20  20 20 cd 0d 29 9a 10 20  |=..)..    ..).. |
000090e0  20 c9 20 34 2c 36 2c 39  2c 31 31 0d 29 a2 43 20  | . 4,6,9,11.).C |
000090f0  20 20 20 e7 20 76 64 25  3c 31 20 84 20 76 64 25  |   . vd%<1 . vd%|
00009100  3e 33 30 20 8c 20 f2 64  69 73 5f 6d 65 73 73 61  |>30 . .dis_messa|
00009110  67 65 28 22 49 6e 76 61  6c 69 64 20 64 61 74 65  |ge("Invalid date|
00009120  20 66 6f 72 6d 61 74 22  29 3a cb 3a 3d a3 0d 29  | format"):.:=..)|
00009130  aa 05 cb 0d 29 b2 06 3d  b9 0d 29 ba 04 0d 29 c2  |....)..=..)...).|
00009140  0f dd f2 69 6e 69 74 5f  68 65 6c 70 0d 29 ca 31  |...init_help.).1|
00009150  66 69 6c 6f 25 3d 8e 28  22 3c 4c 69 62 72 61 72  |filo%=.("<Librar|
00009160  79 24 44 69 72 3e 2e 52  65 73 6f 75 72 63 65 73  |y$Dir>.Resources|
00009170  2e 49 6e 74 65 72 61 48  65 6c 70 22 29 0d 29 d2  |.InteraHelp").).|
00009180  05 f5 0d 29 da 10 20 20  73 24 3d be 23 66 69 6c  |...)..  s$=.#fil|
00009190  6f 25 0d 29 e2 11 20 20  c8 8e 20 c0 73 24 2c 31  |o%.)..  .. .s$,1|
000091a0  29 20 ca 0d 29 ea 0d 20  20 20 20 c9 20 22 57 22  |) ..)..    . "W"|
000091b0  0d 29 f2 19 20 20 20 20  20 20 73 24 3d c2 73 24  |.)..      s$=.s$|
000091c0  2c a9 28 73 24 29 2d 31  29 0d 29 fa 20 20 20 20  |,.(s$)-1).).    |
000091d0  20 20 20 63 75 72 5f 77  69 6e 25 3d a4 66 69 6e  |   cur_win%=.fin|
000091e0  64 5f 77 69 6e 28 73 24  29 0d 2a 02 0d 20 20 20  |d_win(s$).*..   |
000091f0  20 c9 20 22 49 22 0d 2a  0a 19 20 20 20 20 20 20  | . "I".*..      |
00009200  73 24 3d c2 73 24 2c a9  28 73 24 29 2d 31 29 0d  |s$=.s$,.(s$)-1).|
00009210  2a 12 11 20 20 20 20 20  20 63 5f 69 24 3d 73 24  |*..      c_i$=s$|
00009220  0d 2a 1a 0d 20 20 20 20  c9 20 22 44 22 0d 2a 22  |.*..    . "D".*"|
00009230  2a 20 20 20 20 20 20 e7  20 63 75 72 5f 77 69 6e  |*      . cur_win|
00009240  25 3d 2d 32 20 8c 20 63  5f 69 24 3d c3 28 6c 69  |%=-2 . c_i$=.(li|
00009250  62 69 63 6f 6e 25 29 0d  2a 2a 19 20 20 20 20 20  |bicon%).**.     |
00009260  20 73 24 3d c2 73 24 2c  a9 28 73 24 29 2d 31 29  | s$=.s$,.(s$)-1)|
00009270  0d 2a 32 17 20 20 20 20  20 20 61 25 3d a7 63 5f  |.*2.      a%=.c_|
00009280  69 24 2c 22 3e 22 29 0d  2a 3a 10 20 20 20 20 20  |i$,">").*:.     |
00009290  20 e7 20 61 25 20 8c 0d  2a 42 1e 20 20 20 20 20  | . a% ..*B.     |
000092a0  20 20 20 6c 65 25 3d bb  28 c0 63 5f 69 24 2c 61  |   le%=.(.c_i$,a|
000092b0  25 2d 31 29 29 0d 2a 4a  24 20 20 20 20 20 20 20  |%-1)).*J$       |
000092c0  20 72 69 25 3d bb 28 c2  63 5f 69 24 2c a9 28 63  | ri%=.(.c_i$,.(c|
000092d0  5f 69 24 29 2d 61 25 29  29 0d 2a 52 1a 20 20 20  |_i$)-a%)).*R.   |
000092e0  20 20 20 20 20 e3 20 64  25 3d 6c 65 25 20 b8 20  |     . d%=le% . |
000092f0  72 69 25 0d 2a 5a 29 20  20 20 20 20 20 20 20 68  |ri%.*Z)        h|
00009300  65 6c 70 69 25 28 68 65  6c 70 69 5f 70 74 72 25  |elpi%(helpi_ptr%|
00009310  2c 30 29 3d 63 75 72 5f  77 69 6e 25 0d 2a 62 23  |,0)=cur_win%.*b#|
00009320  20 20 20 20 20 20 20 20  68 65 6c 70 69 25 28 68  |        helpi%(h|
00009330  65 6c 70 69 5f 70 74 72  25 2c 31 29 3d 64 25 0d  |elpi_ptr%,1)=d%.|
00009340  2a 6a 21 20 20 20 20 20  20 20 20 68 65 6c 70 69  |*j!        helpi|
00009350  24 28 68 65 6c 70 69 5f  70 74 72 25 29 3d 73 24  |$(helpi_ptr%)=s$|
00009360  0d 2a 72 19 20 20 20 20  20 20 20 20 68 65 6c 70  |.*r.        help|
00009370  69 5f 70 74 72 25 2b 3d  31 0d 2a 7a 10 20 20 20  |i_ptr%+=1.*z.   |
00009380  20 20 20 20 20 ed 20 64  25 0d 2a 82 0b 20 20 20  |     . d%.*..   |
00009390  20 20 20 cc 0d 2a 8a 29  20 20 20 20 20 20 20 20  |   ..*.)        |
000093a0  68 65 6c 70 69 25 28 68  65 6c 70 69 5f 70 74 72  |helpi%(helpi_ptr|
000093b0  25 2c 30 29 3d 63 75 72  5f 77 69 6e 25 0d 2a 92  |%,0)=cur_win%.*.|
000093c0  28 20 20 20 20 20 20 20  20 68 65 6c 70 69 25 28  |(        helpi%(|
000093d0  68 65 6c 70 69 5f 70 74  72 25 2c 31 29 3d bb 28  |helpi_ptr%,1)=.(|
000093e0  63 5f 69 24 29 0d 2a 9a  21 20 20 20 20 20 20 20  |c_i$).*.!       |
000093f0  20 68 65 6c 70 69 24 28  68 65 6c 70 69 5f 70 74  | helpi$(helpi_pt|
00009400  72 25 29 3d 73 24 0d 2a  a2 19 20 20 20 20 20 20  |r%)=s$.*..      |
00009410  20 20 68 65 6c 70 69 5f  70 74 72 25 2b 3d 31 0d  |  helpi_ptr%+=1.|
00009420  2a aa 0b 20 20 20 20 20  20 cd 0d 2a b2 07 20 20  |*..      ..*..  |
00009430  cb 0d 2a ba 0d fd 20 c5  23 66 69 6c 6f 25 0d 2a  |..*... .#filo%.*|
00009440  c2 0b d9 23 66 69 6c 6f  25 0d 2a ca 05 e1 0d 2a  |...#filo%.*....*|
00009450  d2 04 0d 2a da 0f dd a4  55 70 70 65 72 28 73 24  |...*....Upper(s$|
00009460  29 0d 2a e2 09 71 24 3d  22 22 0d 2a ea 0f e7 20  |).*..q$="".*... |
00009470  a9 28 73 24 29 3e 30 20  8c 0d 2a f2 15 20 20 e3  |.(s$)>0 ..*..  .|
00009480  20 75 70 25 3d 31 20 b8  20 a9 28 73 24 29 0d 2a  | up%=1 . .(s$).*|
00009490  fa 15 20 20 74 61 6c 24  3d c1 73 24 2c 75 70 25  |..  tal$=.s$,up%|
000094a0  2c 31 29 0d 2b 02 32 20  20 e7 20 74 61 6c 24 3e  |,1).+.2  . tal$>|
000094b0  3d 22 61 22 20 80 20 74  61 6c 24 3c 3d 22 7a 22  |="a" . tal$<="z"|
000094c0  20 8c 20 74 61 6c 24 3d  bd 28 97 28 74 61 6c 24  | . tal$=.(.(tal$|
000094d0  29 2d 33 32 29 0d 2b 0a  10 20 20 71 24 3d 71 24  |)-32).+..  q$=q$|
000094e0  2b 74 61 6c 24 0d 2b 12  0b 20 20 ed 20 75 70 25  |+tal$.+..  . up%|
000094f0  0d 2b 1a 05 cd 0d 2b 22  07 3d 71 24 0d 2b 2a 04  |.+....+".=q$.+*.|
00009500  0d 2b 32 1c dd a4 61 6c  67 6f 72 69 74 68 6d 28  |.+2...algorithm(|
00009510  64 25 2c 76 25 2c 6e 25  2c 61 25 29 0d 2b 3a 2c  |d%,v%,n%,a%).+:,|
00009520  e7 20 6e 25 3e 39 39 39  20 8c 20 3d 22 59 6f 75  |. n%>999 . ="You|
00009530  20 6e 65 65 64 20 6d 6f  72 65 20 64 69 72 65 63  | need more direc|
00009540  74 6f 72 69 65 73 2e 22  0d 2b 42 15 61 24 3d a4  |tories.".+B.a$=.|
00009550  7a 65 72 6f 28 c3 28 64  25 29 2c 32 29 0d 2b 4a  |zero(.(d%),2).+J|
00009560  16 61 24 2b 3d a4 7a 65  72 6f 28 c3 28 61 25 29  |.a$+=.zero(.(a%)|
00009570  2c 32 29 0d 2b 52 0d 61  24 2b 3d c3 28 76 25 29  |,2).+R.a$+=.(v%)|
00009580  0d 2b 5a 16 61 24 2b 3d  a4 7a 65 72 6f 28 c3 28  |.+Z.a$+=.zero(.(|
00009590  6e 25 29 2c 33 29 0d 2b  62 0c 63 6f 75 6e 74 25  |n%),3).+b.count%|
000095a0  3d 30 0d 2b 6a 0e e3 20  63 25 3d 31 20 b8 20 38  |=0.+j.. c%=1 . 8|
000095b0  0d 2b 72 27 63 6f 75 6e  74 25 3d 63 6f 75 6e 74  |.+r'count%=count|
000095c0  25 2b 28 63 25 2b 31 29  2a bb 28 c1 61 24 2c 39  |%+(c%+1)*.(.a$,9|
000095d0  2d 63 25 2c 31 29 29 0d  2b 7a 08 ed 20 63 25 0d  |-c%,1)).+z.. c%.|
000095e0  2b 82 13 63 64 25 3d 63  6f 75 6e 74 25 20 83 20  |+..cd%=count% . |
000095f0  31 31 0d 2b 8a 27 e7 20  63 64 25 3d 31 30 20 8c  |11.+.'. cd%=10 .|
00009600  20 61 24 3d 61 24 2b 22  58 22 20 8b 20 61 24 3d  | a$=a$+"X" . a$=|
00009610  61 24 2b c3 28 63 64 25  29 0d 2b 92 07 3d 61 24  |a$+.(cd%).+..=a$|
00009620  0d 2b 9a 04 0d 2b a2 0e  dd f2 69 6e 66 6f 28 70  |.+...+....info(p|
00009630  25 29 0d 2b aa 27 78 30  25 3d 21 70 25 3a 79 30  |%).+.'x0%=!p%:y0|
00009640  25 3d 70 25 21 34 3a 78  31 25 3d 70 25 21 38 3a  |%=p%!4:x1%=p%!8:|
00009650  79 31 25 3d 70 25 21 31  32 0d 2b b2 35 73 63 78  |y1%=p%!12.+.5scx|
00009660  25 3d 70 25 21 31 36 3a  73 63 79 25 3d 70 25 21  |%=p%!16:scy%=p%!|
00009670  32 30 3a 62 68 61 6e 64  6c 65 25 3d 70 25 21 32  |20:bhandle%=p%!2|
00009680  34 3a 66 6c 61 67 73 25  3d 70 25 21 32 38 0d 2b  |4:flags%=p%!28.+|
00009690  ba 1d 62 78 25 3d 78 30  25 2d 73 63 78 25 3a 62  |..bx%=x0%-scx%:b|
000096a0  79 25 3d 79 31 25 2d 73  63 79 25 0d 2b c2 05 e1  |y%=y1%-scy%.+...|
000096b0  0d 2b ca 04 0d 2b d2 1d  dd a4 43 68 65 63 6b 5f  |.+...+....Check_|
000096c0  44 69 67 69 74 5f 50 6c  75 73 28 73 74 65 6d 24  |Digit_Plus(stem$|
000096d0  29 0d 2b da 0f 63 6f 75  6e 74 5f 63 64 25 3d 30  |).+..count_cd%=0|
000096e0  0d 2b e2 11 6d 75 6c 74  69 70 6c 69 65 72 25 3d  |.+..multiplier%=|
000096f0  32 0d 2b ea 19 e3 20 63  25 3d a9 28 73 74 65 6d  |2.+... c%=.(stem|
00009700  24 29 20 b8 20 31 20 88  20 b9 0d 2b f2 2a 63 6f  |$) . 1 . ..+.*co|
00009710  75 6e 74 5f 63 64 25 2b  3d bb 28 c1 73 74 65 6d  |unt_cd%+=.(.stem|
00009720  24 2c 63 25 2c 31 29 29  2a 6d 75 6c 74 69 70 6c  |$,c%,1))*multipl|
00009730  69 65 72 25 0d 2b fa 12  6d 75 6c 74 69 70 6c 69  |ier%.+..multipli|
00009740  65 72 25 2b 3d 31 0d 2c  02 08 ed 20 63 25 0d 2c  |er%+=1.,... c%.,|
00009750  0a 2e 63 64 24 3d c3 7e  28 63 6f 75 6e 74 5f 63  |..cd$=.~(count_c|
00009760  64 25 20 83 20 31 31 29  3a e7 20 63 64 24 3d 22  |d% . 11):. cd$="|
00009770  41 22 20 8c 20 63 64 24  3d 22 58 22 0d 2c 12 0e  |A" . cd$="X".,..|
00009780  3d 73 74 65 6d 24 2b 63  64 24 0d 2c 1a 04 0d 2c  |=stem$+cd$.,...,|
00009790  22 16 dd f2 72 65 63 65  69 76 65 5f 63 73 76 28  |"...receive_csv(|
000097a0  66 6e 24 29 0d 2c 2a 20  c8 99 20 22 57 69 6d 70  |fn$).,* .. "Wimp|
000097b0  5f 47 65 74 50 6f 69 6e  74 65 72 49 6e 66 6f 22  |_GetPointerInfo"|
000097c0  2c 2c 71 25 0d 2c 32 2b  e7 20 71 25 21 31 32 3c  |,,q%.,2+. q%!12<|
000097d0  3e 70 6f 63 6b 65 74 25  20 80 20 71 25 21 31 32  |>pocket% . q%!12|
000097e0  3c 3e 70 6f 63 6b 5f 6d  65 6d 25 20 8c 20 e1 0d  |<>pock_mem% . ..|
000097f0  2c 3a 14 f2 63 68 65 63  6b 5f 62 6f 6f 6b 5f 64  |,:..check_book_d|
00009800  69 72 73 0d 2c 42 13 f2  63 68 65 63 6b 5f 6d 65  |irs.,B..check_me|
00009810  6d 5f 64 69 72 73 0d 2c  4a 0e c8 8e 20 71 25 21  |m_dirs.,J... q%!|
00009820  31 32 20 ca 0d 2c 52 0f  20 20 c9 20 70 6f 63 6b  |12 ..,R.  . pock|
00009830  65 74 25 0d 2c 5a 19 20  20 20 20 e7 20 62 6f 6f  |et%.,Z.    . boo|
00009840  6b 5f 63 6f 75 6e 74 25  3d 30 20 8c 0d 2c 62 4a  |k_count%=0 ..,bJ|
00009850  20 20 20 20 20 20 f2 64  69 73 5f 6d 65 73 73 61  |      .dis_messa|
00009860  67 65 28 22 4e 6f 20 62  6f 6f 6b 20 64 69 72 65  |ge("No book dire|
00009870  63 74 6f 72 69 65 73 20  68 61 76 65 20 62 65 65  |ctories have bee|
00009880  6e 20 73 65 65 6e 20 62  79 20 74 68 65 20 66 69  |n seen by the fi|
00009890  6c 65 72 2e 22 29 0d 2c  6a 0b 20 20 20 20 20 20  |ler.").,j.      |
000098a0  e1 0d 2c 72 09 20 20 20  20 cd 0d 2c 7a 11 20 20  |..,r.    ..,z.  |
000098b0  c9 20 70 6f 63 6b 5f 6d  65 6d 25 0d 2c 82 18 20  |. pock_mem%.,.. |
000098c0  20 20 20 e7 20 6d 65 6d  5f 63 6f 75 6e 74 25 3d  |   . mem_count%=|
000098d0  30 20 8c 0d 2c 8a 4c 20  20 20 20 20 20 f2 64 69  |0 ..,.L      .di|
000098e0  73 5f 6d 65 73 73 61 67  65 28 22 4e 6f 20 6d 65  |s_message("No me|
000098f0  6d 62 65 72 20 64 69 72  65 63 74 6f 72 69 65 73  |mber directories|
00009900  20 68 61 76 65 20 62 65  65 6e 20 73 65 65 6e 20  | have been seen |
00009910  62 79 20 74 68 65 20 66  69 6c 65 72 2e 22 29 0d  |by the filer.").|
00009920  2c 92 0b 20 20 20 20 20  20 e1 0d 2c 9a 09 20 20  |,..      ..,..  |
00009930  20 20 cd 0d 2c a2 05 cb  0d 2c aa 0b 67 6e 24 3d  |  ..,....,..gn$=|
00009940  66 6e 24 0d 2c b2 10 66  69 6c 6f 25 3d 8e 28 66  |fn$.,..filo%=.(f|
00009950  6e 24 29 0d 2c ba 0e 63  6f 75 6e 74 5f 61 25 3d  |n$).,..count_a%=|
00009960  30 0d 2c c2 10 c8 95 20  ac 20 c5 23 66 69 6c 6f  |0.,.... . .#filo|
00009970  25 0d 2c ca 13 20 20 74  65 6d 70 24 3d be 23 66  |%.,..  temp$=.#f|
00009980  69 6c 6f 25 0d 2c d2 11  20 20 63 6f 75 6e 74 5f  |ilo%.,..  count_|
00009990  61 25 2b 3d 31 0d 2c da  05 ce 0d 2c e2 0b d9 23  |a%+=1.,....,...#|
000099a0  66 69 6c 6f 25 0d 2c ea  0e c8 8e 20 71 25 21 31  |filo%.,.... q%!1|
000099b0  32 20 ca 0d 2c f2 32 20  20 c9 20 70 6f 63 6b 65  |2 ..,.2  . pocke|
000099c0  74 25 3a 20 f2 70 6f 63  6b 65 74 5f 66 69 6c 6c  |t%: .pocket_fill|
000099d0  5f 77 69 6e 64 6f 77 28  67 6e 24 2c 63 6f 75 6e  |_window(gn$,coun|
000099e0  74 5f 61 25 29 0d 2c fa  31 20 20 c9 20 70 6f 63  |t_a%).,.1  . poc|
000099f0  6b 5f 6d 65 6d 25 3a 20  f2 70 6f 63 6b 65 74 5f  |k_mem%: .pocket_|
00009a00  66 69 6c 6c 5f 6d 65 6d  28 67 6e 24 2c 63 6f 75  |fill_mem(gn$,cou|
00009a10  6e 74 5f 61 25 29 0d 2d  02 05 cb 0d 2d 0a 0a 71  |nt_a%).-....-..q|
00009a20  25 21 30 3d 30 0d 2d 12  15 71 25 21 34 3d 2d 34  |%!0=0.-..q%!4=-4|
00009a30  38 2a 77 69 6e 70 25 2d  31 30 0d 2d 1a 24 71 25  |8*winp%-10.-.$q%|
00009a40  21 38 3d 37 2a 31 36 2b  35 30 2a 31 36 2b 34 30  |!8=7*16+50*16+40|
00009a50  2a 31 36 2b 31 35 2a 31  36 2b 36 2a 31 36 0d 2d  |*16+15*16+6*16.-|
00009a60  22 0b 71 25 21 31 32 3d  30 0d 2d 2a 24 c8 99 20  |".q%!12=0.-*$.. |
00009a70  22 57 69 6d 70 5f 53 65  74 45 78 74 65 6e 74 22  |"Wimp_SetExtent"|
00009a80  2c 6d 61 69 6e 5f 61 75  78 25 2c 71 25 0d 2d 32  |,main_aux%,q%.-2|
00009a90  10 71 25 21 30 3d 70 6f  63 6b 65 74 25 0d 2d 3a  |.q%!0=pocket%.-:|
00009aa0  1d c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 57  |... "Wimp_CloseW|
00009ab0  69 6e 64 6f 77 22 2c 2c  71 25 0d 2d 42 12 71 25  |indow",,q%.-B.q%|
00009ac0  21 30 3d 70 6f 63 6b 5f  6d 65 6d 25 0d 2d 4a 1d  |!0=pock_mem%.-J.|
00009ad0  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |.. "Wimp_CloseWi|
00009ae0  6e 64 6f 77 22 2c 2c 71  25 0d 2d 52 11 21 71 25  |ndow",,q%.-R.!q%|
00009af0  3d 6d 61 69 6e 5f 61 75  78 25 0d 2d 5a 1f c8 99  |=main_aux%.-Z...|
00009b00  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
00009b10  49 6e 66 6f 22 2c 2c 71  25 0d 2d 62 10 5f 70 25  |Info",,q%.-b._p%|
00009b20  3d 21 28 71 25 2b 37 36  29 0d 2d 6a 1e 24 5f 70  |=!(q%+76).-j.$_p|
00009b30  25 3d 22 50 6f 63 6b 65  74 20 42 6f 6f 6b 20 49  |%="Pocket Book I|
00009b40  6d 70 6f 72 74 73 22 0d  2d 72 12 71 25 21 30 3d  |mports".-r.q%!0=|
00009b50  6d 61 69 6e 5f 61 75 78  25 0d 2d 7a 20 c8 99 20  |main_aux%.-z .. |
00009b60  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00009b70  74 61 74 65 22 2c 2c 71  25 0d 2d 82 0c 71 25 21  |tate",,q%.-..q%!|
00009b80  32 38 3d 2d 31 0d 2d 8a  1c c8 99 20 22 57 69 6d  |28=-1.-.... "Wim|
00009b90  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 71  |p_OpenWindow",,q|
00009ba0  25 0d 2d 92 05 e1 0d 2d  9a 04 0d 2d a2 26 dd f2  |%.-....-...-.&..|
00009bb0  70 6f 63 6b 65 74 5f 66  69 6c 6c 5f 77 69 6e 64  |pocket_fill_wind|
00009bc0  6f 77 28 66 6e 24 2c 63  6f 75 6e 74 5f 61 25 29  |ow(fn$,count_a%)|
00009bd0  0d 2d aa 0f 75 73 69 6e  67 5f 72 64 25 3d 31 0d  |.-..using_rd%=1.|
00009be0  2d b2 0b 77 69 6e 70 25  3d 30 0d 2d ba 15 70 5f  |-..winp%=0.-..p_|
00009bf0  70 74 72 25 3d 63 6f 75  6e 74 5f 61 25 2d 31 0d  |ptr%=count_a%-1.|
00009c00  2d c2 15 c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |-.... "Hourglass|
00009c10  5f 4f 6e 22 0d 2d ca 10  66 69 6c 70 25 3d 8e 28  |_On".-..filp%=.(|
00009c20  66 6e 24 29 0d 2d d2 15  e3 20 66 25 3d 31 20 b8  |fn$).-... f%=1 .|
00009c30  20 63 6f 75 6e 74 5f 61  25 0d 2d da 2f c8 99 20  | count_a%.-./.. |
00009c40  22 48 6f 75 72 67 6c 61  73 73 5f 50 65 72 63 65  |"Hourglass_Perce|
00009c50  6e 74 61 67 65 22 2c 28  66 25 2f 63 6f 75 6e 74  |ntage",(f%/count|
00009c60  5f 61 25 29 2a 31 30 30  0d 2d e2 0e 65 24 3d be  |_a%)*100.-..e$=.|
00009c70  23 66 69 6c 70 25 0d 2d  ea 11 65 24 3d a4 55 70  |#filp%.-..e$=.Up|
00009c80  70 65 72 28 65 24 29 0d  2d f2 0c 63 5f 70 74 72  |per(e$).-..c_ptr|
00009c90  25 3d 30 0d 2d fa 0e 71  75 6f 74 65 5f 63 25 3d  |%=0.-..quote_c%=|
00009ca0  30 0d 2e 02 12 e3 20 67  25 3d 31 20 b8 20 a9 28  |0..... g%=1 . .(|
00009cb0  65 24 29 0d 2e 0a 2d e7  20 c1 65 24 2c 67 25 2c  |e$)...-. .e$,g%,|
00009cc0  31 29 3d bd 28 33 34 29  20 8c 20 71 75 6f 74 65  |1)=.(34) . quote|
00009cd0  5f 63 25 3d 71 75 6f 74  65 5f 63 25 20 82 20 31  |_c%=quote_c% . 1|
00009ce0  0d 2e 12 41 e7 20 c1 65  24 2c 67 25 2c 31 29 3d  |...A. .e$,g%,1)=|
00009cf0  22 2c 22 20 80 20 71 75  6f 74 65 5f 63 25 3d 30  |"," . quote_c%=0|
00009d00  20 8c 20 63 6f 6d 6d 61  5f 70 6c 25 28 63 5f 70  | . comma_pl%(c_p|
00009d10  74 72 25 29 3d 67 25 3a  63 5f 70 74 72 25 2b 3d  |tr%)=g%:c_ptr%+=|
00009d20  31 0d 2e 1a 08 ed 20 67  25 0d 2e 22 27 76 61 72  |1..... g%.."'var|
00009d30  69 24 28 30 29 3d a4 74  72 69 6d 28 c0 65 24 2c  |i$(0)=.trim(.e$,|
00009d40  63 6f 6d 6d 61 5f 70 6c  25 28 30 29 2d 31 29 29  |comma_pl%(0)-1))|
00009d50  0d 2e 2a 10 66 75 6c 6c  5f 66 6c 61 67 25 3d a3  |..*.full_flag%=.|
00009d60  0d 2e 32 15 e7 20 a9 28  76 61 72 69 24 28 30 29  |..2.. .(vari$(0)|
00009d70  29 3d 36 20 8c 0d 2e 3a  12 20 20 66 75 6c 6c 5f  |)=6 ...:.  full_|
00009d80  66 6c 61 67 25 3d b9 0d  2e 42 11 20 20 e3 20 74  |flag%=...B.  . t|
00009d90  72 25 3d 31 20 b8 20 35  0d 2e 4a 38 20 20 e7 20  |r%=1 . 5..J8  . |
00009da0  a7 22 30 31 32 33 34 35  36 37 38 39 22 2c c1 76  |."0123456789",.v|
00009db0  61 72 69 24 28 30 29 2c  74 72 25 2c 31 29 29 3d  |ari$(0),tr%,1))=|
00009dc0  30 20 8c 20 66 75 6c 6c  5f 66 6c 61 67 25 3d a3  |0 . full_flag%=.|
00009dd0  0d 2e 52 0b 20 20 ed 20  74 72 25 0d 2e 5a 05 cd  |..R.  . tr%..Z..|
00009de0  0d 2e 62 43 76 61 72 69  24 28 31 29 3d a4 74 72  |..bCvari$(1)=.tr|
00009df0  69 6d 28 c1 65 24 2c 63  6f 6d 6d 61 5f 70 6c 25  |im(.e$,comma_pl%|
00009e00  28 30 29 2b 31 2c 63 6f  6d 6d 61 5f 70 6c 25 28  |(0)+1,comma_pl%(|
00009e10  31 29 2d 63 6f 6d 6d 61  5f 70 6c 25 28 30 29 2d  |1)-comma_pl%(0)-|
00009e20  31 29 29 0d 2e 6a 43 76  61 72 69 24 28 32 29 3d  |1))..jCvari$(2)=|
00009e30  a4 74 72 69 6d 28 c1 65  24 2c 63 6f 6d 6d 61 5f  |.trim(.e$,comma_|
00009e40  70 6c 25 28 31 29 2b 31  2c 63 6f 6d 6d 61 5f 70  |pl%(1)+1,comma_p|
00009e50  6c 25 28 32 29 2d 63 6f  6d 6d 61 5f 70 6c 25 28  |l%(2)-comma_pl%(|
00009e60  31 29 2d 31 29 29 0d 2e  72 14 e7 20 ac 20 66 75  |1)-1))..r.. . fu|
00009e70  6c 6c 5f 66 6c 61 67 25  20 8c 0d 2e 7a 2d 20 20  |ll_flag% ...z-  |
00009e80  76 61 72 69 24 28 33 29  3d a4 74 72 69 6d 28 c2  |vari$(3)=.trim(.|
00009e90  65 24 2c a9 28 65 24 29  2d 63 6f 6d 6d 61 5f 70  |e$,.(e$)-comma_p|
00009ea0  6c 25 28 32 29 29 29 0d  2e 82 31 20 20 64 24 3d  |l%(2)))...1  d$=|
00009eb0  a4 52 65 6d 6f 76 65 5f  50 75 6e 63 28 a4 72 65  |.Remove_Punc(.re|
00009ec0  6d 6f 76 65 5f 61 72 74  69 63 6c 65 73 28 76 61  |move_articles(va|
00009ed0  72 69 24 28 30 29 29 29  0d 2e 8a 2a 20 20 6e 6f  |ri$(0)))...*  no|
00009ee0  24 3d a4 41 63 63 6e 5f  41 6c 67 6f 72 69 74 68  |$=.Accn_Algorith|
00009ef0  6d 28 a3 2c 64 24 29 3a  6e 6f 25 3d bb 28 6e 6f  |m(.,d$):no%=.(no|
00009f00  24 29 0d 2e 92 05 cc 0d  2e 9a 45 20 20 76 61 72  |$)........E  var|
00009f10  69 24 28 33 29 3d a4 74  72 69 6d 28 c1 65 24 2c  |i$(3)=.trim(.e$,|
00009f20  63 6f 6d 6d 61 5f 70 6c  25 28 32 29 2b 31 2c 63  |comma_pl%(2)+1,c|
00009f30  6f 6d 6d 61 5f 70 6c 25  28 33 29 2d 63 6f 6d 6d  |omma_pl%(3)-comm|
00009f40  61 5f 70 6c 25 28 32 29  2d 31 29 29 0d 2e a2 45  |a_pl%(2)-1))...E|
00009f50  20 20 76 61 72 69 24 28  34 29 3d a4 74 72 69 6d  |  vari$(4)=.trim|
00009f60  28 c1 65 24 2c 63 6f 6d  6d 61 5f 70 6c 25 28 33  |(.e$,comma_pl%(3|
00009f70  29 2b 31 2c 63 6f 6d 6d  61 5f 70 6c 25 28 34 29  |)+1,comma_pl%(4)|
00009f80  2d 63 6f 6d 6d 61 5f 70  6c 25 28 33 29 2d 31 29  |-comma_pl%(3)-1)|
00009f90  29 0d 2e aa 2d 20 20 76  61 72 69 24 28 35 29 3d  |)...-  vari$(5)=|
00009fa0  a4 74 72 69 6d 28 c2 65  24 2c a9 28 65 24 29 2d  |.trim(.e$,.(e$)-|
00009fb0  63 6f 6d 6d 61 5f 70 6c  25 28 34 29 29 29 0d 2e  |comma_pl%(4)))..|
00009fc0  b2 21 20 20 6e 6f 24 3d  c0 76 61 72 69 24 28 30  |.!  no$=.vari$(0|
00009fd0  29 2c 35 29 3a 6e 6f 25  3d bb 28 6e 6f 24 29 0d  |),5):no%=.(no$).|
00009fe0  2e ba 05 cd 0d 2e c2 19  f2 6f 70 65 6e 5f 62 6f  |.........open_bo|
00009ff0  6f 6b 5f 63 61 63 68 65  28 6e 6f 24 29 0d 2e ca  |ok_cache(no$)...|
0000a000  12 64 69 76 69 73 25 3d  6e 6f 25 20 81 20 38 0d  |.divis%=no% . 8.|
0000a010  2e d2 12 6d 6f 64 75 6c  25 3d 6e 6f 25 20 83 20  |...modul%=no% . |
0000a020  38 0d 2e da 33 62 6f 6f  6b 64 65 66 25 3f 64 69  |8...3bookdef%?di|
0000a030  76 69 73 25 3d 28 62 6f  6f 6b 64 65 66 25 3f 64  |vis%=(bookdef%?d|
0000a040  69 76 69 73 25 20 84 20  28 31 3c 3c 6d 6f 64 75  |ivis% . (1<<modu|
0000a050  6c 25 29 29 0d 2e e2 14  70 69 63 6b 25 3d bb 28  |l%))....pick%=.(|
0000a060  c2 6e 6f 24 2c 32 29 29  0d 2e ea 0e e3 20 67 25  |.no$,2))..... g%|
0000a070  3d 30 20 b8 20 34 0d 2e  f2 12 e7 20 66 75 6c 6c  |=0 . 4..... full|
0000a080  5f 66 6c 61 67 25 20 8c  0d 2e fa 20 20 20 76 61  |_flag% ....   va|
0000a090  72 24 28 70 69 63 6b 25  2c 67 25 29 3d 76 61 72  |r$(pick%,g%)=var|
0000a0a0  69 24 28 67 25 2b 31 29  0d 2f 02 05 cc 0d 2f 0a  |i$(g%+1)./..../.|
0000a0b0  45 20 20 e7 20 67 25 3c  34 20 8c 20 76 61 72 24  |E  . g%<4 . var$|
0000a0c0  28 70 69 63 6b 25 2c 67  25 29 3d 76 61 72 69 24  |(pick%,g%)=vari$|
0000a0d0  28 67 25 29 20 8b 20 76  61 72 24 28 70 69 63 6b  |(g%) . var$(pick|
0000a0e0  25 2c 67 25 29 3d 22 49  4e 20 4c 49 42 52 41 52  |%,g%)="IN LIBRAR|
0000a0f0  59 22 0d 2f 12 05 cd 0d  2f 1a 08 ed 20 67 25 0d  |Y"./..../... g%.|
0000a100  2f 22 0f e3 20 65 61 25  3d 30 20 b8 20 31 0d 2f  |/".. ea%=0 . 1./|
0000a110  2a 60 73 65 6e 28 70 69  63 6b 25 2c 65 61 25 29  |*`sen(pick%,ea%)|
0000a120  3d a4 47 65 74 5f 53 65  61 72 63 68 28 a4 52 65  |=.Get_Search(.Re|
0000a130  6d 6f 76 65 5f 50 75 6e  63 28 a4 72 65 6d 6f 76  |move_Punc(.remov|
0000a140  65 5f 61 72 74 69 63 6c  65 73 28 a4 55 70 70 65  |e_articles(.Uppe|
0000a150  72 28 76 61 72 69 24 28  65 61 25 2b 94 28 66 75  |r(vari$(ea%+.(fu|
0000a160  6c 6c 5f 66 6c 61 67 25  29 29 29 29 29 29 0d 2f  |ll_flag%))))))./|
0000a170  32 09 ed 20 65 61 25 0d  2f 3a 12 e7 20 66 75 6c  |2.. ea%./:.. ful|
0000a180  6c 5f 66 6c 61 67 25 20  8c 0d 2f 42 1b 20 20 63  |l_flag% ../B.  c|
0000a190  64 24 3d a4 73 70 63 28  76 61 72 69 24 28 30 29  |d$=.spc(vari$(0)|
0000a1a0  2c 31 30 29 0d 2f 4a 05  cc 0d 2f 52 29 20 20 63  |,10)./J.../R)  c|
0000a1b0  64 24 3d a4 73 70 63 28  a4 43 68 65 63 6b 5f 44  |d$=.spc(.Check_D|
0000a1c0  69 67 69 74 5f 50 6c 75  73 28 6e 6f 24 29 2c 31  |igit_Plus(no$),1|
0000a1d0  30 29 0d 2f 5a 05 cd 0d  2f 62 27 70 6f 63 6b 5f  |0)./Z.../b'pock_|
0000a1e0  74 69 6e 24 28 30 29 3d  a4 73 70 63 28 76 61 72  |tin$(0)=.spc(var|
0000a1f0  24 28 70 69 63 6b 25 2c  30 29 2c 35 30 29 0d 2f  |$(pick%,0),50)./|
0000a200  6a 27 70 6f 63 6b 5f 74  69 6e 24 28 31 29 3d a4  |j'pock_tin$(1)=.|
0000a210  73 70 63 28 76 61 72 24  28 70 69 63 6b 25 2c 31  |spc(var$(pick%,1|
0000a220  29 2c 34 30 29 0d 2f 72  27 70 6f 63 6b 5f 74 69  |),40)./r'pock_ti|
0000a230  6e 24 28 32 29 3d a4 73  70 63 28 76 61 72 24 28  |n$(2)=.spc(var$(|
0000a240  70 69 63 6b 25 2c 32 29  2c 31 35 29 0d 2f 7a 26  |pick%,2),15)./z&|
0000a250  70 6f 63 6b 5f 74 69 6e  24 28 33 29 3d a4 73 70  |pock_tin$(3)=.sp|
0000a260  63 28 76 61 72 24 28 70  69 63 6b 25 2c 33 29 2c  |c(var$(pick%,3),|
0000a270  36 29 0d 2f 82 4c 77 69  6e 73 74 61 63 6b 24 28  |6)./.Lwinstack$(|
0000a280  77 69 6e 70 25 29 3d 63  64 24 2b 70 6f 63 6b 5f  |winp%)=cd$+pock_|
0000a290  74 69 6e 24 28 30 29 2b  70 6f 63 6b 5f 74 69 6e  |tin$(0)+pock_tin|
0000a2a0  24 28 31 29 2b 70 6f 63  6b 5f 74 69 6e 24 28 32  |$(1)+pock_tin$(2|
0000a2b0  29 2b 70 6f 63 6b 5f 74  69 6e 24 28 33 29 0d 2f  |)+pock_tin$(3)./|
0000a2c0  8a 1b 77 69 6e 70 25 2b  3d 2d 31 2a 28 77 69 6e  |..winp%+=-1*(win|
0000a2d0  70 25 3c 31 30 30 30 30  29 0d 2f 92 14 f2 73 61  |p%<10000)./...sa|
0000a2e0  76 65 5f 63 61 63 68 65  28 6e 6f 24 29 0d 2f 9a  |ve_cache(no$)./.|
0000a2f0  0c e7 20 77 5f 61 25 20  8c 0d 2f a2 3a 20 20 61  |.. w_a% ../.:  a|
0000a300  24 3d 22 48 22 2b c3 28  6c 6f 67 67 65 64 5f 6f  |$="H"+.(logged_o|
0000a310  6e 25 29 2b 22 3b 22 2b  70 61 73 73 24 28 6c 6f  |n%)+";"+pass$(lo|
0000a320  67 67 65 64 5f 6f 6e 25  2c 30 29 2b 22 3b 22 2b  |gged_on%,0)+";"+|
0000a330  6e 6f 24 0d 2f aa 17 20  20 f2 61 64 64 5f 77 61  |no$./..  .add_wa|
0000a340  74 63 68 64 6f 67 28 61  24 29 0d 2f b2 05 cd 0d  |tchdog(a$)./....|
0000a350  2f ba 08 ed 20 66 25 0d  2f c2 0b d9 23 66 69 6c  |/... f%./...#fil|
0000a360  70 25 0d 2f ca 0e e3 20  69 25 3d 30 20 b8 20 39  |p%./... i%=0 . 9|
0000a370  0d 2f d2 19 e7 20 62 6f  6f 6b 5f 64 69 72 5f 64  |./... book_dir_d|
0000a380  65 66 25 28 69 25 29 20  8c 0d 2f da 51 20 20 ff  |ef%(i%) ../.Q  .|
0000a390  28 22 53 61 76 65 20 3c  42 6f 6f 6b 73 22 2b c3  |("Save <Books"+.|
0000a3a0  28 69 25 29 2b 22 24 44  69 72 3e 2e 5e 2e 42 6f  |(i%)+"$Dir>.^.Bo|
0000a3b0  6f 6b 44 65 66 20 22 2b  c3 7e 28 62 6f 6f 6b 64  |okDef "+.~(bookd|
0000a3c0  65 66 25 2b 69 25 2a 31  32 35 30 29 2b 22 20 2b  |ef%+i%*1250)+" +|
0000a3d0  20 22 2b c3 7e 31 32 35  30 29 0d 2f e2 05 cd 0d  | "+.~1250)./....|
0000a3e0  2f ea 08 ed 20 69 25 0d  2f f2 16 c8 99 20 22 48  |/... i%./.... "H|
0000a3f0  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 2f fa  |ourglass_Off"./.|
0000a400  05 e1 0d 30 02 04 0d 30  0a 23 dd f2 70 6f 63 6b  |...0...0.#..pock|
0000a410  65 74 5f 66 69 6c 6c 5f  6d 65 6d 28 66 6e 24 2c  |et_fill_mem(fn$,|
0000a420  63 6f 75 6e 74 5f 61 25  29 0d 30 12 0f 75 73 69  |count_a%).0..usi|
0000a430  6e 67 5f 72 64 25 3d 35  0d 30 1a 0b 77 69 6e 70  |ng_rd%=5.0..winp|
0000a440  25 3d 30 0d 30 22 15 70  5f 70 74 72 25 3d 63 6f  |%=0.0".p_ptr%=co|
0000a450  75 6e 74 5f 61 25 2d 31  0d 30 2a 15 c8 99 20 22  |unt_a%-1.0*... "|
0000a460  48 6f 75 72 67 6c 61 73  73 5f 4f 6e 22 0d 30 32  |Hourglass_On".02|
0000a470  10 66 69 6c 71 25 3d 8e  28 66 6e 24 29 0d 30 3a  |.filq%=.(fn$).0:|
0000a480  15 e3 20 66 25 3d 31 20  b8 20 63 6f 75 6e 74 5f  |.. f%=1 . count_|
0000a490  61 25 0d 30 42 2f c8 99  20 22 48 6f 75 72 67 6c  |a%.0B/.. "Hourgl|
0000a4a0  61 73 73 5f 50 65 72 63  65 6e 74 61 67 65 22 2c  |ass_Percentage",|
0000a4b0  28 66 25 2f 63 6f 75 6e  74 5f 61 25 29 2a 31 30  |(f%/count_a%)*10|
0000a4c0  30 0d 30 4a 0e 65 24 3d  be 23 66 69 6c 71 25 0d  |0.0J.e$=.#filq%.|
0000a4d0  30 52 11 65 24 3d a4 55  70 70 65 72 28 65 24 29  |0R.e$=.Upper(e$)|
0000a4e0  0d 30 5a 0c 63 5f 70 74  72 25 3d 30 0d 30 62 0e  |.0Z.c_ptr%=0.0b.|
0000a4f0  71 75 6f 74 65 5f 63 25  3d 30 0d 30 6a 11 63 6f  |quote_c%=0.0j.co|
0000a500  6d 6d 61 5f 70 6c 25 28  29 3d 30 0d 30 72 12 e3  |mma_pl%()=0.0r..|
0000a510  20 67 25 3d 31 20 b8 20  a9 28 65 24 29 0d 30 7a  | g%=1 . .(e$).0z|
0000a520  2d e7 20 c1 65 24 2c 67  25 2c 31 29 3d bd 28 33  |-. .e$,g%,1)=.(3|
0000a530  34 29 20 8c 20 71 75 6f  74 65 5f 63 25 3d 71 75  |4) . quote_c%=qu|
0000a540  6f 74 65 5f 63 25 20 82  20 31 0d 30 82 41 e7 20  |ote_c% . 1.0.A. |
0000a550  c1 65 24 2c 67 25 2c 31  29 3d 22 2c 22 20 80 20  |.e$,g%,1)="," . |
0000a560  71 75 6f 74 65 5f 63 25  3d 30 20 8c 20 63 6f 6d  |quote_c%=0 . com|
0000a570  6d 61 5f 70 6c 25 28 63  5f 70 74 72 25 29 3d 67  |ma_pl%(c_ptr%)=g|
0000a580  25 3a 63 5f 70 74 72 25  2b 3d 31 0d 30 8a 08 ed  |%:c_ptr%+=1.0...|
0000a590  20 67 25 0d 30 92 27 76  61 72 69 24 28 30 29 3d  | g%.0.'vari$(0)=|
0000a5a0  a4 74 72 69 6d 28 c0 65  24 2c 63 6f 6d 6d 61 5f  |.trim(.e$,comma_|
0000a5b0  70 6c 25 28 30 29 2d 31  29 29 0d 30 9a 10 66 75  |pl%(0)-1)).0..fu|
0000a5c0  6c 6c 5f 66 6c 61 67 25  3d a3 0d 30 a2 15 e7 20  |ll_flag%=..0... |
0000a5d0  a9 28 76 61 72 69 24 28  30 29 29 3d 39 20 8c 0d  |.(vari$(0))=9 ..|
0000a5e0  30 aa 12 20 20 66 75 6c  6c 5f 66 6c 61 67 25 3d  |0..  full_flag%=|
0000a5f0  b9 0d 30 b2 11 20 20 e3  20 74 72 25 3d 31 20 b8  |..0..  . tr%=1 .|
0000a600  20 38 0d 30 ba 38 20 20  e7 20 a7 22 30 31 32 33  | 8.0.8  . ."0123|
0000a610  34 35 36 37 38 39 22 2c  c1 76 61 72 69 24 28 30  |456789",.vari$(0|
0000a620  29 2c 74 72 25 2c 31 29  29 3d 30 20 8c 20 66 75  |),tr%,1))=0 . fu|
0000a630  6c 6c 5f 66 6c 61 67 25  3d a3 0d 30 c2 0b 20 20  |ll_flag%=..0..  |
0000a640  ed 20 74 72 25 0d 30 ca  05 cd 0d 30 d2 43 76 61  |. tr%.0....0.Cva|
0000a650  72 69 24 28 31 29 3d a4  74 72 69 6d 28 c1 65 24  |ri$(1)=.trim(.e$|
0000a660  2c 63 6f 6d 6d 61 5f 70  6c 25 28 30 29 2b 31 2c  |,comma_pl%(0)+1,|
0000a670  63 6f 6d 6d 61 5f 70 6c  25 28 31 29 2d 63 6f 6d  |comma_pl%(1)-com|
0000a680  6d 61 5f 70 6c 25 28 30  29 2d 31 29 29 0d 30 da  |ma_pl%(0)-1)).0.|
0000a690  43 76 61 72 69 24 28 32  29 3d a4 74 72 69 6d 28  |Cvari$(2)=.trim(|
0000a6a0  c1 65 24 2c 63 6f 6d 6d  61 5f 70 6c 25 28 31 29  |.e$,comma_pl%(1)|
0000a6b0  2b 31 2c 63 6f 6d 6d 61  5f 70 6c 25 28 32 29 2d  |+1,comma_pl%(2)-|
0000a6c0  63 6f 6d 6d 61 5f 70 6c  25 28 31 29 2d 31 29 29  |comma_pl%(1)-1))|
0000a6d0  0d 30 e2 43 76 61 72 69  24 28 33 29 3d a4 74 72  |.0.Cvari$(3)=.tr|
0000a6e0  69 6d 28 c1 65 24 2c 63  6f 6d 6d 61 5f 70 6c 25  |im(.e$,comma_pl%|
0000a6f0  28 32 29 2b 31 2c 63 6f  6d 6d 61 5f 70 6c 25 28  |(2)+1,comma_pl%(|
0000a700  33 29 2d 63 6f 6d 6d 61  5f 70 6c 25 28 32 29 2d  |3)-comma_pl%(2)-|
0000a710  31 29 29 0d 30 ea 43 76  61 72 69 24 28 34 29 3d  |1)).0.Cvari$(4)=|
0000a720  a4 74 72 69 6d 28 c1 65  24 2c 63 6f 6d 6d 61 5f  |.trim(.e$,comma_|
0000a730  70 6c 25 28 33 29 2b 31  2c 63 6f 6d 6d 61 5f 70  |pl%(3)+1,comma_p|
0000a740  6c 25 28 34 29 2d 63 6f  6d 6d 61 5f 70 6c 25 28  |l%(4)-comma_pl%(|
0000a750  33 29 2d 31 29 29 0d 30  f2 43 76 61 72 69 24 28  |3)-1)).0.Cvari$(|
0000a760  35 29 3d a4 74 72 69 6d  28 c1 65 24 2c 63 6f 6d  |5)=.trim(.e$,com|
0000a770  6d 61 5f 70 6c 25 28 34  29 2b 31 2c 63 6f 6d 6d  |ma_pl%(4)+1,comm|
0000a780  61 5f 70 6c 25 28 35 29  2d 63 6f 6d 6d 61 5f 70  |a_pl%(5)-comma_p|
0000a790  6c 25 28 34 29 2d 31 29  29 0d 30 fa 43 76 61 72  |l%(4)-1)).0.Cvar|
0000a7a0  69 24 28 36 29 3d a4 74  72 69 6d 28 c1 65 24 2c  |i$(6)=.trim(.e$,|
0000a7b0  63 6f 6d 6d 61 5f 70 6c  25 28 35 29 2b 31 2c 63  |comma_pl%(5)+1,c|
0000a7c0  6f 6d 6d 61 5f 70 6c 25  28 36 29 2d 63 6f 6d 6d  |omma_pl%(6)-comm|
0000a7d0  61 5f 70 6c 25 28 35 29  2d 31 29 29 0d 31 02 43  |a_pl%(5)-1)).1.C|
0000a7e0  76 61 72 69 24 28 37 29  3d a4 74 72 69 6d 28 c1  |vari$(7)=.trim(.|
0000a7f0  65 24 2c 63 6f 6d 6d 61  5f 70 6c 25 28 36 29 2b  |e$,comma_pl%(6)+|
0000a800  31 2c 63 6f 6d 6d 61 5f  70 6c 25 28 37 29 2d 63  |1,comma_pl%(7)-c|
0000a810  6f 6d 6d 61 5f 70 6c 25  28 36 29 2d 31 29 29 0d  |omma_pl%(6)-1)).|
0000a820  31 0a 43 76 61 72 69 24  28 38 29 3d a4 74 72 69  |1.Cvari$(8)=.tri|
0000a830  6d 28 c1 65 24 2c 63 6f  6d 6d 61 5f 70 6c 25 28  |m(.e$,comma_pl%(|
0000a840  37 29 2b 31 2c 63 6f 6d  6d 61 5f 70 6c 25 28 38  |7)+1,comma_pl%(8|
0000a850  29 2d 63 6f 6d 6d 61 5f  70 6c 25 28 37 29 2d 31  |)-comma_pl%(7)-1|
0000a860  29 29 0d 31 12 43 76 61  72 69 24 28 39 29 3d a4  |)).1.Cvari$(9)=.|
0000a870  74 72 69 6d 28 c1 65 24  2c 63 6f 6d 6d 61 5f 70  |trim(.e$,comma_p|
0000a880  6c 25 28 38 29 2b 31 2c  63 6f 6d 6d 61 5f 70 6c  |l%(8)+1,comma_pl|
0000a890  25 28 39 29 2d 63 6f 6d  6d 61 5f 70 6c 25 28 38  |%(9)-comma_pl%(8|
0000a8a0  29 2d 31 29 29 0d 31 1a  14 e7 20 ac 20 66 75 6c  |)-1)).1... . ful|
0000a8b0  6c 5f 66 6c 61 67 25 20  8c 0d 31 22 2e 20 20 76  |l_flag% ..1".  v|
0000a8c0  61 72 69 24 28 31 30 29  3d a4 74 72 69 6d 28 c2  |ari$(10)=.trim(.|
0000a8d0  65 24 2c a9 28 65 24 29  2d 63 6f 6d 6d 61 5f 70  |e$,.(e$)-comma_p|
0000a8e0  6c 25 28 39 29 29 29 0d  31 2a 14 20 20 c8 8e 20  |l%(9))).1*.  .. |
0000a8f0  76 61 72 69 24 28 31 30  29 20 ca 0d 31 32 1c 20  |vari$(10) ..12. |
0000a900  20 20 20 c9 20 22 41 44  55 4c 54 22 3a 20 74 69  |   . "ADULT": ti|
0000a910  63 6b 65 74 25 3d 30 0d  31 3a 1d 20 20 20 20 c9  |cket%=0.1:.    .|
0000a920  20 22 4a 55 4e 49 4f 52  22 3a 20 74 69 63 6b 65  | "JUNIOR": ticke|
0000a930  74 25 3d 31 0d 31 42 1c  20 20 20 20 c9 20 22 53  |t%=1.1B.    . "S|
0000a940  54 41 46 46 22 3a 20 74  69 63 6b 65 74 25 3d 32  |TAFF": ticket%=2|
0000a950  0d 31 4a 14 20 20 20 20  7f 3a 20 74 69 63 6b 65  |.1J.    .: ticke|
0000a960  74 25 3d 30 0d 31 52 07  20 20 cb 0d 31 5a 15 20  |t%=0.1R.  ..1Z. |
0000a970  20 74 24 3d c0 76 61 72  69 24 28 31 29 2c 31 29  | t$=.vari$(1),1)|
0000a980  0d 31 62 19 20 20 f2 66  69 6e 64 5f 6d 65 6d 5f  |.1b.  .find_mem_|
0000a990  73 70 61 63 65 28 74 24  29 0d 31 6a 2e 20 20 63  |space(t$).1j.  c|
0000a9a0  6f 64 65 24 3d a4 61 6c  67 6f 72 69 74 68 6d 28  |ode$=.algorithm(|
0000a9b0  6c 6b 31 25 2c 6c 6b 32  25 2c 74 6e 25 2c 97 28  |lk1%,lk2%,tn%,.(|
0000a9c0  74 24 29 2d 36 35 29 0d  31 72 4a 20 20 e7 20 63  |t$)-65).1rJ  . c|
0000a9d0  6f 64 65 24 3d 22 59 6f  75 20 6e 65 65 64 20 6d  |ode$="You need m|
0000a9e0  6f 72 65 20 64 69 72 65  63 74 6f 72 69 65 73 2e  |ore directories.|
0000a9f0  22 20 8c 20 f2 64 69 73  5f 6d 65 73 73 61 67 65  |" . .dis_message|
0000aa00  28 63 6f 64 65 24 29 3a  d9 23 66 69 6c 71 25 3a  |(code$):.#filq%:|
0000aa10  e1 0d 31 7a 05 cc 0d 31  82 47 20 20 76 61 72 69  |..1z...1.G  vari|
0000aa20  24 28 31 30 29 3d a4 74  72 69 6d 28 c1 65 24 2c  |$(10)=.trim(.e$,|
0000aa30  63 6f 6d 6d 61 5f 70 6c  25 28 39 29 2b 31 2c 63  |comma_pl%(9)+1,c|
0000aa40  6f 6d 6d 61 5f 70 6c 25  28 31 30 29 2d 63 6f 6d  |omma_pl%(10)-com|
0000aa50  6d 61 5f 70 6c 25 28 39  29 2d 31 29 29 0d 31 8a  |ma_pl%(9)-1)).1.|
0000aa60  49 20 20 76 61 72 69 24  28 31 31 29 3d a4 74 72  |I  vari$(11)=.tr|
0000aa70  69 6d 28 c1 65 24 2c 63  6f 6d 6d 61 5f 70 6c 25  |im(.e$,comma_pl%|
0000aa80  28 31 30 29 2b 31 2c 63  6f 6d 6d 61 5f 70 6c 25  |(10)+1,comma_pl%|
0000aa90  28 31 31 29 2d 63 6f 6d  6d 61 5f 70 6c 25 28 31  |(11)-comma_pl%(1|
0000aaa0  30 29 2d 31 29 29 0d 31  92 49 20 20 76 61 72 69  |0)-1)).1.I  vari|
0000aab0  24 28 31 32 29 3d a4 74  72 69 6d 28 c1 65 24 2c  |$(12)=.trim(.e$,|
0000aac0  63 6f 6d 6d 61 5f 70 6c  25 28 31 31 29 2b 31 2c  |comma_pl%(11)+1,|
0000aad0  63 6f 6d 6d 61 5f 70 6c  25 28 31 32 29 2d 63 6f  |comma_pl%(12)-co|
0000aae0  6d 6d 61 5f 70 6c 25 28  31 31 29 2d 31 29 29 0d  |mma_pl%(11)-1)).|
0000aaf0  31 9a 2f 20 20 76 61 72  69 24 28 31 33 29 3d a4  |1./  vari$(13)=.|
0000ab00  74 72 69 6d 28 c2 65 24  2c a9 28 65 24 29 2d 63  |trim(.e$,.(e$)-c|
0000ab10  6f 6d 6d 61 5f 70 6c 25  28 31 32 29 29 29 0d 31  |omma_pl%(12))).1|
0000ab20  a2 1a 20 20 74 69 63 6b  65 74 25 3d bb 28 76 61  |..  ticket%=.(va|
0000ab30  72 69 24 28 31 32 29 29  0d 31 aa 14 20 20 63 6f  |ri$(12)).1..  co|
0000ab40  64 65 24 3d 76 61 72 69  24 28 30 29 0d 31 b2 17  |de$=vari$(0).1..|
0000ab50  20 20 6c 6b 31 25 3d bb  28 c0 63 6f 64 65 24 2c  |  lk1%=.(.code$,|
0000ab60  32 29 29 0d 31 ba 1d 20  20 74 24 3d bd 28 36 35  |2)).1..  t$=.(65|
0000ab70  2b bb 28 c1 63 6f 64 65  24 2c 33 2c 32 29 29 29  |+.(.code$,3,2)))|
0000ab80  0d 31 c2 19 20 20 6c 6b  32 25 3d bb 28 c1 63 6f  |.1..  lk2%=.(.co|
0000ab90  64 65 24 2c 35 2c 31 29  29 0d 31 ca 18 20 20 74  |de$,5,1)).1..  t|
0000aba0  6e 25 3d bb 28 c1 63 6f  64 65 24 2c 36 2c 33 29  |n%=.(.code$,6,3)|
0000abb0  29 0d 31 d2 05 cd 0d 31  da 36 66 69 6c 6f 25 3d  |).1....1.6filo%=|
0000abc0  8e 28 22 3c 4d 65 6d 62  65 72 22 2b c3 28 6c 6b  |.("<Member"+.(lk|
0000abd0  31 25 29 2b 22 24 44 69  72 3e 2e 22 2b 74 24 2b  |1%)+"$Dir>."+t$+|
0000abe0  22 2e 22 2b c3 28 6c 6b  32 25 29 29 0d 31 e2 3a  |"."+.(lk2%)).1.:|
0000abf0  66 69 6c 70 25 3d ae 28  22 3c 4d 65 6d 62 65 72  |filp%=.("<Member|
0000ac00  22 2b c3 28 6c 6b 31 25  29 2b 22 24 44 69 72 3e  |"+.(lk1%)+"$Dir>|
0000ac10  2e 22 2b 74 24 2b 22 2e  22 2b c3 28 6c 6b 32 25  |."+t$+"."+.(lk2%|
0000ac20  29 2b 22 32 22 29 0d 31  ea 0f f1 23 66 69 6c 70  |)+"2").1...#filp|
0000ac30  25 2c 74 6e 25 0d 31 f2  0d e7 20 74 6e 25 3e 31  |%,tn%.1... tn%>1|
0000ac40  20 8c 0d 31 fa 13 20 20  e8 23 66 69 6c 6f 25 2c  | ..1..  .#filo%,|
0000ac50  74 65 6d 70 25 0d 32 02  16 20 20 e3 20 63 25 3d  |temp%.2..  . c%=|
0000ac60  31 20 b8 20 6c 6f 77 65  73 74 25 0d 32 0a 11 20  |1 . lowest%.2.. |
0000ac70  20 e3 20 64 25 3d 31 20  b8 20 31 31 0d 32 12 13  | . d%=1 . 11.2..|
0000ac80  20 20 e8 23 66 69 6c 6f  25 2c 74 65 6d 70 24 0d  |  .#filo%,temp$.|
0000ac90  32 1a 13 20 20 f1 23 66  69 6c 70 25 2c 74 65 6d  |2..  .#filp%,tem|
0000aca0  70 24 0d 32 22 0a 20 20  ed 20 64 25 0d 32 2a 13  |p$.2".  . d%.2*.|
0000acb0  20 20 74 65 6d 70 25 3d  9a 23 66 69 6c 6f 25 0d  |  temp%=.#filo%.|
0000acc0  32 32 13 20 20 d5 23 66  69 6c 70 25 2c 74 65 6d  |22.  .#filp%,tem|
0000acd0  70 25 0d 32 3a 11 20 20  62 6e 25 3d 9a 23 66 69  |p%.2:.  bn%=.#fi|
0000ace0  6c 6f 25 0d 32 42 11 20  20 d5 23 66 69 6c 70 25  |lo%.2B.  .#filp%|
0000acf0  2c 62 6e 25 0d 32 4a 0f  20 20 e7 20 62 6e 25 3e  |,bn%.2J.  . bn%>|
0000ad00  30 20 8c 0d 32 52 14 20  20 20 20 e3 20 64 25 3d  |0 ..2R.    . d%=|
0000ad10  31 20 b8 20 62 6e 25 0d  32 5a 15 20 20 20 20 e8  |1 . bn%.2Z.    .|
0000ad20  23 66 69 6c 6f 25 2c 74  65 6d 70 25 0d 32 62 15  |#filo%,temp%.2b.|
0000ad30  20 20 20 20 f1 23 66 69  6c 70 25 2c 74 65 6d 70  |    .#filp%,temp|
0000ad40  25 0d 32 6a 0c 20 20 20  20 ed 20 64 25 0d 32 72  |%.2j.    . d%.2r|
0000ad50  07 20 20 cd 0d 32 7a 0a  20 20 ed 20 63 25 0d 32  |.  ..2z.  . c%.2|
0000ad60  82 05 cd 0d 32 8a 14 f1  23 66 69 6c 70 25 2c 76  |....2...#filp%,v|
0000ad70  61 72 69 24 28 31 29 0d  32 92 14 f1 23 66 69 6c  |ari$(1).2...#fil|
0000ad80  70 25 2c 76 61 72 69 24  28 32 29 0d 32 9a 14 f1  |p%,vari$(2).2...|
0000ad90  23 66 69 6c 70 25 2c 76  61 72 69 24 28 33 29 0d  |#filp%,vari$(3).|
0000ada0  32 a2 14 f1 23 66 69 6c  70 25 2c 76 61 72 69 24  |2...#filp%,vari$|
0000adb0  28 34 29 0d 32 aa 0e e3  20 63 25 3d 30 20 b8 20  |(4).2... c%=0 . |
0000adc0  35 0d 32 b2 17 f1 23 66  69 6c 70 25 2c 76 61 72  |5.2...#filp%,var|
0000add0  69 24 28 35 2b 63 25 29  0d 32 ba 08 ed 20 63 25  |i$(5+c%).2... c%|
0000ade0  0d 32 c2 15 f1 23 66 69  6c 70 25 2c 76 61 72 69  |.2...#filp%,vari|
0000adf0  24 28 31 30 29 0d 32 ca  13 d5 23 66 69 6c 70 25  |$(10).2...#filp%|
0000ae00  2c 74 69 63 6b 65 74 25  0d 32 d2 14 e7 20 ac 20  |,ticket%.2... . |
0000ae10  66 75 6c 6c 5f 66 6c 61  67 25 20 8c 0d 32 da 0f  |full_flag% ..2..|
0000ae20  20 20 d5 23 66 69 6c 70  25 2c 30 0d 32 e2 05 cc  |  .#filp%,0.2...|
0000ae30  0d 32 ea 16 20 20 62 67  25 3d bb 28 76 61 72 69  |.2..  bg%=.(vari|
0000ae40  24 28 31 33 29 29 0d 32  f2 11 20 20 d5 23 66 69  |$(13)).2..  .#fi|
0000ae50  6c 70 25 2c 62 67 25 0d  32 fa 0f 20 20 e7 20 62  |lp%,bg%.2..  . b|
0000ae60  67 25 3e 30 20 8c 0d 33  02 13 20 20 20 20 62 6b  |g%>0 ..3..    bk|
0000ae70  24 3d be 23 66 69 6c 71  25 0d 33 0a 14 20 20 20  |$=.#filq%.3..   |
0000ae80  20 c8 95 20 a7 62 6b 24  2c 22 2c 22 29 0d 33 12  | .. .bk$,",").3.|
0000ae90  2a 20 20 20 20 20 20 f1  23 66 69 6c 70 25 2c a4  |*      .#filp%,.|
0000aea0  74 72 69 6d 28 c0 62 6b  24 2c a7 62 6b 24 2c 22  |trim(.bk$,.bk$,"|
0000aeb0  2c 22 29 2d 31 29 29 0d  33 1a 1f 20 20 20 20 20  |,")-1)).3..     |
0000aec0  20 62 6b 24 3d c1 62 6b  24 2c a7 62 6b 24 2c 22  | bk$=.bk$,.bk$,"|
0000aed0  2c 22 29 2b 31 29 0d 33  22 09 20 20 20 20 ce 0d  |,")+1).3".    ..|
0000aee0  33 2a 1a 20 20 20 20 f1  23 66 69 6c 70 25 2c a4  |3*.    .#filp%,.|
0000aef0  74 72 69 6d 28 62 6b 24  29 0d 33 32 0d 20 20 20  |trim(bk$).32.   |
0000af00  20 66 25 2b 3d 31 0d 33  3a 07 20 20 cd 0d 33 42  | f%+=1.3:.  ..3B|
0000af10  05 cd 0d 33 4a 0b d9 23  66 69 6c 6f 25 0d 33 52  |...3J..#filo%.3R|
0000af20  0b d9 23 66 69 6c 70 25  0d 33 5a 37 ff 28 22 44  |..#filp%.3Z7.("D|
0000af30  65 6c 65 74 65 20 3c 4d  65 6d 62 65 72 22 2b c3  |elete <Member"+.|
0000af40  28 6c 6b 31 25 29 2b 22  24 44 69 72 3e 2e 22 2b  |(lk1%)+"$Dir>."+|
0000af50  74 24 2b 22 2e 22 2b c3  28 6c 6b 32 25 29 29 0d  |t$+"."+.(lk2%)).|
0000af60  33 62 63 ff 28 22 52 65  6e 61 6d 65 20 3c 4d 65  |3bc.("Rename <Me|
0000af70  6d 62 65 72 22 2b c3 28  6c 6b 31 25 29 2b 22 24  |mber"+.(lk1%)+"$|
0000af80  44 69 72 3e 2e 22 2b 74  24 2b 22 2e 22 2b c3 28  |Dir>."+t$+"."+.(|
0000af90  6c 6b 32 25 29 2b 22 32  20 3c 4d 65 6d 62 65 72  |lk2%)+"2 <Member|
0000afa0  22 2b c3 28 6c 6b 31 25  29 2b 22 24 44 69 72 3e  |"+.(lk1%)+"$Dir>|
0000afb0  2e 22 2b 74 24 2b 22 2e  22 2b c3 28 6c 6b 32 25  |."+t$+"."+.(lk2%|
0000afc0  29 29 0d 33 6a 23 77 69  6e 73 74 61 63 6b 24 28  |)).3j#winstack$(|
0000afd0  77 69 6e 70 25 29 3d a4  73 70 63 28 63 6f 64 65  |winp%)=.spc(code|
0000afe0  24 2c 31 32 29 0d 33 72  74 77 69 6e 73 74 61 63  |$,12).3rtwinstac|
0000aff0  6b 24 28 77 69 6e 70 25  29 2b 3d a4 73 70 63 28  |k$(winp%)+=.spc(|
0000b000  c0 76 61 72 69 24 28 31  2b 32 2a 94 28 66 75 6c  |.vari$(1+2*.(ful|
0000b010  6c 5f 66 6c 61 67 25 29  29 2b 22 2c 20 22 2b 76  |l_flag%))+", "+v|
0000b020  61 72 69 24 28 32 2a 94  28 66 75 6c 6c 5f 66 6c  |ari$(2*.(full_fl|
0000b030  61 67 25 29 29 2b 22 20  22 2b 76 61 72 69 24 28  |ag%))+" "+vari$(|
0000b040  32 2b 32 2a 94 28 66 75  6c 6c 5f 66 6c 61 67 25  |2+2*.(full_flag%|
0000b050  29 2c 33 30 29 2c 33 30  29 0d 33 7a 2a 61 64 63  |),30),30).3z*adc|
0000b060  24 3d c0 76 61 72 69 24  28 33 2b 32 2a 94 28 66  |$=.vari$(3+2*.(f|
0000b070  75 6c 6c 5f 66 6c 61 67  25 29 29 2b 22 2c 22 2c  |ull_flag%))+",",|
0000b080  36 31 29 0d 33 82 30 e3  20 61 64 63 25 3d 34 2b  |61).3.0. adc%=4+|
0000b090  32 2a 94 28 66 75 6c 6c  5f 66 6c 61 67 25 29 20  |2*.(full_flag%) |
0000b0a0  b8 20 39 2b 32 2a 94 28  66 75 6c 6c 5f 66 6c 61  |. 9+2*.(full_fla|
0000b0b0  67 25 29 0d 33 8a 3a e7  20 76 61 72 69 24 28 61  |g%).3.:. vari$(a|
0000b0c0  64 63 25 29 3c 3e 22 22  20 8c 20 61 64 63 24 2b  |dc%)<>"" . adc$+|
0000b0d0  3d c0 76 61 72 69 24 28  61 64 63 25 29 2b 22 2c  |=.vari$(adc%)+",|
0000b0e0  22 2c 36 31 2d a9 28 61  64 63 24 29 29 0d 33 92  |",61-.(adc$)).3.|
0000b0f0  0a ed 20 61 64 63 25 0d  33 9a 0f 61 64 63 24 3d  |.. adc%.3..adc$=|
0000b100  c0 61 64 63 24 29 0d 33  a2 23 77 69 6e 73 74 61  |.adc$).3.#winsta|
0000b110  63 6b 24 28 77 69 6e 70  25 29 2b 3d a4 73 70 63  |ck$(winp%)+=.spc|
0000b120  28 61 64 63 24 2c 36 30  29 0d 33 aa 22 c8 8e 20  |(adc$,60).3.".. |
0000b130  76 61 72 69 24 28 31 30  2b 32 2a 94 28 66 75 6c  |vari$(10+2*.(ful|
0000b140  6c 5f 66 6c 61 67 25 29  29 20 ca 0d 33 b2 2f 20  |l_flag%)) ..3./ |
0000b150  20 c9 20 22 41 44 55 4c  54 22 2c 22 30 22 3a 20  | . "ADULT","0": |
0000b160  77 69 6e 73 74 61 63 6b  24 28 77 69 6e 70 25 29  |winstack$(winp%)|
0000b170  2b 3d 22 41 64 75 6c 74  20 22 0d 33 ba 30 20 20  |+="Adult ".3.0  |
0000b180  c9 20 22 4a 55 4e 49 4f  52 22 2c 22 31 22 3a 20  |. "JUNIOR","1": |
0000b190  77 69 6e 73 74 61 63 6b  24 28 77 69 6e 70 25 29  |winstack$(winp%)|
0000b1a0  2b 3d 22 4a 75 6e 69 6f  72 22 0d 33 c2 2f 20 20  |+="Junior".3./  |
0000b1b0  c9 20 22 53 54 41 46 46  22 2c 22 32 22 3a 20 77  |. "STAFF","2": w|
0000b1c0  69 6e 73 74 61 63 6b 24  28 77 69 6e 70 25 29 2b  |instack$(winp%)+|
0000b1d0  3d 22 53 74 61 66 66 20  22 0d 33 ca 23 20 20 7f  |="Staff ".3.#  .|
0000b1e0  3a 20 77 69 6e 73 74 61  63 6b 24 28 77 69 6e 70  |: winstack$(winp|
0000b1f0  25 29 2b 3d 22 41 64 75  6c 74 20 22 0d 33 d2 05  |%)+="Adult ".3..|
0000b200  cb 0d 33 da 1b 77 69 6e  70 25 2b 3d 2d 31 2a 28  |..3..winp%+=-1*(|
0000b210  77 69 6e 70 25 3c 31 30  30 30 30 29 0d 33 e2 0c  |winp%<10000).3..|
0000b220  e7 20 77 5f 61 25 20 8c  0d 33 ea 40 20 20 61 24  |. w_a% ..3.@  a$|
0000b230  3d 22 4c 22 2b c3 28 6c  6f 67 67 65 64 5f 6f 6e  |="L"+.(logged_on|
0000b240  25 29 2b 22 3b 22 2b 70  61 73 73 24 28 6c 6f 67  |%)+";"+pass$(log|
0000b250  67 65 64 5f 6f 6e 25 2c  30 29 2b 22 3b 22 2b c0  |ged_on%,0)+";"+.|
0000b260  63 6f 64 65 24 2c 38 29  0d 33 f2 17 20 20 f2 61  |code$,8).3..  .a|
0000b270  64 64 5f 77 61 74 63 68  64 6f 67 28 61 24 29 0d  |dd_watchdog(a$).|
0000b280  33 fa 05 cd 0d 34 02 08  ed 20 66 25 0d 34 0a 0b  |3....4... f%.4..|
0000b290  d9 23 66 69 6c 71 25 0d  34 12 16 c8 99 20 22 48  |.#filq%.4.... "H|
0000b2a0  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 34 1a  |ourglass_Off".4.|
0000b2b0  05 e1 0d 34 22 04 0d 34  2a 0e dd a4 74 72 69 6d  |...4"..4*...trim|
0000b2c0  28 73 24 29 0d 34 32 13  73 24 3d c0 73 24 2c a9  |(s$).42.s$=.s$,.|
0000b2d0  28 73 24 29 2d 31 29 0d  34 3a 11 3d c2 73 24 2c  |(s$)-1).4:.=.s$,|
0000b2e0  a9 28 73 24 29 2d 31 29  0d 34 42 04 0d 34 4a 0f  |.(s$)-1).4B..4J.|
0000b2f0  dd f2 70 6f 6c 6c 5f 64  72 61 77 0d 34 52 0b ea  |..poll_draw.4R..|
0000b300  20 6d 6f 72 65 25 0d 34  5a 26 c8 99 20 22 57 69  | more%.4Z&.. "Wi|
0000b310  6d 70 5f 52 65 64 72 61  77 57 69 6e 64 6f 77 22  |mp_RedrawWindow"|
0000b320  2c 2c 71 25 20 b8 20 6d  6f 72 65 25 0d 34 62 0c  |,,q% . more%.4b.|
0000b330  78 30 25 3d 71 25 21 34  0d 34 6a 0d 79 30 25 3d  |x0%=q%!4.4j.y0%=|
0000b340  71 25 21 31 36 0d 34 72  19 73 63 78 25 3d 71 25  |q%!16.4r.scx%=q%|
0000b350  21 32 30 3a 73 63 79 25  3d 71 25 21 32 34 0d 34  |!20:scy%=q%!24.4|
0000b360  7a 1d 62 78 25 3d 78 30  25 2d 73 63 78 25 3a 62  |z.bx%=x0%-scx%:b|
0000b370  79 25 3d 79 30 25 2d 73  63 79 25 0d 34 82 0c c8  |y%=y0%-scy%.4...|
0000b380  95 20 6d 6f 72 65 25 0d  34 8a 1f 20 20 f2 65 76  |. more%.4..  .ev|
0000b390  65 6e 74 5f 64 72 61 77  28 71 25 21 30 2c 62 78  |ent_draw(q%!0,bx|
0000b3a0  25 2c 62 79 25 29 0d 34  92 28 20 20 c8 99 20 22  |%,by%).4.(  .. "|
0000b3b0  57 69 6d 70 5f 47 65 74  52 65 63 74 61 6e 67 6c  |Wimp_GetRectangl|
0000b3c0  65 22 2c 2c 71 25 20 b8  20 6d 6f 72 65 25 0d 34  |e",,q% . more%.4|
0000b3d0  9a 0d 20 20 6d 6f 72 65  25 3d 30 0d 34 a2 05 ce  |..  more%=0.4...|
0000b3e0  0d 34 aa 05 e1 0d 34 b2  04 0d 34 ba 1e dd f2 65  |.4....4...4....e|
0000b3f0  76 65 6e 74 5f 64 72 61  77 28 77 69 6e 25 2c 70  |vent_draw(win%,p|
0000b400  78 25 2c 70 79 25 29 0d  34 c2 0d c8 8e 20 77 69  |x%,py%).4.... wi|
0000b410  6e 25 20 ca 0d 34 ca 28  20 20 c9 20 6d 61 69 6e  |n% ..4.(  . main|
0000b420  5f 61 75 78 25 3a 20 f2  72 65 64 72 61 77 5f 70  |_aux%: .redraw_p|
0000b430  6f 63 6b 28 70 78 25 2c  70 79 25 29 0d 34 d2 05  |ock(px%,py%).4..|
0000b440  cb 0d 34 da 05 e1 0d 34  e2 04 0d 34 ea 11 dd a4  |..4....4...4....|
0000b450  73 70 63 28 73 24 2c 6e  6c 25 29 0d 34 f2 17 3d  |spc(s$,nl%).4..=|
0000b460  73 24 2b c4 6e 6c 25 2d  a9 28 73 24 29 2c 22 20  |s$+.nl%-.(s$)," |
0000b470  22 29 0d 34 fa 04 0d 35  02 1a dd f2 72 65 64 72  |").4...5....redr|
0000b480  61 77 5f 70 6f 63 6b 28  70 78 25 2c 70 79 25 29  |aw_pock(px%,py%)|
0000b490  0d 35 0a 14 e3 20 63 25  3d 30 20 b8 20 77 69 6e  |.5... c%=0 . win|
0000b4a0  70 25 2d 31 0d 35 12 09  65 25 3d 63 25 0d 35 1a  |p%-1.5..e%=c%.5.|
0000b4b0  16 ec 20 70 78 25 2c 70  79 25 2d 65 25 2a 34 38  |.. px%,py%-e%*48|
0000b4c0  2d 31 30 0d 35 22 13 f1  20 77 69 6e 73 74 61 63  |-10.5".. winstac|
0000b4d0  6b 24 28 63 25 29 0d 35  2a 08 ed 20 63 25 0d 35  |k$(c%).5*.. c%.5|
0000b4e0  32 05 e1 0d 35 3a 04 0d  35 42 11 dd a4 7a 65 72  |2...5:..5B...zer|
0000b4f0  6f 28 61 24 2c 6c 25 29  0d 35 4a 16 3d c4 6c 25  |o(a$,l%).5J.=.l%|
0000b500  2d a9 28 61 24 29 2c 22  30 22 29 2b 61 24 0d 35  |-.(a$),"0")+a$.5|
0000b510  52 04 0d 35 5a 19 dd a4  76 61 6c 69 64 61 74 65  |R..5Z...validate|
0000b520  5f 64 69 67 69 74 73 28  6e 24 29 0d 35 62 0c 6c  |_digits(n$).5b.l|
0000b530  25 3d a9 28 6e 24 29 0d  35 6a 0c 61 63 63 75 6d  |%=.(n$).5j.accum|
0000b540  25 3d 30 0d 35 72 14 e3  20 76 61 6c 63 25 3d 31  |%=0.5r.. valc%=1|
0000b550  20 b8 20 6c 25 2d 31 0d  35 7a 1b e7 20 a7 22 58  | . l%-1.5z.. ."X|
0000b560  78 22 2c c1 6e 24 2c 76  61 6c 63 25 2c 31 29 29  |x",.n$,valc%,1))|
0000b570  20 8c 0d 35 82 0e 20 20  64 65 63 6f 25 3d 31 30  | ..5..  deco%=10|
0000b580  0d 35 8a 05 cc 0d 35 92  1b 20 20 64 65 63 6f 25  |.5....5..  deco%|
0000b590  3d bb 28 c1 6e 24 2c 76  61 6c 63 25 2c 31 29 29  |=.(.n$,valc%,1))|
0000b5a0  0d 35 9a 05 cd 0d 35 a2  20 61 63 63 75 6d 25 2b  |.5....5. accum%+|
0000b5b0  3d 28 28 6c 25 2b 31 29  2d 76 61 6c 63 25 29 2a  |=((l%+1)-valc%)*|
0000b5c0  64 65 63 6f 25 0d 35 aa  0b ed 20 76 61 6c 63 25  |deco%.5... valc%|
0000b5d0  0d 35 b2 0e 63 64 24 3d  c2 6e 24 2c 31 29 0d 35  |.5..cd$=.n$,1).5|
0000b5e0  ba 26 e7 20 a7 22 58 78  22 2c 63 64 24 29 20 8c  |.&. ."Xx",cd$) .|
0000b5f0  20 63 64 25 3d 31 30 20  8b 20 63 64 25 3d bb 28  | cd%=10 . cd%=.(|
0000b600  63 64 24 29 0d 35 c2 1f  e7 20 61 63 63 75 6d 25  |cd$).5... accum%|
0000b610  20 83 20 31 31 3d 63 64  25 20 8c 20 3d b9 20 8b  | . 11=cd% . =. .|
0000b620  20 3d a3 0d 35 ca 04 0d  35 d2 18 dd f2 62 75 69  | =..5...5....bui|
0000b630  6c 64 6d 65 6e 75 28 6d  6e 25 2c 6d 74 24 29 0d  |ldmenu(mn%,mt$).|
0000b640  35 da 14 6d 65 6e 61 64  25 28 6d 6e 25 29 3d 63  |5..menad%(mn%)=c|
0000b650  75 72 25 0d 35 e2 0d 24  63 75 72 25 3d 6d 74 24  |ur%.5..$cur%=mt$|
0000b660  0d 35 ea 0d 63 75 72 25  3f 31 32 3d 37 0d 35 f2  |.5..cur%?12=7.5.|
0000b670  0d 63 75 72 25 3f 31 33  3d 32 0d 35 fa 0d 63 75  |.cur%?13=2.5..cu|
0000b680  72 25 3f 31 34 3d 37 0d  36 02 0d 63 75 72 25 3f  |r%?14=7.6..cur%?|
0000b690  31 35 3d 30 0d 36 0a 0d  63 75 72 25 21 31 36 3d  |15=0.6..cur%!16=|
0000b6a0  30 0d 36 12 0e 63 75 72  25 21 32 30 3d 34 34 0d  |0.6..cur%!20=44.|
0000b6b0  36 1a 0d 63 75 72 25 21  32 34 3d 30 0d 36 22 0c  |6..cur%!24=0.6".|
0000b6c0  63 75 72 25 2b 3d 32 38  0d 36 2a 47 e7 20 63 75  |cur%+=28.6*G. cu|
0000b6d0  72 25 3e 3d 6d 65 6e 75  25 2b 26 32 30 30 30 20  |r%>=menu%+&2000 |
0000b6e0  8c 20 f2 64 69 73 5f 6d  65 73 73 61 67 65 28 22  |. .dis_message("|
0000b6f0  4d 65 6e 75 20 74 72 65  65 20 68 61 73 20 72 75  |Menu tree has ru|
0000b700  6e 20 6f 75 74 20 6f 66  20 72 6f 6f 6d 22 29 0d  |n out of room").|
0000b710  36 32 05 e1 0d 36 3a 04  0d 36 42 20 dd f2 61 64  |62...6:..6B ..ad|
0000b720  64 74 6f 6d 65 6e 75 28  6d 6e 25 2c 69 74 24 2c  |dtomenu(mn%,it$,|
0000b730  68 61 25 2c 66 65 24 29  0d 36 4a 09 66 65 25 3d  |ha%,fe$).6J.fe%=|
0000b740  30 0d 36 52 18 e7 20 a7  66 65 24 2c 22 4c 22 29  |0.6R.. .fe$,"L")|
0000b750  20 8c 20 66 65 25 2b 3d  32 0d 36 5a 18 e7 20 a7  | . fe%+=2.6Z.. .|
0000b760  66 65 24 2c 22 57 22 29  20 8c 20 66 65 25 2b 3d  |fe$,"W") . fe%+=|
0000b770  34 0d 36 62 1a e7 20 a7  66 65 24 2c 22 46 22 29  |4.6b.. .fe$,"F")|
0000b780  20 8c 20 66 65 25 2b 3d  31 32 38 0d 36 6a 0d 21  | . fe%+=128.6j.!|
0000b790  63 75 72 25 3d 66 65 25  0d 36 72 2b e7 20 68 61  |cur%=fe%.6r+. ha|
0000b7a0  25 3e 2d 31 20 80 20 68  61 25 3c 26 38 30 20 8c  |%>-1 . ha%<&80 .|
0000b7b0  20 63 75 72 25 21 34 3d  6d 65 6e 61 64 25 28 68  | cur%!4=menad%(h|
0000b7c0  61 25 29 0d 36 7a 18 e7  20 68 61 25 3d 2d 31 20  |a%).6z.. ha%=-1 |
0000b7d0  8c 20 63 75 72 25 21 34  3d 2d 31 0d 36 82 1a e7  |. cur%!4=-1.6...|
0000b7e0  20 68 61 25 3e 26 38 30  20 8c 20 63 75 72 25 21  | ha%>&80 . cur%!|
0000b7f0  34 3d 68 61 25 0d 36 8a  1c 63 75 72 25 21 38 3d  |4=ha%.6..cur%!8=|
0000b800  31 20 84 20 28 37 3c 3c  32 34 29 20 84 20 32 35  |1 . (7<<24) . 25|
0000b810  36 0d 36 92 19 24 28 6d  65 6e 75 69 6e 64 25 2b  |6.6..$(menuind%+|
0000b820  6d 65 69 6e 25 29 3d 69  74 24 0d 36 9a 11 69 6c  |mein%)=it$.6..il|
0000b830  65 25 3d a9 28 69 74 24  29 2b 31 0d 36 a2 2a e7  |e%=.(it$)+1.6.*.|
0000b840  20 28 69 6c 65 25 20 83  20 34 29 3e 30 20 8c 20  | (ile% . 4)>0 . |
0000b850  69 6c 65 25 3d 28 28 69  6c 65 25 20 81 20 34 29  |ile%=((ile% . 4)|
0000b860  2b 31 29 2a 34 0d 36 aa  1a 63 75 72 25 21 31 32  |+1)*4.6..cur%!12|
0000b870  3d 6d 65 6e 75 69 6e 64  25 2b 6d 65 69 6e 25 0d  |=menuind%+mein%.|
0000b880  36 b2 0e 63 75 72 25 21  31 36 3d 2d 31 0d 36 ba  |6..cur%!16=-1.6.|
0000b890  12 63 75 72 25 21 32 30  3d a9 28 69 74 24 29 0d  |.cur%!20=.(it$).|
0000b8a0  36 c2 26 e7 20 a7 66 65  24 2c 22 57 22 29 20 8c  |6.&. .fe$,"W") .|
0000b8b0  20 69 6c 65 25 3d 32 35  36 3a 63 75 72 25 21 32  | ile%=256:cur%!2|
0000b8c0  30 3d 32 35 35 0d 36 ca  0f 6d 65 69 6e 25 2b 3d  |0=255.6..mein%+=|
0000b8d0  69 6c 65 25 0d 36 d2 3d  e7 20 6d 65 69 6e 25 3e  |ile%.6.=. mein%>|
0000b8e0  26 32 30 30 30 20 8c 20  f2 64 69 73 5f 6d 65 73  |&2000 . .dis_mes|
0000b8f0  73 61 67 65 28 22 4d 65  6e 75 20 69 6e 64 65 72  |sage("Menu inder|
0000b900  65 63 74 69 6f 6e 20 6f  76 65 72 66 6c 6f 77 22  |ection overflow"|
0000b910  29 0d 36 da 0c 63 75 72  25 2b 3d 32 34 0d 36 e2  |).6..cur%+=24.6.|
0000b920  46 e7 20 63 75 72 25 3e  6d 65 6e 75 25 2b 26 32  |F. cur%>menu%+&2|
0000b930  30 30 30 20 8c 20 f2 64  69 73 5f 6d 65 73 73 61  |000 . .dis_messa|
0000b940  67 65 28 22 4d 65 6e 75  20 74 72 65 65 20 68 61  |ge("Menu tree ha|
0000b950  73 20 72 75 6e 20 6f 75  74 20 6f 66 20 72 6f 6f  |s run out of roo|
0000b960  6d 22 29 0d 36 ea 47 e7  20 28 28 6d 65 6e 61 64  |m").6.G. ((menad|
0000b970  25 28 6d 6e 25 29 21 31  36 29 2d 33 32 29 3c 28  |%(mn%)!16)-32)<(|
0000b980  a9 28 69 74 24 29 2a 31  36 29 20 8c 20 6d 65 6e  |.(it$)*16) . men|
0000b990  61 64 25 28 6d 6e 25 29  21 31 36 3d 28 a9 28 69  |ad%(mn%)!16=(.(i|
0000b9a0  74 24 29 2a 31 36 29 2b  33 32 0d 36 f2 05 e1 0d  |t$)*16)+32.6....|
0000b9b0  36 fa 04 0d 37 02 15 dd  a4 52 65 6d 6f 76 65 5f  |6...7....Remove_|
0000b9c0  50 75 6e 63 28 73 24 29  0d 37 0a 09 64 24 3d 22  |Punc(s$).7..d$="|
0000b9d0  22 0d 37 12 12 e3 20 63  25 3d 31 20 b8 20 a9 28  |".7... c%=1 . .(|
0000b9e0  73 24 29 0d 37 1a 10 65  24 3d c1 73 24 2c 63 25  |s$).7..e$=.s$,c%|
0000b9f0  2c 31 29 0d 37 22 3a e7  20 28 65 24 3e 3d 22 41  |,1).7":. (e$>="A|
0000ba00  22 20 80 20 65 24 3c 3d  22 5a 22 29 20 84 20 28  |" . e$<="Z") . (|
0000ba10  65 24 3e 3d 22 61 22 20  80 20 65 24 3c 3d 22 7a  |e$>="a" . e$<="z|
0000ba20  22 29 20 8c 20 64 24 3d  64 24 2b 65 24 0d 37 2a  |") . d$=d$+e$.7*|
0000ba30  20 e7 20 65 24 3e 3d 22  30 22 20 80 20 65 24 3c  | . e$>="0" . e$<|
0000ba40  3d 22 39 22 20 8c 20 64  24 2b 3d 65 24 0d 37 32  |="9" . d$+=e$.72|
0000ba50  08 ed 20 63 25 0d 37 3a  07 3d 64 24 0d 37 42 04  |.. c%.7:.=d$.7B.|
0000ba60  0d 37 4a 1e dd a4 41 63  63 6e 5f 41 6c 67 6f 72  |.7J...Accn_Algor|
0000ba70  69 74 68 6d 28 66 75 6e  63 25 2c 73 24 29 0d 37  |ithm(func%,s$).7|
0000ba80  52 08 ea 20 61 25 0d 37  5a 11 73 24 3d a4 55 70  |R.. a%.7Z.s$=.Up|
0000ba90  70 65 72 28 73 24 29 0d  37 62 0d e7 20 73 24 3d  |per(s$).7b.. s$=|
0000baa0  22 22 20 8c 0d 37 6a 0b  20 20 73 6e 25 3d 30 0d  |"" ..7j.  sn%=0.|
0000bab0  37 72 05 cc 0d 37 7a 1c  20 20 e7 20 a9 28 73 24  |7r...7z.  . .(s$|
0000bac0  29 3e 3d 32 20 8c 20 73  24 3d c0 73 24 2c 32 29  |)>=2 . s$=.s$,2)|
0000bad0  0d 37 82 0a 20 20 61 25  3d 30 0d 37 8a 14 20 20  |.7..  a%=0.7..  |
0000bae0  e3 20 63 25 3d 31 20 b8  20 a9 28 73 24 29 0d 37  |. c%=1 . .(s$).7|
0000baf0  92 29 20 20 61 25 2b 3d  28 97 28 c1 73 24 2c 63  |.)  a%+=(.(.s$,c|
0000bb00  25 2c 31 29 29 2d 36 35  29 2a 32 36 5e 28 a9 28  |%,1))-65)*26^(.(|
0000bb10  73 24 29 2d 63 25 29 0d  37 9a 0a 20 20 ed 20 63  |s$)-c%).7..  . c|
0000bb20  25 0d 37 a2 1a 20 20 73  6e 25 3d a8 28 61 25 2a  |%.7..  sn%=.(a%*|
0000bb30  28 39 39 39 39 2f 36 37  35 29 29 0d 37 aa 05 cd  |(9999/675)).7...|
0000bb40  0d 37 b2 1e e7 20 66 75  6e 63 25 20 8c 20 3d a4  |.7... func% . =.|
0000bb50  7a 65 72 6f 28 c3 28 73  6e 25 29 2c 34 29 0d 37  |zero(.(sn%),4).7|
0000bb60  ba 14 66 6c 61 67 25 3d  a3 3a 66 6c 61 67 32 25  |..flag%=.:flag2%|
0000bb70  3d a3 0d 37 c2 0b 73 74  25 3d 73 6e 25 0d 37 ca  |=..7..st%=sn%.7.|
0000bb80  09 63 64 25 3d 30 0d 37  d2 18 c8 95 20 63 64 25  |.cd%=0.7.... cd%|
0000bb90  3c 31 30 20 80 20 ac 20  66 6c 61 67 32 25 0d 37  |<10 . . flag2%.7|
0000bba0  da 26 20 20 c8 95 20 62  6f 6f 6b 5f 64 69 72 5f  |.&  .. book_dir_|
0000bbb0  64 65 66 25 28 63 64 25  29 3d a3 20 80 20 63 64  |def%(cd%)=. . cd|
0000bbc0  25 3c 31 30 0d 37 e2 0e  20 20 20 20 63 64 25 2b  |%<10.7..    cd%+|
0000bbd0  3d 31 0d 37 ea 07 20 20  ce 0d 37 f2 0e 20 20 66  |=1.7..  ..7..  f|
0000bbe0  6c 61 67 32 25 3d b9 0d  37 fa 05 ce 0d 38 02 0e  |lag2%=..7....8..|
0000bbf0  e7 20 63 64 25 3d 31 30  20 8c 0d 38 0a 45 20 20  |. cd%=10 ..8.E  |
0000bc00  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 4e 6f  |.dis_message("No|
0000bc10  20 62 6f 6f 6b 20 64 69  72 65 63 74 6f 72 69 65  | book directorie|
0000bc20  73 20 68 61 76 65 20 62  65 65 6e 20 73 65 65 6e  |s have been seen|
0000bc30  20 62 79 20 74 68 65 20  66 69 6c 65 72 22 29 0d  | by the filer").|
0000bc40  38 12 0d 20 20 3d 22 46  75 6c 6c 22 0d 38 1a 05  |8..  ="Full".8..|
0000bc50  cd 0d 38 22 0c 73 63 64  25 3d 63 64 25 0d 38 2a  |..8".scd%=cd%.8*|
0000bc60  05 f5 0d 38 32 61 20 20  e7 20 28 28 62 6f 6f 6b  |...82a  . ((book|
0000bc70  64 65 66 25 3f 28 28 63  64 25 2a 31 30 30 30 30  |def%?((cd%*10000|
0000bc80  2b 73 6e 25 29 20 81 20  38 29 20 80 20 28 31 3c  |+sn%) . 8) . (1<|
0000bc90  3c 28 28 63 64 25 2a 31  30 30 30 30 2b 73 6e 25  |<((cd%*10000+sn%|
0000bca0  29 20 83 20 38 29 29 29  3e 3e 3e 28 28 63 64 25  |) . 8)))>>>((cd%|
0000bcb0  2a 31 30 30 30 30 2b 73  6e 25 29 20 83 20 38 29  |*10000+sn%) . 8)|
0000bcc0  29 20 8c 0d 38 3a 0e 20  20 20 20 63 64 25 2b 3d  |) ..8:.    cd%+=|
0000bcd0  31 0d 38 42 10 20 20 20  20 66 6c 61 67 32 25 3d  |1.8B.    flag2%=|
0000bce0  a3 0d 38 4a 1c 20 20 20  20 c8 95 20 63 64 25 3c  |..8J.    .. cd%<|
0000bcf0  31 30 20 80 20 ac 20 66  6c 61 67 32 25 0d 38 52  |10 . . flag2%.8R|
0000bd00  2a 20 20 20 20 20 20 c8  95 20 62 6f 6f 6b 5f 64  |*      .. book_d|
0000bd10  69 72 5f 64 65 66 25 28  63 64 25 29 3d a3 20 80  |ir_def%(cd%)=. .|
0000bd20  20 63 64 25 3c 31 30 0d  38 5a 12 20 20 20 20 20  | cd%<10.8Z.     |
0000bd30  20 20 20 63 64 25 2b 3d  31 0d 38 62 0b 20 20 20  |   cd%+=1.8b.   |
0000bd40  20 20 20 ce 0d 38 6a 12  20 20 20 20 20 20 66 6c  |   ..8j.      fl|
0000bd50  61 67 32 25 3d b9 0d 38  72 09 20 20 20 20 ce 0d  |ag2%=..8r.    ..|
0000bd60  38 7a 07 20 20 cc 0d 38  82 0f 20 20 20 20 66 6c  |8z.  ..8..    fl|
0000bd70  61 67 25 3d b9 0d 38 8a  07 20 20 cd 0d 38 92 10  |ag%=..8..  ..8..|
0000bd80  20 20 e7 20 63 64 25 3d  31 30 20 8c 0d 38 9a 10  |  . cd%=10 ..8..|
0000bd90  20 20 20 20 63 64 25 3d  73 63 64 25 0d 38 a2 0e  |    cd%=scd%.8..|
0000bda0  20 20 20 20 73 6e 25 2b  3d 31 0d 38 aa 13 20 20  |    sn%+=1.8..  |
0000bdb0  20 20 e7 20 73 6e 25 3d  73 74 25 20 8c 0d 38 b2  |  . sn%=st% ..8.|
0000bdc0  4e 20 20 20 20 20 20 f2  64 69 73 5f 6d 65 73 73  |N      .dis_mess|
0000bdd0  61 67 65 28 22 54 68 65  72 65 20 69 73 20 6e 6f  |age("There is no|
0000bde0  20 6d 6f 72 65 20 73 70  61 63 65 2e 20 43 72 65  | more space. Cre|
0000bdf0  61 74 65 20 61 20 6e 65  77 20 62 6f 6f 6b 20 64  |ate a new book d|
0000be00  69 72 65 63 74 6f 72 79  2e 22 29 0d 38 ba 11 20  |irectory.").8.. |
0000be10  20 20 20 20 20 3d 22 46  75 6c 6c 22 0d 38 c2 09  |     ="Full".8..|
0000be20  20 20 20 20 cd 0d 38 ca  07 20 20 cd 0d 38 d2 0b  |    ..8..  ..8..|
0000be30  fd 20 66 6c 61 67 25 0d  38 da 20 3d a4 7a 65 72  |. flag%.8. =.zer|
0000be40  6f 28 c3 28 28 63 64 25  2a 31 30 30 30 30 29 2b  |o(.((cd%*10000)+|
0000be50  73 6e 25 29 2c 35 29 0d  38 e2 04 0d 38 ea 27 dd  |sn%),5).8...8.'.|
0000be60  a4 41 63 63 6e 5f 41 6c  67 6f 72 69 74 68 6d 5f  |.Accn_Algorithm_|
0000be70  4f 72 69 67 69 6e 61 6c  28 66 75 6e 63 25 2c 73  |Original(func%,s|
0000be80  24 29 0d 38 f2 08 ea 20  61 25 0d 38 fa 11 73 24  |$).8... a%.8..s$|
0000be90  3d a4 55 70 70 65 72 28  73 24 29 0d 39 02 0d e7  |=.Upper(s$).9...|
0000bea0  20 73 24 3d 22 22 20 8c  0d 39 0a 0b 20 20 73 6e  | s$="" ..9..  sn|
0000beb0  25 3d 30 0d 39 12 05 cc  0d 39 1a 1c 20 20 e7 20  |%=0.9....9..  . |
0000bec0  a9 28 73 24 29 3e 3d 32  20 8c 20 73 24 3d c0 73  |.(s$)>=2 . s$=.s|
0000bed0  24 2c 32 29 0d 39 22 0a  20 20 61 25 3d 30 0d 39  |$,2).9".  a%=0.9|
0000bee0  2a 14 20 20 e3 20 63 25  3d 31 20 b8 20 a9 28 73  |*.  . c%=1 . .(s|
0000bef0  24 29 0d 39 32 29 20 20  61 25 2b 3d 28 97 28 c1  |$).92)  a%+=(.(.|
0000bf00  73 24 2c 63 25 2c 31 29  29 2d 36 35 29 2a 32 36  |s$,c%,1))-65)*26|
0000bf10  5e 28 a9 28 73 24 29 2d  63 25 29 0d 39 3a 0a 20  |^(.(s$)-c%).9:. |
0000bf20  20 ed 20 63 25 0d 39 42  1a 20 20 73 6e 25 3d a8  | . c%.9B.  sn%=.|
0000bf30  28 61 25 2a 28 39 39 39  39 2f 36 37 35 29 29 0d  |(a%*(9999/675)).|
0000bf40  39 4a 05 cd 0d 39 52 1e  e7 20 66 75 6e 63 25 20  |9J...9R.. func% |
0000bf50  8c 20 3d a4 7a 65 72 6f  28 c3 28 73 6e 25 29 2c  |. =.zero(.(sn%),|
0000bf60  34 29 0d 39 5a 14 66 6c  61 67 25 3d a3 3a 66 6c  |4).9Z.flag%=.:fl|
0000bf70  61 67 32 25 3d a3 0d 39  62 0b 73 74 25 3d 73 6e  |ag2%=..9b.st%=sn|
0000bf80  25 0d 39 6a 09 63 64 25  3d 30 0d 39 72 0d c8 95  |%.9j.cd%=0.9r...|
0000bf90  20 63 64 25 3c 31 30 0d  39 7a 26 20 20 c8 95 20  | cd%<10.9z&  .. |
0000bfa0  62 6f 6f 6b 5f 64 69 72  5f 64 65 66 25 28 63 64  |book_dir_def%(cd|
0000bfb0  25 29 3d a3 20 80 20 63  64 25 3c 31 30 0d 39 82  |%)=. . cd%<10.9.|
0000bfc0  0e 20 20 20 20 63 64 25  2b 3d 31 0d 39 8a 07 20  |.    cd%+=1.9.. |
0000bfd0  20 ce 0d 39 92 05 ce 0d  39 9a 0e e7 20 63 64 25  | ..9....9... cd%|
0000bfe0  3d 31 30 20 8c 0d 39 a2  45 20 20 f2 64 69 73 5f  |=10 ..9.E  .dis_|
0000bff0  6d 65 73 73 61 67 65 28  22 4e 6f 20 62 6f 6f 6b  |message("No book|
0000c000  20 64 69 72 65 63 74 6f  72 69 65 73 20 68 61 76  | directories hav|
0000c010  65 20 62 65 65 6e 20 73  65 65 6e 20 62 79 20 74  |e been seen by t|
0000c020  68 65 20 66 69 6c 65 72  22 29 0d 39 aa 0d 20 20  |he filer").9..  |
0000c030  3d 22 46 75 6c 6c 22 0d  39 b2 05 cd 0d 39 ba 05  |="Full".9....9..|
0000c040  f5 0d 39 c2 72 20 20 e7  20 28 28 62 6f 6f 6b 64  |..9.r  . ((bookd|
0000c050  65 66 25 3f 28 28 63 64  25 2a 31 30 30 30 30 2b  |ef%?((cd%*10000+|
0000c060  73 6e 25 29 20 81 20 38  29 20 80 20 28 31 3c 3c  |sn%) . 8) . (1<<|
0000c070  28 28 63 64 25 2a 31 30  30 30 30 2b 73 6e 25 29  |((cd%*10000+sn%)|
0000c080  20 83 20 38 29 29 29 3e  3e 3e 28 28 63 64 25 2a  | . 8)))>>>((cd%*|
0000c090  31 30 30 30 30 2b 73 6e  25 29 20 83 20 38 29 29  |10000+sn%) . 8))|
0000c0a0  20 8c 20 73 6e 25 2b 3d  31 20 8b 20 66 6c 61 67  | . sn%+=1 . flag|
0000c0b0  25 3d b9 0d 39 ca 22 20  20 e7 20 73 6e 25 3d 31  |%=..9."  . sn%=1|
0000c0c0  30 30 30 30 20 8c 20 73  6e 25 3d 30 3a 66 6c 61  |0000 . sn%=0:fla|
0000c0d0  67 32 25 3d b9 0d 39 d2  1a 20 20 e7 20 73 6e 25  |g2%=..9..  . sn%|
0000c0e0  3d 73 74 25 20 80 20 66  6c 61 67 32 25 20 8c 0d  |=st% . flag2% ..|
0000c0f0  39 da 11 20 20 20 20 e7  20 63 64 25 3c 39 20 8c  |9..    . cd%<9 .|
0000c100  0d 39 e2 19 20 20 20 20  20 20 63 64 25 2b 3d 31  |.9..      cd%+=1|
0000c110  3a 66 6c 61 67 32 25 3d  a3 0d 39 ea 13 20 20 20  |:flag2%=..9..   |
0000c120  20 20 20 c8 95 20 63 64  25 3c 31 30 0d 39 f2 2c  |   .. cd%<10.9.,|
0000c130  20 20 20 20 20 20 20 20  c8 95 20 62 6f 6f 6b 5f  |        .. book_|
0000c140  64 69 72 5f 64 65 66 25  28 63 64 25 29 3d a3 20  |dir_def%(cd%)=. |
0000c150  80 20 63 64 25 3c 31 30  0d 39 fa 14 20 20 20 20  |. cd%<10.9..    |
0000c160  20 20 20 20 20 20 63 64  25 2b 3d 31 0d 3a 02 0d  |      cd%+=1.:..|
0000c170  20 20 20 20 20 20 20 20  ce 0d 3a 0a 0b 20 20 20  |        ..:..   |
0000c180  20 20 20 ce 0d 3a 12 61  20 20 20 20 20 20 e7 20  |   ..:.a      . |
0000c190  63 64 25 3d 31 30 20 8c  20 f2 64 69 73 5f 6d 65  |cd%=10 . .dis_me|
0000c1a0  73 73 61 67 65 28 22 54  68 65 72 65 20 69 73 20  |ssage("There is |
0000c1b0  6e 6f 20 6d 6f 72 65 20  73 70 61 63 65 2e 20 43  |no more space. C|
0000c1c0  72 65 61 74 65 20 61 20  6e 65 77 20 62 6f 6f 6b  |reate a new book|
0000c1d0  20 64 69 72 65 63 74 6f  72 79 2e 22 29 3a 3d 22  | directory."):="|
0000c1e0  46 75 6c 6c 22 0d 3a 1a  09 20 20 20 20 cc 0d 3a  |Full".:..    ..:|
0000c1f0  22 4e 20 20 20 20 20 20  f2 64 69 73 5f 6d 65 73  |"N      .dis_mes|
0000c200  73 61 67 65 28 22 54 68  65 72 65 20 69 73 20 6e  |sage("There is n|
0000c210  6f 20 6d 6f 72 65 20 73  70 61 63 65 2e 20 43 72  |o more space. Cr|
0000c220  65 61 74 65 20 61 20 6e  65 77 20 62 6f 6f 6b 20  |eate a new book |
0000c230  64 69 72 65 63 74 6f 72  79 2e 22 29 0d 3a 2a 11  |directory.").:*.|
0000c240  20 20 20 20 20 20 3d 22  46 75 6c 6c 22 0d 3a 32  |      ="Full".:2|
0000c250  09 20 20 20 20 cd 0d 3a  3a 07 20 20 cd 0d 3a 42  |.    ..::.  ..:B|
0000c260  0b fd 20 66 6c 61 67 25  0d 3a 4a 20 3d a4 7a 65  |.. flag%.:J =.ze|
0000c270  72 6f 28 c3 28 28 63 64  25 2a 31 30 30 30 30 29  |ro(.((cd%*10000)|
0000c280  2b 73 6e 25 29 2c 35 29  0d 3a 52 04 0d 3a 5a 15  |+sn%),5).:R..:Z.|
0000c290  dd f2 63 68 65 63 6b 5f  62 6f 6f 6b 5f 64 69 72  |..check_book_dir|
0000c2a0  73 0d 3a 62 11 62 6f 6f  6b 5f 63 6f 75 6e 74 25  |s.:b.book_count%|
0000c2b0  3d 30 0d 3a 6a 0e e3 20  63 25 3d 30 20 b8 20 39  |=0.:j.. c%=0 . 9|
0000c2c0  0d 3a 72 48 c8 99 20 22  58 4f 53 5f 52 65 61 64  |.:rH.. "XOS_Read|
0000c2d0  56 61 72 56 61 6c 22 2c  28 22 42 6f 6f 6b 73 22  |VarVal",("Books"|
0000c2e0  2b c3 28 63 25 29 2b 22  24 44 69 72 22 29 2c 77  |+.(c%)+"$Dir"),w|
0000c2f0  69 6d 70 25 2c 32 35 36  2c 2c 33 20 b8 20 2c 2c  |imp%,256,,3 . ,,|
0000c300  6e 25 20 3b 65 72 72 25  0d 3a 7a 12 e7 20 28 65  |n% ;err%.:z.. (e|
0000c310  72 72 25 20 80 20 31 29  20 8c 0d 3a 82 19 20 20  |rr% . 1) ..:..  |
0000c320  62 6f 6f 6b 5f 64 69 72  5f 64 65 66 25 28 63 25  |book_dir_def%(c%|
0000c330  29 3d a3 0d 3a 8a 05 cc  0d 3a 92 19 20 20 62 6f  |)=..:....:..  bo|
0000c340  6f 6b 5f 64 69 72 5f 64  65 66 25 28 63 25 29 3d  |ok_dir_def%(c%)=|
0000c350  b9 0d 3a 9a 14 20 20 62  6f 6f 6b 5f 63 6f 75 6e  |..:..  book_coun|
0000c360  74 25 2b 3d 31 0d 3a a2  05 cd 0d 3a aa 08 ed 20  |t%+=1.:....:... |
0000c370  63 25 0d 3a b2 20 e7 20  73 6d 65 67 5f 66 6c 61  |c%.:. . smeg_fla|
0000c380  67 25 20 8c 20 f2 6c 6f  61 64 5f 62 6f 6f 6b 64  |g% . .load_bookd|
0000c390  65 66 0d 3a ba 05 e1 0d  3a c2 04 0d 3a ca 14 dd  |ef.:....:...:...|
0000c3a0  f2 63 68 65 63 6b 5f 6d  65 6d 5f 64 69 72 73 0d  |.check_mem_dirs.|
0000c3b0  3a d2 10 6d 65 6d 5f 63  6f 75 6e 74 25 3d 30 0d  |:..mem_count%=0.|
0000c3c0  3a da 0f e3 20 63 25 3d  30 20 b8 20 39 39 0d 3a  |:... c%=0 . 99.:|
0000c3d0  e2 49 c8 99 20 22 58 4f  53 5f 52 65 61 64 56 61  |.I.. "XOS_ReadVa|
0000c3e0  72 56 61 6c 22 2c 28 22  4d 65 6d 62 65 72 22 2b  |rVal",("Member"+|
0000c3f0  c3 28 63 25 29 2b 22 24  44 69 72 22 29 2c 77 69  |.(c%)+"$Dir"),wi|
0000c400  6d 70 25 2c 32 35 36 2c  2c 33 20 b8 20 2c 2c 6e  |mp%,256,,3 . ,,n|
0000c410  25 20 3b 65 72 72 25 0d  3a ea 12 e7 20 28 65 72  |% ;err%.:... (er|
0000c420  72 25 20 80 20 31 29 20  8c 0d 3a f2 18 20 20 6d  |r% . 1) ..:..  m|
0000c430  65 6d 5f 64 69 72 5f 64  65 66 25 28 63 25 29 3d  |em_dir_def%(c%)=|
0000c440  a3 0d 3a fa 05 cc 0d 3b  02 18 20 20 6d 65 6d 5f  |..:....;..  mem_|
0000c450  64 69 72 5f 64 65 66 25  28 63 25 29 3d b9 0d 3b  |dir_def%(c%)=..;|
0000c460  0a 13 20 20 6d 65 6d 5f  63 6f 75 6e 74 25 2b 3d  |..  mem_count%+=|
0000c470  31 0d 3b 12 05 cd 0d 3b  1a 08 ed 20 63 25 0d 3b  |1.;....;... c%.;|
0000c480  22 05 e1 0d 3b 2a 04 0d  3b 32 17 dd f2 75 70 64  |"...;*..;2...upd|
0000c490  61 74 65 5f 73 61 76 65  5f 62 6f 78 65 73 0d 3b  |ate_save_boxes.;|
0000c4a0  3a 10 73 6d 65 67 5f 66  6c 61 67 25 3d a3 0d 3b  |:.smeg_flag%=..;|
0000c4b0  42 14 f2 63 68 65 63 6b  5f 62 6f 6f 6b 5f 64 69  |B..check_book_di|
0000c4c0  72 73 0d 3b 4a 10 73 6d  65 67 5f 66 6c 61 67 25  |rs.;J.smeg_flag%|
0000c4d0  3d b9 0d 3b 52 09 62 72  25 3d 30 0d 3b 5a 0b 66  |=..;R.br%=0.;Z.f|
0000c4e0  6c 61 67 25 3d a3 0d 3b  62 17 c8 95 20 62 72 25  |lag%=..;b... br%|
0000c4f0  3c 31 30 20 80 20 ac 20  66 6c 61 67 25 0d 3b 6a  |<10 . . flag%.;j|
0000c500  24 20 20 c8 95 20 62 6f  6f 6b 5f 64 69 72 5f 64  |$  .. book_dir_d|
0000c510  65 66 25 28 62 72 25 29  20 80 20 62 72 25 3c 31  |ef%(br%) . br%<1|
0000c520  30 0d 3b 72 0e 20 20 20  20 62 72 25 2b 3d 31 0d  |0.;r.    br%+=1.|
0000c530  3b 7a 07 20 20 ce 0d 3b  82 0d 20 20 66 6c 61 67  |;z.  ..;..  flag|
0000c540  25 3d b9 0d 3b 8a 05 ce  0d 3b 92 14 e7 20 62 72  |%=..;....;... br|
0000c550  25 3d 31 30 20 8c 20 62  72 25 3d 30 0d 3b 9a 09  |%=10 . br%=0.;..|
0000c560  64 72 25 3d 30 0d 3b a2  0b 66 6c 61 67 25 3d a3  |dr%=0.;..flag%=.|
0000c570  0d 3b aa 18 c8 95 20 64  72 25 3c 31 30 30 20 80  |.;.... dr%<100 .|
0000c580  20 ac 20 66 6c 61 67 25  0d 3b b2 24 20 20 c8 95  | . flag%.;.$  ..|
0000c590  20 6d 65 6d 5f 64 69 72  5f 64 65 66 25 28 64 72  | mem_dir_def%(dr|
0000c5a0  25 29 20 80 20 64 72 25  3c 31 30 30 0d 3b ba 0e  |%) . dr%<100.;..|
0000c5b0  20 20 20 20 64 72 25 2b  3d 31 0d 3b c2 07 20 20  |    dr%+=1.;..  |
0000c5c0  ce 0d 3b ca 0d 20 20 66  6c 61 67 25 3d b9 0d 3b  |..;..  flag%=..;|
0000c5d0  d2 05 ce 0d 3b da 15 e7  20 64 72 25 3d 31 30 30  |....;... dr%=100|
0000c5e0  20 8c 20 64 72 25 3d 30  0d 3b e2 16 77 69 6d 70  | . dr%=0.;..wimp|
0000c5f0  25 21 30 3d 73 61 76 65  5f 62 6f 6f 6b 25 0d 3b  |%!0=save_book%.;|
0000c600  ea 0d 77 69 6d 70 25 21  34 3d 31 0d 3b f2 21 c8  |..wimp%!4=1.;.!.|
0000c610  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
0000c620  74 61 74 65 22 2c 2c 77  69 6d 70 25 0d 3b fa 0d  |tate",,wimp%.;..|
0000c630  77 69 6d 70 25 21 38 3d  30 0d 3c 02 0e 77 69 6d  |wimp%!8=0.<..wim|
0000c640  70 25 21 31 32 3d 30 0d  3c 0a 20 24 28 77 69 6d  |p%!12=0.<. $(wim|
0000c650  70 25 21 32 38 29 3d 22  21 21 42 6f 6f 6b 73 22  |p%!28)="!!Books"|
0000c660  2b c3 28 62 72 25 29 0d  3c 12 21 c8 99 20 22 57  |+.(br%).<.!.. "W|
0000c670  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
0000c680  22 2c 2c 77 69 6d 70 25  0d 3c 1a 15 77 69 6d 70  |",,wimp%.<..wimp|
0000c690  25 21 30 3d 73 61 76 65  5f 6d 65 6d 25 0d 3c 22  |%!0=save_mem%.<"|
0000c6a0  0d 77 69 6d 70 25 21 34  3d 31 0d 3c 2a 21 c8 99  |.wimp%!4=1.<*!..|
0000c6b0  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
0000c6c0  61 74 65 22 2c 2c 77 69  6d 70 25 0d 3c 32 0d 77  |ate",,wimp%.<2.w|
0000c6d0  69 6d 70 25 21 38 3d 30  0d 3c 3a 0e 77 69 6d 70  |imp%!8=0.<:.wimp|
0000c6e0  25 21 31 32 3d 30 0d 3c  42 21 24 28 77 69 6d 70  |%!12=0.<B!$(wimp|
0000c6f0  25 21 32 38 29 3d 22 21  21 4d 65 6d 62 65 72 22  |%!28)="!!Member"|
0000c700  2b c3 28 64 72 25 29 0d  3c 4a 21 c8 99 20 22 57  |+.(dr%).<J!.. "W|
0000c710  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
0000c720  22 2c 2c 77 69 6d 70 25  0d 3c 52 05 e1 0d 3c 5a  |",,wimp%.<R...<Z|
0000c730  04 0d 3c 62 11 dd f2 64  65 63 6f 64 65 5f 6d 65  |..<b...decode_me|
0000c740  6e 75 0d 3c 6a 13 c8 8e  20 6d 65 6e 75 5f 66 6c  |nu.<j... menu_fl|
0000c750  61 67 25 20 ca 0d 3c 72  09 20 20 c9 20 30 0d 3c  |ag% ..<r.  . 0.<|
0000c760  7a 11 20 20 20 20 c8 8e  20 71 25 21 30 20 ca 0d  |z.    .. q%!0 ..|
0000c770  3c 82 1c 20 20 20 20 20  20 c9 20 31 3a 20 f2 6e  |<..      . 1: .n|
0000c780  65 77 73 5f 64 69 73 70  6c 61 79 0d 3c 8a 0d 20  |ews_display.<.. |
0000c790  20 20 20 20 20 c9 20 32  0d 3c 92 17 20 20 20 20  |     . 2.<..    |
0000c7a0  20 20 20 20 21 71 25 3d  73 65 61 72 63 68 25 0d  |    !q%=search%.|
0000c7b0  3c 9a 28 20 20 20 20 20  20 20 20 c8 99 20 22 57  |<.(        .. "W|
0000c7c0  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
0000c7d0  74 65 22 2c 2c 71 25 0d  3c a2 14 20 20 20 20 20  |te",,q%.<..     |
0000c7e0  20 20 20 71 25 21 32 38  3d 2d 31 0d 3c aa 24 20  |   q%!28=-1.<.$ |
0000c7f0  20 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |       .. "Wimp_|
0000c800  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |OpenWindow",,q%.|
0000c810  3c b2 26 20 20 20 20 20  20 20 20 6c 25 3d a9 28  |<.&        l%=.(|
0000c820  a4 67 65 74 74 65 78 74  28 73 65 61 72 63 68 25  |.gettext(search%|
0000c830  2c 31 31 29 29 0d 3c ba  3b 20 20 20 20 20 20 20  |,11)).<.;       |
0000c840  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 43 61 72  | .. "Wimp_SetCar|
0000c850  65 74 50 6f 73 69 74 69  6f 6e 22 2c 73 65 61 72  |etPosition",sear|
0000c860  63 68 25 2c 31 31 2c 30  2c 30 2c 2d 31 2c 6c 25  |ch%,11,0,0,-1,l%|
0000c870  0d 3c c2 0d 20 20 20 20  20 20 c9 20 33 0d 3c ca  |.<..      . 3.<.|
0000c880  15 20 20 20 20 20 20 20  20 c8 8e 20 71 25 21 34  |.        .. q%!4|
0000c890  20 ca 0d 3c d2 11 20 20  20 20 20 20 20 20 20 20  | ..<..          |
0000c8a0  c9 20 30 0d 3c da 19 20  20 20 20 20 20 20 20 20  |. 0.<..         |
0000c8b0  20 20 20 c8 8e 20 71 25  21 38 20 ca 0d 3c e2 15  |   .. q%!8 ..<..|
0000c8c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c9 20  |              . |
0000c8d0  30 0d 3c ea 1e 20 20 20  20 20 20 20 20 20 20 20  |0.<..           |
0000c8e0  20 20 20 20 20 21 71 25  3d 69 73 73 75 65 25 0d  |     !q%=issue%.|
0000c8f0  3c f2 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |<.0             |
0000c900  20 20 20 c8 99 20 22 57  69 6d 70 5f 47 65 74 57  |   .. "Wimp_GetW|
0000c910  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 71 25 0d  |indowState",,q%.|
0000c920  3c fa 1c 20 20 20 20 20  20 20 20 20 20 20 20 20  |<..             |
0000c930  20 20 20 71 25 21 32 38  3d 2d 31 0d 3d 02 2c 20  |   q%!28=-1.=., |
0000c940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 c8  |               .|
0000c950  99 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |. "Wimp_OpenWind|
0000c960  6f 77 22 2c 2c 71 25 0d  3d 0a 2c 20 20 20 20 20  |ow",,q%.=.,     |
0000c970  20 20 20 20 20 20 20 20  20 20 20 6c 25 3d a9 28  |           l%=.(|
0000c980  a4 67 65 74 74 65 78 74  28 69 73 73 75 65 25 2c  |.gettext(issue%,|
0000c990  31 29 29 0d 3d 12 41 20  20 20 20 20 20 20 20 20  |1)).=.A         |
0000c9a0  20 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |       .. "Wimp_|
0000c9b0  53 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |SetCaretPosition|
0000c9c0  22 2c 69 73 73 75 65 25  2c 31 2c 30 2c 30 2c 2d  |",issue%,1,0,0,-|
0000c9d0  31 2c 6c 25 0d 3d 1a 24  20 20 20 20 20 20 20 20  |1,l%.=.$        |
0000c9e0  20 20 20 20 20 20 20 20  f2 69 73 73 75 65 5f 73  |        .issue_s|
0000c9f0  65 74 5f 64 61 74 65 73  0d 3d 22 15 20 20 20 20  |et_dates.=".    |
0000ca00  20 20 20 20 20 20 20 20  20 20 c9 20 31 0d 3d 2a  |          . 1.=*|
0000ca10  37 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |7               |
0000ca20  20 f2 70 75 74 5f 61 63  63 5f 75 70 28 22 52 65  | .put_acc_up("Re|
0000ca30  74 75 72 6e 20 42 6f 6f  6b 22 2c 22 52 65 74 75  |turn Book","Retu|
0000ca40  72 6e 22 29 0d 3d 32 15  20 20 20 20 20 20 20 20  |rn").=2.        |
0000ca50  20 20 20 20 20 20 c9 20  32 0d 3d 3a 1e 20 20 20  |      . 2.=:.   |
0000ca60  20 20 20 20 20 20 20 20  20 20 20 20 20 21 71 25  |             !q%|
0000ca70  3d 72 65 6e 65 77 25 0d  3d 42 30 20 20 20 20 20  |=renew%.=B0     |
0000ca80  20 20 20 20 20 20 20 20  20 20 20 c8 99 20 22 57  |           .. "W|
0000ca90  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
0000caa0  74 65 22 2c 2c 71 25 0d  3d 4a 1c 20 20 20 20 20  |te",,q%.=J.     |
0000cab0  20 20 20 20 20 20 20 20  20 20 20 71 25 21 32 38  |           q%!28|
0000cac0  3d 2d 31 0d 3d 52 2c 20  20 20 20 20 20 20 20 20  |=-1.=R,         |
0000cad0  20 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |       .. "Wimp_|
0000cae0  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |OpenWindow",,q%.|
0000caf0  3d 5a 2c 20 20 20 20 20  20 20 20 20 20 20 20 20  |=Z,             |
0000cb00  20 20 20 6c 25 3d a9 28  a4 67 65 74 74 65 78 74  |   l%=.(.gettext|
0000cb10  28 72 65 6e 65 77 25 2c  31 29 29 0d 3d 62 41 20  |(renew%,1)).=bA |
0000cb20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 c8  |               .|
0000cb30  99 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |. "Wimp_SetCaret|
0000cb40  50 6f 73 69 74 69 6f 6e  22 2c 72 65 6e 65 77 25  |Position",renew%|
0000cb50  2c 31 2c 30 2c 30 2c 2d  31 2c 6c 25 0d 3d 6a 24  |,1,0,0,-1,l%.=j$|
0000cb60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000cb70  f2 72 65 6e 65 77 5f 73  65 74 5f 64 61 74 65 73  |.renew_set_dates|
0000cb80  0d 3d 72 15 20 20 20 20  20 20 20 20 20 20 20 20  |.=r.            |
0000cb90  20 20 c9 20 33 0d 3d 7a  1e 20 20 20 20 20 20 20  |  . 3.=z.       |
0000cba0  20 20 20 20 20 20 20 20  20 c8 8e 20 71 25 21 31  |         .. q%!1|
0000cbb0  32 20 ca 0d 3d 82 19 20  20 20 20 20 20 20 20 20  |2 ..=..         |
0000cbc0  20 20 20 20 20 20 20 20  20 c9 20 30 0d 3d 8a 26  |         . 0.=.&|
0000cbd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000cbe0  20 20 20 20 21 71 25 3d  61 64 64 5f 73 74 6f 63  |    !q%=add_stoc|
0000cbf0  6b 25 0d 3d 92 34 20 20  20 20 20 20 20 20 20 20  |k%.=.4          |
0000cc00  20 20 20 20 20 20 20 20  20 20 c8 99 20 22 57 69  |          .. "Wi|
0000cc10  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
0000cc20  65 22 2c 2c 71 25 0d 3d  9a 20 20 20 20 20 20 20  |e",,q%.=.       |
0000cc30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 71 25  |              q%|
0000cc40  21 32 38 3d 2d 31 0d 3d  a2 30 20 20 20 20 20 20  |!28=-1.=.0      |
0000cc50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c8 99  |              ..|
0000cc60  20 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  | "Wimp_OpenWindo|
0000cc70  77 22 2c 2c 71 25 0d 3d  aa 34 20 20 20 20 20 20  |w",,q%.=.4      |
0000cc80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6c 25  |              l%|
0000cc90  3d a9 28 a4 67 65 74 74  65 78 74 28 61 64 64 5f  |=.(.gettext(add_|
0000cca0  73 74 6f 63 6b 25 2c 32  29 29 0d 3d b2 49 20 20  |stock%,2)).=.I  |
0000ccb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000ccc0  20 20 c8 99 20 22 57 69  6d 70 5f 53 65 74 43 61  |  .. "Wimp_SetCa|
0000ccd0  72 65 74 50 6f 73 69 74  69 6f 6e 22 2c 61 64 64  |retPosition",add|
0000cce0  5f 73 74 6f 63 6b 25 2c  32 2c 30 2c 30 2c 2d 31  |_stock%,2,0,0,-1|
0000ccf0  2c 6c 25 0d 3d ba 19 20  20 20 20 20 20 20 20 20  |,l%.=..         |
0000cd00  20 20 20 20 20 20 20 20  20 c9 20 31 0d 3d c2 23  |         . 1.=.#|
0000cd10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000cd20  20 20 20 20 21 71 25 3d  70 6f 63 6b 65 74 25 0d  |    !q%=pocket%.|
0000cd30  3d ca 34 20 20 20 20 20  20 20 20 20 20 20 20 20  |=.4             |
0000cd40  20 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |       .. "Wimp_|
0000cd50  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
0000cd60  2c 71 25 0d 3d d2 20 20  20 20 20 20 20 20 20 20  |,q%.=.          |
0000cd70  20 20 20 20 20 20 20 20  20 20 20 71 25 21 32 38  |           q%!28|
0000cd80  3d 2d 31 0d 3d da 30 20  20 20 20 20 20 20 20 20  |=-1.=.0         |
0000cd90  20 20 20 20 20 20 20 20  20 20 20 c8 99 20 22 57  |           .. "W|
0000cda0  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
0000cdb0  2c 71 25 0d 3d e2 15 20  20 20 20 20 20 20 20 20  |,q%.=..         |
0000cdc0  20 20 20 20 20 20 20 cb  0d 3d ea 15 20 20 20 20  |       ..=..    |
0000cdd0  20 20 20 20 20 20 20 20  20 20 c9 20 34 0d 3d f2  |          . 4.=.|
0000cde0  38 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |8               |
0000cdf0  20 f2 70 75 74 5f 61 63  63 5f 75 70 28 22 52 65  | .put_acc_up("Re|
0000ce00  6d 6f 76 65 20 53 74 6f  63 6b 22 2c 22 52 65 6d  |move Stock","Rem|
0000ce10  6f 76 65 22 29 0d 3d fa  15 20 20 20 20 20 20 20  |ove").=..       |
0000ce20  20 20 20 20 20 20 20 c9  20 35 0d 3e 02 36 20 20  |       . 5.>.6  |
0000ce30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 f2 70  |              .p|
0000ce40  75 74 5f 61 63 63 5f 75  70 28 22 43 68 61 6e 67  |ut_acc_up("Chang|
0000ce50  65 20 53 74 6f 63 6b 22  2c 22 46 69 6e 64 22 29  |e Stock","Find")|
0000ce60  0d 3e 0a 15 20 20 20 20  20 20 20 20 20 20 20 20  |.>..            |
0000ce70  20 20 c9 20 36 0d 3e 12  34 20 20 20 20 20 20 20  |  . 6.>.4       |
0000ce80  20 20 20 20 20 20 20 20  20 f2 70 75 74 5f 61 63  |         .put_ac|
0000ce90  63 5f 75 70 28 22 56 69  65 77 20 53 74 6f 63 6b  |c_up("View Stock|
0000cea0  22 2c 22 46 69 6e 64 22  29 0d 3e 1a 15 20 20 20  |","Find").>..   |
0000ceb0  20 20 20 20 20 20 20 20  20 20 20 c9 20 37 0d 3e  |           . 7.>|
0000cec0  22 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |".              |
0000ced0  20 20 c8 8e 20 71 25 21  31 32 20 ca 0d 3e 2a 19  |  .. q%!12 ..>*.|
0000cee0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000cef0  20 20 c9 20 30 0d 3e 32  22 20 20 20 20 20 20 20  |  . 0.>2"       |
0000cf00  20 20 20 20 20 20 20 20  20 20 20 20 20 e3 20 63  |             . c|
0000cf10  25 3d 30 20 b8 20 33 0d  3e 3a 23 20 20 20 20 20  |%=0 . 3.>:#     |
0000cf20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 65  |               e|
0000cf30  63 25 28 30 2c 63 25 29  3d 30 0d 3e 42 1c 20 20  |c%(0,c%)=0.>B.  |
0000cf40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000cf50  20 20 ed 20 63 25 0d 3e  4a 2c 20 20 20 20 20 20  |  . c%.>J,      |
0000cf60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 f2 70  |              .p|
0000cf70  72 65 70 61 72 65 5f 65  78 70 6f 72 74 28 30 2c  |repare_export(0,|
0000cf80  31 29 0d 3e 52 19 20 20  20 20 20 20 20 20 20 20  |1).>R.          |
0000cf90  20 20 20 20 20 20 20 20  c9 20 31 0d 3e 5a 22 20  |        . 1.>Z" |
0000cfa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000cfb0  20 20 20 e3 20 63 25 3d  30 20 b8 20 33 0d 3e 62  |   . c%=0 . 3.>b|
0000cfc0  23 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |#               |
0000cfd0  20 20 20 20 20 65 63 25  28 31 2c 63 25 29 3d 30  |     ec%(1,c%)=0|
0000cfe0  0d 3e 6a 1c 20 20 20 20  20 20 20 20 20 20 20 20  |.>j.            |
0000cff0  20 20 20 20 20 20 20 20  ed 20 63 25 0d 3e 72 2c  |        . c%.>r,|
0000d000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000d010  20 20 20 20 f2 70 72 65  70 61 72 65 5f 65 78 70  |    .prepare_exp|
0000d020  6f 72 74 28 31 2c 31 29  0d 3e 7a 15 20 20 20 20  |ort(1,1).>z.    |
0000d030  20 20 20 20 20 20 20 20  20 20 20 20 cb 0d 3e 82  |            ..>.|
0000d040  11 20 20 20 20 20 20 20  20 20 20 20 20 cb 0d 3e  |.            ..>|
0000d050  8a 11 20 20 20 20 20 20  20 20 20 20 c9 20 31 0d  |..          . 1.|
0000d060  3e 92 19 20 20 20 20 20  20 20 20 20 20 20 20 c8  |>..            .|
0000d070  8e 20 71 25 21 38 20 ca  0d 3e 9a 15 20 20 20 20  |. q%!8 ..>..    |
0000d080  20 20 20 20 20 20 20 20  20 20 c9 20 30 0d 3e a2  |          . 0.>.|
0000d090  1e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000d0a0  20 c8 8e 20 71 25 21 31  32 20 ca 0d 3e aa 19 20  | .. q%!12 ..>.. |
0000d0b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000d0c0  20 c9 20 30 0d 3e b2 23  20 20 20 20 20 20 20 20  | . 0.>.#        |
0000d0d0  20 20 20 20 20 20 20 20  20 20 20 20 21 71 25 3d  |            !q%=|
0000d0e0  6e 65 77 6d 65 6d 25 0d  3e ba 34 20 20 20 20 20  |newmem%.>.4     |
0000d0f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 c8  |               .|
0000d100  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
0000d110  77 53 74 61 74 65 22 2c  2c 71 25 0d 3e c2 20 20  |wState",,q%.>.  |
0000d120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000d130  20 20 20 71 25 21 32 38  3d 2d 31 0d 3e ca 30 20  |   q%!28=-1.>.0 |
0000d140  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000d150  20 20 20 c8 99 20 22 57  69 6d 70 5f 4f 70 65 6e  |   .. "Wimp_Open|
0000d160  57 69 6e 64 6f 77 22 2c  2c 71 25 0d 3e d2 32 20  |Window",,q%.>.2 |
0000d170  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000d180  20 20 20 6c 25 3d a9 28  a4 67 65 74 74 65 78 74  |   l%=.(.gettext|
0000d190  28 6e 65 77 6d 65 6d 25  2c 31 34 29 29 0d 3e da  |(newmem%,14)).>.|
0000d1a0  47 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |G               |
0000d1b0  20 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 53 65  |     .. "Wimp_Se|
0000d1c0  74 43 61 72 65 74 50 6f  73 69 74 69 6f 6e 22 2c  |tCaretPosition",|
0000d1d0  6e 65 77 6d 65 6d 25 2c  31 34 2c 30 2c 30 2c 2d  |newmem%,14,0,0,-|
0000d1e0  31 2c 6c 25 0d 3e e2 19  20 20 20 20 20 20 20 20  |1,l%.>..        |
0000d1f0  20 20 20 20 20 20 20 20  20 20 c9 20 31 0d 3e ea  |          . 1.>.|
0000d200  25 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |%               |
0000d210  20 20 20 20 20 21 71 25  3d 70 6f 63 6b 5f 6d 65  |     !q%=pock_me|
0000d220  6d 25 0d 3e f2 34 20 20  20 20 20 20 20 20 20 20  |m%.>.4          |
0000d230  20 20 20 20 20 20 20 20  20 20 c8 99 20 22 57 69  |          .. "Wi|
0000d240  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
0000d250  65 22 2c 2c 71 25 0d 3e  fa 20 20 20 20 20 20 20  |e",,q%.>.       |
0000d260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 71 25  |              q%|
0000d270  21 32 38 3d 2d 31 0d 3f  02 30 20 20 20 20 20 20  |!28=-1.?.0      |
0000d280  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c8 99  |              ..|
0000d290  20 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  | "Wimp_OpenWindo|
0000d2a0  77 22 2c 2c 71 25 0d 3f  0a 15 20 20 20 20 20 20  |w",,q%.?..      |
0000d2b0  20 20 20 20 20 20 20 20  20 20 cb 0d 3f 12 33 20  |          ..?.3 |
0000d2c0  20 20 20 20 20 20 20 20  20 20 20 20 20 c9 20 31  |             . 1|
0000d2d0  3a 20 f2 70 75 74 5f 6d  65 6d 5f 75 70 28 22 52  |: .put_mem_up("R|
0000d2e0  65 6d 6f 76 65 20 4d 65  6d 62 65 72 22 29 0d 3f  |emove Member").?|
0000d2f0  1a 33 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.3              |
0000d300  c9 20 32 3a 20 f2 70 75  74 5f 6d 65 6d 5f 75 70  |. 2: .put_mem_up|
0000d310  28 22 43 68 61 6e 67 65  20 4d 65 6d 62 65 72 22  |("Change Member"|
0000d320  29 0d 3f 22 15 20 20 20  20 20 20 20 20 20 20 20  |).?".           |
0000d330  20 20 20 c9 20 33 0d 3f  2a 1c 20 20 20 20 20 20  |   . 3.?*.      |
0000d340  20 20 20 20 20 20 20 20  20 20 21 71 25 3d 76 6d  |          !q%=vm|
0000d350  71 25 0d 3f 32 30 20 20  20 20 20 20 20 20 20 20  |q%.?20          |
0000d360  20 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 47  |      .. "Wimp_G|
0000d370  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
0000d380  71 25 0d 3f 3a 1c 20 20  20 20 20 20 20 20 20 20  |q%.?:.          |
0000d390  20 20 20 20 20 20 71 25  21 32 38 3d 2d 31 0d 3f  |      q%!28=-1.?|
0000d3a0  42 2c 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |B,              |
0000d3b0  20 20 c8 99 20 22 57 69  6d 70 5f 4f 70 65 6e 57  |  .. "Wimp_OpenW|
0000d3c0  69 6e 64 6f 77 22 2c 2c  71 25 0d 3f 4a 2a 20 20  |indow",,q%.?J*  |
0000d3d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6c 25  |              l%|
0000d3e0  3d a9 28 a4 67 65 74 74  65 78 74 28 76 6d 71 25  |=.(.gettext(vmq%|
0000d3f0  2c 34 29 29 0d 3f 52 3f  20 20 20 20 20 20 20 20  |,4)).?R?        |
0000d400  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
0000d410  5f 53 65 74 43 61 72 65  74 50 6f 73 69 74 69 6f  |_SetCaretPositio|
0000d420  6e 22 2c 76 6d 71 25 2c  34 2c 30 2c 30 2c 2d 31  |n",vmq%,4,0,0,-1|
0000d430  2c 6c 25 0d 3f 5a 15 20  20 20 20 20 20 20 20 20  |,l%.?Z.         |
0000d440  20 20 20 20 20 c9 20 34  0d 3f 62 1e 20 20 20 20  |     . 4.?b.    |
0000d450  20 20 20 20 20 20 20 20  20 20 20 20 c8 8e 20 71  |            .. q|
0000d460  25 21 31 32 20 ca 0d 3f  6a 19 20 20 20 20 20 20  |%!12 ..?j.      |
0000d470  20 20 20 20 20 20 20 20  20 20 20 20 c9 20 30 0d  |            . 0.|
0000d480  3f 72 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |?r"             |
0000d490  20 20 20 20 20 20 20 e3  20 63 25 3d 30 20 b8 20  |       . c%=0 . |
0000d4a0  33 0d 3f 7a 29 20 20 20  20 20 20 20 20 20 20 20  |3.?z)           |
0000d4b0  20 20 20 20 20 20 20 20  20 65 63 25 28 32 2c 63  |         ec%(2,c|
0000d4c0  25 29 3d 94 28 63 25 3d  33 29 0d 3f 82 1c 20 20  |%)=.(c%=3).?..  |
0000d4d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000d4e0  20 20 ed 20 63 25 0d 3f  8a 2c 20 20 20 20 20 20  |  . c%.?.,      |
0000d4f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 f2 70  |              .p|
0000d500  72 65 70 61 72 65 5f 65  78 70 6f 72 74 28 32 2c  |repare_export(2,|
0000d510  31 29 0d 3f 92 19 20 20  20 20 20 20 20 20 20 20  |1).?..          |
0000d520  20 20 20 20 20 20 20 20  c9 20 31 0d 3f 9a 22 20  |        . 1.?." |
0000d530  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000d540  20 20 20 e3 20 63 25 3d  30 20 b8 20 33 0d 3f a2  |   . c%=0 . 3.?.|
0000d550  29 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |)               |
0000d560  20 20 20 20 20 65 63 25  28 33 2c 63 25 29 3d 94  |     ec%(3,c%)=.|
0000d570  28 63 25 3d 33 29 0d 3f  aa 1c 20 20 20 20 20 20  |(c%=3).?..      |
0000d580  20 20 20 20 20 20 20 20  20 20 20 20 20 20 ed 20  |              . |
0000d590  63 25 0d 3f b2 2c 20 20  20 20 20 20 20 20 20 20  |c%.?.,          |
0000d5a0  20 20 20 20 20 20 20 20  20 20 f2 70 72 65 70 61  |          .prepa|
0000d5b0  72 65 5f 65 78 70 6f 72  74 28 33 2c 31 29 0d 3f  |re_export(3,1).?|
0000d5c0  ba 15 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
0000d5d0  20 20 cb 0d 3f c2 11 20  20 20 20 20 20 20 20 20  |  ..?..         |
0000d5e0  20 20 20 cb 0d 3f ca 11  20 20 20 20 20 20 20 20  |   ..?..        |
0000d5f0  20 20 c9 20 32 0d 3f d2  1f 20 20 20 20 20 20 20  |  . 2.?..       |
0000d600  20 20 20 20 20 21 71 25  3d 63 68 61 6e 67 65 70  |     !q%=changep|
0000d610  61 73 73 25 0d 3f da 2c  20 20 20 20 20 20 20 20  |ass%.?.,        |
0000d620  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |    .. "Wimp_Get|
0000d630  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 71 25  |WindowState",,q%|
0000d640  0d 3f e2 18 20 20 20 20  20 20 20 20 20 20 20 20  |.?..            |
0000d650  71 25 21 32 38 3d 2d 31  0d 3f ea 28 20 20 20 20  |q%!28=-1.?.(    |
0000d660  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
0000d670  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 71 25  |_OpenWindow",,q%|
0000d680  0d 3f f2 2d 20 20 20 20  20 20 20 20 20 20 20 20  |.?.-            |
0000d690  6c 25 3d a9 28 a4 67 65  74 74 65 78 74 28 63 68  |l%=.(.gettext(ch|
0000d6a0  61 6e 67 65 70 61 73 73  25 2c 31 29 29 0d 3f fa  |angepass%,1)).?.|
0000d6b0  42 20 20 20 20 20 20 20  20 20 20 20 20 c8 99 20  |B            .. |
0000d6c0  22 57 69 6d 70 5f 53 65  74 43 61 72 65 74 50 6f  |"Wimp_SetCaretPo|
0000d6d0  73 69 74 69 6f 6e 22 2c  63 68 61 6e 67 65 70 61  |sition",changepa|
0000d6e0  73 73 25 2c 31 2c 30 2c  30 2c 2d 31 2c 6c 25 0d  |ss%,1,0,0,-1,l%.|
0000d6f0  40 02 11 20 20 20 20 20  20 20 20 20 20 c9 20 33  |@..          . 3|
0000d700  0d 40 0a 1d 20 20 20 20  20 20 20 20 20 20 20 20  |.@..            |
0000d710  21 71 25 3d 6e 65 77 73  5f 69 6d 70 25 0d 40 12  |!q%=news_imp%.@.|
0000d720  2c 20 20 20 20 20 20 20  20 20 20 20 20 c8 99 20  |,            .. |
0000d730  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
0000d740  74 61 74 65 22 2c 2c 71  25 0d 40 1a 18 20 20 20  |tate",,q%.@..   |
0000d750  20 20 20 20 20 20 20 20  20 71 25 21 32 38 3d 2d  |         q%!28=-|
0000d760  31 0d 40 22 28 20 20 20  20 20 20 20 20 20 20 20  |1.@"(           |
0000d770  20 c8 99 20 22 57 69 6d  70 5f 4f 70 65 6e 57 69  | .. "Wimp_OpenWi|
0000d780  6e 64 6f 77 22 2c 2c 71  25 0d 40 2a 11 20 20 20  |ndow",,q%.@*.   |
0000d790  20 20 20 20 20 20 20 c9  20 35 0d 40 32 19 20 20  |       . 5.@2.  |
0000d7a0  20 20 20 20 20 20 20 20  20 20 c8 8e 20 71 25 21  |          .. q%!|
0000d7b0  38 20 ca 0d 40 3a 15 20  20 20 20 20 20 20 20 20  |8 ..@:.         |
0000d7c0  20 20 20 20 20 c9 20 30  0d 40 42 1a 20 20 20 20  |     . 0.@B.    |
0000d7d0  20 20 20 20 20 20 20 20  20 20 20 20 70 72 24 3d  |            pr$=|
0000d7e0  22 22 0d 40 4a 17 20 20  20 20 20 20 20 20 20 20  |"".@J.          |
0000d7f0  20 20 20 20 20 20 ea 20  85 0d 40 52 28 20 20 20  |      . ..@R(   |
0000d800  20 20 20 20 20 20 20 20  20 20 20 20 20 ee 20 85  |             . .|
0000d810  20 ea 3a 70 72 24 3d 22  4e 6f 6e 65 22 3a f7 20  | .:pr$="None":. |
0000d820  85 0d 40 5a 45 20 20 20  20 20 20 20 20 20 20 20  |..@ZE           |
0000d830  20 20 20 20 20 e7 20 70  72 24 3d 22 22 20 8c 20  |     . pr$="" . |
0000d840  c8 99 20 22 4f 53 5f 4d  6f 64 75 6c 65 22 2c 31  |.. "OS_Module",1|
0000d850  38 2c 22 50 44 72 69 76  65 72 22 20 b8 20 2c 70  |8,"PDriver" . ,p|
0000d860  64 72 5f 6e 6f 25 0d 40  62 1e 20 20 20 20 20 20  |dr_no%.@b.      |
0000d870  20 20 20 20 20 20 20 20  20 20 e7 20 70 72 24 3d  |          . pr$=|
0000d880  22 22 20 8c 0d 40 6a 31  20 20 20 20 20 20 20 20  |"" ..@j1        |
0000d890  20 20 20 20 20 20 20 20  20 20 c8 99 20 22 50 44  |          .. "PD|
0000d8a0  72 69 76 65 72 5f 49 6e  66 6f 22 20 b8 20 2c 2c  |river_Info" . ,,|
0000d8b0  2c 2c 70 72 25 0d 40 72  27 20 20 20 20 20 20 20  |,,pr%.@r'       |
0000d8c0  20 20 20 20 20 20 20 20  20 20 20 70 72 24 3d a4  |           pr$=.|
0000d8d0  73 74 72 69 6e 67 30 28  70 72 25 29 0d 40 7a 15  |string0(pr%).@z.|
0000d8e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000d8f0  cd 0d 40 82 22 20 20 20  20 20 20 20 20 20 20 20  |..@."           |
0000d900  20 20 20 20 20 e7 20 70  72 24 3d 22 22 20 8c 20  |     . pr$="" . |
0000d910  f7 20 85 0d 40 8a 2f 20  20 20 20 20 20 20 20 20  |. ..@./         |
0000d920  20 20 20 20 20 20 20 f2  70 75 74 74 65 78 74 28  |       .puttext(|
0000d930  6f 76 65 72 64 75 65 5f  70 72 25 2c 31 2c 70 72  |overdue_pr%,1,pr|
0000d940  24 29 0d 40 92 23 20 20  20 20 20 20 20 20 20 20  |$).@.#          |
0000d950  20 20 20 20 20 20 21 71  25 3d 6f 76 65 72 64 75  |      !q%=overdu|
0000d960  65 5f 70 72 25 0d 40 9a  30 20 20 20 20 20 20 20  |e_pr%.@.0       |
0000d970  20 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |         .. "Wim|
0000d980  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
0000d990  22 2c 2c 71 25 0d 40 a2  1c 20 20 20 20 20 20 20  |",,q%.@..       |
0000d9a0  20 20 20 20 20 20 20 20  20 71 25 21 32 38 3d 2d  |         q%!28=-|
0000d9b0  31 0d 40 aa 2c 20 20 20  20 20 20 20 20 20 20 20  |1.@.,           |
0000d9c0  20 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 4f 70  |     .. "Wimp_Op|
0000d9d0  65 6e 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 40 b2  |enWindow",,q%.@.|
0000d9e0  32 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |2               |
0000d9f0  20 6c 25 3d a9 28 a4 67  65 74 74 65 78 74 28 6f  | l%=.(.gettext(o|
0000da00  76 65 72 64 75 65 5f 70  72 25 2c 31 30 29 29 0d  |verdue_pr%,10)).|
0000da10  40 ba 47 20 20 20 20 20  20 20 20 20 20 20 20 20  |@.G             |
0000da20  20 20 20 c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |   .. "Wimp_SetC|
0000da30  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 6f 76  |aretPosition",ov|
0000da40  65 72 64 75 65 5f 70 72  25 2c 31 30 2c 30 2c 30  |erdue_pr%,10,0,0|
0000da50  2c 2d 31 2c 6c 25 0d 40  c2 24 20 20 20 20 20 20  |,-1,l%.@.$      |
0000da60  20 20 20 20 20 20 20 20  20 20 63 75 72 72 65 6e  |          curren|
0000da70  74 5f 70 72 69 6e 74 25  3d 31 0d 40 ca 15 20 20  |t_print%=1.@..  |
0000da80  20 20 20 20 20 20 20 20  20 20 20 20 c9 20 31 0d  |            . 1.|
0000da90  40 d2 1a 20 20 20 20 20  20 20 20 20 20 20 20 20  |@..             |
0000daa0  20 20 20 70 72 24 3d 22  22 0d 40 da 17 20 20 20  |   pr$="".@..   |
0000dab0  20 20 20 20 20 20 20 20  20 20 20 20 20 ea 20 85  |             . .|
0000dac0  0d 40 e2 28 20 20 20 20  20 20 20 20 20 20 20 20  |.@.(            |
0000dad0  20 20 20 20 ee 20 85 20  ea 3a 70 72 24 3d 22 4e  |    . . .:pr$="N|
0000dae0  6f 6e 65 22 3a f7 20 85  0d 40 ea 45 20 20 20 20  |one":. ..@.E    |
0000daf0  20 20 20 20 20 20 20 20  20 20 20 20 e7 20 70 72  |            . pr|
0000db00  24 3d 22 22 20 8c 20 c8  99 20 22 4f 53 5f 4d 6f  |$="" . .. "OS_Mo|
0000db10  64 75 6c 65 22 2c 31 38  2c 22 50 44 72 69 76 65  |dule",18,"PDrive|
0000db20  72 22 20 b8 20 2c 70 64  72 5f 6e 6f 25 0d 40 f2  |r" . ,pdr_no%.@.|
0000db30  1e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000db40  20 e7 20 70 72 24 3d 22  22 20 8c 0d 40 fa 31 20  | . pr$="" ..@.1 |
0000db50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000db60  20 c8 99 20 22 50 44 72  69 76 65 72 5f 49 6e 66  | .. "PDriver_Inf|
0000db70  6f 22 20 b8 20 2c 2c 2c  2c 70 72 25 0d 41 02 27  |o" . ,,,,pr%.A.'|
0000db80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000db90  20 20 70 72 24 3d a4 73  74 72 69 6e 67 30 28 70  |  pr$=.string0(p|
0000dba0  72 25 29 0d 41 0a 15 20  20 20 20 20 20 20 20 20  |r%).A..         |
0000dbb0  20 20 20 20 20 20 20 cd  0d 41 12 22 20 20 20 20  |       ..A."    |
0000dbc0  20 20 20 20 20 20 20 20  20 20 20 20 e7 20 70 72  |            . pr|
0000dbd0  24 3d 22 22 20 8c 20 f7  20 85 0d 41 1a 2b 20 20  |$="" . . ..A.+  |
0000dbe0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 f2 70  |              .p|
0000dbf0  75 74 74 65 78 74 28 61  6c 6c 5f 70 72 25 2c 31  |uttext(all_pr%,1|
0000dc00  2c 70 72 24 29 0d 41 22  1f 20 20 20 20 20 20 20  |,pr$).A".       |
0000dc10  20 20 20 20 20 20 20 20  20 21 71 25 3d 61 6c 6c  |         !q%=all|
0000dc20  5f 70 72 25 0d 41 2a 30  20 20 20 20 20 20 20 20  |_pr%.A*0        |
0000dc30  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
0000dc40  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
0000dc50  2c 2c 71 25 0d 41 32 1c  20 20 20 20 20 20 20 20  |,,q%.A2.        |
0000dc60  20 20 20 20 20 20 20 20  71 25 21 32 38 3d 2d 31  |        q%!28=-1|
0000dc70  0d 41 3a 2c 20 20 20 20  20 20 20 20 20 20 20 20  |.A:,            |
0000dc80  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 4f 70 65  |    .. "Wimp_Ope|
0000dc90  6e 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 41 42 24  |nWindow",,q%.AB$|
0000dca0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000dcb0  63 75 72 72 65 6e 74 5f  70 72 69 6e 74 25 3d 35  |current_print%=5|
0000dcc0  0d 41 4a 11 20 20 20 20  20 20 20 20 20 20 20 20  |.AJ.            |
0000dcd0  cb 0d 41 52 11 20 20 20  20 20 20 20 20 20 20 c9  |..AR.          .|
0000dce0  20 36 0d 41 5a 19 20 20  20 20 20 20 20 20 20 20  | 6.AZ.          |
0000dcf0  20 20 c8 8e 20 71 25 21  38 20 ca 0d 41 62 15 20  |  .. q%!8 ..Ab. |
0000dd00  20 20 20 20 20 20 20 20  20 20 20 20 20 c9 20 30  |             . 0|
0000dd10  0d 41 6a 1e 20 20 20 20  20 20 20 20 20 20 20 20  |.Aj.            |
0000dd20  20 20 20 20 21 71 25 3d  6f 70 74 70 63 25 0d 41  |    !q%=optpc%.A|
0000dd30  72 30 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |r0              |
0000dd40  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |  .. "Wimp_GetWi|
0000dd50  6e 64 6f 77 53 74 61 74  65 22 2c 2c 71 25 0d 41  |ndowState",,q%.A|
0000dd60  7a 1c 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |z.              |
0000dd70  20 20 71 25 21 32 38 3d  2d 31 0d 41 82 2c 20 20  |  q%!28=-1.A.,  |
0000dd80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c8 99  |              ..|
0000dd90  20 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  | "Wimp_OpenWindo|
0000dda0  77 22 2c 2c 71 25 0d 41  8a 22 20 20 20 20 20 20  |w",,q%.A."      |
0000ddb0  20 20 20 20 20 20 20 20  20 20 f2 70 61 73 73 5f  |          .pass_|
0000ddc0  65 6e 74 65 72 28 31 29  0d 41 92 15 20 20 20 20  |enter(1).A..    |
0000ddd0  20 20 20 20 20 20 20 20  20 20 c9 20 31 0d 41 9a  |          . 1.A.|
0000dde0  1d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000ddf0  20 f2 64 69 73 5f 6c 65  6e 64 0d 41 a2 20 20 20  | .dis_lend.A.   |
0000de00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 21 71  |              !q|
0000de10  25 3d 6f 70 74 6c 65 6e  64 25 0d 41 aa 30 20 20  |%=optlend%.A.0  |
0000de20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c8 99  |              ..|
0000de30  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
0000de40  53 74 61 74 65 22 2c 2c  71 25 0d 41 b2 1c 20 20  |State",,q%.A..  |
0000de50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 71 25  |              q%|
0000de60  21 32 38 3d 2d 31 0d 41  ba 2c 20 20 20 20 20 20  |!28=-1.A.,      |
0000de70  20 20 20 20 20 20 20 20  20 20 c8 99 20 22 57 69  |          .. "Wi|
0000de80  6d 70 5f 4f 70 65 6e 57  69 6e 64 6f 77 22 2c 2c  |mp_OpenWindow",,|
0000de90  71 25 0d 41 c2 2e 20 20  20 20 20 20 20 20 20 20  |q%.A..          |
0000dea0  20 20 20 20 20 20 6c 25  3d a9 28 a4 67 65 74 74  |      l%=.(.gett|
0000deb0  65 78 74 28 6f 70 74 6c  65 6e 64 25 2c 35 29 29  |ext(optlend%,5))|
0000dec0  0d 41 ca 43 20 20 20 20  20 20 20 20 20 20 20 20  |.A.C            |
0000ded0  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 53 65 74  |    .. "Wimp_Set|
0000dee0  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 6f  |CaretPosition",o|
0000def0  70 74 6c 65 6e 64 25 2c  35 2c 30 2c 30 2c 2d 31  |ptlend%,5,0,0,-1|
0000df00  2c 6c 25 0d 41 d2 15 20  20 20 20 20 20 20 20 20  |,l%.A..         |
0000df10  20 20 20 20 20 c9 20 32  0d 41 da 1e 20 20 20 20  |     . 2.A..    |
0000df20  20 20 20 20 20 20 20 20  20 20 20 20 f2 64 69 73  |            .dis|
0000df30  5f 66 69 6e 65 73 0d 41  e2 22 20 20 20 20 20 20  |_fines.A."      |
0000df40  20 20 20 20 20 20 20 20  20 20 21 71 25 3d 6f 70  |          !q%=op|
0000df50  74 5f 66 69 6e 65 73 25  0d 41 ea 30 20 20 20 20  |t_fines%.A.0    |
0000df60  20 20 20 20 20 20 20 20  20 20 20 20 c8 99 20 22  |            .. "|
0000df70  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
0000df80  61 74 65 22 2c 2c 71 25  0d 41 f2 1c 20 20 20 20  |ate",,q%.A..    |
0000df90  20 20 20 20 20 20 20 20  20 20 20 20 71 25 21 32  |            q%!2|
0000dfa0  38 3d 2d 31 0d 41 fa 2c  20 20 20 20 20 20 20 20  |8=-1.A.,        |
0000dfb0  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
0000dfc0  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 71 25  |_OpenWindow",,q%|
0000dfd0  0d 42 02 30 20 20 20 20  20 20 20 20 20 20 20 20  |.B.0            |
0000dfe0  20 20 20 20 6c 25 3d a9  28 a4 67 65 74 74 65 78  |    l%=.(.gettex|
0000dff0  74 28 6f 70 74 5f 66 69  6e 65 73 25 2c 31 29 29  |t(opt_fines%,1))|
0000e000  0d 42 0a 45 20 20 20 20  20 20 20 20 20 20 20 20  |.B.E            |
0000e010  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 53 65 74  |    .. "Wimp_Set|
0000e020  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 6f  |CaretPosition",o|
0000e030  70 74 5f 66 69 6e 65 73  25 2c 31 2c 30 2c 30 2c  |pt_fines%,1,0,0,|
0000e040  2d 31 2c 6c 25 0d 42 12  15 20 20 20 20 20 20 20  |-1,l%.B..       |
0000e050  20 20 20 20 20 20 20 c9  20 33 0d 42 1a 43 20 20  |       . 3.B.C  |
0000e060  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6d 65  |              me|
0000e070  6e 61 64 25 28 36 29 21  28 32 38 2b 28 33 2a 32  |nad%(6)!(28+(3*2|
0000e080  34 29 29 3d 6d 65 6e 61  64 25 28 36 29 21 28 32  |4))=menad%(6)!(2|
0000e090  38 2b 28 33 2a 32 34 29  29 20 82 20 31 0d 42 22  |8+(3*24)) . 1.B"|
0000e0a0  33 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |3               |
0000e0b0  20 63 6f 6d 70 25 3d 6d  65 6e 61 64 25 28 36 29  | comp%=menad%(6)|
0000e0c0  21 28 32 38 2b 28 33 2a  32 34 29 29 20 80 20 31  |!(28+(3*24)) . 1|
0000e0d0  0d 42 2a 3d 20 20 20 20  20 20 20 20 20 20 20 20  |.B*=            |
0000e0e0  20 20 20 20 66 69 6c 6f  25 3d ae 28 22 3c 4c 69  |    filo%=.("<Li|
0000e0f0  62 72 61 72 79 24 44 69  72 3e 2e 50 72 65 66 65  |brary$Dir>.Prefe|
0000e100  72 65 6e 63 65 2e 46 6f  6e 74 73 22 29 0d 42 32  |rence.Fonts").B2|
0000e110  21 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |!               |
0000e120  20 d5 23 66 69 6c 6f 25  2c 63 6f 6d 70 25 0d 42  | .#filo%,comp%.B|
0000e130  3a 1b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |:.              |
0000e140  20 20 d9 23 66 69 6c 6f  25 0d 42 42 3c 20 20 20  |  .#filo%.BB<   |
0000e150  20 20 20 20 20 20 20 20  20 20 20 20 20 73 74 31  |             st1|
0000e160  24 3d 22 3c 4c 69 62 72  61 72 79 24 44 69 72 3e  |$="<Library$Dir>|
0000e170  2e 52 65 73 6f 75 72 63  65 73 2e 54 65 6d 70 6c  |.Resources.Templ|
0000e180  61 74 65 73 22 0d 42 4a  42 20 20 20 20 20 20 20  |ates".BJB       |
0000e190  20 20 20 20 20 20 20 20  20 73 74 32 24 3d 22 3c  |         st2$="<|
0000e1a0  4c 69 62 72 61 72 79 24  44 69 72 3e 2e 52 65 73  |Library$Dir>.Res|
0000e1b0  6f 75 72 63 65 73 2e 53  70 61 72 65 2e 54 65 6d  |ources.Spare.Tem|
0000e1c0  70 6c 61 74 65 73 22 0d  42 52 33 20 20 20 20 20  |plates".BR3     |
0000e1d0  20 20 20 20 20 20 20 20  20 20 20 ff 28 22 52 65  |           .("Re|
0000e1e0  6e 61 6d 65 20 22 2b 73  74 31 24 2b 22 33 20 22  |name "+st1$+"3 "|
0000e1f0  2b 73 74 32 24 2b 22 41  22 29 0d 42 5a 33 20 20  |+st2$+"A").BZ3  |
0000e200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 ff 28  |              .(|
0000e210  22 52 65 6e 61 6d 65 20  22 2b 73 74 32 24 2b 22  |"Rename "+st2$+"|
0000e220  33 20 22 2b 73 74 31 24  2b 22 33 22 29 0d 42 62  |3 "+st1$+"3").Bb|
0000e230  33 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |3               |
0000e240  20 ff 28 22 52 65 6e 61  6d 65 20 22 2b 73 74 32  | .("Rename "+st2|
0000e250  24 2b 22 41 20 22 2b 73  74 32 24 2b 22 33 22 29  |$+"A "+st2$+"3")|
0000e260  0d 42 6a 15 20 20 20 20  20 20 20 20 20 20 20 20  |.Bj.            |
0000e270  20 20 c9 20 34 0d 42 72  1e 20 20 20 20 20 20 20  |  . 4.Br.       |
0000e280  20 20 20 20 20 20 20 20  20 c8 8e 20 71 25 21 31  |         .. q%!1|
0000e290  32 20 ca 0d 42 7a 29 20  20 20 20 20 20 20 20 20  |2 ..Bz)         |
0000e2a0  20 20 20 20 20 20 20 20  20 c9 20 30 3a 20 f2 73  |         . 0: .s|
0000e2b0  68 6f 77 5f 77 61 74 63  68 64 6f 67 0d 42 82 19  |how_watchdog.B..|
0000e2c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000e2d0  20 20 c9 20 31 0d 42 8a  1e 20 20 20 20 20 20 20  |  . 1.B..       |
0000e2e0  20 20 20 20 20 20 20 20  20 20 20 20 20 77 5f 61  |             w_a|
0000e2f0  25 3d 31 0d 42 92 46 20  20 20 20 20 20 20 20 20  |%=1.B.F         |
0000e300  20 20 20 20 20 20 20 20  20 20 20 66 69 6c 6f 25  |           filo%|
0000e310  3d ae 28 22 3c 4c 69 62  72 61 72 79 24 44 69 72  |=.("<Library$Dir|
0000e320  3e 2e 50 72 65 66 65 72  65 6e 63 65 2e 57 61 74  |>.Preference.Wat|
0000e330  63 68 41 63 74 69 76 22  29 0d 42 9a 24 20 20 20  |chActiv").B.$   |
0000e340  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000e350  20 d5 23 66 69 6c 6f 25  2c 77 5f 61 25 0d 42 a2  | .#filo%,w_a%.B.|
0000e360  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000e370  20 20 20 20 20 d9 23 66  69 6c 6f 25 0d 42 aa 2b  |     .#filo%.B.+|
0000e380  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000e390  20 20 20 20 74 65 6d 70  25 3d 28 32 38 2b 28 31  |    temp%=(28+(1|
0000e3a0  2a 32 34 29 2b 38 29 0d  42 b2 2c 20 20 20 20 20  |*24)+8).B.,     |
0000e3b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74  |               t|
0000e3c0  65 6d 70 32 25 3d 28 32  38 2b 28 32 2a 32 34 29  |emp2%=(28+(2*24)|
0000e3d0  2b 38 29 0d 42 ba 43 20  20 20 20 20 20 20 20 20  |+8).B.C         |
0000e3e0  20 20 20 20 20 20 20 20  20 20 20 6d 65 6e 61 64  |           menad|
0000e3f0  25 28 31 30 29 21 74 65  6d 70 25 3d 6d 65 6e 61  |%(10)!temp%=mena|
0000e400  64 25 28 31 30 29 21 74  65 6d 70 25 20 82 20 28  |d%(10)!temp% . (|
0000e410  31 3c 3c 32 32 29 0d 42  c2 45 20 20 20 20 20 20  |1<<22).B.E      |
0000e420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6d 65  |              me|
0000e430  6e 61 64 25 28 31 30 29  21 74 65 6d 70 32 25 3d  |nad%(10)!temp2%=|
0000e440  6d 65 6e 61 64 25 28 31  30 29 21 74 65 6d 70 32  |menad%(10)!temp2|
0000e450  25 20 82 20 28 31 3c 3c  32 32 29 0d 42 ca 44 20  |% . (1<<22).B.D |
0000e460  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000e470  20 20 20 61 24 3d 22 55  22 2b c3 28 6c 6f 67 67  |   a$="U"+.(logg|
0000e480  65 64 5f 6f 6e 25 29 2b  22 3b 22 2b 70 61 73 73  |ed_on%)+";"+pass|
0000e490  24 28 6c 6f 67 67 65 64  5f 6f 6e 25 2c 30 29 0d  |$(logged_on%,0).|
0000e4a0  42 d2 29 20 20 20 20 20  20 20 20 20 20 20 20 20  |B.)             |
0000e4b0  20 20 20 20 20 20 20 f2  61 64 64 5f 77 61 74 63  |       .add_watc|
0000e4c0  68 64 6f 67 28 61 24 29  0d 42 da 19 20 20 20 20  |hdog(a$).B..    |
0000e4d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c9 20  |              . |
0000e4e0  32 0d 42 e2 44 20 20 20  20 20 20 20 20 20 20 20  |2.B.D           |
0000e4f0  20 20 20 20 20 20 20 20  20 61 24 3d 22 56 22 2b  |         a$="V"+|
0000e500  c3 28 6c 6f 67 67 65 64  5f 6f 6e 25 29 2b 22 3b  |.(logged_on%)+";|
0000e510  22 2b 70 61 73 73 24 28  6c 6f 67 67 65 64 5f 6f  |"+pass$(logged_o|
0000e520  6e 25 2c 30 29 0d 42 ea  29 20 20 20 20 20 20 20  |n%,0).B.)       |
0000e530  20 20 20 20 20 20 20 20  20 20 20 20 20 f2 61 64  |             .ad|
0000e540  64 5f 77 61 74 63 68 64  6f 67 28 61 24 29 0d 42  |d_watchdog(a$).B|
0000e550  f2 1e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
0000e560  20 20 20 20 20 20 77 5f  61 25 3d 30 0d 42 fa 46  |      w_a%=0.B.F|
0000e570  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000e580  20 20 20 20 66 69 6c 6f  25 3d ae 28 22 3c 4c 69  |    filo%=.("<Li|
0000e590  62 72 61 72 79 24 44 69  72 3e 2e 50 72 65 66 65  |brary$Dir>.Prefe|
0000e5a0  72 65 6e 63 65 2e 57 61  74 63 68 41 63 74 69 76  |rence.WatchActiv|
0000e5b0  22 29 0d 43 02 24 20 20  20 20 20 20 20 20 20 20  |").C.$          |
0000e5c0  20 20 20 20 20 20 20 20  20 20 d5 23 66 69 6c 6f  |          .#filo|
0000e5d0  25 2c 77 5f 61 25 0d 43  0a 1f 20 20 20 20 20 20  |%,w_a%.C..      |
0000e5e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 d9 23  |              .#|
0000e5f0  66 69 6c 6f 25 0d 43 12  2b 20 20 20 20 20 20 20  |filo%.C.+       |
0000e600  20 20 20 20 20 20 20 20  20 20 20 20 20 74 65 6d  |             tem|
0000e610  70 25 3d 28 32 38 2b 28  31 2a 32 34 29 2b 38 29  |p%=(28+(1*24)+8)|
0000e620  0d 43 1a 2c 20 20 20 20  20 20 20 20 20 20 20 20  |.C.,            |
0000e630  20 20 20 20 20 20 20 20  74 65 6d 70 32 25 3d 28  |        temp2%=(|
0000e640  32 38 2b 28 32 2a 32 34  29 2b 38 29 0d 43 22 43  |28+(2*24)+8).C"C|
0000e650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000e660  20 20 20 20 6d 65 6e 61  64 25 28 31 30 29 21 74  |    menad%(10)!t|
0000e670  65 6d 70 25 3d 6d 65 6e  61 64 25 28 31 30 29 21  |emp%=menad%(10)!|
0000e680  74 65 6d 70 25 20 82 20  28 31 3c 3c 32 32 29 0d  |temp% . (1<<22).|
0000e690  43 2a 45 20 20 20 20 20  20 20 20 20 20 20 20 20  |C*E             |
0000e6a0  20 20 20 20 20 20 20 6d  65 6e 61 64 25 28 31 30  |       menad%(10|
0000e6b0  29 21 74 65 6d 70 32 25  3d 6d 65 6e 61 64 25 28  |)!temp2%=menad%(|
0000e6c0  31 30 29 21 74 65 6d 70  32 25 20 82 20 28 31 3c  |10)!temp2% . (1<|
0000e6d0  3c 32 32 29 0d 43 32 19  20 20 20 20 20 20 20 20  |<22).C2.        |
0000e6e0  20 20 20 20 20 20 20 20  20 20 c9 20 33 0d 43 3a  |          . 3.C:|
0000e6f0  42 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |B               |
0000e700  20 20 20 20 20 66 69 6c  6f 25 3d 8e 28 22 3c 4c  |     filo%=.("<L|
0000e710  69 62 72 61 72 79 24 44  69 72 3e 2e 57 61 74 63  |ibrary$Dir>.Watc|
0000e720  68 64 6f 67 2e 57 61 74  63 68 64 6f 67 22 29 0d  |hdog.Watchdog").|
0000e730  43 42 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |CB.             |
0000e740  20 20 20 20 20 20 20 d9  23 66 69 6c 6f 25 0d 43  |       .#filo%.C|
0000e750  4a 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |J!              |
0000e760  20 20 20 20 20 20 e7 20  66 69 6c 6f 25 20 8c 0d  |      . filo% ..|
0000e770  43 52 45 20 20 20 20 20  20 20 20 20 20 20 20 20  |CRE             |
0000e780  20 20 20 20 20 20 20 20  20 ff 28 22 44 65 6c 65  |         .("Dele|
0000e790  74 65 20 3c 4c 69 62 72  61 72 79 24 44 69 72 3e  |te <Library$Dir>|
0000e7a0  2e 57 61 74 63 68 64 6f  67 2e 57 61 74 63 68 64  |.Watchdog.Watchd|
0000e7b0  6f 67 22 29 0d 43 5a 19  20 20 20 20 20 20 20 20  |og").CZ.        |
0000e7c0  20 20 20 20 20 20 20 20  20 20 20 20 cd 0d 43 62  |            ..Cb|
0000e7d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000e7e0  20 20 20 20 20 e7 20 77  5f 61 25 20 8c 0d 43 6a  |     . w_a% ..Cj|
0000e7f0  46 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |F               |
0000e800  20 20 20 20 20 20 20 61  24 3d 22 56 22 2b c3 28  |       a$="V"+.(|
0000e810  6c 6f 67 67 65 64 5f 6f  6e 25 29 2b 22 3b 22 2b  |logged_on%)+";"+|
0000e820  70 61 73 73 24 28 6c 6f  67 67 65 64 5f 6f 6e 25  |pass$(logged_on%|
0000e830  2c 30 29 0d 43 72 2b 20  20 20 20 20 20 20 20 20  |,0).Cr+         |
0000e840  20 20 20 20 20 20 20 20  20 20 20 20 20 f2 61 64  |             .ad|
0000e850  64 5f 77 61 74 63 68 64  6f 67 28 61 24 29 0d 43  |d_watchdog(a$).C|
0000e860  7a 19 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |z.              |
0000e870  20 20 20 20 20 20 cd 0d  43 82 15 20 20 20 20 20  |      ..C..     |
0000e880  20 20 20 20 20 20 20 20  20 20 20 cb 0d 43 8a 11  |           ..C..|
0000e890  20 20 20 20 20 20 20 20  20 20 20 20 cb 0d 43 92  |            ..C.|
0000e8a0  0d 20 20 20 20 20 20 20  20 cb 0d 43 9a 0d 20 20  |.        ..C..  |
0000e8b0  20 20 20 20 c9 20 34 0d  43 a2 16 20 20 20 20 20  |    . 4.C..     |
0000e8c0  20 20 20 21 71 25 3d 6c  6f 67 6f 6e 25 0d 43 aa  |   !q%=logon%.C.|
0000e8d0  28 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |(        .. "Wim|
0000e8e0  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
0000e8f0  22 2c 2c 71 25 0d 43 b2  14 20 20 20 20 20 20 20  |",,q%.C..       |
0000e900  20 71 25 21 32 38 3d 2d  31 0d 43 ba 24 20 20 20  | q%!28=-1.C.$   |
0000e910  20 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 4f 70  |     .. "Wimp_Op|
0000e920  65 6e 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 43 c2  |enWindow",,q%.C.|
0000e930  24 20 20 20 20 20 20 20  20 6c 25 3d a9 28 a4 67  |$        l%=.(.g|
0000e940  65 74 74 65 78 74 28 6c  6f 67 6f 6e 25 2c 31 29  |ettext(logon%,1)|
0000e950  29 0d 43 ca 39 20 20 20  20 20 20 20 20 c8 99 20  |).C.9        .. |
0000e960  22 57 69 6d 70 5f 53 65  74 43 61 72 65 74 50 6f  |"Wimp_SetCaretPo|
0000e970  73 69 74 69 6f 6e 22 2c  6c 6f 67 6f 6e 25 2c 31  |sition",logon%,1|
0000e980  2c 30 2c 30 2c 2d 31 2c  6c 25 0d 43 d2 17 20 20  |,0,0,-1,l%.C..  |
0000e990  20 20 20 20 c9 20 35 3a  20 f2 6c 6f 67 5f 6f 66  |    . 5: .log_of|
0000e9a0  66 0d 43 da 0d 20 20 20  20 20 20 c9 20 36 0d 43  |f.C..      . 6.C|
0000e9b0  e2 23 20 20 20 20 20 20  20 20 e7 20 6c 6f 67 67  |.#        . logg|
0000e9c0  65 64 5f 6f 6e 25 20 8c  20 f2 6c 6f 67 5f 6f 66  |ed_on% . .log_of|
0000e9d0  66 0d 43 ea 2b 20 20 20  20 20 20 20 20 c8 99 20  |f.C.+        .. |
0000e9e0  22 57 69 6d 70 5f 43 6c  6f 73 65 44 6f 77 6e 22  |"Wimp_CloseDown"|
0000e9f0  2c 2c 21 74 61 73 6b 69  64 25 3a e0 0d 43 f2 09  |,,!taskid%:..C..|
0000ea00  20 20 20 20 cb 0d 43 fa  09 20 20 c9 20 31 0d 44  |    ..C..  . 1.D|
0000ea10  02 30 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 44  |.0    .. "Wimp_D|
0000ea20  65 63 6f 64 65 4d 65 6e  75 22 2c 2c 6d 65 6e 61  |ecodeMenu",,mena|
0000ea30  64 25 28 38 29 2c 71 25  2c 77 69 6d 70 25 0d 44  |d%(8),q%,wimp%.D|
0000ea40  0a 11 20 20 20 20 61 24  3d 24 77 69 6d 70 25 0d  |..    a$=$wimp%.|
0000ea50  44 12 1f 20 20 20 20 f2  70 75 74 74 65 78 74 28  |D..    .puttext(|
0000ea60  6e 65 77 6d 65 6d 25 2c  32 34 2c 61 24 29 0d 44  |newmem%,24,a$).D|
0000ea70  1a 09 20 20 c9 20 33 0d  44 22 1d 20 20 20 20 e7  |..  . 3.D".    .|
0000ea80  20 71 25 21 30 3e 3d 30  20 80 20 71 25 21 30 3c  | q%!0>=0 . q%!0<|
0000ea90  3d 32 20 8c 0d 44 2a 16  20 20 20 20 20 20 63 68  |=2 ..D*.      ch|
0000eaa0  6f 69 63 65 25 3d 71 25  21 30 0d 44 32 16 20 20  |oice%=q%!0.D2.  |
0000eab0  20 20 20 20 c8 8e 20 63  68 6f 69 63 65 25 20 ca  |    .. choice% .|
0000eac0  0d 44 3a 1b 20 20 20 20  20 20 20 20 c9 20 30 3a  |.D:.        . 0:|
0000ead0  20 61 24 3d 22 41 64 75  6c 74 22 0d 44 42 1c 20  | a$="Adult".DB. |
0000eae0  20 20 20 20 20 20 20 c9  20 31 3a 20 61 24 3d 22  |       . 1: a$="|
0000eaf0  4a 75 6e 69 6f 72 22 0d  44 4a 1b 20 20 20 20 20  |Junior".DJ.     |
0000eb00  20 20 20 c9 20 32 3a 20  61 24 3d 22 53 74 61 66  |   . 2: a$="Staf|
0000eb10  66 22 0d 44 52 0b 20 20  20 20 20 20 cb 0d 44 5a  |f".DR.      ..DZ|
0000eb20  24 20 20 20 20 20 20 f2  70 75 74 74 65 78 74 28  |$      .puttext(|
0000eb30  63 68 61 6e 67 65 6d 65  6d 25 2c 31 35 2c 61 24  |changemem%,15,a$|
0000eb40  29 0d 44 62 09 20 20 20  20 cd 0d 44 6a 09 20 20  |).Db.    ..Dj.  |
0000eb50  c9 20 34 0d 44 72 2a 20  20 20 20 c8 99 20 22 57  |. 4.Dr*    .. "W|
0000eb60  69 6d 70 5f 44 65 63 6f  64 65 4d 65 6e 75 22 2c  |imp_DecodeMenu",|
0000eb70  2c 66 6d 25 2c 71 25 2c  77 69 6d 70 25 0d 44 7a  |,fm%,q%,wimp%.Dz|
0000eb80  14 20 20 20 20 70 75 74  65 24 3d 24 77 69 6d 70  |.    pute$=$wimp|
0000eb90  25 0d 44 82 1b 20 20 20  20 c8 8e 20 63 75 72 72  |%.D..    .. curr|
0000eba0  65 6e 74 5f 70 72 69 6e  74 25 20 ca 0d 44 8a 0d  |ent_print% ..D..|
0000ebb0  20 20 20 20 20 20 c9 20  31 0d 44 92 28 20 20 20  |      . 1.D.(   |
0000ebc0  20 20 20 20 20 61 6c 72  24 3d a4 67 65 74 74 65  |     alr$=.gette|
0000ebd0  78 74 28 6f 76 65 72 64  75 65 5f 70 72 25 2c 33  |xt(overdue_pr%,3|
0000ebe0  29 0d 44 9a 2b 20 20 20  20 20 20 20 20 e7 20 a4  |).D.+        . .|
0000ebf0  55 70 70 65 72 28 70 75  74 65 24 29 3c 3e a4 55  |Upper(pute$)<>.U|
0000ec00  70 70 65 72 28 61 6c 72  24 29 20 8c 0d 44 a2 2d  |pper(alr$) ..D.-|
0000ec10  20 20 20 20 20 20 20 20  20 20 e7 20 a4 55 70 70  |          . .Upp|
0000ec20  65 72 28 70 75 74 65 24  29 3d 22 53 59 53 54 45  |er(pute$)="SYSTE|
0000ec30  4d 20 46 4f 4e 54 22 20  8c 0d 44 aa 30 20 20 20  |M FONT" ..D.0   |
0000ec40  20 20 20 20 20 20 20 20  20 f2 73 65 74 69 28 6f  |         .seti(o|
0000ec50  76 65 72 64 75 65 5f 70  72 25 2c 32 31 2c 26 35  |verdue_pr%,21,&5|
0000ec60  30 30 30 30 30 30 2c 30  29 0d 44 b2 30 20 20 20  |000000,0).D.0   |
0000ec70  20 20 20 20 20 20 20 20  20 f2 73 65 74 69 28 6f  |         .seti(o|
0000ec80  76 65 72 64 75 65 5f 70  72 25 2c 32 32 2c 26 35  |verdue_pr%,22,&5|
0000ec90  30 30 46 30 30 30 2c 30  29 0d 44 ba 1b 20 20 20  |00F000,0).D..   |
0000eca0  20 20 20 20 20 20 20 20  20 e7 20 66 5f 66 6c 61  |         . f_fla|
0000ecb0  67 25 20 8c 0d 44 c2 32  20 20 20 20 20 20 20 20  |g% ..D.2        |
0000ecc0  20 20 20 20 20 20 f2 70  75 74 5f 76 61 6c 69 64  |      .put_valid|
0000ecd0  28 6f 76 65 72 64 75 65  5f 70 72 25 2c 32 31 2c  |(overdue_pr%,21,|
0000ece0  22 46 31 37 22 29 0d 44  ca 48 20 20 20 20 20 20  |"F17").D.H      |
0000ecf0  20 20 20 20 20 20 20 20  f2 70 75 74 5f 76 61 6c  |        .put_val|
0000ed00  69 64 28 6f 76 65 72 64  75 65 5f 70 72 25 2c 32  |id(overdue_pr%,2|
0000ed10  32 2c 22 41 30 2d 39 3b  52 37 3b 50 70 74 72 5f  |2,"A0-9;R7;Pptr_|
0000ed20  77 72 69 74 65 3b 4b 41  3b 46 30 37 22 29 0d 44  |write;KA;F07").D|
0000ed30  d2 11 20 20 20 20 20 20  20 20 20 20 20 20 cd 0d  |..            ..|
0000ed40  44 da 0f 20 20 20 20 20  20 20 20 20 20 cc 0d 44  |D..          ..D|
0000ed50  e2 2e 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |..            . |
0000ed60  a4 55 70 70 65 72 28 61  6c 72 24 29 3d 22 53 59  |.Upper(alr$)="SY|
0000ed70  53 54 45 4d 20 46 4f 4e  54 22 20 8c 0d 44 ea 32  |STEM FONT" ..D.2|
0000ed80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 f2 73  |              .s|
0000ed90  65 74 69 28 6f 76 65 72  64 75 65 5f 70 72 25 2c  |eti(overdue_pr%,|
0000eda0  32 31 2c 26 35 30 30 30  30 30 30 2c 30 29 0d 44  |21,&5000000,0).D|
0000edb0  f2 32 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.2              |
0000edc0  f2 73 65 74 69 28 6f 76  65 72 64 75 65 5f 70 72  |.seti(overdue_pr|
0000edd0  25 2c 32 32 2c 26 35 30  30 46 30 30 30 2c 30 29  |%,22,&500F000,0)|
0000ede0  0d 44 fa 1d 20 20 20 20  20 20 20 20 20 20 20 20  |.D..            |
0000edf0  20 20 e7 20 66 5f 66 6c  61 67 25 20 8c 0d 45 02  |  . f_flag% ..E.|
0000ee00  34 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |4               |
0000ee10  20 f2 70 75 74 5f 76 61  6c 69 64 28 6f 76 65 72  | .put_valid(over|
0000ee20  64 75 65 5f 70 72 25 2c  32 31 2c 22 46 31 32 22  |due_pr%,21,"F12"|
0000ee30  29 0d 45 0a 4a 20 20 20  20 20 20 20 20 20 20 20  |).E.J           |
0000ee40  20 20 20 20 20 f2 70 75  74 5f 76 61 6c 69 64 28  |     .put_valid(|
0000ee50  6f 76 65 72 64 75 65 5f  70 72 25 2c 32 32 2c 22  |overdue_pr%,22,"|
0000ee60  41 30 2d 39 3b 52 37 3b  50 70 74 72 5f 77 72 69  |A0-9;R7;Pptr_wri|
0000ee70  74 65 3b 4b 41 3b 46 30  32 22 29 0d 45 12 13 20  |te;KA;F02").E.. |
0000ee80  20 20 20 20 20 20 20 20  20 20 20 20 20 cd 0d 45  |             ..E|
0000ee90  1a 30 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.0              |
0000eea0  6c 25 3d a9 28 a4 67 65  74 74 65 78 74 28 6f 76  |l%=.(.gettext(ov|
0000eeb0  65 72 64 75 65 5f 70 72  25 2c 31 30 29 29 0d 45  |erdue_pr%,10)).E|
0000eec0  22 45 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |"E              |
0000eed0  c8 99 20 22 57 69 6d 70  5f 53 65 74 43 61 72 65  |.. "Wimp_SetCare|
0000eee0  74 50 6f 73 69 74 69 6f  6e 22 2c 6f 76 65 72 64  |tPosition",overd|
0000eef0  75 65 5f 70 72 25 2c 31  30 2c 30 2c 30 2c 2d 31  |ue_pr%,10,0,0,-1|
0000ef00  2c 6c 25 0d 45 2a 11 20  20 20 20 20 20 20 20 20  |,l%.E*.         |
0000ef10  20 20 20 cd 0d 45 32 0f  20 20 20 20 20 20 20 20  |   ..E2.        |
0000ef20  20 20 cd 0d 45 3a 0d 20  20 20 20 20 20 20 20 cd  |  ..E:.        .|
0000ef30  0d 45 42 2a 20 20 20 20  20 20 20 20 f2 70 75 74  |.EB*        .put|
0000ef40  74 65 78 74 28 6f 76 65  72 64 75 65 5f 70 72 25  |text(overdue_pr%|
0000ef50  2c 33 2c 24 77 69 6d 70  25 29 0d 45 4a 0d 20 20  |,3,$wimp%).EJ.  |
0000ef60  20 20 20 20 c9 20 35 0d  45 52 24 20 20 20 20 20  |    . 5.ER$     |
0000ef70  20 20 20 61 6c 72 24 3d  a4 67 65 74 74 65 78 74  |   alr$=.gettext|
0000ef80  28 61 6c 6c 5f 70 72 25  2c 33 29 0d 45 5a 2b 20  |(all_pr%,3).EZ+ |
0000ef90  20 20 20 20 20 20 20 e7  20 a4 55 70 70 65 72 28  |       . .Upper(|
0000efa0  70 75 74 65 24 29 3c 3e  a4 55 70 70 65 72 28 61  |pute$)<>.Upper(a|
0000efb0  6c 72 24 29 20 8c 0d 45  62 2d 20 20 20 20 20 20  |lr$) ..Eb-      |
0000efc0  20 20 20 20 e7 20 a4 55  70 70 65 72 28 70 75 74  |    . .Upper(put|
0000efd0  65 24 29 3d 22 53 59 53  54 45 4d 20 46 4f 4e 54  |e$)="SYSTEM FONT|
0000efe0  22 20 8c 0d 45 6a 2c 20  20 20 20 20 20 20 20 20  |" ..Ej,         |
0000eff0  20 20 20 f2 73 65 74 69  28 61 6c 6c 5f 70 72 25  |   .seti(all_pr%|
0000f000  2c 31 30 2c 26 35 30 30  30 30 30 30 2c 30 29 0d  |,10,&5000000,0).|
0000f010  45 72 2c 20 20 20 20 20  20 20 20 20 20 20 20 f2  |Er,            .|
0000f020  73 65 74 69 28 61 6c 6c  5f 70 72 25 2c 31 33 2c  |seti(all_pr%,13,|
0000f030  26 35 30 30 30 30 30 30  2c 30 29 0d 45 7a 2c 20  |&5000000,0).Ez, |
0000f040  20 20 20 20 20 20 20 20  20 20 20 f2 73 65 74 69  |           .seti|
0000f050  28 61 6c 6c 5f 70 72 25  2c 31 34 2c 26 35 30 30  |(all_pr%,14,&500|
0000f060  46 30 30 30 2c 30 29 0d  45 82 2b 20 20 20 20 20  |F000,0).E.+     |
0000f070  20 20 20 20 20 20 20 f2  73 65 74 69 28 61 6c 6c  |       .seti(all|
0000f080  5f 70 72 25 2c 39 2c 26  35 30 30 42 30 30 30 2c  |_pr%,9,&500B000,|
0000f090  30 29 0d 45 8a 1b 20 20  20 20 20 20 20 20 20 20  |0).E..          |
0000f0a0  20 20 e7 20 66 5f 66 6c  61 67 25 20 8c 0d 45 92  |  . f_flag% ..E.|
0000f0b0  2e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 f2  |.              .|
0000f0c0  70 75 74 5f 76 61 6c 69  64 28 61 6c 6c 5f 70 72  |put_valid(all_pr|
0000f0d0  25 2c 31 30 2c 22 46 31  32 22 29 0d 45 9a 2e 20  |%,10,"F12").E.. |
0000f0e0  20 20 20 20 20 20 20 20  20 20 20 20 20 f2 70 75  |             .pu|
0000f0f0  74 5f 76 61 6c 69 64 28  61 6c 6c 5f 70 72 25 2c  |t_valid(all_pr%,|
0000f100  31 33 2c 22 46 31 37 22  29 0d 45 a2 41 20 20 20  |13,"F17").E.A   |
0000f110  20 20 20 20 20 20 20 20  20 20 20 f2 70 75 74 5f  |           .put_|
0000f120  76 61 6c 69 64 28 61 6c  6c 5f 70 72 25 2c 31 34  |valid(all_pr%,14|
0000f130  2c 22 41 30 2d 39 3b 52  37 3b 50 70 74 72 5f 77  |,"A0-9;R7;Pptr_w|
0000f140  72 69 74 65 3b 46 30 37  22 29 0d 45 aa 11 20 20  |rite;F07").E..  |
0000f150  20 20 20 20 20 20 20 20  20 20 cd 0d 45 b2 0f 20  |          ..E.. |
0000f160  20 20 20 20 20 20 20 20  20 cc 0d 45 ba 2e 20 20  |         ..E..  |
0000f170  20 20 20 20 20 20 20 20  20 20 e7 20 a4 55 70 70  |          . .Upp|
0000f180  65 72 28 61 6c 72 24 29  3d 22 53 59 53 54 45 4d  |er(alr$)="SYSTEM|
0000f190  20 46 4f 4e 54 22 20 8c  0d 45 c2 2e 20 20 20 20  | FONT" ..E..    |
0000f1a0  20 20 20 20 20 20 20 20  20 20 f2 73 65 74 69 28  |          .seti(|
0000f1b0  61 6c 6c 5f 70 72 25 2c  31 30 2c 26 35 30 30 30  |all_pr%,10,&5000|
0000f1c0  30 30 30 2c 30 29 0d 45  ca 2e 20 20 20 20 20 20  |000,0).E..      |
0000f1d0  20 20 20 20 20 20 20 20  f2 73 65 74 69 28 61 6c  |        .seti(al|
0000f1e0  6c 5f 70 72 25 2c 31 33  2c 26 35 30 30 30 30 30  |l_pr%,13,&500000|
0000f1f0  30 2c 30 29 0d 45 d2 2e  20 20 20 20 20 20 20 20  |0,0).E..        |
0000f200  20 20 20 20 20 20 f2 73  65 74 69 28 61 6c 6c 5f  |      .seti(all_|
0000f210  70 72 25 2c 31 34 2c 26  35 30 30 46 30 30 30 2c  |pr%,14,&500F000,|
0000f220  30 29 0d 45 da 2d 20 20  20 20 20 20 20 20 20 20  |0).E.-          |
0000f230  20 20 20 20 f2 73 65 74  69 28 61 6c 6c 5f 70 72  |    .seti(all_pr|
0000f240  25 2c 39 2c 26 35 30 30  42 30 30 30 2c 30 29 0d  |%,9,&500B000,0).|
0000f250  45 e2 1d 20 20 20 20 20  20 20 20 20 20 20 20 20  |E..             |
0000f260  20 e7 20 66 5f 66 6c 61  67 25 20 8c 0d 45 ea 30  | . f_flag% ..E.0|
0000f270  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000f280  f2 70 75 74 5f 76 61 6c  69 64 28 61 6c 6c 5f 70  |.put_valid(all_p|
0000f290  72 25 2c 31 30 2c 22 46  31 32 22 29 0d 45 f2 30  |r%,10,"F12").E.0|
0000f2a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000f2b0  f2 70 75 74 5f 76 61 6c  69 64 28 61 6c 6c 5f 70  |.put_valid(all_p|
0000f2c0  72 25 2c 31 33 2c 22 46  31 37 22 29 0d 45 fa 43  |r%,13,"F17").E.C|
0000f2d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000f2e0  f2 70 75 74 5f 76 61 6c  69 64 28 61 6c 6c 5f 70  |.put_valid(all_p|
0000f2f0  72 25 2c 31 34 2c 22 41  30 2d 39 3b 52 37 3b 50  |r%,14,"A0-9;R7;P|
0000f300  70 74 72 5f 77 72 69 74  65 3b 46 30 32 22 29 0d  |ptr_write;F02").|
0000f310  46 02 13 20 20 20 20 20  20 20 20 20 20 20 20 20  |F..             |
0000f320  20 cd 0d 46 0a 2f 20 20  20 20 20 20 20 20 20 20  | ..F./          |
0000f330  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 53 65 74  |    .. "Wimp_Set|
0000f340  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 2d  |CaretPosition",-|
0000f350  31 0d 46 12 11 20 20 20  20 20 20 20 20 20 20 20  |1.F..           |
0000f360  20 cd 0d 46 1a 0f 20 20  20 20 20 20 20 20 20 20  | ..F..          |
0000f370  cd 0d 46 22 0d 20 20 20  20 20 20 20 20 cd 0d 46  |..F".        ..F|
0000f380  2a 26 20 20 20 20 20 20  20 20 f2 70 75 74 74 65  |*&        .putte|
0000f390  78 74 28 61 6c 6c 5f 70  72 25 2c 33 2c 24 77 69  |xt(all_pr%,3,$wi|
0000f3a0  6d 70 25 29 0d 46 32 26  20 20 20 20 20 20 7f 3a  |mp%).F2&      .:|
0000f3b0  20 f2 70 75 74 74 65 78  74 28 70 72 69 6e 74 25  | .puttext(print%|
0000f3c0  2c 33 2c 24 77 69 6d 70  25 29 0d 46 3a 09 20 20  |,3,$wimp%).F:.  |
0000f3d0  20 20 cb 0d 46 42 05 cb  0d 46 4a 20 c8 99 20 22  |  ..FB...FJ .. "|
0000f3e0  57 69 6d 70 5f 47 65 74  50 6f 69 6e 74 65 72 49  |Wimp_GetPointerI|
0000f3f0  6e 66 6f 22 2c 2c 71 25  0d 46 52 14 e7 20 28 28  |nfo",,q%.FR.. ((|
0000f400  71 25 21 38 29 20 80 20  31 29 20 8c 0d 46 5a 11  |q%!8) . 1) ..FZ.|
0000f410  20 20 e7 20 6f 6d 25 3d  32 35 35 20 8c 0d 46 62  |  . om%=255 ..Fb|
0000f420  29 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 43 72  |)    .. "Wimp_Cr|
0000f430  65 61 74 65 4d 65 6e 75  22 2c 2c 66 6d 25 2c 6f  |eateMenu",,fm%,o|
0000f440  78 25 2c 6f 79 25 0d 46  6a 07 20 20 cc 0d 46 72  |x%,oy%.Fj.  ..Fr|
0000f450  31 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 43 72  |1    .. "Wimp_Cr|
0000f460  65 61 74 65 4d 65 6e 75  22 2c 2c 6d 65 6e 61 64  |eateMenu",,menad|
0000f470  25 28 6f 6d 25 29 2c 6f  78 25 2c 6f 79 25 0d 46  |%(om%),ox%,oy%.F|
0000f480  7a 07 20 20 cd 0d 46 82  05 cd 0d 46 8a 05 e1 0d  |z.  ..F....F....|
0000f490  46 92 04 0d 46 9a 21 dd  f2 70 72 6f 63 65 73 73  |F...F.!..process|
0000f4a0  5f 6b 65 79 28 77 69 6e  25 2c 69 63 6f 25 2c 6b  |_key(win%,ico%,k|
0000f4b0  65 79 25 29 0d 46 a2 1b  c8 99 20 22 57 69 6d 70  |ey%).F.... "Wimp|
0000f4c0  5f 43 72 65 61 74 65 4d  65 6e 75 22 2c 2d 31 0d  |_CreateMenu",-1.|
0000f4d0  46 aa 0d c8 8e 20 6b 65  79 25 20 ca 0d 46 b2 0c  |F.... key% ..F..|
0000f4e0  20 20 c9 20 26 31 38 30  0d 46 ba 24 20 20 20 20  |  . &180.F.$    |
0000f4f0  c8 99 20 22 57 69 6d 70  5f 47 65 74 50 6f 69 6e  |.. "Wimp_GetPoin|
0000f500  74 65 72 49 6e 66 6f 22  2c 2c 71 25 0d 46 c2 12  |terInfo",,q%.F..|
0000f510  20 20 20 20 c8 8e 20 71  25 21 31 32 20 ca 0d 46  |    .. q%!12 ..F|
0000f520  ca 17 20 20 20 20 20 20  c9 20 76 69 65 77 5f 73  |..      . view_s|
0000f530  74 6f 63 6b 25 0d 46 d2  12 20 20 20 20 20 20 20  |tock%.F..       |
0000f540  20 70 72 24 3d 22 22 0d  46 da 0f 20 20 20 20 20  | pr$="".F..     |
0000f550  20 20 20 ea 20 85 0d 46  e2 20 20 20 20 20 20 20  |   . ..F.       |
0000f560  20 20 ee 20 85 20 ea 3a  70 72 24 3d 22 4e 6f 6e  |  . . .:pr$="Non|
0000f570  65 22 3a f7 20 85 0d 46  ea 3d 20 20 20 20 20 20  |e":. ..F.=      |
0000f580  20 20 e7 20 70 72 24 3d  22 22 20 8c 20 c8 99 20  |  . pr$="" . .. |
0000f590  22 4f 53 5f 4d 6f 64 75  6c 65 22 2c 31 38 2c 22  |"OS_Module",18,"|
0000f5a0  50 44 72 69 76 65 72 22  20 b8 20 2c 70 64 72 5f  |PDriver" . ,pdr_|
0000f5b0  6e 6f 25 0d 46 f2 16 20  20 20 20 20 20 20 20 e7  |no%.F..        .|
0000f5c0  20 70 72 24 3d 22 22 20  8c 0d 46 fa 29 20 20 20  | pr$="" ..F.)   |
0000f5d0  20 20 20 20 20 20 20 c8  99 20 22 50 44 72 69 76  |       .. "PDriv|
0000f5e0  65 72 5f 49 6e 66 6f 22  20 b8 20 2c 2c 2c 2c 70  |er_Info" . ,,,,p|
0000f5f0  72 25 0d 47 02 1f 20 20  20 20 20 20 20 20 20 20  |r%.G..          |
0000f600  70 72 24 3d a4 73 74 72  69 6e 67 30 28 70 72 25  |pr$=.string0(pr%|
0000f610  29 0d 47 0a 0d 20 20 20  20 20 20 20 20 cd 0d 47  |).G..        ..G|
0000f620  12 0f 20 20 20 20 20 20  20 20 f7 20 85 0d 47 1a  |..        . ..G.|
0000f630  22 20 20 20 20 20 20 20  20 f2 70 75 74 74 65 78  |"        .puttex|
0000f640  74 28 70 72 69 6e 74 25  2c 31 2c 70 72 24 29 0d  |t(print%,1,pr$).|
0000f650  47 22 16 20 20 20 20 20  20 20 20 21 71 25 3d 70  |G".        !q%=p|
0000f660  72 69 6e 74 25 0d 47 2a  28 20 20 20 20 20 20 20  |rint%.G*(       |
0000f670  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
0000f680  64 6f 77 53 74 61 74 65  22 2c 2c 71 25 0d 47 32  |dowState",,q%.G2|
0000f690  14 20 20 20 20 20 20 20  20 71 25 21 32 38 3d 2d  |.        q%!28=-|
0000f6a0  31 0d 47 3a 24 20 20 20  20 20 20 20 20 c8 99 20  |1.G:$        .. |
0000f6b0  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
0000f6c0  22 2c 2c 71 25 0d 47 42  1c 20 20 20 20 20 20 20  |",,q%.GB.       |
0000f6d0  20 63 75 72 72 65 6e 74  5f 70 72 69 6e 74 25 3d  | current_print%=|
0000f6e0  32 0d 47 4a 14 20 20 20  20 20 20 c9 20 76 69 65  |2.GJ.      . vie|
0000f6f0  77 6d 65 6d 25 0d 47 52  12 20 20 20 20 20 20 20  |wmem%.GR.       |
0000f700  20 70 72 24 3d 22 22 0d  47 5a 0f 20 20 20 20 20  | pr$="".GZ.     |
0000f710  20 20 20 ea 20 85 0d 47  62 20 20 20 20 20 20 20  |   . ..Gb       |
0000f720  20 20 ee 20 85 20 ea 3a  70 72 24 3d 22 4e 6f 6e  |  . . .:pr$="Non|
0000f730  65 22 3a f7 20 85 0d 47  6a 3d 20 20 20 20 20 20  |e":. ..Gj=      |
0000f740  20 20 e7 20 70 72 24 3d  22 22 20 8c 20 c8 99 20  |  . pr$="" . .. |
0000f750  22 4f 53 5f 4d 6f 64 75  6c 65 22 2c 31 38 2c 22  |"OS_Module",18,"|
0000f760  50 44 72 69 76 65 72 22  20 b8 20 2c 70 64 72 5f  |PDriver" . ,pdr_|
0000f770  6e 6f 25 0d 47 72 16 20  20 20 20 20 20 20 20 e7  |no%.Gr.        .|
0000f780  20 70 72 24 3d 22 22 20  8c 0d 47 7a 29 20 20 20  | pr$="" ..Gz)   |
0000f790  20 20 20 20 20 20 20 c8  99 20 22 50 44 72 69 76  |       .. "PDriv|
0000f7a0  65 72 5f 49 6e 66 6f 22  20 b8 20 2c 2c 2c 2c 70  |er_Info" . ,,,,p|
0000f7b0  72 25 0d 47 82 1f 20 20  20 20 20 20 20 20 20 20  |r%.G..          |
0000f7c0  70 72 24 3d a4 73 74 72  69 6e 67 30 28 70 72 25  |pr$=.string0(pr%|
0000f7d0  29 0d 47 8a 0d 20 20 20  20 20 20 20 20 cd 0d 47  |).G..        ..G|
0000f7e0  92 0f 20 20 20 20 20 20  20 20 f7 20 85 0d 47 9a  |..        . ..G.|
0000f7f0  22 20 20 20 20 20 20 20  20 f2 70 75 74 74 65 78  |"        .puttex|
0000f800  74 28 70 72 69 6e 74 25  2c 31 2c 70 72 24 29 0d  |t(print%,1,pr$).|
0000f810  47 a2 16 20 20 20 20 20  20 20 20 21 71 25 3d 70  |G..        !q%=p|
0000f820  72 69 6e 74 25 0d 47 aa  28 20 20 20 20 20 20 20  |rint%.G.(       |
0000f830  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
0000f840  64 6f 77 53 74 61 74 65  22 2c 2c 71 25 0d 47 b2  |dowState",,q%.G.|
0000f850  14 20 20 20 20 20 20 20  20 71 25 21 32 38 3d 2d  |.        q%!28=-|
0000f860  31 0d 47 ba 24 20 20 20  20 20 20 20 20 c8 99 20  |1.G.$        .. |
0000f870  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
0000f880  22 2c 2c 71 25 0d 47 c2  1c 20 20 20 20 20 20 20  |",,q%.G..       |
0000f890  20 63 75 72 72 65 6e 74  5f 70 72 69 6e 74 25 3d  | current_print%=|
0000f8a0  33 0d 47 ca 15 20 20 20  20 20 20 c9 20 6d 61 69  |3.G..      . mai|
0000f8b0  6e 5f 61 75 78 25 0d 47  d2 12 20 20 20 20 20 20  |n_aux%.G..      |
0000f8c0  20 20 70 72 24 3d 22 22  0d 47 da 0f 20 20 20 20  |  pr$="".G..    |
0000f8d0  20 20 20 20 ea 20 85 0d  47 e2 20 20 20 20 20 20  |    . ..G.      |
0000f8e0  20 20 20 ee 20 85 20 ea  3a 70 72 24 3d 22 4e 6f  |   . . .:pr$="No|
0000f8f0  6e 65 22 3a f7 20 85 0d  47 ea 3d 20 20 20 20 20  |ne":. ..G.=     |
0000f900  20 20 20 e7 20 70 72 24  3d 22 22 20 8c 20 c8 99  |   . pr$="" . ..|
0000f910  20 22 4f 53 5f 4d 6f 64  75 6c 65 22 2c 31 38 2c  | "OS_Module",18,|
0000f920  22 50 44 72 69 76 65 72  22 20 b8 20 2c 70 64 72  |"PDriver" . ,pdr|
0000f930  5f 6e 6f 25 0d 47 f2 16  20 20 20 20 20 20 20 20  |_no%.G..        |
0000f940  e7 20 70 72 24 3d 22 22  20 8c 0d 47 fa 29 20 20  |. pr$="" ..G.)  |
0000f950  20 20 20 20 20 20 20 20  c8 99 20 22 50 44 72 69  |        .. "PDri|
0000f960  76 65 72 5f 49 6e 66 6f  22 20 b8 20 2c 2c 2c 2c  |ver_Info" . ,,,,|
0000f970  70 72 25 0d 48 02 1f 20  20 20 20 20 20 20 20 20  |pr%.H..         |
0000f980  20 70 72 24 3d a4 73 74  72 69 6e 67 30 28 70 72  | pr$=.string0(pr|
0000f990  25 29 0d 48 0a 0d 20 20  20 20 20 20 20 20 cd 0d  |%).H..        ..|
0000f9a0  48 12 0f 20 20 20 20 20  20 20 20 f7 20 85 0d 48  |H..        . ..H|
0000f9b0  1a 22 20 20 20 20 20 20  20 20 f2 70 75 74 74 65  |."        .putte|
0000f9c0  78 74 28 70 72 69 6e 74  25 2c 31 2c 70 72 24 29  |xt(print%,1,pr$)|
0000f9d0  0d 48 22 1b 20 20 20 20  20 20 20 20 e7 20 75 73  |.H".        . us|
0000f9e0  69 6e 67 5f 72 64 25 3d  31 20 8c 0d 48 2a 18 20  |ing_rd%=1 ..H*. |
0000f9f0  20 20 20 20 20 20 20 20  20 21 71 25 3d 70 72 69  |         !q%=pri|
0000fa00  6e 74 25 0d 48 32 2a 20  20 20 20 20 20 20 20 20  |nt%.H2*         |
0000fa10  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
0000fa20  64 6f 77 53 74 61 74 65  22 2c 2c 71 25 0d 48 3a  |dowState",,q%.H:|
0000fa30  16 20 20 20 20 20 20 20  20 20 20 71 25 21 32 38  |.          q%!28|
0000fa40  3d 2d 31 0d 48 42 26 20  20 20 20 20 20 20 20 20  |=-1.HB&         |
0000fa50  20 c8 99 20 22 57 69 6d  70 5f 4f 70 65 6e 57 69  | .. "Wimp_OpenWi|
0000fa60  6e 64 6f 77 22 2c 2c 71  25 0d 48 4a 1e 20 20 20  |ndow",,q%.HJ.   |
0000fa70  20 20 20 20 20 20 20 63  75 72 72 65 6e 74 5f 70  |       current_p|
0000fa80  72 69 6e 74 25 3d 34 0d  48 52 0d 20 20 20 20 20  |rint%=4.HR.     |
0000fa90  20 20 20 cd 0d 48 5a 09  20 20 20 20 cb 0d 48 62  |   ..HZ.    ..Hb|
0000faa0  0c 20 20 c9 20 26 31 38  31 0d 48 6a 18 20 20 20  |.  . &181.Hj.   |
0000fab0  20 e7 20 6c 6f 67 67 65  64 5f 6f 6e 25 3d 30 20  | . logged_on%=0 |
0000fac0  8c 0d 48 72 14 20 20 20  20 20 20 21 71 25 3d 6c  |..Hr.      !q%=l|
0000fad0  6f 67 6f 6e 25 0d 48 7a  26 20 20 20 20 20 20 c8  |ogon%.Hz&      .|
0000fae0  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
0000faf0  77 53 74 61 74 65 22 2c  2c 71 25 0d 48 82 12 20  |wState",,q%.H.. |
0000fb00  20 20 20 20 20 71 25 21  32 38 3d 2d 31 0d 48 8a  |     q%!28=-1.H.|
0000fb10  22 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |"      .. "Wimp_|
0000fb20  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |OpenWindow",,q%.|
0000fb30  48 92 22 20 20 20 20 20  20 6c 25 3d a9 28 a4 67  |H."      l%=.(.g|
0000fb40  65 74 74 65 78 74 28 6c  6f 67 6f 6e 25 2c 31 29  |ettext(logon%,1)|
0000fb50  29 0d 48 9a 37 20 20 20  20 20 20 c8 99 20 22 57  |).H.7      .. "W|
0000fb60  69 6d 70 5f 53 65 74 43  61 72 65 74 50 6f 73 69  |imp_SetCaretPosi|
0000fb70  74 69 6f 6e 22 2c 6c 6f  67 6f 6e 25 2c 31 2c 30  |tion",logon%,1,0|
0000fb80  2c 30 2c 2d 31 2c 6c 25  0d 48 a2 09 20 20 20 20  |,0,-1,l%.H..    |
0000fb90  cd 0d 48 aa 25 20 20 c9  20 26 31 38 32 3a 20 e7  |..H.%  . &182: .|
0000fba0  20 6c 6f 67 67 65 64 5f  6f 6e 25 20 8c 20 f2 6c  | logged_on% . .l|
0000fbb0  6f 67 5f 6f 66 66 0d 48  b2 0c 20 20 c9 20 26 31  |og_off.H..  . &1|
0000fbc0  38 33 0d 48 ba 16 20 20  20 20 e7 20 6c 6f 67 67  |83.H..    . logg|
0000fbd0  65 64 5f 6f 6e 25 20 8c  0d 48 c2 29 20 20 20 20  |ed_on% ..H.)    |
0000fbe0  20 20 e7 20 28 70 6e 25  28 6c 6f 67 67 65 64 5f  |  . (pn%(logged_|
0000fbf0  6f 6e 25 29 20 80 20 28  31 3c 3c 31 31 29 29 20  |on%) . (1<<11)) |
0000fc00  8c 0d 48 ca 1e 20 20 20  20 20 20 20 20 f2 75 70  |..H..        .up|
0000fc10  64 61 74 65 5f 73 61 76  65 5f 62 6f 78 65 73 0d  |date_save_boxes.|
0000fc20  48 d2 1a 20 20 20 20 20  20 20 20 21 71 25 3d 73  |H..        !q%=s|
0000fc30  61 76 65 5f 62 6f 6f 6b  25 0d 48 da 27 20 20 20  |ave_book%.H.'   |
0000fc40  20 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 47 65  |     .. "Wimp_Ge|
0000fc50  74 57 69 6e 64 6f 77 49  6e 66 6f 22 2c 2c 71 25  |tWindowInfo",,q%|
0000fc60  0d 48 e2 37 20 20 20 20  20 20 20 20 c8 99 20 22  |.H.7        .. "|
0000fc70  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
0000fc80  2c 2c 73 61 76 65 5f 62  6f 6f 6b 25 2c 71 25 21  |,,save_book%,q%!|
0000fc90  34 2c 71 25 21 31 36 0d  48 ea 0b 20 20 20 20 20  |4,q%!16.H..     |
0000fca0  20 cd 0d 48 f2 09 20 20  20 20 cd 0d 48 fa 0c 20  | ..H..    ..H.. |
0000fcb0  20 c9 20 26 31 38 34 0d  49 02 13 20 20 20 20 21  | . &184.I..    !|
0000fcc0  71 25 3d 73 65 61 72 63  68 25 0d 49 0a 24 20 20  |q%=search%.I.$  |
0000fcd0  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |  .. "Wimp_GetWi|
0000fce0  6e 64 6f 77 53 74 61 74  65 22 2c 2c 71 25 0d 49  |ndowState",,q%.I|
0000fcf0  12 10 20 20 20 20 71 25  21 32 38 3d 2d 31 0d 49  |..    q%!28=-1.I|
0000fd00  1a 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 4f  |.     .. "Wimp_O|
0000fd10  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 71 25 0d 49  |penWindow",,q%.I|
0000fd20  22 22 20 20 20 20 6c 25  3d a9 28 a4 67 65 74 74  |""    l%=.(.gett|
0000fd30  65 78 74 28 73 65 61 72  63 68 25 2c 31 31 29 29  |ext(search%,11))|
0000fd40  0d 49 2a 37 20 20 20 20  c8 99 20 22 57 69 6d 70  |.I*7    .. "Wimp|
0000fd50  5f 53 65 74 43 61 72 65  74 50 6f 73 69 74 69 6f  |_SetCaretPositio|
0000fd60  6e 22 2c 73 65 61 72 63  68 25 2c 31 31 2c 30 2c  |n",search%,11,0,|
0000fd70  30 2c 2d 31 2c 6c 25 0d  49 32 0c 20 20 c9 20 26  |0,-1,l%.I2.  . &|
0000fd80  31 38 35 0d 49 3a 16 20  20 20 20 e7 20 6c 6f 67  |185.I:.    . log|
0000fd90  67 65 64 5f 6f 6e 25 20  8c 0d 49 42 28 20 20 20  |ged_on% ..IB(   |
0000fda0  20 20 20 e7 20 28 70 6e  25 28 6c 6f 67 67 65 64  |   . (pn%(logged|
0000fdb0  5f 6f 6e 25 29 20 80 20  28 31 3c 3c 30 29 29 20  |_on%) . (1<<0)) |
0000fdc0  8c 0d 49 4a 16 20 20 20  20 20 20 20 20 21 71 25  |..IJ.        !q%|
0000fdd0  3d 69 73 73 75 65 25 0d  49 52 28 20 20 20 20 20  |=issue%.IR(     |
0000fde0  20 20 20 c8 99 20 22 57  69 6d 70 5f 47 65 74 57  |   .. "Wimp_GetW|
0000fdf0  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 71 25 0d  |indowState",,q%.|
0000fe00  49 5a 14 20 20 20 20 20  20 20 20 71 25 21 32 38  |IZ.        q%!28|
0000fe10  3d 2d 31 0d 49 62 24 20  20 20 20 20 20 20 20 c8  |=-1.Ib$        .|
0000fe20  99 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |. "Wimp_OpenWind|
0000fe30  6f 77 22 2c 2c 71 25 0d  49 6a 24 20 20 20 20 20  |ow",,q%.Ij$     |
0000fe40  20 20 20 6c 25 3d a9 28  a4 67 65 74 74 65 78 74  |   l%=.(.gettext|
0000fe50  28 69 73 73 75 65 25 2c  31 29 29 0d 49 72 39 20  |(issue%,1)).Ir9 |
0000fe60  20 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |       .. "Wimp_|
0000fe70  53 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |SetCaretPosition|
0000fe80  22 2c 69 73 73 75 65 25  2c 31 2c 30 2c 30 2c 2d  |",issue%,1,0,0,-|
0000fe90  31 2c 6c 25 0d 49 7a 1c  20 20 20 20 20 20 20 20  |1,l%.Iz.        |
0000fea0  f2 69 73 73 75 65 5f 73  65 74 5f 64 61 74 65 73  |.issue_set_dates|
0000feb0  0d 49 82 0b 20 20 20 20  20 20 cd 0d 49 8a 09 20  |.I..      ..I.. |
0000fec0  20 20 20 cd 0d 49 92 0c  20 20 c9 20 26 31 38 36  |   ..I..  . &186|
0000fed0  0d 49 9a 16 20 20 20 20  e7 20 6c 6f 67 67 65 64  |.I..    . logged|
0000fee0  5f 6f 6e 25 20 8c 0d 49  a2 28 20 20 20 20 20 20  |_on% ..I.(      |
0000fef0  e7 20 28 70 6e 25 28 6c  6f 67 67 65 64 5f 6f 6e  |. (pn%(logged_on|
0000ff00  25 29 20 80 20 28 31 3c  3c 31 29 29 20 8c 0d 49  |%) . (1<<1)) ..I|
0000ff10  aa 2f 20 20 20 20 20 20  20 20 f2 70 75 74 5f 61  |./        .put_a|
0000ff20  63 63 5f 75 70 28 22 52  65 74 75 72 6e 20 42 6f  |cc_up("Return Bo|
0000ff30  6f 6b 22 2c 22 52 65 74  75 72 6e 22 29 0d 49 b2  |ok","Return").I.|
0000ff40  0b 20 20 20 20 20 20 cd  0d 49 ba 09 20 20 20 20  |.      ..I..    |
0000ff50  cd 0d 49 c2 0c 20 20 c9  20 26 31 38 37 0d 49 ca  |..I..  . &187.I.|
0000ff60  16 20 20 20 20 e7 20 6c  6f 67 67 65 64 5f 6f 6e  |.    . logged_on|
0000ff70  25 20 8c 0d 49 d2 28 20  20 20 20 20 20 e7 20 28  |% ..I.(      . (|
0000ff80  70 6e 25 28 6c 6f 67 67  65 64 5f 6f 6e 25 29 20  |pn%(logged_on%) |
0000ff90  80 20 28 31 3c 3c 31 29  29 20 8c 0d 49 da 16 20  |. (1<<1)) ..I.. |
0000ffa0  20 20 20 20 20 20 20 21  71 25 3d 72 65 6e 65 77  |       !q%=renew|
0000ffb0  25 0d 49 e2 28 20 20 20  20 20 20 20 20 c8 99 20  |%.I.(        .. |
0000ffc0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
0000ffd0  74 61 74 65 22 2c 2c 71  25 0d 49 ea 14 20 20 20  |tate",,q%.I..   |
0000ffe0  20 20 20 20 20 71 25 21  32 38 3d 2d 31 0d 49 f2  |     q%!28=-1.I.|
0000fff0  24 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |$        .. "Wim|
00010000  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 71  |p_OpenWindow",,q|
00010010  25 0d 49 fa 24 20 20 20  20 20 20 20 20 6c 25 3d  |%.I.$        l%=|
00010020  a9 28 a4 67 65 74 74 65  78 74 28 72 65 6e 65 77  |.(.gettext(renew|
00010030  25 2c 31 29 29 0d 4a 02  39 20 20 20 20 20 20 20  |%,1)).J.9       |
00010040  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 43 61 72  | .. "Wimp_SetCar|
00010050  65 74 50 6f 73 69 74 69  6f 6e 22 2c 72 65 6e 65  |etPosition",rene|
00010060  77 25 2c 31 2c 30 2c 30  2c 2d 31 2c 6c 25 0d 4a  |w%,1,0,0,-1,l%.J|
00010070  0a 1c 20 20 20 20 20 20  20 20 f2 72 65 6e 65 77  |..        .renew|
00010080  5f 73 65 74 5f 64 61 74  65 73 0d 4a 12 0b 20 20  |_set_dates.J..  |
00010090  20 20 20 20 cd 0d 4a 1a  09 20 20 20 20 cd 0d 4a  |    ..J..    ..J|
000100a0  22 0c 20 20 c9 20 26 31  38 38 0d 4a 2a 16 20 20  |".  . &188.J*.  |
000100b0  20 20 e7 20 6c 6f 67 67  65 64 5f 6f 6e 25 20 8c  |  . logged_on% .|
000100c0  0d 4a 32 2a 20 20 20 20  20 20 f2 70 75 74 5f 61  |.J2*      .put_a|
000100d0  63 63 5f 75 70 28 22 56  69 65 77 20 53 74 6f 63  |cc_up("View Stoc|
000100e0  6b 22 2c 22 46 69 6e 64  22 29 0d 4a 3a 09 20 20  |k","Find").J:.  |
000100f0  20 20 cd 0d 4a 42 0c 20  20 c9 20 26 31 38 39 0d  |  ..JB.  . &189.|
00010100  4a 4a 16 20 20 20 20 e7  20 6c 6f 67 67 65 64 5f  |JJ.    . logged_|
00010110  6f 6e 25 20 8c 0d 4a 52  28 20 20 20 20 20 20 e7  |on% ..JR(      .|
00010120  20 28 70 6e 25 28 6c 6f  67 67 65 64 5f 6f 6e 25  | (pn%(logged_on%|
00010130  29 20 80 20 28 31 3c 3c  35 29 29 20 8c 0d 4a 5a  |) . (1<<5)) ..JZ|
00010140  17 20 20 20 20 20 20 20  20 21 71 25 3d 6e 65 77  |.        !q%=new|
00010150  6d 65 6d 25 0d 4a 62 28  20 20 20 20 20 20 20 20  |mem%.Jb(        |
00010160  c8 99 20 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |.. "Wimp_GetWind|
00010170  6f 77 53 74 61 74 65 22  2c 2c 71 25 0d 4a 6a 14  |owState",,q%.Jj.|
00010180  20 20 20 20 20 20 20 20  71 25 21 32 38 3d 2d 31  |        q%!28=-1|
00010190  0d 4a 72 24 20 20 20 20  20 20 20 20 c8 99 20 22  |.Jr$        .. "|
000101a0  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
000101b0  2c 2c 71 25 0d 4a 7a 26  20 20 20 20 20 20 20 20  |,,q%.Jz&        |
000101c0  6c 25 3d a9 28 a4 67 65  74 74 65 78 74 28 6e 65  |l%=.(.gettext(ne|
000101d0  77 6d 65 6d 25 2c 31 34  29 29 0d 4a 82 3b 20 20  |wmem%,14)).J.;  |
000101e0  20 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 53  |      .. "Wimp_S|
000101f0  65 74 43 61 72 65 74 50  6f 73 69 74 69 6f 6e 22  |etCaretPosition"|
00010200  2c 6e 65 77 6d 65 6d 25  2c 31 34 2c 30 2c 30 2c  |,newmem%,14,0,0,|
00010210  2d 31 2c 6c 25 0d 4a 8a  0b 20 20 20 20 20 20 cd  |-1,l%.J..      .|
00010220  0d 4a 92 09 20 20 20 20  cd 0d 4a 9a 0c 20 20 c9  |.J..    ..J..  .|
00010230  20 26 31 39 31 0d 4a a2  16 20 20 20 20 e7 20 6c  | &191.J..    . l|
00010240  6f 67 67 65 64 5f 6f 6e  25 20 8c 0d 4a aa 28 20  |ogged_on% ..J.( |
00010250  20 20 20 20 20 e7 20 28  70 6e 25 28 6c 6f 67 67  |     . (pn%(logg|
00010260  65 64 5f 6f 6e 25 29 20  80 20 28 31 3c 3c 39 29  |ed_on%) . (1<<9)|
00010270  29 20 8c 0d 4a b2 1b 20  20 20 20 20 20 20 20 21  |) ..J..        !|
00010280  71 25 3d 63 68 61 6e 67  65 70 61 73 73 25 0d 4a  |q%=changepass%.J|
00010290  ba 28 20 20 20 20 20 20  20 20 c8 99 20 22 57 69  |.(        .. "Wi|
000102a0  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
000102b0  65 22 2c 2c 71 25 0d 4a  c2 14 20 20 20 20 20 20  |e",,q%.J..      |
000102c0  20 20 71 25 21 32 38 3d  2d 31 0d 4a ca 24 20 20  |  q%!28=-1.J.$  |
000102d0  20 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 4f  |      .. "Wimp_O|
000102e0  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 71 25 0d 4a  |penWindow",,q%.J|
000102f0  d2 29 20 20 20 20 20 20  20 20 6c 25 3d a9 28 a4  |.)        l%=.(.|
00010300  67 65 74 74 65 78 74 28  63 68 61 6e 67 65 70 61  |gettext(changepa|
00010310  73 73 25 2c 31 29 29 0d  4a da 3e 20 20 20 20 20  |ss%,1)).J.>     |
00010320  20 20 20 c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |   .. "Wimp_SetC|
00010330  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 63 68  |aretPosition",ch|
00010340  61 6e 67 65 70 61 73 73  25 2c 31 2c 30 2c 30 2c  |angepass%,1,0,0,|
00010350  2d 31 2c 6c 25 0d 4a e2  0b 20 20 20 20 20 20 cd  |-1,l%.J..      .|
00010360  0d 4a ea 09 20 20 20 20  cd 0d 4a f2 1b 20 20 c9  |.J..    ..J..  .|
00010370  20 26 31 39 32 3a 20 f2  6e 65 77 73 5f 64 69 73  | &192: .news_dis|
00010380  70 6c 61 79 0d 4a fa 0c  20 20 c9 20 26 31 39 33  |play.J..  . &193|
00010390  0d 4b 02 16 20 20 20 20  e7 20 6c 6f 67 67 65 64  |.K..    . logged|
000103a0  5f 6f 6e 25 20 8c 0d 4b  0a 29 20 20 20 20 20 20  |_on% ..K.)      |
000103b0  e7 20 28 70 6e 25 28 6c  6f 67 67 65 64 5f 6f 6e  |. (pn%(logged_on|
000103c0  25 29 20 80 20 28 31 3c  3c 31 31 29 29 20 8c 0d  |%) . (1<<11)) ..|
000103d0  4b 12 1e 20 20 20 20 20  20 20 20 f2 75 70 64 61  |K..        .upda|
000103e0  74 65 5f 73 61 76 65 5f  62 6f 78 65 73 0d 4b 1a  |te_save_boxes.K.|
000103f0  19 20 20 20 20 20 20 20  20 21 71 25 3d 73 61 76  |.        !q%=sav|
00010400  65 5f 6d 65 6d 25 0d 4b  22 27 20 20 20 20 20 20  |e_mem%.K"'      |
00010410  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |  .. "Wimp_GetWi|
00010420  6e 64 6f 77 49 6e 66 6f  22 2c 2c 71 25 0d 4b 2a  |ndowInfo",,q%.K*|
00010430  36 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |6        .. "Wim|
00010440  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 2c 2c 73  |p_CreateMenu",,s|
00010450  61 76 65 5f 6d 65 6d 25  2c 71 25 21 34 2c 71 25  |ave_mem%,q%!4,q%|
00010460  21 31 36 0d 4b 32 0b 20  20 20 20 20 20 cd 0d 4b  |!16.K2.      ..K|
00010470  3a 09 20 20 20 20 cd 0d  4b 42 0c 20 20 c9 20 26  |:.    ..KB.  . &|
00010480  31 39 34 0d 4b 4a 16 20  20 20 20 e7 20 6c 6f 67  |194.KJ.    . log|
00010490  67 65 64 5f 6f 6e 25 20  8c 0d 4b 52 28 20 20 20  |ged_on% ..KR(   |
000104a0  20 20 20 e7 20 28 70 6e  25 28 6c 6f 67 67 65 64  |   . (pn%(logged|
000104b0  5f 6f 6e 25 29 20 80 20  28 31 3c 3c 38 29 29 20  |_on%) . (1<<8)) |
000104c0  8c 0d 4b 5a 14 20 20 20  20 20 20 20 20 21 71 25  |..KZ.        !q%|
000104d0  3d 76 6d 71 25 0d 4b 62  28 20 20 20 20 20 20 20  |=vmq%.Kb(       |
000104e0  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
000104f0  64 6f 77 53 74 61 74 65  22 2c 2c 71 25 0d 4b 6a  |dowState",,q%.Kj|
00010500  14 20 20 20 20 20 20 20  20 71 25 21 32 38 3d 2d  |.        q%!28=-|
00010510  31 0d 4b 72 24 20 20 20  20 20 20 20 20 c8 99 20  |1.Kr$        .. |
00010520  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
00010530  22 2c 2c 71 25 0d 4b 7a  22 20 20 20 20 20 20 20  |",,q%.Kz"       |
00010540  20 6c 25 3d a9 28 a4 67  65 74 74 65 78 74 28 76  | l%=.(.gettext(v|
00010550  6d 71 25 2c 34 29 29 0d  4b 82 37 20 20 20 20 20  |mq%,4)).K.7     |
00010560  20 20 20 c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |   .. "Wimp_SetC|
00010570  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 76 6d  |aretPosition",vm|
00010580  71 25 2c 34 2c 30 2c 30  2c 2d 31 2c 6c 25 0d 4b  |q%,4,0,0,-1,l%.K|
00010590  8a 0b 20 20 20 20 20 20  cd 0d 4b 92 09 20 20 20  |..      ..K..   |
000105a0  20 cd 0d 4b 9a 0c 20 20  c9 20 26 31 39 35 0d 4b  | ..K..  . &195.K|
000105b0  a2 16 20 20 20 20 e7 20  6c 6f 67 67 65 64 5f 6f  |..    . logged_o|
000105c0  6e 25 20 8c 0d 4b aa 28  20 20 20 20 20 20 e7 20  |n% ..K.(      . |
000105d0  28 70 6e 25 28 6c 6f 67  67 65 64 5f 6f 6e 25 29  |(pn%(logged_on%)|
000105e0  20 80 20 28 31 3c 3c 32  29 29 20 8c 0d 4b b2 1a  | . (1<<2)) ..K..|
000105f0  20 20 20 20 20 20 20 20  21 71 25 3d 61 64 64 5f  |        !q%=add_|
00010600  73 74 6f 63 6b 25 0d 4b  ba 28 20 20 20 20 20 20  |stock%.K.(      |
00010610  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |  .. "Wimp_GetWi|
00010620  6e 64 6f 77 53 74 61 74  65 22 2c 2c 71 25 0d 4b  |ndowState",,q%.K|
00010630  c2 14 20 20 20 20 20 20  20 20 71 25 21 32 38 3d  |..        q%!28=|
00010640  2d 31 0d 4b ca 24 20 20  20 20 20 20 20 20 c8 99  |-1.K.$        ..|
00010650  20 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  | "Wimp_OpenWindo|
00010660  77 22 2c 2c 71 25 0d 4b  d2 28 20 20 20 20 20 20  |w",,q%.K.(      |
00010670  20 20 6c 25 3d a9 28 a4  67 65 74 74 65 78 74 28  |  l%=.(.gettext(|
00010680  61 64 64 5f 73 74 6f 63  6b 25 2c 32 29 29 0d 4b  |add_stock%,2)).K|
00010690  da 3d 20 20 20 20 20 20  20 20 c8 99 20 22 57 69  |.=        .. "Wi|
000106a0  6d 70 5f 53 65 74 43 61  72 65 74 50 6f 73 69 74  |mp_SetCaretPosit|
000106b0  69 6f 6e 22 2c 61 64 64  5f 73 74 6f 63 6b 25 2c  |ion",add_stock%,|
000106c0  32 2c 30 2c 30 2c 2d 31  2c 6c 25 0d 4b e2 0b 20  |2,0,0,-1,l%.K.. |
000106d0  20 20 20 20 20 cd 0d 4b  ea 09 20 20 20 20 cd 0d  |     ..K..    ..|
000106e0  4b f2 0c 20 20 c9 20 26  31 39 36 0d 4b fa 16 20  |K..  . &196.K.. |
000106f0  20 20 20 e7 20 6c 6f 67  67 65 64 5f 6f 6e 25 20  |   . logged_on% |
00010700  8c 0d 4c 02 28 20 20 20  20 20 20 e7 20 28 70 6e  |..L.(      . (pn|
00010710  25 28 6c 6f 67 67 65 64  5f 6f 6e 25 29 20 80 20  |%(logged_on%) . |
00010720  28 31 3c 3c 32 29 29 20  8c 0d 4c 0a 17 20 20 20  |(1<<2)) ..L..   |
00010730  20 20 20 20 20 21 71 25  3d 70 6f 63 6b 65 74 25  |     !q%=pocket%|
00010740  0d 4c 12 28 20 20 20 20  20 20 20 20 c8 99 20 22  |.L.(        .. "|
00010750  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00010760  61 74 65 22 2c 2c 71 25  0d 4c 1a 14 20 20 20 20  |ate",,q%.L..    |
00010770  20 20 20 20 71 25 21 32  38 3d 2d 31 0d 4c 22 24  |    q%!28=-1.L"$|
00010780  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
00010790  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 71 25  |_OpenWindow",,q%|
000107a0  0d 4c 2a 0b 20 20 20 20  20 20 cd 0d 4c 32 09 20  |.L*.      ..L2. |
000107b0  20 20 20 cd 0d 4c 3a 0c  20 20 c9 20 26 31 39 37  |   ..L:.  . &197|
000107c0  0d 4c 42 16 20 20 20 20  e7 20 6c 6f 67 67 65 64  |.LB.    . logged|
000107d0  5f 6f 6e 25 20 8c 0d 4c  4a 28 20 20 20 20 20 20  |_on% ..LJ(      |
000107e0  e7 20 28 70 6e 25 28 6c  6f 67 67 65 64 5f 6f 6e  |. (pn%(logged_on|
000107f0  25 29 20 80 20 28 31 3c  3c 33 29 29 20 8c 0d 4c  |%) . (1<<3)) ..L|
00010800  52 30 20 20 20 20 20 20  20 20 f2 70 75 74 5f 61  |R0        .put_a|
00010810  63 63 5f 75 70 28 22 52  65 6d 6f 76 65 20 53 74  |cc_up("Remove St|
00010820  6f 63 6b 22 2c 22 52 65  6d 6f 76 65 22 29 0d 4c  |ock","Remove").L|
00010830  5a 0b 20 20 20 20 20 20  cd 0d 4c 62 09 20 20 20  |Z.      ..Lb.   |
00010840  20 cd 0d 4c 6a 0c 20 20  c9 20 26 31 39 38 0d 4c  | ..Lj.  . &198.L|
00010850  72 16 20 20 20 20 e7 20  6c 6f 67 67 65 64 5f 6f  |r.    . logged_o|
00010860  6e 25 20 8c 0d 4c 7a 28  20 20 20 20 20 20 e7 20  |n% ..Lz(      . |
00010870  28 70 6e 25 28 6c 6f 67  67 65 64 5f 6f 6e 25 29  |(pn%(logged_on%)|
00010880  20 80 20 28 31 3c 3c 34  29 29 20 8c 0d 4c 82 2e  | . (1<<4)) ..L..|
00010890  20 20 20 20 20 20 20 20  f2 70 75 74 5f 61 63 63  |        .put_acc|
000108a0  5f 75 70 28 22 43 68 61  6e 67 65 20 53 74 6f 63  |_up("Change Stoc|
000108b0  6b 22 2c 22 46 69 6e 64  22 29 0d 4c 8a 0b 20 20  |k","Find").L..  |
000108c0  20 20 20 20 cd 0d 4c 92  09 20 20 20 20 cd 0d 4c  |    ..L..    ..L|
000108d0  9a 0c 20 20 c9 20 26 31  39 39 0d 4c a2 16 20 20  |..  . &199.L..  |
000108e0  20 20 e7 20 6c 6f 67 67  65 64 5f 6f 6e 25 20 8c  |  . logged_on% .|
000108f0  0d 4c aa 28 20 20 20 20  20 20 e7 20 28 70 6e 25  |.L.(      . (pn%|
00010900  28 6c 6f 67 67 65 64 5f  6f 6e 25 29 20 80 20 28  |(logged_on%) . (|
00010910  31 3c 3c 35 29 29 20 8c  0d 4c b2 19 20 20 20 20  |1<<5)) ..L..    |
00010920  20 20 20 20 21 71 25 3d  70 6f 63 6b 5f 6d 65 6d  |    !q%=pock_mem|
00010930  25 0d 4c ba 28 20 20 20  20 20 20 20 20 c8 99 20  |%.L.(        .. |
00010940  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00010950  74 61 74 65 22 2c 2c 71  25 0d 4c c2 14 20 20 20  |tate",,q%.L..   |
00010960  20 20 20 20 20 71 25 21  32 38 3d 2d 31 0d 4c ca  |     q%!28=-1.L.|
00010970  24 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |$        .. "Wim|
00010980  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 71  |p_OpenWindow",,q|
00010990  25 0d 4c d2 0b 20 20 20  20 20 20 cd 0d 4c da 09  |%.L..      ..L..|
000109a0  20 20 20 20 cd 0d 4c e2  0c 20 20 c9 20 26 31 41  |    ..L..  . &1A|
000109b0  31 0d 4c ea 14 20 20 20  20 21 71 25 3d 64 69 73  |1.L..    !q%=dis|
000109c0  70 6c 61 79 25 0d 4c f2  24 20 20 20 20 c8 99 20  |play%.L.$    .. |
000109d0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
000109e0  74 61 74 65 22 2c 2c 71  25 0d 4c fa 10 20 20 20  |tate",,q%.L..   |
000109f0  20 71 25 21 32 38 3d 2d  31 0d 4d 02 20 20 20 20  | q%!28=-1.M.    |
00010a00  20 c8 99 20 22 57 69 6d  70 5f 4f 70 65 6e 57 69  | .. "Wimp_OpenWi|
00010a10  6e 64 6f 77 22 2c 2c 71  25 0d 4d 0a 0c 20 20 c9  |ndow",,q%.M..  .|
00010a20  20 26 31 41 32 0d 4d 12  16 20 20 20 20 e7 20 6c  | &1A2.M..    . l|
00010a30  6f 67 67 65 64 5f 6f 6e  25 20 8c 0d 4d 1a 29 20  |ogged_on% ..M.) |
00010a40  20 20 20 20 20 e7 20 28  70 6e 25 28 6c 6f 67 67  |     . (pn%(logg|
00010a50  65 64 5f 6f 6e 25 29 20  80 20 28 31 3c 3c 31 30  |ed_on%) . (1<<10|
00010a60  29 29 20 8c 0d 4d 22 19  20 20 20 20 20 20 20 20  |)) ..M".        |
00010a70  21 71 25 3d 6e 65 77 73  5f 69 6d 70 25 0d 4d 2a  |!q%=news_imp%.M*|
00010a80  28 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |(        .. "Wim|
00010a90  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00010aa0  22 2c 2c 71 25 0d 4d 32  14 20 20 20 20 20 20 20  |",,q%.M2.       |
00010ab0  20 71 25 21 32 38 3d 2d  31 0d 4d 3a 24 20 20 20  | q%!28=-1.M:$   |
00010ac0  20 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 4f 70  |     .. "Wimp_Op|
00010ad0  65 6e 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 4d 42  |enWindow",,q%.MB|
00010ae0  0b 20 20 20 20 20 20 cd  0d 4d 4a 09 20 20 20 20  |.      ..MJ.    |
00010af0  cd 0d 4d 52 0c 20 20 c9  20 26 31 41 33 0d 4d 5a  |..MR.  . &1A3.MZ|
00010b00  16 20 20 20 20 e7 20 6c  6f 67 67 65 64 5f 6f 6e  |.    . logged_on|
00010b10  25 20 8c 0d 4d 62 27 20  20 20 20 20 20 e7 20 75  |% ..Mb'      . u|
00010b20  73 69 6e 67 5f 72 64 25  3d 31 20 84 20 75 73 69  |sing_rd%=1 . usi|
00010b30  6e 67 5f 72 64 25 3d 35  20 8c 0d 4d 6a 1a 20 20  |ng_rd%=5 ..Mj.  |
00010b40  20 20 20 20 20 20 21 71  25 3d 73 61 76 65 5f 74  |      !q%=save_t|
00010b50  65 78 74 25 0d 4d 72 27  20 20 20 20 20 20 20 20  |ext%.Mr'        |
00010b60  c8 99 20 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |.. "Wimp_GetWind|
00010b70  6f 77 49 6e 66 6f 22 2c  2c 71 25 0d 4d 7a 37 20  |owInfo",,q%.Mz7 |
00010b80  20 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |       .. "Wimp_|
00010b90  43 72 65 61 74 65 4d 65  6e 75 22 2c 2c 73 61 76  |CreateMenu",,sav|
00010ba0  65 5f 74 65 78 74 25 2c  71 25 21 34 2c 71 25 21  |e_text%,q%!4,q%!|
00010bb0  31 36 0d 4d 82 0b 20 20  20 20 20 20 cd 0d 4d 8a  |16.M..      ..M.|
00010bc0  09 20 20 20 20 cd 0d 4d  92 0c 20 20 c9 20 26 31  |.    ..M..  . &1|
00010bd0  41 35 0d 4d 9a 16 20 20  20 20 e7 20 6c 6f 67 67  |A5.M..    . logg|
00010be0  65 64 5f 6f 6e 25 20 8c  0d 4d a2 29 20 20 20 20  |ed_on% ..M.)    |
00010bf0  20 20 e7 20 28 70 6e 25  28 6c 6f 67 67 65 64 5f  |  . (pn%(logged_|
00010c00  6f 6e 25 29 20 80 20 28  31 3c 3c 31 33 29 29 20  |on%) . (1<<13)) |
00010c10  8c 0d 4d aa 16 20 20 20  20 20 20 20 20 e3 20 63  |..M..        . c|
00010c20  25 3d 30 20 b8 20 33 0d  4d b2 17 20 20 20 20 20  |%=0 . 3.M..     |
00010c30  20 20 20 65 63 25 28 30  2c 63 25 29 3d 30 0d 4d  |   ec%(0,c%)=0.M|
00010c40  ba 10 20 20 20 20 20 20  20 20 ed 20 63 25 0d 4d  |..        . c%.M|
00010c50  c2 20 20 20 20 20 20 20  20 20 f2 70 72 65 70 61  |.         .prepa|
00010c60  72 65 5f 65 78 70 6f 72  74 28 30 2c 31 29 0d 4d  |re_export(0,1).M|
00010c70  ca 0b 20 20 20 20 20 20  cd 0d 4d d2 09 20 20 20  |..      ..M..   |
00010c80  20 cd 0d 4d da 0c 20 20  c9 20 26 31 41 36 0d 4d  | ..M..  . &1A6.M|
00010c90  e2 16 20 20 20 20 e7 20  6c 6f 67 67 65 64 5f 6f  |..    . logged_o|
00010ca0  6e 25 20 8c 0d 4d ea 29  20 20 20 20 20 20 e7 20  |n% ..M.)      . |
00010cb0  28 70 6e 25 28 6c 6f 67  67 65 64 5f 6f 6e 25 29  |(pn%(logged_on%)|
00010cc0  20 80 20 28 31 3c 3c 31  33 29 29 20 8c 0d 4d f2  | . (1<<13)) ..M.|
00010cd0  16 20 20 20 20 20 20 20  20 e3 20 63 25 3d 30 20  |.        . c%=0 |
00010ce0  b8 20 33 0d 4d fa 17 20  20 20 20 20 20 20 20 65  |. 3.M..        e|
00010cf0  63 25 28 31 2c 63 25 29  3d 30 0d 4e 02 10 20 20  |c%(1,c%)=0.N..  |
00010d00  20 20 20 20 20 20 ed 20  63 25 0d 4e 0a 20 20 20  |      . c%.N.   |
00010d10  20 20 20 20 20 20 f2 70  72 65 70 61 72 65 5f 65  |      .prepare_e|
00010d20  78 70 6f 72 74 28 31 2c  31 29 0d 4e 12 0b 20 20  |xport(1,1).N..  |
00010d30  20 20 20 20 cd 0d 4e 1a  09 20 20 20 20 cd 0d 4e  |    ..N..    ..N|
00010d40  22 0c 20 20 c9 20 26 31  42 33 0d 4e 2a 16 20 20  |".  . &1B3.N*.  |
00010d50  20 20 e7 20 6c 6f 67 67  65 64 5f 6f 6e 25 20 8c  |  . logged_on% .|
00010d60  0d 4e 32 27 20 20 20 20  20 20 e7 20 75 73 69 6e  |.N2'      . usin|
00010d70  67 5f 72 64 25 3d 31 20  84 20 75 73 69 6e 67 5f  |g_rd%=1 . using_|
00010d80  72 64 25 3d 35 20 8c 0d  4e 3a 19 20 20 20 20 20  |rd%=5 ..N:.     |
00010d90  20 20 20 21 71 25 3d 73  61 76 65 5f 63 73 76 25  |   !q%=save_csv%|
00010da0  0d 4e 42 27 20 20 20 20  20 20 20 20 c8 99 20 22  |.NB'        .. "|
00010db0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 49 6e  |Wimp_GetWindowIn|
00010dc0  66 6f 22 2c 2c 71 25 0d  4e 4a 36 20 20 20 20 20  |fo",,q%.NJ6     |
00010dd0  20 20 20 c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |   .. "Wimp_Crea|
00010de0  74 65 4d 65 6e 75 22 2c  2c 73 61 76 65 5f 63 73  |teMenu",,save_cs|
00010df0  76 25 2c 71 25 21 34 2c  71 25 21 31 36 0d 4e 52  |v%,q%!4,q%!16.NR|
00010e00  0b 20 20 20 20 20 20 cd  0d 4e 5a 09 20 20 20 20  |.      ..NZ.    |
00010e10  cd 0d 4e 62 0c 20 20 c9  20 26 31 43 41 0d 4e 6a  |..Nb.  . &1CA.Nj|
00010e20  16 20 20 20 20 e7 20 6c  6f 67 67 65 64 5f 6f 6e  |.    . logged_on|
00010e30  25 20 8c 0d 4e 72 28 20  20 20 20 20 20 e7 20 28  |% ..Nr(      . (|
00010e40  70 6e 25 28 6c 6f 67 67  65 64 5f 6f 6e 25 29 20  |pn%(logged_on%) |
00010e50  80 20 28 31 3c 3c 36 29  29 20 8c 0d 4e 7a 28 20  |. (1<<6)) ..Nz( |
00010e60  20 20 20 20 20 20 20 f2  70 75 74 5f 6d 65 6d 5f  |       .put_mem_|
00010e70  75 70 28 22 52 65 6d 6f  76 65 20 4d 65 6d 62 65  |up("Remove Membe|
00010e80  72 22 29 0d 4e 82 0b 20  20 20 20 20 20 cd 0d 4e  |r").N..      ..N|
00010e90  8a 09 20 20 20 20 cd 0d  4e 92 0c 20 20 c9 20 26  |..    ..N..  . &|
00010ea0  31 43 42 0d 4e 9a 16 20  20 20 20 e7 20 6c 6f 67  |1CB.N..    . log|
00010eb0  67 65 64 5f 6f 6e 25 20  8c 0d 4e a2 28 20 20 20  |ged_on% ..N.(   |
00010ec0  20 20 20 e7 20 28 70 6e  25 28 6c 6f 67 67 65 64  |   . (pn%(logged|
00010ed0  5f 6f 6e 25 29 20 80 20  28 31 3c 3c 37 29 29 20  |_on%) . (1<<7)) |
00010ee0  8c 0d 4e aa 28 20 20 20  20 20 20 20 20 f2 70 75  |..N.(        .pu|
00010ef0  74 5f 6d 65 6d 5f 75 70  28 22 43 68 61 6e 67 65  |t_mem_up("Change|
00010f00  20 4d 65 6d 62 65 72 22  29 0d 4e b2 0b 20 20 20  | Member").N..   |
00010f10  20 20 20 cd 0d 4e ba 09  20 20 20 20 cd 0d 4e c2  |   ..N..    ..N.|
00010f20  0c 20 20 c9 20 26 31 44  41 0d 4e ca 16 20 20 20  |.  . &1DA.N..   |
00010f30  20 e7 20 6c 6f 67 67 65  64 5f 6f 6e 25 20 8c 0d  | . logged_on% ..|
00010f40  4e d2 29 20 20 20 20 20  20 e7 20 28 70 6e 25 28  |N.)      . (pn%(|
00010f50  6c 6f 67 67 65 64 5f 6f  6e 25 29 20 80 20 28 31  |logged_on%) . (1|
00010f60  3c 3c 31 33 29 29 20 8c  0d 4e da 16 20 20 20 20  |<<13)) ..N..    |
00010f70  20 20 20 20 e3 20 63 25  3d 30 20 b8 20 33 0d 4e  |    . c%=0 . 3.N|
00010f80  e2 1d 20 20 20 20 20 20  20 20 65 63 25 28 32 2c  |..        ec%(2,|
00010f90  63 25 29 3d 94 28 63 25  3d 33 29 0d 4e ea 10 20  |c%)=.(c%=3).N.. |
00010fa0  20 20 20 20 20 20 20 ed  20 63 25 0d 4e f2 20 20  |       . c%.N.  |
00010fb0  20 20 20 20 20 20 20 f2  70 72 65 70 61 72 65 5f  |       .prepare_|
00010fc0  65 78 70 6f 72 74 28 32  2c 31 29 0d 4e fa 0b 20  |export(2,1).N.. |
00010fd0  20 20 20 20 20 cd 0d 4f  02 09 20 20 20 20 cd 0d  |     ..O..    ..|
00010fe0  4f 0a 0c 20 20 c9 20 26  31 44 42 0d 4f 12 16 20  |O..  . &1DB.O.. |
00010ff0  20 20 20 e7 20 6c 6f 67  67 65 64 5f 6f 6e 25 20  |   . logged_on% |
00011000  8c 0d 4f 1a 29 20 20 20  20 20 20 e7 20 28 70 6e  |..O.)      . (pn|
00011010  25 28 6c 6f 67 67 65 64  5f 6f 6e 25 29 20 80 20  |%(logged_on%) . |
00011020  28 31 3c 3c 31 33 29 29  20 8c 0d 4f 22 16 20 20  |(1<<13)) ..O".  |
00011030  20 20 20 20 20 20 e3 20  63 25 3d 30 20 b8 20 33  |      . c%=0 . 3|
00011040  0d 4f 2a 1d 20 20 20 20  20 20 20 20 65 63 25 28  |.O*.        ec%(|
00011050  33 2c 63 25 29 3d 94 28  63 25 3d 33 29 0d 4f 32  |3,c%)=.(c%=3).O2|
00011060  10 20 20 20 20 20 20 20  20 ed 20 63 25 0d 4f 3a  |.        . c%.O:|
00011070  20 20 20 20 20 20 20 20  20 f2 70 72 65 70 61 72  |         .prepar|
00011080  65 5f 65 78 70 6f 72 74  28 33 2c 31 29 0d 4f 42  |e_export(3,1).OB|
00011090  0b 20 20 20 20 20 20 cd  0d 4f 4a 09 20 20 20 20  |.      ..OJ.    |
000110a0  cd 0d 4f 52 0a 20 20 c9  20 31 33 0d 4f 5a 11 20  |..OR.  . 13.OZ. |
000110b0  20 20 20 c8 8e 20 77 69  6e 25 20 ca 0d 4f 62 13  |   .. win% ..Ob.|
000110c0  20 20 20 20 20 20 c9 20  73 65 61 72 63 68 25 0d  |      . search%.|
000110d0  4f 6a 17 20 20 20 20 20  20 20 20 e7 20 69 63 6f  |Oj.        . ico|
000110e0  25 3d 31 31 20 8c 0d 4f  72 20 20 20 20 20 20 20  |%=11 ..Or       |
000110f0  20 20 20 20 f2 78 6f 72  28 73 65 61 72 63 68 25  |    .xor(search%|
00011100  2c 31 32 2c 32 29 0d 4f  7a 15 20 20 20 20 20 20  |,12,2).Oz.      |
00011110  20 20 20 20 f2 73 65 61  72 63 68 0d 4f 82 0d 20  |    .search.O.. |
00011120  20 20 20 20 20 20 20 cd  0d 4f 8a 12 20 20 20 20  |       ..O..    |
00011130  20 20 c9 20 6c 6f 67 6f  6e 25 0d 4f 92 16 20 20  |  . logon%.O..  |
00011140  20 20 20 20 20 20 e7 20  69 63 6f 25 3d 31 20 8c  |      . ico%=1 .|
00011150  0d 4f 9a 1e 20 20 20 20  20 20 20 20 20 20 f2 78  |.O..          .x|
00011160  6f 72 28 6c 6f 67 6f 6e  25 2c 32 2c 32 29 0d 4f  |or(logon%,2,2).O|
00011170  a2 15 20 20 20 20 20 20  20 20 20 20 f2 6c 6f 67  |..          .log|
00011180  5f 6f 6e 0d 4f aa 0d 20  20 20 20 20 20 20 20 cd  |_on.O..        .|
00011190  0d 4f b2 17 20 20 20 20  20 20 c9 20 63 68 61 6e  |.O..      . chan|
000111a0  67 65 70 61 73 73 25 0d  4f ba 15 20 20 20 20 20  |gepass%.O..     |
000111b0  20 20 20 c8 8e 20 69 63  6f 25 20 ca 0d 4f c2 11  |   .. ico% ..O..|
000111c0  20 20 20 20 20 20 20 20  20 20 c9 20 31 0d 4f ca  |          . 1.O.|
000111d0  2d 20 20 20 20 20 20 20  20 20 20 20 20 6c 25 3d  |-            l%=|
000111e0  a9 28 a4 67 65 74 74 65  78 74 28 63 68 61 6e 67  |.(.gettext(chang|
000111f0  65 70 61 73 73 25 2c 33  29 29 0d 4f d2 42 20 20  |epass%,3)).O.B  |
00011200  20 20 20 20 20 20 20 20  20 20 c8 99 20 22 57 69  |          .. "Wi|
00011210  6d 70 5f 53 65 74 43 61  72 65 74 50 6f 73 69 74  |mp_SetCaretPosit|
00011220  69 6f 6e 22 2c 63 68 61  6e 67 65 70 61 73 73 25  |ion",changepass%|
00011230  2c 33 2c 30 2c 30 2c 2d  31 2c 6c 25 0d 4f da 11  |,3,0,0,-1,l%.O..|
00011240  20 20 20 20 20 20 20 20  20 20 c9 20 33 0d 4f e2  |          . 3.O.|
00011250  25 20 20 20 20 20 20 20  20 20 20 20 20 f2 78 6f  |%            .xo|
00011260  72 28 63 68 61 6e 67 65  70 61 73 73 25 2c 34 2c  |r(changepass%,4,|
00011270  32 29 0d 4f ea 19 20 20  20 20 20 20 20 20 20 20  |2).O..          |
00011280  20 20 f2 70 61 73 73 5f  61 6c 74 0d 4f f2 0d 20  |  .pass_alt.O.. |
00011290  20 20 20 20 20 20 20 cb  0d 4f fa 12 20 20 20 20  |       ..O..    |
000112a0  20 20 c9 20 69 73 73 75  65 25 0d 50 02 15 20 20  |  . issue%.P..  |
000112b0  20 20 20 20 20 20 c8 8e  20 69 63 6f 25 20 ca 0d  |      .. ico% ..|
000112c0  50 0a 11 20 20 20 20 20  20 20 20 20 20 c9 20 31  |P..          . 1|
000112d0  0d 50 12 28 20 20 20 20  20 20 20 20 20 20 20 20  |.P.(            |
000112e0  6c 25 3d a9 28 a4 67 65  74 74 65 78 74 28 69 73  |l%=.(.gettext(is|
000112f0  73 75 65 25 2c 33 29 29  0d 50 1a 3d 20 20 20 20  |sue%,3)).P.=    |
00011300  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
00011310  5f 53 65 74 43 61 72 65  74 50 6f 73 69 74 69 6f  |_SetCaretPositio|
00011320  6e 22 2c 69 73 73 75 65  25 2c 33 2c 30 2c 30 2c  |n",issue%,3,0,0,|
00011330  2d 31 2c 6c 25 0d 50 22  11 20 20 20 20 20 20 20  |-1,l%.P".       |
00011340  20 20 20 c9 20 33 0d 50  2a 20 20 20 20 20 20 20  |   . 3.P*       |
00011350  20 20 20 20 20 20 f2 78  6f 72 28 69 73 73 75 65  |      .xor(issue|
00011360  25 2c 38 2c 32 29 0d 50  32 1a 20 20 20 20 20 20  |%,8,2).P2.      |
00011370  20 20 20 20 20 20 f2 69  73 73 75 65 62 6f 6f 6b  |      .issuebook|
00011380  0d 50 3a 0d 20 20 20 20  20 20 20 20 cb 0d 50 42  |.P:.        ..PB|
00011390  12 20 20 20 20 20 20 c9  20 72 65 6e 65 77 25 0d  |.      . renew%.|
000113a0  50 4a 16 20 20 20 20 20  20 20 20 e7 20 69 63 6f  |PJ.        . ico|
000113b0  25 3d 31 20 8c 0d 50 52  1e 20 20 20 20 20 20 20  |%=1 ..PR.       |
000113c0  20 20 20 f2 78 6f 72 28  72 65 6e 65 77 25 2c 39  |   .xor(renew%,9|
000113d0  2c 32 29 0d 50 5a 17 20  20 20 20 20 20 20 20 20  |,2).PZ.         |
000113e0  20 f2 72 65 6e 65 77 28  a3 29 0d 50 62 0d 20 20  | .renew(.).Pb.  |
000113f0  20 20 20 20 20 20 cd 0d  50 6a 16 20 20 20 20 20  |      ..Pj.     |
00011400  20 c9 20 61 64 64 5f 73  74 6f 63 6b 25 0d 50 72  | . add_stock%.Pr|
00011410  15 20 20 20 20 20 20 20  20 c8 8e 20 69 63 6f 25  |.        .. ico%|
00011420  20 ca 0d 50 7a 15 20 20  20 20 20 20 20 20 20 20  | ..Pz.          |
00011430  c9 20 32 2c 34 2c 36 0d  50 82 24 20 20 20 20 20  |. 2,4,6.P.$     |
00011440  20 20 20 20 20 20 20 6e  69 25 3d 69 63 6f 25 2b  |       ni%=ico%+|
00011450  32 2b 94 28 69 63 6f 25  3d 36 29 0d 50 8a 2e 20  |2+.(ico%=6).P.. |
00011460  20 20 20 20 20 20 20 20  20 20 20 6c 25 3d a9 28  |           l%=.(|
00011470  a4 67 65 74 74 65 78 74  28 61 64 64 5f 73 74 6f  |.gettext(add_sto|
00011480  63 6b 25 2c 6e 69 25 29  29 0d 50 92 43 20 20 20  |ck%,ni%)).P.C   |
00011490  20 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |         .. "Wim|
000114a0  70 5f 53 65 74 43 61 72  65 74 50 6f 73 69 74 69  |p_SetCaretPositi|
000114b0  6f 6e 22 2c 61 64 64 5f  73 74 6f 63 6b 25 2c 6e  |on",add_stock%,n|
000114c0  69 25 2c 30 2c 30 2c 2d  31 2c 6c 25 0d 50 9a 12  |i%,0,0,-1,l%.P..|
000114d0  20 20 20 20 20 20 20 20  20 20 c9 20 31 31 0d 50  |          . 11.P|
000114e0  a2 25 20 20 20 20 20 20  20 20 20 20 20 20 f2 78  |.%            .x|
000114f0  6f 72 28 61 64 64 5f 73  74 6f 63 6b 25 2c 31 30  |or(add_stock%,10|
00011500  2c 32 29 0d 50 aa 19 20  20 20 20 20 20 20 20 20  |,2).P..         |
00011510  20 20 20 f2 6e 65 77 5f  62 6f 6f 6b 0d 50 b2 0d  |   .new_book.P..|
00011520  20 20 20 20 20 20 20 20  cb 0d 50 ba 19 20 20 20  |        ..P..   |
00011530  20 20 20 c9 20 63 68 61  6e 67 65 5f 73 74 6f 63  |   . change_stoc|
00011540  6b 25 0d 50 c2 15 20 20  20 20 20 20 20 20 c8 8e  |k%.P..        ..|
00011550  20 69 63 6f 25 20 ca 0d  50 ca 15 20 20 20 20 20  | ico% ..P..     |
00011560  20 20 20 20 20 c9 20 32  2c 34 2c 36 0d 50 d2 24  |     . 2,4,6.P.$|
00011570  20 20 20 20 20 20 20 20  20 20 20 20 6e 69 25 3d  |            ni%=|
00011580  69 63 6f 25 2b 32 2b 94  28 69 63 6f 25 3d 36 29  |ico%+2+.(ico%=6)|
00011590  0d 50 da 31 20 20 20 20  20 20 20 20 20 20 20 20  |.P.1            |
000115a0  6c 25 3d a9 28 a4 67 65  74 74 65 78 74 28 63 68  |l%=.(.gettext(ch|
000115b0  61 6e 67 65 5f 73 74 6f  63 6b 25 2c 6e 69 25 29  |ange_stock%,ni%)|
000115c0  29 0d 50 e2 46 20 20 20  20 20 20 20 20 20 20 20  |).P.F           |
000115d0  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 43 61 72  | .. "Wimp_SetCar|
000115e0  65 74 50 6f 73 69 74 69  6f 6e 22 2c 63 68 61 6e  |etPosition",chan|
000115f0  67 65 5f 73 74 6f 63 6b  25 2c 6e 69 25 2c 30 2c  |ge_stock%,ni%,0,|
00011600  30 2c 2d 31 2c 6c 25 0d  50 ea 11 20 20 20 20 20  |0,-1,l%.P..     |
00011610  20 20 20 20 20 c9 20 39  0d 50 f2 28 20 20 20 20  |     . 9.P.(    |
00011620  20 20 20 20 20 20 20 20  f2 78 6f 72 28 63 68 61  |        .xor(cha|
00011630  6e 67 65 5f 73 74 6f 63  6b 25 2c 31 30 2c 32 29  |nge_stock%,10,2)|
00011640  0d 50 fa 20 20 20 20 20  20 20 20 20 20 20 20 20  |.P.             |
00011650  f2 63 68 61 6e 67 65 5f  73 74 6f 63 6b 5f 67 6f  |.change_stock_go|
00011660  0d 51 02 0d 20 20 20 20  20 20 20 20 cb 0d 51 0a  |.Q..        ..Q.|
00011670  13 20 20 20 20 20 20 c9  20 6e 65 77 6d 65 6d 25  |.      . newmem%|
00011680  0d 51 12 23 20 20 20 20  20 20 20 20 e7 20 69 63  |.Q.#        . ic|
00011690  6f 25 3e 3d 31 34 20 80  20 69 63 6f 25 3c 3d 32  |o%>=14 . ico%<=2|
000116a0  31 20 8c 0d 51 1a 28 20  20 20 20 20 20 20 20 20  |1 ..Q.(         |
000116b0  20 6e 69 25 3d 69 63 6f  25 2b 31 2b 28 31 20 80  | ni%=ico%+1+(1 .|
000116c0  20 28 69 63 6f 25 3d 31  35 29 29 0d 51 22 29 20  | (ico%=15)).Q") |
000116d0  20 20 20 20 20 20 20 20  20 6c 25 3d a9 28 a4 67  |         l%=.(.g|
000116e0  65 74 74 65 78 74 28 6e  65 77 6d 65 6d 25 2c 6e  |ettext(newmem%,n|
000116f0  69 25 29 29 0d 51 2a 3e  20 20 20 20 20 20 20 20  |i%)).Q*>        |
00011700  20 20 c8 99 20 22 57 69  6d 70 5f 53 65 74 43 61  |  .. "Wimp_SetCa|
00011710  72 65 74 50 6f 73 69 74  69 6f 6e 22 2c 6e 65 77  |retPosition",new|
00011720  6d 65 6d 25 2c 6e 69 25  2c 30 2c 30 2c 2d 31 2c  |mem%,ni%,0,0,-1,|
00011730  6c 25 0d 51 32 0d 20 20  20 20 20 20 20 20 cd 0d  |l%.Q2.        ..|
00011740  51 3a 17 20 20 20 20 20  20 20 20 e7 20 69 63 6f  |Q:.        . ico|
00011750  25 3d 32 32 20 8c 0d 51  42 20 20 20 20 20 20 20  |%=22 ..QB       |
00011760  20 20 20 20 f2 78 6f 72  28 6e 65 77 6d 65 6d 25  |    .xor(newmem%|
00011770  2c 33 36 2c 32 29 0d 51  4a 18 20 20 20 20 20 20  |,36,2).QJ.      |
00011780  20 20 20 20 f2 66 69 6e  5f 6e 6d 28 30 29 0d 51  |    .fin_nm(0).Q|
00011790  52 0d 20 20 20 20 20 20  20 20 cd 0d 51 5a 10 20  |R.        ..QZ. |
000117a0  20 20 20 20 20 c9 20 76  6d 71 25 0d 51 62 15 20  |     . vmq%.Qb. |
000117b0  20 20 20 20 20 20 20 c8  8e 20 69 63 6f 25 20 ca  |       .. ico% .|
000117c0  0d 51 6a 11 20 20 20 20  20 20 20 20 20 20 c9 20  |.Qj.          . |
000117d0  34 0d 51 72 26 20 20 20  20 20 20 20 20 20 20 20  |4.Qr&           |
000117e0  20 6c 25 3d a9 28 a4 67  65 74 74 65 78 74 28 76  | l%=.(.gettext(v|
000117f0  6d 71 25 2c 38 29 29 0d  51 7a 3b 20 20 20 20 20  |mq%,8)).Qz;     |
00011800  20 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |       .. "Wimp_|
00011810  53 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |SetCaretPosition|
00011820  22 2c 76 6d 71 25 2c 38  2c 30 2c 30 2c 2d 31 2c  |",vmq%,8,0,0,-1,|
00011830  6c 25 0d 51 82 11 20 20  20 20 20 20 20 20 20 20  |l%.Q..          |
00011840  c9 20 38 0d 51 8a 1f 20  20 20 20 20 20 20 20 20  |. 8.Q..         |
00011850  20 20 20 f2 78 6f 72 28  76 6d 71 25 2c 32 30 2c  |   .xor(vmq%,20,|
00011860  32 29 0d 51 92 1c 20 20  20 20 20 20 20 20 20 20  |2).Q..          |
00011870  20 20 f2 76 69 65 77 5f  6d 65 6d 62 65 72 0d 51  |  .view_member.Q|
00011880  9a 0d 20 20 20 20 20 20  20 20 cb 0d 51 a2 16 20  |..        ..Q.. |
00011890  20 20 20 20 20 c9 20 61  63 63 6e 5f 6f 6e 6c 79  |     . accn_only|
000118a0  25 0d 51 aa 16 20 20 20  20 20 20 20 20 e7 20 69  |%.Q..        . i|
000118b0  63 6f 25 3d 31 20 8c 0d  51 b2 22 20 20 20 20 20  |co%=1 ..Q."     |
000118c0  20 20 20 20 20 f2 78 6f  72 28 61 63 63 6e 5f 6f  |     .xor(accn_o|
000118d0  6e 6c 79 25 2c 32 2c 32  29 0d 51 ba 19 20 20 20  |nly%,2,2).Q..   |
000118e0  20 20 20 20 20 20 20 f2  61 63 63 6e 5f 6f 5f 66  |       .accn_o_f|
000118f0  69 6e 0d 51 c2 0d 20 20  20 20 20 20 20 20 cd 0d  |in.Q..        ..|
00011900  51 ca 15 20 20 20 20 20  20 c9 20 6d 65 6d 5f 6f  |Q..      . mem_o|
00011910  6e 6c 79 25 0d 51 d2 16  20 20 20 20 20 20 20 20  |nly%.Q..        |
00011920  e7 20 69 63 6f 25 3d 31  20 8c 0d 51 da 21 20 20  |. ico%=1 ..Q.!  |
00011930  20 20 20 20 20 20 20 20  f2 78 6f 72 28 6d 65 6d  |        .xor(mem|
00011940  5f 6f 6e 6c 79 25 2c 32  2c 32 29 0d 51 e2 18 20  |_only%,2,2).Q.. |
00011950  20 20 20 20 20 20 20 20  20 f2 6d 65 6d 5f 6f 5f  |         .mem_o_|
00011960  66 69 6e 0d 51 ea 0d 20  20 20 20 20 20 20 20 cd  |fin.Q..        .|
00011970  0d 51 f2 14 20 20 20 20  20 20 c9 20 6f 70 74 6c  |.Q..      . optl|
00011980  65 6e 64 25 0d 51 fa 15  20 20 20 20 20 20 20 20  |end%.Q..        |
00011990  c8 8e 20 69 63 6f 25 20  ca 0d 52 02 11 20 20 20  |.. ico% ..R..   |
000119a0  20 20 20 20 20 20 20 c9  20 35 0d 52 0a 2a 20 20  |       . 5.R.*  |
000119b0  20 20 20 20 20 20 20 20  20 20 6c 25 3d a9 28 a4  |          l%=.(.|
000119c0  67 65 74 74 65 78 74 28  6f 70 74 6c 65 6e 64 25  |gettext(optlend%|
000119d0  2c 36 29 29 0d 52 12 3f  20 20 20 20 20 20 20 20  |,6)).R.?        |
000119e0  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 53 65 74  |    .. "Wimp_Set|
000119f0  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 6f  |CaretPosition",o|
00011a00  70 74 6c 65 6e 64 25 2c  36 2c 30 2c 30 2c 2d 31  |ptlend%,6,0,0,-1|
00011a10  2c 6c 25 0d 52 1a 11 20  20 20 20 20 20 20 20 20  |,l%.R..         |
00011a20  20 c9 20 36 0d 52 22 2b  20 20 20 20 20 20 20 20  | . 6.R"+        |
00011a30  20 20 20 20 6c 25 3d a9  28 a4 67 65 74 74 65 78  |    l%=.(.gettex|
00011a40  74 28 6f 70 74 6c 65 6e  64 25 2c 31 33 29 29 0d  |t(optlend%,13)).|
00011a50  52 2a 40 20 20 20 20 20  20 20 20 20 20 20 20 c8  |R*@            .|
00011a60  99 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |. "Wimp_SetCaret|
00011a70  50 6f 73 69 74 69 6f 6e  22 2c 6f 70 74 6c 65 6e  |Position",optlen|
00011a80  64 25 2c 31 33 2c 30 2c  30 2c 2d 31 2c 6c 25 0d  |d%,13,0,0,-1,l%.|
00011a90  52 32 15 20 20 20 20 20  20 20 20 20 20 c9 20 31  |R2.          . 1|
00011aa0  33 2c 31 34 0d 52 3a 2f  20 20 20 20 20 20 20 20  |3,14.R:/        |
00011ab0  20 20 20 20 6c 25 3d a9  28 a4 67 65 74 74 65 78  |    l%=.(.gettex|
00011ac0  74 28 6f 70 74 6c 65 6e  64 25 2c 69 63 6f 25 2b  |t(optlend%,ico%+|
00011ad0  31 29 29 0d 52 42 44 20  20 20 20 20 20 20 20 20  |1)).RBD         |
00011ae0  20 20 20 c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |   .. "Wimp_SetC|
00011af0  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 6f 70  |aretPosition",op|
00011b00  74 6c 65 6e 64 25 2c 69  63 6f 25 2b 31 2c 30 2c  |tlend%,ico%+1,0,|
00011b10  30 2c 2d 31 2c 6c 25 0d  52 4a 12 20 20 20 20 20  |0,-1,l%.RJ.     |
00011b20  20 20 20 20 20 c9 20 31  35 0d 52 52 22 20 20 20  |     . 15.RR"   |
00011b30  20 20 20 20 20 20 20 20  20 f2 78 6f 72 28 6f 70  |         .xor(op|
00011b40  74 6c 65 6e 64 25 2c 34  2c 32 29 0d 52 5a 1a 20  |tlend%,4,2).RZ. |
00011b50  20 20 20 20 20 20 20 20  20 20 20 f2 75 70 5f 6f  |           .up_o|
00011b60  5f 6c 65 6e 64 0d 52 62  0d 20 20 20 20 20 20 20  |_lend.Rb.       |
00011b70  20 cb 0d 52 6a 12 20 20  20 20 20 20 c9 20 6f 70  | ..Rj.      . op|
00011b80  74 70 63 25 0d 52 72 20  20 20 20 20 20 20 20 20  |tpc%.Rr         |
00011b90  e7 20 69 63 6f 25 3d 35  20 84 20 69 63 6f 25 3d  |. ico%=5 . ico%=|
00011ba0  33 32 20 8c 0d 52 7a 1e  20 20 20 20 20 20 20 20  |32 ..Rz.        |
00011bb0  20 20 6e 69 25 3d 94 28  69 63 6f 25 2d 33 32 29  |  ni%=.(ico%-32)|
00011bc0  2b 35 0d 52 82 26 20 20  20 20 20 20 20 20 20 20  |+5.R.&          |
00011bd0  6c 25 3d a9 28 a4 67 65  74 74 65 78 74 28 77 69  |l%=.(.gettext(wi|
00011be0  6e 25 2c 6e 69 25 29 29  0d 52 8a 3d 20 20 20 20  |n%,ni%)).R.=    |
00011bf0  20 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 53  |      .. "Wimp_S|
00011c00  65 74 43 61 72 65 74 50  6f 73 69 74 69 6f 6e 22  |etCaretPosition"|
00011c10  2c 6f 70 74 70 63 25 2c  6e 69 25 2c 30 2c 30 2c  |,optpc%,ni%,0,0,|
00011c20  2d 31 2c 6c 25 0d 52 92  0d 20 20 20 20 20 20 20  |-1,l%.R..       |
00011c30  20 cd 0d 52 9a 16 20 20  20 20 20 20 c9 20 6f 70  | ..R..      . op|
00011c40  74 5f 66 69 6e 65 73 25  0d 52 a2 12 20 20 20 20  |t_fines%.R..    |
00011c50  20 20 20 20 6e 69 25 3d  2d 31 0d 52 aa 1d 20 20  |    ni%=-1.R..  |
00011c60  20 20 20 20 20 20 e7 20  69 63 6f 25 3d 31 20 8c  |      . ico%=1 .|
00011c70  20 6e 69 25 3d 32 35 0d  52 b2 2e 20 20 20 20 20  | ni%=25.R..     |
00011c80  20 20 20 e7 20 69 63 6f  25 3e 3d 32 35 20 80 20  |   . ico%>=25 . |
00011c90  69 63 6f 25 3c 3d 33 35  20 8c 20 6e 69 25 3d 69  |ico%<=35 . ni%=i|
00011ca0  63 6f 25 2b 31 0d 52 ba  17 20 20 20 20 20 20 20  |co%+1.R..       |
00011cb0  20 e7 20 69 63 6f 25 3d  33 36 20 8c 0d 52 c2 23  | . ico%=36 ..R.#|
00011cc0  20 20 20 20 20 20 20 20  20 20 f2 78 6f 72 28 6f  |          .xor(o|
00011cd0  70 74 5f 66 69 6e 65 73  25 2c 34 30 2c 32 29 0d  |pt_fines%,40,2).|
00011ce0  52 ca 19 20 20 20 20 20  20 20 20 20 20 f2 73 61  |R..          .sa|
00011cf0  76 65 5f 66 69 6e 65 73  0d 52 d2 0d 20 20 20 20  |ve_fines.R..    |
00011d00  20 20 20 20 cc 0d 52 da  2c 20 20 20 20 20 20 20  |    ..R.,       |
00011d10  20 20 20 6c 25 3d a9 28  a4 67 65 74 74 65 78 74  |   l%=.(.gettext|
00011d20  28 6f 70 74 5f 66 69 6e  65 73 25 2c 6e 69 25 29  |(opt_fines%,ni%)|
00011d30  29 0d 52 e2 41 20 20 20  20 20 20 20 20 20 20 c8  |).R.A          .|
00011d40  99 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |. "Wimp_SetCaret|
00011d50  50 6f 73 69 74 69 6f 6e  22 2c 6f 70 74 5f 66 69  |Position",opt_fi|
00011d60  6e 65 73 25 2c 6e 69 25  2c 30 2c 30 2c 2d 31 2c  |nes%,ni%,0,0,-1,|
00011d70  6c 25 0d 52 ea 0d 20 20  20 20 20 20 20 20 cd 0d  |l%.R..        ..|
00011d80  52 f2 16 20 20 20 20 20  20 c9 20 63 68 61 6e 67  |R..      . chang|
00011d90  65 6d 65 6d 25 0d 52 fa  12 20 20 20 20 20 20 20  |emem%.R..       |
00011da0  20 6e 69 25 3d 2d 31 0d  53 02 2d 20 20 20 20 20  | ni%=-1.S.-     |
00011db0  20 20 20 e7 20 69 63 6f  25 3e 3d 35 20 80 20 69  |   . ico%>=5 . i|
00011dc0  63 6f 25 3c 3d 31 33 20  8c 20 6e 69 25 3d 69 63  |co%<=13 . ni%=ic|
00011dd0  6f 25 2b 31 0d 53 0a 17  20 20 20 20 20 20 20 20  |o%+1.S..        |
00011de0  e7 20 69 63 6f 25 3d 31  34 20 8c 0d 53 12 23 20  |. ico%=14 ..S.# |
00011df0  20 20 20 20 20 20 20 20  20 f2 78 6f 72 28 63 68  |         .xor(ch|
00011e00  61 6e 67 65 6d 65 6d 25  2c 32 36 2c 32 29 0d 53  |angemem%,26,2).S|
00011e10  1a 1a 20 20 20 20 20 20  20 20 20 20 f2 73 61 76  |..          .sav|
00011e20  65 5f 63 68 5f 6d 65 6d  0d 53 22 0d 20 20 20 20  |e_ch_mem.S".    |
00011e30  20 20 20 20 cc 0d 53 2a  2c 20 20 20 20 20 20 20  |    ..S*,       |
00011e40  20 20 20 6c 25 3d a9 28  a4 67 65 74 74 65 78 74  |   l%=.(.gettext|
00011e50  28 63 68 61 6e 67 65 6d  65 6d 25 2c 6e 69 25 29  |(changemem%,ni%)|
00011e60  29 0d 53 32 41 20 20 20  20 20 20 20 20 20 20 c8  |).S2A          .|
00011e70  99 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |. "Wimp_SetCaret|
00011e80  50 6f 73 69 74 69 6f 6e  22 2c 63 68 61 6e 67 65  |Position",change|
00011e90  6d 65 6d 25 2c 6e 69 25  2c 30 2c 30 2c 2d 31 2c  |mem%,ni%,0,0,-1,|
00011ea0  6c 25 0d 53 3a 0d 20 20  20 20 20 20 20 20 cd 0d  |l%.S:.        ..|
00011eb0  53 42 16 20 20 20 20 20  20 c9 20 73 61 76 65 5f  |SB.      . save_|
00011ec0  74 65 78 74 25 0d 53 4a  20 20 20 20 20 20 20 20  |text%.SJ        |
00011ed0  20 f2 78 6f 72 28 73 61  76 65 5f 74 65 78 74 25  | .xor(save_text%|
00011ee0  2c 32 2c 32 29 0d 53 52  25 20 20 20 20 20 20 20  |,2,2).SR%       |
00011ef0  20 6e 24 3d a4 67 65 74  74 65 78 74 28 73 61 76  | n$=.gettext(sav|
00011f00  65 5f 74 65 78 74 25 2c  31 29 0d 53 5a 27 20 20  |e_text%,1).SZ'  |
00011f10  20 20 20 20 20 20 e7 20  a7 6e 24 2c 22 2e 22 29  |      . .n$,".")|
00011f20  3d 30 20 80 20 a7 6e 24  2c 22 3a 22 29 3d 30 20  |=0 . .n$,":")=0 |
00011f30  8c 0d 53 62 4f 20 20 20  20 20 20 20 20 20 20 f2  |..SbO          .|
00011f40  64 69 73 5f 6d 65 73 73  61 67 65 28 22 54 6f 20  |dis_message("To |
00011f50  73 61 76 65 2c 20 64 72  61 67 20 74 68 65 20 66  |save, drag the f|
00011f60  69 6c 65 20 69 63 6f 6e  20 74 6f 20 61 20 64 69  |ile icon to a di|
00011f70  72 65 63 74 6f 72 79 20  76 69 65 77 65 72 22 29  |rectory viewer")|
00011f80  0d 53 6a 0d 20 20 20 20  20 20 20 20 cc 0d 53 72  |.Sj.        ..Sr|
00011f90  20 20 20 20 20 20 20 20  20 20 20 f2 73 61 76 65  |           .save|
00011fa0  5f 65 78 70 6f 72 74 28  6e 24 2c 30 29 0d 53 7a  |_export(n$,0).Sz|
00011fb0  0d 20 20 20 20 20 20 20  20 cd 0d 53 82 15 20 20  |.        ..S..  |
00011fc0  20 20 20 20 c9 20 73 61  76 65 5f 63 73 76 25 0d  |    . save_csv%.|
00011fd0  53 8a 1f 20 20 20 20 20  20 20 20 f2 78 6f 72 28  |S..        .xor(|
00011fe0  73 61 76 65 5f 63 73 76  25 2c 32 2c 32 29 0d 53  |save_csv%,2,2).S|
00011ff0  92 24 20 20 20 20 20 20  20 20 6e 24 3d a4 67 65  |.$        n$=.ge|
00012000  74 74 65 78 74 28 73 61  76 65 5f 63 73 76 25 2c  |ttext(save_csv%,|
00012010  31 29 0d 53 9a 27 20 20  20 20 20 20 20 20 e7 20  |1).S.'        . |
00012020  a7 6e 24 2c 22 2e 22 29  3d 30 20 80 20 a7 6e 24  |.n$,".")=0 . .n$|
00012030  2c 22 3a 22 29 3d 30 20  8c 0d 53 a2 4f 20 20 20  |,":")=0 ..S.O   |
00012040  20 20 20 20 20 20 20 f2  64 69 73 5f 6d 65 73 73  |       .dis_mess|
00012050  61 67 65 28 22 54 6f 20  73 61 76 65 2c 20 64 72  |age("To save, dr|
00012060  61 67 20 74 68 65 20 66  69 6c 65 20 69 63 6f 6e  |ag the file icon|
00012070  20 74 6f 20 61 20 64 69  72 65 63 74 6f 72 79 20  | to a directory |
00012080  76 69 65 77 65 72 22 29  0d 53 aa 0d 20 20 20 20  |viewer").S..    |
00012090  20 20 20 20 cc 0d 53 b2  20 20 20 20 20 20 20 20  |    ..S.        |
000120a0  20 20 20 f2 73 61 76 65  5f 65 78 70 6f 72 74 28  |   .save_export(|
000120b0  6e 24 2c 31 29 0d 53 ba  0d 20 20 20 20 20 20 20  |n$,1).S..       |
000120c0  20 cd 0d 53 c2 17 20 20  20 20 20 20 c9 20 65 78  | ..S..      . ex|
000120d0  70 6f 72 74 5f 63 73 76  25 0d 53 ca 21 20 20 20  |port_csv%.S.!   |
000120e0  20 20 20 20 20 f2 78 6f  72 28 65 78 70 6f 72 74  |     .xor(export|
000120f0  5f 63 73 76 25 2c 32 2c  32 29 0d 53 d2 26 20 20  |_csv%,2,2).S.&  |
00012100  20 20 20 20 20 20 6e 24  3d a4 67 65 74 74 65 78  |      n$=.gettex|
00012110  74 28 65 78 70 6f 72 74  5f 63 73 76 25 2c 31 29  |t(export_csv%,1)|
00012120  0d 53 da 27 20 20 20 20  20 20 20 20 e7 20 a7 6e  |.S.'        . .n|
00012130  24 2c 22 2e 22 29 3d 30  20 80 20 a7 6e 24 2c 22  |$,".")=0 . .n$,"|
00012140  3a 22 29 3d 30 20 8c 0d  53 e2 4f 20 20 20 20 20  |:")=0 ..S.O     |
00012150  20 20 20 20 20 f2 64 69  73 5f 6d 65 73 73 61 67  |     .dis_messag|
00012160  65 28 22 54 6f 20 73 61  76 65 2c 20 64 72 61 67  |e("To save, drag|
00012170  20 74 68 65 20 66 69 6c  65 20 69 63 6f 6e 20 74  | the file icon t|
00012180  6f 20 61 20 64 69 72 65  63 74 6f 72 79 20 76 69  |o a directory vi|
00012190  65 77 65 72 22 29 0d 53  ea 0d 20 20 20 20 20 20  |ewer").S..      |
000121a0  20 20 cc 0d 53 f2 21 20  20 20 20 20 20 20 20 20  |  ..S.!         |
000121b0  20 f2 73 74 61 72 74 5f  65 78 70 6f 72 74 28 6e  | .start_export(n|
000121c0  24 2c 30 29 0d 53 fa 0d  20 20 20 20 20 20 20 20  |$,0).S..        |
000121d0  cd 0d 54 02 18 20 20 20  20 20 20 c9 20 65 78 70  |..T..      . exp|
000121e0  6f 72 74 5f 74 65 78 74  25 0d 54 0a 22 20 20 20  |ort_text%.T."   |
000121f0  20 20 20 20 20 f2 78 6f  72 28 65 78 70 6f 72 74  |     .xor(export|
00012200  5f 74 65 78 74 25 2c 32  2c 32 29 0d 54 12 27 20  |_text%,2,2).T.' |
00012210  20 20 20 20 20 20 20 6e  24 3d a4 67 65 74 74 65  |       n$=.gette|
00012220  78 74 28 65 78 70 6f 72  74 5f 74 65 78 74 25 2c  |xt(export_text%,|
00012230  31 29 0d 54 1a 27 20 20  20 20 20 20 20 20 e7 20  |1).T.'        . |
00012240  a7 6e 24 2c 22 2e 22 29  3d 30 20 80 20 a7 6e 24  |.n$,".")=0 . .n$|
00012250  2c 22 3a 22 29 3d 30 20  8c 0d 54 22 4f 20 20 20  |,":")=0 ..T"O   |
00012260  20 20 20 20 20 20 20 f2  64 69 73 5f 6d 65 73 73  |       .dis_mess|
00012270  61 67 65 28 22 54 6f 20  73 61 76 65 2c 20 64 72  |age("To save, dr|
00012280  61 67 20 74 68 65 20 66  69 6c 65 20 69 63 6f 6e  |ag the file icon|
00012290  20 74 6f 20 61 20 64 69  72 65 63 74 6f 72 79 20  | to a directory |
000122a0  76 69 65 77 65 72 22 29  0d 54 2a 0d 20 20 20 20  |viewer").T*.    |
000122b0  20 20 20 20 cc 0d 54 32  21 20 20 20 20 20 20 20  |    ..T2!       |
000122c0  20 20 20 f2 73 74 61 72  74 5f 65 78 70 6f 72 74  |   .start_export|
000122d0  28 6e 24 2c 31 29 0d 54  3a 0d 20 20 20 20 20 20  |(n$,1).T:.      |
000122e0  20 20 cd 0d 54 42 09 20  20 20 20 cb 0d 54 4a 07  |  ..TB.    ..TJ.|
000122f0  20 20 7f 0d 54 52 21 20  20 20 20 c8 99 20 22 57  |  ..TR!    .. "W|
00012300  69 6d 70 5f 50 72 6f 63  65 73 73 4b 65 79 22 2c  |imp_ProcessKey",|
00012310  6b 65 79 25 0d 54 5a 05  cb 0d 54 62 05 e1 0d 54  |key%.TZ...Tb...T|
00012320  6a 04 0d 54 72 19 dd f2  64 65 63 6f 64 65 5f 62  |j..Tr...decode_b|
00012330  75 74 74 6f 6e 5f 70 72  65 73 73 0d 54 7a 0d c8  |utton_press.Tz..|
00012340  8e 20 71 25 21 38 20 ca  0d 54 82 09 20 20 c9 20  |. q%!8 ..T..  . |
00012350  31 0d 54 8a 12 20 20 20  20 c8 8e 20 71 25 21 31  |1.T..    .. q%!1|
00012360  32 20 ca 0d 54 92 12 20  20 20 20 20 20 c9 20 6f  |2 ..T..      . o|
00012370  70 74 70 63 25 0d 54 9a  16 20 20 20 20 20 20 20  |ptpc%.T..       |
00012380  20 c8 8e 20 71 25 21 31  36 20 ca 0d 54 a2 2e 20  | .. q%!16 ..T.. |
00012390  20 20 20 20 20 20 20 20  20 c9 20 32 2c 33 3a 20  |         . 2,3: |
000123a0  f2 6d 6f 76 65 5f 70 61  73 73 5f 69 64 28 94 28  |.move_pass_id(.(|
000123b0  71 25 21 31 36 2d 33 29  29 0d 54 aa 0d 20 20 20  |q%!16-3)).T..   |
000123c0  20 20 20 20 20 cb 0d 54  b2 16 20 20 20 20 20 20  |     ..T..      |
000123d0  c9 20 73 61 76 65 5f 62  6f 6f 6b 25 0d 54 ba 16  |. save_book%.T..|
000123e0  20 20 20 20 20 20 20 20  c8 8e 20 71 25 21 31 36  |        .. q%!16|
000123f0  20 ca 0d 54 c2 11 20 20  20 20 20 20 20 20 20 20  | ..T..          |
00012400  c9 20 33 0d 54 ca 2a 20  20 20 20 20 20 20 20 20  |. 3.T.*         |
00012410  20 20 20 74 78 24 3d a4  67 65 74 74 65 78 74 28  |   tx$=.gettext(|
00012420  73 61 76 65 5f 62 6f 6f  6b 25 2c 31 29 0d 54 d2  |save_book%,1).T.|
00012430  25 20 20 20 20 20 20 20  20 20 20 20 20 74 78 25  |%            tx%|
00012440  3d bb 28 c2 74 78 24 2c  a9 28 74 78 24 29 2d 37  |=.(.tx$,.(tx$)-7|
00012450  29 29 0d 54 da 16 20 20  20 20 20 20 20 20 20 20  |)).T..          |
00012460  20 20 74 78 25 2d 3d 31  0d 54 e2 20 20 20 20 20  |  tx%-=1.T.     |
00012470  20 20 20 20 20 20 20 20  e7 20 74 78 25 3d 2d 31  |        . tx%=-1|
00012480  20 8c 20 74 78 25 3d 39  0d 54 ea 37 20 20 20 20  | . tx%=9.T.7    |
00012490  20 20 20 20 20 20 20 20  f2 70 75 74 74 65 78 74  |        .puttext|
000124a0  28 73 61 76 65 5f 62 6f  6f 6b 25 2c 31 2c 22 21  |(save_book%,1,"!|
000124b0  21 42 6f 6f 6b 73 22 2b  c3 28 74 78 25 29 29 0d  |!Books"+.(tx%)).|
000124c0  54 f2 11 20 20 20 20 20  20 20 20 20 20 c9 20 34  |T..          . 4|
000124d0  0d 54 fa 2a 20 20 20 20  20 20 20 20 20 20 20 20  |.T.*            |
000124e0  74 78 24 3d a4 67 65 74  74 65 78 74 28 73 61 76  |tx$=.gettext(sav|
000124f0  65 5f 62 6f 6f 6b 25 2c  31 29 0d 55 02 25 20 20  |e_book%,1).U.%  |
00012500  20 20 20 20 20 20 20 20  20 20 74 78 25 3d bb 28  |          tx%=.(|
00012510  c2 74 78 24 2c a9 28 74  78 24 29 2d 37 29 29 0d  |.tx$,.(tx$)-7)).|
00012520  55 0a 16 20 20 20 20 20  20 20 20 20 20 20 20 74  |U..            t|
00012530  78 25 2b 3d 31 0d 55 12  20 20 20 20 20 20 20 20  |x%+=1.U.        |
00012540  20 20 20 20 20 e7 20 74  78 25 3d 31 30 20 8c 20  |     . tx%=10 . |
00012550  74 78 25 3d 30 0d 55 1a  37 20 20 20 20 20 20 20  |tx%=0.U.7       |
00012560  20 20 20 20 20 f2 70 75  74 74 65 78 74 28 73 61  |     .puttext(sa|
00012570  76 65 5f 62 6f 6f 6b 25  2c 31 2c 22 21 21 42 6f  |ve_book%,1,"!!Bo|
00012580  6f 6b 73 22 2b c3 28 74  78 25 29 29 0d 55 22 0d  |oks"+.(tx%)).U".|
00012590  20 20 20 20 20 20 20 20  cb 0d 55 2a 15 20 20 20  |        ..U*.   |
000125a0  20 20 20 c9 20 73 61 76  65 5f 6d 65 6d 25 0d 55  |   . save_mem%.U|
000125b0  32 16 20 20 20 20 20 20  20 20 c8 8e 20 71 25 21  |2.        .. q%!|
000125c0  31 36 20 ca 0d 55 3a 11  20 20 20 20 20 20 20 20  |16 ..U:.        |
000125d0  20 20 c9 20 32 0d 55 42  51 20 20 20 20 20 20 20  |  . 2.UBQ       |
000125e0  20 20 20 20 20 f2 64 69  73 5f 6d 65 73 73 61 67  |     .dis_messag|
000125f0  65 28 22 54 6f 20 73 61  76 65 2c 20 64 72 61 67  |e("To save, drag|
00012600  20 74 68 65 20 66 69 6c  65 20 69 63 6f 6e 20 74  | the file icon t|
00012610  6f 20 61 20 64 69 72 65  63 74 6f 72 79 20 76 69  |o a directory vi|
00012620  65 77 65 72 22 29 0d 55  4a 11 20 20 20 20 20 20  |ewer").UJ.      |
00012630  20 20 20 20 c9 20 33 0d  55 52 29 20 20 20 20 20  |    . 3.UR)     |
00012640  20 20 20 20 20 20 20 74  78 24 3d a4 67 65 74 74  |       tx$=.gett|
00012650  65 78 74 28 73 61 76 65  5f 6d 65 6d 25 2c 31 29  |ext(save_mem%,1)|
00012660  0d 55 5a 25 20 20 20 20  20 20 20 20 20 20 20 20  |.UZ%            |
00012670  74 78 25 3d bb 28 c2 74  78 24 2c a9 28 74 78 24  |tx%=.(.tx$,.(tx$|
00012680  29 2d 38 29 29 0d 55 62  16 20 20 20 20 20 20 20  |)-8)).Ub.       |
00012690  20 20 20 20 20 74 78 25  2d 3d 31 0d 55 6a 21 20  |     tx%-=1.Uj! |
000126a0  20 20 20 20 20 20 20 20  20 20 20 e7 20 74 78 25  |           . tx%|
000126b0  3d 2d 31 20 8c 20 74 78  25 3d 39 39 0d 55 72 37  |=-1 . tx%=99.Ur7|
000126c0  20 20 20 20 20 20 20 20  20 20 20 20 f2 70 75 74  |            .put|
000126d0  74 65 78 74 28 73 61 76  65 5f 6d 65 6d 25 2c 31  |text(save_mem%,1|
000126e0  2c 22 21 21 4d 65 6d 62  65 72 22 2b c3 28 74 78  |,"!!Member"+.(tx|
000126f0  25 29 29 0d 55 7a 11 20  20 20 20 20 20 20 20 20  |%)).Uz.         |
00012700  20 c9 20 34 0d 55 82 29  20 20 20 20 20 20 20 20  | . 4.U.)        |
00012710  20 20 20 20 74 78 24 3d  a4 67 65 74 74 65 78 74  |    tx$=.gettext|
00012720  28 73 61 76 65 5f 6d 65  6d 25 2c 31 29 0d 55 8a  |(save_mem%,1).U.|
00012730  25 20 20 20 20 20 20 20  20 20 20 20 20 74 78 25  |%            tx%|
00012740  3d bb 28 c2 74 78 24 2c  a9 28 74 78 24 29 2d 38  |=.(.tx$,.(tx$)-8|
00012750  29 29 0d 55 92 16 20 20  20 20 20 20 20 20 20 20  |)).U..          |
00012760  20 20 74 78 25 2b 3d 31  0d 55 9a 21 20 20 20 20  |  tx%+=1.U.!    |
00012770  20 20 20 20 20 20 20 20  e7 20 74 78 25 3d 31 30  |        . tx%=10|
00012780  30 20 8c 20 74 78 25 3d  30 0d 55 a2 37 20 20 20  |0 . tx%=0.U.7   |
00012790  20 20 20 20 20 20 20 20  20 f2 70 75 74 74 65 78  |         .puttex|
000127a0  74 28 73 61 76 65 5f 6d  65 6d 25 2c 31 2c 22 21  |t(save_mem%,1,"!|
000127b0  21 4d 65 6d 62 65 72 22  2b c3 28 74 78 25 29 29  |!Member"+.(tx%))|
000127c0  0d 55 aa 0d 20 20 20 20  20 20 20 20 cb 0d 55 b2  |.U..        ..U.|
000127d0  09 20 20 20 20 cb 0d 55  ba 09 20 20 c9 20 32 0d  |.    ..U..  . 2.|
000127e0  55 c2 12 20 20 20 20 c8  8e 20 71 25 21 31 32 20  |U..    .. q%!12 |
000127f0  ca 0d 55 ca 17 20 20 20  20 20 20 c9 20 2d 32 2c  |..U..      . -2,|
00012800  64 69 73 70 6c 61 79 25  0d 55 d2 3c 20 20 20 20  |display%.U.<    |
00012810  20 20 20 20 e7 20 28 71  25 21 31 32 3d 2d 32 20  |    . (q%!12=-2 |
00012820  80 20 71 25 21 31 36 3d  6c 69 62 69 63 6f 6e 25  |. q%!16=libicon%|
00012830  29 20 84 20 71 25 21 31  32 3d 64 69 73 70 6c 61  |) . q%!12=displa|
00012840  79 25 20 8c 0d 55 da 20  20 20 20 20 20 20 20 20  |y% ..U.         |
00012850  20 20 f2 75 70 64 61 74  65 5f 73 61 76 65 5f 62  |  .update_save_b|
00012860  6f 78 65 73 0d 55 e2 1a  20 20 20 20 20 20 20 20  |oxes.U..        |
00012870  20 20 e7 20 71 25 21 31  32 3d 2d 32 20 8c 0d 55  |  . q%!12=-2 ..U|
00012880  ea 3f 20 20 20 20 20 20  20 20 20 20 20 20 c8 99  |.?            ..|
00012890  20 22 57 69 6d 70 5f 43  72 65 61 74 65 4d 65 6e  | "Wimp_CreateMen|
000128a0  75 22 2c 2c 6d 65 6e 61  64 25 28 31 29 2c 71 25  |u",,menad%(1),q%|
000128b0  21 30 2d 39 36 2c 34 34  2a 39 2b 35 32 0d 55 f2  |!0-96,44*9+52.U.|
000128c0  2d 20 20 20 20 20 20 20  20 20 20 20 20 6f 78 25  |-            ox%|
000128d0  3d 71 25 21 30 2d 39 36  3a 6f 79 25 3d 34 34 2a  |=q%!0-96:oy%=44*|
000128e0  39 2b 35 32 3a 6f 6d 25  3d 31 0d 55 fa 0f 20 20  |9+52:om%=1.U..  |
000128f0  20 20 20 20 20 20 20 20  cc 0d 56 02 39 20 20 20  |        ..V.9   |
00012900  20 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |         .. "Wim|
00012910  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 2c 2c 6d  |p_CreateMenu",,m|
00012920  65 6e 61 64 25 28 31 29  2c 71 25 21 30 2c 71 25  |enad%(1),q%!0,q%|
00012930  21 34 0d 56 0a 27 20 20  20 20 20 20 20 20 20 20  |!4.V.'          |
00012940  20 20 6f 78 25 3d 71 25  21 30 3a 6f 79 25 3d 71  |  ox%=q%!0:oy%=q|
00012950  25 21 34 3a 6f 6d 25 3d  31 0d 56 12 0f 20 20 20  |%!4:om%=1.V..   |
00012960  20 20 20 20 20 20 20 cd  0d 56 1a 1a 20 20 20 20  |       ..V..    |
00012970  20 20 20 20 20 20 6d 65  6e 75 5f 66 6c 61 67 25  |      menu_flag%|
00012980  3d 30 0d 56 22 0d 20 20  20 20 20 20 20 20 cd 0d  |=0.V".        ..|
00012990  56 2a 13 20 20 20 20 20  20 c9 20 6e 65 77 6d 65  |V*.      . newme|
000129a0  6d 25 0d 56 32 18 20 20  20 20 20 20 20 20 e7 20  |m%.V2.        . |
000129b0  71 25 21 31 36 3d 32 34  20 8c 0d 56 3a 37 20 20  |q%!16=24 ..V:7  |
000129c0  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
000129d0  5f 43 72 65 61 74 65 4d  65 6e 75 22 2c 2c 6d 65  |_CreateMenu",,me|
000129e0  6e 61 64 25 28 38 29 2c  71 25 21 30 2c 71 25 21  |nad%(8),q%!0,q%!|
000129f0  34 0d 56 42 24 20 20 20  20 20 20 20 20 20 20 6f  |4.VB$          o|
00012a00  78 25 3d 21 71 25 3a 6f  79 25 3d 71 25 21 34 3a  |x%=!q%:oy%=q%!4:|
00012a10  6f 6d 25 3d 38 0d 56 4a  1a 20 20 20 20 20 20 20  |om%=8.VJ.       |
00012a20  20 20 20 6d 65 6e 75 5f  66 6c 61 67 25 3d 31 0d  |   menu_flag%=1.|
00012a30  56 52 0d 20 20 20 20 20  20 20 20 cd 0d 56 5a 15  |VR.        ..VZ.|
00012a40  20 20 20 20 20 20 c9 20  6d 61 69 6e 5f 61 75 78  |      . main_aux|
00012a50  25 0d 56 62 29 20 20 20  20 20 20 20 20 e7 20 75  |%.Vb)        . u|
00012a60  73 69 6e 67 5f 72 64 25  3d 31 20 84 20 75 73 69  |sing_rd%=1 . usi|
00012a70  6e 67 5f 72 64 25 3d 35  20 8c 0d 56 6a 37 20 20  |ng_rd%=5 ..Vj7  |
00012a80  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
00012a90  5f 43 72 65 61 74 65 4d  65 6e 75 22 2c 2c 6d 65  |_CreateMenu",,me|
00012aa0  6e 61 64 25 28 39 29 2c  71 25 21 30 2c 71 25 21  |nad%(9),q%!0,q%!|
00012ab0  34 0d 56 72 24 20 20 20  20 20 20 20 20 20 20 6f  |4.Vr$          o|
00012ac0  78 25 3d 21 71 25 3a 6f  79 25 3d 71 25 21 34 3a  |x%=!q%:oy%=q%!4:|
00012ad0  6f 6d 25 3d 39 0d 56 7a  1a 20 20 20 20 20 20 20  |om%=9.Vz.       |
00012ae0  20 20 20 6d 65 6e 75 5f  66 6c 61 67 25 3d 32 0d  |   menu_flag%=2.|
00012af0  56 82 0d 20 20 20 20 20  20 20 20 cd 0d 56 8a 16  |V..        ..V..|
00012b00  20 20 20 20 20 20 c9 20  63 68 61 6e 67 65 6d 65  |      . changeme|
00012b10  6d 25 0d 56 92 18 20 20  20 20 20 20 20 20 e7 20  |m%.V..        . |
00012b20  71 25 21 31 36 3d 31 35  20 8c 0d 56 9a 38 20 20  |q%!16=15 ..V.8  |
00012b30  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
00012b40  5f 43 72 65 61 74 65 4d  65 6e 75 22 2c 2c 6d 65  |_CreateMenu",,me|
00012b50  6e 61 64 25 28 31 31 29  2c 71 25 21 30 2c 71 25  |nad%(11),q%!0,q%|
00012b60  21 34 0d 56 a2 25 20 20  20 20 20 20 20 20 20 20  |!4.V.%          |
00012b70  6f 78 25 3d 21 71 25 3a  6f 79 25 3d 71 25 21 34  |ox%=!q%:oy%=q%!4|
00012b80  3a 6f 6d 25 3d 31 31 0d  56 aa 1a 20 20 20 20 20  |:om%=11.V..     |
00012b90  20 20 20 20 20 6d 65 6e  75 5f 66 6c 61 67 25 3d  |     menu_flag%=|
00012ba0  33 0d 56 b2 0d 20 20 20  20 20 20 20 20 cd 0d 56  |3.V..        ..V|
00012bb0  ba 26 20 20 20 20 20 20  c9 20 6f 76 65 72 64 75  |.&      . overdu|
00012bc0  65 5f 70 72 25 2c 70 72  69 6e 74 25 2c 61 6c 6c  |e_pr%,print%,all|
00012bd0  5f 70 72 25 0d 56 c2 17  20 20 20 20 20 20 20 20  |_pr%.V..        |
00012be0  e7 20 71 25 21 31 36 3d  33 20 8c 0d 56 ca 4b 20  |. q%!16=3 ..V.K |
00012bf0  20 20 20 20 20 20 20 20  20 c8 99 20 22 4f 53 5f  |         .. "OS_|
00012c00  52 65 61 64 56 61 72 56  61 6c 22 2c 22 4c 69 62  |ReadVarVal","Lib|
00012c10  72 61 72 79 24 54 65 6d  70 6c 61 74 65 73 22 2c  |rary$Templates",|
00012c20  77 69 6d 70 25 2c 32 35  36 2c 30 2c 30 20 b8 20  |wimp%,256,0,0 . |
00012c30  2c 2c 6c 65 6e 25 0d 56  d2 1c 20 20 20 20 20 20  |,,len%.V..      |
00012c40  20 20 20 20 77 69 6d 70  25 3f 28 6c 65 6e 25 29  |    wimp%?(len%)|
00012c50  3d 30 0d 56 da 23 20 20  20 20 20 20 20 20 20 20  |=0.V.#          |
00012c60  74 65 6d 70 24 3d a4 73  74 72 69 6e 67 30 28 77  |temp$=.string0(w|
00012c70  69 6d 70 25 29 0d 56 e2  24 20 20 20 20 20 20 20  |imp%).V.$       |
00012c80  20 20 20 e7 20 74 65 6d  70 24 3d 22 54 65 6d 70  |   . temp$="Temp|
00012c90  6c 61 74 65 73 33 22 20  8c 0d 56 ea 19 20 20 20  |lates3" ..V..   |
00012ca0  20 20 20 20 20 20 20 20  20 66 66 25 3d 33 3c 3c  |         ff%=3<<|
00012cb0  31 39 0d 56 f2 3f 20 20  20 20 20 20 20 20 20 20  |19.V.?          |
00012cc0  20 20 c8 99 20 22 46 6f  6e 74 5f 4c 69 73 74 46  |  .. "Font_ListF|
00012cd0  6f 6e 74 73 22 2c 2c 66  6d 25 2c 66 66 25 2c 26  |onts",,fm%,ff%,&|
00012ce0  32 30 30 30 2c 66 6d 69  25 2c 26 32 30 30 30 2c  |2000,fmi%,&2000,|
00012cf0  30 0d 56 fa 33 20 20 20  20 20 20 20 20 20 20 20  |0.V.3           |
00012d00  20 c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  | .. "Wimp_Create|
00012d10  4d 65 6e 75 22 2c 2c 66  6d 25 2c 71 25 21 30 2c  |Menu",,fm%,q%!0,|
00012d20  71 25 21 34 0d 57 02 28  20 20 20 20 20 20 20 20  |q%!4.W.(        |
00012d30  20 20 20 20 6f 78 25 3d  21 71 25 3a 6f 79 25 3d  |    ox%=!q%:oy%=|
00012d40  71 25 21 34 3a 6f 6d 25  3d 32 35 35 0d 57 0a 1c  |q%!4:om%=255.W..|
00012d50  20 20 20 20 20 20 20 20  20 20 20 20 6d 65 6e 75  |            menu|
00012d60  5f 66 6c 61 67 25 3d 34  0d 57 12 0f 20 20 20 20  |_flag%=4.W..    |
00012d70  20 20 20 20 20 20 cd 0d  57 1a 0d 20 20 20 20 20  |      ..W..     |
00012d80  20 20 20 cd 0d 57 22 1a  20 20 20 20 20 20 7f 3a  |   ..W".      .:|
00012d90  20 6d 65 6e 75 5f 66 6c  61 67 25 3d 2d 31 0d 57  | menu_flag%=-1.W|
00012da0  2a 09 20 20 20 20 cb 0d  57 32 09 20 20 c9 20 34  |*.    ..W2.  . 4|
00012db0  0d 57 3a 12 20 20 20 20  c8 8e 20 71 25 21 31 32  |.W:.    .. q%!12|
00012dc0  20 ca 0d 57 42 0e 20 20  20 20 20 20 c9 20 2d 32  | ..WB.      . -2|
00012dd0  0d 57 4a 1e 20 20 20 20  20 20 20 20 e7 20 71 25  |.WJ.        . q%|
00012de0  21 31 36 3d 6c 69 62 69  63 6f 6e 25 20 8c 0d 57  |!16=libicon% ..W|
00012df0  52 1a 20 20 20 20 20 20  20 20 20 20 21 71 25 3d  |R.          !q%=|
00012e00  64 69 73 70 6c 61 79 25  0d 57 5a 2a 20 20 20 20  |display%.WZ*    |
00012e10  20 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 47  |      .. "Wimp_G|
00012e20  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00012e30  71 25 0d 57 62 16 20 20  20 20 20 20 20 20 20 20  |q%.Wb.          |
00012e40  71 25 21 32 38 3d 2d 31  0d 57 6a 26 20 20 20 20  |q%!28=-1.Wj&    |
00012e50  20 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 4f  |      .. "Wimp_O|
00012e60  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 71 25 0d 57  |penWindow",,q%.W|
00012e70  72 0d 20 20 20 20 20 20  20 20 cd 0d 57 7a 13 20  |r.        ..Wz. |
00012e80  20 20 20 20 20 c9 20 73  65 61 72 63 68 25 0d 57  |     . search%.W|
00012e90  82 16 20 20 20 20 20 20  20 20 c8 8e 20 71 25 21  |..        .. q%!|
00012ea0  31 36 20 ca 0d 57 8a 1b  20 20 20 20 20 20 20 20  |16 ..W..        |
00012eb0  20 20 c9 20 31 32 3a 20  f2 73 65 61 72 63 68 0d  |  . 12: .search.|
00012ec0  57 92 12 20 20 20 20 20  20 20 20 20 20 c9 20 31  |W..          . 1|
00012ed0  33 0d 57 9a 26 20 20 20  20 20 20 20 20 20 20 20  |3.W.&           |
00012ee0  20 f2 63 6c 65 61 72 74  65 78 74 28 73 65 61 72  | .cleartext(sear|
00012ef0  63 68 25 2c 31 31 29 0d  57 a2 1b 20 20 20 20 20  |ch%,11).W..     |
00012f00  20 20 20 20 20 20 20 21  71 25 3d 73 65 61 72 63  |       !q%=searc|
00012f10  68 25 0d 57 aa 29 20 20  20 20 20 20 20 20 20 20  |h%.W.)          |
00012f20  20 20 c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |  .. "Wimp_Close|
00012f30  57 69 6e 64 6f 77 22 2c  2c 71 25 0d 57 b2 0d 20  |Window",,q%.W.. |
00012f40  20 20 20 20 20 20 20 cb  0d 57 ba 12 20 20 20 20  |       ..W..    |
00012f50  20 20 c9 20 6c 6f 67 6f  6e 25 0d 57 c2 16 20 20  |  . logon%.W..  |
00012f60  20 20 20 20 20 20 c8 8e  20 71 25 21 31 36 20 ca  |      .. q%!16 .|
00012f70  0d 57 ca 1a 20 20 20 20  20 20 20 20 20 20 c9 20  |.W..          . |
00012f80  32 3a 20 f2 6c 6f 67 5f  6f 6e 0d 57 d2 11 20 20  |2: .log_on.W..  |
00012f90  20 20 20 20 20 20 20 20  c9 20 33 0d 57 da 24 20  |        . 3.W.$ |
00012fa0  20 20 20 20 20 20 20 20  20 20 20 f2 63 6c 65 61  |           .clea|
00012fb0  72 74 65 78 74 28 6c 6f  67 6f 6e 25 2c 31 29 0d  |rtext(logon%,1).|
00012fc0  57 e2 1a 20 20 20 20 20  20 20 20 20 20 20 20 21  |W..            !|
00012fd0  71 25 3d 6c 6f 67 6f 6e  25 0d 57 ea 29 20 20 20  |q%=logon%.W.)   |
00012fe0  20 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |         .. "Wim|
00012ff0  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00013000  71 25 0d 57 f2 0d 20 20  20 20 20 20 20 20 cb 0d  |q%.W..        ..|
00013010  57 fa 17 20 20 20 20 20  20 c9 20 63 68 61 6e 67  |W..      . chang|
00013020  65 70 61 73 73 25 0d 58  02 16 20 20 20 20 20 20  |epass%.X..      |
00013030  20 20 c8 8e 20 71 25 21  31 36 20 ca 0d 58 0a 1c  |  .. q%!16 ..X..|
00013040  20 20 20 20 20 20 20 20  20 20 c9 20 34 3a 20 f2  |          . 4: .|
00013050  70 61 73 73 5f 61 6c 74  0d 58 12 11 20 20 20 20  |pass_alt.X..    |
00013060  20 20 20 20 20 20 c9 20  35 0d 58 1a 29 20 20 20  |      . 5.X.)   |
00013070  20 20 20 20 20 20 20 20  20 f2 63 6c 65 61 72 74  |         .cleart|
00013080  65 78 74 28 63 68 61 6e  67 65 70 61 73 73 25 2c  |ext(changepass%,|
00013090  31 29 0d 58 22 29 20 20  20 20 20 20 20 20 20 20  |1).X")          |
000130a0  20 20 f2 63 6c 65 61 72  74 65 78 74 28 63 68 61  |  .cleartext(cha|
000130b0  6e 67 65 70 61 73 73 25  2c 33 29 0d 58 2a 1f 20  |ngepass%,3).X*. |
000130c0  20 20 20 20 20 20 20 20  20 20 20 21 71 25 3d 63  |           !q%=c|
000130d0  68 61 6e 67 65 70 61 73  73 25 0d 58 32 29 20 20  |hangepass%.X2)  |
000130e0  20 20 20 20 20 20 20 20  20 20 c8 99 20 22 57 69  |          .. "Wi|
000130f0  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
00013100  2c 71 25 0d 58 3a 0d 20  20 20 20 20 20 20 20 cb  |,q%.X:.        .|
00013110  0d 58 42 12 20 20 20 20  20 20 c9 20 69 73 73 75  |.XB.      . issu|
00013120  65 25 0d 58 4a 16 20 20  20 20 20 20 20 20 c8 8e  |e%.XJ.        ..|
00013130  20 71 25 21 31 36 20 ca  0d 58 52 26 20 20 20 20  | q%!16 ..XR&    |
00013140  20 20 20 20 20 20 c9 20  34 3a 20 f2 69 73 73 75  |      . 4: .issu|
00013150  65 62 6f 6f 6b 5f 61 6e  64 5f 65 78 69 74 0d 58  |ebook_and_exit.X|
00013160  5a 1d 20 20 20 20 20 20  20 20 20 20 c9 20 38 3a  |Z.          . 8:|
00013170  20 f2 69 73 73 75 65 62  6f 6f 6b 0d 58 62 12 20  | .issuebook.Xb. |
00013180  20 20 20 20 20 20 20 20  20 c9 20 31 33 0d 58 6a  |         . 13.Xj|
00013190  24 20 20 20 20 20 20 20  20 20 20 20 20 f2 63 6c  |$            .cl|
000131a0  65 61 72 74 65 78 74 28  69 73 73 75 65 25 2c 31  |eartext(issue%,1|
000131b0  29 0d 58 72 24 20 20 20  20 20 20 20 20 20 20 20  |).Xr$           |
000131c0  20 f2 63 6c 65 61 72 74  65 78 74 28 69 73 73 75  | .cleartext(issu|
000131d0  65 25 2c 33 29 0d 58 7a  25 20 20 20 20 20 20 20  |e%,3).Xz%       |
000131e0  20 20 20 20 20 f2 63 6c  65 61 72 74 65 78 74 28  |     .cleartext(|
000131f0  69 73 73 75 65 25 2c 31  32 29 0d 58 82 1a 20 20  |issue%,12).X..  |
00013200  20 20 20 20 20 20 20 20  20 20 21 71 25 3d 69 73  |          !q%=is|
00013210  73 75 65 25 0d 58 8a 29  20 20 20 20 20 20 20 20  |sue%.X.)        |
00013220  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 43 6c 6f  |    .. "Wimp_Clo|
00013230  73 65 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 58 92  |seWindow",,q%.X.|
00013240  0d 20 20 20 20 20 20 20  20 cb 0d 58 9a 16 20 20  |.        ..X..  |
00013250  20 20 20 20 c9 20 61 64  64 5f 73 74 6f 63 6b 25  |    . add_stock%|
00013260  0d 58 a2 16 20 20 20 20  20 20 20 20 c8 8e 20 71  |.X..        .. q|
00013270  25 21 31 36 20 ca 0d 58  aa 1d 20 20 20 20 20 20  |%!16 ..X..      |
00013280  20 20 20 20 c9 20 31 30  3a 20 f2 6e 65 77 5f 62  |    . 10: .new_b|
00013290  6f 6f 6b 0d 58 b2 12 20  20 20 20 20 20 20 20 20  |ook.X..         |
000132a0  20 c9 20 31 31 0d 58 ba  19 20 20 20 20 20 20 20  | . 11.X..       |
000132b0  20 20 20 20 20 f2 6e 65  77 5f 62 6f 6f 6b 0d 58  |     .new_book.X|
000132c0  c2 1e 20 20 20 20 20 20  20 20 20 20 20 20 21 71  |..            !q|
000132d0  25 3d 61 64 64 5f 73 74  6f 63 6b 25 0d 58 ca 29  |%=add_stock%.X.)|
000132e0  20 20 20 20 20 20 20 20  20 20 20 20 c8 99 20 22  |            .. "|
000132f0  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00013300  22 2c 2c 71 25 0d 58 d2  12 20 20 20 20 20 20 20  |",,q%.X..       |
00013310  20 20 20 c9 20 31 38 0d  58 da 28 20 20 20 20 20  |   . 18.X.(     |
00013320  20 20 20 20 20 20 20 f2  63 6c 65 61 72 74 65 78  |       .cleartex|
00013330  74 28 61 64 64 5f 73 74  6f 63 6b 25 2c 32 29 0d  |t(add_stock%,2).|
00013340  58 e2 28 20 20 20 20 20  20 20 20 20 20 20 20 f2  |X.(            .|
00013350  63 6c 65 61 72 74 65 78  74 28 61 64 64 5f 73 74  |cleartext(add_st|
00013360  6f 63 6b 25 2c 34 29 0d  58 ea 28 20 20 20 20 20  |ock%,4).X.(     |
00013370  20 20 20 20 20 20 20 f2  63 6c 65 61 72 74 65 78  |       .cleartex|
00013380  74 28 61 64 64 5f 73 74  6f 63 6b 25 2c 36 29 0d  |t(add_stock%,6).|
00013390  58 f2 28 20 20 20 20 20  20 20 20 20 20 20 20 f2  |X.(            .|
000133a0  63 6c 65 61 72 74 65 78  74 28 61 64 64 5f 73 74  |cleartext(add_st|
000133b0  6f 63 6b 25 2c 39 29 0d  58 fa 29 20 20 20 20 20  |ock%,9).X.)     |
000133c0  20 20 20 20 20 20 20 f2  63 6c 65 61 72 74 65 78  |       .cleartex|
000133d0  74 28 61 64 64 5f 73 74  6f 63 6b 25 2c 31 36 29  |t(add_stock%,16)|
000133e0  0d 59 02 1e 20 20 20 20  20 20 20 20 20 20 20 20  |.Y..            |
000133f0  21 71 25 3d 61 64 64 5f  73 74 6f 63 6b 25 0d 59  |!q%=add_stock%.Y|
00013400  0a 29 20 20 20 20 20 20  20 20 20 20 20 20 c8 99  |.)            ..|
00013410  20 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  | "Wimp_CloseWind|
00013420  6f 77 22 2c 2c 71 25 0d  59 12 0d 20 20 20 20 20  |ow",,q%.Y..     |
00013430  20 20 20 cb 0d 59 1a 13  20 20 20 20 20 20 c9 20  |   ..Y..      . |
00013440  6e 65 77 6d 65 6d 25 0d  59 22 16 20 20 20 20 20  |newmem%.Y".     |
00013450  20 20 20 c8 8e 20 71 25  21 31 36 20 ca 0d 59 2a  |   .. q%!16 ..Y*|
00013460  2a 20 20 20 20 20 20 20  20 20 20 c9 20 33 36 2c  |*          . 36,|
00013470  33 37 3a 20 f2 66 69 6e  5f 6e 6d 28 28 71 25 21  |37: .fin_nm((q%!|
00013480  31 36 29 2d 33 36 29 0d  59 32 12 20 20 20 20 20  |16)-36).Y2.     |
00013490  20 20 20 20 20 c9 20 31  31 0d 59 3a 2a 20 20 20  |     . 11.Y:*   |
000134a0  20 20 20 20 20 20 20 20  20 6c 25 3d a9 28 a4 67  |         l%=.(.g|
000134b0  65 74 74 65 78 74 28 6e  65 77 6d 65 6d 25 2c 31  |ettext(newmem%,1|
000134c0  34 29 29 0d 59 42 3f 20  20 20 20 20 20 20 20 20  |4)).YB?         |
000134d0  20 20 20 c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |   .. "Wimp_SetC|
000134e0  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 6e 65  |aretPosition",ne|
000134f0  77 6d 65 6d 25 2c 31 34  2c 30 2c 30 2c 2d 31 2c  |wmem%,14,0,0,-1,|
00013500  6c 25 0d 59 4a 12 20 20  20 20 20 20 20 20 20 20  |l%.YJ.          |
00013510  c9 20 34 30 0d 59 52 26  20 20 20 20 20 20 20 20  |. 40.YR&        |
00013520  20 20 20 20 f2 63 6c 65  61 72 74 65 78 74 28 6e  |    .cleartext(n|
00013530  65 77 6d 65 6d 25 2c 33  35 29 0d 59 5a 1c 20 20  |ewmem%,35).YZ.  |
00013540  20 20 20 20 20 20 20 20  20 20 e3 20 63 25 3d 31  |          . c%=1|
00013550  37 20 b8 20 32 32 0d 59  62 26 20 20 20 20 20 20  |7 . 22.Yb&      |
00013560  20 20 20 20 20 20 f2 63  6c 65 61 72 74 65 78 74  |      .cleartext|
00013570  28 6e 65 77 6d 65 6d 25  2c 63 25 29 0d 59 6a 14  |(newmem%,c%).Yj.|
00013580  20 20 20 20 20 20 20 20  20 20 20 20 ed 20 63 25  |            . c%|
00013590  0d 59 72 1c 20 20 20 20  20 20 20 20 20 20 20 20  |.Yr.            |
000135a0  e3 20 63 25 3d 31 34 20  b8 20 31 35 0d 59 7a 26  |. c%=14 . 15.Yz&|
000135b0  20 20 20 20 20 20 20 20  20 20 20 20 f2 63 6c 65  |            .cle|
000135c0  61 72 74 65 78 74 28 6e  65 77 6d 65 6d 25 2c 63  |artext(newmem%,c|
000135d0  25 29 0d 59 82 14 20 20  20 20 20 20 20 20 20 20  |%).Y..          |
000135e0  20 20 ed 20 63 25 0d 59  8a 1b 20 20 20 20 20 20  |  . c%.Y..      |
000135f0  20 20 20 20 20 20 21 71  25 3d 6e 65 77 6d 65 6d  |      !q%=newmem|
00013600  25 0d 59 92 29 20 20 20  20 20 20 20 20 20 20 20  |%.Y.)           |
00013610  20 c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 57  | .. "Wimp_CloseW|
00013620  69 6e 64 6f 77 22 2c 2c  71 25 0d 59 9a 0d 20 20  |indow",,q%.Y..  |
00013630  20 20 20 20 20 20 cb 0d  59 a2 10 20 20 20 20 20  |      ..Y..     |
00013640  20 c9 20 76 6d 71 25 0d  59 aa 16 20 20 20 20 20  | . vmq%.Y..     |
00013650  20 20 20 c8 8e 20 71 25  21 31 36 20 ca 0d 59 b2  |   .. q%!16 ..Y.|
00013660  20 20 20 20 20 20 20 20  20 20 20 c9 20 32 30 3a  |           . 20:|
00013670  20 f2 76 69 65 77 5f 6d  65 6d 62 65 72 0d 59 ba  | .view_member.Y.|
00013680  12 20 20 20 20 20 20 20  20 20 20 c9 20 32 31 0d  |.          . 21.|
00013690  59 c2 22 20 20 20 20 20  20 20 20 20 20 20 20 f2  |Y."            .|
000136a0  63 6c 65 61 72 74 65 78  74 28 76 6d 71 25 2c 34  |cleartext(vmq%,4|
000136b0  29 0d 59 ca 22 20 20 20  20 20 20 20 20 20 20 20  |).Y."           |
000136c0  20 f2 63 6c 65 61 72 74  65 78 74 28 76 6d 71 25  | .cleartext(vmq%|
000136d0  2c 38 29 0d 59 d2 18 20  20 20 20 20 20 20 20 20  |,8).Y..         |
000136e0  20 20 20 21 71 25 3d 76  6d 71 25 0d 59 da 29 20  |   !q%=vmq%.Y.) |
000136f0  20 20 20 20 20 20 20 20  20 20 20 c8 99 20 22 57  |           .. "W|
00013700  69 6d 70 5f 43 6c 6f 73  65 57 69 6e 64 6f 77 22  |imp_CloseWindow"|
00013710  2c 2c 71 25 0d 59 e2 0d  20 20 20 20 20 20 20 20  |,,q%.Y..        |
00013720  cb 0d 59 ea 12 20 20 20  20 20 20 c9 20 72 65 6e  |..Y..      . ren|
00013730  65 77 25 0d 59 f2 16 20  20 20 20 20 20 20 20 c8  |ew%.Y..        .|
00013740  8e 20 71 25 21 31 36 20  ca 0d 59 fa 1c 20 20 20  |. q%!16 ..Y..   |
00013750  20 20 20 20 20 20 20 c9  20 39 3a 20 f2 72 65 6e  |       . 9: .ren|
00013760  65 77 28 a3 29 0d 5a 02  1d 20 20 20 20 20 20 20  |ew(.).Z..       |
00013770  20 20 20 c9 20 31 30 3a  20 f2 72 65 6e 65 77 28  |   . 10: .renew(|
00013780  b9 29 0d 5a 0a 12 20 20  20 20 20 20 20 20 20 20  |.).Z..          |
00013790  c9 20 31 31 0d 5a 12 24  20 20 20 20 20 20 20 20  |. 11.Z.$        |
000137a0  20 20 20 20 f2 63 6c 65  61 72 74 65 78 74 28 72  |    .cleartext(r|
000137b0  65 6e 65 77 25 2c 31 29  0d 5a 1a 24 20 20 20 20  |enew%,1).Z.$    |
000137c0  20 20 20 20 20 20 20 20  f2 63 6c 65 61 72 74 65  |        .clearte|
000137d0  78 74 28 72 65 6e 65 77  25 2c 38 29 0d 5a 22 1a  |xt(renew%,8).Z".|
000137e0  20 20 20 20 20 20 20 20  20 20 20 20 21 71 25 3d  |            !q%=|
000137f0  72 65 6e 65 77 25 0d 5a  2a 29 20 20 20 20 20 20  |renew%.Z*)      |
00013800  20 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 43  |      .. "Wimp_C|
00013810  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |loseWindow",,q%.|
00013820  5a 32 0d 20 20 20 20 20  20 20 20 cb 0d 5a 3a 16  |Z2.        ..Z:.|
00013830  20 20 20 20 20 20 c9 20  61 63 63 6e 5f 6f 6e 6c  |      . accn_onl|
00013840  79 25 0d 5a 42 16 20 20  20 20 20 20 20 20 c8 8e  |y%.ZB.        ..|
00013850  20 71 25 21 31 36 20 ca  0d 5a 4a 1e 20 20 20 20  | q%!16 ..ZJ.    |
00013860  20 20 20 20 20 20 c9 20  32 3a 20 f2 61 63 63 6e  |      . 2: .accn|
00013870  5f 6f 5f 66 69 6e 0d 5a  52 11 20 20 20 20 20 20  |_o_fin.ZR.      |
00013880  20 20 20 20 c9 20 33 0d  5a 5a 28 20 20 20 20 20  |    . 3.ZZ(     |
00013890  20 20 20 20 20 20 20 f2  63 6c 65 61 72 74 65 78  |       .cleartex|
000138a0  74 28 61 63 63 6e 5f 6f  6e 6c 79 25 2c 31 29 0d  |t(accn_only%,1).|
000138b0  5a 62 1e 20 20 20 20 20  20 20 20 20 20 20 20 21  |Zb.            !|
000138c0  71 25 3d 61 63 63 6e 5f  6f 6e 6c 79 25 0d 5a 6a  |q%=accn_only%.Zj|
000138d0  29 20 20 20 20 20 20 20  20 20 20 20 20 c8 99 20  |)            .. |
000138e0  22 57 69 6d 70 5f 43 6c  6f 73 65 57 69 6e 64 6f  |"Wimp_CloseWindo|
000138f0  77 22 2c 2c 71 25 0d 5a  72 0d 20 20 20 20 20 20  |w",,q%.Zr.      |
00013900  20 20 cb 0d 5a 7a 15 20  20 20 20 20 20 c9 20 6d  |  ..Zz.      . m|
00013910  65 6d 5f 6f 6e 6c 79 25  0d 5a 82 16 20 20 20 20  |em_only%.Z..    |
00013920  20 20 20 20 c8 8e 20 71  25 21 31 36 20 ca 0d 5a  |    .. q%!16 ..Z|
00013930  8a 1d 20 20 20 20 20 20  20 20 20 20 c9 20 32 3a  |..          . 2:|
00013940  20 f2 6d 65 6d 5f 6f 5f  66 69 6e 0d 5a 92 11 20  | .mem_o_fin.Z.. |
00013950  20 20 20 20 20 20 20 20  20 c9 20 33 0d 5a 9a 27  |         . 3.Z.'|
00013960  20 20 20 20 20 20 20 20  20 20 20 20 f2 63 6c 65  |            .cle|
00013970  61 72 74 65 78 74 28 6d  65 6d 5f 6f 6e 6c 79 25  |artext(mem_only%|
00013980  2c 31 29 0d 5a a2 1d 20  20 20 20 20 20 20 20 20  |,1).Z..         |
00013990  20 20 20 21 71 25 3d 6d  65 6d 5f 6f 6e 6c 79 25  |   !q%=mem_only%|
000139a0  0d 5a aa 29 20 20 20 20  20 20 20 20 20 20 20 20  |.Z.)            |
000139b0  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |.. "Wimp_CloseWi|
000139c0  6e 64 6f 77 22 2c 2c 71  25 0d 5a b2 0d 20 20 20  |ndow",,q%.Z..   |
000139d0  20 20 20 20 20 cb 0d 5a  ba 19 20 20 20 20 20 20  |     ..Z..      |
000139e0  c9 20 63 68 61 6e 67 65  5f 73 74 6f 63 6b 25 0d  |. change_stock%.|
000139f0  5a c2 16 20 20 20 20 20  20 20 20 c8 8e 20 71 25  |Z..        .. q%|
00013a00  21 31 36 20 ca 0d 5a ca  24 20 20 20 20 20 20 20  |!16 ..Z.$       |
00013a10  20 20 20 c9 20 31 30 3a  20 f2 63 68 61 6e 67 65  |   . 10: .change|
00013a20  5f 73 74 6f 63 6b 5f 67  6f 0d 5a d2 12 20 20 20  |_stock_go.Z..   |
00013a30  20 20 20 20 20 20 20 c9  20 31 31 0d 5a da 21 20  |       . 11.Z.! |
00013a40  20 20 20 20 20 20 20 20  20 20 20 21 71 25 3d 63  |           !q%=c|
00013a50  68 61 6e 67 65 5f 73 74  6f 63 6b 25 0d 5a e2 29  |hange_stock%.Z.)|
00013a60  20 20 20 20 20 20 20 20  20 20 20 20 c8 99 20 22  |            .. "|
00013a70  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00013a80  22 2c 2c 71 25 0d 5a ea  0d 20 20 20 20 20 20 20  |",,q%.Z..       |
00013a90  20 cb 0d 5a f2 17 20 20  20 20 20 20 c9 20 76 69  | ..Z..      . vi|
00013aa0  65 77 5f 73 74 6f 63 6b  25 0d 5a fa 18 20 20 20  |ew_stock%.Z..   |
00013ab0  20 20 20 20 20 e7 20 71  25 21 31 36 3d 31 30 20  |     . q%!16=10 |
00013ac0  8c 0d 5b 02 17 20 20 20  20 20 20 20 20 20 20 21  |..[..          !|
00013ad0  71 25 3d 71 25 21 31 32  0d 5b 0a 27 20 20 20 20  |q%=q%!12.[.'    |
00013ae0  20 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 43  |      .. "Wimp_C|
00013af0  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |loseWindow",,q%.|
00013b00  5b 12 0d 20 20 20 20 20  20 20 20 cd 0d 5b 1a 12  |[..        ..[..|
00013b10  20 20 20 20 20 20 c9 20  6f 70 74 70 63 25 0d 5b  |      . optpc%.[|
00013b20  22 16 20 20 20 20 20 20  20 20 c8 8e 20 71 25 21  |".        .. q%!|
00013b30  31 36 20 ca 0d 5b 2a 2b  20 20 20 20 20 20 20 20  |16 ..[*+        |
00013b40  20 20 c9 20 32 2c 33 3a  20 f2 6d 6f 76 65 5f 70  |  . 2,3: .move_p|
00013b50  61 73 73 5f 69 64 28 71  25 21 31 36 2d 32 29 0d  |ass_id(q%!16-2).|
00013b60  5b 32 1e 20 20 20 20 20  20 20 20 20 20 c9 20 33  |[2.          . 3|
00013b70  33 3a 20 f2 73 61 76 65  5f 70 61 73 73 0d 5b 3a  |3: .save_pass.[:|
00013b80  20 20 20 20 20 20 20 20  20 20 20 c9 20 33 36 3a  |           . 36:|
00013b90  20 f2 64 65 6c 65 74 65  5f 70 61 73 73 0d 5b 42  | .delete_pass.[B|
00013ba0  12 20 20 20 20 20 20 20  20 20 20 c9 20 33 37 0d  |.          . 37.|
00013bb0  5b 4a 1a 20 20 20 20 20  20 20 20 20 20 20 20 21  |[J.            !|
00013bc0  71 25 3d 6f 70 74 70 63  25 0d 5b 52 29 20 20 20  |q%=optpc%.[R)   |
00013bd0  20 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |         .. "Wim|
00013be0  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00013bf0  71 25 0d 5b 5a 0d 20 20  20 20 20 20 20 20 cb 0d  |q%.[Z.        ..|
00013c00  5b 62 14 20 20 20 20 20  20 c9 20 6f 70 74 6c 65  |[b.      . optle|
00013c10  6e 64 25 0d 5b 6a 16 20  20 20 20 20 20 20 20 c8  |nd%.[j.        .|
00013c20  8e 20 71 25 21 31 36 20  ca 0d 5b 72 1d 20 20 20  |. q%!16 ..[r.   |
00013c30  20 20 20 20 20 20 20 c9  20 34 3a 20 f2 75 70 5f  |       . 4: .up_|
00013c40  6f 5f 6c 65 6e 64 0d 5b  7a 12 20 20 20 20 20 20  |o_lend.[z.      |
00013c50  20 20 20 20 c9 20 31 36  0d 5b 82 1c 20 20 20 20  |    . 16.[..    |
00013c60  20 20 20 20 20 20 20 20  21 71 25 3d 6f 70 74 6c  |        !q%=optl|
00013c70  65 6e 64 25 0d 5b 8a 29  20 20 20 20 20 20 20 20  |end%.[.)        |
00013c80  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 43 6c 6f  |    .. "Wimp_Clo|
00013c90  73 65 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 5b 92  |seWindow",,q%.[.|
00013ca0  0d 20 20 20 20 20 20 20  20 cb 0d 5b 9a 16 20 20  |.        ..[..  |
00013cb0  20 20 20 20 c9 20 73 61  76 65 5f 62 6f 6f 6b 25  |    . save_book%|
00013cc0  0d 5b a2 16 20 20 20 20  20 20 20 20 c8 8e 20 71  |.[..        .. q|
00013cd0  25 21 31 36 20 ca 0d 5b  aa 11 20 20 20 20 20 20  |%!16 ..[..      |
00013ce0  20 20 20 20 c9 20 32 0d  5b b2 51 20 20 20 20 20  |    . 2.[.Q     |
00013cf0  20 20 20 20 20 20 20 f2  64 69 73 5f 6d 65 73 73  |       .dis_mess|
00013d00  61 67 65 28 22 54 6f 20  73 61 76 65 2c 20 64 72  |age("To save, dr|
00013d10  61 67 20 74 68 65 20 66  69 6c 65 20 69 63 6f 6e  |ag the file icon|
00013d20  20 74 6f 20 61 20 64 69  72 65 63 74 6f 72 79 20  | to a directory |
00013d30  76 69 65 77 65 72 22 29  0d 5b ba 11 20 20 20 20  |viewer").[..    |
00013d40  20 20 20 20 20 20 c9 20  33 0d 5b c2 2a 20 20 20  |      . 3.[.*   |
00013d50  20 20 20 20 20 20 20 20  20 74 78 24 3d a4 67 65  |         tx$=.ge|
00013d60  74 74 65 78 74 28 73 61  76 65 5f 62 6f 6f 6b 25  |ttext(save_book%|
00013d70  2c 31 29 0d 5b ca 25 20  20 20 20 20 20 20 20 20  |,1).[.%         |
00013d80  20 20 20 74 78 25 3d bb  28 c2 74 78 24 2c a9 28  |   tx%=.(.tx$,.(|
00013d90  74 78 24 29 2d 37 29 29  0d 5b d2 16 20 20 20 20  |tx$)-7)).[..    |
00013da0  20 20 20 20 20 20 20 20  74 78 25 2b 3d 31 0d 5b  |        tx%+=1.[|
00013db0  da 20 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |.             . |
00013dc0  74 78 25 3d 31 30 20 8c  20 74 78 25 3d 30 0d 5b  |tx%=10 . tx%=0.[|
00013dd0  e2 37 20 20 20 20 20 20  20 20 20 20 20 20 f2 70  |.7            .p|
00013de0  75 74 74 65 78 74 28 73  61 76 65 5f 62 6f 6f 6b  |uttext(save_book|
00013df0  25 2c 31 2c 22 21 21 42  6f 6f 6b 73 22 2b c3 28  |%,1,"!!Books"+.(|
00013e00  74 78 25 29 29 0d 5b ea  11 20 20 20 20 20 20 20  |tx%)).[..       |
00013e10  20 20 20 c9 20 34 0d 5b  f2 2a 20 20 20 20 20 20  |   . 4.[.*      |
00013e20  20 20 20 20 20 20 74 78  24 3d a4 67 65 74 74 65  |      tx$=.gette|
00013e30  78 74 28 73 61 76 65 5f  62 6f 6f 6b 25 2c 31 29  |xt(save_book%,1)|
00013e40  0d 5b fa 25 20 20 20 20  20 20 20 20 20 20 20 20  |.[.%            |
00013e50  74 78 25 3d bb 28 c2 74  78 24 2c a9 28 74 78 24  |tx%=.(.tx$,.(tx$|
00013e60  29 2d 37 29 29 0d 5c 02  16 20 20 20 20 20 20 20  |)-7)).\..       |
00013e70  20 20 20 20 20 74 78 25  2d 3d 31 0d 5c 0a 20 20  |     tx%-=1.\.  |
00013e80  20 20 20 20 20 20 20 20  20 20 20 e7 20 74 78 25  |           . tx%|
00013e90  3d 2d 31 20 8c 20 74 78  25 3d 39 0d 5c 12 37 20  |=-1 . tx%=9.\.7 |
00013ea0  20 20 20 20 20 20 20 20  20 20 20 f2 70 75 74 74  |           .putt|
00013eb0  65 78 74 28 73 61 76 65  5f 62 6f 6f 6b 25 2c 31  |ext(save_book%,1|
00013ec0  2c 22 21 21 42 6f 6f 6b  73 22 2b c3 28 74 78 25  |,"!!Books"+.(tx%|
00013ed0  29 29 0d 5c 1a 0d 20 20  20 20 20 20 20 20 cb 0d  |)).\..        ..|
00013ee0  5c 22 15 20 20 20 20 20  20 c9 20 73 61 76 65 5f  |\".      . save_|
00013ef0  6d 65 6d 25 0d 5c 2a 16  20 20 20 20 20 20 20 20  |mem%.\*.        |
00013f00  c8 8e 20 71 25 21 31 36  20 ca 0d 5c 32 11 20 20  |.. q%!16 ..\2.  |
00013f10  20 20 20 20 20 20 20 20  c9 20 32 0d 5c 3a 51 20  |        . 2.\:Q |
00013f20  20 20 20 20 20 20 20 20  20 20 20 f2 64 69 73 5f  |           .dis_|
00013f30  6d 65 73 73 61 67 65 28  22 54 6f 20 73 61 76 65  |message("To save|
00013f40  2c 20 64 72 61 67 20 74  68 65 20 66 69 6c 65 20  |, drag the file |
00013f50  69 63 6f 6e 20 74 6f 20  61 20 64 69 72 65 63 74  |icon to a direct|
00013f60  6f 72 79 20 76 69 65 77  65 72 22 29 0d 5c 42 11  |ory viewer").\B.|
00013f70  20 20 20 20 20 20 20 20  20 20 c9 20 33 0d 5c 4a  |          . 3.\J|
00013f80  29 20 20 20 20 20 20 20  20 20 20 20 20 74 78 24  |)            tx$|
00013f90  3d a4 67 65 74 74 65 78  74 28 73 61 76 65 5f 6d  |=.gettext(save_m|
00013fa0  65 6d 25 2c 31 29 0d 5c  52 25 20 20 20 20 20 20  |em%,1).\R%      |
00013fb0  20 20 20 20 20 20 74 78  25 3d bb 28 c2 74 78 24  |      tx%=.(.tx$|
00013fc0  2c a9 28 74 78 24 29 2d  38 29 29 0d 5c 5a 16 20  |,.(tx$)-8)).\Z. |
00013fd0  20 20 20 20 20 20 20 20  20 20 20 74 78 25 2b 3d  |           tx%+=|
00013fe0  31 0d 5c 62 21 20 20 20  20 20 20 20 20 20 20 20  |1.\b!           |
00013ff0  20 e7 20 74 78 25 3d 31  30 30 20 8c 20 74 78 25  | . tx%=100 . tx%|
00014000  3d 30 0d 5c 6a 37 20 20  20 20 20 20 20 20 20 20  |=0.\j7          |
00014010  20 20 f2 70 75 74 74 65  78 74 28 73 61 76 65 5f  |  .puttext(save_|
00014020  6d 65 6d 25 2c 31 2c 22  21 21 4d 65 6d 62 65 72  |mem%,1,"!!Member|
00014030  22 2b c3 28 74 78 25 29  29 0d 5c 72 11 20 20 20  |"+.(tx%)).\r.   |
00014040  20 20 20 20 20 20 20 c9  20 34 0d 5c 7a 29 20 20  |       . 4.\z)  |
00014050  20 20 20 20 20 20 20 20  20 20 74 78 24 3d a4 67  |          tx$=.g|
00014060  65 74 74 65 78 74 28 73  61 76 65 5f 6d 65 6d 25  |ettext(save_mem%|
00014070  2c 31 29 0d 5c 82 25 20  20 20 20 20 20 20 20 20  |,1).\.%         |
00014080  20 20 20 74 78 25 3d bb  28 c2 74 78 24 2c a9 28  |   tx%=.(.tx$,.(|
00014090  74 78 24 29 2d 38 29 29  0d 5c 8a 16 20 20 20 20  |tx$)-8)).\..    |
000140a0  20 20 20 20 20 20 20 20  74 78 25 2d 3d 31 0d 5c  |        tx%-=1.\|
000140b0  92 21 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |.!            . |
000140c0  74 78 25 3d 2d 31 20 8c  20 74 78 25 3d 39 39 0d  |tx%=-1 . tx%=99.|
000140d0  5c 9a 37 20 20 20 20 20  20 20 20 20 20 20 20 f2  |\.7            .|
000140e0  70 75 74 74 65 78 74 28  73 61 76 65 5f 6d 65 6d  |puttext(save_mem|
000140f0  25 2c 31 2c 22 21 21 4d  65 6d 62 65 72 22 2b c3  |%,1,"!!Member"+.|
00014100  28 74 78 25 29 29 0d 5c  a2 0d 20 20 20 20 20 20  |(tx%)).\..      |
00014110  20 20 cb 0d 5c aa 16 20  20 20 20 20 20 c9 20 73  |  ..\..      . s|
00014120  61 76 65 5f 74 65 78 74  25 0d 5c b2 17 20 20 20  |ave_text%.\..   |
00014130  20 20 20 20 20 e7 20 71  25 21 31 36 3d 32 20 8c  |     . q%!16=2 .|
00014140  0d 5c ba 27 20 20 20 20  20 20 20 20 20 20 6e 24  |.\.'          n$|
00014150  3d a4 67 65 74 74 65 78  74 28 73 61 76 65 5f 74  |=.gettext(save_t|
00014160  65 78 74 25 2c 31 29 0d  5c c2 29 20 20 20 20 20  |ext%,1).\.)     |
00014170  20 20 20 20 20 e7 20 a7  6e 24 2c 22 2e 22 29 3d  |     . .n$,".")=|
00014180  30 20 80 20 a7 6e 24 2c  22 3a 22 29 3d 30 20 8c  |0 . .n$,":")=0 .|
00014190  0d 5c ca 51 20 20 20 20  20 20 20 20 20 20 20 20  |.\.Q            |
000141a0  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 54 6f  |.dis_message("To|
000141b0  20 73 61 76 65 2c 20 64  72 61 67 20 74 68 65 20  | save, drag the |
000141c0  66 69 6c 65 20 69 63 6f  6e 20 74 6f 20 61 20 64  |file icon to a d|
000141d0  69 72 65 63 74 6f 72 79  20 76 69 65 77 65 72 22  |irectory viewer"|
000141e0  29 0d 5c d2 0f 20 20 20  20 20 20 20 20 20 20 cc  |).\..          .|
000141f0  0d 5c da 22 20 20 20 20  20 20 20 20 20 20 20 20  |.\."            |
00014200  f2 73 61 76 65 5f 65 78  70 6f 72 74 28 6e 24 2c  |.save_export(n$,|
00014210  30 29 0d 5c e2 24 20 20  20 20 20 20 20 20 20 20  |0).\.$          |
00014220  20 20 c8 99 20 22 48 6f  75 72 67 6c 61 73 73 5f  |  .. "Hourglass_|
00014230  53 6d 61 73 68 22 0d 5c  ea 0f 20 20 20 20 20 20  |Smash".\..      |
00014240  20 20 20 20 cd 0d 5c f2  0d 20 20 20 20 20 20 20  |    ..\..       |
00014250  20 cd 0d 5c fa 15 20 20  20 20 20 20 c9 20 73 61  | ..\..      . sa|
00014260  76 65 5f 63 73 76 25 0d  5d 02 17 20 20 20 20 20  |ve_csv%.]..     |
00014270  20 20 20 e7 20 71 25 21  31 36 3d 32 20 8c 0d 5d  |   . q%!16=2 ..]|
00014280  0a 26 20 20 20 20 20 20  20 20 20 20 6e 24 3d a4  |.&          n$=.|
00014290  67 65 74 74 65 78 74 28  73 61 76 65 5f 63 73 76  |gettext(save_csv|
000142a0  25 2c 31 29 0d 5d 12 29  20 20 20 20 20 20 20 20  |%,1).].)        |
000142b0  20 20 e7 20 a7 6e 24 2c  22 2e 22 29 3d 30 20 80  |  . .n$,".")=0 .|
000142c0  20 a7 6e 24 2c 22 3a 22  29 3d 30 20 8c 0d 5d 1a  | .n$,":")=0 ..].|
000142d0  51 20 20 20 20 20 20 20  20 20 20 20 20 f2 64 69  |Q            .di|
000142e0  73 5f 6d 65 73 73 61 67  65 28 22 54 6f 20 73 61  |s_message("To sa|
000142f0  76 65 2c 20 64 72 61 67  20 74 68 65 20 66 69 6c  |ve, drag the fil|
00014300  65 20 69 63 6f 6e 20 74  6f 20 61 20 64 69 72 65  |e icon to a dire|
00014310  63 74 6f 72 79 20 76 69  65 77 65 72 22 29 0d 5d  |ctory viewer").]|
00014320  22 0f 20 20 20 20 20 20  20 20 20 20 cc 0d 5d 2a  |".          ..]*|
00014330  22 20 20 20 20 20 20 20  20 20 20 20 20 f2 73 61  |"            .sa|
00014340  76 65 5f 65 78 70 6f 72  74 28 6e 24 2c 31 29 0d  |ve_export(n$,1).|
00014350  5d 32 24 20 20 20 20 20  20 20 20 20 20 20 20 c8  |]2$            .|
00014360  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 53 6d 61  |. "Hourglass_Sma|
00014370  73 68 22 0d 5d 3a 0f 20  20 20 20 20 20 20 20 20  |sh".]:.         |
00014380  20 cd 0d 5d 42 0d 20 20  20 20 20 20 20 20 cd 0d  | ..]B.        ..|
00014390  5d 4a 17 20 20 20 20 20  20 c9 20 65 78 70 6f 72  |]J.      . expor|
000143a0  74 5f 63 73 76 25 0d 5d  52 17 20 20 20 20 20 20  |t_csv%.]R.      |
000143b0  20 20 e7 20 71 25 21 31  36 3d 32 20 8c 0d 5d 5a  |  . q%!16=2 ..]Z|
000143c0  28 20 20 20 20 20 20 20  20 20 20 6e 24 3d a4 67  |(          n$=.g|
000143d0  65 74 74 65 78 74 28 65  78 70 6f 72 74 5f 63 73  |ettext(export_cs|
000143e0  76 25 2c 31 29 0d 5d 62  29 20 20 20 20 20 20 20  |v%,1).]b)       |
000143f0  20 20 20 e7 20 a7 6e 24  2c 22 2e 22 29 3d 30 20  |   . .n$,".")=0 |
00014400  80 20 a7 6e 24 2c 22 3a  22 29 3d 30 20 8c 0d 5d  |. .n$,":")=0 ..]|
00014410  6a 51 20 20 20 20 20 20  20 20 20 20 20 20 f2 64  |jQ            .d|
00014420  69 73 5f 6d 65 73 73 61  67 65 28 22 54 6f 20 73  |is_message("To s|
00014430  61 76 65 2c 20 64 72 61  67 20 74 68 65 20 66 69  |ave, drag the fi|
00014440  6c 65 20 69 63 6f 6e 20  74 6f 20 61 20 64 69 72  |le icon to a dir|
00014450  65 63 74 6f 72 79 20 76  69 65 77 65 72 22 29 0d  |ectory viewer").|
00014460  5d 72 0f 20 20 20 20 20  20 20 20 20 20 cc 0d 5d  |]r.          ..]|
00014470  7a 23 20 20 20 20 20 20  20 20 20 20 20 20 f2 73  |z#            .s|
00014480  74 61 72 74 5f 65 78 70  6f 72 74 28 6e 24 2c 30  |tart_export(n$,0|
00014490  29 0d 5d 82 24 20 20 20  20 20 20 20 20 20 20 20  |).].$           |
000144a0  20 c8 99 20 22 48 6f 75  72 67 6c 61 73 73 5f 53  | .. "Hourglass_S|
000144b0  6d 61 73 68 22 0d 5d 8a  0f 20 20 20 20 20 20 20  |mash".]..       |
000144c0  20 20 20 cd 0d 5d 92 0d  20 20 20 20 20 20 20 20  |   ..]..        |
000144d0  cd 0d 5d 9a 18 20 20 20  20 20 20 c9 20 65 78 70  |..]..      . exp|
000144e0  6f 72 74 5f 74 65 78 74  25 0d 5d a2 17 20 20 20  |ort_text%.]..   |
000144f0  20 20 20 20 20 e7 20 71  25 21 31 36 3d 32 20 8c  |     . q%!16=2 .|
00014500  0d 5d aa 29 20 20 20 20  20 20 20 20 20 20 6e 24  |.].)          n$|
00014510  3d a4 67 65 74 74 65 78  74 28 65 78 70 6f 72 74  |=.gettext(export|
00014520  5f 74 65 78 74 25 2c 31  29 0d 5d b2 29 20 20 20  |_text%,1).].)   |
00014530  20 20 20 20 20 20 20 e7  20 a7 6e 24 2c 22 2e 22  |       . .n$,"."|
00014540  29 3d 30 20 80 20 a7 6e  24 2c 22 3a 22 29 3d 30  |)=0 . .n$,":")=0|
00014550  20 8c 0d 5d ba 51 20 20  20 20 20 20 20 20 20 20  | ..].Q          |
00014560  20 20 f2 64 69 73 5f 6d  65 73 73 61 67 65 28 22  |  .dis_message("|
00014570  54 6f 20 73 61 76 65 2c  20 64 72 61 67 20 74 68  |To save, drag th|
00014580  65 20 66 69 6c 65 20 69  63 6f 6e 20 74 6f 20 61  |e file icon to a|
00014590  20 64 69 72 65 63 74 6f  72 79 20 76 69 65 77 65  | directory viewe|
000145a0  72 22 29 0d 5d c2 0f 20  20 20 20 20 20 20 20 20  |r").]..         |
000145b0  20 cc 0d 5d ca 23 20 20  20 20 20 20 20 20 20 20  | ..].#          |
000145c0  20 20 f2 73 74 61 72 74  5f 65 78 70 6f 72 74 28  |  .start_export(|
000145d0  6e 24 2c 31 29 0d 5d d2  24 20 20 20 20 20 20 20  |n$,1).].$       |
000145e0  20 20 20 20 20 c8 99 20  22 48 6f 75 72 67 6c 61  |     .. "Hourgla|
000145f0  73 73 5f 53 6d 61 73 68  22 0d 5d da 0f 20 20 20  |ss_Smash".]..   |
00014600  20 20 20 20 20 20 20 cd  0d 5d e2 0d 20 20 20 20  |       ..]..    |
00014610  20 20 20 20 cd 0d 5d ea  16 20 20 20 20 20 20 c9  |    ..]..      .|
00014620  20 6f 70 74 5f 66 69 6e  65 73 25 0d 5d f2 16 20  | opt_fines%.].. |
00014630  20 20 20 20 20 20 20 c8  8e 20 71 25 21 31 36 20  |       .. q%!16 |
00014640  ca 0d 5d fa 12 20 20 20  20 20 20 20 20 20 20 c9  |..]..          .|
00014650  20 33 38 0d 5e 02 1b 20  20 20 20 20 20 20 20 20  | 38.^..         |
00014660  20 20 20 e3 20 63 25 3d  34 20 b8 20 31 33 0d 5e  |   . c%=4 . 13.^|
00014670  0a 43 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |.C            . |
00014680  a4 49 63 6f 6e 47 65 74  28 6f 70 74 5f 66 69 6e  |.IconGet(opt_fin|
00014690  65 73 25 2c 63 25 29 3d  31 20 8c 20 f2 78 6f 72  |es%,c%)=1 . .xor|
000146a0  28 6f 70 74 5f 66 69 6e  65 73 25 2c 63 25 2c 31  |(opt_fines%,c%,1|
000146b0  29 0d 5e 12 14 20 20 20  20 20 20 20 20 20 20 20  |).^..           |
000146c0  20 ed 20 63 25 0d 5e 1a  25 20 20 20 20 20 20 20  | . c%.^.%       |
000146d0  20 20 20 20 20 f2 78 6f  72 28 6f 70 74 5f 66 69  |     .xor(opt_fi|
000146e0  6e 65 73 25 2c 33 38 2c  31 29 0d 5e 22 1c 20 20  |nes%,38,1).^".  |
000146f0  20 20 20 20 20 20 20 20  20 20 e3 20 63 25 3d 32  |          . c%=2|
00014700  35 20 b8 20 33 36 0d 5e  2a 2a 20 20 20 20 20 20  |5 . 36.^**      |
00014710  20 20 20 20 20 20 f2 70  75 74 74 65 78 74 28 6f  |      .puttext(o|
00014720  70 74 5f 66 69 6e 65 73  25 2c 63 25 2c 22 22 29  |pt_fines%,c%,"")|
00014730  0d 5e 32 14 20 20 20 20  20 20 20 20 20 20 20 20  |.^2.            |
00014740  ed 20 63 25 0d 5e 3a 2c  20 20 20 20 20 20 20 20  |. c%.^:,        |
00014750  20 20 20 20 6c 25 3d a9  28 a4 67 65 74 74 65 78  |    l%=.(.gettex|
00014760  74 28 6f 70 74 5f 66 69  6e 65 73 25 2c 31 29 29  |t(opt_fines%,1))|
00014770  0d 5e 42 41 20 20 20 20  20 20 20 20 20 20 20 20  |.^BA            |
00014780  c8 99 20 22 57 69 6d 70  5f 53 65 74 43 61 72 65  |.. "Wimp_SetCare|
00014790  74 50 6f 73 69 74 69 6f  6e 22 2c 6f 70 74 5f 66  |tPosition",opt_f|
000147a0  69 6e 65 73 25 2c 31 2c  30 2c 30 2c 2d 31 2c 6c  |ines%,1,0,0,-1,l|
000147b0  25 0d 5e 4a 12 20 20 20  20 20 20 20 20 20 20 c9  |%.^J.          .|
000147c0  20 34 30 0d 5e 52 1b 20  20 20 20 20 20 20 20 20  | 40.^R.         |
000147d0  20 20 20 f2 73 61 76 65  5f 66 69 6e 65 73 0d 5e  |   .save_fines.^|
000147e0  5a 12 20 20 20 20 20 20  20 20 20 20 c9 20 34 31  |Z.          . 41|
000147f0  0d 5e 62 1e 20 20 20 20  20 20 20 20 20 20 20 20  |.^b.            |
00014800  21 71 25 3d 6f 70 74 5f  66 69 6e 65 73 25 0d 5e  |!q%=opt_fines%.^|
00014810  6a 29 20 20 20 20 20 20  20 20 20 20 20 20 c8 99  |j)            ..|
00014820  20 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  | "Wimp_CloseWind|
00014830  6f 77 22 2c 2c 71 25 0d  5e 72 0d 20 20 20 20 20  |ow",,q%.^r.     |
00014840  20 20 20 cb 0d 5e 7a 13  20 20 20 20 20 20 c9 20  |   ..^z.      . |
00014850  72 65 6d 6d 65 6d 25 0d  5e 82 16 20 20 20 20 20  |remmem%.^..     |
00014860  20 20 20 c8 8e 20 71 25  21 31 36 20 ca 0d 5e 8a  |   .. q%!16 ..^.|
00014870  12 20 20 20 20 20 20 20  20 20 20 c9 20 31 37 0d  |.          . 17.|
00014880  5e 92 42 20 20 20 20 20  20 20 20 20 20 20 20 e7  |^.B            .|
00014890  20 63 75 72 5f 76 62 25  3e 31 20 8c 20 63 75 72  | cur_vb%>1 . cur|
000148a0  5f 76 62 25 2d 3d 31 3a  f2 69 6e 73 65 72 74 5f  |_vb%-=1:.insert_|
000148b0  6d 65 6d 5f 74 65 78 74  28 72 65 6d 6d 65 6d 25  |mem_text(remmem%|
000148c0  29 0d 5e 9a 12 20 20 20  20 20 20 20 20 20 20 c9  |).^..          .|
000148d0  20 31 38 0d 5e a2 45 20  20 20 20 20 20 20 20 20  | 18.^.E         |
000148e0  20 20 20 e7 20 63 75 72  5f 76 62 25 3c 76 62 6e  |   . cur_vb%<vbn|
000148f0  25 20 8c 20 63 75 72 5f  76 62 25 2b 3d 31 3a f2  |% . cur_vb%+=1:.|
00014900  69 6e 73 65 72 74 5f 6d  65 6d 5f 74 65 78 74 28  |insert_mem_text(|
00014910  72 65 6d 6d 65 6d 25 29  0d 5e aa 12 20 20 20 20  |remmem%).^..    |
00014920  20 20 20 20 20 20 c9 20  32 36 0d 5e b2 1a 20 20  |      . 26.^..  |
00014930  20 20 20 20 20 20 20 20  20 20 e7 20 76 62 6e 25  |          . vbn%|
00014940  3e 30 20 8c 0d 5e ba 4d  20 20 20 20 20 20 20 20  |>0 ..^.M        |
00014950  20 20 20 20 20 20 61 24  3d 22 54 68 69 73 20 6d  |      a$="This m|
00014960  65 6d 62 65 72 20 63 61  6e 6e 6f 74 20 62 65 20  |ember cannot be |
00014970  64 65 6c 65 74 65 64 20  61 73 20 74 68 65 72 65  |deleted as there|
00014980  20 61 72 65 20 73 74 69  6c 6c 20 62 6f 6f 6b 73  | are still books|
00014990  22 0d 5e c2 26 20 20 20  20 20 20 20 20 20 20 20  |".^.&           |
000149a0  20 20 20 61 24 2b 3d 22  20 6f 6e 20 74 68 65 20  |   a$+=" on the |
000149b0  74 69 63 6b 65 74 22 0d  5e ca 22 20 20 20 20 20  |ticket".^."     |
000149c0  20 20 20 20 20 20 20 20  20 f2 64 69 73 5f 6d 65  |         .dis_me|
000149d0  73 73 61 67 65 28 61 24  29 0d 5e d2 11 20 20 20  |ssage(a$).^..   |
000149e0  20 20 20 20 20 20 20 20  20 cc 0d 5e da 1b 20 20  |         ..^..  |
000149f0  20 20 20 20 20 20 20 20  20 20 20 20 f2 77 69 70  |            .wip|
00014a00  65 5f 6d 65 6d 0d 5e e2  11 20 20 20 20 20 20 20  |e_mem.^..       |
00014a10  20 20 20 20 20 cd 0d 5e  ea 12 20 20 20 20 20 20  |     ..^..      |
00014a20  20 20 20 20 c9 20 32 37  0d 5e f2 1b 20 20 20 20  |    . 27.^..    |
00014a30  20 20 20 20 20 20 20 20  21 71 25 3d 72 65 6d 6d  |        !q%=remm|
00014a40  65 6d 25 0d 5e fa 29 20  20 20 20 20 20 20 20 20  |em%.^.)         |
00014a50  20 20 20 c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |   .. "Wimp_Clos|
00014a60  65 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 5f 02 0d  |eWindow",,q%._..|
00014a70  20 20 20 20 20 20 20 20  cb 0d 5f 0a 16 20 20 20  |        .._..   |
00014a80  20 20 20 c9 20 63 68 61  6e 67 65 6d 65 6d 25 0d  |   . changemem%.|
00014a90  5f 12 16 20 20 20 20 20  20 20 20 c8 8e 20 71 25  |_..        .. q%|
00014aa0  21 31 36 20 ca 0d 5f 1a  12 20 20 20 20 20 20 20  |!16 .._..       |
00014ab0  20 20 20 c9 20 31 37 0d  5f 22 45 20 20 20 20 20  |   . 17._"E     |
00014ac0  20 20 20 20 20 20 20 e7  20 63 75 72 5f 76 62 25  |       . cur_vb%|
00014ad0  3e 31 20 8c 20 63 75 72  5f 76 62 25 2d 3d 31 3a  |>1 . cur_vb%-=1:|
00014ae0  f2 69 6e 73 65 72 74 5f  6d 65 6d 5f 74 65 78 74  |.insert_mem_text|
00014af0  28 63 68 61 6e 67 65 6d  65 6d 25 29 0d 5f 2a 12  |(changemem%)._*.|
00014b00  20 20 20 20 20 20 20 20  20 20 c9 20 31 38 0d 5f  |          . 18._|
00014b10  32 20 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |2             . |
00014b20  63 75 72 5f 76 62 25 3c  76 62 6e 25 20 8c 0d 5f  |cur_vb%<vbn% .._|
00014b30  3a 1c 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |:.              |
00014b40  63 75 72 5f 76 62 25 2b  3d 31 0d 5f 42 2e 20 20  |cur_vb%+=1._B.  |
00014b50  20 20 20 20 20 20 20 20  20 20 20 20 f2 69 6e 73  |            .ins|
00014b60  65 72 74 5f 6d 65 6d 5f  74 65 78 74 28 63 68 61  |ert_mem_text(cha|
00014b70  6e 67 65 6d 65 6d 25 29  0d 5f 4a 11 20 20 20 20  |ngemem%)._J.    |
00014b80  20 20 20 20 20 20 20 20  cd 0d 5f 52 12 20 20 20  |        .._R.   |
00014b90  20 20 20 20 20 20 20 c9  20 32 36 0d 5f 5a 1c 20  |       . 26._Z. |
00014ba0  20 20 20 20 20 20 20 20  20 20 20 f2 73 61 76 65  |           .save|
00014bb0  5f 63 68 5f 6d 65 6d 0d  5f 62 12 20 20 20 20 20  |_ch_mem._b.     |
00014bc0  20 20 20 20 20 c9 20 32  37 0d 5f 6a 1e 20 20 20  |     . 27._j.   |
00014bd0  20 20 20 20 20 20 20 20  20 21 71 25 3d 63 68 61  |         !q%=cha|
00014be0  6e 67 65 6d 65 6d 25 0d  5f 72 29 20 20 20 20 20  |ngemem%._r)     |
00014bf0  20 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |       .. "Wimp_|
00014c00  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 71 25  |CloseWindow",,q%|
00014c10  0d 5f 7a 0d 20 20 20 20  20 20 20 20 cb 0d 5f 82  |._z.        .._.|
00014c20  14 20 20 20 20 20 20 c9  20 76 69 65 77 6d 65 6d  |.      . viewmem|
00014c30  25 0d 5f 8a 16 20 20 20  20 20 20 20 20 c8 8e 20  |%._..        .. |
00014c40  71 25 21 31 36 20 ca 0d  5f 92 12 20 20 20 20 20  |q%!16 .._..     |
00014c50  20 20 20 20 20 c9 20 31  37 0d 5f 9a 43 20 20 20  |     . 17._.C   |
00014c60  20 20 20 20 20 20 20 20  20 e7 20 63 75 72 5f 76  |         . cur_v|
00014c70  62 25 3e 31 20 8c 20 63  75 72 5f 76 62 25 2d 3d  |b%>1 . cur_vb%-=|
00014c80  31 3a f2 69 6e 73 65 72  74 5f 6d 65 6d 5f 74 65  |1:.insert_mem_te|
00014c90  78 74 28 76 69 65 77 6d  65 6d 25 29 0d 5f a2 12  |xt(viewmem%)._..|
00014ca0  20 20 20 20 20 20 20 20  20 20 c9 20 31 38 0d 5f  |          . 18._|
00014cb0  aa 20 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |.             . |
00014cc0  63 75 72 5f 76 62 25 3c  76 62 6e 25 20 8c 0d 5f  |cur_vb%<vbn% .._|
00014cd0  b2 1c 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00014ce0  63 75 72 5f 76 62 25 2b  3d 31 0d 5f ba 2c 20 20  |cur_vb%+=1._.,  |
00014cf0  20 20 20 20 20 20 20 20  20 20 20 20 f2 69 6e 73  |            .ins|
00014d00  65 72 74 5f 6d 65 6d 5f  74 65 78 74 28 76 69 65  |ert_mem_text(vie|
00014d10  77 6d 65 6d 25 29 0d 5f  c2 11 20 20 20 20 20 20  |wmem%)._..      |
00014d20  20 20 20 20 20 20 cd 0d  5f ca 12 20 20 20 20 20  |      .._..     |
00014d30  20 20 20 20 20 c9 20 32  38 0d 5f d2 1c 20 20 20  |     . 28._..   |
00014d40  20 20 20 20 20 20 20 20  20 21 71 25 3d 76 69 65  |         !q%=vie|
00014d50  77 6d 65 6d 25 0d 5f da  29 20 20 20 20 20 20 20  |wmem%._.)       |
00014d60  20 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 43 6c  |     .. "Wimp_Cl|
00014d70  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 71 25 0d 5f  |oseWindow",,q%._|
00014d80  e2 12 20 20 20 20 20 20  20 20 20 20 c9 20 32 39  |..          . 29|
00014d90  0d 5f ea 23 20 20 20 20  20 20 20 20 20 20 20 20  |._.#            |
00014da0  e7 20 63 75 72 72 65 6e  74 5f 76 69 65 77 25 3e  |. current_view%>|
00014db0  30 20 8c 0d 5f f2 22 20  20 20 20 20 20 20 20 20  |0 .._."         |
00014dc0  20 20 20 20 20 63 75 72  72 65 6e 74 5f 76 69 65  |     current_vie|
00014dd0  77 25 2d 3d 31 0d 5f fa  3c 20 20 20 20 20 20 20  |w%-=1._.<       |
00014de0  20 20 20 20 20 20 20 f2  64 69 73 5f 6d 65 6d 5f  |       .dis_mem_|
00014df0  64 65 74 61 69 6c 73 28  77 69 6e 73 74 61 63 6b  |details(winstack|
00014e00  24 28 63 75 72 72 65 6e  74 5f 76 69 65 77 25 29  |$(current_view%)|
00014e10  29 0d 60 02 11 20 20 20  20 20 20 20 20 20 20 20  |).`..           |
00014e20  20 cd 0d 60 0a 12 20 20  20 20 20 20 20 20 20 20  | ..`..          |
00014e30  c9 20 33 30 0d 60 12 2b  20 20 20 20 20 20 20 20  |. 30.`.+        |
00014e40  20 20 20 20 e7 20 63 75  72 72 65 6e 74 5f 76 69  |    . current_vi|
00014e50  65 77 25 3c 6d 61 78 5f  76 69 65 77 25 20 8c 0d  |ew%<max_view% ..|
00014e60  60 1a 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |`."             |
00014e70  20 63 75 72 72 65 6e 74  5f 76 69 65 77 25 2b 3d  | current_view%+=|
00014e80  31 0d 60 22 3c 20 20 20  20 20 20 20 20 20 20 20  |1.`"<           |
00014e90  20 20 20 f2 64 69 73 5f  6d 65 6d 5f 64 65 74 61  |   .dis_mem_deta|
00014ea0  69 6c 73 28 77 69 6e 73  74 61 63 6b 24 28 63 75  |ils(winstack$(cu|
00014eb0  72 72 65 6e 74 5f 76 69  65 77 25 29 29 0d 60 2a  |rrent_view%)).`*|
00014ec0  11 20 20 20 20 20 20 20  20 20 20 20 20 cd 0d 60  |.            ..`|
00014ed0  32 0d 20 20 20 20 20 20  20 20 cb 0d 60 3a 17 20  |2.        ..`:. |
00014ee0  20 20 20 20 20 c9 20 6f  76 65 72 64 75 65 5f 70  |     . overdue_p|
00014ef0  72 25 0d 60 42 16 20 20  20 20 20 20 20 20 c8 8e  |r%.`B.        ..|
00014f00  20 71 25 21 31 36 20 ca  0d 60 4a 31 20 20 20 20  | q%!16 ..`J1    |
00014f10  20 20 20 20 20 20 c9 20  31 34 3a 20 70 72 69 6e  |      . 14: prin|
00014f20  74 66 6c 61 67 25 3d b9  3a 63 75 72 72 65 6e 74  |tflag%=.:current|
00014f30  5f 70 72 69 6e 74 25 3d  31 0d 60 52 3d 20 20 20  |_print%=1.`R=   |
00014f40  20 20 20 20 20 20 20 c9  20 31 35 3a 20 21 71 25  |       . 15: !q%|
00014f50  3d 6f 76 65 72 64 75 65  5f 70 72 25 3a c8 99 20  |=overdue_pr%:.. |
00014f60  22 57 69 6d 70 5f 43 6c  6f 73 65 57 69 6e 64 6f  |"Wimp_CloseWindo|
00014f70  77 22 2c 2c 71 25 0d 60  5a 0d 20 20 20 20 20 20  |w",,q%.`Z.      |
00014f80  20 20 cb 0d 60 62 12 20  20 20 20 20 20 c9 20 70  |  ..`b.      . p|
00014f90  72 69 6e 74 25 0d 60 6a  16 20 20 20 20 20 20 20  |rint%.`j.       |
00014fa0  20 c8 8e 20 71 25 21 31  36 20 ca 0d 60 72 37 20  | .. q%!16 ..`r7 |
00014fb0  20 20 20 20 20 20 20 20  20 c9 20 34 3a 20 21 71  |         . 4: !q|
00014fc0  25 3d 70 72 69 6e 74 25  3a c8 99 20 22 57 69 6d  |%=print%:.. "Wim|
00014fd0  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00014fe0  71 25 0d 60 7a 1f 20 20  20 20 20 20 20 20 20 20  |q%.`z.          |
00014ff0  c9 20 35 3a 20 70 72 69  6e 74 66 6c 61 67 25 3d  |. 5: printflag%=|
00015000  b9 0d 60 82 0d 20 20 20  20 20 20 20 20 cb 0d 60  |..`..        ..`|
00015010  8a 13 20 20 20 20 20 20  c9 20 61 6c 6c 5f 70 72  |..      . all_pr|
00015020  25 0d 60 92 16 20 20 20  20 20 20 20 20 c8 8e 20  |%.`..        .. |
00015030  71 25 21 31 36 20 ca 0d  60 9a 39 20 20 20 20 20  |q%!16 ..`.9     |
00015040  20 20 20 20 20 c9 20 31  31 3a 20 21 71 25 3d 61  |     . 11: !q%=a|
00015050  6c 6c 5f 70 72 25 3a c8  99 20 22 57 69 6d 70 5f  |ll_pr%:.. "Wimp_|
00015060  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 71 25  |CloseWindow",,q%|
00015070  0d 60 a2 20 20 20 20 20  20 20 20 20 20 20 c9 20  |.`.           . |
00015080  31 32 3a 20 70 72 69 6e  74 66 6c 61 67 25 3d b9  |12: printflag%=.|
00015090  0d 60 aa 0d 20 20 20 20  20 20 20 20 cb 0d 60 b2  |.`..        ..`.|
000150a0  09 20 20 20 20 cb 0d 60  ba 0d 20 20 c9 20 31 36  |.    ..`..  . 16|
000150b0  2c 36 34 0d 60 c2 18 20  20 20 20 f2 64 72 61 67  |,64.`..    .drag|
000150c0  5f 62 6f 78 28 71 25 21  31 32 29 0d 60 ca 05 cb  |_box(q%!12).`...|
000150d0  0d 60 d2 05 e1 0d 60 da  04 0d 60 e2 14 dd f2 64  |.`....`...`....d|
000150e0  72 61 67 5f 62 6f 78 28  77 69 6e 25 29 0d 60 ea  |rag_box(win%).`.|
000150f0  7a e7 20 77 69 6e 25 3c  3e 73 61 76 65 5f 62 6f  |z. win%<>save_bo|
00015100  6f 6b 25 20 80 20 77 69  6e 25 3c 3e 73 61 76 65  |ok% . win%<>save|
00015110  5f 6d 65 6d 25 20 80 20  77 69 6e 25 3c 3e 73 61  |_mem% . win%<>sa|
00015120  76 65 5f 63 73 76 25 20  80 20 77 69 6e 25 3c 3e  |ve_csv% . win%<>|
00015130  73 61 76 65 5f 74 65 78  74 25 20 80 20 77 69 6e  |save_text% . win|
00015140  25 3c 3e 65 78 70 6f 72  74 5f 74 65 78 74 25 20  |%<>export_text% |
00015150  80 20 77 69 6e 25 3c 3e  65 78 70 6f 72 74 5f 63  |. win%<>export_c|
00015160  73 76 25 20 8c 20 e1 0d  60 f2 0b ea 20 78 25 2c  |sv% . ..`... x%,|
00015170  79 25 0d 60 fa 29 21 71  25 3d 77 69 6e 25 3a c8  |y%.`.)!q%=win%:.|
00015180  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
00015190  77 53 74 61 74 65 22 2c  2c 71 25 0d 61 02 20 78  |wState",,q%.a. x|
000151a0  25 3d 71 25 21 34 2d 71  25 21 32 30 3a 79 25 3d  |%=q%!4-q%!20:y%=|
000151b0  71 25 21 31 36 2d 71 25  21 32 34 0d 61 0a 37 71  |q%!16-q%!24.a.7q|
000151c0  25 21 34 3d 30 2b 28 33  20 80 20 28 77 69 6e 25  |%!4=0+(3 . (win%|
000151d0  3d 65 78 70 6f 72 74 5f  63 73 76 25 20 84 20 77  |=export_csv% . w|
000151e0  69 6e 25 3d 65 78 70 6f  72 74 5f 74 65 78 74 25  |in%=export_text%|
000151f0  29 29 0d 61 12 1e c8 99  20 22 57 69 6d 70 5f 47  |)).a.... "Wimp_G|
00015200  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 71 25  |etIconState",,q%|
00015210  0d 61 1a 0c 21 71 25 3d  77 69 6e 25 0d 61 22 0a  |.a..!q%=win%.a".|
00015220  71 25 21 34 3d 35 0d 61  2a 16 71 25 21 38 2b 3d  |q%!4=5.a*.q%!8+=|
00015230  78 25 3a 71 25 21 31 32  2b 3d 79 25 0d 61 32 17  |x%:q%!12+=y%.a2.|
00015240  71 25 21 31 36 2b 3d 78  25 3a 71 25 21 32 30 2b  |q%!16+=x%:q%!20+|
00015250  3d 79 25 0d 61 3a 13 71  25 21 32 34 3d 30 3a 71  |=y%.a:.q%!24=0:q|
00015260  25 21 32 38 3d 30 0d 61  42 23 71 25 21 33 32 3d  |%!28=0.aB#q%!32=|
00015270  26 37 46 46 46 46 46 46  46 3a 71 25 21 33 36 3d  |&7FFFFFFF:q%!36=|
00015280  26 37 46 46 46 46 46 46  46 0d 61 4a 21 c8 99 20  |&7FFFFFFF.aJ!.. |
00015290  22 4f 53 5f 42 79 74 65  22 2c 31 36 31 2c 32 38  |"OS_Byte",161,28|
000152a0  20 b8 20 2c 2c 62 79 74  65 25 0d 61 52 13 e7 20  | . ,,byte%.aR.. |
000152b0  28 62 79 74 65 25 20 80  20 31 29 20 8c 0d 61 5a  |(byte% . 1) ..aZ|
000152c0  11 20 20 e3 20 63 25 3d  30 20 b8 20 31 32 0d 61  |.  . c%=0 . 12.a|
000152d0  62 15 20 20 71 25 21 63  25 3d 71 25 21 28 63 25  |b.  q%!c%=q%!(c%|
000152e0  2b 38 29 0d 61 6a 0a 20  20 ed 20 63 25 0d 61 72  |+8).aj.  . c%.ar|
000152f0  0f 20 20 c8 8e 20 77 69  6e 25 20 ca 0d 61 7a 34  |.  .. win% ..az4|
00015300  20 20 20 20 c9 20 73 61  76 65 5f 62 6f 6f 6b 25  |    . save_book%|
00015310  3a 20 61 72 65 61 25 3d  73 70 72 69 74 65 73 25  |: area%=sprites%|
00015320  3a 6e 61 6d 65 24 3d 22  21 21 62 6f 6f 6b 73 22  |:name$="!!books"|
00015330  0d 61 82 35 20 20 20 20  c9 20 73 61 76 65 5f 6d  |.a.5    . save_m|
00015340  65 6d 25 3a 20 61 72 65  61 25 3d 73 70 72 69 74  |em%: area%=sprit|
00015350  65 73 25 3a 6e 61 6d 65  24 3d 22 21 21 6d 65 6d  |es%:name$="!!mem|
00015360  62 65 72 73 22 0d 61 8a  3b 20 20 20 20 c9 20 73  |bers".a.;    . s|
00015370  61 76 65 5f 74 65 78 74  25 2c 65 78 70 6f 72 74  |ave_text%,export|
00015380  5f 74 65 78 74 25 3a 20  61 72 65 61 25 3d 31 3a  |_text%: area%=1:|
00015390  6e 61 6d 65 24 3d 22 66  69 6c 65 5f 66 66 66 22  |name$="file_fff"|
000153a0  0d 61 92 39 20 20 20 20  c9 20 73 61 76 65 5f 63  |.a.9    . save_c|
000153b0  73 76 25 2c 65 78 70 6f  72 74 5f 63 73 76 25 3a  |sv%,export_csv%:|
000153c0  20 61 72 65 61 25 3d 31  3a 6e 61 6d 65 24 3d 22  | area%=1:name$="|
000153d0  66 69 6c 65 5f 64 66 65  22 0d 61 9a 07 20 20 cb  |file_dfe".a..  .|
000153e0  0d 61 a2 35 20 20 c8 99  20 22 44 72 61 67 41 53  |.a.5  .. "DragAS|
000153f0  70 72 69 74 65 5f 53 74  61 72 74 22 2c 25 31 31  |prite_Start",%11|
00015400  30 30 31 30 31 30 2c 61  72 65 61 25 2c 6e 61 6d  |001010,area%,nam|
00015410  65 24 2c 71 25 0d 61 aa  05 cc 0d 61 b2 1b 20 20  |e$,q%.a....a..  |
00015420  c8 99 20 22 57 69 6d 70  5f 44 72 61 67 42 6f 78  |.. "Wimp_DragBox|
00015430  22 2c 2c 71 25 0d 61 ba  05 cd 0d 61 c2 15 64 72  |",,q%.a....a..dr|
00015440  61 67 5f 73 6f 75 72 63  65 25 3d 77 69 6e 25 0d  |ag_source%=win%.|
00015450  61 ca 05 e1 0d 61 d2 04  0d 61 da 0d dd f2 64 72  |a....a...a....dr|
00015460  61 67 67 65 72 0d 61 e2  1a ea 20 66 69 6c 65 24  |agger.a... file$|
00015470  2c 77 69 6e 25 2c 69 63  25 2c 78 25 2c 79 25 0d  |,win%,ic%,x%,y%.|
00015480  61 ea 29 e7 20 28 62 79  74 65 25 20 80 20 31 29  |a.). (byte% . 1)|
00015490  20 8c 20 c8 99 20 22 44  72 61 67 41 53 70 72 69  | . .. "DragASpri|
000154a0  74 65 5f 53 74 6f 70 22  0d 61 f2 20 c8 99 20 22  |te_Stop".a. .. "|
000154b0  57 69 6d 70 5f 47 65 74  50 6f 69 6e 74 65 72 49  |Wimp_GetPointerI|
000154c0  6e 66 6f 22 2c 2c 71 25  0d 61 fa 30 71 25 21 32  |nfo",,q%.a.0q%!2|
000154d0  30 3d 71 25 21 31 32 3a  71 25 21 32 34 3d 71 25  |0=q%!12:q%!24=q%|
000154e0  21 31 36 3a 71 25 21 32  38 3d 21 71 25 3a 71 25  |!16:q%!28=!q%:q%|
000154f0  21 33 32 3d 71 25 21 34  0d 62 02 3f 21 77 69 6d  |!32=q%!4.b.?!wim|
00015500  70 25 3d 64 72 61 67 5f  73 6f 75 72 63 65 25 3a  |p%=drag_source%:|
00015510  77 69 6d 70 25 21 34 3d  31 3a c8 99 20 22 57 69  |wimp%!4=1:.. "Wi|
00015520  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00015530  2c 2c 77 69 6d 70 25 0d  62 0a 15 66 69 6c 65 24  |,,wimp%.b..file$|
00015540  3d 24 28 77 69 6d 70 25  21 32 38 29 0d 62 12 17  |=$(wimp%!28).b..|
00015550  66 69 6c 65 24 3d a4 5f  4c 65 61 66 28 66 69 6c  |file$=._Leaf(fil|
00015560  65 24 29 0d 62 1a 15 c8  8e 20 64 72 61 67 5f 73  |e$).b.... drag_s|
00015570  6f 75 72 63 65 25 20 ca  0d 62 22 20 20 20 c9 20  |ource% ..b"   . |
00015580  73 61 76 65 5f 62 6f 6f  6b 25 3a 20 71 25 21 33  |save_book%: q%!3|
00015590  36 3d 31 34 36 30 30 30  0d 62 2a 1f 20 20 c9 20  |6=146000.b*.  . |
000155a0  73 61 76 65 5f 6d 65 6d  25 3a 20 71 25 21 33 36  |save_mem%: q%!36|
000155b0  3d 35 36 33 30 30 30 0d  62 32 1e 20 20 c9 20 73  |=563000.b2.  . s|
000155c0  61 76 65 5f 74 65 78 74  25 3a 20 71 25 21 33 36  |ave_text%: q%!36|
000155d0  3d 32 30 34 38 0d 62 3a  1d 20 20 c9 20 73 61 76  |=2048.b:.  . sav|
000155e0  65 5f 63 73 76 25 3a 20  71 25 21 33 36 3d 32 30  |e_csv%: q%!36=20|
000155f0  34 38 0d 62 42 1e 20 20  c9 20 65 78 70 6f 72 74  |48.bB.  . export|
00015600  5f 74 65 78 74 25 3a 20  71 25 21 33 36 3d 31 30  |_text%: q%!36=10|
00015610  0d 62 4a 1d 20 20 c9 20  65 78 70 6f 72 74 5f 63  |.bJ.  . export_c|
00015620  73 76 25 3a 20 71 25 21  33 36 3d 31 30 0d 62 52  |sv%: q%!36=10.bR|
00015630  05 cb 0d 62 5a 0b 71 25  21 30 3d 36 34 0d 62 62  |...bZ.q%!0=64.bb|
00015640  0b 71 25 21 31 32 3d 30  0d 62 6a 0b 71 25 21 31  |.q%!12=0.bj.q%!1|
00015650  36 3d 31 0d 62 72 0e 71  25 21 34 30 3d 26 46 46  |6=1.br.q%!40=&FF|
00015660  46 0d 62 7a 12 24 28 71  25 2b 34 34 29 3d 66 69  |F.bz.$(q%+44)=fi|
00015670  6c 65 24 0d 62 82 2b c8  99 20 22 57 69 6d 70 5f  |le$.b.+.. "Wimp_|
00015680  53 65 6e 64 4d 65 73 73  61 67 65 22 2c 31 37 2c  |SendMessage",17,|
00015690  71 25 2c 71 25 21 32 30  2c 71 25 21 32 34 0d 62  |q%,q%!20,q%!24.b|
000156a0  8a 05 e1 0d 62 92 04 0d  62 9a 18 dd f2 73 61 76  |....b...b....sav|
000156b0  65 5f 62 6f 6f 6b 5f 66  69 6c 65 28 6e 24 29 0d  |e_book_file(n$).|
000156c0  62 a2 18 66 69 6c 6f 25  3d 8e 28 6e 24 2b 22 2e  |b..filo%=.(n$+".|
000156d0  21 42 6f 6f 74 22 29 0d  62 aa 0b d9 23 66 69 6c  |!Boot").b...#fil|
000156e0  6f 25 0d 62 b2 10 e7 20  66 69 6c 6f 25 3c 3e 30  |o%.b... filo%<>0|
000156f0  20 8c 0d 62 ba 15 20 20  21 71 25 3d 64 69 72 5f  | ..b..  !q%=dir_|
00015700  65 78 69 73 74 73 25 0d  62 c2 22 20 20 c8 99 20  |exists%.b."  .. |
00015710  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00015720  74 61 74 65 22 2c 2c 71  25 0d 62 ca 0e 20 20 71  |tate",,q%.b..  q|
00015730  25 21 32 38 3d 2d 31 0d  62 d2 1e 20 20 c8 99 20  |%!28=-1.b..  .. |
00015740  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
00015750  22 2c 2c 71 25 0d 62 da  07 20 20 f5 0d 62 e2 25  |",,q%.b..  ..b.%|
00015760  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 50 6f 6c  |    .. "Wimp_Pol|
00015770  6c 22 2c 26 38 31 38 33  30 2c 71 25 20 b8 20 41  |l",&81830,q% . A|
00015780  25 0d 62 ea 36 20 20 fd  20 41 25 3d 36 20 80 20  |%.b.6  . A%=6 . |
00015790  71 25 21 31 32 3d 64 69  72 5f 65 78 69 73 74 73  |q%!12=dir_exists|
000157a0  25 20 80 20 28 71 25 21  31 36 3d 35 20 84 20 71  |% . (q%!16=5 . q|
000157b0  25 21 31 36 3d 36 29 0d  62 f2 15 20 20 21 71 25  |%!16=6).b..  !q%|
000157c0  3d 64 69 72 5f 65 78 69  73 74 73 25 0d 62 fa 1f  |=dir_exists%.b..|
000157d0  20 20 c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |  .. "Wimp_Close|
000157e0  57 69 6e 64 6f 77 22 2c  2c 71 25 0d 63 02 13 20  |Window",,q%.c.. |
000157f0  20 e7 20 71 25 21 31 36  3d 35 20 8c 20 e1 0d 63  | . q%!16=5 . ..c|
00015800  0a 05 cd 0d 63 12 11 ff  28 22 43 44 69 72 20 22  |....c...("CDir "|
00015810  2b 6e 24 29 0d 63 1a 1a  ff 28 22 43 44 69 72 20  |+n$).c...("CDir |
00015820  22 2b 6e 24 2b 22 2e 46  69 6c 65 73 22 29 0d 63  |"+n$+".Files").c|
00015830  22 0e e3 20 63 25 3d 30  20 b8 20 39 0d 63 2a 21  |".. c%=0 . 9.c*!|
00015840  ff 28 22 43 44 69 72 20  22 2b 6e 24 2b 22 2e 46  |.("CDir "+n$+".F|
00015850  69 6c 65 73 2e 22 2b c3  28 63 25 29 29 0d 63 32  |iles."+.(c%)).c2|
00015860  08 ed 20 63 25 0d 63 3a  32 c8 99 20 22 4f 53 5f  |.. c%.c:2.. "OS_|
00015870  53 70 72 69 74 65 4f 70  22 2c 26 31 30 44 2c 62  |SpriteOp",&10D,b|
00015880  6f 6f 6b 73 70 25 2c 62  6f 6f 6b 73 70 6e 61 6d  |ooksp%,bookspnam|
00015890  65 25 2c 31 32 2c 31 0d  63 42 26 73 70 72 69 74  |e%,12,1.cB&sprit|
000158a0  65 5f 6e 61 6d 65 24 3d  a4 73 74 72 69 6e 67 30  |e_name$=.string0|
000158b0  28 62 6f 6f 6b 73 70 6e  61 6d 65 25 29 0d 63 4a  |(bookspname%).cJ|
000158c0  3b c8 99 20 22 4f 53 5f  53 70 72 69 74 65 4f 70  |;.. "OS_SpriteOp|
000158d0  22 2c 26 31 31 41 2c 62  6f 6f 6b 73 70 25 2c 73  |",&11A,booksp%,s|
000158e0  70 72 69 74 65 5f 6e 61  6d 65 24 2c 28 a4 5f 4c  |prite_name$,(._L|
000158f0  65 61 66 28 6e 24 29 29  0d 63 52 32 c8 99 20 22  |eaf(n$)).cR2.. "|
00015900  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 30  |OS_SpriteOp",&10|
00015910  43 2c 62 6f 6f 6b 73 70  25 2c 28 6e 24 2b 22 2e  |C,booksp%,(n$+".|
00015920  21 53 70 72 69 74 65 73  22 29 0d 63 5a 36 c8 99  |!Sprites").cZ6..|
00015930  20 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  | "OS_SpriteOp",&|
00015940  31 30 44 2c 62 6f 6f 6b  73 70 32 32 25 2c 62 6f  |10D,booksp22%,bo|
00015950  6f 6b 73 70 32 32 6e 61  6d 65 25 2c 31 32 2c 31  |oksp22name%,12,1|
00015960  0d 63 62 28 73 70 72 69  74 65 5f 6e 61 6d 65 24  |.cb(sprite_name$|
00015970  3d a4 73 74 72 69 6e 67  30 28 62 6f 6f 6b 73 70  |=.string0(booksp|
00015980  32 32 6e 61 6d 65 25 29  0d 63 6a 3d c8 99 20 22  |22name%).cj=.. "|
00015990  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 31  |OS_SpriteOp",&11|
000159a0  41 2c 62 6f 6f 6b 73 70  32 32 25 2c 73 70 72 69  |A,booksp22%,spri|
000159b0  74 65 5f 6e 61 6d 65 24  2c 28 a4 5f 4c 65 61 66  |te_name$,(._Leaf|
000159c0  28 6e 24 29 29 0d 63 72  36 c8 99 20 22 4f 53 5f  |(n$)).cr6.. "OS_|
000159d0  53 70 72 69 74 65 4f 70  22 2c 26 31 30 43 2c 62  |SpriteOp",&10C,b|
000159e0  6f 6f 6b 73 70 32 32 25  2c 28 6e 24 2b 22 2e 21  |ooksp22%,(n$+".!|
000159f0  53 70 72 69 74 65 73 32  32 22 29 0d 63 7a 18 66  |Sprites22").cz.f|
00015a00  69 6c 6f 25 3d ae 28 6e  24 2b 22 2e 21 42 6f 6f  |ilo%=.(n$+".!Boo|
00015a10  74 22 29 0d 63 82 2b d5  23 66 69 6c 6f 25 2c 28  |t").c.+.#filo%,(|
00015a20  22 7c 21 42 6f 6f 74 20  66 69 6c 65 20 66 6f 72  |"|!Boot file for|
00015a30  20 22 2b a4 5f 4c 65 61  66 28 6e 24 29 29 0d 63  | "+._Leaf(n$)).c|
00015a40  8a 1a 64 69 72 25 3d bb  28 c2 a4 5f 4c 65 61 66  |..dir%=.(.._Leaf|
00015a50  28 6e 24 29 2c 31 29 29  0d 63 92 0e d5 23 66 69  |(n$),1)).c...#fi|
00015a60  6c 6f 25 2c 22 22 0d 63  9a 46 61 24 3d 22 53 65  |lo%,"".c.Fa$="Se|
00015a70  74 20 22 2b 28 c2 a4 5f  4c 65 61 66 28 6e 24 29  |t "+(.._Leaf(n$)|
00015a80  2c 28 a9 28 a4 5f 4c 65  61 66 28 6e 24 29 29 2d  |,(.(._Leaf(n$))-|
00015a90  32 29 29 29 2b 22 24 44  69 72 20 3c 4f 62 65 79  |2)))+"$Dir <Obey|
00015aa0  24 44 69 72 3e 2e 46 69  6c 65 73 22 0d 63 a2 0e  |$Dir>.Files".c..|
00015ab0  d5 23 66 69 6c 6f 25 2c  61 24 0d 63 aa 2d d5 23  |.#filo%,a$.c.-.#|
00015ac0  66 69 6c 6f 25 2c 22 49  63 6f 6e 53 70 72 69 74  |filo%,"IconSprit|
00015ad0  65 73 20 3c 4f 62 65 79  24 44 69 72 3e 2e 21 53  |es <Obey$Dir>.!S|
00015ae0  70 72 69 74 65 73 22 0d  63 b2 0b d9 23 66 69 6c  |prites".c...#fil|
00015af0  6f 25 0d 63 ba 25 ff 28  22 53 65 74 54 79 70 65  |o%.c.%.("SetType|
00015b00  20 22 2b 6e 24 2b 22 2e  21 42 6f 6f 74 22 2b 22  | "+n$+".!Boot"+"|
00015b10  20 4f 62 65 79 22 29 0d  63 c2 17 66 69 6c 6f 25  | Obey").c..filo%|
00015b20  3d ae 28 6e 24 2b 22 2e  21 52 75 6e 22 29 0d 63  |=.(n$+".!Run").c|
00015b30  ca 2a d5 23 66 69 6c 6f  25 2c 28 22 7c 21 52 75  |.*.#filo%,("|!Ru|
00015b40  6e 20 66 69 6c 65 20 66  6f 72 20 22 2b a4 5f 4c  |n file for "+._L|
00015b50  65 61 66 28 6e 24 29 29  0d 63 d2 0e d5 23 66 69  |eaf(n$)).c...#fi|
00015b60  6c 6f 25 2c 22 22 0d 63  da 46 61 24 3d 22 53 65  |lo%,"".c.Fa$="Se|
00015b70  74 20 22 2b 28 c2 a4 5f  4c 65 61 66 28 6e 24 29  |t "+(.._Leaf(n$)|
00015b80  2c 28 a9 28 a4 5f 4c 65  61 66 28 6e 24 29 29 2d  |,(.(._Leaf(n$))-|
00015b90  32 29 29 29 2b 22 24 44  69 72 20 3c 4f 62 65 79  |2)))+"$Dir <Obey|
00015ba0  24 44 69 72 3e 2e 46 69  6c 65 73 22 0d 63 e2 0e  |$Dir>.Files".c..|
00015bb0  d5 23 66 69 6c 6f 25 2c  61 24 0d 63 ea 2d d5 23  |.#filo%,a$.c.-.#|
00015bc0  66 69 6c 6f 25 2c 22 49  63 6f 6e 53 70 72 69 74  |filo%,"IconSprit|
00015bd0  65 73 20 3c 4f 62 65 79  24 44 69 72 3e 2e 21 53  |es <Obey$Dir>.!S|
00015be0  70 72 69 74 65 73 22 0d  63 f2 3e d5 23 66 69 6c  |prites".c.>.#fil|
00015bf0  6f 25 2c 22 53 65 74 20  41 6c 69 61 73 24 4f 70  |o%,"Set Alias$Op|
00015c00  65 6e 44 69 72 20 46 69  6c 65 72 5f 4f 70 65 6e  |enDir Filer_Open|
00015c10  44 69 72 20 3c 4f 62 65  79 24 44 69 72 3e 2e 46  |Dir <Obey$Dir>.F|
00015c20  69 6c 65 73 22 0d 63 fa  15 d5 23 66 69 6c 6f 25  |iles".c...#filo%|
00015c30  2c 22 4f 70 65 6e 44 69  72 22 0d 64 02 1b d5 23  |,"OpenDir".d...#|
00015c40  66 69 6c 6f 25 2c 22 55  6e 73 65 74 20 4f 70 65  |filo%,"Unset Ope|
00015c50  6e 44 69 72 22 0d 64 0a  0b d9 23 66 69 6c 6f 25  |nDir".d...#filo%|
00015c60  0d 64 12 24 ff 28 22 53  65 74 54 79 70 65 20 22  |.d.$.("SetType "|
00015c70  2b 6e 24 2b 22 2e 21 52  75 6e 22 2b 22 20 4f 62  |+n$+".!Run"+" Ob|
00015c80  65 79 22 29 0d 64 1a 11  e3 20 63 25 3d 30 20 b8  |ey").d... c%=0 .|
00015c90  20 31 32 34 39 0d 64 22  11 62 6f 6f 6b 64 65 66  | 1249.d".bookdef|
00015ca0  25 3f 63 25 3d 30 0d 64  2a 08 ed 20 63 25 0d 64  |%?c%=0.d*.. c%.d|
00015cb0  32 0e 63 75 72 5f 62 64  25 3d 2d 31 0d 64 3a 35  |2.cur_bd%=-1.d:5|
00015cc0  ff 28 22 53 61 76 65 20  22 2b 6e 24 2b 22 2e 42  |.("Save "+n$+".B|
00015cd0  6f 6f 6b 44 65 66 20 22  2b c3 7e 62 6f 6f 6b 64  |ookDef "+.~bookd|
00015ce0  65 66 25 2b 22 20 2b 20  22 2b c3 7e 31 32 35 30  |ef%+" + "+.~1250|
00015cf0  29 0d 64 42 15 c8 99 20  22 48 6f 75 72 67 6c 61  |).dB... "Hourgla|
00015d00  73 73 5f 4f 6e 22 0d 64  4a 0e e3 20 63 25 3d 30  |ss_On".dJ.. c%=0|
00015d10  20 b8 20 39 0d 64 52 0e  e3 20 64 25 3d 30 20 b8  | . 9.dR.. d%=0 .|
00015d20  20 39 0d 64 5a 26 c8 99  20 22 48 6f 75 72 67 6c  | 9.dZ&.. "Hourgl|
00015d30  61 73 73 5f 50 65 72 63  65 6e 74 61 67 65 22 2c  |ass_Percentage",|
00015d40  63 25 2a 31 30 2b 64 25  0d 64 62 3a 66 69 6c 6f  |c%*10+d%.db:filo|
00015d50  25 3d ae 28 6e 24 2b 22  2e 46 69 6c 65 73 2e 22  |%=.(n$+".Files."|
00015d60  2b c3 28 63 25 29 2b 22  2e 22 2b c3 28 64 25 29  |+.(c%)+"."+.(d%)|
00015d70  2b 22 30 30 2d 22 2b c3  28 64 25 29 2b 22 39 39  |+"00-"+.(d%)+"99|
00015d80  22 29 0d 64 6a 10 e3 20  71 25 3d 31 20 b8 20 31  |").dj.. q%=1 . 1|
00015d90  30 30 0d 64 72 0e e3 20  65 25 3d 30 20 b8 20 34  |00.dr.. e%=0 . 4|
00015da0  0d 64 7a 0e f1 23 66 69  6c 6f 25 2c 22 22 0d 64  |.dz..#filo%,"".d|
00015db0  82 08 ed 20 65 25 0d 64  8a 09 70 75 74 3d 30 0d  |... e%.d..put=0.|
00015dc0  64 92 0e e3 20 65 25 3d  31 20 b8 20 32 0d 64 9a  |d... e%=1 . 2.d.|
00015dd0  0f f1 23 66 69 6c 6f 25  2c 70 75 74 0d 64 a2 08  |..#filo%,put.d..|
00015de0  ed 20 65 25 0d 64 aa 08  ed 20 71 25 0d 64 b2 0b  |. e%.d... q%.d..|
00015df0  d9 23 66 69 6c 6f 25 0d  64 ba 0b ed 20 64 25 2c  |.#filo%.d... d%,|
00015e00  63 25 0d 64 c2 16 c8 99  20 22 48 6f 75 72 67 6c  |c%.d.... "Hourgl|
00015e10  61 73 73 5f 4f 66 66 22  0d 64 ca 1b c8 99 20 22  |ass_Off".d.... "|
00015e20  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00015e30  2c 2d 31 0d 64 d2 0c e7  20 77 5f 61 25 20 8c 0d  |,-1.d... w_a% ..|
00015e40  64 da 39 20 20 61 24 3d  22 50 22 2b c3 28 6c 6f  |d.9  a$="P"+.(lo|
00015e50  67 67 65 64 5f 6f 6e 25  29 2b 22 3b 22 2b 70 61  |gged_on%)+";"+pa|
00015e60  73 73 24 28 6c 6f 67 67  65 64 5f 6f 6e 25 2c 30  |ss$(logged_on%,0|
00015e70  29 2b 22 3b 22 2b 6e 24  0d 64 e2 17 20 20 f2 61  |)+";"+n$.d..  .a|
00015e80  64 64 5f 77 61 74 63 68  64 6f 67 28 61 24 29 0d  |dd_watchdog(a$).|
00015e90  64 ea 05 cd 0d 64 f2 05  e1 0d 64 fa 04 0d 65 02  |d....d....d...e.|
00015ea0  17 dd f2 73 61 76 65 5f  6d 65 6d 5f 66 69 6c 65  |...save_mem_file|
00015eb0  28 6e 24 29 0d 65 0a 18  66 69 6c 6f 25 3d 8e 28  |(n$).e..filo%=.(|
00015ec0  6e 24 2b 22 2e 21 42 6f  6f 74 22 29 0d 65 12 0b  |n$+".!Boot").e..|
00015ed0  d9 23 66 69 6c 6f 25 0d  65 1a 10 e7 20 66 69 6c  |.#filo%.e... fil|
00015ee0  6f 25 3c 3e 30 20 8c 0d  65 22 15 20 20 21 71 25  |o%<>0 ..e".  !q%|
00015ef0  3d 64 69 72 5f 65 78 69  73 74 73 25 0d 65 2a 22  |=dir_exists%.e*"|
00015f00  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |  .. "Wimp_GetWi|
00015f10  6e 64 6f 77 53 74 61 74  65 22 2c 2c 71 25 0d 65  |ndowState",,q%.e|
00015f20  32 0e 20 20 71 25 21 32  38 3d 2d 31 0d 65 3a 1e  |2.  q%!28=-1.e:.|
00015f30  20 20 c8 99 20 22 57 69  6d 70 5f 4f 70 65 6e 57  |  .. "Wimp_OpenW|
00015f40  69 6e 64 6f 77 22 2c 2c  71 25 0d 65 42 07 20 20  |indow",,q%.eB.  |
00015f50  f5 0d 65 4a 25 20 20 20  20 c8 99 20 22 57 69 6d  |..eJ%    .. "Wim|
00015f60  70 5f 50 6f 6c 6c 22 2c  26 38 31 38 33 30 2c 71  |p_Poll",&81830,q|
00015f70  25 20 b8 20 41 25 0d 65  52 36 20 20 fd 20 41 25  |% . A%.eR6  . A%|
00015f80  3d 36 20 80 20 71 25 21  31 32 3d 64 69 72 5f 65  |=6 . q%!12=dir_e|
00015f90  78 69 73 74 73 25 20 80  20 28 71 25 21 31 36 3d  |xists% . (q%!16=|
00015fa0  35 20 84 20 71 25 21 31  36 3d 36 29 0d 65 5a 15  |5 . q%!16=6).eZ.|
00015fb0  20 20 21 71 25 3d 64 69  72 5f 65 78 69 73 74 73  |  !q%=dir_exists|
00015fc0  25 0d 65 62 1f 20 20 c8  99 20 22 57 69 6d 70 5f  |%.eb.  .. "Wimp_|
00015fd0  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 71 25  |CloseWindow",,q%|
00015fe0  0d 65 6a 13 20 20 e7 20  71 25 21 31 36 3d 35 20  |.ej.  . q%!16=5 |
00015ff0  8c 20 e1 0d 65 72 05 cd  0d 65 7a 15 c8 99 20 22  |. ..er...ez... "|
00016000  48 6f 75 72 67 6c 61 73  73 5f 4f 6e 22 0d 65 82  |Hourglass_On".e.|
00016010  11 ff 28 22 43 44 69 72  20 22 2b 6e 24 29 0d 65  |..("CDir "+n$).e|
00016020  8a 1a ff 28 22 43 44 69  72 20 22 2b 6e 24 2b 22  |...("CDir "+n$+"|
00016030  2e 46 69 6c 65 73 22 29  0d 65 92 30 c8 99 20 22  |.Files").e.0.. "|
00016040  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 30  |OS_SpriteOp",&10|
00016050  44 2c 6d 65 6d 73 70 25  2c 6d 65 6d 73 70 6e 61  |D,memsp%,memspna|
00016060  6d 65 25 2c 31 32 2c 31  0d 65 9a 25 73 70 72 69  |me%,12,1.e.%spri|
00016070  74 65 5f 6e 61 6d 65 24  3d a4 73 74 72 69 6e 67  |te_name$=.string|
00016080  30 28 6d 65 6d 73 70 6e  61 6d 65 25 29 0d 65 a2  |0(memspname%).e.|
00016090  3a c8 99 20 22 4f 53 5f  53 70 72 69 74 65 4f 70  |:.. "OS_SpriteOp|
000160a0  22 2c 26 31 31 41 2c 6d  65 6d 73 70 25 2c 73 70  |",&11A,memsp%,sp|
000160b0  72 69 74 65 5f 6e 61 6d  65 24 2c 28 a4 5f 4c 65  |rite_name$,(._Le|
000160c0  61 66 28 6e 24 29 29 0d  65 aa 31 c8 99 20 22 4f  |af(n$)).e.1.. "O|
000160d0  53 5f 53 70 72 69 74 65  4f 70 22 2c 26 31 30 43  |S_SpriteOp",&10C|
000160e0  2c 6d 65 6d 73 70 25 2c  28 6e 24 2b 22 2e 21 53  |,memsp%,(n$+".!S|
000160f0  70 72 69 74 65 73 22 29  0d 65 b2 34 c8 99 20 22  |prites").e.4.. "|
00016100  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 30  |OS_SpriteOp",&10|
00016110  44 2c 6d 65 6d 73 70 32  32 25 2c 6d 65 6d 73 70  |D,memsp22%,memsp|
00016120  32 32 6e 61 6d 65 25 2c  31 32 2c 31 0d 65 ba 27  |22name%,12,1.e.'|
00016130  73 70 72 69 74 65 5f 6e  61 6d 65 24 3d a4 73 74  |sprite_name$=.st|
00016140  72 69 6e 67 30 28 6d 65  6d 73 70 32 32 6e 61 6d  |ring0(memsp22nam|
00016150  65 25 29 0d 65 c2 3c c8  99 20 22 4f 53 5f 53 70  |e%).e.<.. "OS_Sp|
00016160  72 69 74 65 4f 70 22 2c  26 31 31 41 2c 6d 65 6d  |riteOp",&11A,mem|
00016170  73 70 32 32 25 2c 73 70  72 69 74 65 5f 6e 61 6d  |sp22%,sprite_nam|
00016180  65 24 2c 28 a4 5f 4c 65  61 66 28 6e 24 29 29 0d  |e$,(._Leaf(n$)).|
00016190  65 ca 35 c8 99 20 22 4f  53 5f 53 70 72 69 74 65  |e.5.. "OS_Sprite|
000161a0  4f 70 22 2c 26 31 30 43  2c 6d 65 6d 73 70 32 32  |Op",&10C,memsp22|
000161b0  25 2c 28 6e 24 2b 22 2e  21 53 70 72 69 74 65 73  |%,(n$+".!Sprites|
000161c0  32 32 22 29 0d 65 d2 18  66 69 6c 6f 25 3d ae 28  |22").e..filo%=.(|
000161d0  6e 24 2b 22 2e 21 42 6f  6f 74 22 29 0d 65 da 2b  |n$+".!Boot").e.+|
000161e0  d5 23 66 69 6c 6f 25 2c  28 22 7c 21 42 6f 6f 74  |.#filo%,("|!Boot|
000161f0  20 66 69 6c 65 20 66 6f  72 20 22 2b a4 5f 4c 65  | file for "+._Le|
00016200  61 66 28 6e 24 29 29 0d  65 e2 0e d5 23 66 69 6c  |af(n$)).e...#fil|
00016210  6f 25 2c 22 22 0d 65 ea  46 61 24 3d 22 53 65 74  |o%,"".e.Fa$="Set|
00016220  20 22 2b 28 c2 a4 5f 4c  65 61 66 28 6e 24 29 2c  | "+(.._Leaf(n$),|
00016230  28 a9 28 a4 5f 4c 65 61  66 28 6e 24 29 29 2d 32  |(.(._Leaf(n$))-2|
00016240  29 29 29 2b 22 24 44 69  72 20 3c 4f 62 65 79 24  |)))+"$Dir <Obey$|
00016250  44 69 72 3e 2e 46 69 6c  65 73 22 0d 65 f2 0e d5  |Dir>.Files".e...|
00016260  23 66 69 6c 6f 25 2c 61  24 0d 65 fa 2d d5 23 66  |#filo%,a$.e.-.#f|
00016270  69 6c 6f 25 2c 22 49 63  6f 6e 53 70 72 69 74 65  |ilo%,"IconSprite|
00016280  73 20 3c 4f 62 65 79 24  44 69 72 3e 2e 21 53 70  |s <Obey$Dir>.!Sp|
00016290  72 69 74 65 73 22 0d 66  02 0b d9 23 66 69 6c 6f  |rites".f...#filo|
000162a0  25 0d 66 0a 25 ff 28 22  53 65 74 54 79 70 65 20  |%.f.%.("SetType |
000162b0  22 2b 6e 24 2b 22 2e 21  42 6f 6f 74 22 2b 22 20  |"+n$+".!Boot"+" |
000162c0  4f 62 65 79 22 29 0d 66  12 17 66 69 6c 6f 25 3d  |Obey").f..filo%=|
000162d0  ae 28 6e 24 2b 22 2e 21  52 75 6e 22 29 0d 66 1a  |.(n$+".!Run").f.|
000162e0  2a d5 23 66 69 6c 6f 25  2c 28 22 7c 21 52 75 6e  |*.#filo%,("|!Run|
000162f0  20 66 69 6c 65 20 66 6f  72 20 22 2b a4 5f 4c 65  | file for "+._Le|
00016300  61 66 28 6e 24 29 29 0d  66 22 0e d5 23 66 69 6c  |af(n$)).f"..#fil|
00016310  6f 25 2c 22 22 0d 66 2a  46 61 24 3d 22 53 65 74  |o%,"".f*Fa$="Set|
00016320  20 22 2b 28 c2 a4 5f 4c  65 61 66 28 6e 24 29 2c  | "+(.._Leaf(n$),|
00016330  28 a9 28 a4 5f 4c 65 61  66 28 6e 24 29 29 2d 32  |(.(._Leaf(n$))-2|
00016340  29 29 29 2b 22 24 44 69  72 20 3c 4f 62 65 79 24  |)))+"$Dir <Obey$|
00016350  44 69 72 3e 2e 46 69 6c  65 73 22 0d 66 32 0e d5  |Dir>.Files".f2..|
00016360  23 66 69 6c 6f 25 2c 61  24 0d 66 3a 2d d5 23 66  |#filo%,a$.f:-.#f|
00016370  69 6c 6f 25 2c 22 49 63  6f 6e 53 70 72 69 74 65  |ilo%,"IconSprite|
00016380  73 20 3c 4f 62 65 79 24  44 69 72 3e 2e 21 53 70  |s <Obey$Dir>.!Sp|
00016390  72 69 74 65 73 22 0d 66  42 3e d5 23 66 69 6c 6f  |rites".fB>.#filo|
000163a0  25 2c 22 53 65 74 20 41  6c 69 61 73 24 4f 70 65  |%,"Set Alias$Ope|
000163b0  6e 44 69 72 20 46 69 6c  65 72 5f 4f 70 65 6e 44  |nDir Filer_OpenD|
000163c0  69 72 20 3c 4f 62 65 79  24 44 69 72 3e 2e 46 69  |ir <Obey$Dir>.Fi|
000163d0  6c 65 73 22 0d 66 4a 15  d5 23 66 69 6c 6f 25 2c  |les".fJ..#filo%,|
000163e0  22 4f 70 65 6e 44 69 72  22 0d 66 52 1b d5 23 66  |"OpenDir".fR..#f|
000163f0  69 6c 6f 25 2c 22 55 6e  73 65 74 20 4f 70 65 6e  |ilo%,"Unset Open|
00016400  44 69 72 22 0d 66 5a 0b  d9 23 66 69 6c 6f 25 0d  |Dir".fZ..#filo%.|
00016410  66 62 24 ff 28 22 53 65  74 54 79 70 65 20 22 2b  |fb$.("SetType "+|
00016420  6e 24 2b 22 2e 21 52 75  6e 22 2b 22 20 4f 62 65  |n$+".!Run"+" Obe|
00016430  79 22 29 0d 66 6a 15 c8  99 20 22 48 6f 75 72 67  |y").fj... "Hourg|
00016440  6c 61 73 73 5f 4f 6e 22  0d 66 72 10 e3 20 63 25  |lass_On".fr.. c%|
00016450  3d 36 35 20 b8 20 39 30  0d 66 7a 21 ff 28 22 43  |=65 . 90.fz!.("C|
00016460  64 69 72 20 22 2b 6e 24  2b 22 2e 46 69 6c 65 73  |dir "+n$+".Files|
00016470  2e 22 2b bd 28 63 25 29  29 0d 66 82 0e e3 20 64  |."+.(c%)).f... d|
00016480  25 3d 30 20 b8 20 39 0d  66 8a 35 c8 99 20 22 48  |%=0 . 9.f.5.. "H|
00016490  6f 75 72 67 6c 61 73 73  5f 50 65 72 63 65 6e 74  |ourglass_Percent|
000164a0  61 67 65 22 2c 28 28 63  25 2d 36 35 29 2a 31 30  |age",((c%-65)*10|
000164b0  2b 64 25 29 2f 32 36 30  2a 31 30 30 0d 66 92 29  |+d%)/260*100.f.)|
000164c0  66 69 6c 6f 25 3d ae 28  6e 24 2b 22 2e 46 69 6c  |filo%=.(n$+".Fil|
000164d0  65 73 2e 22 2b bd 28 63  25 29 2b 22 2e 22 2b c3  |es."+.(c%)+"."+.|
000164e0  28 64 25 29 29 0d 66 9a  0d f1 23 66 69 6c 6f 25  |(d%)).f...#filo%|
000164f0  2c 30 0d 66 a2 0b d9 23  66 69 6c 6f 25 0d 66 aa  |,0.f...#filo%.f.|
00016500  0b ed 20 64 25 2c 63 25  0d 66 b2 1b c8 99 20 22  |.. d%,c%.f.... "|
00016510  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00016520  2c 2d 31 0d 66 ba 0c e7  20 77 5f 61 25 20 8c 0d  |,-1.f... w_a% ..|
00016530  66 c2 39 20 20 61 24 3d  22 51 22 2b c3 28 6c 6f  |f.9  a$="Q"+.(lo|
00016540  67 67 65 64 5f 6f 6e 25  29 2b 22 3b 22 2b 70 61  |gged_on%)+";"+pa|
00016550  73 73 24 28 6c 6f 67 67  65 64 5f 6f 6e 25 2c 30  |ss$(logged_on%,0|
00016560  29 2b 22 3b 22 2b 6e 24  0d 66 ca 17 20 20 f2 61  |)+";"+n$.f..  .a|
00016570  64 64 5f 77 61 74 63 68  64 6f 67 28 61 24 29 0d  |dd_watchdog(a$).|
00016580  66 d2 05 cd 0d 66 da 16  c8 99 20 22 48 6f 75 72  |f....f.... "Hour|
00016590  67 6c 61 73 73 5f 4f 66  66 22 0d 66 e2 05 e1 0d  |glass_Off".f....|
000165a0  66 ea 04 0d 66 f2 0a dd  f2 69 6e 69 74 0d 66 fa  |f...f....init.f.|
000165b0  1e de 20 74 61 73 6b 69  64 25 34 3a 24 74 61 73  |.. taskid%4:$tas|
000165c0  6b 69 64 25 3d 22 54 41  53 4b 22 0d 67 02 40 c8  |kid%="TASK".g.@.|
000165d0  99 20 22 57 69 6d 70 5f  49 6e 69 74 69 61 6c 69  |. "Wimp_Initiali|
000165e0  73 65 22 2c 32 32 33 2c  21 74 61 73 6b 69 64 25  |se",223,!taskid%|
000165f0  2c 22 4c 69 62 72 61 72  79 22 20 b8 20 76 65 72  |,"Library" . ver|
00016600  73 69 6f 6e 25 2c 6d 79  69 64 25 0d 67 0a 11 de  |sion%,myid%.g...|
00016610  20 6d 65 6e 61 64 25 28  33 30 30 29 0d 67 12 2c  | menad%(300).g.,|
00016620  de 20 77 69 6e 73 74 61  63 6b 24 28 31 30 30 30  |. winstack$(1000|
00016630  30 29 2c 77 69 6e 6b 65  79 28 31 30 30 30 30 29  |0),winkey(10000)|
00016640  3a 77 69 6e 70 25 3d 30  0d 67 1a 1a de 20 6c 69  |:winp%=0.g... li|
00016650  6e 65 24 28 31 30 30 29  2c 6c 69 6e 25 28 31 30  |ne$(100),lin%(10|
00016660  30 29 0d 67 22 0e de 20  6f 64 74 24 28 33 30 29  |0).g".. odt$(30)|
00016670  0d 67 2a 13 de 20 6c 65  6e 64 69 6e 67 25 28 31  |.g*.. lending%(1|
00016680  2c 32 29 0d 67 32 1c de  20 6d 65 6e 75 25 20 26  |,2).g2.. menu% &|
00016690  32 30 30 30 3a 63 75 72  25 3d 6d 65 6e 75 25 0d  |2000:cur%=menu%.|
000166a0  67 3a 1c de 20 6d 65 6e  75 69 6e 64 25 20 26 32  |g:.. menuind% &2|
000166b0  30 30 30 3a 6d 65 69 6e  25 3d 30 0d 67 42 1a de  |000:mein%=0.gB..|
000166c0  20 66 6d 25 20 26 32 30  30 30 2c 66 6d 69 25 20  | fm% &2000,fmi% |
000166d0  26 32 30 30 30 0d 67 4a  11 de 20 61 64 64 72 65  |&2000.gJ.. addre|
000166e0  73 73 24 28 36 29 0d 67  52 13 de 20 63 6f 6d 6d  |ss$(6).gR.. comm|
000166f0  61 5f 70 6c 25 28 31 32  29 0d 67 5a 0f de 20 76  |a_pl%(12).gZ.. v|
00016700  61 72 69 24 28 31 33 29  0d 67 62 12 de 20 70 6f  |ari$(13).gb.. po|
00016710  63 6b 5f 74 69 6e 24 28  33 29 0d 67 6a 13 de 20  |ck_tin$(3).gj.. |
00016720  76 6d 5f 64 74 24 28 31  30 30 2c 34 29 0d 67 72  |vm_dt$(100,4).gr|
00016730  14 de 20 68 65 6c 70 69  25 28 31 30 30 30 2c 31  |.. helpi%(1000,1|
00016740  29 0d 67 7a 12 de 20 68  65 6c 70 69 24 28 31 30  |).gz.. helpi$(10|
00016750  30 30 29 0d 67 82 0e de  20 71 25 20 26 32 30 30  |00).g... q% &200|
00016760  30 0d 67 8a 10 de 20 77  69 6d 70 25 20 31 30 32  |0.g... wimp% 102|
00016770  34 0d 67 92 12 de 20 62  75 66 66 65 72 73 25 20  |4.g... buffers% |
00016780  35 31 32 0d 67 9a 10 de  20 44 62 75 66 66 65 72  |512.g... Dbuffer|
00016790  20 31 33 0d 67 a2 20 de  20 76 61 72 24 28 39 39  | 13.g. . var$(99|
000167a0  2c 34 29 2c 76 61 72 5f  73 70 24 28 39 2c 39 39  |,4),var_sp$(9,99|
000167b0  2c 34 29 0d 67 aa 1e de  20 73 65 6e 28 39 39 2c  |,4).g... sen(99,|
000167c0  31 29 2c 73 65 6e 5f 73  70 28 39 2c 39 39 2c 31  |1),sen_sp(9,99,1|
000167d0  29 0d 67 b2 13 de 20 73  65 70 72 25 28 31 2c 31  |).g... sepr%(1,1|
000167e0  2c 31 30 29 0d 67 ba 17  de 20 5f 74 69 74 6c 65  |,10).g... _title|
000167f0  73 74 72 69 6e 67 25 20  32 35 36 0d 67 c2 0d de  |string% 256.g...|
00016800  20 5f 70 25 20 32 35 36  0d 67 ca 12 de 20 6d 65  | _p% 256.g... me|
00016810  6d 64 61 74 61 25 28 33  30 29 0d 67 d2 1f de 20  |mdata%(30).g... |
00016820  62 6f 6f 6b 64 65 66 25  20 31 32 35 30 30 3a 63  |bookdef% 12500:c|
00016830  75 72 5f 62 64 25 3d 2d  31 0d 67 da 17 de 20 62  |ur_bd%=-1.g... b|
00016840  6f 6f 6b 5f 64 69 72 5f  64 65 66 25 28 31 30 29  |ook_dir_def%(10)|
00016850  0d 67 e2 17 de 20 6d 65  6d 5f 64 69 72 5f 64 65  |.g... mem_dir_de|
00016860  66 25 28 31 30 30 29 0d  67 ea 0b de 20 73 25 28  |f%(100).g... s%(|
00016870  34 29 0d 67 f2 0f de 20  67 6f 74 24 28 31 30 30  |4).g... got$(100|
00016880  29 0d 67 fa 19 de 20 64  61 79 28 31 29 2c 6d 6f  |).g... day(1),mo|
00016890  6e 28 31 29 2c 79 72 28  31 29 0d 68 02 1b de 20  |n(1),yr(1).h... |
000168a0  70 61 73 73 24 28 32 35  35 2c 31 29 2c 70 6e 25  |pass$(255,1),pn%|
000168b0  28 32 35 35 29 0d 68 0a  0c de 20 69 6e 25 28 39  |(255).h... in%(9|
000168c0  29 0d 68 12 2e de 20 74  72 61 6e 73 25 20 31 36  |).h... trans% 16|
000168d0  2c 72 65 63 74 25 20 31  36 2c 70 6c 6f 74 61 74  |,rect% 16,plotat|
000168e0  25 20 31 36 2c 72 65 63  74 69 6e 25 20 31 36 0d  |% 16,rectin% 16.|
000168f0  68 1a 18 de 20 70 61 24  28 32 30 30 29 2c 70 61  |h... pa$(200),pa|
00016900  6e 25 28 32 30 30 29 0d  68 22 0e de 20 65 63 25  |n%(200).h".. ec%|
00016910  28 33 2c 33 29 0d 68 2a  10 63 75 72 72 5f 65 78  |(3,3).h*.curr_ex|
00016920  70 25 3d 2d 31 0d 68 32  0d 70 5f 70 74 72 25 3d  |p%=-1.h2.p_ptr%=|
00016930  2d 31 0d 68 3a 0d 63 61  63 68 65 25 3d 2d 31 0d  |-1.h:.cache%=-1.|
00016940  68 42 0a 63 64 66 25 3d  a3 0d 68 4a 11 6d 65 6e  |hB.cdf%=..hJ.men|
00016950  75 5f 66 6c 61 67 25 3d  2d 31 0d 68 52 10 70 72  |u_flag%=-1.hR.pr|
00016960  69 6e 74 66 6c 61 67 25  3d a3 0d 68 5a 10 6c 6f  |intflag%=..hZ.lo|
00016970  67 67 65 64 5f 6f 6e 25  3d a3 0d 68 62 10 68 65  |gged_on%=..hb.he|
00016980  6c 70 69 5f 70 74 72 25  3d 30 0d 68 6a 0f 75 73  |lpi_ptr%=0.hj.us|
00016990  69 6e 67 5f 72 64 25 3d  30 0d 68 72 10 73 6d 65  |ing_rd%=0.hr.sme|
000169a0  67 5f 66 6c 61 67 25 3d  b9 0d 68 7a 15 c8 99 20  |g_flag%=..hz... |
000169b0  22 48 6f 75 72 67 6c 61  73 73 5f 4f 6e 22 0d 68  |"Hourglass_On".h|
000169c0  82 10 f2 73 70 72 69 74  65 5f 6c 6f 61 64 0d 68  |...sprite_load.h|
000169d0  8a 12 6c 69 62 69 63 6f  6e 25 3d a4 69 63 6f 6e  |..libicon%=.icon|
000169e0  0d 68 92 21 c8 99 20 22  57 69 6d 70 5f 50 6f 6c  |.h.!.. "Wimp_Pol|
000169f0  6c 22 2c 26 38 31 38 33  30 2c 71 25 20 b8 20 41  |l",&81830,q% . A|
00016a00  25 0d 68 9a 13 f2 69 6e  69 74 5f 74 65 6d 70 6c  |%.h...init_templ|
00016a10  61 74 65 73 0d 68 a2 11  f2 6f 70 65 6e 5f 64 69  |ates.h...open_di|
00016a20  73 70 6c 61 79 0d 68 aa  34 f2 70 75 74 74 65 78  |splay.h.4.puttex|
00016a30  74 28 64 69 73 70 6c 61  79 25 2c 32 2c 22 4c 6f  |t(display%,2,"Lo|
00016a40  61 64 69 6e 67 20 76 65  72 73 69 6f 6e 20 6e 75  |ading version nu|
00016a50  6d 62 65 72 2e 2e 2e 22  29 0d 68 b2 21 c8 99 20  |mber...").h.!.. |
00016a60  22 57 69 6d 70 5f 50 6f  6c 6c 22 2c 26 38 31 38  |"Wimp_Poll",&818|
00016a70  33 30 2c 71 25 20 b8 20  41 25 0d 68 ba 0e f2 69  |30,q% . A%.h...i|
00016a80  6e 69 74 5f 76 65 72 73  0d 68 c2 31 f2 70 75 74  |nit_vers.h.1.put|
00016a90  74 65 78 74 28 64 69 73  70 6c 61 79 25 2c 32 2c  |text(display%,2,|
00016aa0  22 4c 6f 61 64 69 6e 67  20 70 72 65 66 65 72 65  |"Loading prefere|
00016ab0  6e 63 65 73 2e 2e 2e 22  29 0d 68 ca 21 c8 99 20  |nces...").h.!.. |
00016ac0  22 57 69 6d 70 5f 50 6f  6c 6c 22 2c 26 38 31 38  |"Wimp_Poll",&818|
00016ad0  33 30 2c 71 25 20 b8 20  41 25 0d 68 d2 0f f2 69  |30,q% . A%.h...i|
00016ae0  6e 69 74 5f 70 72 65 66  73 0d 68 da 3a f2 70 75  |nit_prefs.h.:.pu|
00016af0  74 74 65 78 74 28 64 69  73 70 6c 61 79 25 2c 32  |ttext(display%,2|
00016b00  2c 22 4c 6f 6f 6b 69 6e  67 20 66 6f 72 20 62 6f  |,"Looking for bo|
00016b10  6f 6b 20 64 69 72 65 63  74 6f 72 69 65 73 2e 2e  |ok directories..|
00016b20  2e 22 29 0d 68 e2 21 c8  99 20 22 57 69 6d 70 5f  |.").h.!.. "Wimp_|
00016b30  50 6f 6c 6c 22 2c 26 38  31 38 33 30 2c 71 25 20  |Poll",&81830,q% |
00016b40  b8 20 41 25 0d 68 ea 14  f2 63 68 65 63 6b 5f 62  |. A%.h...check_b|
00016b50  6f 6f 6b 5f 64 69 72 73  0d 68 f2 3c f2 70 75 74  |ook_dirs.h.<.put|
00016b60  74 65 78 74 28 64 69 73  70 6c 61 79 25 2c 32 2c  |text(display%,2,|
00016b70  22 4c 6f 6f 6b 69 6e 67  20 66 6f 72 20 6d 65 6d  |"Looking for mem|
00016b80  62 65 72 20 64 69 72 65  63 74 6f 72 69 65 73 2e  |ber directories.|
00016b90  2e 2e 22 29 0d 68 fa 21  c8 99 20 22 57 69 6d 70  |..").h.!.. "Wimp|
00016ba0  5f 50 6f 6c 6c 22 2c 26  38 31 38 33 30 2c 71 25  |_Poll",&81830,q%|
00016bb0  20 b8 20 41 25 0d 69 02  13 f2 63 68 65 63 6b 5f  | . A%.i...check_|
00016bc0  6d 65 6d 5f 64 69 72 73  0d 69 0a 2e f2 70 75 74  |mem_dirs.i...put|
00016bd0  74 65 78 74 28 64 69 73  70 6c 61 79 25 2c 32 2c  |text(display%,2,|
00016be0  22 53 65 74 74 69 6e 67  20 75 70 20 6d 65 6e 75  |"Setting up menu|
00016bf0  73 2e 2e 2e 22 29 0d 69  12 21 c8 99 20 22 57 69  |s...").i.!.. "Wi|
00016c00  6d 70 5f 50 6f 6c 6c 22  2c 26 38 31 38 33 30 2c  |mp_Poll",&81830,|
00016c10  71 25 20 b8 20 41 25 0d  69 1a 0e f2 73 65 74 75  |q% . A%.i...setu|
00016c20  70 6d 65 6e 75 0d 69 22  3b f2 70 75 74 74 65 78  |pmenu.i";.puttex|
00016c30  74 28 64 69 73 70 6c 61  79 25 2c 32 2c 22 4c 6f  |t(display%,2,"Lo|
00016c40  61 64 69 6e 67 20 69 6e  74 65 72 61 63 74 69 76  |ading interactiv|
00016c50  65 20 68 65 6c 70 20 74  65 78 74 2e 2e 2e 22 29  |e help text...")|
00016c60  0d 69 2a 21 c8 99 20 22  57 69 6d 70 5f 50 6f 6c  |.i*!.. "Wimp_Pol|
00016c70  6c 22 2c 26 38 31 38 33  30 2c 71 25 20 b8 20 41  |l",&81830,q% . A|
00016c80  25 0d 69 32 0e f2 69 6e  69 74 5f 68 65 6c 70 0d  |%.i2..init_help.|
00016c90  69 3a 3a f2 70 75 74 74  65 78 74 28 64 69 73 70  |i::.puttext(disp|
00016ca0  6c 61 79 25 2c 32 2c 22  4c 6f 61 64 69 6e 67 20  |lay%,2,"Loading |
00016cb0  70 61 73 73 77 6f 72 64  20 69 6e 66 6f 72 6d 61  |password informa|
00016cc0  74 69 6f 6e 2e 2e 2e 22  29 0d 69 42 21 c8 99 20  |tion...").iB!.. |
00016cd0  22 57 69 6d 70 5f 50 6f  6c 6c 22 2c 26 38 31 38  |"Wimp_Poll",&818|
00016ce0  33 30 2c 71 25 20 b8 20  41 25 0d 69 4a 0e f2 69  |30,q% . A%.iJ..i|
00016cf0  6e 69 74 5f 70 61 73 73  0d 69 52 3a f2 70 75 74  |nit_pass.iR:.put|
00016d00  74 65 78 74 28 64 69 73  70 6c 61 79 25 2c 32 2c  |text(display%,2,|
00016d10  22 49 6e 69 74 69 61 6c  69 73 69 6e 67 20 61 63  |"Initialising ac|
00016d20  63 65 73 73 20 73 65 74  74 69 6e 67 73 2e 2e 2e  |cess settings...|
00016d30  22 29 0d 69 5a 21 c8 99  20 22 57 69 6d 70 5f 50  |").iZ!.. "Wimp_P|
00016d40  6f 6c 6c 22 2c 26 38 31  38 33 30 2c 71 25 20 b8  |oll",&81830,q% .|
00016d50  20 41 25 0d 69 62 0e f2  69 6e 69 74 5f 67 72 65  | A%.ib..init_gre|
00016d60  79 0d 69 6a 18 c8 99 20  22 48 6f 75 72 67 6c 61  |y.ij... "Hourgla|
00016d70  73 73 5f 53 6d 61 73 68  22 0d 69 72 05 e1 0d 69  |ss_Smash".ir...i|
00016d80  7a 04 0d 69 82 0f dd f2  69 6e 69 74 5f 67 72 65  |z..i....init_gre|
00016d90  79 0d 69 8a 3d 6d 65 6e  61 64 25 28 31 29 21 28  |y.i.=menad%(1)!(|
00016da0  32 38 2b 28 35 2a 32 34  29 2b 38 29 3d 6d 65 6e  |28+(5*24)+8)=men|
00016db0  61 64 25 28 31 29 21 28  32 38 2b 28 35 2a 32 34  |ad%(1)!(28+(5*24|
00016dc0  29 2b 38 29 20 82 20 28  31 3c 3c 32 32 29 0d 69  |)+8) . (1<<22).i|
00016dd0  92 3d 6d 65 6e 61 64 25  28 31 29 21 28 32 38 2b  |.=menad%(1)!(28+|
00016de0  28 33 2a 32 34 29 2b 38  29 3d 6d 65 6e 61 64 25  |(3*24)+8)=menad%|
00016df0  28 31 29 21 28 32 38 2b  28 33 2a 32 34 29 2b 38  |(1)!(28+(3*24)+8|
00016e00  29 20 82 20 28 31 3c 3c  32 32 29 0d 69 9a 32 66  |) . (1<<22).i.2f|
00016e10  69 6c 6f 25 3d 8e 28 22  3c 4c 69 62 72 61 72 79  |ilo%=.("<Library|
00016e20  24 44 69 72 3e 2e 50 72  65 66 65 72 65 6e 63 65  |$Dir>.Preference|
00016e30  2e 57 61 74 63 68 41 63  74 69 76 22 29 0d 69 a2  |.WatchActiv").i.|
00016e40  10 77 5f 61 25 3d 9a 23  66 69 6c 6f 25 0d 69 aa  |.w_a%=.#filo%.i.|
00016e50  0e 77 61 25 3d 31 2d 77  5f 61 25 0d 69 b2 0b d9  |.wa%=1-w_a%.i...|
00016e60  23 66 69 6c 6f 25 0d 69  ba 4a 6d 65 6e 61 64 25  |#filo%.i.Jmenad%|
00016e70  28 31 30 29 21 28 32 38  2b 28 28 77 61 25 2b 31  |(10)!(28+((wa%+1|
00016e80  29 2a 32 34 29 2b 38 29  3d 6d 65 6e 61 64 25 28  |)*24)+8)=menad%(|
00016e90  31 29 21 28 32 38 2b 28  28 77 61 25 2b 31 29 2a  |1)!(28+((wa%+1)*|
00016ea0  32 34 29 2b 38 29 20 82  20 28 31 3c 3c 32 32 29  |24)+8) . (1<<22)|
00016eb0  0d 69 c2 11 de 20 67 72  65 79 25 28 31 33 2c 31  |.i... grey%(13,1|
00016ec0  29 0d 69 ca 08 f7 20 2b  33 0d 69 d2 0f e3 20 63  |).i... +3.i... c|
00016ed0  25 3d 30 20 b8 20 31 33  0d 69 da 1d f3 20 67 72  |%=0 . 13.i... gr|
00016ee0  65 79 25 28 63 25 2c 30  29 2c 67 72 65 79 25 28  |ey%(c%,0),grey%(|
00016ef0  63 25 2c 31 29 0d 69 e2  08 ed 20 63 25 0d 69 ea  |c%,1).i... c%.i.|
00016f00  3d dc 20 33 2c 30 2c 33  2c 31 2c 33 2c 33 2c 33  |=. 3,0,3,1,3,3,3|
00016f10  2c 34 2c 33 2c 35 2c 34  2c 30 2c 34 2c 31 2c 34  |,4,3,5,4,0,4,1,4|
00016f20  2c 32 2c 34 2c 33 2c 32  2c 32 2c 32 2c 33 2c 32  |,2,4,3,2,2,2,3,2|
00016f30  2c 34 2c 32 2c 36 2c 33  2c 37 0d 69 f2 41 c8 99  |,4,2,6,3,7.i.A..|
00016f40  20 22 4f 53 5f 52 65 61  64 56 61 72 56 61 6c 22  | "OS_ReadVarVal"|
00016f50  2c 22 4c 69 62 72 61 72  79 24 54 65 6d 70 6c 61  |,"Library$Templa|
00016f60  74 65 73 22 2c 77 69 6d  70 25 2c 32 35 36 2c 30  |tes",wimp%,256,0|
00016f70  2c 30 20 b8 20 2c 2c 6c  65 6e 25 0d 69 fa 12 77  |,0 . ,,len%.i..w|
00016f80  69 6d 70 25 3f 28 6c 65  6e 25 29 3d 30 0d 6a 02  |imp%?(len%)=0.j.|
00016f90  19 74 65 6d 70 24 3d a4  73 74 72 69 6e 67 30 28  |.temp$=.string0(|
00016fa0  77 69 6d 70 25 29 0d 6a  0a 1a e7 20 74 65 6d 70  |wimp%).j... temp|
00016fb0  24 3d 22 54 65 6d 70 6c  61 74 65 73 32 22 20 8c  |$="Templates2" .|
00016fc0  0d 6a 12 3f 20 20 6d 65  6e 61 64 25 28 36 29 21  |.j.?  menad%(6)!|
00016fd0  28 32 38 2b 28 33 2a 32  34 29 2b 38 29 3d 6d 65  |(28+(3*24)+8)=me|
00016fe0  6e 61 64 25 28 36 29 21  28 32 38 2b 28 33 2a 32  |nad%(6)!(28+(3*2|
00016ff0  34 29 2b 38 29 20 82 20  28 31 3c 3c 32 32 29 0d  |4)+8) . (1<<22).|
00017000  6a 1a 05 cc 0d 6a 22 11  20 20 e7 20 66 5f 66 6c  |j....j".  . f_fl|
00017010  61 67 25 20 8c 0d 6a 2a  37 20 20 20 20 6d 65 6e  |ag% ..j*7    men|
00017020  61 64 25 28 36 29 21 28  32 38 2b 28 33 2a 32 34  |ad%(6)!(28+(3*24|
00017030  29 29 3d 6d 65 6e 61 64  25 28 36 29 21 28 32 38  |))=menad%(6)!(28|
00017040  2b 28 33 2a 32 34 29 29  20 84 20 31 0d 6a 32 07  |+(3*24)) . 1.j2.|
00017050  20 20 cd 0d 6a 3a 05 cd  0d 6a 42 05 e1 0d 6a 4a  |  ..j:...jB...jJ|
00017060  04 0d 6a 52 14 dd a4 47  65 74 5f 53 65 61 72 63  |..jR...Get_Searc|
00017070  68 28 73 24 29 0d 6a 5a  0c 6c 25 3d a9 28 73 24  |h(s$).jZ.l%=.(s$|
00017080  29 0d 6a 62 0f e7 20 6c  25 3d 30 20 8c 20 3d 30  |).jb.. l%=0 . =0|
00017090  0d 6a 6a 09 61 63 63 3d  30 0d 6a 72 0e e7 20 6c  |.jj.acc=0.jr.. l|
000170a0  25 3e 3d 32 37 20 8c 0d  6a 7a 11 20 20 e3 20 63  |%>=27 ..jz.  . c|
000170b0  25 3d 31 20 b8 20 32 37  0d 6a 82 27 20 20 61 63  |%=1 . 27.j.'  ac|
000170c0  63 2b 3d 32 36 5e 28 32  37 2d 63 25 29 2a 28 97  |c+=26^(27-c%)*(.|
000170d0  28 c1 73 24 2c 63 25 2c  31 29 29 2d 36 35 29 0d  |(.s$,c%,1))-65).|
000170e0  6a 8a 0a 20 20 ed 20 63  25 0d 6a 92 05 cc 0d 6a  |j..  . c%.j....j|
000170f0  9a 14 20 20 e3 20 63 25  3d 31 20 b8 20 a9 28 73  |..  . c%=1 . .(s|
00017100  24 29 0d 6a a2 27 20 20  61 63 63 2b 3d 32 36 5e  |$).j.'  acc+=26^|
00017110  28 32 37 2d 63 25 29 2a  28 97 28 c1 73 24 2c 63  |(27-c%)*(.(.s$,c|
00017120  25 2c 31 29 29 2d 36 35  29 0d 6a aa 0a 20 20 ed  |%,1))-65).j..  .|
00017130  20 63 25 0d 6a b2 05 cd  0d 6a ba 08 3d 61 63 63  | c%.j....j..=acc|
00017140  0d 6a c2 04 0d 6a ca 12  dd f2 73 65 61 72 63 68  |.j...j....search|
00017150  5f 74 69 74 6c 65 0d 6a  d2 14 f2 63 68 65 63 6b  |_title.j...check|
00017160  5f 62 6f 6f 6b 5f 64 69  72 73 0d 6a da 13 f2 63  |_book_dirs.j...c|
00017170  68 65 63 6b 5f 6d 65 6d  5f 64 69 72 73 0d 6a e2  |heck_mem_dirs.j.|
00017180  15 e7 20 62 6f 6f 6b 5f  63 6f 75 6e 74 25 3d 30  |.. book_count%=0|
00017190  20 8c 0d 6a ea 46 20 20  f2 64 69 73 5f 6d 65 73  | ..j.F  .dis_mes|
000171a0  73 61 67 65 28 22 4e 6f  20 62 6f 6f 6b 20 64 69  |sage("No book di|
000171b0  72 65 63 74 6f 72 69 65  73 20 68 61 76 65 20 62  |rectories have b|
000171c0  65 65 6e 20 73 65 65 6e  20 62 79 20 74 68 65 20  |een seen by the |
000171d0  66 69 6c 65 72 2e 22 29  0d 6a f2 07 20 20 e1 0d  |filer.").j..  ..|
000171e0  6a fa 05 cd 0d 6b 02 0f  75 73 69 6e 67 5f 72 64  |j....k..using_rd|
000171f0  25 3d 32 0d 6b 0a 0b 77  69 6e 70 25 3d 30 0d 6b  |%=2.k..winp%=0.k|
00017200  12 1b 74 24 3d a4 67 65  74 74 65 78 74 28 73 65  |..t$=.gettext(se|
00017210  61 72 63 68 25 2c 31 31  29 0d 6b 1a 1f 74 24 3d  |arch%,11).k..t$=|
00017220  a4 52 65 6d 6f 76 65 5f  50 75 6e 63 28 a4 55 70  |.Remove_Punc(.Up|
00017230  70 65 72 28 74 24 29 29  0d 6b 22 1d 6e 6f 24 3d  |per(t$)).k".no$=|
00017240  a4 41 63 63 6e 5f 41 6c  67 6f 72 69 74 68 6d 28  |.Accn_Algorithm(|
00017250  b9 2c 74 24 29 0d 6b 2a  14 63 74 25 3d bb 28 c1  |.,t$).k*.ct%=.(.|
00017260  6e 6f 24 2c 32 2c 32 29  29 0d 6b 32 19 c8 95 20  |no$,2,2)).k2... |
00017270  63 74 25 3c 3d 39 39 20  80 20 77 69 6e 70 25 3c  |ct%<=99 . winp%<|
00017280  32 31 0d 6b 3a 22 20 20  f2 6f 70 65 6e 5f 62 6f  |21.k:"  .open_bo|
00017290  6f 6b 5f 63 61 63 68 65  5f 73 65 61 72 63 68 28  |ok_cache_search(|
000172a0  6e 6f 24 29 0d 6b 42 18  20 20 70 69 63 6b 25 3d  |no$).kB.  pick%=|
000172b0  bb 28 6e 6f 24 29 20 83  20 31 30 30 0d 6b 4a 0e  |.(no$) . 100.kJ.|
000172c0  20 20 77 25 3d 70 69 63  6b 25 0d 6b 52 17 20 20  |  w%=pick%.kR.  |
000172d0  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 6e  |.. "Hourglass_On|
000172e0  22 0d 6b 5a 1a 20 20 c8  95 20 77 25 3c 31 30 30  |".kZ.  .. w%<100|
000172f0  20 80 20 77 69 6e 70 25  3c 32 31 0d 6b 62 0c 20  | . winp%<21.kb. |
00017300  20 20 20 69 25 3d 30 0d  6b 6a 1b 20 20 20 20 c8  |   i%=0.kj.    .|
00017310  95 20 69 25 3c 31 30 20  80 20 77 69 6e 70 25 3c  |. i%<10 . winp%<|
00017320  32 31 0d 6b 72 1f 20 20  20 20 20 20 e7 20 62 6f  |21.kr.      . bo|
00017330  6f 6b 5f 64 69 72 5f 64  65 66 25 28 69 25 29 20  |ok_dir_def%(i%) |
00017340  8c 0d 6b 7a 22 20 20 20  20 20 20 20 20 63 6f 6d  |..kz"        com|
00017350  24 3d a4 54 77 69 6e 65  28 6e 6f 24 2c 77 25 2c  |$=.Twine(no$,w%,|
00017360  69 25 29 0d 6b 82 1b 20  20 20 20 20 20 20 20 6e  |i%).k..        n|
00017370  6f 25 3d bb 28 c0 63 6f  6d 24 2c 35 29 29 0d 6b  |o%=.(.com$,5)).k|
00017380  8a 1a 20 20 20 20 20 20  20 20 64 69 76 69 73 25  |..        divis%|
00017390  3d 6e 6f 25 20 81 20 38  0d 6b 92 1a 20 20 20 20  |=no% . 8.k..    |
000173a0  20 20 20 20 6d 6f 64 75  6c 25 3d 6e 6f 25 20 83  |    modul%=no% .|
000173b0  20 38 0d 6b 9a 3c 20 20  20 20 20 20 20 20 e7 20  | 8.k.<        . |
000173c0  28 28 62 6f 6f 6b 64 65  66 25 3f 64 69 76 69 73  |((bookdef%?divis|
000173d0  25 20 80 20 28 31 3c 3c  6d 6f 64 75 6c 25 29 29  |% . (1<<modul%))|
000173e0  3e 3e 3e 6d 6f 64 75 6c  25 29 3d 31 20 8c 0d 6b  |>>>modul%)=1 ..k|
000173f0  a2 2b 20 20 20 20 20 20  20 20 20 20 77 69 6e 6b  |.+          wink|
00017400  65 79 28 77 69 6e 70 25  29 3d 73 65 6e 5f 73 70  |ey(winp%)=sen_sp|
00017410  28 69 25 2c 77 25 2c 30  29 0d 6b aa 2f 20 20 20  |(i%,w%,0).k./   |
00017420  20 20 20 20 20 20 20 77  69 6e 73 74 61 63 6b 24  |       winstack$|
00017430  28 77 69 6e 70 25 29 3d  76 61 72 5f 73 70 24 28  |(winp%)=var_sp$(|
00017440  69 25 2c 77 25 2c 30 29  0d 6b b2 34 20 20 20 20  |i%,w%,0).k.4    |
00017450  20 20 20 20 20 20 77 69  6e 73 74 61 63 6b 24 28  |      winstack$(|
00017460  77 69 6e 70 25 29 2b 3d  22 a4 22 2b 76 61 72 5f  |winp%)+="."+var_|
00017470  73 70 24 28 69 25 2c 77  25 2c 31 29 0d 6b ba 34  |sp$(i%,w%,1).k.4|
00017480  20 20 20 20 20 20 20 20  20 20 77 69 6e 73 74 61  |          winsta|
00017490  63 6b 24 28 77 69 6e 70  25 29 2b 3d 22 a4 22 2b  |ck$(winp%)+="."+|
000174a0  76 61 72 5f 73 70 24 28  69 25 2c 77 25 2c 32 29  |var_sp$(i%,w%,2)|
000174b0  0d 6b c2 34 20 20 20 20  20 20 20 20 20 20 77 69  |.k.4          wi|
000174c0  6e 73 74 61 63 6b 24 28  77 69 6e 70 25 29 2b 3d  |nstack$(winp%)+=|
000174d0  22 a4 22 2b 76 61 72 5f  73 70 24 28 69 25 2c 77  |"."+var_sp$(i%,w|
000174e0  25 2c 34 29 0d 6b ca 28  20 20 20 20 20 20 20 20  |%,4).k.(        |
000174f0  20 20 77 69 6e 73 74 61  63 6b 24 28 77 69 6e 70  |  winstack$(winp|
00017500  25 29 2b 3d 22 a4 22 2b  63 6f 6d 24 0d 6b d2 25  |%)+="."+com$.k.%|
00017510  20 20 20 20 20 20 20 20  20 20 77 69 6e 70 25 2b  |          winp%+|
00017520  3d 2d 31 2a 28 77 69 6e  70 25 3c 31 30 30 30 30  |=-1*(winp%<10000|
00017530  29 0d 6b da 0d 20 20 20  20 20 20 20 20 cd 0d 6b  |).k..        ..k|
00017540  e2 0b 20 20 20 20 20 20  cd 0d 6b ea 0f 20 20 20  |..      ..k..   |
00017550  20 20 20 69 25 2b 3d 31  0d 6b f2 09 20 20 20 20  |   i%+=1.k..    |
00017560  ce 0d 6b fa 0d 20 20 20  20 77 25 2b 3d 31 0d 6c  |..k..    w%+=1.l|
00017570  02 07 20 20 ce 0d 6c 0a  18 20 20 c8 99 20 22 48  |..  ..l..  .. "H|
00017580  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 6c 12  |ourglass_Off".l.|
00017590  0c 20 20 63 74 25 2b 3d  31 0d 6c 1a 1e 20 20 6e  |.  ct%+=1.l..  n|
000175a0  6f 24 3d a4 7a 65 72 6f  28 c3 28 63 74 25 29 2c  |o$=.zero(.(ct%),|
000175b0  33 29 2b 22 30 30 22 0d  6c 22 05 ce 0d 6c 2a 12  |3)+"00".l"...l*.|
000175c0  f2 73 6f 72 74 28 77 69  6e 70 25 2d 31 29 0d 6c  |.sort(winp%-1).l|
000175d0  32 09 21 71 25 3d 30 0d  6c 3a 18 71 25 21 34 3d  |2.!q%=0.l:.q%!4=|
000175e0  2d 31 30 2b 28 77 69 6e  70 25 29 2a 2d 34 38 0d  |-10+(winp%)*-48.|
000175f0  6c 42 1b 71 25 21 38 3d  28 36 2b 35 30 2b 34 30  |lB.q%!8=(6+50+40|
00017600  2b 31 35 2b 33 30 29 2a  31 36 0d 6c 4a 0b 71 25  |+15+30)*16.lJ.q%|
00017610  21 31 32 3d 30 0d 6c 52  24 c8 99 20 22 57 69 6d  |!12=0.lR$.. "Wim|
00017620  70 5f 53 65 74 45 78 74  65 6e 74 22 2c 6d 61 69  |p_SetExtent",mai|
00017630  6e 5f 61 75 78 25 2c 71  25 0d 6c 5a 11 21 71 25  |n_aux%,q%.lZ.!q%|
00017640  3d 6d 61 69 6e 5f 61 75  78 25 0d 6c 62 1f c8 99  |=main_aux%.lb...|
00017650  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
00017660  49 6e 66 6f 22 2c 2c 71  25 0d 6c 6a 10 5f 70 25  |Info",,q%.lj._p%|
00017670  3d 21 28 71 25 2b 37 36  29 0d 6c 72 1a 24 5f 70  |=!(q%+76).lr.$_p|
00017680  25 3d 22 53 65 61 72 63  68 20 62 79 20 54 69 74  |%="Search by Tit|
00017690  6c 65 22 0d 6c 7a 13 f2  63 6f 6d 70 69 6c 65 5f  |le".lz..compile_|
000176a0  73 74 5f 77 69 6e 0d 6c  82 16 c8 99 20 22 48 6f  |st_win.l.... "Ho|
000176b0  75 72 67 6c 61 73 73 5f  4f 66 66 22 0d 6c 8a 11  |urglass_Off".l..|
000176c0  21 71 25 3d 6d 61 69 6e  5f 61 75 78 25 0d 6c 92  |!q%=main_aux%.l.|
000176d0  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
000176e0  64 6f 77 53 74 61 74 65  22 2c 2c 71 25 0d 6c 9a  |dowState",,q%.l.|
000176f0  0c 71 25 21 32 38 3d 2d  31 0d 6c a2 1c c8 99 20  |.q%!28=-1.l.... |
00017700  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
00017710  22 2c 2c 71 25 0d 6c aa  05 e1 0d 6c b2 04 0d 6c  |",,q%.l....l...l|
00017720  ba 13 dd f2 73 65 61 72  63 68 5f 61 75 74 68 6f  |....search_autho|
00017730  72 0d 6c c2 14 f2 63 68  65 63 6b 5f 62 6f 6f 6b  |r.l...check_book|
00017740  5f 64 69 72 73 0d 6c ca  13 f2 63 68 65 63 6b 5f  |_dirs.l...check_|
00017750  6d 65 6d 5f 64 69 72 73  0d 6c d2 15 e7 20 62 6f  |mem_dirs.l... bo|
00017760  6f 6b 5f 63 6f 75 6e 74  25 3d 30 20 8c 0d 6c da  |ok_count%=0 ..l.|
00017770  46 20 20 f2 64 69 73 5f  6d 65 73 73 61 67 65 28  |F  .dis_message(|
00017780  22 4e 6f 20 62 6f 6f 6b  20 64 69 72 65 63 74 6f  |"No book directo|
00017790  72 69 65 73 20 68 61 76  65 20 62 65 65 6e 20 73  |ries have been s|
000177a0  65 65 6e 20 62 79 20 74  68 65 20 66 69 6c 65 72  |een by the filer|
000177b0  2e 22 29 0d 6c e2 07 20  20 e1 0d 6c ea 05 cd 0d  |.").l..  ..l....|
000177c0  6c f2 0f 75 73 69 6e 67  5f 72 64 25 3d 32 0d 6c  |l..using_rd%=2.l|
000177d0  fa 0b 77 69 6e 70 25 3d  30 0d 6d 02 1b 74 24 3d  |..winp%=0.m..t$=|
000177e0  a4 67 65 74 74 65 78 74  28 73 65 61 72 63 68 25  |.gettext(search%|
000177f0  2c 31 31 29 0d 6d 0a 1f  74 24 3d a4 52 65 6d 6f  |,11).m..t$=.Remo|
00017800  76 65 5f 50 75 6e 63 28  a4 55 70 70 65 72 28 74  |ve_Punc(.Upper(t|
00017810  24 29 29 0d 6d 12 17 63  6d 70 3d a4 47 65 74 5f  |$)).m..cmp=.Get_|
00017820  53 65 61 72 63 68 28 74  24 29 0d 6d 1a 0f 6e 6f  |Search(t$).m..no|
00017830  24 3d 22 30 30 30 30 30  22 0d 6d 22 09 63 74 25  |$="00000".m".ct%|
00017840  3d 30 0d 6d 2a 1b c8 95  20 63 74 25 3c 3d 39 39  |=0.m*... ct%<=99|
00017850  20 80 20 77 69 6e 70 25  3c 31 30 30 31 0d 6d 32  | . winp%<1001.m2|
00017860  22 20 20 f2 6f 70 65 6e  5f 62 6f 6f 6b 5f 63 61  |"  .open_book_ca|
00017870  63 68 65 5f 73 65 61 72  63 68 28 6e 6f 24 29 0d  |che_search(no$).|
00017880  6d 3a 18 20 20 70 69 63  6b 25 3d bb 28 6e 6f 24  |m:.  pick%=.(no$|
00017890  29 20 83 20 31 30 30 0d  6d 42 0e 20 20 77 25 3d  |) . 100.mB.  w%=|
000178a0  70 69 63 6b 25 0d 6d 4a  17 20 20 c8 99 20 22 48  |pick%.mJ.  .. "H|
000178b0  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 0d 6d 52 1c  |ourglass_On".mR.|
000178c0  20 20 c8 95 20 77 25 3c  31 30 30 20 80 20 77 69  |  .. w%<100 . wi|
000178d0  6e 70 25 3c 31 30 30 31  0d 6d 5a 0c 20 20 20 20  |np%<1001.mZ.    |
000178e0  69 25 3d 30 0d 6d 62 1d  20 20 20 20 c8 95 20 69  |i%=0.mb.    .. i|
000178f0  25 3c 31 30 20 80 20 77  69 6e 70 25 3c 31 30 30  |%<10 . winp%<100|
00017900  31 0d 6d 6a 1f 20 20 20  20 20 20 e7 20 62 6f 6f  |1.mj.      . boo|
00017910  6b 5f 64 69 72 5f 64 65  66 25 28 69 25 29 20 8c  |k_dir_def%(i%) .|
00017920  0d 6d 72 22 20 20 20 20  20 20 20 20 63 6f 6d 24  |.mr"        com$|
00017930  3d a4 54 77 69 6e 65 28  6e 6f 24 2c 77 25 2c 69  |=.Twine(no$,w%,i|
00017940  25 29 0d 6d 7a 1b 20 20  20 20 20 20 20 20 6e 6f  |%).mz.        no|
00017950  25 3d bb 28 c0 63 6f 6d  24 2c 35 29 29 0d 6d 82  |%=.(.com$,5)).m.|
00017960  1a 20 20 20 20 20 20 20  20 64 69 76 69 73 25 3d  |.        divis%=|
00017970  6e 6f 25 20 81 20 38 0d  6d 8a 1a 20 20 20 20 20  |no% . 8.m..     |
00017980  20 20 20 6d 6f 64 75 6c  25 3d 6e 6f 25 20 83 20  |   modul%=no% . |
00017990  38 0d 6d 92 3c 20 20 20  20 20 20 20 20 e7 20 28  |8.m.<        . (|
000179a0  28 62 6f 6f 6b 64 65 66  25 3f 64 69 76 69 73 25  |(bookdef%?divis%|
000179b0  20 80 20 28 31 3c 3c 6d  6f 64 75 6c 25 29 29 3e  | . (1<<modul%))>|
000179c0  3e 3e 6d 6f 64 75 6c 25  29 3d 31 20 8c 0d 6d 9a  |>>modul%)=1 ..m.|
000179d0  2b 20 20 20 20 20 20 20  20 20 20 77 69 6e 6b 65  |+          winke|
000179e0  79 28 77 69 6e 70 25 29  3d 73 65 6e 5f 73 70 28  |y(winp%)=sen_sp(|
000179f0  69 25 2c 77 25 2c 31 29  0d 6d a2 26 20 20 20 20  |i%,w%,1).m.&    |
00017a00  20 20 20 20 20 20 e7 20  73 65 6e 5f 73 70 28 69  |      . sen_sp(i|
00017a10  25 2c 77 25 2c 31 29 3e  3d 63 6d 70 20 8c 0d 6d  |%,w%,1)>=cmp ..m|
00017a20  aa 31 20 20 20 20 20 20  20 20 20 20 20 20 77 69  |.1            wi|
00017a30  6e 73 74 61 63 6b 24 28  77 69 6e 70 25 29 3d 76  |nstack$(winp%)=v|
00017a40  61 72 5f 73 70 24 28 69  25 2c 77 25 2c 30 29 0d  |ar_sp$(i%,w%,0).|
00017a50  6d b2 36 20 20 20 20 20  20 20 20 20 20 20 20 77  |m.6            w|
00017a60  69 6e 73 74 61 63 6b 24  28 77 69 6e 70 25 29 2b  |instack$(winp%)+|
00017a70  3d 22 a4 22 2b 76 61 72  5f 73 70 24 28 69 25 2c  |="."+var_sp$(i%,|
00017a80  77 25 2c 31 29 0d 6d ba  36 20 20 20 20 20 20 20  |w%,1).m.6       |
00017a90  20 20 20 20 20 77 69 6e  73 74 61 63 6b 24 28 77  |     winstack$(w|
00017aa0  69 6e 70 25 29 2b 3d 22  a4 22 2b 76 61 72 5f 73  |inp%)+="."+var_s|
00017ab0  70 24 28 69 25 2c 77 25  2c 32 29 0d 6d c2 36 20  |p$(i%,w%,2).m.6 |
00017ac0  20 20 20 20 20 20 20 20  20 20 20 77 69 6e 73 74  |           winst|
00017ad0  61 63 6b 24 28 77 69 6e  70 25 29 2b 3d 22 a4 22  |ack$(winp%)+="."|
00017ae0  2b 76 61 72 5f 73 70 24  28 69 25 2c 77 25 2c 34  |+var_sp$(i%,w%,4|
00017af0  29 0d 6d ca 2a 20 20 20  20 20 20 20 20 20 20 20  |).m.*           |
00017b00  20 77 69 6e 73 74 61 63  6b 24 28 77 69 6e 70 25  | winstack$(winp%|
00017b10  29 2b 3d 22 a4 22 2b 63  6f 6d 24 0d 6d d2 27 20  |)+="."+com$.m.' |
00017b20  20 20 20 20 20 20 20 20  20 20 20 77 69 6e 70 25  |           winp%|
00017b30  2b 3d 2d 31 2a 28 77 69  6e 70 25 3c 31 30 30 30  |+=-1*(winp%<1000|
00017b40  30 29 0d 6d da 0f 20 20  20 20 20 20 20 20 20 20  |0).m..          |
00017b50  cd 0d 6d e2 0d 20 20 20  20 20 20 20 20 cd 0d 6d  |..m..        ..m|
00017b60  ea 0b 20 20 20 20 20 20  cd 0d 6d f2 0f 20 20 20  |..      ..m..   |
00017b70  20 20 20 69 25 2b 3d 31  0d 6d fa 09 20 20 20 20  |   i%+=1.m..    |
00017b80  ce 0d 6e 02 0d 20 20 20  20 77 25 2b 3d 31 0d 6e  |..n..    w%+=1.n|
00017b90  0a 07 20 20 ce 0d 6e 12  18 20 20 c8 99 20 22 48  |..  ..n..  .. "H|
00017ba0  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 6e 1a  |ourglass_Off".n.|
00017bb0  0c 20 20 63 74 25 2b 3d  31 0d 6e 22 1e 20 20 6e  |.  ct%+=1.n".  n|
00017bc0  6f 24 3d a4 7a 65 72 6f  28 c3 28 63 74 25 29 2c  |o$=.zero(.(ct%),|
00017bd0  33 29 2b 22 30 30 22 0d  6e 2a 05 ce 0d 6e 32 12  |3)+"00".n*...n2.|
00017be0  f2 73 6f 72 74 28 77 69  6e 70 25 2d 31 29 0d 6e  |.sort(winp%-1).n|
00017bf0  3a 09 21 71 25 3d 30 0d  6e 42 18 71 25 21 34 3d  |:.!q%=0.nB.q%!4=|
00017c00  2d 31 30 2b 28 77 69 6e  70 25 29 2a 2d 34 38 0d  |-10+(winp%)*-48.|
00017c10  6e 4a 1b 71 25 21 38 3d  28 36 2b 35 30 2b 34 30  |nJ.q%!8=(6+50+40|
00017c20  2b 31 35 2b 33 30 29 2a  31 36 0d 6e 52 0b 71 25  |+15+30)*16.nR.q%|
00017c30  21 31 32 3d 30 0d 6e 5a  24 c8 99 20 22 57 69 6d  |!12=0.nZ$.. "Wim|
00017c40  70 5f 53 65 74 45 78 74  65 6e 74 22 2c 6d 61 69  |p_SetExtent",mai|
00017c50  6e 5f 61 75 78 25 2c 71  25 0d 6e 62 11 21 71 25  |n_aux%,q%.nb.!q%|
00017c60  3d 6d 61 69 6e 5f 61 75  78 25 0d 6e 6a 1f c8 99  |=main_aux%.nj...|
00017c70  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
00017c80  49 6e 66 6f 22 2c 2c 71  25 0d 6e 72 10 5f 70 25  |Info",,q%.nr._p%|
00017c90  3d 21 28 71 25 2b 37 36  29 0d 6e 7a 1b 24 5f 70  |=!(q%+76).nz.$_p|
00017ca0  25 3d 22 53 65 61 72 63  68 20 62 79 20 41 75 74  |%="Search by Aut|
00017cb0  68 6f 72 22 0d 6e 82 13  f2 63 6f 6d 70 69 6c 65  |hor".n...compile|
00017cc0  5f 73 74 5f 77 69 6e 0d  6e 8a 16 c8 99 20 22 48  |_st_win.n.... "H|
00017cd0  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 6e 92  |ourglass_Off".n.|
00017ce0  11 21 71 25 3d 6d 61 69  6e 5f 61 75 78 25 0d 6e  |.!q%=main_aux%.n|
00017cf0  9a 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |. .. "Wimp_GetWi|
00017d00  6e 64 6f 77 53 74 61 74  65 22 2c 2c 71 25 0d 6e  |ndowState",,q%.n|
00017d10  a2 0c 71 25 21 32 38 3d  2d 31 0d 6e aa 1c c8 99  |..q%!28=-1.n....|
00017d20  20 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  | "Wimp_OpenWindo|
00017d30  77 22 2c 2c 71 25 0d 6e  b2 05 e1 0d 6e ba 04 0d  |w",,q%.n....n...|
00017d40  6e c2 11 dd f2 73 65 61  72 63 68 5f 61 63 63 6e  |n....search_accn|
00017d50  0d 6e ca 14 f2 63 68 65  63 6b 5f 62 6f 6f 6b 5f  |.n...check_book_|
00017d60  64 69 72 73 0d 6e d2 13  f2 63 68 65 63 6b 5f 6d  |dirs.n...check_m|
00017d70  65 6d 5f 64 69 72 73 0d  6e da 15 e7 20 62 6f 6f  |em_dirs.n... boo|
00017d80  6b 5f 63 6f 75 6e 74 25  3d 30 20 8c 0d 6e e2 46  |k_count%=0 ..n.F|
00017d90  20 20 f2 64 69 73 5f 6d  65 73 73 61 67 65 28 22  |  .dis_message("|
00017da0  4e 6f 20 62 6f 6f 6b 20  64 69 72 65 63 74 6f 72  |No book director|
00017db0  69 65 73 20 68 61 76 65  20 62 65 65 6e 20 73 65  |ies have been se|
00017dc0  65 6e 20 62 79 20 74 68  65 20 66 69 6c 65 72 2e  |en by the filer.|
00017dd0  22 29 0d 6e ea 07 20 20  e1 0d 6e f2 05 cd 0d 6e  |").n..  ..n....n|
00017de0  fa 0f 75 73 69 6e 67 5f  72 64 25 3d 32 0d 6f 02  |..using_rd%=2.o.|
00017df0  0b 77 69 6e 70 25 3d 30  0d 6f 0a 1b 74 24 3d a4  |.winp%=0.o..t$=.|
00017e00  67 65 74 74 65 78 74 28  73 65 61 72 63 68 25 2c  |gettext(search%,|
00017e10  31 31 29 0d 6f 12 1f 74  24 3d a4 52 65 6d 6f 76  |11).o..t$=.Remov|
00017e20  65 5f 50 75 6e 63 28 a4  55 70 70 65 72 28 74 24  |e_Punc(.Upper(t$|
00017e30  29 29 0d 6f 1a 0e 6e 6f  24 3d c0 74 24 2c 35 29  |)).o..no$=.t$,5)|
00017e40  0d 6f 22 14 63 74 25 3d  bb 28 c1 6e 6f 24 2c 32  |.o".ct%=.(.no$,2|
00017e50  2c 32 29 29 0d 6f 2a 19  c8 95 20 63 74 25 3c 3d  |,2)).o*... ct%<=|
00017e60  39 39 20 80 20 77 69 6e  70 25 3c 32 31 0d 6f 32  |99 . winp%<21.o2|
00017e70  22 20 20 f2 6f 70 65 6e  5f 62 6f 6f 6b 5f 63 61  |"  .open_book_ca|
00017e80  63 68 65 5f 73 65 61 72  63 68 28 6e 6f 24 29 0d  |che_search(no$).|
00017e90  6f 3a 18 20 20 70 69 63  6b 25 3d bb 28 6e 6f 24  |o:.  pick%=.(no$|
00017ea0  29 20 83 20 31 30 30 0d  6f 42 0e 20 20 77 25 3d  |) . 100.oB.  w%=|
00017eb0  70 69 63 6b 25 0d 6f 4a  17 20 20 c8 99 20 22 48  |pick%.oJ.  .. "H|
00017ec0  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 0d 6f 52 1a  |ourglass_On".oR.|
00017ed0  20 20 c8 95 20 77 25 3c  31 30 30 20 80 20 77 69  |  .. w%<100 . wi|
00017ee0  6e 70 25 3c 32 31 0d 6f  5a 0c 20 20 20 20 69 25  |np%<21.oZ.    i%|
00017ef0  3d 30 0d 6f 62 1b 20 20  20 20 c8 95 20 69 25 3c  |=0.ob.    .. i%<|
00017f00  31 30 20 80 20 77 69 6e  70 25 3c 32 31 0d 6f 6a  |10 . winp%<21.oj|
00017f10  1f 20 20 20 20 20 20 e7  20 62 6f 6f 6b 5f 64 69  |.      . book_di|
00017f20  72 5f 64 65 66 25 28 69  25 29 20 8c 0d 6f 72 22  |r_def%(i%) ..or"|
00017f30  20 20 20 20 20 20 20 20  63 6f 6d 24 3d a4 54 77  |        com$=.Tw|
00017f40  69 6e 65 28 6e 6f 24 2c  77 25 2c 69 25 29 0d 6f  |ine(no$,w%,i%).o|
00017f50  7a 1b 20 20 20 20 20 20  20 20 6e 6f 25 3d bb 28  |z.        no%=.(|
00017f60  c0 63 6f 6d 24 2c 35 29  29 0d 6f 82 1a 20 20 20  |.com$,5)).o..   |
00017f70  20 20 20 20 20 64 69 76  69 73 25 3d 6e 6f 25 20  |     divis%=no% |
00017f80  81 20 38 0d 6f 8a 1a 20  20 20 20 20 20 20 20 6d  |. 8.o..        m|
00017f90  6f 64 75 6c 25 3d 6e 6f  25 20 83 20 38 0d 6f 92  |odul%=no% . 8.o.|
00017fa0  3c 20 20 20 20 20 20 20  20 e7 20 28 28 62 6f 6f  |<        . ((boo|
00017fb0  6b 64 65 66 25 3f 64 69  76 69 73 25 20 80 20 28  |kdef%?divis% . (|
00017fc0  31 3c 3c 6d 6f 64 75 6c  25 29 29 3e 3e 3e 6d 6f  |1<<modul%))>>>mo|
00017fd0  64 75 6c 25 29 3d 31 20  8c 0d 6f 9a 1f 20 20 20  |dul%)=1 ..o..   |
00017fe0  20 20 20 20 20 20 20 77  69 6e 6b 65 79 28 77 69  |       winkey(wi|
00017ff0  6e 70 25 29 3d 6e 6f 25  0d 6f a2 2f 20 20 20 20  |np%)=no%.o./    |
00018000  20 20 20 20 20 20 77 69  6e 73 74 61 63 6b 24 28  |      winstack$(|
00018010  77 69 6e 70 25 29 3d 76  61 72 5f 73 70 24 28 69  |winp%)=var_sp$(i|
00018020  25 2c 77 25 2c 30 29 0d  6f aa 34 20 20 20 20 20  |%,w%,0).o.4     |
00018030  20 20 20 20 20 77 69 6e  73 74 61 63 6b 24 28 77  |     winstack$(w|
00018040  69 6e 70 25 29 2b 3d 22  a4 22 2b 76 61 72 5f 73  |inp%)+="."+var_s|
00018050  70 24 28 69 25 2c 77 25  2c 31 29 0d 6f b2 34 20  |p$(i%,w%,1).o.4 |
00018060  20 20 20 20 20 20 20 20  20 77 69 6e 73 74 61 63  |         winstac|
00018070  6b 24 28 77 69 6e 70 25  29 2b 3d 22 a4 22 2b 76  |k$(winp%)+="."+v|
00018080  61 72 5f 73 70 24 28 69  25 2c 77 25 2c 32 29 0d  |ar_sp$(i%,w%,2).|
00018090  6f ba 34 20 20 20 20 20  20 20 20 20 20 77 69 6e  |o.4          win|
000180a0  73 74 61 63 6b 24 28 77  69 6e 70 25 29 2b 3d 22  |stack$(winp%)+="|
000180b0  a4 22 2b 76 61 72 5f 73  70 24 28 69 25 2c 77 25  |."+var_sp$(i%,w%|
000180c0  2c 34 29 0d 6f c2 28 20  20 20 20 20 20 20 20 20  |,4).o.(         |
000180d0  20 77 69 6e 73 74 61 63  6b 24 28 77 69 6e 70 25  | winstack$(winp%|
000180e0  29 2b 3d 22 a4 22 2b 63  6f 6d 24 0d 6f ca 25 20  |)+="."+com$.o.% |
000180f0  20 20 20 20 20 20 20 20  20 77 69 6e 70 25 2b 3d  |         winp%+=|
00018100  2d 31 2a 28 77 69 6e 70  25 3c 31 30 30 30 30 29  |-1*(winp%<10000)|
00018110  0d 6f d2 0d 20 20 20 20  20 20 20 20 cd 0d 6f da  |.o..        ..o.|
00018120  0b 20 20 20 20 20 20 cd  0d 6f e2 0f 20 20 20 20  |.      ..o..    |
00018130  20 20 69 25 2b 3d 31 0d  6f ea 09 20 20 20 20 ce  |  i%+=1.o..    .|
00018140  0d 6f f2 0d 20 20 20 20  77 25 2b 3d 31 0d 6f fa  |.o..    w%+=1.o.|
00018150  07 20 20 ce 0d 70 02 18  20 20 c8 99 20 22 48 6f  |.  ..p..  .. "Ho|
00018160  75 72 67 6c 61 73 73 5f  4f 66 66 22 0d 70 0a 0c  |urglass_Off".p..|
00018170  20 20 63 74 25 2b 3d 31  0d 70 12 1e 20 20 6e 6f  |  ct%+=1.p..  no|
00018180  24 3d a4 7a 65 72 6f 28  c3 28 63 74 25 29 2c 33  |$=.zero(.(ct%),3|
00018190  29 2b 22 30 30 22 0d 70  1a 05 ce 0d 70 22 12 f2  |)+"00".p....p"..|
000181a0  73 6f 72 74 28 77 69 6e  70 25 2d 31 29 0d 70 2a  |sort(winp%-1).p*|
000181b0  09 21 71 25 3d 30 0d 70  32 18 71 25 21 34 3d 2d  |.!q%=0.p2.q%!4=-|
000181c0  31 30 2b 28 77 69 6e 70  25 29 2a 2d 34 38 0d 70  |10+(winp%)*-48.p|
000181d0  3a 1b 71 25 21 38 3d 28  36 2b 35 30 2b 34 30 2b  |:.q%!8=(6+50+40+|
000181e0  31 35 2b 33 30 29 2a 31  36 0d 70 42 0b 71 25 21  |15+30)*16.pB.q%!|
000181f0  31 32 3d 30 0d 70 4a 24  c8 99 20 22 57 69 6d 70  |12=0.pJ$.. "Wimp|
00018200  5f 53 65 74 45 78 74 65  6e 74 22 2c 6d 61 69 6e  |_SetExtent",main|
00018210  5f 61 75 78 25 2c 71 25  0d 70 52 11 21 71 25 3d  |_aux%,q%.pR.!q%=|
00018220  6d 61 69 6e 5f 61 75 78  25 0d 70 5a 1f c8 99 20  |main_aux%.pZ... |
00018230  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 49  |"Wimp_GetWindowI|
00018240  6e 66 6f 22 2c 2c 71 25  0d 70 62 10 5f 70 25 3d  |nfo",,q%.pb._p%=|
00018250  21 28 71 25 2b 37 36 29  0d 70 6a 25 24 5f 70 25  |!(q%+76).pj%$_p%|
00018260  3d 22 53 65 61 72 63 68  20 62 79 20 41 63 63 65  |="Search by Acce|
00018270  73 73 69 6f 6e 20 4e 75  6d 62 65 72 22 0d 70 72  |ssion Number".pr|
00018280  13 f2 63 6f 6d 70 69 6c  65 5f 73 74 5f 77 69 6e  |..compile_st_win|
00018290  0d 70 7a 16 c8 99 20 22  48 6f 75 72 67 6c 61 73  |.pz... "Hourglas|
000182a0  73 5f 4f 66 66 22 0d 70  82 11 21 71 25 3d 6d 61  |s_Off".p..!q%=ma|
000182b0  69 6e 5f 61 75 78 25 0d  70 8a 20 c8 99 20 22 57  |in_aux%.p. .. "W|
000182c0  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
000182d0  74 65 22 2c 2c 71 25 0d  70 92 0c 71 25 21 32 38  |te",,q%.p..q%!28|
000182e0  3d 2d 31 0d 70 9a 1c c8  99 20 22 57 69 6d 70 5f  |=-1.p.... "Wimp_|
000182f0  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |OpenWindow",,q%.|
00018300  70 a2 05 e1 0d 70 aa 04  0d 70 b2 12 dd f2 73 65  |p....p...p....se|
00018310  61 72 63 68 5f 63 6c 61  73 73 0d 70 ba 14 f2 63  |arch_class.p...c|
00018320  68 65 63 6b 5f 62 6f 6f  6b 5f 64 69 72 73 0d 70  |heck_book_dirs.p|
00018330  c2 13 f2 63 68 65 63 6b  5f 6d 65 6d 5f 64 69 72  |...check_mem_dir|
00018340  73 0d 70 ca 15 e7 20 62  6f 6f 6b 5f 63 6f 75 6e  |s.p... book_coun|
00018350  74 25 3d 30 20 8c 0d 70  d2 46 20 20 f2 64 69 73  |t%=0 ..p.F  .dis|
00018360  5f 6d 65 73 73 61 67 65  28 22 4e 6f 20 62 6f 6f  |_message("No boo|
00018370  6b 20 64 69 72 65 63 74  6f 72 69 65 73 20 68 61  |k directories ha|
00018380  76 65 20 62 65 65 6e 20  73 65 65 6e 20 62 79 20  |ve been seen by |
00018390  74 68 65 20 66 69 6c 65  72 2e 22 29 0d 70 da 07  |the filer.").p..|
000183a0  20 20 e1 0d 70 e2 05 cd  0d 70 ea 0f 75 73 69 6e  |  ..p....p..usin|
000183b0  67 5f 72 64 25 3d 32 0d  70 f2 0b 77 69 6e 70 25  |g_rd%=2.p..winp%|
000183c0  3d 30 0d 70 fa 1b 74 24  3d a4 67 65 74 74 65 78  |=0.p..t$=.gettex|
000183d0  74 28 73 65 61 72 63 68  25 2c 31 31 29 0d 71 02  |t(search%,11).q.|
000183e0  11 74 24 3d a4 55 70 70  65 72 28 74 24 29 0d 71  |.t$=.Upper(t$).q|
000183f0  0a 16 63 6d 70 3d a4 4d  61 6b 65 5f 43 6f 64 65  |..cmp=.Make_Code|
00018400  28 74 24 29 0d 71 12 0f  6e 6f 24 3d 22 30 30 30  |(t$).q..no$="000|
00018410  30 30 22 0d 71 1a 09 63  74 25 3d 30 0d 71 22 1b  |00".q..ct%=0.q".|
00018420  c8 95 20 63 74 25 3c 3d  39 39 20 80 20 77 69 6e  |.. ct%<=99 . win|
00018430  70 25 3c 31 30 30 31 0d  71 2a 22 20 20 f2 6f 70  |p%<1001.q*"  .op|
00018440  65 6e 5f 62 6f 6f 6b 5f  63 61 63 68 65 5f 73 65  |en_book_cache_se|
00018450  61 72 63 68 28 6e 6f 24  29 0d 71 32 18 20 20 70  |arch(no$).q2.  p|
00018460  69 63 6b 25 3d bb 28 6e  6f 24 29 20 83 20 31 30  |ick%=.(no$) . 10|
00018470  30 0d 71 3a 0e 20 20 77  25 3d 70 69 63 6b 25 0d  |0.q:.  w%=pick%.|
00018480  71 42 17 20 20 c8 99 20  22 48 6f 75 72 67 6c 61  |qB.  .. "Hourgla|
00018490  73 73 5f 4f 6e 22 0d 71  4a 1c 20 20 c8 95 20 77  |ss_On".qJ.  .. w|
000184a0  25 3c 31 30 30 20 80 20  77 69 6e 70 25 3c 31 30  |%<100 . winp%<10|
000184b0  30 31 0d 71 52 0c 20 20  20 20 69 25 3d 30 0d 71  |01.qR.    i%=0.q|
000184c0  5a 1d 20 20 20 20 c8 95  20 69 25 3c 31 30 20 80  |Z.    .. i%<10 .|
000184d0  20 77 69 6e 70 25 3c 31  30 30 31 0d 71 62 1f 20  | winp%<1001.qb. |
000184e0  20 20 20 20 20 e7 20 62  6f 6f 6b 5f 64 69 72 5f  |     . book_dir_|
000184f0  64 65 66 25 28 69 25 29  20 8c 0d 71 6a 22 20 20  |def%(i%) ..qj"  |
00018500  20 20 20 20 20 20 63 6f  6d 24 3d a4 54 77 69 6e  |      com$=.Twin|
00018510  65 28 6e 6f 24 2c 77 25  2c 69 25 29 0d 71 72 1b  |e(no$,w%,i%).qr.|
00018520  20 20 20 20 20 20 20 20  6e 6f 25 3d bb 28 c0 63  |        no%=.(.c|
00018530  6f 6d 24 2c 35 29 29 0d  71 7a 1a 20 20 20 20 20  |om$,5)).qz.     |
00018540  20 20 20 64 69 76 69 73  25 3d 6e 6f 25 20 81 20  |   divis%=no% . |
00018550  38 0d 71 82 1a 20 20 20  20 20 20 20 20 6d 6f 64  |8.q..        mod|
00018560  75 6c 25 3d 6e 6f 25 20  83 20 38 0d 71 8a 3c 20  |ul%=no% . 8.q.< |
00018570  20 20 20 20 20 20 20 e7  20 28 28 62 6f 6f 6b 64  |       . ((bookd|
00018580  65 66 25 3f 64 69 76 69  73 25 20 80 20 28 31 3c  |ef%?divis% . (1<|
00018590  3c 6d 6f 64 75 6c 25 29  29 3e 3e 3e 6d 6f 64 75  |<modul%))>>>modu|
000185a0  6c 25 29 3d 31 20 8c 0d  71 92 38 20 20 20 20 20  |l%)=1 ..q.8     |
000185b0  20 20 20 20 20 77 69 6e  6b 65 79 28 77 69 6e 70  |     winkey(winp|
000185c0  25 29 3d a4 4d 61 6b 65  5f 43 6f 64 65 28 76 61  |%)=.Make_Code(va|
000185d0  72 5f 73 70 24 28 69 25  2c 77 25 2c 32 29 29 0d  |r_sp$(i%,w%,2)).|
000185e0  71 9a 24 20 20 20 20 20  20 20 20 20 20 e7 20 77  |q.$          . w|
000185f0  69 6e 6b 65 79 28 77 69  6e 70 25 29 3e 3d 63 6d  |inkey(winp%)>=cm|
00018600  70 20 8c 0d 71 a2 31 20  20 20 20 20 20 20 20 20  |p ..q.1         |
00018610  20 20 20 77 69 6e 73 74  61 63 6b 24 28 77 69 6e  |   winstack$(win|
00018620  70 25 29 3d 76 61 72 5f  73 70 24 28 69 25 2c 77  |p%)=var_sp$(i%,w|
00018630  25 2c 30 29 0d 71 aa 36  20 20 20 20 20 20 20 20  |%,0).q.6        |
00018640  20 20 20 20 77 69 6e 73  74 61 63 6b 24 28 77 69  |    winstack$(wi|
00018650  6e 70 25 29 2b 3d 22 a4  22 2b 76 61 72 5f 73 70  |np%)+="."+var_sp|
00018660  24 28 69 25 2c 77 25 2c  31 29 0d 71 b2 36 20 20  |$(i%,w%,1).q.6  |
00018670  20 20 20 20 20 20 20 20  20 20 77 69 6e 73 74 61  |          winsta|
00018680  63 6b 24 28 77 69 6e 70  25 29 2b 3d 22 a4 22 2b  |ck$(winp%)+="."+|
00018690  76 61 72 5f 73 70 24 28  69 25 2c 77 25 2c 32 29  |var_sp$(i%,w%,2)|
000186a0  0d 71 ba 36 20 20 20 20  20 20 20 20 20 20 20 20  |.q.6            |
000186b0  77 69 6e 73 74 61 63 6b  24 28 77 69 6e 70 25 29  |winstack$(winp%)|
000186c0  2b 3d 22 a4 22 2b 76 61  72 5f 73 70 24 28 69 25  |+="."+var_sp$(i%|
000186d0  2c 77 25 2c 34 29 0d 71  c2 2a 20 20 20 20 20 20  |,w%,4).q.*      |
000186e0  20 20 20 20 20 20 77 69  6e 73 74 61 63 6b 24 28  |      winstack$(|
000186f0  77 69 6e 70 25 29 2b 3d  22 a4 22 2b 63 6f 6d 24  |winp%)+="."+com$|
00018700  0d 71 ca 27 20 20 20 20  20 20 20 20 20 20 20 20  |.q.'            |
00018710  77 69 6e 70 25 2b 3d 2d  31 2a 28 77 69 6e 70 25  |winp%+=-1*(winp%|
00018720  3c 31 30 30 30 30 29 0d  71 d2 0f 20 20 20 20 20  |<10000).q..     |
00018730  20 20 20 20 20 cd 0d 71  da 0d 20 20 20 20 20 20  |     ..q..      |
00018740  20 20 cd 0d 71 e2 0b 20  20 20 20 20 20 cd 0d 71  |  ..q..      ..q|
00018750  ea 0f 20 20 20 20 20 20  69 25 2b 3d 31 0d 71 f2  |..      i%+=1.q.|
00018760  09 20 20 20 20 ce 0d 71  fa 0d 20 20 20 20 77 25  |.    ..q..    w%|
00018770  2b 3d 31 0d 72 02 07 20  20 ce 0d 72 0a 18 20 20  |+=1.r..  ..r..  |
00018780  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |.. "Hourglass_Of|
00018790  66 22 0d 72 12 0c 20 20  63 74 25 2b 3d 31 0d 72  |f".r..  ct%+=1.r|
000187a0  1a 1e 20 20 6e 6f 24 3d  a4 7a 65 72 6f 28 c3 28  |..  no$=.zero(.(|
000187b0  63 74 25 29 2c 33 29 2b  22 30 30 22 0d 72 22 05  |ct%),3)+"00".r".|
000187c0  ce 0d 72 2a 12 f2 73 6f  72 74 28 77 69 6e 70 25  |..r*..sort(winp%|
000187d0  2d 31 29 0d 72 32 09 21  71 25 3d 30 0d 72 3a 18  |-1).r2.!q%=0.r:.|
000187e0  71 25 21 34 3d 2d 31 30  2b 28 77 69 6e 70 25 29  |q%!4=-10+(winp%)|
000187f0  2a 2d 34 38 0d 72 42 1b  71 25 21 38 3d 28 36 2b  |*-48.rB.q%!8=(6+|
00018800  35 30 2b 34 30 2b 31 35  2b 33 30 29 2a 31 36 0d  |50+40+15+30)*16.|
00018810  72 4a 0b 71 25 21 31 32  3d 30 0d 72 52 24 c8 99  |rJ.q%!12=0.rR$..|
00018820  20 22 57 69 6d 70 5f 53  65 74 45 78 74 65 6e 74  | "Wimp_SetExtent|
00018830  22 2c 6d 61 69 6e 5f 61  75 78 25 2c 71 25 0d 72  |",main_aux%,q%.r|
00018840  5a 11 21 71 25 3d 6d 61  69 6e 5f 61 75 78 25 0d  |Z.!q%=main_aux%.|
00018850  72 62 1f c8 99 20 22 57  69 6d 70 5f 47 65 74 57  |rb... "Wimp_GetW|
00018860  69 6e 64 6f 77 49 6e 66  6f 22 2c 2c 71 25 0d 72  |indowInfo",,q%.r|
00018870  6a 10 5f 70 25 3d 21 28  71 25 2b 37 36 29 0d 72  |j._p%=!(q%+76).r|
00018880  72 23 24 5f 70 25 3d 22  53 65 61 72 63 68 20 62  |r#$_p%="Search b|
00018890  79 20 43 6c 61 73 73 69  66 69 63 61 74 69 6f 6e  |y Classification|
000188a0  22 0d 72 7a 13 f2 63 6f  6d 70 69 6c 65 5f 73 74  |".rz..compile_st|
000188b0  5f 77 69 6e 0d 72 82 16  c8 99 20 22 48 6f 75 72  |_win.r.... "Hour|
000188c0  67 6c 61 73 73 5f 4f 66  66 22 0d 72 8a 11 21 71  |glass_Off".r..!q|
000188d0  25 3d 6d 61 69 6e 5f 61  75 78 25 0d 72 92 20 c8  |%=main_aux%.r. .|
000188e0  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
000188f0  77 53 74 61 74 65 22 2c  2c 71 25 0d 72 9a 0c 71  |wState",,q%.r..q|
00018900  25 21 32 38 3d 2d 31 0d  72 a2 1c c8 99 20 22 57  |%!28=-1.r.... "W|
00018910  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00018920  2c 71 25 0d 72 aa 05 e1  0d 72 b2 04 0d 72 ba 10  |,q%.r....r...r..|
00018930  dd f2 73 65 61 72 63 68  5f 6b 65 79 0d 72 c2 14  |..search_key.r..|
00018940  f2 63 68 65 63 6b 5f 62  6f 6f 6b 5f 64 69 72 73  |.check_book_dirs|
00018950  0d 72 ca 13 f2 63 68 65  63 6b 5f 6d 65 6d 5f 64  |.r...check_mem_d|
00018960  69 72 73 0d 72 d2 15 e7  20 62 6f 6f 6b 5f 63 6f  |irs.r... book_co|
00018970  75 6e 74 25 3d 30 20 8c  0d 72 da 46 20 20 f2 64  |unt%=0 ..r.F  .d|
00018980  69 73 5f 6d 65 73 73 61  67 65 28 22 4e 6f 20 62  |is_message("No b|
00018990  6f 6f 6b 20 64 69 72 65  63 74 6f 72 69 65 73 20  |ook directories |
000189a0  68 61 76 65 20 62 65 65  6e 20 73 65 65 6e 20 62  |have been seen b|
000189b0  79 20 74 68 65 20 66 69  6c 65 72 2e 22 29 0d 72  |y the filer.").r|
000189c0  e2 07 20 20 e1 0d 72 ea  05 cd 0d 72 f2 0f 75 73  |..  ..r....r..us|
000189d0  69 6e 67 5f 72 64 25 3d  32 0d 72 fa 0b 77 69 6e  |ing_rd%=2.r..win|
000189e0  70 25 3d 30 0d 73 02 23  74 24 3d a4 55 70 70 65  |p%=0.s.#t$=.Uppe|
000189f0  72 28 a4 67 65 74 74 65  78 74 28 73 65 61 72 63  |r(.gettext(searc|
00018a00  68 25 2c 31 31 29 29 0d  73 0a 0f 6e 6f 24 3d 22  |h%,11)).s..no$="|
00018a10  30 30 30 30 30 22 0d 73  12 09 63 74 25 3d 30 0d  |00000".s..ct%=0.|
00018a20  73 1a 1b c8 95 20 63 74  25 3c 3d 39 39 20 80 20  |s.... ct%<=99 . |
00018a30  77 69 6e 70 25 3c 31 30  30 31 0d 73 22 22 20 20  |winp%<1001.s""  |
00018a40  f2 6f 70 65 6e 5f 62 6f  6f 6b 5f 63 61 63 68 65  |.open_book_cache|
00018a50  5f 73 65 61 72 63 68 28  6e 6f 24 29 0d 73 2a 18  |_search(no$).s*.|
00018a60  20 20 70 69 63 6b 25 3d  bb 28 6e 6f 24 29 20 83  |  pick%=.(no$) .|
00018a70  20 31 30 30 0d 73 32 0e  20 20 77 25 3d 70 69 63  | 100.s2.  w%=pic|
00018a80  6b 25 0d 73 3a 17 20 20  c8 99 20 22 48 6f 75 72  |k%.s:.  .. "Hour|
00018a90  67 6c 61 73 73 5f 4f 6e  22 0d 73 42 1c 20 20 c8  |glass_On".sB.  .|
00018aa0  95 20 77 25 3c 31 30 30  20 80 20 77 69 6e 70 25  |. w%<100 . winp%|
00018ab0  3c 31 30 30 31 0d 73 4a  0c 20 20 20 20 69 25 3d  |<1001.sJ.    i%=|
00018ac0  30 0d 73 52 1d 20 20 20  20 c8 95 20 69 25 3c 31  |0.sR.    .. i%<1|
00018ad0  30 20 80 20 77 69 6e 70  25 3c 31 30 30 31 0d 73  |0 . winp%<1001.s|
00018ae0  5a 1f 20 20 20 20 20 20  e7 20 62 6f 6f 6b 5f 64  |Z.      . book_d|
00018af0  69 72 5f 64 65 66 25 28  69 25 29 20 8c 0d 73 62  |ir_def%(i%) ..sb|
00018b00  22 20 20 20 20 20 20 20  20 63 6f 6d 24 3d a4 54  |"        com$=.T|
00018b10  77 69 6e 65 28 6e 6f 24  2c 77 25 2c 69 25 29 0d  |wine(no$,w%,i%).|
00018b20  73 6a 1b 20 20 20 20 20  20 20 20 6e 6f 25 3d bb  |sj.        no%=.|
00018b30  28 c0 63 6f 6d 24 2c 35  29 29 0d 73 72 1a 20 20  |(.com$,5)).sr.  |
00018b40  20 20 20 20 20 20 64 69  76 69 73 25 3d 6e 6f 25  |      divis%=no%|
00018b50  20 81 20 38 0d 73 7a 1a  20 20 20 20 20 20 20 20  | . 8.sz.        |
00018b60  6d 6f 64 75 6c 25 3d 6e  6f 25 20 83 20 38 0d 73  |modul%=no% . 8.s|
00018b70  82 3c 20 20 20 20 20 20  20 20 e7 20 28 28 62 6f  |.<        . ((bo|
00018b80  6f 6b 64 65 66 25 3f 64  69 76 69 73 25 20 80 20  |okdef%?divis% . |
00018b90  28 31 3c 3c 6d 6f 64 75  6c 25 29 29 3e 3e 3e 6d  |(1<<modul%))>>>m|
00018ba0  6f 64 75 6c 25 29 3d 31  20 8c 0d 73 8a 2b 20 20  |odul%)=1 ..s.+  |
00018bb0  20 20 20 20 20 20 20 20  77 69 6e 6b 65 79 28 77  |        winkey(w|
00018bc0  69 6e 70 25 29 3d 73 65  6e 5f 73 70 28 69 25 2c  |inp%)=sen_sp(i%,|
00018bd0  77 25 2c 30 29 0d 73 92  35 20 20 20 20 20 20 20  |w%,0).s.5       |
00018be0  20 20 20 e7 20 a4 63 68  65 63 6b 5f 6b 65 79 77  |   . .check_keyw|
00018bf0  6f 72 64 28 74 24 2c 76  61 72 5f 73 70 24 28 69  |ord(t$,var_sp$(i|
00018c00  25 2c 77 25 2c 30 29 29  20 8c 0d 73 9a 31 20 20  |%,w%,0)) ..s.1  |
00018c10  20 20 20 20 20 20 20 20  20 20 77 69 6e 73 74 61  |          winsta|
00018c20  63 6b 24 28 77 69 6e 70  25 29 3d 76 61 72 5f 73  |ck$(winp%)=var_s|
00018c30  70 24 28 69 25 2c 77 25  2c 30 29 0d 73 a2 36 20  |p$(i%,w%,0).s.6 |
00018c40  20 20 20 20 20 20 20 20  20 20 20 77 69 6e 73 74  |           winst|
00018c50  61 63 6b 24 28 77 69 6e  70 25 29 2b 3d 22 a4 22  |ack$(winp%)+="."|
00018c60  2b 76 61 72 5f 73 70 24  28 69 25 2c 77 25 2c 31  |+var_sp$(i%,w%,1|
00018c70  29 0d 73 aa 36 20 20 20  20 20 20 20 20 20 20 20  |).s.6           |
00018c80  20 77 69 6e 73 74 61 63  6b 24 28 77 69 6e 70 25  | winstack$(winp%|
00018c90  29 2b 3d 22 a4 22 2b 76  61 72 5f 73 70 24 28 69  |)+="."+var_sp$(i|
00018ca0  25 2c 77 25 2c 32 29 0d  73 b2 36 20 20 20 20 20  |%,w%,2).s.6     |
00018cb0  20 20 20 20 20 20 20 77  69 6e 73 74 61 63 6b 24  |       winstack$|
00018cc0  28 77 69 6e 70 25 29 2b  3d 22 a4 22 2b 76 61 72  |(winp%)+="."+var|
00018cd0  5f 73 70 24 28 69 25 2c  77 25 2c 34 29 0d 73 ba  |_sp$(i%,w%,4).s.|
00018ce0  2a 20 20 20 20 20 20 20  20 20 20 20 20 77 69 6e  |*            win|
00018cf0  73 74 61 63 6b 24 28 77  69 6e 70 25 29 2b 3d 22  |stack$(winp%)+="|
00018d00  a4 22 2b 63 6f 6d 24 0d  73 c2 26 20 20 20 20 20  |."+com$.s.&     |
00018d10  20 20 20 20 20 20 77 69  6e 70 25 2b 3d 2d 31 2a  |      winp%+=-1*|
00018d20  28 77 69 6e 70 25 3c 31  30 30 30 30 29 0d 73 ca  |(winp%<10000).s.|
00018d30  0f 20 20 20 20 20 20 20  20 20 20 cd 0d 73 d2 0d  |.          ..s..|
00018d40  20 20 20 20 20 20 20 20  cd 0d 73 da 0b 20 20 20  |        ..s..   |
00018d50  20 20 20 cd 0d 73 e2 0f  20 20 20 20 20 20 69 25  |   ..s..      i%|
00018d60  2b 3d 31 0d 73 ea 09 20  20 20 20 ce 0d 73 f2 0d  |+=1.s..    ..s..|
00018d70  20 20 20 20 77 25 2b 3d  31 0d 73 fa 07 20 20 ce  |    w%+=1.s..  .|
00018d80  0d 74 02 18 20 20 c8 99  20 22 48 6f 75 72 67 6c  |.t..  .. "Hourgl|
00018d90  61 73 73 5f 4f 66 66 22  0d 74 0a 0c 20 20 63 74  |ass_Off".t..  ct|
00018da0  25 2b 3d 31 0d 74 12 1e  20 20 6e 6f 24 3d a4 7a  |%+=1.t..  no$=.z|
00018db0  65 72 6f 28 c3 28 63 74  25 29 2c 33 29 2b 22 30  |ero(.(ct%),3)+"0|
00018dc0  30 22 0d 74 1a 05 ce 0d  74 22 12 f2 73 6f 72 74  |0".t....t"..sort|
00018dd0  28 77 69 6e 70 25 2d 31  29 0d 74 2a 09 21 71 25  |(winp%-1).t*.!q%|
00018de0  3d 30 0d 74 32 18 71 25  21 34 3d 2d 31 30 2b 28  |=0.t2.q%!4=-10+(|
00018df0  77 69 6e 70 25 29 2a 2d  34 38 0d 74 3a 1b 71 25  |winp%)*-48.t:.q%|
00018e00  21 38 3d 28 36 2b 35 30  2b 34 30 2b 31 35 2b 33  |!8=(6+50+40+15+3|
00018e10  30 29 2a 31 36 0d 74 42  0b 71 25 21 31 32 3d 30  |0)*16.tB.q%!12=0|
00018e20  0d 74 4a 24 c8 99 20 22  57 69 6d 70 5f 53 65 74  |.tJ$.. "Wimp_Set|
00018e30  45 78 74 65 6e 74 22 2c  6d 61 69 6e 5f 61 75 78  |Extent",main_aux|
00018e40  25 2c 71 25 0d 74 52 11  21 71 25 3d 6d 61 69 6e  |%,q%.tR.!q%=main|
00018e50  5f 61 75 78 25 0d 74 5a  1f c8 99 20 22 57 69 6d  |_aux%.tZ... "Wim|
00018e60  70 5f 47 65 74 57 69 6e  64 6f 77 49 6e 66 6f 22  |p_GetWindowInfo"|
00018e70  2c 2c 71 25 0d 74 62 10  5f 70 25 3d 21 28 71 25  |,,q%.tb._p%=!(q%|
00018e80  2b 37 36 29 0d 74 6a 1b  24 5f 70 25 3d 22 53 65  |+76).tj.$_p%="Se|
00018e90  61 72 63 68 20 62 79 20  41 75 74 68 6f 72 22 0d  |arch by Author".|
00018ea0  74 72 13 f2 63 6f 6d 70  69 6c 65 5f 73 74 5f 77  |tr..compile_st_w|
00018eb0  69 6e 0d 74 7a 16 c8 99  20 22 48 6f 75 72 67 6c  |in.tz... "Hourgl|
00018ec0  61 73 73 5f 4f 66 66 22  0d 74 82 11 21 71 25 3d  |ass_Off".t..!q%=|
00018ed0  6d 61 69 6e 5f 61 75 78  25 0d 74 8a 20 c8 99 20  |main_aux%.t. .. |
00018ee0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00018ef0  74 61 74 65 22 2c 2c 71  25 0d 74 92 0c 71 25 21  |tate",,q%.t..q%!|
00018f00  32 38 3d 2d 31 0d 74 9a  1c c8 99 20 22 57 69 6d  |28=-1.t.... "Wim|
00018f10  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 71  |p_OpenWindow",,q|
00018f20  25 0d 74 a2 05 e1 0d 74  aa 04 0d 74 b2 16 dd a4  |%.t....t...t....|
00018f30  54 77 69 6e 65 28 73 24  2c 70 25 2c 63 68 25 29  |Twine(s$,p%,ch%)|
00018f40  0d 74 ba 34 61 24 3d c3  28 63 68 25 29 2b a4 7a  |.t.4a$=.(ch%)+.z|
00018f50  65 72 6f 28 c3 28 bb 28  73 24 29 20 81 20 31 30  |ero(.(.(s$) . 10|
00018f60  30 29 2c 32 29 2b a4 7a  65 72 6f 28 c3 28 70 25  |0),2)+.zero(.(p%|
00018f70  29 2c 32 29 0d 74 c2 1a  3d a4 43 68 65 63 6b 5f  |),2).t..=.Check_|
00018f80  44 69 67 69 74 5f 50 6c  75 73 28 61 24 29 0d 74  |Digit_Plus(a$).t|
00018f90  ca 04 0d 74 d2 12 dd f2  6f 70 65 6e 5f 64 69 73  |...t....open_dis|
00018fa0  70 6c 61 79 0d 74 da 10  21 71 25 3d 64 69 73 70  |play.t..!q%=disp|
00018fb0  6c 61 79 25 0d 74 e2 20  c8 99 20 22 57 69 6d 70  |lay%.t. .. "Wimp|
00018fc0  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
00018fd0  2c 2c 71 25 0d 74 ea 0c  71 25 21 32 38 3d 2d 31  |,,q%.t..q%!28=-1|
00018fe0  0d 74 f2 1c c8 99 20 22  57 69 6d 70 5f 4f 70 65  |.t.... "Wimp_Ope|
00018ff0  6e 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 74 fa 05  |nWindow",,q%.t..|
00019000  e1 0d 75 02 04 0d 75 0a  11 dd f2 75 70 64 61 74  |..u...u....updat|
00019010  65 5f 74 69 6d 65 0d 75  12 1e 74 65 6d 70 24 3d  |e_time.u..temp$=|
00019020  a4 67 65 74 74 65 78 74  28 64 69 73 70 6c 61 79  |.gettext(display|
00019030  25 2c 32 29 0d 75 1a 12  e7 20 74 65 6d 70 24 3d  |%,2).u... temp$=|
00019040  91 24 20 8c 20 e1 0d 75  22 1b f2 70 75 74 74 65  |.$ . ..u"..putte|
00019050  78 74 28 64 69 73 70 6c  61 79 25 2c 32 2c 91 24  |xt(display%,2,.$|
00019060  29 0d 75 2a 05 e1 0d 75  32 04 0d 75 3a 0e dd f2  |).u*...u2..u:...|
00019070  73 6f 72 74 28 6e 25 29  0d 75 42 0e e7 20 6e 25  |sort(n%).uB.. n%|
00019080  3c 32 20 8c 20 e1 0d 75  4a 0d 67 25 3d 28 6e 25  |<2 . ..uJ.g%=(n%|
00019090  2b 31 29 0d 75 52 05 f5  0d 75 5a 0d 67 25 3d 67  |+1).uR...uZ.g%=g|
000190a0  25 20 81 20 32 0d 75 62  16 e3 20 69 25 3d 67 25  |% . 2.ub.. i%=g%|
000190b0  2b 31 20 b8 20 28 6e 25  2b 31 29 0d 75 6a 18 e3  |+1 . (n%+1).uj..|
000190c0  20 6a 25 3d 69 25 2d 67  25 20 b8 20 31 20 88 20  | j%=i%-g% . 1 . |
000190d0  2d 67 25 0d 75 72 0c 76  25 3d 6a 25 2b 67 25 0d  |-g%.ur.v%=j%+g%.|
000190e0  75 7a 21 e7 20 77 69 6e  6b 65 79 28 6a 25 2d 31  |uz!. winkey(j%-1|
000190f0  29 3e 77 69 6e 6b 65 79  28 76 25 2d 31 29 20 8c  |)>winkey(v%-1) .|
00019100  0d 75 82 28 20 20 c8 94  20 77 69 6e 73 74 61 63  |.u.(  .. winstac|
00019110  6b 24 28 6a 25 2d 31 29  2c 77 69 6e 73 74 61 63  |k$(j%-1),winstac|
00019120  6b 24 28 76 25 2d 31 29  0d 75 8a 22 20 20 c8 94  |k$(v%-1).u."  ..|
00019130  20 77 69 6e 6b 65 79 28  6a 25 2d 31 29 2c 77 69  | winkey(j%-1),wi|
00019140  6e 6b 65 79 28 76 25 2d  31 29 0d 75 92 05 cd 0d  |nkey(v%-1).u....|
00019150  75 9a 08 ed 20 6a 25 0d  75 a2 08 ed 20 69 25 0d  |u... j%.u... i%.|
00019160  75 aa 0b fd 20 67 25 3c  3d 31 0d 75 b2 05 e1 0d  |u... g%<=1.u....|
00019170  75 ba 04 0d 75 c2 14 dd  f2 63 6f 6d 70 69 6c 65  |u...u....compile|
00019180  5f 73 74 5f 77 69 6e 0d  75 ca 14 e3 20 63 25 3d  |_st_win.u... c%=|
00019190  30 20 b8 20 77 69 6e 70  25 2d 31 0d 75 d2 14 73  |0 . winp%-1.u..s|
000191a0  24 3d 77 69 6e 73 74 61  63 6b 24 28 63 25 29 0d  |$=winstack$(c%).|
000191b0  75 da 10 61 31 25 3d a7  73 24 2c 22 a4 22 29 0d  |u..a1%=.s$,".").|
000191c0  75 e2 16 61 32 25 3d a7  73 24 2c 22 a4 22 2c 61  |u..a2%=.s$,".",a|
000191d0  31 25 2b 31 29 0d 75 ea  16 61 33 25 3d a7 73 24  |1%+1).u..a3%=.s$|
000191e0  2c 22 a4 22 2c 61 32 25  2b 31 29 0d 75 f2 16 61  |,".",a2%+1).u..a|
000191f0  34 25 3d a7 73 24 2c 22  a4 22 2c 61 33 25 2b 31  |4%=.s$,".",a3%+1|
00019200  29 0d 75 fa 20 74 65 6d  70 24 3d a4 73 70 63 28  |).u. temp$=.spc(|
00019210  c2 73 24 2c a9 28 73 24  29 2d 61 34 25 29 2c 37  |.s$,.(s$)-a4%),7|
00019220  29 0d 76 02 1e 74 65 6d  70 24 2b 3d a4 73 70 63  |).v..temp$+=.spc|
00019230  28 c0 73 24 2c 61 31 25  2d 31 29 2c 35 30 29 0d  |(.s$,a1%-1),50).|
00019240  76 0a 28 74 65 6d 70 24  2b 3d a4 73 70 63 28 c1  |v.(temp$+=.spc(.|
00019250  73 24 2c 61 31 25 2b 31  2c 61 32 25 2d 61 31 25  |s$,a1%+1,a2%-a1%|
00019260  2d 31 29 2c 34 30 29 0d  76 12 28 74 65 6d 70 24  |-1),40).v.(temp$|
00019270  2b 3d a4 73 70 63 28 c1  73 24 2c 61 32 25 2b 31  |+=.spc(.s$,a2%+1|
00019280  2c 61 33 25 2d 61 32 25  2d 31 29 2c 31 35 29 0d  |,a3%-a2%-1),15).|
00019290  76 1a 28 74 65 6d 70 24  2b 3d a4 73 70 63 28 c1  |v.(temp$+=.spc(.|
000192a0  73 24 2c 61 33 25 2b 31  2c 61 34 25 2d 61 33 25  |s$,a3%+1,a4%-a3%|
000192b0  2d 31 29 2c 33 30 29 0d  76 22 17 77 69 6e 73 74  |-1),30).v".winst|
000192c0  61 63 6b 24 28 63 25 29  3d 74 65 6d 70 24 0d 76  |ack$(c%)=temp$.v|
000192d0  2a 08 ed 20 63 25 0d 76  32 05 e1 0d 76 3a 04 0d  |*.. c%.v2...v:..|
000192e0  76 42 12 dd a4 66 69 6e  64 5f 77 69 6e 28 75 24  |vB...find_win(u$|
000192f0  29 0d 76 4a 19 e7 20 75  24 3d 22 69 63 6f 6e 5f  |).vJ.. u$="icon_|
00019300  62 61 72 22 20 8c 20 3d  2d 32 0d 76 52 0f e3 20  |bar" . =-2.vR.. |
00019310  64 25 3d 30 20 b8 20 34  30 0d 76 5a 24 e7 20 68  |d%=0 . 40.vZ$. h|
00019320  63 74 24 28 64 25 29 3d  75 24 20 8c 20 3d 68 63  |ct$(d%)=u$ . =hc|
00019330  74 25 28 64 25 29 20 8b  20 ed 20 64 25 0d 76 62  |t%(d%) . . d%.vb|
00019340  06 3d 30 0d 76 6a 04 0d  76 72 14 dd f2 70 61 73  |.=0.vj..vr...pas|
00019350  73 5f 65 6e 74 65 72 28  6e 25 29 0d 76 7a 1c f2  |s_enter(n%).vz..|
00019360  70 75 74 74 65 78 74 28  6f 70 74 70 63 25 2c 31  |puttext(optpc%,1|
00019370  2c c3 28 6e 25 29 29 0d  76 82 22 f2 70 75 74 74  |,.(n%)).v.".putt|
00019380  65 78 74 28 6f 70 74 70  63 25 2c 35 2c 70 61 73  |ext(optpc%,5,pas|
00019390  73 24 28 6e 25 2c 30 29  29 0d 76 8a 23 f2 70 75  |s$(n%,0)).v.#.pu|
000193a0  74 74 65 78 74 28 6f 70  74 70 63 25 2c 33 32 2c  |ttext(optpc%,32,|
000193b0  70 61 73 73 24 28 6e 25  2c 31 29 29 0d 76 92 0f  |pass$(n%,1)).v..|
000193c0  e3 20 63 25 3d 30 20 b8  20 31 32 0d 76 9a 0e 21  |. c%=0 . 12.v..!|
000193d0  71 25 3d 6f 70 74 70 63  25 0d 76 a2 0d 71 25 21  |q%=optpc%.v..q%!|
000193e0  34 3d 37 2b 63 25 0d 76  aa 1e c8 99 20 22 57 69  |4=7+c%.v.... "Wi|
000193f0  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00019400  2c 2c 71 25 0d 76 b2 1e  63 6f 6d 70 25 3d 28 71  |,,q%.v..comp%=(q|
00019410  25 21 32 34 20 80 20 31  3c 3c 32 31 29 3e 3e 3e  |%!24 . 1<<21)>>>|
00019420  32 31 0d 76 ba 0e 73 25  3d 70 6e 25 28 6e 25 29  |21.v..s%=pn%(n%)|
00019430  0d 76 c2 18 73 25 3d 28  73 25 20 80 20 31 3c 3c  |.v..s%=(s% . 1<<|
00019440  63 25 29 3e 3e 3e 63 25  0d 76 ca 2a e7 20 63 6f  |c%)>>>c%.v.*. co|
00019450  6d 70 25 3d 31 20 80 20  73 25 3d 30 20 8c 20 f2  |mp%=1 . s%=0 . .|
00019460  78 6f 72 28 6f 70 74 70  63 25 2c 37 2b 63 25 2c  |xor(optpc%,7+c%,|
00019470  31 29 0d 76 d2 2a e7 20  63 6f 6d 70 25 3d 30 20  |1).v.*. comp%=0 |
00019480  80 20 73 25 3d 31 20 8c  20 f2 78 6f 72 28 6f 70  |. s%=1 . .xor(op|
00019490  74 70 63 25 2c 37 2b 63  25 2c 31 29 0d 76 da 08  |tpc%,7+c%,1).v..|
000194a0  ed 20 63 25 0d 76 e2 21  73 25 3d 28 28 70 6e 25  |. c%.v.!s%=((pn%|
000194b0  28 6e 25 29 20 80 20 28  31 3c 3c 31 33 29 29 3e  |(n%) . (1<<13))>|
000194c0  3e 3e 31 33 29 0d 76 ea  1d 63 6f 6d 70 25 3d a4  |>>13).v..comp%=.|
000194d0  49 63 6f 6e 47 65 74 28  6f 70 74 70 63 25 2c 33  |IconGet(optpc%,3|
000194e0  38 29 0d 76 f2 24 e7 20  63 6f 6d 70 25 2b 73 25  |8).v.$. comp%+s%|
000194f0  3d 31 20 8c 20 f2 78 6f  72 28 6f 70 74 70 63 25  |=1 . .xor(optpc%|
00019500  2c 33 38 2c 31 29 0d 76  fa 1c 6c 25 3d a9 28 a4  |,38,1).v..l%=.(.|
00019510  67 65 74 74 65 78 74 28  6f 70 74 70 63 25 2c 35  |gettext(optpc%,5|
00019520  29 29 0d 77 02 31 c8 99  20 22 57 69 6d 70 5f 53  |)).w.1.. "Wimp_S|
00019530  65 74 43 61 72 65 74 50  6f 73 69 74 69 6f 6e 22  |etCaretPosition"|
00019540  2c 6f 70 74 70 63 25 2c  35 2c 30 2c 30 2c 2d 31  |,optpc%,5,0,0,-1|
00019550  2c 6c 25 0d 77 0a 05 e1  0d 77 12 04 0d 77 1a 0f  |,l%.w....w...w..|
00019560  dd f2 73 61 76 65 5f 70  61 73 73 0d 77 22 1d 6e  |..save_pass.w".n|
00019570  6f 25 3d bb 28 a4 67 65  74 74 65 78 74 28 6f 70  |o%=.(.gettext(op|
00019580  74 70 63 25 2c 31 29 29  0d 77 2a 3d e7 20 6e 6f  |tpc%,1)).w*=. no|
00019590  25 3e 75 73 65 72 73 25  2b 31 20 8c 20 f2 64 69  |%>users%+1 . .di|
000195a0  73 5f 6d 65 73 73 61 67  65 28 22 4e 6f 74 20 61  |s_message("Not a|
000195b0  6c 6c 20 75 73 65 72 73  20 64 65 66 69 6e 65 64  |ll users defined|
000195c0  2e 22 29 3a e1 0d 77 32  1e e7 20 6e 6f 25 3d 75  |."):..w2.. no%=u|
000195d0  73 65 72 73 25 2b 31 20  8c 20 75 73 65 72 73 25  |sers%+1 . users%|
000195e0  2b 3d 31 0d 77 3a 23 70  61 73 73 24 28 6e 6f 25  |+=1.w:#pass$(no%|
000195f0  2c 30 29 3d a4 67 65 74  74 65 78 74 28 6f 70 74  |,0)=.gettext(opt|
00019600  70 63 25 2c 35 29 0d 77  42 2c 70 61 73 73 24 28  |pc%,5).wB,pass$(|
00019610  6e 6f 25 2c 31 29 3d a4  55 70 70 65 72 28 a4 67  |no%,1)=.Upper(.g|
00019620  65 74 74 65 78 74 28 6f  70 74 70 63 25 2c 33 32  |ettext(optpc%,32|
00019630  29 29 0d 77 4a 0b 63 6f  6d 62 25 3d 30 0d 77 52  |)).wJ.comb%=0.wR|
00019640  0f e3 20 63 25 3d 30 20  b8 20 31 32 0d 77 5a 31  |.. c%=0 . 12.wZ1|
00019650  e7 20 a4 49 63 6f 6e 47  65 74 28 6f 70 74 70 63  |. .IconGet(optpc|
00019660  25 2c 37 2b 63 25 29 20  8c 20 63 6f 6d 62 25 3d  |%,7+c%) . comb%=|
00019670  63 6f 6d 62 25 20 84 20  31 3c 3c 63 25 0d 77 62  |comb% . 1<<c%.wb|
00019680  08 ed 20 63 25 0d 77 6a  2f e7 20 a4 49 63 6f 6e  |.. c%.wj/. .Icon|
00019690  47 65 74 28 6f 70 74 70  63 25 2c 33 38 29 20 8c  |Get(optpc%,38) .|
000196a0  20 63 6f 6d 62 25 3d 63  6f 6d 62 25 20 84 20 31  | comb%=comb% . 1|
000196b0  3c 3c 31 33 0d 77 72 12  70 6e 25 28 6e 6f 25 29  |<<13.wr.pn%(no%)|
000196c0  3d 63 6f 6d 62 25 0d 77  7a 13 f2 73 61 76 65 5f  |=comb%.wz..save_|
000196d0  70 61 73 73 5f 66 69 6c  65 0d 77 82 0c e7 20 77  |pass_file.w... w|
000196e0  5f 61 25 20 8c 0d 77 8a  32 20 20 61 24 3d 22 52  |_a% ..w.2  a$="R|
000196f0  22 2b c3 28 6c 6f 67 67  65 64 5f 6f 6e 25 29 2b  |"+.(logged_on%)+|
00019700  22 3b 22 2b 70 61 73 73  24 28 6c 6f 67 67 65 64  |";"+pass$(logged|
00019710  5f 6f 6e 25 2c 30 29 0d  77 92 17 20 20 f2 61 64  |_on%,0).w..  .ad|
00019720  64 5f 77 61 74 63 68 64  6f 67 28 61 24 29 0d 77  |d_watchdog(a$).w|
00019730  9a 05 cd 0d 77 a2 05 e1  0d 77 aa 04 0d 77 b2 19  |....w....w...w..|
00019740  dd f2 6d 6f 76 65 5f 70  61 73 73 5f 69 64 28 66  |..move_pass_id(f|
00019750  75 6e 63 25 29 0d 77 ba  1d 6e 6f 25 3d bb 28 a4  |unc%).w..no%=.(.|
00019760  67 65 74 74 65 78 74 28  6f 70 74 70 63 25 2c 31  |gettext(optpc%,1|
00019770  29 29 0d 77 c2 19 e7 20  6e 6f 25 3d 31 20 80 20  |)).w... no%=1 . |
00019780  66 75 6e 63 25 3d 30 20  8c 20 e1 0d 77 ca 1b e7  |func%=0 . ..w...|
00019790  20 6e 6f 25 3d 32 35 35  20 80 20 66 75 6e 63 25  | no%=255 . func%|
000197a0  3d 31 20 8c 20 e1 0d 77  d2 12 6e 6f 25 2b 3d 66  |=1 . ..w..no%+=f|
000197b0  75 6e 63 25 2a 32 2d 31  0d 77 da 14 f2 70 61 73  |unc%*2-1.w...pas|
000197c0  73 5f 65 6e 74 65 72 28  6e 6f 25 29 0d 77 e2 05  |s_enter(no%).w..|
000197d0  e1 0d 77 ea 04 0d 77 f2  11 dd f2 64 65 6c 65 74  |..w...w....delet|
000197e0  65 5f 70 61 73 73 0d 77  fa 1d 6e 6f 25 3d bb 28  |e_pass.w..no%=.(|
000197f0  a4 67 65 74 74 65 78 74  28 6f 70 74 70 63 25 2c  |.gettext(optpc%,|
00019800  31 29 29 0d 78 02 3e e7  20 6e 6f 25 3e 75 73 65  |1)).x.>. no%>use|
00019810  72 73 25 20 8c 20 f2 64  69 73 5f 6d 65 73 73 61  |rs% . .dis_messa|
00019820  67 65 28 22 54 68 69 73  20 75 73 65 72 20 69 73  |ge("This user is|
00019830  20 6e 6f 74 20 64 65 66  69 6e 65 64 2e 22 29 3a  | not defined."):|
00019840  e1 0d 78 0a 12 e7 20 6e  6f 25 3d 75 73 65 72 73  |..x... no%=users|
00019850  25 20 8c 0d 78 12 0f 20  20 75 73 65 72 73 25 2d  |% ..x..  users%-|
00019860  3d 31 0d 78 1a 15 20 20  70 61 73 73 24 28 6e 6f  |=1.x..  pass$(no|
00019870  25 2c 30 29 3d 22 22 0d  78 22 15 20 20 70 61 73  |%,0)="".x".  pas|
00019880  73 24 28 6e 6f 25 2c 31  29 3d 22 22 0d 78 2a 10  |s$(no%,1)="".x*.|
00019890  20 20 70 6e 25 28 6e 6f  25 29 3d 30 0d 78 32 38  |  pn%(no%)=0.x28|
000198a0  20 20 e7 20 70 61 73 73  24 28 6e 6f 25 2d 31 2c  |  . pass$(no%-1,|
000198b0  30 29 3d 22 3c 55 6e 64  65 66 69 6e 65 64 3e 22  |0)="<Undefined>"|
000198c0  20 8c 20 70 61 73 73 24  28 6e 6f 25 2d 31 2c 30  | . pass$(no%-1,0|
000198d0  29 3d 22 22 0d 78 3a 15  20 20 f2 73 61 76 65 5f  |)="".x:.  .save_|
000198e0  70 61 73 73 5f 66 69 6c  65 0d 78 42 05 cc 0d 78  |pass_file.xB...x|
000198f0  4a 20 20 20 70 61 73 73  24 28 6e 6f 25 2c 30 29  |J   pass$(no%,0)|
00019900  3d 22 3c 55 6e 64 65 66  69 6e 65 64 3e 22 0d 78  |="<Undefined>".x|
00019910  52 1b 20 20 70 61 73 73  24 28 6e 6f 25 2c 31 29  |R.  pass$(no%,1)|
00019920  3d a4 72 61 6e 5f 63 6f  64 0d 78 5a 10 20 20 70  |=.ran_cod.xZ.  p|
00019930  6e 25 28 6e 6f 25 29 3d  30 0d 78 62 15 20 20 f2  |n%(no%)=0.xb.  .|
00019940  73 61 76 65 5f 70 61 73  73 5f 66 69 6c 65 0d 78  |save_pass_file.x|
00019950  6a 05 cd 0d 78 72 05 e1  0d 78 7a 04 0d 78 82 0d  |j...xr...xz..x..|
00019960  dd a4 72 61 6e 5f 63 6f  64 0d 78 8a 09 73 24 3d  |..ran_cod.x..s$=|
00019970  22 22 0d 78 92 0e c8 95  20 a9 28 73 24 29 3c 36  |"".x.... .(s$)<6|
00019980  0d 78 9a 15 20 20 73 24  2b 3d bd 28 36 34 2b b3  |.x..  s$+=.(64+.|
00019990  28 32 36 29 29 0d 78 a2  05 ce 0d 78 aa 07 3d 73  |(26)).x....x..=s|
000199a0  24 0d 78 b2 04 0d 78 ba  14 dd f2 73 61 76 65 5f  |$.x...x....save_|
000199b0  70 61 73 73 5f 66 69 6c  65 0d 78 c2 2c 66 69 6c  |pass_file.x.,fil|
000199c0  6f 25 3d ae 28 22 3c 4c  69 62 72 61 72 79 24 44  |o%=.("<Library$D|
000199d0  69 72 3e 2e 50 72 65 66  65 72 65 6e 63 65 2e 50  |ir>.Preference.P|
000199e0  61 73 73 22 29 0d 78 ca  12 d5 23 66 69 6c 6f 25  |ass").x...#filo%|
000199f0  2c 75 73 65 72 73 25 0d  78 d2 13 e3 20 63 25 3d  |,users%.x... c%=|
00019a00  31 20 b8 20 75 73 65 72  73 25 0d 78 da 2b f1 23  |1 . users%.x.+.#|
00019a10  66 69 6c 6f 25 2c 70 61  73 73 24 28 63 25 2c 30  |filo%,pass$(c%,0|
00019a20  29 2c 70 61 73 73 24 28  63 25 2c 31 29 2c 70 6e  |),pass$(c%,1),pn|
00019a30  25 28 63 25 29 0d 78 e2  08 ed 20 63 25 0d 78 ea  |%(c%).x... c%.x.|
00019a40  0b d9 23 66 69 6c 6f 25  0d 78 f2 05 e1 0d 78 fa  |..#filo%.x....x.|
00019a50  04 0d 79 02 1b dd f2 73  61 76 65 5f 65 78 70 6f  |..y....save_expo|
00019a60  72 74 28 6e 24 2c 66 75  6e 63 25 29 0d 79 0a 0f  |rt(n$,func%).y..|
00019a70  66 69 6c 6f 25 3d ae 28  6e 24 29 0d 79 12 14 e3  |filo%=.(n$).y...|
00019a80  20 63 25 3d 30 20 b8 20  77 69 6e 70 25 2d 31 0d  | c%=0 . winp%-1.|
00019a90  79 1a 09 65 25 3d 63 25  0d 79 22 0d 61 63 63 75  |y..e%=c%.y".accu|
00019aa0  6d 24 3d 22 22 0d 79 2a  0e c8 8e 20 66 75 6e 63  |m$="".y*... func|
00019ab0  25 20 ca 0d 79 32 09 20  20 c9 20 30 0d 79 3a 16  |% ..y2.  . 0.y:.|
00019ac0  20 20 20 20 c8 8e 20 75  73 69 6e 67 5f 72 64 25  |    .. using_rd%|
00019ad0  20 ca 0d 79 42 0d 20 20  20 20 20 20 c9 20 31 0d  | ..yB.      . 1.|
00019ae0  79 4a 28 20 20 20 20 20  20 20 20 d5 23 66 69 6c  |yJ(        .#fil|
00019af0  6f 25 2c c1 77 69 6e 73  74 61 63 6b 24 28 65 25  |o%,.winstack$(e%|
00019b00  29 2c 37 2c 35 30 29 0d  79 52 29 20 20 20 20 20  |),7,50).yR)     |
00019b10  20 20 20 61 63 63 75 6d  24 2b 3d c1 77 69 6e 73  |   accum$+=.wins|
00019b20  74 61 63 6b 24 28 65 25  29 2c 35 37 2c 34 30 29  |tack$(e%),57,40)|
00019b30  0d 79 5a 32 20 20 20 20  20 20 20 20 61 63 63 75  |.yZ2        accu|
00019b40  6d 24 2b 3d a4 73 70 63  28 c1 77 69 6e 73 74 61  |m$+=.spc(.winsta|
00019b50  63 6b 24 28 65 25 29 2c  39 37 2c 31 35 29 2c 32  |ck$(e%),97,15),2|
00019b60  30 29 0d 79 62 2d 20 20  20 20 20 20 20 20 61 63  |0).yb-        ac|
00019b70  63 75 6d 24 2b 3d a4 73  70 63 28 c2 77 69 6e 73  |cum$+=.spc(.wins|
00019b80  74 61 63 6b 24 28 65 25  29 2c 36 29 2c 37 29 0d  |tack$(e%),6),7).|
00019b90  79 6a 2e 20 20 20 20 20  20 20 20 61 63 63 75 6d  |yj.        accum|
00019ba0  24 2b 3d a4 73 70 63 28  c0 77 69 6e 73 74 61 63  |$+=.spc(.winstac|
00019bb0  6b 24 28 65 25 29 2c 36  29 2c 31 30 29 0d 79 72  |k$(e%),6),10).yr|
00019bc0  1a 20 20 20 20 20 20 20  20 d5 23 66 69 6c 6f 25  |.        .#filo%|
00019bd0  2c 61 63 63 75 6d 24 0d  79 7a 0d 20 20 20 20 20  |,accum$.yz.     |
00019be0  20 c9 20 35 0d 79 82 21  20 20 20 20 20 20 20 20  | . 5.y.!        |
00019bf0  d5 23 66 69 6c 6f 25 2c  77 69 6e 73 74 61 63 6b  |.#filo%,winstack|
00019c00  24 28 65 25 29 0d 79 8a  09 20 20 20 20 cb 0d 79  |$(e%).y..    ..y|
00019c10  92 09 20 20 c9 20 31 0d  79 9a 16 20 20 20 20 c8  |..  . 1.y..    .|
00019c20  8e 20 75 73 69 6e 67 5f  72 64 25 20 ca 0d 79 a2  |. using_rd% ..y.|
00019c30  0d 20 20 20 20 20 20 c9  20 31 0d 79 aa 33 20 20  |.      . 1.y.3  |
00019c40  20 20 20 20 20 20 61 63  63 75 6d 24 2b 3d 22 22  |      accum$+=""|
00019c50  22 22 2b c1 77 69 6e 73  74 61 63 6b 24 28 65 25  |""+.winstack$(e%|
00019c60  29 2c 37 2c 35 30 29 2b  22 22 22 2c 22 0d 79 b2  |),7,50)+""",".y.|
00019c70  34 20 20 20 20 20 20 20  20 61 63 63 75 6d 24 2b  |4        accum$+|
00019c80  3d 22 22 22 22 2b c1 77  69 6e 73 74 61 63 6b 24  |=""""+.winstack$|
00019c90  28 65 25 29 2c 35 37 2c  34 30 29 2b 22 22 22 2c  |(e%),57,40)+""",|
00019ca0  22 0d 79 ba 34 20 20 20  20 20 20 20 20 61 63 63  |".y.4        acc|
00019cb0  75 6d 24 2b 3d 22 22 22  22 2b c1 77 69 6e 73 74  |um$+=""""+.winst|
00019cc0  61 63 6b 24 28 65 25 29  2c 39 37 2c 31 35 29 2b  |ack$(e%),97,15)+|
00019cd0  22 22 22 2c 22 0d 79 c2  30 20 20 20 20 20 20 20  |""",".y.0       |
00019ce0  20 61 63 63 75 6d 24 2b  3d 22 22 22 22 2b c2 77  | accum$+=""""+.w|
00019cf0  69 6e 73 74 61 63 6b 24  28 65 25 29 2c 36 29 2b  |instack$(e%),6)+|
00019d00  22 22 22 2c 22 0d 79 ca  2f 20 20 20 20 20 20 20  |""",".y./       |
00019d10  20 61 63 63 75 6d 24 2b  3d 22 22 22 22 2b c0 77  | accum$+=""""+.w|
00019d20  69 6e 73 74 61 63 6b 24  28 65 25 29 2c 36 29 2b  |instack$(e%),6)+|
00019d30  22 22 22 22 0d 79 d2 1a  20 20 20 20 20 20 20 20  |"""".y..        |
00019d40  d5 23 66 69 6c 6f 25 2c  61 63 63 75 6d 24 0d 79  |.#filo%,accum$.y|
00019d50  da 0d 20 20 20 20 20 20  c9 20 35 0d 79 e2 30 20  |..      . 5.y.0 |
00019d60  20 20 20 20 20 20 20 61  63 63 75 6d 24 2b 3d 22  |       accum$+="|
00019d70  22 22 22 2b c0 77 69 6e  73 74 61 63 6b 24 28 65  |"""+.winstack$(e|
00019d80  25 29 2c 39 29 2b 22 22  22 2c 22 0d 79 ea 34 20  |%),9)+""",".y.4 |
00019d90  20 20 20 20 20 20 20 61  63 63 75 6d 24 2b 3d 22  |       accum$+="|
00019da0  22 22 22 2b c1 77 69 6e  73 74 61 63 6b 24 28 65  |"""+.winstack$(e|
00019db0  25 29 2c 31 33 2c 33 30  29 2b 22 22 22 2c 22 0d  |%),13,30)+""",".|
00019dc0  79 f2 34 20 20 20 20 20  20 20 20 61 63 63 75 6d  |y.4        accum|
00019dd0  24 2b 3d 22 22 22 22 2b  c1 77 69 6e 73 74 61 63  |$+=""""+.winstac|
00019de0  6b 24 28 65 25 29 2c 34  33 2c 36 30 29 2b 22 22  |k$(e%),43,60)+""|
00019df0  22 2c 22 0d 79 fa 33 20  20 20 20 20 20 20 20 61  |",".y.3        a|
00019e00  63 63 75 6d 24 2b 3d 22  22 22 22 2b c1 77 69 6e  |ccum$+=""""+.win|
00019e10  73 74 61 63 6b 24 28 65  25 29 2c 31 30 33 2c 36  |stack$(e%),103,6|
00019e20  29 2b 22 22 22 22 0d 7a  02 1a 20 20 20 20 20 20  |)+"""".z..      |
00019e30  20 20 d5 23 66 69 6c 6f  25 2c 61 63 63 75 6d 24  |  .#filo%,accum$|
00019e40  0d 7a 0a 09 20 20 20 20  cb 0d 7a 12 05 cb 0d 7a  |.z..    ..z....z|
00019e50  1a 08 ed 20 63 25 0d 7a  22 0b d9 23 66 69 6c 6f  |... c%.z"..#filo|
00019e60  25 0d 7a 2a 0e c8 8e 20  66 75 6e 63 25 20 ca 0d  |%.z*... func% ..|
00019e70  7a 32 22 20 20 c9 20 30  3a 20 ff 28 22 53 65 74  |z2"  . 0: .("Set|
00019e80  54 79 70 65 20 22 2b 6e  24 2b 22 20 46 46 46 22  |Type "+n$+" FFF"|
00019e90  29 0d 7a 3a 22 20 20 c9  20 31 3a 20 ff 28 22 53  |).z:"  . 1: .("S|
00019ea0  65 74 54 79 70 65 20 22  2b 6e 24 2b 22 20 44 46  |etType "+n$+" DF|
00019eb0  45 22 29 0d 7a 42 05 cb  0d 7a 4a 05 e1 0d 7a 52  |E").zB...zJ...zR|
00019ec0  04 0d 7a 5a 0f dd f2 69  6e 69 74 5f 76 65 72 73  |..zZ...init_vers|
00019ed0  0d 7a 62 3d c8 99 20 22  4f 53 5f 47 42 50 42 22  |.zb=.. "OS_GBPB"|
00019ee0  2c 31 31 2c 22 3c 4c 69  62 72 61 72 79 24 44 69  |,11,"<Library$Di|
00019ef0  72 3e 22 2c 71 25 2c 37  37 2c 30 2c 26 32 30 30  |r>",q%,77,0,&200|
00019f00  30 2c 22 21 52 75 6e 49  6d 61 67 65 22 0d 7a 6a  |0,"!RunImage".zj|
00019f10  45 73 74 3d 28 71 25 3f  32 38 29 2a 32 5e 33 32  |Est=(q%?28)*2^32|
00019f20  2b 28 71 25 3f 32 37 29  2a 32 5e 32 34 2b 28 71  |+(q%?27)*2^24+(q|
00019f30  25 3f 32 36 29 2a 32 5e  31 36 2b 28 71 25 3f 32  |%?26)*2^16+(q%?2|
00019f40  35 29 2a 32 5e 38 2b 28  71 25 3f 32 34 29 2a 32  |5)*2^8+(q%?24)*2|
00019f50  5e 30 0d 7a 72 1f 79 65  61 72 25 3d 73 74 2f 31  |^0.zr.year%=st/1|
00019f60  30 30 2f 33 36 30 30 2f  32 34 2f 33 36 35 2e 32  |00/3600/24/365.2|
00019f70  35 0d 7a 7a 23 72 65 6d  3d 73 74 2d 79 65 61 72  |5.zz#rem=st-year|
00019f80  25 2a 31 30 30 2a 33 36  30 30 2a 32 34 2a 33 36  |%*100*3600*24*36|
00019f90  35 2e 32 35 0d 7a 82 19  64 61 79 73 25 3d 72 65  |5.25.z..days%=re|
00019fa0  6d 2f 31 30 30 2f 33 36  30 30 2f 32 34 0d 7a 8a  |m/100/3600/24.z.|
00019fb0  11 64 61 74 65 25 3d 64  61 79 73 25 2b 31 0d 7a  |.date%=days%+1.z|
00019fc0  92 23 e7 20 79 65 61 72  25 20 83 20 34 20 8c 20  |.#. year% . 4 . |
00019fd0  66 65 62 25 3d 32 38 20  8b 20 66 65 62 25 3d 32  |feb%=28 . feb%=2|
00019fe0  39 0d 7a 9a 10 e7 20 64  61 74 65 25 3e 33 31 20  |9.z... date%>31 |
00019ff0  8c 0d 7a a2 0f 20 20 64  61 74 65 25 2d 3d 33 31  |..z..  date%-=31|
0001a000  0d 7a aa 14 20 20 e7 20  64 61 74 65 25 3e 66 65  |.z..  . date%>fe|
0001a010  62 25 20 8c 0d 7a b2 13  20 20 20 20 64 61 74 65  |b% ..z..    date|
0001a020  25 2d 3d 66 65 62 25 0d  7a ba 14 20 20 20 20 e7  |%-=feb%.z..    .|
0001a030  20 64 61 74 65 25 3e 33  31 20 8c 0d 7a c2 13 20  | date%>31 ..z.. |
0001a040  20 20 20 20 20 64 61 74  65 25 2d 3d 33 31 0d 7a  |     date%-=31.z|
0001a050  ca 16 20 20 20 20 20 20  e7 20 64 61 74 65 25 3e  |..      . date%>|
0001a060  33 30 20 8c 0d 7a d2 15  20 20 20 20 20 20 20 20  |30 ..z..        |
0001a070  64 61 74 65 25 2d 3d 33  30 0d 7a da 18 20 20 20  |date%-=30.z..   |
0001a080  20 20 20 20 20 e7 20 64  61 74 65 25 3e 33 31 20  |     . date%>31 |
0001a090  8c 0d 7a e2 17 20 20 20  20 20 20 20 20 20 20 64  |..z..          d|
0001a0a0  61 74 65 25 2d 3d 33 31  0d 7a ea 1a 20 20 20 20  |ate%-=31.z..    |
0001a0b0  20 20 20 20 20 20 e7 20  64 61 74 65 25 3e 33 30  |      . date%>30|
0001a0c0  20 8c 0d 7a f2 19 20 20  20 20 20 20 20 20 20 20  | ..z..          |
0001a0d0  20 20 64 61 74 65 25 2d  3d 33 30 0d 7a fa 1c 20  |  date%-=30.z.. |
0001a0e0  20 20 20 20 20 20 20 20  20 20 20 e7 20 64 61 74  |           . dat|
0001a0f0  65 25 3e 33 31 20 8c 0d  7b 02 1b 20 20 20 20 20  |e%>31 ..{..     |
0001a100  20 20 20 20 20 20 20 20  20 64 61 74 65 25 2d 3d  |         date%-=|
0001a110  33 31 0d 7b 0a 1e 20 20  20 20 20 20 20 20 20 20  |31.{..          |
0001a120  20 20 20 20 e7 20 64 61  74 65 25 3e 33 31 20 8c  |    . date%>31 .|
0001a130  0d 7b 12 1d 20 20 20 20  20 20 20 20 20 20 20 20  |.{..            |
0001a140  20 20 20 20 64 61 74 65  25 2d 3d 33 31 0d 7b 1a  |    date%-=31.{.|
0001a150  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a160  20 e7 20 64 61 74 65 25  3e 33 30 20 8c 0d 7b 22  | . date%>30 ..{"|
0001a170  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0001a180  20 20 20 64 61 74 65 25  2d 3d 33 30 0d 7b 2a 22  |   date%-=30.{*"|
0001a190  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a1a0  20 20 e7 20 64 61 74 65  25 3e 33 31 20 8c 0d 7b  |  . date%>31 ..{|
0001a1b0  32 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |2!              |
0001a1c0  20 20 20 20 20 20 64 61  74 65 25 2d 3d 33 31 0d  |      date%-=31.|
0001a1d0  7b 3a 24 20 20 20 20 20  20 20 20 20 20 20 20 20  |{:$             |
0001a1e0  20 20 20 20 20 20 20 e7  20 64 61 74 65 25 3e 33  |       . date%>3|
0001a1f0  30 20 8c 0d 7b 42 23 20  20 20 20 20 20 20 20 20  |0 ..{B#         |
0001a200  20 20 20 20 20 20 20 20  20 20 20 20 20 64 61 74  |             dat|
0001a210  65 25 2d 3d 33 30 0d 7b  4a 26 20 20 20 20 20 20  |e%-=30.{J&      |
0001a220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a230  6d 6f 6e 74 68 24 3d 22  44 65 63 22 0d 7b 52 19  |month$="Dec".{R.|
0001a240  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a250  20 20 20 20 cc 0d 7b 5a  26 20 20 20 20 20 20 20  |    ..{Z&       |
0001a260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6d  |               m|
0001a270  6f 6e 74 68 24 3d 22 4e  6f 76 22 0d 7b 62 19 20  |onth$="Nov".{b. |
0001a280  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a290  20 20 20 cd 0d 7b 6a 17  20 20 20 20 20 20 20 20  |   ..{j.        |
0001a2a0  20 20 20 20 20 20 20 20  20 20 cc 0d 7b 72 24 20  |          ..{r$ |
0001a2b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a2c0  20 20 20 6d 6f 6e 74 68  24 3d 22 4f 63 74 22 0d  |   month$="Oct".|
0001a2d0  7b 7a 17 20 20 20 20 20  20 20 20 20 20 20 20 20  |{z.             |
0001a2e0  20 20 20 20 20 cd 0d 7b  82 15 20 20 20 20 20 20  |     ..{..      |
0001a2f0  20 20 20 20 20 20 20 20  20 20 cc 0d 7b 8a 22 20  |          ..{." |
0001a300  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a310  20 6d 6f 6e 74 68 24 3d  22 53 65 70 22 0d 7b 92  | month$="Sep".{.|
0001a320  15 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0001a330  20 cd 0d 7b 9a 13 20 20  20 20 20 20 20 20 20 20  | ..{..          |
0001a340  20 20 20 20 cc 0d 7b a2  20 20 20 20 20 20 20 20  |    ..{.        |
0001a350  20 20 20 20 20 20 20 20  20 6d 6f 6e 74 68 24 3d  |         month$=|
0001a360  22 41 75 67 22 0d 7b aa  13 20 20 20 20 20 20 20  |"Aug".{..       |
0001a370  20 20 20 20 20 20 20 cd  0d 7b b2 11 20 20 20 20  |       ..{..    |
0001a380  20 20 20 20 20 20 20 20  cc 0d 7b ba 1e 20 20 20  |        ..{..   |
0001a390  20 20 20 20 20 20 20 20  20 20 20 6d 6f 6e 74 68  |           month|
0001a3a0  24 3d 22 4a 75 6c 22 0d  7b c2 11 20 20 20 20 20  |$="Jul".{..     |
0001a3b0  20 20 20 20 20 20 20 cd  0d 7b ca 0f 20 20 20 20  |       ..{..    |
0001a3c0  20 20 20 20 20 20 cc 0d  7b d2 1c 20 20 20 20 20  |      ..{..     |
0001a3d0  20 20 20 20 20 20 20 6d  6f 6e 74 68 24 3d 22 4a  |       month$="J|
0001a3e0  75 6e 22 0d 7b da 0f 20  20 20 20 20 20 20 20 20  |un".{..         |
0001a3f0  20 cd 0d 7b e2 0d 20 20  20 20 20 20 20 20 cc 0d  | ..{..        ..|
0001a400  7b ea 1a 20 20 20 20 20  20 20 20 20 20 6d 6f 6e  |{..          mon|
0001a410  74 68 24 3d 22 4d 61 79  22 0d 7b f2 0d 20 20 20  |th$="May".{..   |
0001a420  20 20 20 20 20 cd 0d 7b  fa 0b 20 20 20 20 20 20  |     ..{..      |
0001a430  cc 0d 7c 02 18 20 20 20  20 20 20 20 20 6d 6f 6e  |..|..        mon|
0001a440  74 68 24 3d 22 41 70 72  22 0d 7c 0a 0b 20 20 20  |th$="Apr".|..   |
0001a450  20 20 20 cd 0d 7c 12 09  20 20 20 20 cc 0d 7c 1a  |   ..|..    ..|.|
0001a460  16 20 20 20 20 20 20 6d  6f 6e 74 68 24 3d 22 4d  |.      month$="M|
0001a470  61 72 22 0d 7c 22 09 20  20 20 20 cd 0d 7c 2a 07  |ar".|".    ..|*.|
0001a480  20 20 cc 0d 7c 32 14 20  20 20 20 6d 6f 6e 74 68  |  ..|2.    month|
0001a490  24 3d 22 46 65 62 22 0d  7c 3a 07 20 20 cd 0d 7c  |$="Feb".|:.  ..||
0001a4a0  42 05 cc 0d 7c 4a 12 20  20 6d 6f 6e 74 68 24 3d  |B...|J.  month$=|
0001a4b0  22 4a 61 6e 22 0d 7c 52  05 cd 0d 7c 5a 39 73 24  |"Jan".|R...|Z9s$|
0001a4c0  3d a4 7a 65 72 6f 28 c3  28 64 61 74 65 25 29 2c  |=.zero(.(date%),|
0001a4d0  32 29 2b 22 20 22 2b 6d  6f 6e 74 68 24 2b 22 20  |2)+" "+month$+" |
0001a4e0  22 2b a4 7a 65 72 6f 28  c3 28 79 65 61 72 25 29  |"+.zero(.(year%)|
0001a4f0  2c 32 29 0d 7c 62 18 f2  70 75 74 74 65 78 74 28  |,2).|b..puttext(|
0001a500  69 6e 66 6f 25 2c 33 2c  73 24 29 0d 7c 6a 05 e1  |info%,3,s$).|j..|
0001a510  0d 7c 72 04 0d 7c 7a 17  dd f2 72 65 63 65 69 76  |.|r..|z...receiv|
0001a520  65 5f 74 65 78 74 28 66  6e 24 29 0d 7c 82 20 c8  |e_text(fn$).|. .|
0001a530  99 20 22 57 69 6d 70 5f  47 65 74 50 6f 69 6e 74  |. "Wimp_GetPoint|
0001a540  65 72 49 6e 66 6f 22 2c  2c 71 25 0d 7c 8a 0e c8  |erInfo",,q%.|...|
0001a550  8e 20 71 25 21 31 32 20  ca 0d 7c 92 11 20 20 c9  |. q%!12 ..|..  .|
0001a560  20 6e 65 77 73 5f 69 6d  70 25 0d 7c 9a 40 20 20  | news_imp%.|.@  |
0001a570  20 20 c8 99 20 22 4f 53  5f 46 53 43 6f 6e 74 72  |  .. "OS_FSContr|
0001a580  6f 6c 22 2c 32 36 2c 66  6e 24 2c 22 3c 4c 69 62  |ol",26,fn$,"<Lib|
0001a590  72 61 72 79 24 44 69 72  3e 2e 54 65 78 74 2e 4e  |rary$Dir>.Text.N|
0001a5a0  65 77 73 22 2c 31 36 34  31 38 0d 7c a2 10 20 20  |ews",16418.|..  |
0001a5b0  20 20 e7 20 77 5f 61 25  20 8c 0d 7c aa 36 20 20  |  . w_a% ..|.6  |
0001a5c0  20 20 20 20 61 24 3d 22  44 22 2b c3 28 6c 6f 67  |    a$="D"+.(log|
0001a5d0  67 65 64 5f 6f 6e 25 29  2b 22 3b 22 2b 70 61 73  |ged_on%)+";"+pas|
0001a5e0  73 24 28 6c 6f 67 67 65  64 5f 6f 6e 25 2c 30 29  |s$(logged_on%,0)|
0001a5f0  0d 7c b2 1b 20 20 20 20  20 20 f2 61 64 64 5f 77  |.|..      .add_w|
0001a600  61 74 63 68 64 6f 67 28  61 24 29 0d 7c ba 09 20  |atchdog(a$).|.. |
0001a610  20 20 20 cd 0d 7c c2 13  20 20 c9 20 6f 76 65 72  |   ..|..  . over|
0001a620  64 75 65 5f 70 72 25 0d  7c ca 21 20 20 20 20 e7  |due_pr%.|.!    .|
0001a630  20 71 25 21 31 36 3e 3d  31 38 20 80 20 71 25 21  | q%!16>=18 . q%!|
0001a640  31 36 3c 3d 32 30 20 8c  0d 7c d2 45 20 20 20 20  |16<=20 ..|.E    |
0001a650  20 20 c8 99 20 22 4f 53  5f 46 53 43 6f 6e 74 72  |  .. "OS_FSContr|
0001a660  6f 6c 22 2c 32 36 2c 66  6e 24 2c 22 3c 4c 69 62  |ol",26,fn$,"<Lib|
0001a670  72 61 72 79 24 44 69 72  3e 2e 54 65 78 74 2e 4f  |rary$Dir>.Text.O|
0001a680  76 65 72 64 75 65 22 2c  31 36 34 31 38 0d 7c da  |verdue",16418.|.|
0001a690  09 20 20 20 20 cd 0d 7c  e2 05 cb 0d 7c ea 11 21  |.    ..|....|..!|
0001a6a0  71 25 3d 6e 65 77 73 5f  69 6d 70 25 0d 7c f2 1d  |q%=news_imp%.|..|
0001a6b0  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |.. "Wimp_CloseWi|
0001a6c0  6e 64 6f 77 22 2c 2c 71  25 0d 7c fa 05 e1 0d 7d  |ndow",,q%.|....}|
0001a6d0  02 04 0d 7d 0a 13 dd f2  61 64 64 74 6f 6e 65 77  |...}....addtonew|
0001a6e0  73 28 6e 24 29 0d 7d 12  10 e7 20 a9 28 6e 24 29  |s(n$).}... .(n$)|
0001a6f0  3e 37 37 20 8c 0d 7d 1a  0b 20 20 64 25 3d 37 37  |>77 ..}..  d%=77|
0001a700  0d 7d 22 17 20 20 c8 95  20 c1 6e 24 2c 64 25 2c  |.}".  .. .n$,d%,|
0001a710  31 29 3c 3e 22 20 22 0d  7d 2a 0d 20 20 20 20 64  |1)<>" ".}*.    d|
0001a720  25 2d 3d 31 0d 7d 32 07  20 20 ce 0d 7d 3a 1b 20  |%-=1.}2.  ..}:. |
0001a730  20 f2 61 64 64 74 6f 6e  65 77 73 28 c0 6e 24 2c  | .addtonews(.n$,|
0001a740  64 25 2d 31 29 29 0d 7d  42 1f 20 20 f2 61 64 64  |d%-1)).}B.  .add|
0001a750  74 6f 6e 65 77 73 28 c2  6e 24 2c a9 28 6e 24 29  |tonews(.n$,.(n$)|
0001a760  2d 64 25 29 29 0d 7d 4a  05 cc 0d 7d 52 19 20 20  |-d%)).}J...}R.  |
0001a770  77 69 6e 73 74 61 63 6b  24 28 77 69 6e 70 25 29  |winstack$(winp%)|
0001a780  3d 6e 24 0d 7d 5a 1d 20  20 77 69 6e 70 25 2b 3d  |=n$.}Z.  winp%+=|
0001a790  2d 31 2a 28 77 69 6e 70  25 3c 31 30 30 30 30 29  |-1*(winp%<10000)|
0001a7a0  0d 7d 62 05 cd 0d 7d 6a  05 e1 0d 7d 72 04 0d 7d  |.}b...}j...}r..}|
0001a7b0  7a 11 dd f2 76 69 65 77  5f 6d 65 6d 62 65 72 0d  |z...view_member.|
0001a7c0  7d 82 14 f2 63 68 65 63  6b 5f 62 6f 6f 6b 5f 64  |}...check_book_d|
0001a7d0  69 72 73 0d 7d 8a 13 f2  63 68 65 63 6b 5f 6d 65  |irs.}...check_me|
0001a7e0  6d 5f 64 69 72 73 0d 7d  92 14 e7 20 6d 65 6d 5f  |m_dirs.}... mem_|
0001a7f0  63 6f 75 6e 74 25 3d 30  20 8c 0d 7d 9a 48 20 20  |count%=0 ..}.H  |
0001a800  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 4e 6f  |.dis_message("No|
0001a810  20 6d 65 6d 62 65 72 20  64 69 72 65 63 74 6f 72  | member director|
0001a820  69 65 73 20 68 61 76 65  20 62 65 65 6e 20 73 65  |ies have been se|
0001a830  65 6e 20 62 79 20 74 68  65 20 66 69 6c 65 72 2e  |en by the filer.|
0001a840  22 29 0d 7d a2 07 20 20  e1 0d 7d aa 05 cd 0d 7d  |").}..  ..}....}|
0001a850  b2 12 21 71 25 3d 63 68  61 6e 67 65 6d 65 6d 25  |..!q%=changemem%|
0001a860  0d 7d ba 1d c8 99 20 22  57 69 6d 70 5f 43 6c 6f  |.}.... "Wimp_Clo|
0001a870  73 65 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 7d c2  |seWindow",,q%.}.|
0001a880  0f 21 71 25 3d 72 65 6d  6d 65 6d 25 0d 7d ca 1d  |.!q%=remmem%.}..|
0001a890  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |.. "Wimp_CloseWi|
0001a8a0  6e 64 6f 77 22 2c 2c 71  25 0d 7d d2 11 21 71 25  |ndow",,q%.}..!q%|
0001a8b0  3d 6d 61 69 6e 5f 61 75  78 25 0d 7d da 1d c8 99  |=main_aux%.}....|
0001a8c0  20 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  | "Wimp_CloseWind|
0001a8d0  6f 77 22 2c 2c 71 25 0d  7d e2 10 66 69 72 73 74  |ow",,q%.}..first|
0001a8e0  5f 67 6f 74 25 3d 30 0d  7d ea 0e e3 20 63 25 3d  |_got%=0.}... c%=|
0001a8f0  35 20 b8 20 37 0d 7d f2  27 e7 20 a4 49 63 6f 6e  |5 . 7.}.'. .Icon|
0001a900  47 65 74 28 76 6d 71 25  2c 63 25 29 20 8c 20 66  |Get(vmq%,c%) . f|
0001a910  69 72 73 74 5f 67 6f 74  25 3d 63 25 0d 7d fa 08  |irst_got%=c%.}..|
0001a920  ed 20 63 25 0d 7e 02 16  e7 20 66 69 72 73 74 5f  |. c%.~... first_|
0001a930  67 6f 74 25 3d 30 20 8c  20 e1 0d 7e 0a 11 73 65  |got%=0 . ..~..se|
0001a940  63 6f 6e 64 5f 67 6f 74  25 3d 30 0d 7e 12 0f e3  |cond_got%=0.~...|
0001a950  20 63 25 3d 39 20 b8 20  31 32 0d 7e 1a 28 e7 20  | c%=9 . 12.~.(. |
0001a960  a4 49 63 6f 6e 47 65 74  28 76 6d 71 25 2c 63 25  |.IconGet(vmq%,c%|
0001a970  29 20 8c 20 73 65 63 6f  6e 64 5f 67 6f 74 25 3d  |) . second_got%=|
0001a980  63 25 0d 7e 22 08 ed 20  63 25 0d 7e 2a 17 e7 20  |c%.~".. c%.~*.. |
0001a990  73 65 63 6f 6e 64 5f 67  6f 74 25 3d 30 20 8c 20  |second_got%=0 . |
0001a9a0  e1 0d 7e 32 1a 77 63 31  25 3d a4 49 63 6f 6e 47  |..~2.wc1%=.IconG|
0001a9b0  65 74 28 76 6d 71 25 2c  32 32 29 0d 7e 3a 1a 77  |et(vmq%,22).~:.w|
0001a9c0  63 32 25 3d a4 49 63 6f  6e 47 65 74 28 76 6d 71  |c2%=.IconGet(vmq|
0001a9d0  25 2c 32 36 29 0d 7e 42  20 66 69 72 73 74 5f 67  |%,26).~B first_g|
0001a9e0  6f 74 25 2d 3d 34 3a 73  65 63 6f 6e 64 5f 67 6f  |ot%-=4:second_go|
0001a9f0  74 25 2d 3d 39 0d 7e 4a  18 74 31 24 3d a4 67 65  |t%-=9.~J.t1$=.ge|
0001aa00  74 74 65 78 74 28 76 6d  71 25 2c 34 29 0d 7e 52  |ttext(vmq%,4).~R|
0001aa10  18 74 32 24 3d a4 67 65  74 74 65 78 74 28 76 6d  |.t2$=.gettext(vm|
0001aa20  71 25 2c 38 29 0d 7e 5a  1e e7 20 66 69 72 73 74  |q%,8).~Z.. first|
0001aa30  5f 67 6f 74 25 3d 73 65  63 6f 6e 64 5f 67 6f 74  |_got%=second_got|
0001aa40  25 20 8c 0d 7e 62 28 20  20 e7 20 74 31 24 3d 22  |% ..~b(  . t1$="|
0001aa50  22 20 8c 20 c8 94 20 74  31 24 2c 74 32 24 3a c8  |" . .. t1$,t2$:.|
0001aa60  94 20 77 63 31 25 2c 77  63 32 25 0d 7e 6a 13 20  |. wc1%,wc2%.~j. |
0001aa70  20 73 65 63 6f 6e 64 5f  67 6f 74 25 3d 30 0d 7e  | second_got%=0.~|
0001aa80  72 05 cd 0d 7e 7a 25 e7  20 73 65 63 6f 6e 64 5f  |r...~z%. second_|
0001aa90  67 6f 74 25 3d 31 20 80  20 66 69 72 73 74 5f 67  |got%=1 . first_g|
0001aaa0  6f 74 25 3c 3e 31 20 8c  0d 7e 82 1f 20 20 c8 94  |ot%<>1 ..~..  ..|
0001aab0  20 66 69 72 73 74 5f 67  6f 74 25 2c 73 65 63 6f  | first_got%,seco|
0001aac0  6e 64 5f 67 6f 74 25 0d  7e 8a 10 20 20 c8 94 20  |nd_got%.~..  .. |
0001aad0  74 31 24 2c 74 32 24 0d  7e 92 12 20 20 c8 94 20  |t1$,t2$.~..  .. |
0001aae0  77 63 31 25 2c 77 63 32  25 0d 7e 9a 05 cd 0d 7e  |wc1%,wc2%.~....~|
0001aaf0  a2 14 e7 20 66 69 72 73  74 5f 67 6f 74 25 3d 31  |... first_got%=1|
0001ab00  20 8c 0d 7e aa 21 20 20  74 65 6d 70 25 3d a4 76  | ..~.!  temp%=.v|
0001ab10  61 6c 69 64 61 74 65 5f  6d 65 6d 5f 6e 6f 28 74  |alidate_mem_no(t|
0001ab20  31 24 29 0d 7e b2 10 20  20 c8 8e 20 74 65 6d 70  |1$).~..  .. temp|
0001ab30  25 20 ca 0d 7e ba 22 20  20 20 20 c9 20 b9 3a 20  |% ..~."    . .: |
0001ab40  f2 64 69 73 5f 6d 65 6d  5f 64 65 74 61 69 6c 73  |.dis_mem_details|
0001ab50  28 74 31 24 29 0d 7e c2  36 20 20 20 20 c9 20 a3  |(t1$).~.6    . .|
0001ab60  3a 20 f2 64 69 73 5f 6d  65 73 73 61 67 65 28 22  |: .dis_message("|
0001ab70  49 6e 76 61 6c 69 64 20  6d 65 6d 62 65 72 73 68  |Invalid membersh|
0001ab80  69 70 20 6e 75 6d 62 65  72 22 29 0d 7e ca 63 20  |ip number").~.c |
0001ab90  20 20 20 c9 20 32 3a 20  f2 64 69 73 5f 6d 65 73  |   . 2: .dis_mes|
0001aba0  73 61 67 65 28 22 54 68  65 20 6d 65 6d 62 65 72  |sage("The member|
0001abb0  20 64 69 72 65 63 74 6f  72 79 20 66 6f 72 20 74  | directory for t|
0001abc0  68 61 74 20 6e 75 6d 62  65 72 20 68 61 73 20 6e  |hat number has n|
0001abd0  6f 74 20 62 65 65 6e 20  73 65 65 6e 20 62 79 20  |ot been seen by |
0001abe0  74 68 65 20 66 69 6c 65  72 2e 22 29 3a e1 0d 7e  |the filer."):..~|
0001abf0  d2 07 20 20 cb 0d 7e da  05 cc 0d 7e e2 42 20 20  |..  ..~....~.B  |
0001ac00  f2 73 65 61 72 63 68 5f  6d 65 6d 62 65 72 73 68  |.search_membersh|
0001ac10  69 70 28 66 69 72 73 74  5f 67 6f 74 25 2c 73 65  |ip(first_got%,se|
0001ac20  63 6f 6e 64 5f 67 6f 74  25 2c 74 31 24 2c 74 32  |cond_got%,t1$,t2|
0001ac30  24 2c 77 63 31 25 2c 77  63 32 25 29 0d 7e ea 15  |$,wc1%,wc2%).~..|
0001ac40  20 20 63 75 72 72 65 6e  74 5f 76 69 65 77 25 3d  |  current_view%=|
0001ac50  30 0d 7e f2 17 20 20 6d  61 78 5f 76 69 65 77 25  |0.~..  max_view%|
0001ac60  3d 77 69 6e 70 25 2d 31  0d 7e fa 30 20 20 f2 64  |=winp%-1.~.0  .d|
0001ac70  69 73 5f 6d 65 6d 5f 64  65 74 61 69 6c 73 28 77  |is_mem_details(w|
0001ac80  69 6e 73 74 61 63 6b 24  28 63 75 72 72 65 6e 74  |instack$(current|
0001ac90  5f 76 69 65 77 25 29 29  0d 7f 02 05 cd 0d 7f 0a  |_view%))........|
0001aca0  16 f2 63 6c 65 61 72 74  65 78 74 28 76 6d 71 25  |..cleartext(vmq%|
0001acb0  2c 34 29 0d 7f 12 16 f2  63 6c 65 61 72 74 65 78  |,4).....cleartex|
0001acc0  74 28 76 6d 71 25 2c 38  29 0d 7f 1a 0c 21 71 25  |t(vmq%,8)....!q%|
0001acd0  3d 76 6d 71 25 0d 7f 22  1d c8 99 20 22 57 69 6d  |=vmq%.."... "Wim|
0001ace0  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
0001acf0  71 25 0d 7f 2a 05 e1 0d  7f 32 04 0d 7f 3a 19 dd  |q%..*....2...:..|
0001ad00  a4 76 61 6c 69 64 61 74  65 5f 6d 65 6d 5f 6e 6f  |.validate_mem_no|
0001ad10  28 73 24 29 0d 7f 42 13  e7 20 a9 28 73 24 29 3c  |(s$)..B.. .(s$)<|
0001ad20  3e 39 20 8c 20 3d a3 0d  7f 4a 0c 63 6f 75 6e 74  |>9 . =...J.count|
0001ad30  25 3d 30 0d 7f 52 0e e3  20 72 25 3d 31 20 b8 20  |%=0..R.. r%=1 . |
0001ad40  38 0d 7f 5a 27 63 6f 75  6e 74 25 3d 63 6f 75 6e  |8..Z'count%=coun|
0001ad50  74 25 2b 28 72 25 2b 31  29 2a bb 28 c1 73 24 2c  |t%+(r%+1)*.(.s$,|
0001ad60  39 2d 72 25 2c 31 29 29  0d 7f 62 08 ed 20 72 25  |9-r%,1))..b.. r%|
0001ad70  0d 7f 6a 28 63 64 24 3d  c1 73 24 2c 39 2c 31 29  |..j(cd$=.s$,9,1)|
0001ad80  3a e7 20 a7 22 58 78 22  2c 63 64 24 29 20 8c 20  |:. ."Xx",cd$) . |
0001ad90  63 64 24 3d 22 31 30 22  0d 7f 72 0e 63 64 25 3d  |cd$="10"..r.cd%=|
0001ada0  bb 28 63 64 24 29 0d 7f  7a 1b e7 20 63 6f 75 6e  |.(cd$)..z.. coun|
0001adb0  74 25 20 83 20 31 31 3c  3e 63 64 25 20 8c 20 3d  |t% . 11<>cd% . =|
0001adc0  a3 0d 7f 82 10 64 25 3d  bb 28 c0 73 24 2c 32 29  |.....d%=.(.s$,2)|
0001add0  29 0d 7f 8a 12 6c 25 3d  bb 28 c1 73 24 2c 33 2c  |)....l%=.(.s$,3,|
0001ade0  32 29 29 0d 7f 92 12 73  25 3d bb 28 c1 73 24 2c  |2))....s%=.(.s$,|
0001adf0  35 2c 31 29 29 0d 7f 9a  12 6e 25 3d bb 28 c1 73  |5,1))....n%=.(.s|
0001ae00  24 2c 36 2c 33 29 29 0d  7f a2 1d e7 20 6d 65 6d  |$,6,3))..... mem|
0001ae10  5f 64 69 72 5f 64 65 66  25 28 64 25 29 3d a3 20  |_dir_def%(d%)=. |
0001ae20  8c 20 3d 32 0d 7f aa 10  e7 20 6c 25 3e 32 35 20  |. =2..... l%>25 |
0001ae30  8c 20 3d a3 0d 7f b2 0f  e7 20 73 25 3e 39 20 8c  |. =...... s%>9 .|
0001ae40  20 3d a3 0d 7f ba 38 66  69 6c 6f 25 3d 8e 28 22  | =....8filo%=.("|
0001ae50  3c 4d 65 6d 62 65 72 22  2b c3 28 64 25 29 2b 22  |<Member"+.(d%)+"|
0001ae60  24 44 69 72 3e 2e 22 2b  bd 28 36 35 2b 6c 25 29  |$Dir>."+.(65+l%)|
0001ae70  2b 22 2e 22 2b c3 28 73  25 29 29 0d 7f c2 0f e8  |+"."+.(s%)).....|
0001ae80  23 66 69 6c 6f 25 2c 74  6e 25 0d 7f ca 0b d9 23  |#filo%,tn%.....#|
0001ae90  66 69 6c 6f 25 0d 7f d2  11 e7 20 6e 25 3e 74 6e  |filo%..... n%>tn|
0001aea0  25 20 8c 20 3d a3 0d 7f  da 06 3d b9 0d 7f e2 04  |% . =.....=.....|
0001aeb0  0d 7f ea 34 dd f2 73 65  61 72 63 68 5f 6d 65 6d  |...4..search_mem|
0001aec0  62 65 72 73 68 69 70 28  73 31 25 2c 73 32 25 2c  |bership(s1%,s2%,|
0001aed0  73 31 24 2c 73 32 24 2c  73 77 63 31 25 2c 73 77  |s1$,s2$,swc1%,sw|
0001aee0  63 32 25 29 0d 7f f2 15  c8 99 20 22 48 6f 75 72  |c2%)...... "Hour|
0001aef0  67 6c 61 73 73 5f 4f 6e  22 0d 7f fa 15 e7 20 73  |glass_On"..... s|
0001af00  31 25 3d 33 20 80 20 73  32 25 3d 32 20 8c 0d 80  |1%=3 . s2%=2 ...|
0001af10  02 10 20 20 c8 94 20 73  31 25 2c 73 32 25 0d 80  |..  .. s1%,s2%..|
0001af20  0a 10 20 20 c8 94 20 73  31 24 2c 73 32 24 0d 80  |..  .. s1$,s2$..|
0001af30  12 14 20 20 c8 94 20 73  77 63 31 25 2c 73 77 63  |..  .. swc1%,swc|
0001af40  32 25 0d 80 1a 05 cd 0d  80 22 2d e7 20 73 32 25  |2%......."-. s2%|
0001af50  3d 30 20 8c 20 73 69 6e  67 6c 65 5f 66 6c 61 67  |=0 . single_flag|
0001af60  25 3d b9 20 8b 20 73 69  6e 67 6c 65 5f 66 6c 61  |%=. . single_fla|
0001af70  67 25 3d a3 0d 80 2a 2b  e7 20 73 31 25 3d 32 20  |g%=...*+. s1%=2 |
0001af80  8c 20 6e 61 6d 65 64 5f  66 6c 61 67 25 3d b9 20  |. named_flag%=. |
0001af90  8b 20 6e 61 6d 65 64 5f  66 6c 61 67 25 3d a3 0d  |. named_flag%=..|
0001afa0  80 32 09 73 61 25 3d 30  0d 80 3a 13 e7 20 6e 61  |.2.sa%=0..:.. na|
0001afb0  6d 65 64 5f 66 6c 61 67  25 20 8c 0d 80 42 11 20  |med_flag% ...B. |
0001afc0  20 e7 20 73 77 63 31 25  3d 31 20 8c 0d 80 4a 25  | . swc1%=1 ...J%|
0001afd0  20 20 20 20 e7 20 c0 73  31 24 2c 31 29 3d 22 2a  |    . .s1$,1)="*|
0001afe0  22 20 84 20 c0 73 31 24  2c 31 29 3d 22 40 22 20  |" . .s1$,1)="@" |
0001aff0  8c 0d 80 52 17 20 20 20  20 20 20 6e 61 6d 65 64  |...R.      named|
0001b000  5f 66 6c 61 67 25 3d a3  0d 80 5a 09 20 20 20 20  |_flag%=...Z.    |
0001b010  cc 0d 80 62 23 20 20 20  20 20 20 66 62 25 3d 97  |...b#      fb%=.|
0001b020  28 a4 55 70 70 65 72 28  c0 73 31 24 2c 31 29 29  |(.Upper(.s1$,1))|
0001b030  29 2d 36 35 0d 80 6a 09  20 20 20 20 cd 0d 80 72  |)-65..j.    ...r|
0001b040  07 20 20 cc 0d 80 7a 21  20 20 20 20 66 62 25 3d  |.  ...z!    fb%=|
0001b050  97 28 a4 55 70 70 65 72  28 c0 73 31 24 2c 31 29  |.(.Upper(.s1$,1)|
0001b060  29 29 2d 36 35 0d 80 82  07 20 20 cd 0d 80 8a 05  |))-65....  .....|
0001b070  cd 0d 80 92 09 73 62 25  3d 30 0d 80 9a 12 6c 6f  |.....sb%=0....lo|
0001b080  6f 6b 75 70 5f 66 6c 61  67 25 3d a3 0d 80 a2 10  |okup_flag%=.....|
0001b090  6c 6f 6f 70 5f 66 6c 61  67 25 3d a3 0d 80 aa 0b  |loop_flag%=.....|
0001b0a0  77 69 6e 70 25 3d 30 0d  80 b2 2c 73 31 24 3d a4  |winp%=0...,s1$=.|
0001b0b0  52 65 6d 6f 76 65 5f 55  6e 77 61 6e 74 65 64 5f  |Remove_Unwanted_|
0001b0c0  53 70 61 63 65 73 28 a4  55 70 70 65 72 28 73 31  |Spaces(.Upper(s1|
0001b0d0  24 29 29 0d 80 ba 2c 73  32 24 3d a4 52 65 6d 6f  |$))...,s2$=.Remo|
0001b0e0  76 65 5f 55 6e 77 61 6e  74 65 64 5f 53 70 61 63  |ve_Unwanted_Spac|
0001b0f0  65 73 28 a4 55 70 70 65  72 28 73 32 24 29 29 0d  |es(.Upper(s2$)).|
0001b100  80 c2 0d c8 95 20 73 61  25 3c 39 39 0d 80 ca 1b  |..... sa%<99....|
0001b110  20 20 e7 20 6d 65 6d 5f  64 69 72 5f 64 65 66 25  |  . mem_dir_def%|
0001b120  28 73 61 25 29 20 8c 0d  80 d2 1f 20 20 20 20 e7  |(sa%) .....    .|
0001b130  20 ac 20 6e 61 6d 65 64  5f 66 6c 61 67 25 20 8c  | . named_flag% .|
0001b140  20 73 62 25 3d 30 0d 80  da 22 20 20 20 20 c8 95  | sb%=0..."    ..|
0001b150  20 28 73 62 25 3c 32 36  20 80 20 ac 20 6c 6f 6f  | (sb%<26 . . loo|
0001b160  70 5f 66 6c 61 67 25 29  0d 80 e2 0f 20 20 20 20  |p_flag%)....    |
0001b170  20 20 73 63 25 3d 30 0d  80 ea 13 20 20 20 20 20  |  sc%=0....     |
0001b180  20 c8 95 20 73 63 25 3c  31 30 0d 80 f2 2d 20 20  | .. sc%<10...-  |
0001b190  20 20 20 20 20 20 e7 20  6e 61 6d 65 64 5f 66 6c  |      . named_fl|
0001b1a0  61 67 25 20 8c 20 6c 62  25 3d 66 62 25 20 8b 20  |ag% . lb%=fb% . |
0001b1b0  6c 62 25 3d 73 62 25 0d  80 fa 3f 20 20 20 20 20  |lb%=sb%...?     |
0001b1c0  20 20 20 74 72 79 24 3d  22 3c 4d 65 6d 62 65 72  |   try$="<Member|
0001b1d0  22 2b c3 28 73 61 25 29  2b 22 24 44 69 72 3e 2e  |"+.(sa%)+"$Dir>.|
0001b1e0  22 2b bd 28 36 35 2b 6c  62 25 29 2b 22 2e 22 2b  |"+.(65+lb%)+"."+|
0001b1f0  c3 28 73 63 25 29 0d 81  02 19 20 20 20 20 20 20  |.(sc%)....      |
0001b200  20 20 66 69 6c 6f 25 3d  8e 28 74 72 79 24 29 0d  |  filo%=.(try$).|
0001b210  81 0a 17 20 20 20 20 20  20 20 20 e8 23 66 69 6c  |...        .#fil|
0001b220  6f 25 2c 74 6e 25 0d 81  12 15 20 20 20 20 20 20  |o%,tn%....      |
0001b230  20 20 e7 20 74 6e 25 3e  30 20 8c 0d 81 1a 1b 20  |  . tn%>0 ..... |
0001b240  20 20 20 20 20 20 20 20  20 e3 20 73 64 25 3d 31  |         . sd%=1|
0001b250  20 b8 20 74 6e 25 0d 81  22 1b 20 20 20 20 20 20  | . tn%..".      |
0001b260  20 20 20 20 e8 23 66 69  6c 6f 25 2c 63 6f 64 65  |    .#filo%,code|
0001b270  24 0d 81 2a 19 20 20 20  20 20 20 20 20 20 20 e8  |$..*.          .|
0001b280  23 66 69 6c 6f 25 2c 6e  74 24 0d 81 32 1b 20 20  |#filo%,nt$..2.  |
0001b290  20 20 20 20 20 20 20 20  e8 23 66 69 6c 6f 25 2c  |        .#filo%,|
0001b2a0  73 75 72 6e 24 0d 81 3a  1b 20 20 20 20 20 20 20  |surn$..:.       |
0001b2b0  20 20 20 e8 23 66 69 6c  6f 25 2c 6e 61 6d 65 24  |   .#filo%,name$|
0001b2c0  0d 81 42 19 20 20 20 20  20 20 20 20 20 20 e3 20  |..B.          . |
0001b2d0  73 65 25 3d 30 20 b8 20  35 0d 81 4a 23 20 20 20  |se%=0 . 5..J#   |
0001b2e0  20 20 20 20 20 20 20 e8  23 66 69 6c 6f 25 2c 61  |       .#filo%,a|
0001b2f0  64 64 72 65 73 73 24 28  73 65 25 29 0d 81 52 13  |ddress$(se%)..R.|
0001b300  20 20 20 20 20 20 20 20  20 20 ed 20 73 65 25 0d  |          . se%.|
0001b310  81 5a 1c 20 20 20 20 20  20 20 20 20 20 e8 23 66  |.Z.          .#f|
0001b320  69 6c 6f 25 2c 73 74 61  74 65 24 0d 81 62 1f 20  |ilo%,state$..b. |
0001b330  20 20 20 20 20 20 20 20  20 e7 20 a4 76 69 65 77  |         . .view|
0001b340  5f 63 6f 6d 70 61 72 65  20 8c 0d 81 6a 1e 20 20  |_compare ...j.  |
0001b350  20 20 20 20 20 20 20 20  20 20 6c 6f 6f 6b 75 70  |          lookup|
0001b360  5f 66 6c 61 67 25 3d b9  0d 81 72 17 20 20 20 20  |_flag%=...r.    |
0001b370  20 20 20 20 20 20 20 20  67 64 25 3d 73 61 25 0d  |        gd%=sa%.|
0001b380  81 7a 17 20 20 20 20 20  20 20 20 20 20 20 20 67  |.z.            g|
0001b390  6c 25 3d 6c 62 25 0d 81  82 17 20 20 20 20 20 20  |l%=lb%....      |
0001b3a0  20 20 20 20 20 20 67 73  25 3d 73 63 25 0d 81 8a  |      gs%=sc%...|
0001b3b0  17 20 20 20 20 20 20 20  20 20 20 20 20 67 6e 25  |.            gn%|
0001b3c0  3d 73 64 25 0d 81 92 30  20 20 20 20 20 20 20 20  |=sd%...0        |
0001b3d0  20 20 20 20 77 69 6e 73  74 61 63 6b 24 28 77 69  |    winstack$(wi|
0001b3e0  6e 70 25 29 3d a4 7a 65  72 6f 28 c3 28 67 64 25  |np%)=.zero(.(gd%|
0001b3f0  29 2c 32 29 0d 81 9a 31  20 20 20 20 20 20 20 20  |),2)...1        |
0001b400  20 20 20 20 77 69 6e 73  74 61 63 6b 24 28 77 69  |    winstack$(wi|
0001b410  6e 70 25 29 2b 3d a4 7a  65 72 6f 28 c3 28 67 6c  |np%)+=.zero(.(gl|
0001b420  25 29 2c 32 29 0d 81 a2  28 20 20 20 20 20 20 20  |%),2)...(       |
0001b430  20 20 20 20 20 77 69 6e  73 74 61 63 6b 24 28 77  |     winstack$(w|
0001b440  69 6e 70 25 29 2b 3d c3  28 67 73 25 29 0d 81 aa  |inp%)+=.(gs%)...|
0001b450  31 20 20 20 20 20 20 20  20 20 20 20 20 77 69 6e  |1            win|
0001b460  73 74 61 63 6b 24 28 77  69 6e 70 25 29 2b 3d a4  |stack$(winp%)+=.|
0001b470  7a 65 72 6f 28 c3 28 67  6e 25 29 2c 33 29 0d 81  |zero(.(gn%),3)..|
0001b480  b2 27 20 20 20 20 20 20  20 20 20 20 20 20 77 69  |.'            wi|
0001b490  6e 70 25 2b 3d 2d 31 2a  28 77 69 6e 70 25 3c 31  |np%+=-1*(winp%<1|
0001b4a0  30 30 30 30 29 0d 81 ba  0f 20 20 20 20 20 20 20  |0000)....       |
0001b4b0  20 20 20 cd 0d 81 c2 1b  20 20 20 20 20 20 20 20  |   .....        |
0001b4c0  20 20 74 65 6d 70 25 3d  9a 23 66 69 6c 6f 25 0d  |  temp%=.#filo%.|
0001b4d0  81 ca 19 20 20 20 20 20  20 20 20 20 20 62 6e 25  |...          bn%|
0001b4e0  3d 9a 23 66 69 6c 6f 25  0d 81 d2 17 20 20 20 20  |=.#filo%....    |
0001b4f0  20 20 20 20 20 20 e7 20  62 6e 25 3e 30 20 8c 0d  |      . bn%>0 ..|
0001b500  81 da 1d 20 20 20 20 20  20 20 20 20 20 20 20 e3  |...            .|
0001b510  20 73 65 25 3d 31 20 b8  20 62 6e 25 0d 81 e2 1d  | se%=1 . bn%....|
0001b520  20 20 20 20 20 20 20 20  20 20 20 20 e8 23 66 69  |            .#fi|
0001b530  6c 6f 25 2c 74 65 6d 70  24 0d 81 ea 15 20 20 20  |lo%,temp$....   |
0001b540  20 20 20 20 20 20 20 20  20 ed 20 73 65 25 0d 81  |         . se%..|
0001b550  f2 0f 20 20 20 20 20 20  20 20 20 20 cd 0d 81 fa  |..          ....|
0001b560  13 20 20 20 20 20 20 20  20 20 20 ed 20 73 64 25  |.          . sd%|
0001b570  0d 82 02 0d 20 20 20 20  20 20 20 20 cd 0d 82 0a  |....        ....|
0001b580  13 20 20 20 20 20 20 20  20 d9 23 66 69 6c 6f 25  |.        .#filo%|
0001b590  0d 82 12 12 20 20 20 20  20 20 20 20 73 63 25 2b  |....        sc%+|
0001b5a0  3d 31 0d 82 1a 0b 20 20  20 20 20 20 ce 0d 82 22  |=1....      ..."|
0001b5b0  10 20 20 20 20 20 20 73  62 25 2b 3d 31 0d 82 2a  |.      sb%+=1..*|
0001b5c0  26 20 20 20 20 20 20 e7  20 6e 61 6d 65 64 5f 66  |&      . named_f|
0001b5d0  6c 61 67 25 20 8c 20 6c  6f 6f 70 5f 66 6c 61 67  |lag% . loop_flag|
0001b5e0  25 3d b9 0d 82 32 09 20  20 20 20 ce 0d 82 3a 07  |%=...2.    ...:.|
0001b5f0  20 20 cd 0d 82 42 0a 73  61 25 2b 3d 31 0d 82 4a  |  ...B.sa%+=1..J|
0001b600  05 ce 0d 82 52 39 e7 20  ac 20 6c 6f 6f 6b 75 70  |....R9. . lookup|
0001b610  5f 66 6c 61 67 25 20 8c  20 f2 64 69 73 5f 6d 65  |_flag% . .dis_me|
0001b620  73 73 61 67 65 28 22 4e  6f 20 6d 61 74 63 68 65  |ssage("No matche|
0001b630  73 20 66 6f 75 6e 64 22  29 3a e1 0d 82 5a 16 c8  |s found"):...Z..|
0001b640  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 66 66  |. "Hourglass_Off|
0001b650  22 0d 82 62 05 e1 0d 82  6a 04 0d 82 72 12 dd a4  |"..b....j...r...|
0001b660  76 69 65 77 5f 63 6f 6d  70 61 72 65 0d 82 7a 0a  |view_compare..z.|
0001b670  63 5f 66 25 3d a3 0d 82  82 0d 73 65 70 72 25 28  |c_f%=.....sepr%(|
0001b680  29 3d 30 0d 82 8a 0f e3  20 76 61 25 3d 30 20 b8  |)=0..... va%=0 .|
0001b690  20 31 0d 82 92 0f e3 20  76 62 25 3d 30 20 b8 20  | 1..... vb%=0 . |
0001b6a0  31 0d 82 9a 09 76 63 25  3d 30 0d 82 a2 1f e7 20  |1....vc%=0..... |
0001b6b0  76 61 25 3d 30 20 8c 20  73 74 24 3d 73 31 24 20  |va%=0 . st$=s1$ |
0001b6c0  8b 20 73 74 24 3d 73 32  24 0d 82 aa 1f e7 20 76  |. st$=s2$..... v|
0001b6d0  62 25 3d 30 20 8c 20 73  73 24 3d 22 2c 22 20 8b  |b%=0 . ss$="," .|
0001b6e0  20 73 73 24 3d 22 2e 22  0d 82 b2 30 e7 20 76 63  | ss$="."...0. vc|
0001b6f0  25 3d 30 20 8c 20 6c 61  25 3d 31 20 8b 20 6c 61  |%=0 . la%=1 . la|
0001b700  25 3d 73 65 70 72 25 28  76 61 25 2c 76 62 25 2c  |%=sepr%(va%,vb%,|
0001b710  76 63 25 2d 31 29 2b 31  0d 82 ba 14 c8 95 20 a7  |vc%-1)+1...... .|
0001b720  73 74 24 2c 73 73 24 2c  6c 61 25 29 0d 82 c2 19  |st$,ss$,la%)....|
0001b730  20 20 74 65 6d 70 25 3d  a7 73 74 24 2c 73 73 24  |  temp%=.st$,ss$|
0001b740  2c 6c 61 25 29 0d 82 ca  25 20 20 73 65 70 72 25  |,la%)...%  sepr%|
0001b750  28 76 61 25 2c 76 62 25  2c 76 63 25 29 3d 74 65  |(va%,vb%,vc%)=te|
0001b760  6d 70 25 3a 76 63 25 2b  3d 31 0d 82 d2 32 20 20  |mp%:vc%+=1...2  |
0001b770  e7 20 76 63 25 3d 30 20  8c 20 6c 61 25 3d 31 20  |. vc%=0 . la%=1 |
0001b780  8b 20 6c 61 25 3d 73 65  70 72 25 28 76 61 25 2c  |. la%=sepr%(va%,|
0001b790  76 62 25 2c 76 63 25 2d  31 29 2b 31 0d 82 da 05  |vb%,vc%-1)+1....|
0001b7a0  ce 0d 82 e2 09 ed 20 76  62 25 0d 82 ea 09 ed 20  |...... vb%..... |
0001b7b0  76 61 25 0d 82 f2 0d e7  20 73 31 25 3d 32 20 8c  |va%..... s1%=2 .|
0001b7c0  0d 82 fa 18 20 20 e7 20  73 65 70 72 25 28 30 2c  |....  . sepr%(0,|
0001b7d0  30 2c 30 29 3d 30 20 8c  0d 83 02 15 20 20 20 20  |0,0)=0 .....    |
0001b7e0  e7 20 73 31 24 3d 73 75  72 6e 24 20 8c 0d 83 0a  |. s1$=surn$ ....|
0001b7f0  10 20 20 20 20 20 20 63  5f 66 25 3d b9 0d 83 12  |.      c_f%=....|
0001b800  09 20 20 20 20 cc 0d 83  1a 22 20 20 20 20 20 20  |.    ...."      |
0001b810  f2 76 63 5f 73 75 62 28  73 31 24 2c 73 75 72 6e  |.vc_sub(s1$,surn|
0001b820  24 2c 73 77 63 31 25 29  0d 83 22 09 20 20 20 20  |$,swc1%)..".    |
0001b830  cd 0d 83 2a 07 20 20 cc  0d 83 32 31 20 20 20 20  |...*.  ...21    |
0001b840  f2 76 63 5f 73 75 62 28  c0 73 31 24 2c 73 65 70  |.vc_sub(.s1$,sep|
0001b850  72 25 28 30 2c 30 2c 30  29 2d 31 29 2c 73 75 72  |r%(0,0,0)-1),sur|
0001b860  6e 24 2c 73 77 63 31 25  29 0d 83 3a 2d 20 20 20  |n$,swc1%)..:-   |
0001b870  20 e7 20 c0 73 31 24 2c  73 65 70 72 25 28 30 2c  | . .s1$,sepr%(0,|
0001b880  30 2c 30 29 2d 31 29 3d  73 75 72 6e 24 20 84 20  |0,0)-1)=surn$ . |
0001b890  63 5f 66 25 20 8c 0d 83  42 10 20 20 20 20 20 20  |c_f% ...B.      |
0001b8a0  63 5f 66 25 3d a3 0d 83  4a 1c 20 20 20 20 20 20  |c_f%=...J.      |
0001b8b0  e7 20 73 65 70 72 25 28  30 2c 31 2c 30 29 3d 30  |. sepr%(0,1,0)=0|
0001b8c0  20 8c 0d 83 52 42 20 20  20 20 20 20 20 20 e7 20  | ...RB        . |
0001b8d0  a4 52 65 6d 6f 76 65 5f  50 75 6e 63 28 73 31 24  |.Remove_Punc(s1$|
0001b8e0  29 3d a4 52 65 6d 6f 76  65 5f 50 75 6e 63 28 73  |)=.Remove_Punc(s|
0001b8f0  75 72 6e 24 2b 6e 61 6d  65 24 29 20 8c 20 63 5f  |urn$+name$) . c_|
0001b900  66 25 3d b9 0d 83 5a 0b  20 20 20 20 20 20 cc 0d  |f%=...Z.      ..|
0001b910  83 62 11 20 20 20 20 20  20 20 20 74 63 25 3d 30  |.b.        tc%=0|
0001b920  0d 83 6a 11 20 20 20 20  20 20 20 20 74 66 25 3d  |..j.        tf%=|
0001b930  b9 0d 83 72 11 20 20 20  20 20 20 20 20 6d 63 25  |...r.        mc%|
0001b940  3d 30 0d 83 7a 1d 20 20  20 20 20 20 20 20 c8 95  |=0..z.        ..|
0001b950  20 73 65 70 72 25 28 30  2c 31 2c 74 63 25 29 0d  | sepr%(0,1,tc%).|
0001b960  83 82 3f 20 20 20 20 20  20 20 20 20 20 e7 20 74  |..?          . t|
0001b970  63 25 3d 30 20 8c 20 63  63 25 3d 73 65 70 72 25  |c%=0 . cc%=sepr%|
0001b980  28 30 2c 30 2c 30 29 20  8b 20 63 63 25 3d 73 65  |(0,0,0) . cc%=se|
0001b990  70 72 25 28 30 2c 31 2c  74 63 25 2d 31 29 0d 83  |pr%(0,1,tc%-1)..|
0001b9a0  8a 32 20 20 20 20 20 20  20 20 20 20 74 63 24 3d  |.2          tc$=|
0001b9b0  c1 73 31 24 2c 63 63 25  2b 31 2c 73 65 70 72 25  |.s1$,cc%+1,sepr%|
0001b9c0  28 30 2c 31 2c 74 63 25  29 2d 63 63 25 2d 31 29  |(0,1,tc%)-cc%-1)|
0001b9d0  0d 83 92 21 20 20 20 20  20 20 20 20 20 20 6e 63  |...!          nc|
0001b9e0  25 3d a7 6e 61 6d 65 24  2c 22 20 22 2c 6d 63 25  |%=.name$," ",mc%|
0001b9f0  29 0d 83 9a 21 20 20 20  20 20 20 20 20 20 20 6d  |)...!          m|
0001ba00  63 24 3d c1 6e 61 6d 65  24 2c 6d 63 25 2b 31 2c  |c$=.name$,mc%+1,|
0001ba10  31 29 0d 83 a2 15 20 20  20 20 20 20 20 20 20 20  |1)....          |
0001ba20  6d 63 25 3d 6e 63 25 0d  83 aa 20 20 20 20 20 20  |mc%=nc%...      |
0001ba30  20 20 20 20 20 e7 20 74  63 24 3c 3e 6d 63 24 20  |     . tc$<>mc$ |
0001ba40  8c 20 74 66 25 3d a3 0d  83 b2 14 20 20 20 20 20  |. tf%=.....     |
0001ba50  20 20 20 20 20 74 63 25  2b 3d 31 0d 83 ba 0d 20  |     tc%+=1.... |
0001ba60  20 20 20 20 20 20 20 ce  0d 83 c2 23 20 20 20 20  |       ....#    |
0001ba70  20 20 20 20 e7 20 74 66  25 20 8c 20 63 5f 66 25  |    . tf% . c_f%|
0001ba80  3d b9 20 8b 20 63 5f 66  25 3d a3 0d 83 ca 0b 20  |=. . c_f%=..... |
0001ba90  20 20 20 20 20 cd 0d 83  d2 09 20 20 20 20 cd 0d  |     .....    ..|
0001baa0  83 da 07 20 20 cd 0d 83  e2 20 20 20 e7 20 ac 20  |...  ....   . . |
0001bab0  73 69 6e 67 6c 65 5f 66  6c 61 67 25 20 80 20 73  |single_flag% . s|
0001bac0  32 25 3d 33 20 8c 0d 83  ea 0d 20 20 20 20 74 63  |2%=3 .....    tc|
0001bad0  25 3d 30 0d 83 f2 0d 20  20 20 20 74 66 25 3d b9  |%=0....    tf%=.|
0001bae0  0d 83 fa 19 20 20 20 20  c8 95 20 73 65 70 72 25  |....    .. sepr%|
0001baf0  28 31 2c 30 2c 74 63 25  29 0d 84 02 30 20 20 20  |(1,0,tc%)...0   |
0001bb00  20 20 20 e7 20 74 63 25  3d 30 20 8c 20 63 63 25  |   . tc%=0 . cc%|
0001bb10  3d 30 20 8b 20 63 63 25  3d 73 65 70 72 25 28 31  |=0 . cc%=sepr%(1|
0001bb20  2c 30 2c 74 63 25 2d 31  29 0d 84 0a 2e 20 20 20  |,0,tc%-1)....   |
0001bb30  20 20 20 74 63 24 3d c1  73 32 24 2c 63 63 25 2b  |   tc$=.s2$,cc%+|
0001bb40  31 2c 73 65 70 72 25 28  31 2c 30 2c 74 63 25 29  |1,sepr%(1,0,tc%)|
0001bb50  2d 63 63 25 2d 31 29 0d  84 12 27 20 20 20 20 20  |-cc%-1)...'     |
0001bb60  20 e7 20 74 63 25 3c 36  20 80 20 61 64 64 72 65  | . tc%<6 . addre|
0001bb70  73 73 24 28 74 63 25 29  3c 3e 22 22 20 8c 0d 84  |ss$(tc%)<>"" ...|
0001bb80  1a 22 20 20 20 20 20 20  20 20 e7 20 74 63 24 3c  |."        . tc$<|
0001bb90  3e 61 64 64 72 65 73 73  24 28 74 63 25 29 20 8c  |>address$(tc%) .|
0001bba0  0d 84 22 2e 20 20 20 20  20 20 20 20 20 20 f2 76  |..".          .v|
0001bbb0  63 5f 73 75 62 28 74 63  24 2c 61 64 64 72 65 73  |c_sub(tc$,addres|
0001bbc0  73 24 28 74 63 25 29 2c  73 77 63 32 25 29 0d 84  |s$(tc%),swc2%)..|
0001bbd0  2a 21 20 20 20 20 20 20  20 20 20 20 e7 20 63 5f  |*!          . c_|
0001bbe0  66 25 3d a3 20 8c 20 74  66 25 3d 63 5f 66 25 0d  |f%=. . tf%=c_f%.|
0001bbf0  84 32 0d 20 20 20 20 20  20 20 20 cd 0d 84 3a 0b  |.2.        ...:.|
0001bc00  20 20 20 20 20 20 cc 0d  84 42 1b 20 20 20 20 20  |      ...B.     |
0001bc10  20 20 20 e7 20 74 63 24  3c 3e 73 74 61 74 65 24  |   . tc$<>state$|
0001bc20  20 8c 0d 84 4a 27 20 20  20 20 20 20 20 20 20 20  | ...J'          |
0001bc30  f2 76 63 5f 73 75 62 28  74 63 24 2c 73 74 61 74  |.vc_sub(tc$,stat|
0001bc40  65 24 2c 73 77 63 32 25  29 0d 84 52 21 20 20 20  |e$,swc2%)..R!   |
0001bc50  20 20 20 20 20 20 20 e7  20 63 5f 66 25 3d a3 20  |       . c_f%=. |
0001bc60  8c 20 74 66 25 3d 63 5f  66 25 0d 84 5a 0d 20 20  |. tf%=c_f%..Z.  |
0001bc70  20 20 20 20 20 20 cd 0d  84 62 0b 20 20 20 20 20  |      ...b.     |
0001bc80  20 cd 0d 84 6a 10 20 20  20 20 20 20 74 63 25 2b  | ...j.      tc%+|
0001bc90  3d 31 0d 84 72 09 20 20  20 20 ce 0d 84 7a 3d 20  |=1..r.    ...z= |
0001bca0  20 20 20 e7 20 74 63 25  3d 30 20 8c 20 74 63 24  |   . tc%=0 . tc$|
0001bcb0  3d 73 32 24 20 8b 20 74  63 24 3d c2 73 32 24 2c  |=s2$ . tc$=.s2$,|
0001bcc0  a9 28 73 32 24 29 2d 73  65 70 72 25 28 31 2c 30  |.(s2$)-sepr%(1,0|
0001bcd0  2c 74 63 25 2d 31 29 29  0d 84 82 25 20 20 20 20  |,tc%-1))...%    |
0001bce0  e7 20 74 63 25 3c 36 20  80 20 61 64 64 72 65 73  |. tc%<6 . addres|
0001bcf0  73 24 28 74 63 25 29 3c  3e 22 22 20 8c 0d 84 8a  |s$(tc%)<>"" ....|
0001bd00  20 20 20 20 20 20 20 e7  20 74 63 24 3c 3e 61 64  |       . tc$<>ad|
0001bd10  64 72 65 73 73 24 28 74  63 25 29 20 8c 0d 84 92  |dress$(tc%) ....|
0001bd20  2c 20 20 20 20 20 20 20  20 f2 76 63 5f 73 75 62  |,        .vc_sub|
0001bd30  28 74 63 24 2c 61 64 64  72 65 73 73 24 28 74 63  |(tc$,address$(tc|
0001bd40  25 29 2c 73 77 63 32 25  29 0d 84 9a 1f 20 20 20  |%),swc2%)....   |
0001bd50  20 20 20 20 20 e7 20 63  5f 66 25 3d a3 20 8c 20  |     . c_f%=. . |
0001bd60  74 66 25 3d 63 5f 66 25  0d 84 a2 0b 20 20 20 20  |tf%=c_f%....    |
0001bd70  20 20 cd 0d 84 aa 09 20  20 20 20 cc 0d 84 b2 19  |  .....    .....|
0001bd80  20 20 20 20 20 20 e7 20  74 63 24 3c 3e 73 74 61  |      . tc$<>sta|
0001bd90  74 65 24 20 8c 0d 84 ba  25 20 20 20 20 20 20 20  |te$ ....%       |
0001bda0  20 f2 76 63 5f 73 75 62  28 74 63 24 2c 73 74 61  | .vc_sub(tc$,sta|
0001bdb0  74 65 24 2c 73 77 63 32  25 29 0d 84 c2 1f 20 20  |te$,swc2%)....  |
0001bdc0  20 20 20 20 20 20 e7 20  63 5f 66 25 3d a3 20 8c  |      . c_f%=. .|
0001bdd0  20 74 66 25 3d 63 5f 66  25 0d 84 ca 0b 20 20 20  | tf%=c_f%....   |
0001bde0  20 20 20 cd 0d 84 d2 09  20 20 20 20 cd 0d 84 da  |   .....    ....|
0001bdf0  1f 20 20 20 20 e7 20 74  66 25 20 8c 20 63 5f 66  |.    . tf% . c_f|
0001be00  25 3d b9 20 8b 20 63 5f  66 25 3d a3 0d 84 e2 07  |%=. . c_f%=.....|
0001be10  20 20 cd 0d 84 ea 05 cc  0d 84 f2 0b 20 20 74 63  |  ..........  tc|
0001be20  25 3d 30 0d 84 fa 0b 20  20 74 66 25 3d b9 0d 85  |%=0....  tf%=...|
0001be30  02 17 20 20 c8 95 20 73  65 70 72 25 28 30 2c 30  |..  .. sepr%(0,0|
0001be40  2c 74 63 25 29 0d 85 0a  2e 20 20 20 20 e7 20 74  |,tc%)....    . t|
0001be50  63 25 3d 30 20 8c 20 63  63 25 3d 30 20 8b 20 63  |c%=0 . cc%=0 . c|
0001be60  63 25 3d 73 65 70 72 25  28 30 2c 30 2c 74 63 25  |c%=sepr%(0,0,tc%|
0001be70  2d 31 29 0d 85 12 2c 20  20 20 20 74 63 24 3d c1  |-1)...,    tc$=.|
0001be80  73 31 24 2c 63 63 25 2b  31 2c 73 65 70 72 25 28  |s1$,cc%+1,sepr%(|
0001be90  30 2c 30 2c 74 63 25 29  2d 63 63 25 2d 31 29 0d  |0,0,tc%)-cc%-1).|
0001bea0  85 1a 25 20 20 20 20 e7  20 74 63 25 3c 36 20 80  |..%    . tc%<6 .|
0001beb0  20 61 64 64 72 65 73 73  24 28 74 63 25 29 3c 3e  | address$(tc%)<>|
0001bec0  22 22 20 8c 0d 85 22 20  20 20 20 20 20 20 e7 20  |"" ..."       . |
0001bed0  74 63 24 3c 3e 61 64 64  72 65 73 73 24 28 74 63  |tc$<>address$(tc|
0001bee0  25 29 20 8c 0d 85 2a 2c  20 20 20 20 20 20 20 20  |%) ...*,        |
0001bef0  f2 76 63 5f 73 75 62 28  74 63 24 2c 61 64 64 72  |.vc_sub(tc$,addr|
0001bf00  65 73 73 24 28 74 63 25  29 2c 73 77 63 32 25 29  |ess$(tc%),swc2%)|
0001bf10  0d 85 32 1f 20 20 20 20  20 20 20 20 e7 20 63 5f  |..2.        . c_|
0001bf20  66 25 3d a3 20 8c 20 74  66 25 3d 63 5f 66 25 0d  |f%=. . tf%=c_f%.|
0001bf30  85 3a 0b 20 20 20 20 20  20 cd 0d 85 42 09 20 20  |.:.      ...B.  |
0001bf40  20 20 cc 0d 85 4a 19 20  20 20 20 20 20 e7 20 74  |  ...J.      . t|
0001bf50  63 24 3c 3e 73 74 61 74  65 24 20 8c 0d 85 52 25  |c$<>state$ ...R%|
0001bf60  20 20 20 20 20 20 20 20  f2 76 63 5f 73 75 62 28  |        .vc_sub(|
0001bf70  74 63 24 2c 73 74 61 74  65 24 2c 73 77 63 32 25  |tc$,state$,swc2%|
0001bf80  29 0d 85 5a 1f 20 20 20  20 20 20 20 20 e7 20 63  |)..Z.        . c|
0001bf90  5f 66 25 3d a3 20 8c 20  74 66 25 3d 63 5f 66 25  |_f%=. . tf%=c_f%|
0001bfa0  0d 85 62 0b 20 20 20 20  20 20 cd 0d 85 6a 09 20  |..b.      ...j. |
0001bfb0  20 20 20 cd 0d 85 72 0e  20 20 20 20 74 63 25 2b  |   ...r.    tc%+|
0001bfc0  3d 31 0d 85 7a 07 20 20  ce 0d 85 82 3b 20 20 e7  |=1..z.  ....;  .|
0001bfd0  20 74 63 25 3d 30 20 8c  20 74 63 24 3d 73 31 24  | tc%=0 . tc$=s1$|
0001bfe0  20 8b 20 74 63 24 3d c2  73 31 24 2c a9 28 73 31  | . tc$=.s1$,.(s1|
0001bff0  24 29 2d 73 65 70 72 25  28 30 2c 30 2c 74 63 25  |$)-sepr%(0,0,tc%|
0001c000  2d 31 29 29 0d 85 8a 23  20 20 e7 20 74 63 25 3c  |-1))...#  . tc%<|
0001c010  36 20 80 20 61 64 64 72  65 73 73 24 28 74 63 25  |6 . address$(tc%|
0001c020  29 3c 3e 22 22 20 8c 0d  85 92 1e 20 20 20 20 e7  |)<>"" .....    .|
0001c030  20 74 63 24 3c 3e 61 64  64 72 65 73 73 24 28 74  | tc$<>address$(t|
0001c040  63 25 29 20 8c 0d 85 9a  2a 20 20 20 20 20 20 f2  |c%) ....*      .|
0001c050  76 63 5f 73 75 62 28 74  63 24 2c 61 64 64 72 65  |vc_sub(tc$,addre|
0001c060  73 73 24 28 74 63 25 29  2c 73 77 63 32 25 29 0d  |ss$(tc%),swc2%).|
0001c070  85 a2 1d 20 20 20 20 20  20 e7 20 63 5f 66 25 3d  |...      . c_f%=|
0001c080  a3 20 8c 20 74 66 25 3d  63 5f 66 25 0d 85 aa 09  |. . tf%=c_f%....|
0001c090  20 20 20 20 cd 0d 85 b2  07 20 20 cc 0d 85 ba 17  |    .....  .....|
0001c0a0  20 20 20 20 e7 20 74 63  24 3c 3e 73 74 61 74 65  |    . tc$<>state|
0001c0b0  24 20 8c 0d 85 c2 23 20  20 20 20 20 20 f2 76 63  |$ ....#      .vc|
0001c0c0  5f 73 75 62 28 74 63 24  2c 73 74 61 74 65 24 2c  |_sub(tc$,state$,|
0001c0d0  73 77 63 32 25 29 0d 85  ca 1d 20 20 20 20 20 20  |swc2%)....      |
0001c0e0  e7 20 63 5f 66 25 3d a3  20 8c 20 74 66 25 3d 63  |. c_f%=. . tf%=c|
0001c0f0  5f 66 25 0d 85 d2 09 20  20 20 20 cd 0d 85 da 07  |_f%....    .....|
0001c100  20 20 cd 0d 85 e2 1d 20  20 e7 20 74 66 25 20 8c  |  .....  . tf% .|
0001c110  20 63 5f 66 25 3d b9 20  8b 20 63 5f 66 25 3d a3  | c_f%=. . c_f%=.|
0001c120  0d 85 ea 05 cd 0d 85 f2  09 3d 63 5f 66 25 0d 85  |.........=c_f%..|
0001c130  fa 04 0d 86 02 20 dd a4  52 65 6d 6f 76 65 5f 55  |..... ..Remove_U|
0001c140  6e 77 61 6e 74 65 64 5f  53 70 61 63 65 73 28 73  |nwanted_Spaces(s|
0001c150  24 29 0d 86 0a 0c 6c 61  73 74 24 3d 22 22 0d 86  |$)....last$=""..|
0001c160  12 09 74 24 3d 22 22 0d  86 1a 15 e3 20 72 75 73  |..t$=""..... rus|
0001c170  63 25 3d 31 20 b8 20 a9  28 73 24 29 0d 86 22 15  |c%=1 . .(s$)..".|
0001c180  74 61 6c 24 3d c1 73 24  2c 72 75 73 63 25 2c 31  |tal$=.s$,rusc%,1|
0001c190  29 0d 86 2a 0e 64 65 6c  66 6c 61 67 25 3d a3 0d  |)..*.delflag%=..|
0001c1a0  86 32 41 e7 20 74 61 6c  24 3d 22 20 22 20 80 20  |.2A. tal$=" " . |
0001c1b0  28 6c 61 73 74 24 3d 22  2c 22 20 84 20 6c 61 73  |(last$="," . las|
0001c1c0  74 24 3d 22 2e 22 20 84  20 6c 61 73 74 24 3d 22  |t$="." . last$="|
0001c1d0  20 22 29 20 8c 20 64 65  6c 66 6c 61 67 25 3d b9  | ") . delflag%=.|
0001c1e0  0d 86 3a 0e 6c 61 73 74  24 3d 74 61 6c 24 0d 86  |..:.last$=tal$..|
0001c1f0  42 1b e7 20 ac 20 64 65  6c 66 6c 61 67 25 20 8c  |B.. . delflag% .|
0001c200  20 74 24 2b 3d 74 61 6c  24 0d 86 4a 0b ed 20 72  | t$+=tal$..J.. r|
0001c210  75 73 63 25 0d 86 52 07  3d 74 24 0d 86 5a 04 0d  |usc%..R.=t$..Z..|
0001c220  86 62 19 dd f2 76 63 5f  73 75 62 28 70 24 2c 71  |.b...vc_sub(p$,q|
0001c230  24 2c 70 61 72 61 25 29  0d 86 6a 0f e7 20 70 61  |$,para%)..j.. pa|
0001c240  72 61 25 3d 31 20 8c 0d  86 72 0c 20 20 74 76 66  |ra%=1 ...r.  tvf|
0001c250  25 3d b9 0d 86 7a 12 20  20 e7 20 a7 70 24 2c 22  |%=...z.  . .p$,"|
0001c260  40 22 29 20 8c 0d 86 82  11 20 20 20 20 6c 31 25  |@") .....    l1%|
0001c270  3d a9 28 71 24 29 0d 86  8a 11 20 20 20 20 6c 32  |=.(q$)....    l2|
0001c280  25 3d a9 28 70 24 29 0d  86 92 13 20 20 20 20 e7  |%=.(p$)....    .|
0001c290  20 6c 31 25 3d 6c 32 25  20 8c 0d 86 9a 17 20 20  | l1%=l2% .....  |
0001c2a0  20 20 20 20 e3 20 74 76  25 3d 31 20 b8 20 6c 31  |    . tv%=1 . l1|
0001c2b0  25 0d 86 a2 24 20 20 20  20 20 20 e7 20 c1 71 24  |%...$      . .q$|
0001c2c0  2c 74 76 25 2c 31 29 3c  3e c1 70 24 2c 74 76 25  |,tv%,1)<>.p$,tv%|
0001c2d0  2c 31 29 20 8c 0d 86 aa  26 20 20 20 20 20 20 20  |,1) ....&       |
0001c2e0  20 e7 20 c1 70 24 2c 74  76 25 2c 31 29 3c 3e 22  | . .p$,tv%,1)<>"|
0001c2f0  40 22 20 8c 20 74 76 66  25 3d a3 0d 86 b2 0b 20  |@" . tvf%=..... |
0001c300  20 20 20 20 20 cd 0d 86  ba 18 20 20 20 20 20 20  |     .....      |
0001c310  e7 20 74 76 66 25 20 8c  20 ed 20 74 76 25 0d 86  |. tvf% . . tv%..|
0001c320  c2 09 20 20 20 20 cc 0d  86 ca 10 20 20 20 20 20  |..    .....     |
0001c330  20 74 76 66 25 3d a3 0d  86 d2 09 20 20 20 20 cd  | tvf%=.....    .|
0001c340  0d 86 da 07 20 20 cd 0d  86 e2 1b 20 20 e7 20 28  |....  .....  . (|
0001c350  a7 70 24 2c 22 2a 22 29  20 80 20 74 76 66 25 29  |.p$,"*") . tvf%)|
0001c360  20 8c 0d 86 ea 16 20 20  20 20 73 74 61 70 25 3d  | .....    stap%=|
0001c370  a7 70 24 2c 22 2a 22 29  0d 86 f2 11 20 20 20 20  |.p$,"*")....    |
0001c380  6c 74 25 3d a9 28 70 24  29 0d 86 fa 16 20 20 20  |lt%=.(p$)....   |
0001c390  20 e7 20 6c 74 25 3c 3d  a9 28 71 24 29 20 8c 0d  | . lt%<=.(q$) ..|
0001c3a0  87 02 14 20 20 20 20 20  20 c8 8e 20 73 74 61 70  |...      .. stap|
0001c3b0  25 20 ca 0d 87 0a 0f 20  20 20 20 20 20 20 20 c9  |% .....        .|
0001c3c0  20 31 0d 87 12 2f 20 20  20 20 20 20 20 20 20 20  | 1.../          |
0001c3d0  e7 20 c2 70 24 2c 6c 74  25 2d 31 29 3c 3e c2 71  |. .p$,lt%-1)<>.q|
0001c3e0  24 2c 6c 74 25 2d 31 29  20 8c 20 74 76 66 25 3d  |$,lt%-1) . tvf%=|
0001c3f0  a3 0d 87 1a 11 20 20 20  20 20 20 20 20 c9 20 6c  |.....        . l|
0001c400  74 25 0d 87 22 29 20 20  20 20 20 20 20 20 20 20  |t%..")          |
0001c410  e7 20 c0 70 24 29 3c 3e  c0 71 24 2c 6c 74 25 2d  |. .p$)<>.q$,lt%-|
0001c420  31 29 20 8c 20 74 76 66  25 3d a3 0d 87 2a 0d 20  |1) . tvf%=...*. |
0001c430  20 20 20 20 20 20 20 7f  0d 87 32 33 20 20 20 20  |       ...23    |
0001c440  20 20 20 20 20 20 e7 20  c0 70 24 2c 73 74 61 70  |      . .p$,stap|
0001c450  25 2d 31 29 3c 3e c0 71  24 2c 73 74 61 70 25 2d  |%-1)<>.q$,stap%-|
0001c460  31 29 20 8c 20 74 76 66  25 3d a3 0d 87 3a 37 20  |1) . tvf%=...:7 |
0001c470  20 20 20 20 20 20 20 20  20 e7 20 c2 70 24 2c 6c  |         . .p$,l|
0001c480  74 25 2d 73 74 61 70 25  29 3c 3e c2 71 24 2c 6c  |t%-stap%)<>.q$,l|
0001c490  74 25 2d 73 74 61 70 25  29 20 8c 20 74 76 66 25  |t%-stap%) . tvf%|
0001c4a0  3d a3 0d 87 42 0b 20 20  20 20 20 20 cb 0d 87 4a  |=...B.      ...J|
0001c4b0  09 20 20 20 20 cc 0d 87  52 10 20 20 20 20 20 20  |.    ...R.      |
0001c4c0  74 76 66 25 3d a3 0d 87  5a 09 20 20 20 20 cd 0d  |tvf%=...Z.    ..|
0001c4d0  87 62 07 20 20 cd 0d 87  6a 18 20 20 e7 20 74 76  |.b.  ...j.  . tv|
0001c4e0  66 25 20 8c 20 63 5f 66  25 3d 74 76 66 25 0d 87  |f% . c_f%=tvf%..|
0001c4f0  72 05 cd 0d 87 7a 05 e1  0d 87 82 04 0d 87 8a 19  |r....z..........|
0001c500  dd f2 64 69 73 5f 6d 65  6d 5f 64 65 74 61 69 6c  |..dis_mem_detail|
0001c510  73 28 73 24 29 0d 87 92  28 e7 20 a9 28 73 24 29  |s(s$)...(. .(s$)|
0001c520  3d 38 20 8c 20 73 24 3d  a4 43 68 65 63 6b 5f 44  |=8 . s$=.Check_D|
0001c530  69 67 69 74 5f 50 6c 75  73 28 73 24 29 0d 87 9a  |igit_Plus(s$)...|
0001c540  10 64 25 3d bb 28 c0 73  24 2c 32 29 29 0d 87 a2  |.d%=.(.s$,2))...|
0001c550  75 e7 20 6d 65 6d 5f 64  69 72 5f 64 65 66 25 28  |u. mem_dir_def%(|
0001c560  64 25 29 3d a3 20 8c 20  f2 64 69 73 5f 6d 65 73  |d%)=. . .dis_mes|
0001c570  73 61 67 65 28 22 54 68  65 20 6d 65 6d 62 65 72  |sage("The member|
0001c580  73 68 69 70 20 64 69 72  65 63 74 6f 72 79 20 66  |ship directory f|
0001c590  6f 72 20 74 68 61 74 20  6e 75 6d 62 65 72 20 68  |or that number h|
0001c5a0  61 73 20 6e 6f 74 20 62  65 65 6e 20 73 65 65 6e  |as not been seen|
0001c5b0  20 62 79 20 74 68 65 20  66 69 6c 65 72 2e 22 29  | by the filer.")|
0001c5c0  3a e1 0d 87 aa 12 6c 25  3d bb 28 c1 73 24 2c 33  |:.....l%=.(.s$,3|
0001c5d0  2c 32 29 29 0d 87 b2 12  73 25 3d bb 28 c1 73 24  |,2))....s%=.(.s$|
0001c5e0  2c 35 2c 31 29 29 0d 87  ba 12 6e 25 3d bb 28 c1  |,5,1))....n%=.(.|
0001c5f0  73 24 2c 36 2c 33 29 29  0d 87 c2 34 74 72 79 24  |s$,6,3))...4try$|
0001c600  3d 22 3c 4d 65 6d 62 65  72 22 2b c3 28 64 25 29  |="<Member"+.(d%)|
0001c610  2b 22 24 44 69 72 3e 2e  22 2b bd 28 36 35 2b 6c  |+"$Dir>."+.(65+l|
0001c620  25 29 2b 22 2e 22 2b c3  28 73 25 29 0d 87 ca 11  |%)+"."+.(s%)....|
0001c630  66 69 6c 6f 25 3d 8e 28  74 72 79 24 29 0d 87 d2  |filo%=.(try$)...|
0001c640  0f e8 23 66 69 6c 6f 25  2c 74 6e 25 0d 87 da 3a  |..#filo%,tn%...:|
0001c650  e7 20 74 6e 25 3c 6e 25  20 8c 20 f2 64 69 73 5f  |. tn%<n% . .dis_|
0001c660  6d 65 73 73 61 67 65 28  22 49 6e 76 61 6c 69 64  |message("Invalid|
0001c670  20 6d 65 6d 62 65 72 73  68 69 70 20 6e 75 6d 62  | membership numb|
0001c680  65 72 22 29 3a e1 0d 87  e2 1c f2 70 75 74 74 65  |er"):......putte|
0001c690  78 74 28 76 69 65 77 6d  65 6d 25 2c 32 37 2c 73  |xt(viewmem%,27,s|
0001c6a0  24 29 0d 87 ea 0c e7 20  6e 25 3e 31 20 8c 0d 87  |$)..... n%>1 ...|
0001c6b0  f2 13 20 20 e3 20 63 25  3d 31 20 b8 20 6e 25 2d  |..  . c%=1 . n%-|
0001c6c0  31 0d 87 fa 11 20 20 e3  20 64 25 3d 31 20 b8 20  |1....  . d%=1 . |
0001c6d0  31 31 0d 88 02 13 20 20  e8 23 66 69 6c 6f 25 2c  |11....  .#filo%,|
0001c6e0  74 65 6d 70 24 0d 88 0a  0a 20 20 ed 20 64 25 0d  |temp$....  . d%.|
0001c6f0  88 12 13 20 20 74 65 6d  70 25 3d 9a 23 66 69 6c  |...  temp%=.#fil|
0001c700  6f 25 0d 88 1a 11 20 20  62 6e 25 3d 9a 23 66 69  |o%....  bn%=.#fi|
0001c710  6c 6f 25 0d 88 22 0f 20  20 e7 20 62 6e 25 3e 30  |lo%..".  . bn%>0|
0001c720  20 8c 0d 88 2a 14 20 20  20 20 e3 20 64 25 3d 31  | ...*.    . d%=1|
0001c730  20 b8 20 62 6e 25 0d 88  32 15 20 20 20 20 e8 23  | . bn%..2.    .#|
0001c740  66 69 6c 6f 25 2c 74 65  6d 70 24 0d 88 3a 0c 20  |filo%,temp$..:. |
0001c750  20 20 20 ed 20 64 25 0d  88 42 07 20 20 cd 0d 88  |   . d%..B.  ...|
0001c760  4a 0a 20 20 ed 20 63 25  0d 88 52 05 cd 0d 88 5a  |J.  . c%..R....Z|
0001c770  12 e8 23 66 69 6c 6f 25  2c 6d 65 6d 6e 6f 24 0d  |..#filo%,memno$.|
0001c780  88 62 12 e8 23 66 69 6c  6f 25 2c 74 69 74 6c 65  |.b..#filo%,title|
0001c790  24 0d 88 6a 11 e8 23 66  69 6c 6f 25 2c 73 75 72  |$..j..#filo%,sur|
0001c7a0  6e 24 0d 88 72 0f e8 23  66 69 6c 6f 25 2c 6f 6e  |n$..r..#filo%,on|
0001c7b0  24 0d 88 7a 0e e3 20 63  25 3d 30 20 b8 20 35 0d  |$..z.. c%=0 . 5.|
0001c7c0  88 82 18 e8 23 66 69 6c  6f 25 2c 61 64 64 72 65  |....#filo%,addre|
0001c7d0  73 73 24 28 63 25 29 0d  88 8a 08 ed 20 63 25 0d  |ss$(c%)..... c%.|
0001c7e0  88 92 12 e8 23 66 69 6c  6f 25 2c 73 74 61 74 65  |....#filo%,state|
0001c7f0  24 0d 88 9a 0f 74 74 25  3d 9a 23 66 69 6c 6f 25  |$....tt%=.#filo%|
0001c800  0d 88 a2 1f f2 70 75 74  74 65 78 74 28 76 69 65  |.....puttext(vie|
0001c810  77 6d 65 6d 25 2c 35 2c  74 69 74 6c 65 24 29 0d  |wmem%,5,title$).|
0001c820  88 aa 1e f2 70 75 74 74  65 78 74 28 76 69 65 77  |....puttext(view|
0001c830  6d 65 6d 25 2c 36 2c 73  75 72 6e 24 29 0d 88 b2  |mem%,6,surn$)...|
0001c840  1c f2 70 75 74 74 65 78  74 28 76 69 65 77 6d 65  |..puttext(viewme|
0001c850  6d 25 2c 37 2c 6f 6e 24  29 0d 88 ba 0e e3 20 63  |m%,7,on$)..... c|
0001c860  25 3d 30 20 b8 20 35 0d  88 c2 28 f2 70 75 74 74  |%=0 . 5...(.putt|
0001c870  65 78 74 28 76 69 65 77  6d 65 6d 25 2c 38 2b 63  |ext(viewmem%,8+c|
0001c880  25 2c 61 64 64 72 65 73  73 24 28 63 25 29 29 0d  |%,address$(c%)).|
0001c890  88 ca 08 ed 20 63 25 0d  88 d2 20 f2 70 75 74 74  |.... c%... .putt|
0001c8a0  65 78 74 28 76 69 65 77  6d 65 6d 25 2c 31 34 2c  |ext(viewmem%,14,|
0001c8b0  73 74 61 74 65 24 29 0d  88 da 0c c8 8e 20 74 74  |state$)...... tt|
0001c8c0  25 20 ca 0d 88 e2 28 20  20 c9 20 30 3a 20 f2 70  |% ....(  . 0: .p|
0001c8d0  75 74 74 65 78 74 28 76  69 65 77 6d 65 6d 25 2c  |uttext(viewmem%,|
0001c8e0  31 35 2c 22 41 64 75 6c  74 22 29 0d 88 ea 29 20  |15,"Adult")...) |
0001c8f0  20 c9 20 31 3a 20 f2 70  75 74 74 65 78 74 28 76  | . 1: .puttext(v|
0001c900  69 65 77 6d 65 6d 25 2c  31 35 2c 22 4a 75 6e 69  |iewmem%,15,"Juni|
0001c910  6f 72 22 29 0d 88 f2 28  20 20 c9 20 32 3a 20 f2  |or")...(  . 2: .|
0001c920  70 75 74 74 65 78 74 28  76 69 65 77 6d 65 6d 25  |puttext(viewmem%|
0001c930  2c 31 35 2c 22 53 74 61  66 66 22 29 0d 88 fa 05  |,15,"Staff")....|
0001c940  cb 0d 89 02 10 76 62 6e  25 3d 9a 23 66 69 6c 6f  |.....vbn%=.#filo|
0001c950  25 0d 89 0a 0e e7 20 76  62 6e 25 3e 30 20 8c 0d  |%..... vbn%>0 ..|
0001c960  89 12 13 20 20 e3 20 63  25 3d 31 20 b8 20 76 62  |...  . c%=1 . vb|
0001c970  6e 25 0d 89 1a 1a 20 20  e8 23 66 69 6c 6f 25 2c  |n%....  .#filo%,|
0001c980  76 6d 5f 64 74 24 28 63  25 2c 30 29 0d 89 22 24  |vm_dt$(c%,0).."$|
0001c990  20 20 f2 6f 70 65 6e 5f  62 6f 6f 6b 5f 63 61 63  |  .open_book_cac|
0001c9a0  68 65 28 76 6d 5f 64 74  24 28 63 25 2c 30 29 29  |he(vm_dt$(c%,0))|
0001c9b0  0d 89 2a 1b 20 20 63 24  3d c1 76 6d 5f 64 74 24  |..*.  c$=.vm_dt$|
0001c9c0  28 63 25 2c 30 29 2c 34  2c 32 29 0d 89 32 11 20  |(c%,0),4,2)..2. |
0001c9d0  20 70 69 63 6b 25 3d bb  28 63 24 29 0d 89 3a 20  | pick%=.(c$)..: |
0001c9e0  20 20 76 6d 5f 64 74 24  28 63 25 2c 31 29 3d 76  |  vm_dt$(c%,1)=v|
0001c9f0  61 72 24 28 70 69 63 6b  25 2c 30 29 0d 89 42 20  |ar$(pick%,0)..B |
0001ca00  20 20 76 6d 5f 64 74 24  28 63 25 2c 32 29 3d 76  |  vm_dt$(c%,2)=v|
0001ca10  61 72 24 28 70 69 63 6b  25 2c 31 29 0d 89 4a 20  |ar$(pick%,1)..J |
0001ca20  20 20 76 6d 5f 64 74 24  28 63 25 2c 33 29 3d 76  |  vm_dt$(c%,3)=v|
0001ca30  61 72 24 28 70 69 63 6b  25 2c 32 29 0d 89 52 43  |ar$(pick%,2)..RC|
0001ca40  20 20 76 6d 5f 64 74 24  28 63 25 2c 34 29 3d 22  |  vm_dt$(c%,4)="|
0001ca50  44 75 65 20 22 2b c1 76  6d 5f 64 74 24 28 63 25  |Due "+.vm_dt$(c%|
0001ca60  2c 30 29 2c 36 2c 32 29  2b 22 2d 22 2b c1 76 6d  |,0),6,2)+"-"+.vm|
0001ca70  5f 64 74 24 28 63 25 2c  30 29 2c 38 2c 32 29 0d  |_dt$(c%,0),8,2).|
0001ca80  89 5a 2b 20 20 76 6d 5f  64 74 24 28 63 25 2c 34  |.Z+  vm_dt$(c%,4|
0001ca90  29 2b 3d 22 2d 22 2b c1  76 6d 5f 64 74 24 28 63  |)+="-"+.vm_dt$(c|
0001caa0  25 2c 30 29 2c 31 30 2c  32 29 0d 89 62 23 20 20  |%,0),10,2)..b#  |
0001cab0  76 6d 5f 64 74 24 28 63  25 2c 30 29 3d c0 76 6d  |vm_dt$(c%,0)=.vm|
0001cac0  5f 64 74 24 28 63 25 2c  30 29 2c 35 29 0d 89 6a  |_dt$(c%,0),5)..j|
0001cad0  0a 20 20 ed 20 63 25 0d  89 72 05 cd 0d 89 7a 22  |.  . c%..r....z"|
0001cae0  63 75 72 5f 76 62 25 3d  30 3a e7 20 76 62 6e 25  |cur_vb%=0:. vbn%|
0001caf0  3e 30 20 8c 20 63 75 72  5f 76 62 25 3d 31 0d 89  |>0 . cur_vb%=1..|
0001cb00  82 0b d9 23 66 69 6c 6f  25 0d 89 8a 1e f2 69 6e  |...#filo%.....in|
0001cb10  73 65 72 74 5f 6d 65 6d  5f 74 65 78 74 28 76 69  |sert_mem_text(vi|
0001cb20  65 77 6d 65 6d 25 29 0d  89 92 10 21 71 25 3d 76  |ewmem%)....!q%=v|
0001cb30  69 65 77 6d 65 6d 25 0d  89 9a 20 c8 99 20 22 57  |iewmem%... .. "W|
0001cb40  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
0001cb50  74 65 22 2c 2c 71 25 0d  89 a2 0c 71 25 21 32 38  |te",,q%....q%!28|
0001cb60  3d 2d 31 0d 89 aa 1c c8  99 20 22 57 69 6d 70 5f  |=-1...... "Wimp_|
0001cb70  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |OpenWindow",,q%.|
0001cb80  89 b2 0c e7 20 77 5f 61  25 20 8c 0d 89 ba 3d 20  |.... w_a% ....= |
0001cb90  20 61 24 3d 22 4f 22 2b  c3 28 6c 6f 67 67 65 64  | a$="O"+.(logged|
0001cba0  5f 6f 6e 25 29 2b 22 3b  22 2b 70 61 73 73 24 28  |_on%)+";"+pass$(|
0001cbb0  6c 6f 67 67 65 64 5f 6f  6e 25 2c 30 29 2b 22 3b  |logged_on%,0)+";|
0001cbc0  22 2b c0 73 24 2c 38 29  0d 89 c2 17 20 20 f2 61  |"+.s$,8)....  .a|
0001cbd0  64 64 5f 77 61 74 63 68  64 6f 67 28 61 24 29 0d  |dd_watchdog(a$).|
0001cbe0  89 ca 05 cd 0d 89 d2 05  e1 0d 89 da 04 0d 89 e2  |................|
0001cbf0  18 dd f2 69 73 73 75 65  62 6f 6f 6b 5f 61 6e 64  |...issuebook_and|
0001cc00  5f 65 78 69 74 0d 89 ea  0e f2 69 73 73 75 65 62  |_exit.....issueb|
0001cc10  6f 6f 6b 0d 89 f2 0e 21  71 25 3d 69 73 73 75 65  |ook....!q%=issue|
0001cc20  25 0d 89 fa 1d c8 99 20  22 57 69 6d 70 5f 43 6c  |%...... "Wimp_Cl|
0001cc30  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 71 25 0d 8a  |oseWindow",,q%..|
0001cc40  02 05 e1 0d 8a 0a 04 0d  8a 12 19 dd a4 72 65 6d  |.............rem|
0001cc50  6f 76 65 5f 61 72 74 69  63 6c 65 73 28 73 24 29  |ove_articles(s$)|
0001cc60  0d 8a 1a 15 e7 20 c0 73  24 2c 34 29 3d 22 54 48  |..... .s$,4)="TH|
0001cc70  45 20 22 20 8c 0d 8a 22  15 20 20 73 24 3d c2 73  |E " ...".  s$=.s|
0001cc80  24 2c a9 28 73 24 29 2d  34 29 0d 8a 2a 05 cc 0d  |$,.(s$)-4)..*...|
0001cc90  8a 32 15 20 20 e7 20 c0  73 24 2c 32 29 3d 22 41  |.2.  . .s$,2)="A|
0001cca0  20 22 20 8c 0d 8a 3a 17  20 20 20 20 73 24 3d c2  | " ...:.    s$=.|
0001ccb0  73 24 2c a9 28 73 24 29  2d 32 29 0d 8a 42 07 20  |s$,.(s$)-2)..B. |
0001ccc0  20 cc 0d 8a 4a 28 20 20  20 20 e7 20 c0 73 24 2c  | ...J(    . .s$,|
0001ccd0  33 29 3d 22 41 4e 20 22  20 8c 20 73 24 3d c2 73  |3)="AN " . s$=.s|
0001cce0  24 2c a9 28 73 24 29 2d  33 29 0d 8a 52 07 20 20  |$,.(s$)-3)..R.  |
0001ccf0  cd 0d 8a 5a 05 cd 0d 8a  62 07 3d 73 24 0d 8a 6a  |...Z....b.=s$..j|
0001cd00  04 0d 8a 72 26 dd f2 6f  76 65 72 64 75 65 28 79  |...r&..overdue(y|
0001cd10  32 24 2c 79 31 24 2c 6d  32 24 2c 6d 31 24 2c 64  |2$,y1$,m2$,m1$,d|
0001cd20  32 24 2c 64 31 24 29 0d  8a 7a 15 c8 99 20 22 48  |2$,d1$)..z... "H|
0001cd30  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 0d 8a 82 2f  |ourglass_On".../|
0001cd40  64 62 25 3d a4 63 6f 6e  76 65 72 74 5f 64 61 74  |db%=.convert_dat|
0001cd50  65 5f 72 65 6c 61 74 69  76 65 28 79 31 24 2c 6d  |e_relative(y1$,m|
0001cd60  31 24 2c 64 31 24 2c 79  31 24 29 0d 8a 8a 2f 63  |1$,d1$,y1$).../c|
0001cd70  62 25 3d a4 63 6f 6e 76  65 72 74 5f 64 61 74 65  |b%=.convert_date|
0001cd80  5f 72 65 6c 61 74 69 76  65 28 79 32 24 2c 6d 32  |_relative(y2$,m2|
0001cd90  24 2c 64 32 24 2c 79 31  24 29 0d 8a 92 09 74 24  |$,d2$,y1$)....t$|
0001cda0  3d 91 24 0d 8a 9a 0d 74  24 3d c0 74 24 2c 33 29  |=.$....t$=.t$,3)|
0001cdb0  0d 8a a2 0b c8 8e 20 74  24 20 ca 0d 8a aa 19 20  |...... t$ ..... |
0001cdc0  20 c9 20 22 53 75 6e 22  3a 20 63 75 72 5f 64 61  | . "Sun": cur_da|
0001cdd0  79 25 3d 31 0d 8a b2 19  20 20 c9 20 22 4d 6f 6e  |y%=1....  . "Mon|
0001cde0  22 3a 20 63 75 72 5f 64  61 79 25 3d 32 0d 8a ba  |": cur_day%=2...|
0001cdf0  19 20 20 c9 20 22 54 75  65 22 3a 20 63 75 72 5f  |.  . "Tue": cur_|
0001ce00  64 61 79 25 3d 33 0d 8a  c2 19 20 20 c9 20 22 57  |day%=3....  . "W|
0001ce10  65 64 22 3a 20 63 75 72  5f 64 61 79 25 3d 34 0d  |ed": cur_day%=4.|
0001ce20  8a ca 19 20 20 c9 20 22  54 68 75 22 3a 20 63 75  |...  . "Thu": cu|
0001ce30  72 5f 64 61 79 25 3d 35  0d 8a d2 19 20 20 c9 20  |r_day%=5....  . |
0001ce40  22 46 72 69 22 3a 20 63  75 72 5f 64 61 79 25 3d  |"Fri": cur_day%=|
0001ce50  36 0d 8a da 19 20 20 c9  20 22 53 61 74 22 3a 20  |6....  . "Sat": |
0001ce60  63 75 72 5f 64 61 79 25  3d 37 0d 8a e2 05 cb 0d  |cur_day%=7......|
0001ce70  8a ea 14 63 75 72 5f 64  61 74 65 25 3d bb 28 64  |...cur_date%=.(d|
0001ce80  32 24 29 0d 8a f2 13 63  75 72 5f 6d 6f 6e 25 3d  |2$)....cur_mon%=|
0001ce90  bb 28 6d 32 24 29 0d 8a  fa 12 63 75 72 5f 79 72  |.(m2$)....cur_yr|
0001cea0  25 3d bb 28 79 32 24 29  0d 8b 02 11 6e 65 74 63  |%=.(y2$)....netc|
0001ceb0  25 3d 63 62 25 2d 64 62  25 0d 8b 0a 0b 63 74 25  |%=cb%-db%....ct%|
0001cec0  3d 63 62 25 0d 8b 12 0e  c8 95 20 63 74 25 3e 64  |=cb%...... ct%>d|
0001ced0  62 25 0d 8b 1a 11 20 20  e3 20 66 64 25 3d 31 20  |b%....  . fd%=1 |
0001cee0  b8 20 37 0d 8b 22 45 20  20 e7 20 63 75 72 5f 64  |. 7.."E  . cur_d|
0001cef0  61 79 25 3d 66 64 25 20  80 20 28 28 64 70 78 25  |ay%=fd% . ((dpx%|
0001cf00  20 80 20 28 31 3c 3c 28  66 64 25 2d 31 29 29 29  | . (1<<(fd%-1)))|
0001cf10  3e 3e 3e 28 66 64 25 2d  31 29 29 3d 31 20 8c 20  |>>>(fd%-1))=1 . |
0001cf20  6e 65 74 63 25 2d 3d 31  0d 8b 2a 0b 20 20 ed 20  |netc%-=1..*.  . |
0001cf30  66 64 25 0d 8b 32 21 20  20 e7 20 28 28 64 70 78  |fd%..2!  . ((dpx|
0001cf40  25 20 80 20 28 31 3c 3c  37 29 29 3e 3e 3e 37 29  |% . (1<<7))>>>7)|
0001cf50  3d 31 20 8c 0d 8b 3a 26  20 20 20 20 e7 20 63 75  |=1 ...:&    . cu|
0001cf60  72 5f 64 61 74 65 25 3d  32 35 20 80 20 63 75 72  |r_date%=25 . cur|
0001cf70  5f 6d 6f 6e 25 3d 31 32  20 8c 0d 8b 42 44 20 20  |_mon%=12 ...BD  |
0001cf80  20 20 20 20 e7 20 28 28  64 70 78 25 20 80 20 28  |    . ((dpx% . (|
0001cf90  31 3c 3c 28 63 75 72 5f  64 61 79 25 2d 31 29 29  |1<<(cur_day%-1))|
0001cfa0  29 3e 3e 3e 28 63 75 72  5f 64 61 79 25 2d 31 29  |)>>>(cur_day%-1)|
0001cfb0  29 3d 30 20 8c 20 6e 65  74 63 25 2d 3d 31 0d 8b  |)=0 . netc%-=1..|
0001cfc0  4a 09 20 20 20 20 cd 0d  8b 52 07 20 20 cd 0d 8b  |J.    ...R.  ...|
0001cfd0  5a 1f 20 20 e7 20 28 64  70 78 25 20 80 20 28 31  |Z.  . (dpx% . (1|
0001cfe0  3c 3c 38 29 29 3e 3e 3e  38 3d 31 20 8c 0d 8b 62  |<<8))>>>8=1 ...b|
0001cff0  26 20 20 20 20 e7 20 63  75 72 5f 64 61 74 65 25  |&    . cur_date%|
0001d000  3d 32 36 20 80 20 63 75  72 5f 6d 6f 6e 25 3d 31  |=26 . cur_mon%=1|
0001d010  32 20 8c 0d 8b 6a 44 20  20 20 20 20 20 e7 20 28  |2 ...jD      . (|
0001d020  28 64 70 78 25 20 80 20  28 31 3c 3c 28 63 75 72  |(dpx% . (1<<(cur|
0001d030  5f 64 61 79 25 2d 31 29  29 29 3e 3e 3e 28 63 75  |_day%-1)))>>>(cu|
0001d040  72 5f 64 61 79 25 2d 31  29 29 3d 30 20 8c 20 6e  |r_day%-1))=0 . n|
0001d050  65 74 63 25 2d 3d 31 0d  8b 72 09 20 20 20 20 cd  |etc%-=1..r.    .|
0001d060  0d 8b 7a 07 20 20 cd 0d  8b 82 1f 20 20 e7 20 28  |..z.  .....  . (|
0001d070  64 70 78 25 20 80 20 28  31 3c 3c 39 29 29 3e 3e  |dpx% . (1<<9))>>|
0001d080  3e 39 3d 31 20 8c 0d 8b  8a 24 20 20 20 20 e7 20  |>9=1 ....$    . |
0001d090  63 75 72 5f 64 61 74 65  25 3d 31 20 80 20 63 75  |cur_date%=1 . cu|
0001d0a0  72 5f 6d 6f 6e 25 3d 31  20 8c 0d 8b 92 44 20 20  |r_mon%=1 ....D  |
0001d0b0  20 20 20 20 e7 20 28 28  64 70 78 25 20 80 20 28  |    . ((dpx% . (|
0001d0c0  31 3c 3c 28 63 75 72 5f  64 61 79 25 2d 31 29 29  |1<<(cur_day%-1))|
0001d0d0  29 3e 3e 3e 28 63 75 72  5f 64 61 79 25 2d 31 29  |)>>>(cur_day%-1)|
0001d0e0  29 3d 30 20 8c 20 6e 65  74 63 25 2d 3d 31 0d 8b  |)=0 . netc%-=1..|
0001d0f0  9a 09 20 20 20 20 cd 0d  8b a2 07 20 20 cd 0d 8b  |..    .....  ...|
0001d100  aa 10 20 20 e7 20 64 78  70 25 3e 30 20 8c 0d 8b  |..  . dxp%>0 ...|
0001d110  b2 18 20 20 20 20 e3 20  66 64 25 3d 30 20 b8 20  |..    . fd%=0 . |
0001d120  64 78 70 25 2d 31 0d 8b  ba 3b 20 20 20 20 e7 20  |dxp%-1...;    . |
0001d130  a4 46 6f 72 6d 44 61 74  65 28 63 75 72 5f 64 61  |.FormDate(cur_da|
0001d140  74 65 25 2c 63 75 72 5f  6d 6f 6e 25 2c 63 75 72  |te%,cur_mon%,cur|
0001d150  5f 79 72 25 29 3d 64 65  78 24 28 66 64 25 29 20  |_yr%)=dex$(fd%) |
0001d160  8c 0d 8b c2 44 20 20 20  20 20 20 e7 20 28 28 64  |....D      . ((d|
0001d170  70 78 25 20 80 20 28 31  3c 3c 28 63 75 72 5f 64  |px% . (1<<(cur_d|
0001d180  61 79 25 2d 31 29 29 29  3e 3e 3e 28 63 75 72 5f  |ay%-1)))>>>(cur_|
0001d190  64 61 79 25 2d 31 29 29  3d 30 20 8c 20 6e 65 74  |day%-1))=0 . net|
0001d1a0  63 25 2d 3d 31 0d 8b ca  22 20 20 20 20 20 20 e7  |c%-=1..."      .|
0001d1b0  20 c0 64 65 78 24 28 66  64 25 29 2c 34 29 3d 22  | .dex$(fd%),4)="|
0001d1c0  32 35 31 32 22 20 8c 0d  8b d2 30 20 20 20 20 20  |2512" ....0     |
0001d1d0  20 20 20 e7 20 28 28 64  70 78 25 20 80 20 28 31  |   . ((dpx% . (1|
0001d1e0  3c 3c 37 29 29 3e 3e 3e  37 29 3d 31 20 8c 20 6e  |<<7))>>>7)=1 . n|
0001d1f0  65 74 63 25 2b 3d 31 0d  8b da 0b 20 20 20 20 20  |etc%+=1....     |
0001d200  20 cd 0d 8b e2 22 20 20  20 20 20 20 e7 20 c0 64  | ...."      . .d|
0001d210  65 78 24 28 66 64 25 29  2c 34 29 3d 22 32 36 31  |ex$(fd%),4)="261|
0001d220  32 22 20 8c 0d 8b ea 30  20 20 20 20 20 20 20 20  |2" ....0        |
0001d230  e7 20 28 28 64 70 78 25  20 80 20 28 31 3c 3c 38  |. ((dpx% . (1<<8|
0001d240  29 29 3e 3e 3e 38 29 3d  31 20 8c 20 6e 65 74 63  |))>>>8)=1 . netc|
0001d250  25 2b 3d 31 0d 8b f2 0b  20 20 20 20 20 20 cd 0d  |%+=1....      ..|
0001d260  8b fa 22 20 20 20 20 20  20 e7 20 c0 64 65 78 24  |.."      . .dex$|
0001d270  28 66 64 25 29 2c 34 29  3d 22 30 31 30 31 22 20  |(fd%),4)="0101" |
0001d280  8c 0d 8c 02 30 20 20 20  20 20 20 20 20 e7 20 28  |....0        . (|
0001d290  28 64 70 78 25 20 80 20  28 31 3c 3c 39 29 29 3e  |(dpx% . (1<<9))>|
0001d2a0  3e 3e 39 29 3d 31 20 8c  20 6e 65 74 63 25 2b 3d  |>>9)=1 . netc%+=|
0001d2b0  31 0d 8c 0a 0b 20 20 20  20 20 20 cd 0d 8c 12 0d  |1....      .....|
0001d2c0  20 20 20 20 ed 20 66 64  25 0d 8c 1a 07 20 20 cd  |    . fd%....  .|
0001d2d0  0d 8c 22 0c 20 20 63 74  25 2d 3d 31 0d 8c 2a 2b  |..".  ct%-=1..*+|
0001d2e0  20 20 63 75 72 5f 64 61  79 25 2d 3d 31 3a e7 20  |  cur_day%-=1:. |
0001d2f0  63 75 72 5f 64 61 79 25  3d 30 20 8c 20 63 75 72  |cur_day%=0 . cur|
0001d300  5f 64 61 79 25 3d 37 0d  8c 32 12 20 20 63 75 72  |_day%=7..2.  cur|
0001d310  5f 64 61 74 65 25 2d 3d  31 0d 8c 3a 15 20 20 e7  |_date%-=1..:.  .|
0001d320  20 63 75 72 5f 64 61 74  65 25 3d 30 20 8c 0d 8c  | cur_date%=0 ...|
0001d330  42 15 20 20 20 20 c8 8e  20 63 75 72 5f 6d 6f 6e  |B.    .. cur_mon|
0001d340  25 20 ca 0d 8c 4a 1b 20  20 20 20 20 20 c9 20 31  |% ...J.      . 1|
0001d350  3a 20 63 75 72 5f 64 61  74 65 25 3d 33 31 0d 8c  |: cur_date%=31..|
0001d360  52 1b 20 20 20 20 20 20  c9 20 32 3a 20 63 75 72  |R.      . 2: cur|
0001d370  5f 64 61 74 65 25 3d 33  31 0d 8c 5a 3a 20 20 20  |_date%=31..Z:   |
0001d380  20 20 20 c9 20 33 3a 20  63 75 72 5f 64 61 74 65  |   . 3: cur_date|
0001d390  25 3d 32 38 3a e7 20 63  75 72 5f 79 72 25 20 83  |%=28:. cur_yr% .|
0001d3a0  20 34 3d 30 20 8c 20 63  75 72 5f 64 61 74 65 25  | 4=0 . cur_date%|
0001d3b0  3d 32 39 0d 8c 62 1b 20  20 20 20 20 20 c9 20 34  |=29..b.      . 4|
0001d3c0  3a 20 63 75 72 5f 64 61  74 65 25 3d 33 31 0d 8c  |: cur_date%=31..|
0001d3d0  6a 1b 20 20 20 20 20 20  c9 20 35 3a 20 63 75 72  |j.      . 5: cur|
0001d3e0  5f 64 61 74 65 25 3d 33  30 0d 8c 72 1b 20 20 20  |_date%=30..r.   |
0001d3f0  20 20 20 c9 20 36 3a 20  63 75 72 5f 64 61 74 65  |   . 6: cur_date|
0001d400  25 3d 33 31 0d 8c 7a 1b  20 20 20 20 20 20 c9 20  |%=31..z.      . |
0001d410  37 3a 20 63 75 72 5f 64  61 74 65 25 3d 33 30 0d  |7: cur_date%=30.|
0001d420  8c 82 1b 20 20 20 20 20  20 c9 20 38 3a 20 63 75  |...      . 8: cu|
0001d430  72 5f 64 61 74 65 25 3d  33 31 0d 8c 8a 1b 20 20  |r_date%=31....  |
0001d440  20 20 20 20 c9 20 39 3a  20 63 75 72 5f 64 61 74  |    . 9: cur_dat|
0001d450  65 25 3d 33 31 0d 8c 92  1c 20 20 20 20 20 20 c9  |e%=31....      .|
0001d460  20 31 30 3a 20 63 75 72  5f 64 61 74 65 25 3d 33  | 10: cur_date%=3|
0001d470  30 0d 8c 9a 1c 20 20 20  20 20 20 c9 20 31 31 3a  |0....      . 11:|
0001d480  20 63 75 72 5f 64 61 74  65 25 3d 33 31 0d 8c a2  | cur_date%=31...|
0001d490  1c 20 20 20 20 20 20 c9  20 31 32 3a 20 63 75 72  |.      . 12: cur|
0001d4a0  5f 64 61 74 65 25 3d 33  30 0d 8c aa 09 20 20 20  |_date%=30....   |
0001d4b0  20 cb 0d 8c b2 13 20 20  20 20 63 75 72 5f 6d 6f  | .....    cur_mo|
0001d4c0  6e 25 2d 3d 31 0d 8c ba  16 20 20 20 20 e7 20 63  |n%-=1....    . c|
0001d4d0  75 72 5f 6d 6f 6e 25 3d  30 20 8c 0d 8c c2 14 20  |ur_mon%=0 ..... |
0001d4e0  20 20 20 20 20 63 75 72  5f 79 72 25 2d 3d 31 0d  |     cur_yr%-=1.|
0001d4f0  8c ca 23 20 20 20 20 20  20 e7 20 63 75 72 5f 79  |..#      . cur_y|
0001d500  72 25 3d 2d 31 20 8c 20  63 75 72 5f 79 72 25 3d  |r%=-1 . cur_yr%=|
0001d510  39 39 0d 8c d2 09 20 20  20 20 cd 0d 8c da 07 20  |99....    ..... |
0001d520  20 cd 0d 8c e2 05 ce 0d  8c ea 1d 6f 77 65 64 25  | ..........owed%|
0001d530  2b 3d 6e 65 74 63 25 2a  66 69 6e 65 5f 63 68 61  |+=netc%*fine_cha|
0001d540  72 67 65 25 0d 8c f2 21  f2 70 75 74 74 65 78 74  |rge%...!.puttext|
0001d550  28 6f 76 65 72 64 75 65  25 2c 31 2c c3 28 6f 77  |(overdue%,1,.(ow|
0001d560  65 64 25 29 29 0d 8c fa  10 21 71 25 3d 6f 76 65  |ed%))....!q%=ove|
0001d570  72 64 75 65 25 0d 8d 02  20 c8 99 20 22 57 69 6d  |rdue%... .. "Wim|
0001d580  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
0001d590  22 2c 2c 71 25 0d 8d 0a  0c 71 25 21 32 38 3d 2d  |",,q%....q%!28=-|
0001d5a0  31 0d 8d 12 1c c8 99 20  22 57 69 6d 70 5f 4f 70  |1...... "Wimp_Op|
0001d5b0  65 6e 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 8d 1a  |enWindow",,q%...|
0001d5c0  16 c8 99 20 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |... "Hourglass_O|
0001d5d0  66 66 22 0d 8d 22 05 f5  0d 8d 2a 1f 20 20 c8 99  |ff".."....*.  ..|
0001d5e0  20 22 57 69 6d 70 5f 50  6f 6c 6c 22 2c 26 30 2c  | "Wimp_Poll",&0,|
0001d5f0  71 25 20 b8 20 41 25 0d  8d 32 31 fd 20 41 25 3d  |q% . A%..21. A%=|
0001d600  36 20 80 20 71 25 21 31  32 3d 6f 76 65 72 64 75  |6 . q%!12=overdu|
0001d610  65 25 20 80 20 28 71 25  21 31 36 3d 34 20 84 20  |e% . (q%!16=4 . |
0001d620  71 25 21 31 36 3d 35 29  0d 8d 3a 0e c8 8e 20 71  |q%!16=5)..:... q|
0001d630  25 21 31 36 20 ca 0d 8d  42 09 20 20 c9 20 34 0d  |%!16 ...B.  . 4.|
0001d640  8d 4a 16 20 20 20 20 64  25 3d bb 28 c0 6d 65 6d  |.J.    d%=.(.mem|
0001d650  24 2c 32 29 29 0d 8d 52  18 20 20 20 20 6c 25 3d  |$,2))..R.    l%=|
0001d660  bb 28 c1 6d 65 6d 24 2c  33 2c 32 29 29 0d 8d 5a  |.(.mem$,3,2))..Z|
0001d670  18 20 20 20 20 73 25 3d  bb 28 c1 6d 65 6d 24 2c  |.    s%=.(.mem$,|
0001d680  35 2c 31 29 29 0d 8d 62  18 20 20 20 20 6e 25 3d  |5,1))..b.    n%=|
0001d690  bb 28 c1 6d 65 6d 24 2c  36 2c 33 29 29 0d 8d 6a  |.(.mem$,6,3))..j|
0001d6a0  38 20 20 20 20 74 72 79  24 3d 22 3c 4d 65 6d 62  |8    try$="<Memb|
0001d6b0  65 72 22 2b c3 28 64 25  29 2b 22 24 44 69 72 3e  |er"+.(d%)+"$Dir>|
0001d6c0  2e 22 2b bd 28 36 35 2b  6c 25 29 2b 22 2e 22 2b  |."+.(65+l%)+"."+|
0001d6d0  c3 28 73 25 29 0d 8d 72  15 20 20 20 20 66 69 6c  |.(s%)..r.    fil|
0001d6e0  6f 25 3d 8e 28 74 72 79  24 29 0d 8d 7a 19 20 20  |o%=.(try$)..z.  |
0001d6f0  20 20 66 69 6c 70 25 3d  ae 28 74 72 79 24 2b 22  |  filp%=.(try$+"|
0001d700  32 22 29 0d 8d 82 13 20  20 20 20 e8 23 66 69 6c  |2")....    .#fil|
0001d710  6f 25 2c 74 6e 25 0d 8d  8a 4e 20 20 20 20 e7 20  |o%,tn%...N    . |
0001d720  74 6e 25 3c 6e 25 20 8c  20 f2 64 69 73 5f 6d 65  |tn%<n% . .dis_me|
0001d730  73 73 61 67 65 28 22 49  6e 76 61 6c 69 64 20 4d  |ssage("Invalid M|
0001d740  65 6d 62 65 72 73 68 69  70 20 4e 75 6d 62 65 72  |embership Number|
0001d750  22 29 3a d9 23 66 69 6c  6f 25 3a d9 23 66 69 6c  |"):.#filo%:.#fil|
0001d760  70 25 3a e1 0d 8d 92 13  20 20 20 20 f1 23 66 69  |p%:.....    .#fi|
0001d770  6c 70 25 2c 74 6e 25 0d  8d 9a 15 20 20 20 20 e3  |lp%,tn%....    .|
0001d780  20 73 63 25 3d 31 20 b8  20 74 6e 25 0d 8d a2 13  | sc%=1 . tn%....|
0001d790  20 20 20 20 e3 20 67 25  3d 31 20 b8 20 31 31 0d  |    . g%=1 . 11.|
0001d7a0  8d aa 15 20 20 20 20 e8  23 66 69 6c 6f 25 2c 74  |...    .#filo%,t|
0001d7b0  65 6d 70 24 0d 8d b2 19  20 20 20 20 e7 20 67 25  |emp$....    . g%|
0001d7c0  3e 31 20 80 20 73 63 25  3d 6e 25 20 8c 0d 8d ba  |>1 . sc%=n% ....|
0001d7d0  17 20 20 20 20 20 20 f1  23 66 69 6c 70 25 2c 74  |.      .#filp%,t|
0001d7e0  65 6d 70 24 0d 8d c2 09  20 20 20 20 cc 0d 8d ca  |emp$....    ....|
0001d7f0  23 20 20 20 20 20 20 f1  23 66 69 6c 70 25 2c c0  |#      .#filp%,.|
0001d800  6d 65 6d 24 2c 38 29 2b  c3 28 6f 77 65 64 25 29  |mem$,8)+.(owed%)|
0001d810  0d 8d d2 09 20 20 20 20  cd 0d 8d da 0c 20 20 20  |....    .....   |
0001d820  20 ed 20 67 25 0d 8d e2  15 20 20 20 20 74 65 6d  | . g%....    tem|
0001d830  70 25 3d 9a 23 66 69 6c  6f 25 0d 8d ea 15 20 20  |p%=.#filo%....  |
0001d840  20 20 d5 23 66 69 6c 70  25 2c 74 65 6d 70 25 0d  |  .#filp%,temp%.|
0001d850  8d f2 13 20 20 20 20 62  6e 25 3d 9a 23 66 69 6c  |...    bn%=.#fil|
0001d860  6f 25 0d 8d fa 13 20 20  20 20 d5 23 66 69 6c 70  |o%....    .#filp|
0001d870  25 2c 62 6e 25 0d 8e 02  11 20 20 20 20 e7 20 62  |%,bn%....    . b|
0001d880  6e 25 3e 30 20 8c 0d 8e  0a 16 20 20 20 20 20 20  |n%>0 .....      |
0001d890  e3 20 76 25 3d 31 20 b8  20 62 6e 25 0d 8e 12 17  |. v%=1 . bn%....|
0001d8a0  20 20 20 20 20 20 e8 23  66 69 6c 6f 25 2c 74 65  |      .#filo%,te|
0001d8b0  6d 70 24 0d 8e 1a 17 20  20 20 20 20 20 f1 23 66  |mp$....      .#f|
0001d8c0  69 6c 70 25 2c 74 65 6d  70 24 0d 8e 22 0e 20 20  |ilp%,temp$..".  |
0001d8d0  20 20 20 20 ed 20 76 25  0d 8e 2a 09 20 20 20 20  |    . v%..*.    |
0001d8e0  cd 0d 8e 32 0d 20 20 20  20 ed 20 73 63 25 0d 8e  |...2.    . sc%..|
0001d8f0  3a 0f 20 20 20 20 d9 23  66 69 6c 6f 25 0d 8e 42  |:.    .#filo%..B|
0001d900  0f 20 20 20 20 d9 23 66  69 6c 70 25 0d 8e 4a 19  |.    .#filp%..J.|
0001d910  20 20 20 20 ff 28 22 44  65 6c 65 74 65 20 22 2b  |    .("Delete "+|
0001d920  74 72 79 24 29 0d 8e 52  23 20 20 20 20 ff 28 22  |try$)..R#    .("|
0001d930  52 65 6e 61 6d 65 20 22  2b 74 72 79 24 2b 22 32  |Rename "+try$+"2|
0001d940  20 22 2b 74 72 79 24 29  0d 8e 5a 09 20 20 c9 20  | "+try$)..Z.  . |
0001d950  35 0d 8e 62 16 20 20 20  20 64 25 3d bb 28 c0 6d  |5..b.    d%=.(.m|
0001d960  65 6d 24 2c 32 29 29 0d  8e 6a 18 20 20 20 20 6c  |em$,2))..j.    l|
0001d970  25 3d bb 28 c1 6d 65 6d  24 2c 33 2c 32 29 29 0d  |%=.(.mem$,3,2)).|
0001d980  8e 72 18 20 20 20 20 73  25 3d bb 28 c1 6d 65 6d  |.r.    s%=.(.mem|
0001d990  24 2c 35 2c 31 29 29 0d  8e 7a 18 20 20 20 20 6e  |$,5,1))..z.    n|
0001d9a0  25 3d bb 28 c1 6d 65 6d  24 2c 36 2c 33 29 29 0d  |%=.(.mem$,6,3)).|
0001d9b0  8e 82 38 20 20 20 20 74  72 79 24 3d 22 3c 4d 65  |..8    try$="<Me|
0001d9c0  6d 62 65 72 22 2b c3 28  64 25 29 2b 22 24 44 69  |mber"+.(d%)+"$Di|
0001d9d0  72 3e 2e 22 2b bd 28 36  35 2b 6c 25 29 2b 22 2e  |r>."+.(65+l%)+".|
0001d9e0  22 2b c3 28 73 25 29 0d  8e 8a 15 20 20 20 20 66  |"+.(s%)....    f|
0001d9f0  69 6c 6f 25 3d 8e 28 74  72 79 24 29 0d 8e 92 19  |ilo%=.(try$)....|
0001da00  20 20 20 20 66 69 6c 70  25 3d ae 28 74 72 79 24  |    filp%=.(try$|
0001da10  2b 22 32 22 29 0d 8e 9a  13 20 20 20 20 e8 23 66  |+"2")....    .#f|
0001da20  69 6c 6f 25 2c 74 6e 25  0d 8e a2 4e 20 20 20 20  |ilo%,tn%...N    |
0001da30  e7 20 74 6e 25 3c 6e 25  20 8c 20 f2 64 69 73 5f  |. tn%<n% . .dis_|
0001da40  6d 65 73 73 61 67 65 28  22 49 6e 76 61 6c 69 64  |message("Invalid|
0001da50  20 4d 65 6d 62 65 72 73  68 69 70 20 4e 75 6d 62  | Membership Numb|
0001da60  65 72 22 29 3a d9 23 66  69 6c 6f 25 3a d9 23 66  |er"):.#filo%:.#f|
0001da70  69 6c 70 25 3a e1 0d 8e  aa 13 20 20 20 20 f1 23  |ilp%:.....    .#|
0001da80  66 69 6c 70 25 2c 74 6e  25 0d 8e b2 15 20 20 20  |filp%,tn%....   |
0001da90  20 e3 20 73 63 25 3d 31  20 b8 20 74 6e 25 0d 8e  | . sc%=1 . tn%..|
0001daa0  ba 13 20 20 20 20 e3 20  67 25 3d 31 20 b8 20 31  |..    . g%=1 . 1|
0001dab0  31 0d 8e c2 15 20 20 20  20 e8 23 66 69 6c 6f 25  |1....    .#filo%|
0001dac0  2c 74 65 6d 70 24 0d 8e  ca 19 20 20 20 20 e7 20  |,temp$....    . |
0001dad0  67 25 3e 31 20 80 20 73  63 25 3d 6e 25 20 8c 0d  |g%>1 . sc%=n% ..|
0001dae0  8e d2 17 20 20 20 20 20  20 f1 23 66 69 6c 70 25  |...      .#filp%|
0001daf0  2c 74 65 6d 70 24 0d 8e  da 09 20 20 20 20 cc 0d  |,temp$....    ..|
0001db00  8e e2 1a 20 20 20 20 20  20 f1 23 66 69 6c 70 25  |...      .#filp%|
0001db10  2c c0 6d 65 6d 24 2c 38  29 0d 8e ea 09 20 20 20  |,.mem$,8)....   |
0001db20  20 cd 0d 8e f2 0c 20 20  20 20 ed 20 67 25 0d 8e  | .....    . g%..|
0001db30  fa 15 20 20 20 20 74 65  6d 70 25 3d 9a 23 66 69  |..    temp%=.#fi|
0001db40  6c 6f 25 0d 8f 02 15 20  20 20 20 d5 23 66 69 6c  |lo%....    .#fil|
0001db50  70 25 2c 74 65 6d 70 25  0d 8f 0a 13 20 20 20 20  |p%,temp%....    |
0001db60  62 6e 25 3d 9a 23 66 69  6c 6f 25 0d 8f 12 13 20  |bn%=.#filo%.... |
0001db70  20 20 20 d5 23 66 69 6c  70 25 2c 62 6e 25 0d 8f  |   .#filp%,bn%..|
0001db80  1a 11 20 20 20 20 e7 20  62 6e 25 3e 30 20 8c 0d  |..    . bn%>0 ..|
0001db90  8f 22 16 20 20 20 20 20  20 e3 20 76 25 3d 31 20  |.".      . v%=1 |
0001dba0  b8 20 62 6e 25 0d 8f 2a  17 20 20 20 20 20 20 e8  |. bn%..*.      .|
0001dbb0  23 66 69 6c 6f 25 2c 74  65 6d 70 24 0d 8f 32 17  |#filo%,temp$..2.|
0001dbc0  20 20 20 20 20 20 f1 23  66 69 6c 70 25 2c 74 65  |      .#filp%,te|
0001dbd0  6d 70 24 0d 8f 3a 0e 20  20 20 20 20 20 ed 20 76  |mp$..:.      . v|
0001dbe0  25 0d 8f 42 09 20 20 20  20 cd 0d 8f 4a 0d 20 20  |%..B.    ...J.  |
0001dbf0  20 20 ed 20 73 63 25 0d  8f 52 0f 20 20 20 20 d9  |  . sc%..R.    .|
0001dc00  23 66 69 6c 6f 25 0d 8f  5a 0f 20 20 20 20 d9 23  |#filo%..Z.    .#|
0001dc10  66 69 6c 70 25 0d 8f 62  19 20 20 20 20 ff 28 22  |filp%..b.    .("|
0001dc20  44 65 6c 65 74 65 20 22  2b 74 72 79 24 29 0d 8f  |Delete "+try$)..|
0001dc30  6a 23 20 20 20 20 ff 28  22 52 65 6e 61 6d 65 20  |j#    .("Rename |
0001dc40  22 2b 74 72 79 24 2b 22  32 20 22 2b 74 72 79 24  |"+try$+"2 "+try$|
0001dc50  29 0d 8f 72 05 cb 0d 8f  7a 12 63 61 6c 6c 65 64  |)..r....z.called|
0001dc60  5f 66 6c 61 67 25 3d b9  0d 8f 82 10 21 71 25 3d  |_flag%=.....!q%=|
0001dc70  6f 76 65 72 64 75 65 25  0d 8f 8a 1d c8 99 20 22  |overdue%...... "|
0001dc80  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
0001dc90  22 2c 2c 71 25 0d 8f 92  05 e1 0d 8f 9a 04 0d 8f  |",,q%...........|
0001dca0  a2 2c dd a4 63 6f 6e 76  65 72 74 5f 64 61 74 65  |.,..convert_date|
0001dcb0  5f 72 65 6c 61 74 69 76  65 28 6f 79 24 2c 6f 6d  |_relative(oy$,om|
0001dcc0  24 2c 6f 64 24 2c 6f 72  24 29 0d 8f aa 0e 6f 79  |$,od$,or$)....oy|
0001dcd0  25 3d bb 28 6f 79 24 29  0d 8f b2 0e 6f 6d 25 3d  |%=.(oy$)....om%=|
0001dce0  bb 28 6f 6d 24 29 0d 8f  ba 0e 6f 64 25 3d bb 28  |.(om$)....od%=.(|
0001dcf0  6f 64 24 29 0d 8f c2 0e  6f 72 25 3d bb 28 6f 72  |od$)....or%=.(or|
0001dd00  24 29 0d 8f ca 25 79 64  25 3d 6f 79 25 2d 6f 72  |$)...%yd%=oy%-or|
0001dd10  25 3a e7 20 79 64 25 3c  30 20 8c 20 79 64 25 3d  |%:. yd%<0 . yd%=|
0001dd20  31 30 30 2b 79 64 25 0d  8f d2 15 6e 64 25 3d a8  |100+yd%....nd%=.|
0001dd30  28 33 36 35 2e 32 35 2a  79 64 25 29 0d 8f da 11  |(365.25*yd%)....|
0001dd40  e3 20 6e 63 25 3d 31 20  b8 20 6f 6d 25 0d 8f e2  |. nc%=1 . om%...|
0001dd50  0c c8 8e 20 6e 63 25 20  ca 0d 8f ea 12 20 20 c9  |... nc% .....  .|
0001dd60  20 31 3a 20 6e 64 25 2b  3d 33 31 0d 8f f2 27 20  | 1: nd%+=31...' |
0001dd70  20 c9 20 32 3a 20 6e 64  25 2b 3d 32 38 3a e7 20  | . 2: nd%+=28:. |
0001dd80  6f 79 25 20 83 20 34 3d  30 20 8c 20 6e 64 25 2b  |oy% . 4=0 . nd%+|
0001dd90  3d 31 0d 8f fa 12 20 20  c9 20 33 3a 20 6e 64 25  |=1....  . 3: nd%|
0001dda0  2b 3d 33 31 0d 90 02 12  20 20 c9 20 34 3a 20 6e  |+=31....  . 4: n|
0001ddb0  64 25 2b 3d 33 30 0d 90  0a 12 20 20 c9 20 35 3a  |d%+=30....  . 5:|
0001ddc0  20 6e 64 25 2b 3d 33 31  0d 90 12 12 20 20 c9 20  | nd%+=31....  . |
0001ddd0  36 3a 20 6e 64 25 2b 3d  33 30 0d 90 1a 12 20 20  |6: nd%+=30....  |
0001dde0  c9 20 37 3a 20 6e 64 25  2b 3d 33 31 0d 90 22 12  |. 7: nd%+=31..".|
0001ddf0  20 20 c9 20 38 3a 20 6e  64 25 2b 3d 33 31 0d 90  |  . 8: nd%+=31..|
0001de00  2a 12 20 20 c9 20 39 3a  20 6e 64 25 2b 3d 33 30  |*.  . 9: nd%+=30|
0001de10  0d 90 32 13 20 20 c9 20  31 30 3a 20 6e 64 25 2b  |..2.  . 10: nd%+|
0001de20  3d 33 31 0d 90 3a 13 20  20 c9 20 31 31 3a 20 6e  |=31..:.  . 11: n|
0001de30  64 25 2b 3d 33 30 0d 90  42 13 20 20 c9 20 31 32  |d%+=30..B.  . 12|
0001de40  3a 20 6e 64 25 2b 3d 33  31 0d 90 4a 05 cb 0d 90  |: nd%+=31..J....|
0001de50  52 09 ed 20 6e 63 25 0d  90 5a 0c 6e 64 25 2b 3d  |R.. nc%..Z.nd%+=|
0001de60  6f 64 25 0d 90 62 08 3d  6e 64 25 0d 90 6a 04 0d  |od%..b.=nd%..j..|
0001de70  90 72 1b dd a4 46 6f 72  6d 44 61 74 65 28 63 64  |.r...FormDate(cd|
0001de80  25 2c 63 6d 25 2c 63 79  25 29 0d 90 7a 34 3d a4  |%,cm%,cy%)..z4=.|
0001de90  7a 65 72 6f 28 c3 28 63  64 25 29 2c 32 29 2b a4  |zero(.(cd%),2)+.|
0001dea0  7a 65 72 6f 28 c3 28 63  6d 25 29 2c 32 29 2b a4  |zero(.(cm%),2)+.|
0001deb0  7a 65 72 6f 28 c3 28 63  79 25 29 2c 32 29 0d 90  |zero(.(cy%),2)..|
0001dec0  82 04 0d 90 8a 10 dd f2  69 6e 69 74 5f 70 72 65  |........init_pre|
0001ded0  66 73 0d 90 92 2d 66 69  6c 6f 25 3d 8e 28 22 3c  |fs...-filo%=.("<|
0001dee0  4c 69 62 72 61 72 79 24  44 69 72 3e 2e 50 72 65  |Library$Dir>.Pre|
0001def0  66 65 72 65 6e 63 65 2e  49 73 73 75 65 22 29 0d  |ference.Issue").|
0001df00  90 9a 32 66 69 6c 70 25  3d 8e 28 22 3c 4c 69 62  |..2filp%=.("<Lib|
0001df10  72 61 72 79 24 44 69 72  3e 2e 50 72 65 66 65 72  |rary$Dir>.Prefer|
0001df20  65 6e 63 65 2e 41 6c 6c  6f 77 61 6e 63 65 73 22  |ence.Allowances"|
0001df30  29 0d 90 a2 19 6c 65 6e  64 69 6e 67 25 28 30 2c  |)....lending%(0,|
0001df40  30 29 3d 9a 23 66 69 6c  6f 25 0d 90 aa 19 6c 65  |0)=.#filo%....le|
0001df50  6e 64 69 6e 67 25 28 30  2c 31 29 3d 9a 23 66 69  |nding%(0,1)=.#fi|
0001df60  6c 6f 25 0d 90 b2 19 6c  65 6e 64 69 6e 67 25 28  |lo%....lending%(|
0001df70  31 2c 30 29 3d 9a 23 66  69 6c 70 25 0d 90 ba 19  |1,0)=.#filp%....|
0001df80  6c 65 6e 64 69 6e 67 25  28 31 2c 31 29 3d 9a 23  |lending%(1,1)=.#|
0001df90  66 69 6c 70 25 0d 90 c2  19 6c 65 6e 64 69 6e 67  |filp%....lending|
0001dfa0  25 28 31 2c 32 29 3d 9a  23 66 69 6c 70 25 0d 90  |%(1,2)=.#filp%..|
0001dfb0  ca 0b d9 23 66 69 6c 6f  25 0d 90 d2 0b d9 23 66  |...#filo%.....#f|
0001dfc0  69 6c 70 25 0d 90 da 2d  66 69 6c 6f 25 3d 8e 28  |ilp%...-filo%=.(|
0001dfd0  22 3c 4c 69 62 72 61 72  79 24 44 69 72 3e 2e 50  |"<Library$Dir>.P|
0001dfe0  72 65 66 65 72 65 6e 63  65 2e 46 69 6e 65 73 22  |reference.Fines"|
0001dff0  29 0d 90 e2 18 e8 23 66  69 6c 6f 25 2c 66 69 6e  |).....#filo%,fin|
0001e000  65 5f 63 68 61 72 67 65  25 0d 90 ea 10 e8 23 66  |e_charge%.....#f|
0001e010  69 6c 6f 25 2c 64 70 78  25 0d 90 f2 0e de 20 64  |ilo%,dpx%..... d|
0001e020  65 78 24 28 31 31 29 0d  90 fa 10 64 78 70 25 3d  |ex$(11)....dxp%=|
0001e030  9a 23 66 69 6c 6f 25 0d  91 02 0e e7 20 64 78 70  |.#filo%..... dxp|
0001e040  25 3e 30 20 8c 0d 91 0a  15 20 20 e3 20 63 25 3d  |%>0 .....  . c%=|
0001e050  30 20 b8 20 64 78 70 25  2d 31 0d 91 12 16 20 20  |0 . dxp%-1....  |
0001e060  e8 23 66 69 6c 6f 25 2c  64 65 78 24 28 63 25 29  |.#filo%,dex$(c%)|
0001e070  0d 91 1a 0a 20 20 ed 20  63 25 0d 91 22 05 cd 0d  |....  . c%.."...|
0001e080  91 2a 0b d9 23 66 69 6c  6f 25 0d 91 32 2d 66 69  |.*..#filo%..2-fi|
0001e090  6c 6f 25 3d 8e 28 22 3c  4c 69 62 72 61 72 79 24  |lo%=.("<Library$|
0001e0a0  44 69 72 3e 2e 50 72 65  66 65 72 65 6e 63 65 2e  |Dir>.Preference.|
0001e0b0  46 6f 6e 74 73 22 29 0d  91 3a 13 66 5f 66 6c 61  |Fonts")..:.f_fla|
0001e0c0  67 25 3d 9a 23 66 69 6c  6f 25 0d 91 42 1b e7 20  |g%=.#filo%..B.. |
0001e0d0  66 5f 66 6c 61 67 25 3d  31 20 8c 20 66 5f 66 6c  |f_flag%=1 . f_fl|
0001e0e0  61 67 25 3d b9 0d 91 4a  0b d9 23 66 69 6c 6f 25  |ag%=...J..#filo%|
0001e0f0  0d 91 52 05 e1 0d 91 5a  04 0d 91 62 12 dd f2 72  |..R....Z...b...r|
0001e100  65 6e 65 77 28 66 75 6e  63 25 29 0d 91 6a 14 f2  |enew(func%)..j..|
0001e110  63 68 65 63 6b 5f 62 6f  6f 6b 5f 64 69 72 73 0d  |check_book_dirs.|
0001e120  91 72 13 f2 63 68 65 63  6b 5f 6d 65 6d 5f 64 69  |.r..check_mem_di|
0001e130  72 73 0d 91 7a 15 e7 20  62 6f 6f 6b 5f 63 6f 75  |rs..z.. book_cou|
0001e140  6e 74 25 3d 30 20 8c 0d  91 82 46 20 20 f2 64 69  |nt%=0 ....F  .di|
0001e150  73 5f 6d 65 73 73 61 67  65 28 22 4e 6f 20 62 6f  |s_message("No bo|
0001e160  6f 6b 20 64 69 72 65 63  74 6f 72 69 65 73 20 68  |ok directories h|
0001e170  61 76 65 20 62 65 65 6e  20 73 65 65 6e 20 62 79  |ave been seen by|
0001e180  20 74 68 65 20 66 69 6c  65 72 2e 22 29 0d 91 8a  | the filer.")...|
0001e190  07 20 20 e1 0d 91 92 05  cd 0d 91 9a 14 e7 20 6d  |.  ........... m|
0001e1a0  65 6d 5f 63 6f 75 6e 74  25 3d 30 20 8c 0d 91 a2  |em_count%=0 ....|
0001e1b0  48 20 20 f2 64 69 73 5f  6d 65 73 73 61 67 65 28  |H  .dis_message(|
0001e1c0  22 4e 6f 20 6d 65 6d 62  65 72 20 64 69 72 65 63  |"No member direc|
0001e1d0  74 6f 72 69 65 73 20 68  61 76 65 20 62 65 65 6e  |tories have been|
0001e1e0  20 73 65 65 6e 20 62 79  20 74 68 65 20 66 69 6c  | seen by the fil|
0001e1f0  65 72 2e 22 29 0d 91 aa  07 20 20 e1 0d 91 b2 05  |er.")....  .....|
0001e200  cd 0d 91 ba 22 6e 6f 24  3d a4 55 70 70 65 72 28  |...."no$=.Upper(|
0001e210  a4 67 65 74 74 65 78 74  28 72 65 6e 65 77 25 2c  |.gettext(renew%,|
0001e220  31 29 29 0d 91 c2 3d e7  20 a9 28 6e 6f 24 29 3c  |1))...=. .(no$)<|
0001e230  36 20 8c 20 f2 64 69 73  5f 6d 65 73 73 61 67 65  |6 . .dis_message|
0001e240  28 22 41 63 63 65 73 73  69 6f 6e 20 4e 75 6d 62  |("Accession Numb|
0001e250  65 72 20 54 6f 6f 20 53  68 6f 72 74 22 29 3a e1  |er Too Short"):.|
0001e260  0d 91 ca 55 e7 20 ac 20  a4 76 61 6c 69 64 61 74  |...U. . .validat|
0001e270  65 5f 64 69 67 69 74 73  28 6e 6f 24 29 20 8c 20  |e_digits(no$) . |
0001e280  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 41 63  |.dis_message("Ac|
0001e290  63 65 73 73 69 6f 6e 20  4e 75 6d 62 65 72 3a 20  |cession Number: |
0001e2a0  43 68 65 63 6b 20 44 69  67 69 74 20 45 72 72 6f  |Check Digit Erro|
0001e2b0  72 22 29 3a e1 0d 91 d2  12 6e 6f 25 3d bb 28 c0  |r"):.....no%=.(.|
0001e2c0  6e 6f 24 2c 35 29 29 0d  91 da 23 e7 20 62 6f 6f  |no$,5))...#. boo|
0001e2d0  6b 5f 64 69 72 5f 64 65  66 25 28 bb 28 c0 6e 6f  |k_dir_def%(.(.no|
0001e2e0  24 2c 31 29 29 29 3d a3  20 8c 0d 91 e2 58 20 20  |$,1)))=. ....X  |
0001e2f0  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 54 68  |.dis_message("Th|
0001e300  65 20 62 6f 6f 6b 20 64  69 72 65 63 74 6f 72 79  |e book directory|
0001e310  20 66 6f 72 20 74 68 61  74 20 6e 75 6d 62 65 72  | for that number|
0001e320  20 68 61 73 20 6e 6f 74  20 62 65 65 6e 20 73 65  | has not been se|
0001e330  65 6e 20 62 79 20 74 68  65 20 66 69 6c 65 72 2e  |en by the filer.|
0001e340  22 29 0d 91 ea 07 20 20  e1 0d 91 f2 05 cd 0d 91  |")....  ........|
0001e350  fa 19 f2 6f 70 65 6e 5f  62 6f 6f 6b 5f 63 61 63  |...open_book_cac|
0001e360  68 65 28 6e 6f 24 29 0d  92 02 10 64 24 3d c1 6e  |he(no$)....d$=.n|
0001e370  6f 24 2c 34 2c 32 29 0d  92 0a 0f 70 69 63 6b 25  |o$,4,2)....pick%|
0001e380  3d bb 28 64 24 29 0d 92  12 50 e7 20 76 61 72 24  |=.(d$)...P. var$|
0001e390  28 70 69 63 6b 25 2c 34  29 3d 22 49 4e 20 4c 49  |(pick%,4)="IN LI|
0001e3a0  42 52 41 52 59 22 20 8c  20 f2 64 69 73 5f 6d 65  |BRARY" . .dis_me|
0001e3b0  73 73 61 67 65 28 22 54  68 69 73 20 62 6f 6f 6b  |ssage("This book|
0001e3c0  20 69 73 20 69 6e 20 74  68 65 20 6c 69 62 72 61  | is in the libra|
0001e3d0  72 79 22 29 3a e1 0d 92  1a 23 64 61 24 3d a4 52  |ry"):....#da$=.R|
0001e3e0  65 6d 6f 76 65 5f 50 75  6e 63 28 76 61 72 24 28  |emove_Punc(var$(|
0001e3f0  70 69 63 6b 25 2c 34 29  29 0d 92 22 12 64 61 79  |pick%,4))..".day|
0001e400  24 3d c1 64 61 24 2c 31  2c 32 29 0d 92 2a 12 6d  |$=.da$,1,2)..*.m|
0001e410  6f 6e 24 3d c1 64 61 24  2c 33 2c 32 29 0d 92 32  |on$=.da$,3,2)..2|
0001e420  11 79 72 24 3d c1 64 61  24 2c 35 2c 32 29 0d 92  |.yr$=.da$,5,2)..|
0001e430  3a 10 6d 65 6d 24 3d c2  64 61 24 2c 38 29 0d 92  |:.mem$=.da$,8)..|
0001e440  42 09 74 24 3d 91 24 0d  92 4a 12 64 61 79 32 24  |B.t$=.$..J.day2$|
0001e450  3d c1 74 24 2c 35 2c 32  29 0d 92 52 12 6d 6f 6e  |=.t$,5,2)..R.mon|
0001e460  32 24 3d c1 74 24 2c 38  2c 33 29 0d 92 5a 0e c8  |2$=.t$,8,3)..Z..|
0001e470  8e 20 6d 6f 6e 32 24 20  ca 0d 92 62 19 20 20 c9  |. mon2$ ...b.  .|
0001e480  20 22 4a 61 6e 22 3a 20  6d 6f 6e 32 24 3d 22 30  | "Jan": mon2$="0|
0001e490  31 22 0d 92 6a 19 20 20  c9 20 22 46 65 62 22 3a  |1"..j.  . "Feb":|
0001e4a0  20 6d 6f 6e 32 24 3d 22  30 32 22 0d 92 72 19 20  | mon2$="02"..r. |
0001e4b0  20 c9 20 22 4d 61 72 22  3a 20 6d 6f 6e 32 24 3d  | . "Mar": mon2$=|
0001e4c0  22 30 33 22 0d 92 7a 19  20 20 c9 20 22 41 70 72  |"03"..z.  . "Apr|
0001e4d0  22 3a 20 6d 6f 6e 32 24  3d 22 30 34 22 0d 92 82  |": mon2$="04"...|
0001e4e0  19 20 20 c9 20 22 4d 61  79 22 3a 20 6d 6f 6e 32  |.  . "May": mon2|
0001e4f0  24 3d 22 30 35 22 0d 92  8a 19 20 20 c9 20 22 4a  |$="05"....  . "J|
0001e500  75 6e 22 3a 20 6d 6f 6e  32 24 3d 22 30 36 22 0d  |un": mon2$="06".|
0001e510  92 92 19 20 20 c9 20 22  4a 75 6c 22 3a 20 6d 6f  |...  . "Jul": mo|
0001e520  6e 32 24 3d 22 30 37 22  0d 92 9a 19 20 20 c9 20  |n2$="07"....  . |
0001e530  22 41 75 67 22 3a 20 6d  6f 6e 32 24 3d 22 30 38  |"Aug": mon2$="08|
0001e540  22 0d 92 a2 19 20 20 c9  20 22 53 65 70 22 3a 20  |"....  . "Sep": |
0001e550  6d 6f 6e 32 24 3d 22 30  39 22 0d 92 aa 19 20 20  |mon2$="09"....  |
0001e560  c9 20 22 4f 63 74 22 3a  20 6d 6f 6e 32 24 3d 22  |. "Oct": mon2$="|
0001e570  31 30 22 0d 92 b2 19 20  20 c9 20 22 4e 6f 76 22  |10"....  . "Nov"|
0001e580  3a 20 6d 6f 6e 32 24 3d  22 31 31 22 0d 92 ba 19  |: mon2$="11"....|
0001e590  20 20 c9 20 22 44 65 63  22 3a 20 6d 6f 6e 32 24  |  . "Dec": mon2$|
0001e5a0  3d 22 31 32 22 0d 92 c2  05 cb 0d 92 ca 12 63 68  |="12".........ch|
0001e5b0  6f 73 65 6e 5f 66 6c 61  67 25 3d a3 0d 92 d2 0e  |osen_flag%=.....|
0001e5c0  e3 20 63 25 3d 33 20 b8  20 35 0d 92 da 1d 74 65  |. c%=3 . 5....te|
0001e5d0  6d 70 25 3d a4 49 63 6f  6e 47 65 74 28 72 65 6e  |mp%=.IconGet(ren|
0001e5e0  65 77 25 2c 63 25 29 0d  92 e2 1d e7 20 74 65 6d  |ew%,c%)..... tem|
0001e5f0  70 25 20 8c 20 63 68 6f  73 65 6e 5f 66 6c 61 67  |p% . chosen_flag|
0001e600  25 3d 63 25 0d 92 ea 08  ed 20 63 25 0d 92 f2 18  |%=c%..... c%....|
0001e610  e7 20 63 68 6f 73 65 6e  5f 66 6c 61 67 25 3d a3  |. chosen_flag%=.|
0001e620  20 8c 20 e1 0d 92 fa 17  64 6e 6f 25 3d 63 68 6f  | . .....dno%=cho|
0001e630  73 65 6e 5f 66 6c 61 67  25 2b 33 0d 93 02 1f 64  |sen_flag%+3....d|
0001e640  61 74 65 24 3d a4 67 65  74 74 65 78 74 28 72 65  |ate$=.gettext(re|
0001e650  6e 65 77 25 2c 64 6e 6f  25 29 0d 93 0a 15 c8 8e  |new%,dno%)......|
0001e660  20 63 68 6f 73 65 6e 5f  66 6c 61 67 25 20 ca 0d  | chosen_flag% ..|
0001e670  93 12 0b 20 20 c9 20 33  2c 34 0d 93 1a 2d 20 20  |...  . 3,4...-  |
0001e680  20 20 64 61 74 65 24 3d  c0 64 61 74 65 24 2c 32  |  date$=.date$,2|
0001e690  29 2b c1 64 61 74 65 24  2c 34 2c 32 29 2b c2 64  |)+.date$,4,2)+.d|
0001e6a0  61 74 65 24 2c 32 29 0d  93 22 27 20 20 20 20 e7  |ate$,2).."'    .|
0001e6b0  20 ac 20 a4 76 61 6c 69  64 61 74 65 5f 64 61 74  | . .validate_dat|
0001e6c0  65 28 64 61 74 65 24 29  20 8c 20 cb 3a e1 0d 93  |e(date$) . .:...|
0001e6d0  2a 09 20 20 c9 20 35 0d  93 32 15 20 20 20 20 c8  |*.  . 5..2.    .|
0001e6e0  8e 20 a9 28 64 61 74 65  24 29 20 ca 0d 93 3a 0d  |. .(date$) ...:.|
0001e6f0  20 20 20 20 20 20 c9 20  38 0d 93 42 16 20 20 20  |      . 8..B.   |
0001e700  20 20 20 20 20 73 65 70  66 6c 61 67 25 3d a3 0d  |     sepflag%=..|
0001e710  93 4a 3c 20 20 20 20 20  20 20 20 e7 20 c1 64 61  |.J<        . .da|
0001e720  74 65 24 2c 33 2c 31 29  3d 22 2d 22 20 80 20 c1  |te$,3,1)="-" . .|
0001e730  64 61 74 65 24 2c 36 2c  31 29 3d 22 2d 22 20 8c  |date$,6,1)="-" .|
0001e740  20 73 65 70 66 6c 61 67  25 3d 31 0d 93 52 3c 20  | sepflag%=1..R< |
0001e750  20 20 20 20 20 20 20 e7  20 c1 64 61 74 65 24 2c  |       . .date$,|
0001e760  33 2c 31 29 3d 22 2f 22  20 80 20 c1 64 61 74 65  |3,1)="/" . .date|
0001e770  24 2c 36 2c 31 29 3d 22  2f 22 20 8c 20 73 65 70  |$,6,1)="/" . sep|
0001e780  66 6c 61 67 25 3d 32 0d  93 5a 3c 20 20 20 20 20  |flag%=2..Z<     |
0001e790  20 20 20 e7 20 c1 64 61  74 65 24 2c 33 2c 31 29  |   . .date$,3,1)|
0001e7a0  3d 22 2e 22 20 80 20 c1  64 61 74 65 24 2c 36 2c  |="." . .date$,6,|
0001e7b0  31 29 3d 22 2e 22 20 8c  20 73 65 70 66 6c 61 67  |1)="." . sepflag|
0001e7c0  25 3d 33 0d 93 62 3c 20  20 20 20 20 20 20 20 e7  |%=3..b<        .|
0001e7d0  20 c1 64 61 74 65 24 2c  33 2c 31 29 3d 22 20 22  | .date$,3,1)=" "|
0001e7e0  20 80 20 c1 64 61 74 65  24 2c 36 2c 31 29 3d 22  | . .date$,6,1)="|
0001e7f0  20 22 20 8c 20 73 65 70  66 6c 61 67 25 3d 33 0d  | " . sepflag%=3.|
0001e800  93 6a 3e 20 20 20 20 20  20 20 20 e7 20 73 65 70  |.j>        . sep|
0001e810  66 6c 61 67 25 3d a3 20  8c 20 f2 64 69 73 5f 6d  |flag%=. . .dis_m|
0001e820  65 73 73 61 67 65 28 22  49 6e 76 61 6c 69 64 20  |essage("Invalid |
0001e830  64 61 74 65 20 66 6f 72  6d 61 74 22 29 0d 93 72  |date format")..r|
0001e840  20 20 20 20 20 20 20 20  20 e7 20 73 65 70 66 6c  |         . sepfl|
0001e850  61 67 25 3d a3 20 8c 20  cb 3a cb 3a e1 0d 93 7a  |ag%=. . .:.:...z|
0001e860  31 20 20 20 20 20 20 20  20 64 61 74 65 24 3d c0  |1        date$=.|
0001e870  64 61 74 65 24 2c 32 29  2b c1 64 61 74 65 24 2c  |date$,2)+.date$,|
0001e880  34 2c 32 29 2b c2 64 61  74 65 24 2c 32 29 0d 93  |4,2)+.date$,2)..|
0001e890  82 2d 20 20 20 20 20 20  20 20 e7 20 ac 20 a4 76  |.-        . . .v|
0001e8a0  61 6c 69 64 61 74 65 5f  64 61 74 65 28 64 61 74  |alidate_date(dat|
0001e8b0  65 24 29 20 8c 20 cb 3a  cb 3a e1 0d 93 8a 0d 20  |e$) . .:.:..... |
0001e8c0  20 20 20 20 20 c9 20 36  0d 93 92 16 20 20 20 20  |     . 6....    |
0001e8d0  20 20 20 20 73 65 70 66  6c 61 67 25 3d a3 0d 93  |    sepflag%=...|
0001e8e0  9a 16 20 20 20 20 20 20  20 20 e3 20 63 25 3d 31  |..        . c%=1|
0001e8f0  20 b8 20 36 0d 93 a2 38  20 20 20 20 20 20 20 20  | . 6...8        |
0001e900  e7 20 a7 22 30 31 32 33  34 35 36 37 38 39 22 2c  |. ."0123456789",|
0001e910  c1 64 61 74 65 24 2c 63  25 2c 31 29 29 3d 30 20  |.date$,c%,1))=0 |
0001e920  8c 20 73 65 70 66 6c 61  67 25 3d b9 0d 93 aa 10  |. sepflag%=.....|
0001e930  20 20 20 20 20 20 20 20  ed 20 63 25 0d 93 b2 3e  |        . c%...>|
0001e940  20 20 20 20 20 20 20 20  e7 20 73 65 70 66 6c 61  |        . sepfla|
0001e950  67 25 3d b9 20 8c 20 f2  64 69 73 5f 6d 65 73 73  |g%=. . .dis_mess|
0001e960  61 67 65 28 22 49 6e 76  61 6c 69 64 20 64 61 74  |age("Invalid dat|
0001e970  65 20 66 6f 72 6d 61 74  22 29 0d 93 ba 20 20 20  |e format")...   |
0001e980  20 20 20 20 20 20 e7 20  73 65 70 66 6c 61 67 25  |      . sepflag%|
0001e990  3d b9 20 8c 20 cb 3a cb  3a e1 0d 93 c2 2d 20 20  |=. . .:.:....-  |
0001e9a0  20 20 20 20 20 20 e7 20  ac 20 a4 76 61 6c 69 64  |      . . .valid|
0001e9b0  61 74 65 5f 64 61 74 65  28 64 61 74 65 24 29 20  |ate_date(date$) |
0001e9c0  8c 20 cb 3a cb 3a e1 0d  93 ca 0b 20 20 20 20 20  |. .:.:.....     |
0001e9d0  20 7f 0d 93 d2 35 20 20  20 20 20 20 20 20 f2 64  | ....5        .d|
0001e9e0  69 73 5f 6d 65 73 73 61  67 65 28 22 49 6e 76 61  |is_message("Inva|
0001e9f0  6c 69 64 20 44 61 74 65  20 46 6f 72 6d 61 74 22  |lid Date Format"|
0001ea00  29 3a cb 3a cb 3a e1 0d  93 da 09 20 20 20 20 cb  |):.:.:.....    .|
0001ea10  0d 93 e2 05 cb 0d 93 ea  2f 64 61 74 65 24 3d c3  |......../date$=.|
0001ea20  28 76 64 25 29 3a e7 20  a9 28 64 61 74 65 24 29  |(vd%):. .(date$)|
0001ea30  3d 31 20 8c 20 64 61 74  65 24 3d 22 30 22 2b 64  |=1 . date$="0"+d|
0001ea40  61 74 65 24 0d 93 f2 47  64 61 74 65 24 3d 64 61  |ate$...Gdate$=da|
0001ea50  74 65 24 2b 22 2d 22 2b  c3 28 76 6d 25 29 3a e7  |te$+"-"+.(vm%):.|
0001ea60  20 a9 28 64 61 74 65 24  29 3d 34 20 8c 20 64 61  | .(date$)=4 . da|
0001ea70  74 65 24 3d c0 64 61 74  65 24 2c 33 29 2b 22 30  |te$=.date$,3)+"0|
0001ea80  22 2b c2 64 61 74 65 24  2c 31 29 0d 93 fa 47 64  |"+.date$,1)...Gd|
0001ea90  61 74 65 24 3d 64 61 74  65 24 2b 22 2d 22 2b c3  |ate$=date$+"-"+.|
0001eaa0  28 76 79 25 29 3a e7 20  a9 28 64 61 74 65 24 29  |(vy%):. .(date$)|
0001eab0  3d 37 20 8c 20 64 61 74  65 24 3d c0 64 61 74 65  |=7 . date$=.date|
0001eac0  24 2c 36 29 2b 22 30 22  2b c2 64 61 74 65 24 2c  |$,6)+"0"+.date$,|
0001ead0  31 29 0d 94 02 1d 64 61  74 65 24 3d a4 52 65 6d  |1)....date$=.Rem|
0001eae0  6f 76 65 5f 50 75 6e 63  28 64 61 74 65 24 29 0d  |ove_Punc(date$).|
0001eaf0  94 0a 12 64 25 3d bb 28  c0 6d 65 6d 24 2c 32 29  |...d%=.(.mem$,2)|
0001eb00  29 0d 94 12 1a e7 20 6d  65 6d 5f 64 69 72 5f 64  |)..... mem_dir_d|
0001eb10  65 66 25 28 64 25 29 3d  a3 20 8c 0d 94 1a 6c 20  |ef%(d%)=. ....l |
0001eb20  20 f2 64 69 73 5f 6d 65  73 73 61 67 65 28 22 54  | .dis_message("T|
0001eb30  68 65 20 6d 65 6d 62 65  72 73 68 69 70 20 64 69  |he membership di|
0001eb40  72 65 63 74 6f 72 79 20  66 6f 72 20 74 68 65 20  |rectory for the |
0001eb50  62 6f 72 72 6f 77 65 72  20 6f 66 20 74 68 61 74  |borrower of that|
0001eb60  20 62 6f 6f 6b 20 68 61  73 20 6e 6f 74 20 62 65  | book has not be|
0001eb70  65 6e 20 73 65 65 6e 20  62 79 20 74 68 65 20 66  |en seen by the f|
0001eb80  69 6c 65 72 2e 22 29 0d  94 22 07 20 20 e1 0d 94  |iler.")..".  ...|
0001eb90  2a 05 cd 0d 94 32 14 6c  25 3d bb 28 c1 6d 65 6d  |*....2.l%=.(.mem|
0001eba0  24 2c 33 2c 32 29 29 0d  94 3a 14 73 25 3d bb 28  |$,3,2))..:.s%=.(|
0001ebb0  c1 6d 65 6d 24 2c 35 2c  31 29 29 0d 94 42 14 6e  |.mem$,5,1))..B.n|
0001ebc0  25 3d bb 28 c1 6d 65 6d  24 2c 36 2c 33 29 29 0d  |%=.(.mem$,6,3)).|
0001ebd0  94 4a 34 74 72 79 24 3d  22 3c 4d 65 6d 62 65 72  |.J4try$="<Member|
0001ebe0  22 2b c3 28 64 25 29 2b  22 24 44 69 72 3e 2e 22  |"+.(d%)+"$Dir>."|
0001ebf0  2b bd 28 36 35 2b 6c 25  29 2b 22 2e 22 2b c3 28  |+.(65+l%)+"."+.(|
0001ec00  73 25 29 0d 94 52 11 66  69 6c 6f 25 3d 8e 28 74  |s%)..R.filo%=.(t|
0001ec10  72 79 24 29 0d 94 5a 15  66 69 6c 70 25 3d ae 28  |ry$)..Z.filp%=.(|
0001ec20  74 72 79 24 2b 22 32 22  29 0d 94 62 13 e8 23 66  |try$+"2")..b..#f|
0001ec30  69 6c 6f 25 2c 6e 75 6d  62 65 72 25 0d 94 6a 13  |ilo%,number%..j.|
0001ec40  f1 23 66 69 6c 70 25 2c  6e 75 6d 62 65 72 25 0d  |.#filp%,number%.|
0001ec50  94 72 4e e7 20 6e 25 3e  6e 75 6d 62 65 72 25 20  |.rN. n%>number% |
0001ec60  8c 20 d9 23 66 69 6c 6f  25 3a d9 23 66 69 6c 70  |. .#filo%:.#filp|
0001ec70  25 3a f2 64 69 73 5f 6d  65 73 73 61 67 65 28 22  |%:.dis_message("|
0001ec80  49 6e 76 61 6c 69 64 20  4d 65 6d 62 65 72 73 68  |Invalid Membersh|
0001ec90  69 70 20 4e 75 6d 62 65  72 22 29 3a e1 0d 94 7a  |ip Number"):...z|
0001eca0  15 e3 20 73 63 25 3d 31  20 b8 20 6e 75 6d 62 65  |.. sc%=1 . numbe|
0001ecb0  72 25 0d 94 82 0f e3 20  64 25 3d 31 20 b8 20 31  |r%..... d%=1 . 1|
0001ecc0  31 0d 94 8a 11 e8 23 66  69 6c 6f 25 2c 74 65 6d  |1.....#filo%,tem|
0001ecd0  70 24 0d 94 92 31 e7 20  64 25 3d 31 20 80 20 73  |p$...1. d%=1 . s|
0001ece0  63 25 3d 6e 25 20 8c 20  6f 77 65 64 25 3d bb 28  |c%=n% . owed%=.(|
0001ecf0  c2 74 65 6d 70 24 2c a9  28 74 65 6d 70 24 29 2d  |.temp$,.(temp$)-|
0001ed00  38 29 29 0d 94 9a 11 f1  23 66 69 6c 70 25 2c 74  |8)).....#filp%,t|
0001ed10  65 6d 70 24 0d 94 a2 08  ed 20 64 25 0d 94 aa 11  |emp$..... d%....|
0001ed20  74 65 6d 70 25 3d 9a 23  66 69 6c 6f 25 0d 94 b2  |temp%=.#filo%...|
0001ed30  11 d5 23 66 69 6c 70 25  2c 74 65 6d 70 25 0d 94  |..#filp%,temp%..|
0001ed40  ba 0f 62 6e 25 3d 9a 23  66 69 6c 6f 25 0d 94 c2  |..bn%=.#filo%...|
0001ed50  0f d5 23 66 69 6c 70 25  2c 62 6e 25 0d 94 ca 10  |..#filp%,bn%....|
0001ed60  e3 20 64 25 3d 31 20 b8  20 62 6e 25 0d 94 d2 0e  |. d%=1 . bn%....|
0001ed70  e7 20 73 63 25 3d 6e 25  20 8c 0d 94 da 13 20 20  |. sc%=n% .....  |
0001ed80  e8 23 66 69 6c 6f 25 2c  74 65 6d 70 24 0d 94 e2  |.#filo%,temp$...|
0001ed90  31 20 20 e7 20 c0 74 65  6d 70 24 2c 35 29 3d c0  |1  . .temp$,5)=.|
0001eda0  6e 6f 24 2c 35 29 20 8c  20 74 65 6d 70 24 3d c0  |no$,5) . temp$=.|
0001edb0  74 65 6d 70 24 2c 35 29  2b 64 61 74 65 24 0d 94  |temp$,5)+date$..|
0001edc0  ea 13 20 20 f1 23 66 69  6c 70 25 2c 74 65 6d 70  |..  .#filp%,temp|
0001edd0  24 0d 94 f2 05 cc 0d 94  fa 13 20 20 e8 23 66 69  |$.........  .#fi|
0001ede0  6c 6f 25 2c 74 65 6d 70  24 0d 95 02 13 20 20 f1  |lo%,temp$....  .|
0001edf0  23 66 69 6c 70 25 2c 74  65 6d 70 24 0d 95 0a 05  |#filp%,temp$....|
0001ee00  cd 0d 95 12 08 ed 20 64  25 0d 95 1a 09 ed 20 73  |...... d%..... s|
0001ee10  63 25 0d 95 22 0b d9 23  66 69 6c 6f 25 0d 95 2a  |c%.."..#filo%..*|
0001ee20  0b d9 23 66 69 6c 70 25  0d 95 32 15 ff 28 22 44  |..#filp%..2..("D|
0001ee30  65 6c 65 74 65 20 22 2b  74 72 79 24 29 0d 95 3a  |elete "+try$)..:|
0001ee40  1f ff 28 22 52 65 6e 61  6d 65 20 22 2b 74 72 79  |..("Rename "+try|
0001ee50  24 2b 22 32 20 22 2b 74  72 79 24 29 0d 95 42 12  |$+"2 "+try$)..B.|
0001ee60  63 61 6c 6c 65 64 5f 66  6c 61 67 25 3d a3 0d 95  |called_flag%=...|
0001ee70  4a 12 79 72 32 24 3d c1  74 24 2c 31 34 2c 32 29  |J.yr2$=.t$,14,2)|
0001ee80  0d 95 52 16 e7 20 bb 28  79 72 32 24 29 3e bb 28  |..R.. .(yr2$)>.(|
0001ee90  79 72 24 29 20 8c 0d 95  5a 2e 20 20 f2 6f 76 65  |yr$) ...Z.  .ove|
0001eea0  72 64 75 65 28 79 72 32  24 2c 79 72 24 2c 6d 6f  |rdue(yr2$,yr$,mo|
0001eeb0  6e 32 24 2c 6d 6f 6e 24  2c 64 61 79 32 24 2c 64  |n2$,mon$,day2$,d|
0001eec0  61 79 24 29 0d 95 62 05  cc 0d 95 6a 18 20 20 e7  |ay$)..b....j.  .|
0001eed0  20 bb 28 79 72 32 24 29  3d bb 28 79 72 24 29 20  | .(yr2$)=.(yr$) |
0001eee0  8c 0d 95 72 1c 20 20 20  20 e7 20 bb 28 6d 6f 6e  |...r.    . .(mon|
0001eef0  32 24 29 3e bb 28 6d 6f  6e 24 29 20 8c 0d 95 7a  |2$)>.(mon$) ...z|
0001ef00  32 20 20 20 20 20 20 f2  6f 76 65 72 64 75 65 28  |2      .overdue(|
0001ef10  79 72 32 24 2c 79 72 24  2c 6d 6f 6e 32 24 2c 6d  |yr2$,yr$,mon2$,m|
0001ef20  6f 6e 24 2c 64 61 79 32  24 2c 64 61 79 24 29 0d  |on$,day2$,day$).|
0001ef30  95 82 09 20 20 20 20 cc  0d 95 8a 1e 20 20 20 20  |...    .....    |
0001ef40  20 20 e7 20 bb 28 6d 6f  6e 32 24 29 3d bb 28 6d  |  . .(mon2$)=.(m|
0001ef50  6f 6e 24 29 20 8c 0d 95  92 20 20 20 20 20 20 20  |on$) ....       |
0001ef60  20 20 e7 20 bb 28 64 61  79 32 24 29 3e bb 28 64  |  . .(day2$)>.(d|
0001ef70  61 79 24 29 20 8c 0d 95  9a 36 20 20 20 20 20 20  |ay$) ....6      |
0001ef80  20 20 20 20 f2 6f 76 65  72 64 75 65 28 79 72 32  |    .overdue(yr2|
0001ef90  24 2c 79 72 24 2c 6d 6f  6e 32 24 2c 6d 6f 6e 24  |$,yr$,mon2$,mon$|
0001efa0  2c 64 61 79 32 24 2c 64  61 79 24 29 0d 95 a2 0d  |,day2$,day$)....|
0001efb0  20 20 20 20 20 20 20 20  cd 0d 95 aa 0b 20 20 20  |        .....   |
0001efc0  20 20 20 cd 0d 95 b2 09  20 20 20 20 cd 0d 95 ba  |   .....    ....|
0001efd0  07 20 20 cd 0d 95 c2 05  cd 0d 95 ca 20 e7 20 ac  |.  ......... . .|
0001efe0  20 63 61 6c 6c 65 64 5f  66 6c 61 67 25 20 80 20  | called_flag% . |
0001eff0  6f 77 65 64 25 3e 30 20  8c 0d 95 d2 2e 20 20 f2  |owed%>0 .....  .|
0001f000  6f 76 65 72 64 75 65 28  79 72 32 24 2c 79 72 24  |overdue(yr2$,yr$|
0001f010  2c 6d 6f 6e 32 24 2c 6d  6f 6e 24 2c 64 61 79 32  |,mon2$,mon$,day2|
0001f020  24 2c 64 61 79 24 29 0d  95 da 05 cd 0d 95 e2 20  |$,day$)........ |
0001f030  76 61 72 24 28 70 69 63  6b 25 2c 34 29 3d 64 61  |var$(pick%,4)=da|
0001f040  74 65 24 2b c0 6d 65 6d  24 2c 38 29 0d 95 ea 14  |te$+.mem$,8)....|
0001f050  f2 73 61 76 65 5f 63 61  63 68 65 28 6e 6f 24 29  |.save_cache(no$)|
0001f060  0d 95 f2 18 f2 63 6c 65  61 72 74 65 78 74 28 72  |.....cleartext(r|
0001f070  65 6e 65 77 25 2c 31 29  0d 95 fa 18 f2 63 6c 65  |enew%,1).....cle|
0001f080  61 72 74 65 78 74 28 72  65 6e 65 77 25 2c 38 29  |artext(renew%,8)|
0001f090  0d 96 02 30 c8 99 20 22  57 69 6d 70 5f 53 65 74  |...0.. "Wimp_Set|
0001f0a0  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 72  |CaretPosition",r|
0001f0b0  65 6e 65 77 25 2c 31 2c  30 2c 30 2c 2d 31 2c 30  |enew%,1,0,0,-1,0|
0001f0c0  0d 96 0a 0d e7 20 66 75  6e 63 25 20 8c 0d 96 12  |..... func% ....|
0001f0d0  10 20 20 21 71 25 3d 72  65 6e 65 77 25 0d 96 1a  |.  !q%=renew%...|
0001f0e0  1f 20 20 c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |.  .. "Wimp_Clos|
0001f0f0  65 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 96 22 05  |eWindow",,q%..".|
0001f100  cd 0d 96 2a 0c e7 20 77  5f 61 25 20 8c 0d 96 32  |...*.. w_a% ...2|
0001f110  32 20 20 61 24 3d 22 47  22 2b c3 28 6c 6f 67 67  |2  a$="G"+.(logg|
0001f120  65 64 5f 6f 6e 25 29 2b  22 3b 22 2b 70 61 73 73  |ed_on%)+";"+pass|
0001f130  24 28 6c 6f 67 67 65 64  5f 6f 6e 25 2c 30 29 0d  |$(logged_on%,0).|
0001f140  96 3a 24 20 20 61 24 2b  3d 22 3b 22 2b c0 6e 6f  |.:$  a$+=";"+.no|
0001f150  24 2c 35 29 2b c0 6d 65  6d 24 2c 38 29 2b 64 61  |$,5)+.mem$,8)+da|
0001f160  74 65 24 0d 96 42 17 20  20 f2 61 64 64 5f 77 61  |te$..B.  .add_wa|
0001f170  74 63 68 64 6f 67 28 61  24 29 0d 96 4a 05 cd 0d  |tchdog(a$)..J...|
0001f180  96 52 05 e1 0d 96 5a 04  0d 96 62 12 dd f2 63 68  |.R....Z...b...ch|
0001f190  61 6e 67 65 5f 73 74 6f  63 6b 0d 96 6a 14 f2 63  |ange_stock..j..c|
0001f1a0  68 65 63 6b 5f 62 6f 6f  6b 5f 64 69 72 73 0d 96  |heck_book_dirs..|
0001f1b0  72 13 f2 63 68 65 63 6b  5f 6d 65 6d 5f 64 69 72  |r..check_mem_dir|
0001f1c0  73 0d 96 7a 15 e7 20 62  6f 6f 6b 5f 63 6f 75 6e  |s..z.. book_coun|
0001f1d0  74 25 3d 30 20 8c 0d 96  82 46 20 20 f2 64 69 73  |t%=0 ....F  .dis|
0001f1e0  5f 6d 65 73 73 61 67 65  28 22 4e 6f 20 62 6f 6f  |_message("No boo|
0001f1f0  6b 20 64 69 72 65 63 74  6f 72 69 65 73 20 68 61  |k directories ha|
0001f200  76 65 20 62 65 65 6e 20  73 65 65 6e 20 62 79 20  |ve been seen by |
0001f210  74 68 65 20 66 69 6c 65  72 2e 22 29 0d 96 8a 07  |the filer.")....|
0001f220  20 20 e1 0d 96 92 05 cd  0d 96 9a 20 63 73 6e 6f  |  ......... csno|
0001f230  24 3d a4 67 65 74 74 65  78 74 28 61 63 63 6e 5f  |$=.gettext(accn_|
0001f240  6f 6e 6c 79 25 2c 31 29  0d 96 a2 3f e7 20 a9 28  |only%,1)...?. .(|
0001f250  63 73 6e 6f 24 29 3c 36  20 8c 20 f2 64 69 73 5f  |csno$)<6 . .dis_|
0001f260  6d 65 73 73 61 67 65 28  22 41 63 63 65 73 73 69  |message("Accessi|
0001f270  6f 6e 20 4e 75 6d 62 65  72 20 74 6f 6f 20 73 68  |on Number too sh|
0001f280  6f 72 74 22 29 3a e1 0d  96 aa 4c e7 20 ac 20 a4  |ort"):....L. . .|
0001f290  76 61 6c 69 64 61 74 65  5f 64 69 67 69 74 73 28  |validate_digits(|
0001f2a0  63 73 6e 6f 24 29 20 8c  20 f2 64 69 73 5f 6d 65  |csno$) . .dis_me|
0001f2b0  73 73 61 67 65 28 22 49  6e 76 61 6c 69 64 20 41  |ssage("Invalid A|
0001f2c0  63 63 65 73 73 69 6f 6e  20 4e 75 6d 62 65 72 22  |ccession Number"|
0001f2d0  29 3a e1 0d 96 b2 12 21  71 25 3d 61 63 63 6e 5f  |):.....!q%=accn_|
0001f2e0  6f 6e 6c 79 25 0d 96 ba  1d c8 99 20 22 57 69 6d  |only%...... "Wim|
0001f2f0  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
0001f300  71 25 0d 96 c2 25 e7 20  62 6f 6f 6b 5f 64 69 72  |q%...%. book_dir|
0001f310  5f 64 65 66 25 28 bb 28  c0 63 73 6e 6f 24 2c 31  |_def%(.(.csno$,1|
0001f320  29 29 29 3d a3 20 8c 0d  96 ca 58 20 20 f2 64 69  |)))=. ....X  .di|
0001f330  73 5f 6d 65 73 73 61 67  65 28 22 54 68 65 20 62  |s_message("The b|
0001f340  6f 6f 6b 20 64 69 72 65  63 74 6f 72 79 20 66 6f  |ook directory fo|
0001f350  72 20 74 68 61 74 20 6e  75 6d 62 65 72 20 68 61  |r that number ha|
0001f360  73 20 6e 6f 74 20 62 65  65 6e 20 73 65 65 6e 20  |s not been seen |
0001f370  62 79 20 74 68 65 20 66  69 6c 65 72 2e 22 29 0d  |by the filer.").|
0001f380  96 d2 07 20 20 e1 0d 96  da 05 cd 0d 96 e2 1b f2  |...  ...........|
0001f390  6f 70 65 6e 5f 62 6f 6f  6b 5f 63 61 63 68 65 28  |open_book_cache(|
0001f3a0  63 73 6e 6f 24 29 0d 96  ea 12 63 24 3d c1 63 73  |csno$)....c$=.cs|
0001f3b0  6e 6f 24 2c 34 2c 32 29  0d 96 f2 0f 70 69 63 6b  |no$,4,2)....pick|
0001f3c0  25 3d bb 28 63 24 29 0d  96 fa 2b f2 70 75 74 74  |%=.(c$)...+.putt|
0001f3d0  65 78 74 28 63 68 61 6e  67 65 5f 73 74 6f 63 6b  |ext(change_stock|
0001f3e0  25 2c 32 2c 76 61 72 24  28 70 69 63 6b 25 2c 30  |%,2,var$(pick%,0|
0001f3f0  29 29 0d 97 02 2b f2 70  75 74 74 65 78 74 28 63  |))...+.puttext(c|
0001f400  68 61 6e 67 65 5f 73 74  6f 63 6b 25 2c 34 2c 76  |hange_stock%,4,v|
0001f410  61 72 24 28 70 69 63 6b  25 2c 31 29 29 0d 97 0a  |ar$(pick%,1))...|
0001f420  2b f2 70 75 74 74 65 78  74 28 63 68 61 6e 67 65  |+.puttext(change|
0001f430  5f 73 74 6f 63 6b 25 2c  36 2c 76 61 72 24 28 70  |_stock%,6,var$(p|
0001f440  69 63 6b 25 2c 32 29 29  0d 97 12 2b f2 70 75 74  |ick%,2))...+.put|
0001f450  74 65 78 74 28 63 68 61  6e 67 65 5f 73 74 6f 63  |text(change_stoc|
0001f460  6b 25 2c 39 2c 76 61 72  24 28 70 69 63 6b 25 2c  |k%,9,var$(pick%,|
0001f470  33 29 29 0d 97 1a 15 21  71 25 3d 63 68 61 6e 67  |3))....!q%=chang|
0001f480  65 5f 73 74 6f 63 6b 25  0d 97 22 20 c8 99 20 22  |e_stock%.." .. "|
0001f490  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
0001f4a0  61 74 65 22 2c 2c 71 25  0d 97 2a 0c 71 25 21 32  |ate",,q%..*.q%!2|
0001f4b0  38 3d 2d 31 0d 97 32 1c  c8 99 20 22 57 69 6d 70  |8=-1..2... "Wimp|
0001f4c0  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 71 25  |_OpenWindow",,q%|
0001f4d0  0d 97 3a 23 6c 25 3d a9  28 a4 67 65 74 74 65 78  |..:#l%=.(.gettex|
0001f4e0  74 28 63 68 61 6e 67 65  5f 73 74 6f 63 6b 25 2c  |t(change_stock%,|
0001f4f0  34 29 29 0d 97 42 38 c8  99 20 22 57 69 6d 70 5f  |4))..B8.. "Wimp_|
0001f500  53 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |SetCaretPosition|
0001f510  22 2c 63 68 61 6e 67 65  5f 73 74 6f 63 6b 25 2c  |",change_stock%,|
0001f520  34 2c 30 2c 30 2c 2d 31  2c 6c 25 0d 97 4a 05 e1  |4,0,0,-1,l%..J..|
0001f530  0d 97 52 04 0d 97 5a 15  dd f2 63 68 61 6e 67 65  |..R...Z...change|
0001f540  5f 73 74 6f 63 6b 5f 67  6f 0d 97 62 1b f2 6f 70  |_stock_go..b..op|
0001f550  65 6e 5f 62 6f 6f 6b 5f  63 61 63 68 65 28 63 73  |en_book_cache(cs|
0001f560  6e 6f 24 29 0d 97 6a 12  63 24 3d c1 63 73 6e 6f  |no$)..j.c$=.csno|
0001f570  24 2c 34 2c 32 29 0d 97  72 0f 70 69 63 6b 25 3d  |$,4,2)..r.pick%=|
0001f580  bb 28 63 24 29 0d 97 7a  2b 76 61 72 24 28 70 69  |.(c$)..z+var$(pi|
0001f590  63 6b 25 2c 31 29 3d a4  67 65 74 74 65 78 74 28  |ck%,1)=.gettext(|
0001f5a0  63 68 61 6e 67 65 5f 73  74 6f 63 6b 25 2c 34 29  |change_stock%,4)|
0001f5b0  0d 97 82 2b 76 61 72 24  28 70 69 63 6b 25 2c 32  |...+var$(pick%,2|
0001f5c0  29 3d a4 67 65 74 74 65  78 74 28 63 68 61 6e 67  |)=.gettext(chang|
0001f5d0  65 5f 73 74 6f 63 6b 25  2c 36 29 0d 97 8a 2b 76  |e_stock%,6)...+v|
0001f5e0  61 72 24 28 70 69 63 6b  25 2c 33 29 3d a4 67 65  |ar$(pick%,3)=.ge|
0001f5f0  74 74 65 78 74 28 63 68  61 6e 67 65 5f 73 74 6f  |ttext(change_sto|
0001f600  63 6b 25 2c 39 29 0d 97  92 10 21 71 25 3d 63 6f  |ck%,9)....!q%=co|
0001f610  6e 66 69 72 6d 25 0d 97  9a 20 c8 99 20 22 57 69  |nfirm%... .. "Wi|
0001f620  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
0001f630  65 22 2c 2c 71 25 0d 97  a2 0c 71 25 21 32 38 3d  |e",,q%....q%!28=|
0001f640  2d 31 0d 97 aa 1c c8 99  20 22 57 69 6d 70 5f 4f  |-1...... "Wimp_O|
0001f650  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 71 25 0d 97  |penWindow",,q%..|
0001f660  b2 05 f5 0d 97 ba 1f 20  20 c8 99 20 22 57 69 6d  |.......  .. "Wim|
0001f670  70 5f 50 6f 6c 6c 22 2c  26 30 2c 71 25 20 b8 20  |p_Poll",&0,q% . |
0001f680  41 25 0d 97 c2 31 fd 20  41 25 3d 36 20 80 20 71  |A%...1. A%=6 . q|
0001f690  25 21 31 32 3d 63 6f 6e  66 69 72 6d 25 20 80 20  |%!12=confirm% . |
0001f6a0  28 71 25 21 31 36 3d 33  20 84 20 71 25 21 31 36  |(q%!16=3 . q%!16|
0001f6b0  3d 34 29 0d 97 ca 0e 73  65 6c 25 3d 71 25 21 31  |=4)....sel%=q%!1|
0001f6c0  36 0d 97 d2 10 21 71 25  3d 63 6f 6e 66 69 72 6d  |6....!q%=confirm|
0001f6d0  25 0d 97 da 1d c8 99 20  22 57 69 6d 70 5f 43 6c  |%...... "Wimp_Cl|
0001f6e0  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 71 25 0d 97  |oseWindow",,q%..|
0001f6f0  e2 10 e7 20 73 65 6c 25  3d 34 20 8c 20 e1 0d 97  |... sel%=4 . ...|
0001f700  ea 15 21 71 25 3d 63 68  61 6e 67 65 5f 73 74 6f  |..!q%=change_sto|
0001f710  63 6b 25 0d 97 f2 1d c8  99 20 22 57 69 6d 70 5f  |ck%...... "Wimp_|
0001f720  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 71 25  |CloseWindow",,q%|
0001f730  0d 97 fa 16 f2 73 61 76  65 5f 63 61 63 68 65 28  |.....save_cache(|
0001f740  63 73 6e 6f 24 29 0d 98  02 1c f2 63 6c 65 61 72  |csno$).....clear|
0001f750  74 65 78 74 28 61 63 63  6e 5f 6f 6e 6c 79 25 2c  |text(accn_only%,|
0001f760  31 29 0d 98 0a 0c e7 20  77 5f 61 25 20 8c 0d 98  |1)..... w_a% ...|
0001f770  12 3a 20 20 61 24 3d 22  4a 22 2b c3 28 6c 6f 67  |.:  a$="J"+.(log|
0001f780  67 65 64 5f 6f 6e 25 29  2b 22 3b 22 2b 70 61 73  |ged_on%)+";"+pas|
0001f790  73 24 28 6c 6f 67 67 65  64 5f 6f 6e 25 2c 30 29  |s$(logged_on%,0)|
0001f7a0  2b 22 3b 22 2b 6e 6f 24  0d 98 1a 17 20 20 f2 61  |+";"+no$....  .a|
0001f7b0  64 64 5f 77 61 74 63 68  64 6f 67 28 61 24 29 0d  |dd_watchdog(a$).|
0001f7c0  98 22 05 cd 0d 98 2a 05  e1 0d 98 32 04 0d 98 3a  |."....*....2...:|
0001f7d0  10 dd f2 76 69 65 77 5f  73 74 6f 63 6b 0d 98 42  |...view_stock..B|
0001f7e0  14 f2 63 68 65 63 6b 5f  62 6f 6f 6b 5f 64 69 72  |..check_book_dir|
0001f7f0  73 0d 98 4a 13 f2 63 68  65 63 6b 5f 6d 65 6d 5f  |s..J..check_mem_|
0001f800  64 69 72 73 0d 98 52 15  e7 20 62 6f 6f 6b 5f 63  |dirs..R.. book_c|
0001f810  6f 75 6e 74 25 3d 30 20  8c 0d 98 5a 46 20 20 f2  |ount%=0 ...ZF  .|
0001f820  64 69 73 5f 6d 65 73 73  61 67 65 28 22 4e 6f 20  |dis_message("No |
0001f830  62 6f 6f 6b 20 64 69 72  65 63 74 6f 72 69 65 73  |book directories|
0001f840  20 68 61 76 65 20 62 65  65 6e 20 73 65 65 6e 20  | have been seen |
0001f850  62 79 20 74 68 65 20 66  69 6c 65 72 2e 22 29 0d  |by the filer.").|
0001f860  98 62 07 20 20 e1 0d 98  6a 05 cd 0d 98 72 1e 6e  |.b.  ...j....r.n|
0001f870  6f 24 3d a4 67 65 74 74  65 78 74 28 61 63 63 6e  |o$=.gettext(accn|
0001f880  5f 6f 6e 6c 79 25 2c 31  29 0d 98 7a 3d e7 20 a9  |_only%,1)..z=. .|
0001f890  28 6e 6f 24 29 3c 36 20  8c 20 f2 64 69 73 5f 6d  |(no$)<6 . .dis_m|
0001f8a0  65 73 73 61 67 65 28 22  41 63 63 65 73 73 69 6f  |essage("Accessio|
0001f8b0  6e 20 6e 75 6d 62 65 72  20 74 6f 6f 20 73 68 6f  |n number too sho|
0001f8c0  72 74 22 29 3a e1 0d 98  82 4a e7 20 ac 20 a4 76  |rt"):....J. . .v|
0001f8d0  61 6c 69 64 61 74 65 5f  64 69 67 69 74 73 28 6e  |alidate_digits(n|
0001f8e0  6f 24 29 20 8c 20 f2 64  69 73 5f 6d 65 73 73 61  |o$) . .dis_messa|
0001f8f0  67 65 28 22 49 6e 76 61  6c 69 64 20 61 63 63 65  |ge("Invalid acce|
0001f900  73 73 69 6f 6e 20 6e 75  6d 62 65 72 22 29 3a e1  |ssion number"):.|
0001f910  0d 98 8a 23 e7 20 62 6f  6f 6b 5f 64 69 72 5f 64  |...#. book_dir_d|
0001f920  65 66 25 28 bb 28 c0 6e  6f 24 2c 31 29 29 29 3d  |ef%(.(.no$,1)))=|
0001f930  a3 20 8c 0d 98 92 58 20  20 f2 64 69 73 5f 6d 65  |. ....X  .dis_me|
0001f940  73 73 61 67 65 28 22 54  68 65 20 62 6f 6f 6b 20  |ssage("The book |
0001f950  64 69 72 65 63 74 6f 72  79 20 66 6f 72 20 74 68  |directory for th|
0001f960  61 74 20 6e 75 6d 62 65  72 20 68 61 73 20 6e 6f  |at number has no|
0001f970  74 20 62 65 65 6e 20 73  65 65 6e 20 62 79 20 74  |t been seen by t|
0001f980  68 65 20 66 69 6c 65 72  2e 22 29 0d 98 9a 07 20  |he filer.").... |
0001f990  20 e1 0d 98 a2 05 cd 0d  98 aa 19 f2 6f 70 65 6e  | ...........open|
0001f9a0  5f 62 6f 6f 6b 5f 63 61  63 68 65 28 6e 6f 24 29  |_book_cache(no$)|
0001f9b0  0d 98 b2 10 63 24 3d c1  6e 6f 24 2c 34 2c 32 29  |....c$=.no$,4,2)|
0001f9c0  0d 98 ba 0f 70 69 63 6b  25 3d bb 28 63 24 29 0d  |....pick%=.(c$).|
0001f9d0  98 c2 29 f2 70 75 74 74  65 78 74 28 76 69 65 77  |..).puttext(view|
0001f9e0  5f 73 74 6f 63 6b 25 2c  32 2c 76 61 72 24 28 70  |_stock%,2,var$(p|
0001f9f0  69 63 6b 25 2c 30 29 29  0d 98 ca 29 f2 70 75 74  |ick%,0))...).put|
0001fa00  74 65 78 74 28 76 69 65  77 5f 73 74 6f 63 6b 25  |text(view_stock%|
0001fa10  2c 34 2c 76 61 72 24 28  70 69 63 6b 25 2c 31 29  |,4,var$(pick%,1)|
0001fa20  29 0d 98 d2 29 f2 70 75  74 74 65 78 74 28 76 69  |)...).puttext(vi|
0001fa30  65 77 5f 73 74 6f 63 6b  25 2c 36 2c 76 61 72 24  |ew_stock%,6,var$|
0001fa40  28 70 69 63 6b 25 2c 32  29 29 0d 98 da 29 f2 70  |(pick%,2))...).p|
0001fa50  75 74 74 65 78 74 28 76  69 65 77 5f 73 74 6f 63  |uttext(view_stoc|
0001fa60  6b 25 2c 39 2c 76 61 72  24 28 70 69 63 6b 25 2c  |k%,9,var$(pick%,|
0001fa70  33 29 29 0d 98 e2 17 73  74 61 74 24 3d 76 61 72  |3))....stat$=var|
0001fa80  24 28 70 69 63 6b 25 2c  34 29 0d 98 ea 1b e7 20  |$(pick%,4)..... |
0001fa90  73 74 61 74 24 3c 3e 22  49 4e 20 4c 49 42 52 41  |stat$<>"IN LIBRA|
0001faa0  52 59 22 20 8c 0d 98 f2  3c 20 20 74 65 6d 70 24  |RY" ....<  temp$|
0001fab0  3d 22 44 75 65 20 22 2b  c0 73 74 61 74 24 2c 32  |="Due "+.stat$,2|
0001fac0  29 2b 22 2d 22 2b c1 73  74 61 74 24 2c 33 2c 32  |)+"-"+.stat$,3,2|
0001fad0  29 2b 22 2d 22 2b c1 73  74 61 74 24 2c 35 2c 32  |)+"-"+.stat$,5,2|
0001fae0  29 0d 98 fa 35 20 20 74  65 6d 70 24 2b 3d 22 20  |)...5  temp$+=" |
0001faf0  20 4d 65 6d 62 65 72 20  22 2b a4 43 68 65 63 6b  | Member "+.Check|
0001fb00  5f 44 69 67 69 74 5f 50  6c 75 73 28 c2 73 74 61  |_Digit_Plus(.sta|
0001fb10  74 24 2c 38 29 29 0d 99  02 11 20 20 73 74 61 74  |t$,8))....  stat|
0001fb20  24 3d 74 65 6d 70 24 0d  99 0a 05 cd 0d 99 12 22  |$=temp$........"|
0001fb30  f2 70 75 74 74 65 78 74  28 76 69 65 77 5f 73 74  |.puttext(view_st|
0001fb40  6f 63 6b 25 2c 31 32 2c  73 74 61 74 24 29 0d 99  |ock%,12,stat$)..|
0001fb50  1a 20 f2 70 75 74 74 65  78 74 28 76 69 65 77 5f  |. .puttext(view_|
0001fb60  73 74 6f 63 6b 25 2c 31  33 2c 6e 6f 24 29 0d 99  |stock%,13,no$)..|
0001fb70  22 1c f2 63 6c 65 61 72  74 65 78 74 28 61 63 63  |"..cleartext(acc|
0001fb80  6e 5f 6f 6e 6c 79 25 2c  31 29 0d 99 2a 13 21 71  |n_only%,1)..*.!q|
0001fb90  25 3d 76 69 65 77 5f 73  74 6f 63 6b 25 0d 99 32  |%=view_stock%..2|
0001fba0  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
0001fbb0  64 6f 77 53 74 61 74 65  22 2c 2c 71 25 0d 99 3a  |dowState",,q%..:|
0001fbc0  0c 71 25 21 32 38 3d 2d  31 0d 99 42 1c c8 99 20  |.q%!28=-1..B... |
0001fbd0  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
0001fbe0  22 2c 2c 71 25 0d 99 4a  12 21 71 25 3d 61 63 63  |",,q%..J.!q%=acc|
0001fbf0  6e 5f 6f 6e 6c 79 25 0d  99 52 1d c8 99 20 22 57  |n_only%..R... "W|
0001fc00  69 6d 70 5f 43 6c 6f 73  65 57 69 6e 64 6f 77 22  |imp_CloseWindow"|
0001fc10  2c 2c 71 25 0d 99 5a 0c  e7 20 77 5f 61 25 20 8c  |,,q%..Z.. w_a% .|
0001fc20  0d 99 62 3a 20 20 61 24  3d 22 4b 22 2b c3 28 6c  |..b:  a$="K"+.(l|
0001fc30  6f 67 67 65 64 5f 6f 6e  25 29 2b 22 3b 22 2b 70  |ogged_on%)+";"+p|
0001fc40  61 73 73 24 28 6c 6f 67  67 65 64 5f 6f 6e 25 2c  |ass$(logged_on%,|
0001fc50  30 29 2b 22 3b 22 2b 6e  6f 24 0d 99 6a 17 20 20  |0)+";"+no$..j.  |
0001fc60  f2 61 64 64 5f 77 61 74  63 68 64 6f 67 28 61 24  |.add_watchdog(a$|
0001fc70  29 0d 99 72 05 cd 0d 99  7a 05 e1 0d 99 82 04 0d  |)..r....z.......|
0001fc80  99 8a 0f dd f2 64 69 73  5f 66 69 6e 65 73 0d 99  |.....dis_fines..|
0001fc90  92 2a f2 70 75 74 74 65  78 74 28 6f 70 74 5f 66  |.*.puttext(opt_f|
0001fca0  69 6e 65 73 25 2c 31 2c  c3 28 66 69 6e 65 5f 63  |ines%,1,.(fine_c|
0001fcb0  68 61 72 67 65 25 29 29  0d 99 9a 0e e3 20 63 25  |harge%))..... c%|
0001fcc0  3d 30 20 b8 20 39 0d 99  a2 23 63 6f 6d 70 25 3d  |=0 . 9...#comp%=|
0001fcd0  a4 49 63 6f 6e 47 65 74  28 6f 70 74 5f 66 69 6e  |.IconGet(opt_fin|
0001fce0  65 73 25 2c 34 2b 63 25  29 0d 99 aa 21 e7 20 28  |es%,4+c%)...!. (|
0001fcf0  28 64 70 78 25 20 80 20  28 31 3c 3c 63 25 29 29  |(dpx% . (1<<c%))|
0001fd00  3e 3e 3e 63 25 29 3d 31  20 8c 0d 99 b2 29 20 20  |>>>c%)=1 ....)  |
0001fd10  e7 20 63 6f 6d 70 25 3d  30 20 8c 20 f2 78 6f 72  |. comp%=0 . .xor|
0001fd20  28 6f 70 74 5f 66 69 6e  65 73 25 2c 34 2b 63 25  |(opt_fines%,4+c%|
0001fd30  2c 31 29 0d 99 ba 05 cc  0d 99 c2 29 20 20 e7 20  |,1)........)  . |
0001fd40  63 6f 6d 70 25 3d 31 20  8c 20 f2 78 6f 72 28 6f  |comp%=1 . .xor(o|
0001fd50  70 74 5f 66 69 6e 65 73  25 2c 34 2b 63 25 2c 31  |pt_fines%,4+c%,1|
0001fd60  29 0d 99 ca 05 cd 0d 99  d2 08 ed 20 63 25 0d 99  |).......... c%..|
0001fd70  da 0f e3 20 63 25 3d 30  20 b8 20 31 31 0d 99 e2  |... c%=0 . 11...|
0001fd80  10 e7 20 63 25 3e 3d 64  78 70 25 20 8c 0d 99 ea  |.. c%>=dxp% ....|
0001fd90  22 20 20 f2 63 6c 65 61  72 74 65 78 74 28 6f 70  |"  .cleartext(op|
0001fda0  74 5f 66 69 6e 65 73 25  2c 32 35 2b 63 25 29 0d  |t_fines%,25+c%).|
0001fdb0  99 f2 05 cc 0d 99 fa 29  20 20 f2 70 75 74 74 65  |.......)  .putte|
0001fdc0  78 74 28 6f 70 74 5f 66  69 6e 65 73 25 2c 32 35  |xt(opt_fines%,25|
0001fdd0  2b 63 25 2c 64 65 78 24  28 63 25 29 29 0d 9a 02  |+c%,dex$(c%))...|
0001fde0  05 cd 0d 9a 0a 08 ed 20  63 25 0d 9a 12 05 e1 0d  |....... c%......|
0001fdf0  9a 1a 04 0d 9a 22 10 dd  f2 73 61 76 65 5f 66 69  |....."...save_fi|
0001fe00  6e 65 73 0d 9a 2a 2a 66  69 6e 65 5f 63 68 61 72  |nes..**fine_char|
0001fe10  67 65 25 3d bb 28 a4 67  65 74 74 65 78 74 28 6f  |ge%=.(.gettext(o|
0001fe20  70 74 5f 66 69 6e 65 73  25 2c 31 29 29 0d 9a 32  |pt_fines%,1))..2|
0001fe30  0a 64 70 78 25 3d 30 0d  9a 3a 0e e3 20 63 25 3d  |.dpx%=0..:.. c%=|
0001fe40  30 20 b8 20 39 0d 9a 42  39 64 70 78 25 3d 64 70  |0 . 9..B9dpx%=dp|
0001fe50  78 25 20 84 20 28 28 31  3c 3c 63 25 29 20 80 20  |x% . ((1<<c%) . |
0001fe60  28 a4 49 63 6f 6e 47 65  74 28 6f 70 74 5f 66 69  |(.IconGet(opt_fi|
0001fe70  6e 65 73 25 2c 34 2b 63  25 29 3d 31 29 29 0d 9a  |nes%,4+c%)=1))..|
0001fe80  4a 08 ed 20 63 25 0d 9a  52 0a 64 78 70 25 3d 30  |J.. c%..R.dxp%=0|
0001fe90  0d 9a 5a 10 e3 20 63 25  3d 32 35 20 b8 20 33 36  |..Z.. c%=25 . 36|
0001fea0  0d 9a 62 21 74 65 6d 70  24 3d a4 67 65 74 74 65  |..b!temp$=.gette|
0001feb0  78 74 28 6f 70 74 5f 66  69 6e 65 73 25 2c 63 25  |xt(opt_fines%,c%|
0001fec0  29 0d 9a 6a 11 e7 20 74  65 6d 70 24 3c 3e 22 22  |)..j.. temp$<>""|
0001fed0  20 8c 0d 9a 72 21 20 20  e7 20 ac 20 a4 76 61 6c  | ...r!  . . .val|
0001fee0  69 64 61 74 65 5f 64 61  74 65 28 74 65 6d 70 24  |idate_date(temp$|
0001fef0  29 20 8c 0d 9a 7a 10 20  20 20 20 74 65 6d 70 24  |) ...z.    temp$|
0001ff00  3d 22 22 0d 9a 82 21 20  20 20 20 f2 63 6c 65 61  |=""...!    .clea|
0001ff10  72 74 65 78 74 28 6f 70  74 5f 66 69 6e 65 73 25  |rtext(opt_fines%|
0001ff20  2c 63 25 29 0d 9a 8a 07  20 20 cd 0d 9a 92 05 cd  |,c%)....  ......|
0001ff30  0d 9a 9a 2a e7 20 74 65  6d 70 24 3c 3e 22 22 20  |...*. temp$<>"" |
0001ff40  8c 20 64 65 78 24 28 64  78 70 25 29 3d 74 65 6d  |. dex$(dxp%)=tem|
0001ff50  70 24 3a 64 78 70 25 2b  3d 31 0d 9a a2 08 ed 20  |p$:dxp%+=1..... |
0001ff60  63 25 0d 9a aa 2d 66 69  6c 6f 25 3d ae 28 22 3c  |c%...-filo%=.("<|
0001ff70  4c 69 62 72 61 72 79 24  44 69 72 3e 2e 50 72 65  |Library$Dir>.Pre|
0001ff80  66 65 72 65 6e 63 65 2e  46 69 6e 65 73 22 29 0d  |ference.Fines").|
0001ff90  9a b2 18 f1 23 66 69 6c  6f 25 2c 66 69 6e 65 5f  |....#filo%,fine_|
0001ffa0  63 68 61 72 67 65 25 0d  9a ba 10 f1 23 66 69 6c  |charge%.....#fil|
0001ffb0  6f 25 2c 64 70 78 25 0d  9a c2 10 d5 23 66 69 6c  |o%,dpx%.....#fil|
0001ffc0  6f 25 2c 64 78 70 25 0d  9a ca 13 e3 20 63 25 3d  |o%,dxp%..... c%=|
0001ffd0  30 20 b8 20 64 78 70 25  2d 31 0d 9a d2 14 f1 23  |0 . dxp%-1.....#|
0001ffe0  66 69 6c 6f 25 2c 64 65  78 24 28 63 25 29 0d 9a  |filo%,dex$(c%)..|
0001fff0  da 08 ed 20 63 25 0d 9a  e2 0b d9 23 66 69 6c 6f  |... c%.....#filo|
00020000  25 0d 9a ea 12 21 71 25  3d 6f 70 74 5f 66 69 6e  |%....!q%=opt_fin|
00020010  65 73 25 0d 9a f2 1d c8  99 20 22 57 69 6d 70 5f  |es%...... "Wimp_|
00020020  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 71 25  |CloseWindow",,q%|
00020030  0d 9a fa 0c e7 20 77 5f  61 25 20 8c 0d 9b 02 32  |..... w_a% ....2|
00020040  20 20 61 24 3d 22 53 22  2b c3 28 6c 6f 67 67 65  |  a$="S"+.(logge|
00020050  64 5f 6f 6e 25 29 2b 22  3b 22 2b 70 61 73 73 24  |d_on%)+";"+pass$|
00020060  28 6c 6f 67 67 65 64 5f  6f 6e 25 2c 30 29 0d 9b  |(logged_on%,0)..|
00020070  0a 17 20 20 f2 61 64 64  5f 77 61 74 63 68 64 6f  |..  .add_watchdo|
00020080  67 28 61 24 29 0d 9b 12  05 cd 0d 9b 1a 05 e1 0d  |g(a$)...........|
00020090  9b 22 04 0d 9b 2a 13 dd  f2 72 65 6d 6f 76 65 5f  |."...*...remove_|
000200a0  6d 65 6d 62 65 72 0d 9b  32 13 f2 63 68 65 63 6b  |member..2..check|
000200b0  5f 6d 65 6d 5f 64 69 72  73 0d 9b 3a 14 f2 63 68  |_mem_dirs..:..ch|
000200c0  65 63 6b 5f 62 6f 6f 6b  5f 64 69 72 73 0d 9b 42  |eck_book_dirs..B|
000200d0  14 e7 20 6d 65 6d 5f 63  6f 75 6e 74 25 3d 30 20  |.. mem_count%=0 |
000200e0  8c 0d 9b 4a 48 20 20 f2  64 69 73 5f 6d 65 73 73  |...JH  .dis_mess|
000200f0  61 67 65 28 22 4e 6f 20  6d 65 6d 62 65 72 20 64  |age("No member d|
00020100  69 72 65 63 74 6f 72 69  65 73 20 68 61 76 65 20  |irectories have |
00020110  62 65 65 6e 20 73 65 65  6e 20 62 79 20 74 68 65  |been seen by the|
00020120  20 66 69 6c 65 72 2e 22  29 0d 9b 52 07 20 20 e1  | filer.")..R.  .|
00020130  0d 9b 5a 05 cd 0d 9b 62  12 21 71 25 3d 63 68 61  |..Z....b.!q%=cha|
00020140  6e 67 65 6d 65 6d 25 0d  9b 6a 1d c8 99 20 22 57  |ngemem%..j... "W|
00020150  69 6d 70 5f 43 6c 6f 73  65 57 69 6e 64 6f 77 22  |imp_CloseWindow"|
00020160  2c 2c 71 25 0d 9b 72 10  21 71 25 3d 76 69 65 77  |,,q%..r.!q%=view|
00020170  6d 65 6d 25 0d 9b 7a 1d  c8 99 20 22 57 69 6d 70  |mem%..z... "Wimp|
00020180  5f 43 6c 6f 73 65 57 69  6e 64 6f 77 22 2c 2c 71  |_CloseWindow",,q|
00020190  25 0d 9b 82 20 72 63 5f  6e 6f 24 3d a4 67 65 74  |%... rc_no$=.get|
000201a0  74 65 78 74 28 6d 65 6d  5f 6f 6e 6c 79 25 2c 31  |text(mem_only%,1|
000201b0  29 0d 9b 8a 3f e7 20 a9  28 72 63 5f 6e 6f 24 29  |)...?. .(rc_no$)|
000201c0  3c 3e 39 20 8c 20 f2 64  69 73 5f 6d 65 73 73 61  |<>9 . .dis_messa|
000201d0  67 65 28 22 49 6e 76 61  6c 69 64 20 6d 65 6d 62  |ge("Invalid memb|
000201e0  65 72 73 68 69 70 20 65  72 72 6f 72 22 29 3a e1  |ership error"):.|
000201f0  0d 9b 92 46 e7 20 ac 20  a4 76 61 6c 69 64 61 74  |...F. . .validat|
00020200  65 5f 64 69 67 69 74 73  28 72 63 5f 6e 6f 24 29  |e_digits(rc_no$)|
00020210  20 8c 20 f2 64 69 73 5f  6d 65 73 73 61 67 65 28  | . .dis_message(|
00020220  22 43 68 65 63 6b 20 64  69 67 69 74 20 65 72 72  |"Check digit err|
00020230  6f 72 22 29 3a e1 0d 9b  9a 11 21 71 25 3d 6d 65  |or"):.....!q%=me|
00020240  6d 5f 6f 6e 6c 79 25 0d  9b a2 1d c8 99 20 22 57  |m_only%...... "W|
00020250  69 6d 70 5f 43 6c 6f 73  65 57 69 6e 64 6f 77 22  |imp_CloseWindow"|
00020260  2c 2c 71 25 0d 9b aa 14  64 25 3d bb 28 c0 72 63  |,,q%....d%=.(.rc|
00020270  5f 6e 6f 24 2c 32 29 29  0d 9b b2 1a e7 20 6d 65  |_no$,2))..... me|
00020280  6d 5f 64 69 72 5f 64 65  66 25 28 64 25 29 3d a3  |m_dir_def%(d%)=.|
00020290  20 8c 0d 9b ba 5a 20 20  f2 64 69 73 5f 6d 65 73  | ....Z  .dis_mes|
000202a0  73 61 67 65 28 22 54 68  65 20 6d 65 6d 62 65 72  |sage("The member|
000202b0  20 64 69 72 65 63 74 6f  72 79 20 66 6f 72 20 74  | directory for t|
000202c0  68 61 74 20 6e 75 6d 62  65 72 20 68 61 73 20 6e  |hat number has n|
000202d0  6f 74 20 62 65 65 6e 20  73 65 65 6e 20 62 79 20  |ot been seen by |
000202e0  74 68 65 20 66 69 6c 65  72 2e 22 29 0d 9b c2 07  |the filer.")....|
000202f0  20 20 e1 0d 9b ca 05 cd  0d 9b d2 16 6c 25 3d bb  |  ..........l%=.|
00020300  28 c1 72 63 5f 6e 6f 24  2c 33 2c 32 29 29 0d 9b  |(.rc_no$,3,2))..|
00020310  da 16 73 25 3d bb 28 c1  72 63 5f 6e 6f 24 2c 35  |..s%=.(.rc_no$,5|
00020320  2c 31 29 29 0d 9b e2 16  6e 25 3d bb 28 c1 72 63  |,1))....n%=.(.rc|
00020330  5f 6e 6f 24 2c 36 2c 33  29 29 0d 9b ea 34 74 72  |_no$,6,3))...4tr|
00020340  79 24 3d 22 3c 4d 65 6d  62 65 72 22 2b c3 28 64  |y$="<Member"+.(d|
00020350  25 29 2b 22 24 44 69 72  3e 2e 22 2b bd 28 36 35  |%)+"$Dir>."+.(65|
00020360  2b 6c 25 29 2b 22 2e 22  2b c3 28 73 25 29 0d 9b  |+l%)+"."+.(s%)..|
00020370  f2 11 66 69 6c 6f 25 3d  8e 28 74 72 79 24 29 0d  |..filo%=.(try$).|
00020380  9b fa 0f e8 23 66 69 6c  6f 25 2c 74 6e 25 0d 9c  |....#filo%,tn%..|
00020390  02 3e e7 20 74 6e 25 3c  6e 25 20 84 20 6e 25 3d  |.>. tn%<n% . n%=|
000203a0  30 20 8c 20 d9 23 66 69  6c 6f 25 3a f2 64 69 73  |0 . .#filo%:.dis|
000203b0  5f 6d 65 73 73 61 67 65  28 22 49 6e 76 61 6c 69  |_message("Invali|
000203c0  64 20 6e 75 6d 62 65 72  22 29 3a e1 0d 9c 0a 0c  |d number"):.....|
000203d0  e7 20 6e 25 3e 31 20 8c  0d 9c 12 13 20 20 e3 20  |. n%>1 .....  . |
000203e0  63 25 3d 31 20 b8 20 6e  25 2d 31 0d 9c 1a 11 20  |c%=1 . n%-1.... |
000203f0  20 e3 20 64 25 3d 31 20  b8 20 31 31 0d 9c 22 13  | . d%=1 . 11..".|
00020400  20 20 e8 23 66 69 6c 6f  25 2c 74 65 6d 70 24 0d  |  .#filo%,temp$.|
00020410  9c 2a 0a 20 20 ed 20 64  25 0d 9c 32 13 20 20 6e  |.*.  . d%..2.  n|
00020420  75 6c 6c 25 3d 9a 23 66  69 6c 6f 25 0d 9c 3a 13  |ull%=.#filo%..:.|
00020430  20 20 74 65 62 6e 25 3d  9a 23 66 69 6c 6f 25 0d  |  tebn%=.#filo%.|
00020440  9c 42 11 20 20 e7 20 74  65 62 6e 25 3e 30 20 8c  |.B.  . tebn%>0 .|
00020450  0d 9c 4a 16 20 20 20 20  e3 20 64 25 3d 31 20 b8  |..J.    . d%=1 .|
00020460  20 74 65 62 6e 25 0d 9c  52 15 20 20 20 20 e8 23  | tebn%..R.    .#|
00020470  66 69 6c 6f 25 2c 74 65  6d 70 24 0d 9c 5a 0c 20  |filo%,temp$..Z. |
00020480  20 20 20 ed 20 64 25 0d  9c 62 07 20 20 cd 0d 9c  |   . d%..b.  ...|
00020490  6a 0a 20 20 ed 20 63 25  0d 9c 72 05 cd 0d 9c 7a  |j.  . c%..r....z|
000204a0  12 e8 23 66 69 6c 6f 25  2c 6d 65 6d 6e 6f 24 0d  |..#filo%,memno$.|
000204b0  9c 82 12 e8 23 66 69 6c  6f 25 2c 74 69 74 6c 65  |....#filo%,title|
000204c0  24 0d 9c 8a 11 e8 23 66  69 6c 6f 25 2c 73 75 72  |$.....#filo%,sur|
000204d0  6e 24 0d 9c 92 0f e8 23  66 69 6c 6f 25 2c 6f 6e  |n$.....#filo%,on|
000204e0  24 0d 9c 9a 0e e3 20 63  25 3d 30 20 b8 20 35 0d  |$..... c%=0 . 5.|
000204f0  9c a2 18 e8 23 66 69 6c  6f 25 2c 61 64 64 72 65  |....#filo%,addre|
00020500  73 73 24 28 63 25 29 0d  9c aa 08 ed 20 63 25 0d  |ss$(c%)..... c%.|
00020510  9c b2 12 e8 23 66 69 6c  6f 25 2c 73 74 61 74 65  |....#filo%,state|
00020520  24 0d 9c ba 0f 74 74 25  3d 9a 23 66 69 6c 6f 25  |$....tt%=.#filo%|
00020530  0d 9c c2 1e f2 70 75 74  74 65 78 74 28 72 65 6d  |.....puttext(rem|
00020540  6d 65 6d 25 2c 35 2c 74  69 74 6c 65 24 29 0d 9c  |mem%,5,title$)..|
00020550  ca 1d f2 70 75 74 74 65  78 74 28 72 65 6d 6d 65  |...puttext(remme|
00020560  6d 25 2c 36 2c 73 75 72  6e 24 29 0d 9c d2 1b f2  |m%,6,surn$).....|
00020570  70 75 74 74 65 78 74 28  72 65 6d 6d 65 6d 25 2c  |puttext(remmem%,|
00020580  37 2c 6f 6e 24 29 0d 9c  da 0e e3 20 63 25 3d 30  |7,on$)..... c%=0|
00020590  20 b8 20 35 0d 9c e2 27  f2 70 75 74 74 65 78 74  | . 5...'.puttext|
000205a0  28 72 65 6d 6d 65 6d 25  2c 38 2b 63 25 2c 61 64  |(remmem%,8+c%,ad|
000205b0  64 72 65 73 73 24 28 63  25 29 29 0d 9c ea 08 ed  |dress$(c%)).....|
000205c0  20 63 25 0d 9c f2 1f f2  70 75 74 74 65 78 74 28  | c%.....puttext(|
000205d0  72 65 6d 6d 65 6d 25 2c  31 34 2c 73 74 61 74 65  |remmem%,14,state|
000205e0  24 29 0d 9c fa 0c c8 8e  20 74 74 25 20 ca 0d 9d  |$)...... tt% ...|
000205f0  02 27 20 20 c9 20 30 3a  20 f2 70 75 74 74 65 78  |.'  . 0: .puttex|
00020600  74 28 72 65 6d 6d 65 6d  25 2c 31 35 2c 22 41 64  |t(remmem%,15,"Ad|
00020610  75 6c 74 22 29 0d 9d 0a  28 20 20 c9 20 31 3a 20  |ult")...(  . 1: |
00020620  f2 70 75 74 74 65 78 74  28 72 65 6d 6d 65 6d 25  |.puttext(remmem%|
00020630  2c 31 35 2c 22 4a 75 6e  69 6f 72 22 29 0d 9d 12  |,15,"Junior")...|
00020640  27 20 20 c9 20 32 3a 20  f2 70 75 74 74 65 78 74  |'  . 2: .puttext|
00020650  28 72 65 6d 6d 65 6d 25  2c 31 35 2c 22 53 74 61  |(remmem%,15,"Sta|
00020660  66 66 22 29 0d 9d 1a 05  cb 0d 9d 22 10 76 62 6e  |ff").......".vbn|
00020670  25 3d 9a 23 66 69 6c 6f  25 0d 9d 2a 0e e7 20 76  |%=.#filo%..*.. v|
00020680  62 6e 25 3e 30 20 8c 0d  9d 32 13 20 20 e3 20 63  |bn%>0 ...2.  . c|
00020690  25 3d 31 20 b8 20 76 62  6e 25 0d 9d 3a 1a 20 20  |%=1 . vbn%..:.  |
000206a0  e8 23 66 69 6c 6f 25 2c  76 6d 5f 64 74 24 28 63  |.#filo%,vm_dt$(c|
000206b0  25 2c 30 29 0d 9d 42 2c  20 20 e7 20 62 6f 6f 6b  |%,0)..B,  . book|
000206c0  5f 64 69 72 5f 64 65 66  25 28 bb 28 c0 76 6d 5f  |_dir_def%(.(.vm_|
000206d0  64 74 24 28 63 25 2c 30  29 29 29 29 3d a3 20 8c  |dt$(c%,0))))=. .|
000206e0  0d 9d 4a 2c 20 20 20 20  6e 78 74 24 3d a4 43 68  |..J,    nxt$=.Ch|
000206f0  65 63 6b 5f 44 69 67 69  74 5f 50 6c 75 73 28 76  |eck_Digit_Plus(v|
00020700  6d 5f 64 74 24 28 63 25  2c 30 29 29 0d 9d 52 60  |m_dt$(c%,0))..R`|
00020710  20 20 20 20 f2 64 69 73  5f 6d 65 73 73 61 67 65  |    .dis_message|
00020720  28 22 54 68 65 20 62 6f  6f 6b 20 64 69 72 65 63  |("The book direc|
00020730  74 6f 72 79 20 66 6f 72  20 74 68 65 20 62 6f 6f  |tory for the boo|
00020740  6b 20 22 2b 6e 78 74 24  2b 22 20 68 61 73 20 6e  |k "+nxt$+" has n|
00020750  6f 74 20 62 65 65 6e 20  73 65 65 6e 20 62 79 20  |ot been seen by |
00020760  74 68 65 20 66 69 6c 65  72 2e 22 29 0d 9d 5a 34  |the filer.")..Z4|
00020770  20 20 20 20 76 6d 5f 64  74 24 28 63 25 2c 31 29  |    vm_dt$(c%,1)|
00020780  3d 22 2a 2a 2a 20 20 44  69 72 65 63 74 6f 72 79  |="***  Directory|
00020790  20 6e 6f 74 20 66 6f 75  6e 64 20 20 2a 2a 2a 22  | not found  ***"|
000207a0  0d 9d 62 34 20 20 20 20  76 6d 5f 64 74 24 28 63  |..b4    vm_dt$(c|
000207b0  25 2c 32 29 3d 22 2a 2a  2a 20 20 44 69 72 65 63  |%,2)="***  Direc|
000207c0  74 6f 72 79 20 6e 6f 74  20 66 6f 75 6e 64 20 20  |tory not found  |
000207d0  2a 2a 2a 22 0d 9d 6a 34  20 20 20 20 76 6d 5f 64  |***"..j4    vm_d|
000207e0  74 24 28 63 25 2c 33 29  3d 22 2a 2a 2a 20 20 44  |t$(c%,3)="***  D|
000207f0  69 72 65 63 74 6f 72 79  20 6e 6f 74 20 66 6f 75  |irectory not fou|
00020800  6e 64 20 20 2a 2a 2a 22  0d 9d 72 34 20 20 20 20  |nd  ***"..r4    |
00020810  76 6d 5f 64 74 24 28 63  25 2c 34 29 3d 22 2a 2a  |vm_dt$(c%,4)="**|
00020820  2a 20 20 44 69 72 65 63  74 6f 72 79 20 6e 6f 74  |*  Directory not|
00020830  20 66 6f 75 6e 64 20 20  2a 2a 2a 22 0d 9d 7a 07  | found  ***"..z.|
00020840  20 20 cc 0d 9d 82 26 20  20 20 20 f2 6f 70 65 6e  |  ....&    .open|
00020850  5f 62 6f 6f 6b 5f 63 61  63 68 65 28 76 6d 5f 64  |_book_cache(vm_d|
00020860  74 24 28 63 25 2c 30 29  29 0d 9d 8a 1d 20 20 20  |t$(c%,0))....   |
00020870  20 63 24 3d c1 76 6d 5f  64 74 24 28 63 25 2c 30  | c$=.vm_dt$(c%,0|
00020880  29 2c 34 2c 32 29 0d 9d  92 13 20 20 20 20 70 69  |),4,2)....    pi|
00020890  63 6b 25 3d bb 28 63 24  29 0d 9d 9a 22 20 20 20  |ck%=.(c$)..."   |
000208a0  20 76 6d 5f 64 74 24 28  63 25 2c 31 29 3d 76 61  | vm_dt$(c%,1)=va|
000208b0  72 24 28 70 69 63 6b 25  2c 30 29 0d 9d a2 22 20  |r$(pick%,0)..." |
000208c0  20 20 20 76 6d 5f 64 74  24 28 63 25 2c 32 29 3d  |   vm_dt$(c%,2)=|
000208d0  76 61 72 24 28 70 69 63  6b 25 2c 31 29 0d 9d aa  |var$(pick%,1)...|
000208e0  22 20 20 20 20 76 6d 5f  64 74 24 28 63 25 2c 33  |"    vm_dt$(c%,3|
000208f0  29 3d 76 61 72 24 28 70  69 63 6b 25 2c 32 29 0d  |)=var$(pick%,2).|
00020900  9d b2 45 20 20 20 20 76  6d 5f 64 74 24 28 63 25  |..E    vm_dt$(c%|
00020910  2c 34 29 3d 22 44 75 65  20 22 2b c1 76 6d 5f 64  |,4)="Due "+.vm_d|
00020920  74 24 28 63 25 2c 30 29  2c 36 2c 32 29 2b 22 2d  |t$(c%,0),6,2)+"-|
00020930  22 2b c1 76 6d 5f 64 74  24 28 63 25 2c 30 29 2c  |"+.vm_dt$(c%,0),|
00020940  38 2c 32 29 0d 9d ba 2d  20 20 20 20 76 6d 5f 64  |8,2)...-    vm_d|
00020950  74 24 28 63 25 2c 34 29  2b 3d 22 2d 22 2b c1 76  |t$(c%,4)+="-"+.v|
00020960  6d 5f 64 74 24 28 63 25  2c 30 29 2c 31 30 2c 32  |m_dt$(c%,0),10,2|
00020970  29 0d 9d c2 25 20 20 20  20 76 6d 5f 64 74 24 28  |)...%    vm_dt$(|
00020980  63 25 2c 30 29 3d c0 76  6d 5f 64 74 24 28 63 25  |c%,0)=.vm_dt$(c%|
00020990  2c 30 29 2c 35 29 0d 9d  ca 07 20 20 cd 0d 9d d2  |,0),5)....  ....|
000209a0  0a 20 20 ed 20 63 25 0d  9d da 05 cd 0d 9d e2 22  |.  . c%........"|
000209b0  63 75 72 5f 76 62 25 3d  30 3a e7 20 76 62 6e 25  |cur_vb%=0:. vbn%|
000209c0  3e 30 20 8c 20 63 75 72  5f 76 62 25 3d 31 0d 9d  |>0 . cur_vb%=1..|
000209d0  ea 0b d9 23 66 69 6c 6f  25 0d 9d f2 1d f2 69 6e  |...#filo%.....in|
000209e0  73 65 72 74 5f 6d 65 6d  5f 74 65 78 74 28 72 65  |sert_mem_text(re|
000209f0  6d 6d 65 6d 25 29 0d 9d  fa 0f 21 71 25 3d 72 65  |mmem%)....!q%=re|
00020a00  6d 6d 65 6d 25 0d 9e 02  20 c8 99 20 22 57 69 6d  |mmem%... .. "Wim|
00020a10  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00020a20  22 2c 2c 71 25 0d 9e 0a  0c 71 25 21 32 38 3d 2d  |",,q%....q%!28=-|
00020a30  31 0d 9e 12 1c c8 99 20  22 57 69 6d 70 5f 4f 70  |1...... "Wimp_Op|
00020a40  65 6e 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 9e 1a  |enWindow",,q%...|
00020a50  05 e1 0d 9e 22 04 0d 9e  2a 1b dd f2 69 6e 73 65  |...."...*...inse|
00020a60  72 74 5f 6d 65 6d 5f 74  65 78 74 28 77 69 6e 25  |rt_mem_text(win%|
00020a70  29 0d 9e 32 0e e7 20 76  62 6e 25 3d 30 20 8c 0d  |)..2.. vbn%=0 ..|
00020a80  9e 3a 12 20 20 e3 20 63  25 3d 32 31 20 b8 20 32  |.:.  . c%=21 . 2|
00020a90  35 0d 9e 42 19 20 20 f2  63 6c 65 61 72 74 65 78  |5..B.  .cleartex|
00020aa0  74 28 77 69 6e 25 2c 63  25 29 0d 9e 4a 2d 20 20  |t(win%,c%)..J-  |
00020ab0  e7 20 63 25 3d 32 31 20  84 20 63 25 3d 32 32 20  |. c%=21 . c%=22 |
00020ac0  8c 20 f2 63 6c 65 61 72  74 65 78 74 28 77 69 6e  |. .cleartext(win|
00020ad0  25 2c 63 25 2d 34 29 0d  9e 52 0a 20 20 ed 20 63  |%,c%-4)..R.  . c|
00020ae0  25 0d 9e 5a 05 cd 0d 9e  62 10 e7 20 76 62 6e 25  |%..Z....b.. vbn%|
00020af0  3d 30 20 8c 20 e1 0d 9e  6a 11 e7 20 63 75 72 5f  |=0 . ...j.. cur_|
00020b00  76 62 25 3d 31 20 8c 0d  9e 72 19 20 20 f2 63 6c  |vb%=1 ...r.  .cl|
00020b10  65 61 72 74 65 78 74 28  77 69 6e 25 2c 31 37 29  |eartext(win%,17)|
00020b20  0d 9e 7a 05 cc 0d 9e 82  1b 20 20 f2 70 75 74 74  |..z......  .putt|
00020b30  65 78 74 28 77 69 6e 25  2c 31 37 2c 22 8b 22 29  |ext(win%,17,".")|
00020b40  0d 9e 8a 05 cd 0d 9e 92  14 e7 20 63 75 72 5f 76  |.......... cur_v|
00020b50  62 25 3d 76 62 6e 25 20  8c 0d 9e 9a 19 20 20 f2  |b%=vbn% .....  .|
00020b60  63 6c 65 61 72 74 65 78  74 28 77 69 6e 25 2c 31  |cleartext(win%,1|
00020b70  38 29 0d 9e a2 05 cc 0d  9e aa 1b 20 20 f2 70 75  |8).........  .pu|
00020b80  74 74 65 78 74 28 77 69  6e 25 2c 31 38 2c 22 8a  |ttext(win%,18,".|
00020b90  22 29 0d 9e b2 05 cd 0d  9e ba 3a f2 70 75 74 74  |")........:.putt|
00020ba0  65 78 74 28 77 69 6e 25  2c 32 31 2c a4 43 68 65  |ext(win%,21,.Che|
00020bb0  63 6b 5f 44 69 67 69 74  5f 50 6c 75 73 28 76 6d  |ck_Digit_Plus(vm|
00020bc0  5f 64 74 24 28 63 75 72  5f 76 62 25 2c 30 29 29  |_dt$(cur_vb%,0))|
00020bd0  29 0d 9e c2 0e e3 20 63  25 3d 31 20 b8 20 34 0d  |)..... c%=1 . 4.|
00020be0  9e ca 2b f2 70 75 74 74  65 78 74 28 77 69 6e 25  |..+.puttext(win%|
00020bf0  2c 32 31 2b 63 25 2c 76  6d 5f 64 74 24 28 63 75  |,21+c%,vm_dt$(cu|
00020c00  72 5f 76 62 25 2c 63 25  29 29 0d 9e d2 08 ed 20  |r_vb%,c%))..... |
00020c10  63 25 0d 9e da 05 e1 0d  9e e2 04 0d 9e ea 0e dd  |c%..............|
00020c20  f2 77 69 70 65 5f 6d 65  6d 0d 9e f2 13 f2 63 68  |.wipe_mem.....ch|
00020c30  65 63 6b 5f 6d 65 6d 5f  64 69 72 73 0d 9e fa 14  |eck_mem_dirs....|
00020c40  f2 63 68 65 63 6b 5f 62  6f 6f 6b 5f 64 69 72 73  |.check_book_dirs|
00020c50  0d 9f 02 15 c8 99 20 22  48 6f 75 72 67 6c 61 73  |...... "Hourglas|
00020c60  73 5f 4f 6e 22 0d 9f 0a  14 64 25 3d bb 28 c0 72  |s_On"....d%=.(.r|
00020c70  63 5f 6e 6f 24 2c 32 29  29 0d 9f 12 1a e7 20 6d  |c_no$,2))..... m|
00020c80  65 6d 5f 64 69 72 5f 64  65 66 25 28 64 25 29 3d  |em_dir_def%(d%)=|
00020c90  a3 20 8c 0d 9f 1a 5a 20  20 f2 64 69 73 5f 6d 65  |. ....Z  .dis_me|
00020ca0  73 73 61 67 65 28 22 54  68 65 20 6d 65 6d 62 65  |ssage("The membe|
00020cb0  72 20 64 69 72 65 63 74  6f 72 79 20 66 6f 72 20  |r directory for |
00020cc0  74 68 61 74 20 6e 75 6d  62 65 72 20 68 61 73 20  |that number has |
00020cd0  6e 6f 74 20 62 65 65 6e  20 73 65 65 6e 20 62 79  |not been seen by|
00020ce0  20 74 68 65 20 66 69 6c  65 72 2e 22 29 0d 9f 22  | the filer.").."|
00020cf0  18 20 20 c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |.  .. "Hourglass|
00020d00  5f 4f 66 46 22 0d 9f 2a  07 20 20 e1 0d 9f 32 05  |_OfF"..*.  ...2.|
00020d10  cd 0d 9f 3a 16 6c 25 3d  bb 28 c1 72 63 5f 6e 6f  |...:.l%=.(.rc_no|
00020d20  24 2c 33 2c 32 29 29 0d  9f 42 16 73 25 3d bb 28  |$,3,2))..B.s%=.(|
00020d30  c1 72 63 5f 6e 6f 24 2c  35 2c 31 29 29 0d 9f 4a  |.rc_no$,5,1))..J|
00020d40  16 6e 25 3d bb 28 c1 72  63 5f 6e 6f 24 2c 36 2c  |.n%=.(.rc_no$,6,|
00020d50  33 29 29 0d 9f 52 34 74  72 79 24 3d 22 3c 4d 65  |3))..R4try$="<Me|
00020d60  6d 62 65 72 22 2b c3 28  64 25 29 2b 22 24 44 69  |mber"+.(d%)+"$Di|
00020d70  72 3e 2e 22 2b bd 28 36  35 2b 6c 25 29 2b 22 2e  |r>."+.(65+l%)+".|
00020d80  22 2b c3 28 73 25 29 0d  9f 5a 11 66 69 6c 6f 25  |"+.(s%)..Z.filo%|
00020d90  3d 8e 28 74 72 79 24 29  0d 9f 62 15 66 69 6c 70  |=.(try$)..b.filp|
00020da0  25 3d ae 28 74 72 79 24  2b 22 32 22 29 0d 9f 6a  |%=.(try$+"2")..j|
00020db0  0f e8 23 66 69 6c 6f 25  2c 74 6e 25 0d 9f 72 0b  |..#filo%,tn%..r.|
00020dc0  66 6c 61 67 25 3d b9 0d  9f 7a 0c 66 6c 61 67 32  |flag%=...z.flag2|
00020dd0  25 3d a3 0d 9f 82 0e e7  20 6e 25 3d 74 6e 25 20  |%=...... n%=tn% |
00020de0  8c 0d 9f 8a 13 20 20 f1  23 66 69 6c 70 25 2c 74  |.....  .#filp%,t|
00020df0  6e 25 2d 31 0d 9f 92 17  20 20 e7 20 74 6e 25 3d  |n%-1....  . tn%=|
00020e00  31 20 8c 20 66 6c 61 67  25 3d a3 0d 9f 9a 0c 20  |1 . flag%=..... |
00020e10  20 74 6e 25 2d 3d 31 0d  9f a2 0e 20 20 66 6c 61  | tn%-=1....  fla|
00020e20  67 32 25 3d b9 0d 9f aa  05 cd 0d 9f b2 0d e7 20  |g2%=........... |
00020e30  66 6c 61 67 25 20 8c 0d  9f ba 12 20 20 e3 20 63  |flag% .....  . c|
00020e40  25 3d 31 20 b8 20 74 6e  25 0d 9f c2 11 20 20 e3  |%=1 . tn%....  .|
00020e50  20 64 25 3d 31 20 b8 20  31 31 0d 9f ca 13 20 20  | d%=1 . 11....  |
00020e60  e8 23 66 69 6c 6f 25 2c  74 65 6d 70 24 0d 9f d2  |.#filo%,temp$...|
00020e70  10 20 20 e7 20 63 25 3c  3e 6e 25 20 8c 0d 9f da  |.  . c%<>n% ....|
00020e80  15 20 20 20 20 f1 23 66  69 6c 70 25 2c 74 65 6d  |.    .#filp%,tem|
00020e90  70 24 0d 9f e2 07 20 20  cc 0d 9f ea 1b 20 20 20  |p$....  .....   |
00020ea0  20 f1 23 66 69 6c 70 25  2c 22 3c 44 65 6c 65 74  | .#filp%,"<Delet|
00020eb0  65 64 3e 22 0d 9f f2 07  20 20 cd 0d 9f fa 0a 20  |ed>"....  ..... |
00020ec0  20 ed 20 64 25 0d a0 02  15 20 20 d5 23 66 69 6c  | . d%....  .#fil|
00020ed0  70 25 2c 9a 23 66 69 6c  6f 25 0d a0 0a 11 20 20  |p%,.#filo%....  |
00020ee0  62 6e 25 3d 9a 23 66 69  6c 6f 25 0d a0 12 11 20  |bn%=.#filo%.... |
00020ef0  20 d5 23 66 69 6c 70 25  2c 62 6e 25 0d a0 1a 0f  | .#filp%,bn%....|
00020f00  20 20 e7 20 62 6e 25 3e  30 20 8c 0d a0 22 14 20  |  . bn%>0 ...". |
00020f10  20 20 20 e3 20 64 25 3d  31 20 b8 20 62 6e 25 0d  |   . d%=1 . bn%.|
00020f20  a0 2a 15 20 20 20 20 e8  23 66 69 6c 6f 25 2c 74  |.*.    .#filo%,t|
00020f30  65 6d 70 24 0d a0 32 15  20 20 20 20 f1 23 66 69  |emp$..2.    .#fi|
00020f40  6c 70 25 2c 74 65 6d 70  24 0d a0 3a 0c 20 20 20  |lp%,temp$..:.   |
00020f50  20 ed 20 64 25 0d a0 42  07 20 20 cd 0d a0 4a 0a  | . d%..B.  ...J.|
00020f60  20 20 ed 20 63 25 0d a0  52 05 cd 0d a0 5a 0b d9  |  . c%..R....Z..|
00020f70  23 66 69 6c 6f 25 0d a0  62 0b d9 23 66 69 6c 70  |#filo%..b..#filp|
00020f80  25 0d a0 6a 15 ff 28 22  44 65 6c 65 74 65 20 22  |%..j..("Delete "|
00020f90  2b 74 72 79 24 29 0d a0  72 1f ff 28 22 52 65 6e  |+try$)..r..("Ren|
00020fa0  61 6d 65 20 22 2b 74 72  79 24 2b 22 32 20 22 2b  |ame "+try$+"2 "+|
00020fb0  74 72 79 24 29 0d a0 7a  10 e7 20 ac 20 66 6c 61  |try$)..z.. . fla|
00020fc0  67 32 25 20 8c 0d a0 82  16 20 20 64 25 3d bb 28  |g2% .....  d%=.(|
00020fd0  c0 72 63 5f 6e 6f 24 2c  32 29 29 0d a0 8a 18 20  |.rc_no$,2)).... |
00020fe0  20 6c 25 3d bb 28 c1 72  63 5f 6e 6f 24 2c 33 2c  | l%=.(.rc_no$,3,|
00020ff0  32 29 29 0d a0 92 18 20  20 73 25 3d bb 28 c1 72  |2))....  s%=.(.r|
00021000  63 5f 6e 6f 24 2c 35 2c  31 29 29 0d a0 9a 18 20  |c_no$,5,1)).... |
00021010  20 6e 25 3d bb 28 c1 72  63 5f 6e 6f 24 2c 36 2c  | n%=.(.rc_no$,6,|
00021020  33 29 29 0d a0 a2 37 20  20 68 5f 74 72 79 24 3d  |3))...7  h_try$=|
00021030  22 3c 4d 65 6d 62 65 72  22 2b c3 28 64 25 29 2b  |"<Member"+.(d%)+|
00021040  22 24 44 69 72 3e 2e 22  2b bd 28 36 35 2b 6c 25  |"$Dir>."+.(65+l%|
00021050  29 2b 22 2e 48 6f 6c 65  73 22 0d a0 aa 15 20 20  |)+".Holes"....  |
00021060  66 69 6c 6f 25 3d 8e 28  68 5f 74 72 79 24 29 0d  |filo%=.(h_try$).|
00021070  a0 b2 16 20 20 67 25 3d  ae 28 68 5f 74 72 79 24  |...  g%=.(h_try$|
00021080  2b 22 32 22 29 0d a0 ba  10 20 20 64 65 6c 66 6c  |+"2")....  delfl|
00021090  61 67 25 3d a3 0d a0 c2  0f 20 20 e7 20 66 69 6c  |ag%=.....  . fil|
000210a0  6f 25 20 8c 0d a0 ca 12  20 20 20 20 64 65 6c 66  |o% .....    delf|
000210b0  6c 61 67 25 3d b9 0d a0  d2 09 20 20 20 20 f5 0d  |lag%=.....    ..|
000210c0  a0 da 17 20 20 20 20 20  20 e8 23 66 69 6c 6f 25  |...      .#filo%|
000210d0  2c 74 65 6d 70 24 0d a0  e2 14 20 20 20 20 20 20  |,temp$....      |
000210e0  f1 23 67 25 2c 74 65 6d  70 24 0d a0 ea 11 20 20  |.#g%,temp$....  |
000210f0  20 20 fd 20 c5 23 66 69  6c 6f 25 0d a0 f2 07 20  |  . .#filo%.... |
00021100  20 cd 0d a0 fa 16 20 20  f1 23 67 25 2c c3 28 73  | .....  .#g%,.(s|
00021110  25 29 2b c3 28 6e 25 29  0d a1 02 0d 20 20 d9 23  |%)+.(n%)....  .#|
00021120  66 69 6c 6f 25 0d a1 0a  0a 20 20 d9 23 67 25 0d  |filo%....  .#g%.|
00021130  a1 12 26 20 20 e7 20 64  65 6c 66 6c 61 67 25 20  |..&  . delflag% |
00021140  8c 20 ff 28 22 44 65 6c  65 74 65 20 22 2b 68 5f  |. .("Delete "+h_|
00021150  74 72 79 24 29 0d a1 1a  25 20 20 ff 28 22 52 65  |try$)...%  .("Re|
00021160  6e 61 6d 65 20 22 2b 68  5f 74 72 79 24 2b 22 32  |name "+h_try$+"2|
00021170  20 22 2b 68 5f 74 72 79  24 29 0d a1 22 05 cd 0d  | "+h_try$).."...|
00021180  a1 2a 0f 21 71 25 3d 72  65 6d 6d 65 6d 25 0d a1  |.*.!q%=remmem%..|
00021190  32 1d c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |2... "Wimp_Close|
000211a0  57 69 6e 64 6f 77 22 2c  2c 71 25 0d a1 3a 16 c8  |Window",,q%..:..|
000211b0  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 66 66  |. "Hourglass_Off|
000211c0  22 0d a1 42 0c e7 20 77  5f 61 25 20 8c 0d a1 4a  |"..B.. w_a% ...J|
000211d0  41 20 20 61 24 3d 22 4d  22 2b c3 28 6c 6f 67 67  |A  a$="M"+.(logg|
000211e0  65 64 5f 6f 6e 25 29 2b  22 3b 22 2b 70 61 73 73  |ed_on%)+";"+pass|
000211f0  24 28 6c 6f 67 67 65 64  5f 6f 6e 25 2c 30 29 2b  |$(logged_on%,0)+|
00021200  22 3b 22 2b c0 72 63 5f  6e 6f 24 2c 38 29 0d a1  |";"+.rc_no$,8)..|
00021210  52 17 20 20 f2 61 64 64  5f 77 61 74 63 68 64 6f  |R.  .add_watchdo|
00021220  67 28 61 24 29 0d a1 5a  05 cd 0d a1 62 05 e1 0d  |g(a$)..Z....b...|
00021230  a1 6a 04 0d a1 72 13 dd  f2 63 68 61 6e 67 65 5f  |.j...r...change_|
00021240  6d 65 6d 62 65 72 0d a1  7a 13 f2 63 68 65 63 6b  |member..z..check|
00021250  5f 6d 65 6d 5f 64 69 72  73 0d a1 82 14 f2 63 68  |_mem_dirs.....ch|
00021260  65 63 6b 5f 62 6f 6f 6b  5f 64 69 72 73 0d a1 8a  |eck_book_dirs...|
00021270  14 e7 20 6d 65 6d 5f 63  6f 75 6e 74 25 3d 30 20  |.. mem_count%=0 |
00021280  8c 0d a1 92 48 20 20 f2  64 69 73 5f 6d 65 73 73  |....H  .dis_mess|
00021290  61 67 65 28 22 4e 6f 20  6d 65 6d 62 65 72 20 64  |age("No member d|
000212a0  69 72 65 63 74 6f 72 69  65 73 20 68 61 76 65 20  |irectories have |
000212b0  62 65 65 6e 20 73 65 65  6e 20 62 79 20 74 68 65  |been seen by the|
000212c0  20 66 69 6c 65 72 2e 22  29 0d a1 9a 07 20 20 e1  | filer.")....  .|
000212d0  0d a1 a2 05 cd 0d a1 aa  0f 21 71 25 3d 72 65 6d  |.........!q%=rem|
000212e0  6d 65 6d 25 0d a1 b2 1d  c8 99 20 22 57 69 6d 70  |mem%...... "Wimp|
000212f0  5f 43 6c 6f 73 65 57 69  6e 64 6f 77 22 2c 2c 71  |_CloseWindow",,q|
00021300  25 0d a1 ba 10 21 71 25  3d 76 69 65 77 6d 65 6d  |%....!q%=viewmem|
00021310  25 0d a1 c2 1d c8 99 20  22 57 69 6d 70 5f 43 6c  |%...... "Wimp_Cl|
00021320  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 71 25 0d a1  |oseWindow",,q%..|
00021330  ca 20 72 63 5f 6e 6f 24  3d a4 67 65 74 74 65 78  |. rc_no$=.gettex|
00021340  74 28 6d 65 6d 5f 6f 6e  6c 79 25 2c 31 29 0d a1  |t(mem_only%,1)..|
00021350  d2 3f e7 20 a9 28 72 63  5f 6e 6f 24 29 3c 3e 39  |.?. .(rc_no$)<>9|
00021360  20 8c 20 f2 64 69 73 5f  6d 65 73 73 61 67 65 28  | . .dis_message(|
00021370  22 49 6e 76 61 6c 69 64  20 6d 65 6d 62 65 72 73  |"Invalid members|
00021380  68 69 70 20 65 72 72 6f  72 22 29 3a e1 0d a1 da  |hip error"):....|
00021390  46 e7 20 ac 20 a4 76 61  6c 69 64 61 74 65 5f 64  |F. . .validate_d|
000213a0  69 67 69 74 73 28 72 63  5f 6e 6f 24 29 20 8c 20  |igits(rc_no$) . |
000213b0  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 43 68  |.dis_message("Ch|
000213c0  65 63 6b 20 64 69 67 69  74 20 65 72 72 6f 72 22  |eck digit error"|
000213d0  29 3a e1 0d a1 e2 11 21  71 25 3d 6d 65 6d 5f 6f  |):.....!q%=mem_o|
000213e0  6e 6c 79 25 0d a1 ea 1d  c8 99 20 22 57 69 6d 70  |nly%...... "Wimp|
000213f0  5f 43 6c 6f 73 65 57 69  6e 64 6f 77 22 2c 2c 71  |_CloseWindow",,q|
00021400  25 0d a1 f2 14 64 25 3d  bb 28 c0 72 63 5f 6e 6f  |%....d%=.(.rc_no|
00021410  24 2c 32 29 29 0d a1 fa  1a e7 20 6d 65 6d 5f 64  |$,2))..... mem_d|
00021420  69 72 5f 64 65 66 25 28  64 25 29 3d a3 20 8c 0d  |ir_def%(d%)=. ..|
00021430  a2 02 5e 20 20 f2 64 69  73 5f 6d 65 73 73 61 67  |..^  .dis_messag|
00021440  65 28 22 54 68 65 20 6d  65 6d 62 65 72 73 68 69  |e("The membershi|
00021450  70 20 64 69 72 65 63 74  6f 72 79 20 66 6f 72 20  |p directory for |
00021460  74 68 61 74 20 6e 75 6d  62 65 72 20 68 61 73 20  |that number has |
00021470  6e 6f 74 20 62 65 65 6e  20 73 65 65 6e 20 62 79  |not been seen by|
00021480  20 74 68 65 20 66 69 6c  65 72 2e 22 29 0d a2 0a  | the filer.")...|
00021490  07 20 20 e1 0d a2 12 05  cd 0d a2 1a 16 6c 25 3d  |.  ..........l%=|
000214a0  bb 28 c1 72 63 5f 6e 6f  24 2c 33 2c 32 29 29 0d  |.(.rc_no$,3,2)).|
000214b0  a2 22 16 73 25 3d bb 28  c1 72 63 5f 6e 6f 24 2c  |.".s%=.(.rc_no$,|
000214c0  35 2c 31 29 29 0d a2 2a  16 6e 25 3d bb 28 c1 72  |5,1))..*.n%=.(.r|
000214d0  63 5f 6e 6f 24 2c 36 2c  33 29 29 0d a2 32 34 74  |c_no$,6,3))..24t|
000214e0  72 79 24 3d 22 3c 4d 65  6d 62 65 72 22 2b c3 28  |ry$="<Member"+.(|
000214f0  64 25 29 2b 22 24 44 69  72 3e 2e 22 2b bd 28 36  |d%)+"$Dir>."+.(6|
00021500  35 2b 6c 25 29 2b 22 2e  22 2b c3 28 73 25 29 0d  |5+l%)+"."+.(s%).|
00021510  a2 3a 11 66 69 6c 6f 25  3d 8e 28 74 72 79 24 29  |.:.filo%=.(try$)|
00021520  0d a2 42 0f e8 23 66 69  6c 6f 25 2c 74 6e 25 0d  |..B..#filo%,tn%.|
00021530  a2 4a 3e e7 20 74 6e 25  3c 6e 25 20 84 20 6e 25  |.J>. tn%<n% . n%|
00021540  3d 30 20 8c 20 d9 23 66  69 6c 6f 25 3a f2 64 69  |=0 . .#filo%:.di|
00021550  73 5f 6d 65 73 73 61 67  65 28 22 49 6e 76 61 6c  |s_message("Inval|
00021560  69 64 20 6e 75 6d 62 65  72 22 29 3a e1 0d a2 52  |id number"):...R|
00021570  0c e7 20 6e 25 3e 31 20  8c 0d a2 5a 13 20 20 e3  |.. n%>1 ...Z.  .|
00021580  20 63 25 3d 31 20 b8 20  6e 25 2d 31 0d a2 62 11  | c%=1 . n%-1..b.|
00021590  20 20 e3 20 64 25 3d 31  20 b8 20 31 31 0d a2 6a  |  . d%=1 . 11..j|
000215a0  13 20 20 e8 23 66 69 6c  6f 25 2c 74 65 6d 70 24  |.  .#filo%,temp$|
000215b0  0d a2 72 0a 20 20 ed 20  64 25 0d a2 7a 13 20 20  |..r.  . d%..z.  |
000215c0  6e 75 6c 6c 25 3d 9a 23  66 69 6c 6f 25 0d a2 82  |null%=.#filo%...|
000215d0  13 20 20 74 65 62 6e 25  3d 9a 23 66 69 6c 6f 25  |.  tebn%=.#filo%|
000215e0  0d a2 8a 11 20 20 e7 20  74 65 62 6e 25 3e 30 20  |....  . tebn%>0 |
000215f0  8c 0d a2 92 16 20 20 20  20 e3 20 64 25 3d 31 20  |.....    . d%=1 |
00021600  b8 20 74 65 62 6e 25 0d  a2 9a 15 20 20 20 20 e8  |. tebn%....    .|
00021610  23 66 69 6c 6f 25 2c 74  65 6d 70 24 0d a2 a2 0c  |#filo%,temp$....|
00021620  20 20 20 20 ed 20 64 25  0d a2 aa 07 20 20 cd 0d  |    . d%....  ..|
00021630  a2 b2 0a 20 20 ed 20 63  25 0d a2 ba 05 cd 0d a2  |...  . c%.......|
00021640  c2 12 e8 23 66 69 6c 6f  25 2c 6d 65 6d 6e 6f 24  |...#filo%,memno$|
00021650  0d a2 ca 12 e8 23 66 69  6c 6f 25 2c 74 69 74 6c  |.....#filo%,titl|
00021660  65 24 0d a2 d2 11 e8 23  66 69 6c 6f 25 2c 73 75  |e$.....#filo%,su|
00021670  72 6e 24 0d a2 da 0f e8  23 66 69 6c 6f 25 2c 6f  |rn$.....#filo%,o|
00021680  6e 24 0d a2 e2 0e e3 20  63 25 3d 30 20 b8 20 35  |n$..... c%=0 . 5|
00021690  0d a2 ea 18 e8 23 66 69  6c 6f 25 2c 61 64 64 72  |.....#filo%,addr|
000216a0  65 73 73 24 28 63 25 29  0d a2 f2 08 ed 20 63 25  |ess$(c%)..... c%|
000216b0  0d a2 fa 12 e8 23 66 69  6c 6f 25 2c 73 74 61 74  |.....#filo%,stat|
000216c0  65 24 0d a3 02 0f 74 74  25 3d 9a 23 66 69 6c 6f  |e$....tt%=.#filo|
000216d0  25 0d a3 0a 21 f2 70 75  74 74 65 78 74 28 63 68  |%...!.puttext(ch|
000216e0  61 6e 67 65 6d 65 6d 25  2c 35 2c 74 69 74 6c 65  |angemem%,5,title|
000216f0  24 29 0d a3 12 20 f2 70  75 74 74 65 78 74 28 63  |$)... .puttext(c|
00021700  68 61 6e 67 65 6d 65 6d  25 2c 36 2c 73 75 72 6e  |hangemem%,6,surn|
00021710  24 29 0d a3 1a 1e f2 70  75 74 74 65 78 74 28 63  |$).....puttext(c|
00021720  68 61 6e 67 65 6d 65 6d  25 2c 37 2c 6f 6e 24 29  |hangemem%,7,on$)|
00021730  0d a3 22 0e e3 20 63 25  3d 30 20 b8 20 35 0d a3  |..".. c%=0 . 5..|
00021740  2a 2a f2 70 75 74 74 65  78 74 28 63 68 61 6e 67  |**.puttext(chang|
00021750  65 6d 65 6d 25 2c 38 2b  63 25 2c 61 64 64 72 65  |emem%,8+c%,addre|
00021760  73 73 24 28 63 25 29 29  0d a3 32 08 ed 20 63 25  |ss$(c%))..2.. c%|
00021770  0d a3 3a 22 f2 70 75 74  74 65 78 74 28 63 68 61  |..:".puttext(cha|
00021780  6e 67 65 6d 65 6d 25 2c  31 34 2c 73 74 61 74 65  |ngemem%,14,state|
00021790  24 29 0d a3 42 0c c8 8e  20 74 74 25 20 ca 0d a3  |$)..B... tt% ...|
000217a0  4a 2a 20 20 c9 20 30 3a  20 f2 70 75 74 74 65 78  |J*  . 0: .puttex|
000217b0  74 28 63 68 61 6e 67 65  6d 65 6d 25 2c 31 35 2c  |t(changemem%,15,|
000217c0  22 41 64 75 6c 74 22 29  0d a3 52 2b 20 20 c9 20  |"Adult")..R+  . |
000217d0  31 3a 20 f2 70 75 74 74  65 78 74 28 63 68 61 6e  |1: .puttext(chan|
000217e0  67 65 6d 65 6d 25 2c 31  35 2c 22 4a 75 6e 69 6f  |gemem%,15,"Junio|
000217f0  72 22 29 0d a3 5a 2a 20  20 c9 20 32 3a 20 f2 70  |r")..Z*  . 2: .p|
00021800  75 74 74 65 78 74 28 63  68 61 6e 67 65 6d 65 6d  |uttext(changemem|
00021810  25 2c 31 35 2c 22 53 74  61 66 66 22 29 0d a3 62  |%,15,"Staff")..b|
00021820  05 cb 0d a3 6a 10 76 62  6e 25 3d 9a 23 66 69 6c  |....j.vbn%=.#fil|
00021830  6f 25 0d a3 72 0e e7 20  76 62 6e 25 3e 30 20 8c  |o%..r.. vbn%>0 .|
00021840  0d a3 7a 13 20 20 e3 20  63 25 3d 31 20 b8 20 76  |..z.  . c%=1 . v|
00021850  62 6e 25 0d a3 82 1a 20  20 e8 23 66 69 6c 6f 25  |bn%....  .#filo%|
00021860  2c 76 6d 5f 64 74 24 28  63 25 2c 30 29 0d a3 8a  |,vm_dt$(c%,0)...|
00021870  2c 20 20 e7 20 62 6f 6f  6b 5f 64 69 72 5f 64 65  |,  . book_dir_de|
00021880  66 25 28 bb 28 c0 76 6d  5f 64 74 24 28 63 25 2c  |f%(.(.vm_dt$(c%,|
00021890  30 29 29 29 29 3d a3 20  8c 0d a3 92 2c 20 20 20  |0))))=. ....,   |
000218a0  20 6e 78 74 24 3d a4 43  68 65 63 6b 5f 44 69 67  | nxt$=.Check_Dig|
000218b0  69 74 5f 50 6c 75 73 28  76 6d 5f 64 74 24 28 63  |it_Plus(vm_dt$(c|
000218c0  25 2c 30 29 29 0d a3 9a  60 20 20 20 20 f2 64 69  |%,0))...`    .di|
000218d0  73 5f 6d 65 73 73 61 67  65 28 22 54 68 65 20 62  |s_message("The b|
000218e0  6f 6f 6b 20 64 69 72 65  63 74 6f 72 79 20 66 6f  |ook directory fo|
000218f0  72 20 74 68 65 20 62 6f  6f 6b 20 22 2b 6e 78 74  |r the book "+nxt|
00021900  24 2b 22 20 68 61 73 20  6e 6f 74 20 62 65 65 6e  |$+" has not been|
00021910  20 73 65 65 6e 20 62 79  20 74 68 65 20 66 69 6c  | seen by the fil|
00021920  65 72 2e 22 29 0d a3 a2  34 20 20 20 20 76 6d 5f  |er.")...4    vm_|
00021930  64 74 24 28 63 25 2c 31  29 3d 22 2a 2a 2a 20 20  |dt$(c%,1)="***  |
00021940  44 69 72 65 63 74 6f 72  79 20 6e 6f 74 20 66 6f  |Directory not fo|
00021950  75 6e 64 20 20 2a 2a 2a  22 0d a3 aa 34 20 20 20  |und  ***"...4   |
00021960  20 76 6d 5f 64 74 24 28  63 25 2c 32 29 3d 22 2a  | vm_dt$(c%,2)="*|
00021970  2a 2a 20 20 44 69 72 65  63 74 6f 72 79 20 6e 6f  |**  Directory no|
00021980  74 20 66 6f 75 6e 64 20  20 2a 2a 2a 22 0d a3 b2  |t found  ***"...|
00021990  34 20 20 20 20 76 6d 5f  64 74 24 28 63 25 2c 33  |4    vm_dt$(c%,3|
000219a0  29 3d 22 2a 2a 2a 20 20  44 69 72 65 63 74 6f 72  |)="***  Director|
000219b0  79 20 6e 6f 74 20 66 6f  75 6e 64 20 20 2a 2a 2a  |y not found  ***|
000219c0  22 0d a3 ba 34 20 20 20  20 76 6d 5f 64 74 24 28  |"...4    vm_dt$(|
000219d0  63 25 2c 34 29 3d 22 2a  2a 2a 20 20 44 69 72 65  |c%,4)="***  Dire|
000219e0  63 74 6f 72 79 20 6e 6f  74 20 66 6f 75 6e 64 20  |ctory not found |
000219f0  20 2a 2a 2a 22 0d a3 c2  07 20 20 cc 0d a3 ca 26  | ***"....  ....&|
00021a00  20 20 20 20 f2 6f 70 65  6e 5f 62 6f 6f 6b 5f 63  |    .open_book_c|
00021a10  61 63 68 65 28 76 6d 5f  64 74 24 28 63 25 2c 30  |ache(vm_dt$(c%,0|
00021a20  29 29 0d a3 d2 1d 20 20  20 20 63 24 3d c1 76 6d  |))....    c$=.vm|
00021a30  5f 64 74 24 28 63 25 2c  30 29 2c 34 2c 32 29 0d  |_dt$(c%,0),4,2).|
00021a40  a3 da 13 20 20 20 20 70  69 63 6b 25 3d bb 28 63  |...    pick%=.(c|
00021a50  24 29 0d a3 e2 22 20 20  20 20 76 6d 5f 64 74 24  |$)..."    vm_dt$|
00021a60  28 63 25 2c 31 29 3d 76  61 72 24 28 70 69 63 6b  |(c%,1)=var$(pick|
00021a70  25 2c 30 29 0d a3 ea 22  20 20 20 20 76 6d 5f 64  |%,0)..."    vm_d|
00021a80  74 24 28 63 25 2c 32 29  3d 76 61 72 24 28 70 69  |t$(c%,2)=var$(pi|
00021a90  63 6b 25 2c 31 29 0d a3  f2 22 20 20 20 20 76 6d  |ck%,1)..."    vm|
00021aa0  5f 64 74 24 28 63 25 2c  33 29 3d 76 61 72 24 28  |_dt$(c%,3)=var$(|
00021ab0  70 69 63 6b 25 2c 32 29  0d a3 fa 45 20 20 20 20  |pick%,2)...E    |
00021ac0  76 6d 5f 64 74 24 28 63  25 2c 34 29 3d 22 44 75  |vm_dt$(c%,4)="Du|
00021ad0  65 20 22 2b c1 76 6d 5f  64 74 24 28 63 25 2c 30  |e "+.vm_dt$(c%,0|
00021ae0  29 2c 36 2c 32 29 2b 22  2d 22 2b c1 76 6d 5f 64  |),6,2)+"-"+.vm_d|
00021af0  74 24 28 63 25 2c 30 29  2c 38 2c 32 29 0d a4 02  |t$(c%,0),8,2)...|
00021b00  2d 20 20 20 20 76 6d 5f  64 74 24 28 63 25 2c 34  |-    vm_dt$(c%,4|
00021b10  29 2b 3d 22 2d 22 2b c1  76 6d 5f 64 74 24 28 63  |)+="-"+.vm_dt$(c|
00021b20  25 2c 30 29 2c 31 30 2c  32 29 0d a4 0a 25 20 20  |%,0),10,2)...%  |
00021b30  20 20 76 6d 5f 64 74 24  28 63 25 2c 30 29 3d c0  |  vm_dt$(c%,0)=.|
00021b40  76 6d 5f 64 74 24 28 63  25 2c 30 29 2c 35 29 0d  |vm_dt$(c%,0),5).|
00021b50  a4 12 07 20 20 cd 0d a4  1a 0a 20 20 ed 20 63 25  |...  .....  . c%|
00021b60  0d a4 22 05 cd 0d a4 2a  22 63 75 72 5f 76 62 25  |.."....*"cur_vb%|
00021b70  3d 30 3a e7 20 76 62 6e  25 3e 30 20 8c 20 63 75  |=0:. vbn%>0 . cu|
00021b80  72 5f 76 62 25 3d 31 0d  a4 32 0b d9 23 66 69 6c  |r_vb%=1..2..#fil|
00021b90  6f 25 0d a4 3a 20 f2 69  6e 73 65 72 74 5f 6d 65  |o%..: .insert_me|
00021ba0  6d 5f 74 65 78 74 28 63  68 61 6e 67 65 6d 65 6d  |m_text(changemem|
00021bb0  25 29 0d a4 42 12 21 71  25 3d 63 68 61 6e 67 65  |%)..B.!q%=change|
00021bc0  6d 65 6d 25 0d a4 4a 20  c8 99 20 22 57 69 6d 70  |mem%..J .. "Wimp|
00021bd0  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
00021be0  2c 2c 71 25 0d a4 52 0c  71 25 21 32 38 3d 2d 31  |,,q%..R.q%!28=-1|
00021bf0  0d a4 5a 1c c8 99 20 22  57 69 6d 70 5f 4f 70 65  |..Z... "Wimp_Ope|
00021c00  6e 57 69 6e 64 6f 77 22  2c 2c 71 25 0d a4 62 20  |nWindow",,q%..b |
00021c10  6c 25 3d a9 28 a4 67 65  74 74 65 78 74 28 63 68  |l%=.(.gettext(ch|
00021c20  61 6e 67 65 6d 65 6d 25  2c 35 29 29 0d a4 6a 35  |angemem%,5))..j5|
00021c30  c8 99 20 22 57 69 6d 70  5f 53 65 74 43 61 72 65  |.. "Wimp_SetCare|
00021c40  74 50 6f 73 69 74 69 6f  6e 22 2c 63 68 61 6e 67  |tPosition",chang|
00021c50  65 6d 65 6d 25 2c 35 2c  30 2c 30 2c 2d 31 2c 6c  |emem%,5,0,0,-1,l|
00021c60  25 0d a4 72 05 e1 0d a4  7a 04 0d a4 82 11 dd f2  |%..r....z.......|
00021c70  73 61 76 65 5f 63 68 5f  6d 65 6d 0d a4 8a 15 c8  |save_ch_mem.....|
00021c80  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 6e 22  |. "Hourglass_On"|
00021c90  0d a4 92 14 64 25 3d bb  28 c0 72 63 5f 6e 6f 24  |....d%=.(.rc_no$|
00021ca0  2c 32 29 29 0d a4 9a 1a  e7 20 6d 65 6d 5f 64 69  |,2))..... mem_di|
00021cb0  72 5f 64 65 66 25 28 64  25 29 3d a3 20 8c 0d a4  |r_def%(d%)=. ...|
00021cc0  a2 5e 20 20 f2 64 69 73  5f 6d 65 73 73 61 67 65  |.^  .dis_message|
00021cd0  28 22 54 68 65 20 6d 65  6d 62 65 72 73 68 69 70  |("The membership|
00021ce0  20 64 69 72 65 63 74 6f  72 79 20 66 6f 72 20 74  | directory for t|
00021cf0  68 61 74 20 6e 75 6d 62  65 72 20 68 61 73 20 6e  |hat number has n|
00021d00  6f 74 20 62 65 65 6e 20  73 65 65 6e 20 62 79 20  |ot been seen by |
00021d10  74 68 65 20 66 69 6c 65  72 2e 22 29 0d a4 aa 18  |the filer.")....|
00021d20  20 20 c8 99 20 22 48 6f  75 72 67 6c 61 73 73 5f  |  .. "Hourglass_|
00021d30  4f 66 66 22 0d a4 b2 07  20 20 e1 0d a4 ba 05 cd  |Off"....  ......|
00021d40  0d a4 c2 16 6c 25 3d bb  28 c1 72 63 5f 6e 6f 24  |....l%=.(.rc_no$|
00021d50  2c 33 2c 32 29 29 0d a4  ca 16 73 25 3d bb 28 c1  |,3,2))....s%=.(.|
00021d60  72 63 5f 6e 6f 24 2c 35  2c 31 29 29 0d a4 d2 16  |rc_no$,5,1))....|
00021d70  6e 25 3d bb 28 c1 72 63  5f 6e 6f 24 2c 36 2c 33  |n%=.(.rc_no$,6,3|
00021d80  29 29 0d a4 da 34 74 72  79 24 3d 22 3c 4d 65 6d  |))...4try$="<Mem|
00021d90  62 65 72 22 2b c3 28 64  25 29 2b 22 24 44 69 72  |ber"+.(d%)+"$Dir|
00021da0  3e 2e 22 2b bd 28 36 35  2b 6c 25 29 2b 22 2e 22  |>."+.(65+l%)+"."|
00021db0  2b c3 28 73 25 29 0d a4  e2 11 66 69 6c 6f 25 3d  |+.(s%)....filo%=|
00021dc0  8e 28 74 72 79 24 29 0d  a4 ea 15 66 69 6c 70 25  |.(try$)....filp%|
00021dd0  3d ae 28 74 72 79 24 2b  22 32 22 29 0d a4 f2 0f  |=.(try$+"2")....|
00021de0  e8 23 66 69 6c 6f 25 2c  74 6e 25 0d a4 fa 0f f1  |.#filo%,tn%.....|
00021df0  23 66 69 6c 70 25 2c 74  6e 25 0d a5 02 10 e3 20  |#filp%,tn%..... |
00021e00  63 25 3d 31 20 b8 20 74  6e 25 0d a5 0a 0f e3 20  |c%=1 . tn%..... |
00021e10  64 25 3d 31 20 b8 20 31  31 0d a5 12 11 e8 23 66  |d%=1 . 11.....#f|
00021e20  69 6c 6f 25 2c 74 65 6d  70 24 0d a5 1a 0e e7 20  |ilo%,temp$..... |
00021e30  63 25 3c 3e 6e 25 20 8c  0d a5 22 13 20 20 f1 23  |c%<>n% ...".  .#|
00021e40  66 69 6c 70 25 2c 74 65  6d 70 24 0d a5 2a 05 cc  |filp%,temp$..*..|
00021e50  0d a5 32 1c 20 20 e7 20  64 25 3d 31 20 8c 20 f1  |..2.  . d%=1 . .|
00021e60  23 66 69 6c 70 25 2c 74  65 6d 70 24 0d a5 3a 42  |#filp%,temp$..:B|
00021e70  20 20 e7 20 64 25 3e 3d  32 20 80 20 64 25 3c 3d  |  . d%>=2 . d%<=|
00021e80  31 31 20 8c 20 f1 23 66  69 6c 70 25 2c a4 55 70  |11 . .#filp%,.Up|
00021e90  70 65 72 28 a4 67 65 74  74 65 78 74 28 63 68 61  |per(.gettext(cha|
00021ea0  6e 67 65 6d 65 6d 25 2c  33 2b 64 25 29 29 0d a5  |ngemem%,3+d%))..|
00021eb0  42 05 cd 0d a5 4a 08 ed  20 64 25 0d a5 52 0e e7  |B....J.. d%..R..|
00021ec0  20 63 25 3c 3e 6e 25 20  8c 0d a5 5a 15 20 20 d5  | c%<>n% ...Z.  .|
00021ed0  23 66 69 6c 70 25 2c 9a  23 66 69 6c 6f 25 0d a5  |#filp%,.#filo%..|
00021ee0  62 05 cc 0d a5 6a 13 20  20 74 65 6d 70 25 3d 9a  |b....j.  temp%=.|
00021ef0  23 66 69 6c 6f 25 0d a5  72 23 20 20 63 6f 6d 70  |#filo%..r#  comp|
00021f00  24 3d a4 67 65 74 74 65  78 74 28 63 68 61 6e 67  |$=.gettext(chang|
00021f10  65 6d 65 6d 25 2c 31 35  29 0d a5 7a 10 20 20 c8  |emem%,15)..z.  .|
00021f20  8e 20 63 6f 6d 70 24 20  ca 0d a5 82 1a 20 20 20  |. comp$ .....   |
00021f30  20 c9 20 22 41 64 75 6c  74 22 3a 20 63 6f 6d 70  | . "Adult": comp|
00021f40  25 3d 30 0d a5 8a 1b 20  20 20 20 c9 20 22 4a 75  |%=0....    . "Ju|
00021f50  6e 69 6f 72 22 3a 20 63  6f 6d 70 25 3d 31 0d a5  |nior": comp%=1..|
00021f60  92 1a 20 20 20 20 c9 20  22 53 74 61 66 66 22 3a  |..    . "Staff":|
00021f70  20 63 6f 6d 70 25 3d 32  0d a5 9a 07 20 20 cb 0d  | comp%=2....  ..|
00021f80  a5 a2 13 20 20 d5 23 66  69 6c 70 25 2c 63 6f 6d  |...  .#filp%,com|
00021f90  70 25 0d a5 aa 05 cd 0d  a5 b2 0f 62 6e 25 3d 9a  |p%.........bn%=.|
00021fa0  23 66 69 6c 6f 25 0d a5  ba 0f d5 23 66 69 6c 70  |#filo%.....#filp|
00021fb0  25 2c 62 6e 25 0d a5 c2  0d e7 20 62 6e 25 3e 30  |%,bn%..... bn%>0|
00021fc0  20 8c 0d a5 ca 12 20 20  e3 20 64 25 3d 31 20 b8  | .....  . d%=1 .|
00021fd0  20 62 6e 25 0d a5 d2 13  20 20 e8 23 66 69 6c 6f  | bn%....  .#filo|
00021fe0  25 2c 74 65 6d 70 24 0d  a5 da 13 20 20 f1 23 66  |%,temp$....  .#f|
00021ff0  69 6c 70 25 2c 74 65 6d  70 24 0d a5 e2 0a 20 20  |ilp%,temp$....  |
00022000  ed 20 64 25 0d a5 ea 05  cd 0d a5 f2 08 ed 20 63  |. d%.......... c|
00022010  25 0d a5 fa 0b d9 23 66  69 6c 6f 25 0d a6 02 0b  |%.....#filo%....|
00022020  d9 23 66 69 6c 70 25 0d  a6 0a 15 ff 28 22 44 65  |.#filp%.....("De|
00022030  6c 65 74 65 20 22 2b 74  72 79 24 29 0d a6 12 1f  |lete "+try$)....|
00022040  ff 28 22 52 65 6e 61 6d  65 20 22 2b 74 72 79 24  |.("Rename "+try$|
00022050  2b 22 32 20 22 2b 74 72  79 24 29 0d a6 1a 12 21  |+"2 "+try$)....!|
00022060  71 25 3d 63 68 61 6e 67  65 6d 65 6d 25 0d a6 22  |q%=changemem%.."|
00022070  1d c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 57  |... "Wimp_CloseW|
00022080  69 6e 64 6f 77 22 2c 2c  71 25 0d a6 2a 16 c8 99  |indow",,q%..*...|
00022090  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 66 66 22  | "Hourglass_Off"|
000220a0  0d a6 32 0c e7 20 77 5f  61 25 20 8c 0d a6 3a 41  |..2.. w_a% ...:A|
000220b0  20 20 61 24 3d 22 4e 22  2b c3 28 6c 6f 67 67 65  |  a$="N"+.(logge|
000220c0  64 5f 6f 6e 25 29 2b 22  3b 22 2b 70 61 73 73 24  |d_on%)+";"+pass$|
000220d0  28 6c 6f 67 67 65 64 5f  6f 6e 25 2c 30 29 2b 22  |(logged_on%,0)+"|
000220e0  3b 22 2b c0 72 63 5f 6e  6f 24 2c 38 29 0d a6 42  |;"+.rc_no$,8)..B|
000220f0  17 20 20 f2 61 64 64 5f  77 61 74 63 68 64 6f 67  |.  .add_watchdog|
00022100  28 61 24 29 0d a6 4a 05  cd 0d a6 52 05 e1 0d a6  |(a$)..J....R....|
00022110  5a 04 0d a6 62 16 dd f2  61 64 64 5f 77 61 74 63  |Z...b...add_watc|
00022120  68 64 6f 67 28 73 24 29  0d a6 6a 2a 74 72 79 24  |hdog(s$)..j*try$|
00022130  3d 22 3c 4c 69 62 72 61  72 79 24 44 69 72 3e 2e  |="<Library$Dir>.|
00022140  57 61 74 63 68 64 6f 67  2e 57 61 74 63 68 64 6f  |Watchdog.Watchdo|
00022150  67 22 0d a6 72 11 66 69  6c 6f 25 3d 8e 28 74 72  |g"..r.filo%=.(tr|
00022160  79 24 29 0d a6 7a 15 66  69 6c 70 25 3d ae 28 74  |y$)..z.filp%=.(t|
00022170  72 79 24 2b 22 32 22 29  0d a6 82 0e 64 65 6c 66  |ry$+"2")....delf|
00022180  6c 61 67 25 3d a3 0d a6  8a 0d e7 20 66 69 6c 6f  |lag%=...... filo|
00022190  25 20 8c 0d a6 92 10 20  20 64 65 6c 66 6c 61 67  |% .....  delflag|
000221a0  25 3d b9 0d a6 9a 07 20  20 f5 0d a6 a2 15 20 20  |%=.....  .....  |
000221b0  20 20 e8 23 66 69 6c 6f  25 2c 74 65 6d 70 24 0d  |  .#filo%,temp$.|
000221c0  a6 aa 15 20 20 20 20 f1  23 66 69 6c 70 25 2c 74  |...    .#filp%,t|
000221d0  65 6d 70 24 0d a6 b2 0f  20 20 fd 20 c5 23 66 69  |emp$....  . .#fi|
000221e0  6c 6f 25 0d a6 ba 05 cd  0d a6 c2 11 f1 23 66 69  |lo%..........#fi|
000221f0  6c 70 25 2c 91 24 2b 73  24 0d a6 ca 0b d9 23 66  |lp%,.$+s$.....#f|
00022200  69 6c 70 25 0d a6 d2 0b  d9 23 66 69 6c 6f 25 0d  |ilp%.....#filo%.|
00022210  a6 da 22 e7 20 64 65 6c  66 6c 61 67 25 20 8c 20  |..". delflag% . |
00022220  ff 28 22 44 65 6c 65 74  65 20 22 2b 74 72 79 24  |.("Delete "+try$|
00022230  29 0d a6 e2 1f ff 28 22  52 65 6e 61 6d 65 20 22  |).....("Rename "|
00022240  2b 74 72 79 24 2b 22 32  20 22 2b 74 72 79 24 29  |+try$+"2 "+try$)|
00022250  0d a6 ea 05 e1 0d a6 f2  04 0d a6 fa 13 dd f2 73  |...............s|
00022260  68 6f 77 5f 77 61 74 63  68 64 6f 67 0d a7 02 2a  |how_watchdog...*|
00022270  74 72 79 24 3d 22 3c 4c  69 62 72 61 72 79 24 44  |try$="<Library$D|
00022280  69 72 3e 2e 57 61 74 63  68 64 6f 67 2e 57 61 74  |ir>.Watchdog.Wat|
00022290  63 68 64 6f 67 22 0d a7  0a 11 66 69 6c 6f 25 3d  |chdog"....filo%=|
000222a0  8e 28 74 72 79 24 29 0d  a7 12 43 e7 20 66 69 6c  |.(try$)...C. fil|
000222b0  6f 25 3d 30 20 8c 20 d9  23 66 69 6c 6f 25 3a f2  |o%=0 . .#filo%:.|
000222c0  64 69 73 5f 6d 65 73 73  61 67 65 28 22 54 68 65  |dis_message("The|
000222d0  72 65 20 69 73 20 6e 6f  74 68 69 6e 67 20 74 6f  |re is nothing to|
000222e0  20 64 69 73 70 6c 61 79  22 29 0d a7 1a 11 e7 20  | display")..... |
000222f0  66 69 6c 6f 25 3d 30 20  8c 20 e1 0d a7 22 0b 77  |filo%=0 . ...".w|
00022300  69 6e 70 25 3d 30 0d a7  2a 0e 62 69 67 67 65 73  |inp%=0..*.bigges|
00022310  74 25 3d 30 0d a7 32 05  f5 0d a7 3a 10 20 20 e8  |t%=0..2....:.  .|
00022320  23 66 69 6c 6f 25 2c 65  24 0d a7 42 19 20 20 66  |#filo%,e$..B.  f|
00022330  24 3d 22 20 22 2b c0 65  24 2c 32 34 29 2b 22 20  |$=" "+.e$,24)+" |
00022340  20 22 0d a7 4a 14 20 20  6f 70 63 24 3d c1 65 24  | "..J.  opc$=.e$|
00022350  2c 32 35 2c 31 29 0d a7  52 0f 20 20 c8 8e 20 6f  |,25,1)..R.  .. o|
00022360  70 63 24 20 ca 0d a7 5a  0d 20 20 20 20 c9 20 22  |pc$ ...Z.    . "|
00022370  41 22 0d a7 62 26 20 20  20 20 20 20 66 24 2b 3d  |A"..b&      f$+=|
00022380  22 4c 6f 67 20 4f 6e 20  20 20 20 20 20 20 20 20  |"Log On         |
00022390  20 20 20 20 20 20 20 22  0d a7 6a 16 20 20 20 20  |       "..j.    |
000223a0  20 20 73 31 25 3d a7 65  24 2c 22 3b 22 29 0d a7  |  s1%=.e$,";")..|
000223b0  72 1c 20 20 20 20 20 20  73 32 25 3d a7 65 24 2c  |r.      s2%=.e$,|
000223c0  22 3b 22 2c 73 31 25 2b  31 29 0d a7 7a 24 20 20  |";",s1%+1)..z$  |
000223d0  20 20 20 20 66 24 2b 3d  a4 73 70 63 28 c1 65 24  |    f$+=.spc(.e$|
000223e0  2c 32 36 2c 73 31 25 2d  32 36 29 2c 35 29 0d a7  |,26,s1%-26),5)..|
000223f0  82 27 20 20 20 20 20 20  66 24 2b 3d c1 65 24 2c  |.'      f$+=.e$,|
00022400  73 31 25 2b 31 2c 73 32  25 2d 73 31 25 2d 31 29  |s1%+1,s2%-s1%-1)|
00022410  2b 22 20 20 22 0d a7 8a  1c 20 20 20 20 20 20 66  |+"  "....      f|
00022420  24 2b 3d c2 65 24 2c a9  28 65 24 29 2d 73 32 25  |$+=.e$,.(e$)-s2%|
00022430  29 0d a7 92 2b 20 20 20  20 20 20 e7 20 a9 28 66  |)...+      . .(f|
00022440  24 29 3e 62 69 67 67 65  73 74 25 20 8c 20 62 69  |$)>biggest% . bi|
00022450  67 67 65 73 74 25 3d a9  28 66 24 29 0d a7 9a 0d  |ggest%=.(f$)....|
00022460  20 20 20 20 c9 20 22 42  22 0d a7 a2 26 20 20 20  |    . "B"...&   |
00022470  20 20 20 66 24 2b 3d 22  4c 6f 67 20 4f 66 66 20  |   f$+="Log Off |
00022480  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 0d  |              ".|
00022490  a7 aa 16 20 20 20 20 20  20 73 31 25 3d a7 65 24  |...      s1%=.e$|
000224a0  2c 22 3b 22 29 0d a7 b2  24 20 20 20 20 20 20 66  |,";")...$      f|
000224b0  24 2b 3d a4 73 70 63 28  c1 65 24 2c 32 36 2c 73  |$+=.spc(.e$,26,s|
000224c0  31 25 2d 32 36 29 2c 35  29 0d a7 ba 1c 20 20 20  |1%-26),5)....   |
000224d0  20 20 20 66 24 2b 3d c2  65 24 2c a9 28 65 24 29  |   f$+=.e$,.(e$)|
000224e0  2d 73 31 25 29 0d a7 c2  2b 20 20 20 20 20 20 e7  |-s1%)...+      .|
000224f0  20 a9 28 66 24 29 3e 62  69 67 67 65 73 74 25 20  | .(f$)>biggest% |
00022500  8c 20 62 69 67 67 65 73  74 25 3d a9 28 66 24 29  |. biggest%=.(f$)|
00022510  0d a7 ca 0d 20 20 20 20  c9 20 22 43 22 0d a7 d2  |....    . "C"...|
00022520  26 20 20 20 20 20 20 66  24 2b 3d 22 50 61 73 73  |&      f$+="Pass|
00022530  77 6f 72 64 20 43 68 61  6e 67 65 20 20 20 20 20  |word Change     |
00022540  20 20 22 0d a7 da 16 20  20 20 20 20 20 73 31 25  |  "....      s1%|
00022550  3d a7 65 24 2c 22 3b 22  29 0d a7 e2 1c 20 20 20  |=.e$,";")....   |
00022560  20 20 20 73 32 25 3d a7  65 24 2c 22 3b 22 2c 73  |   s2%=.e$,";",s|
00022570  31 25 2b 31 29 0d a7 ea  1c 20 20 20 20 20 20 73  |1%+1)....      s|
00022580  33 25 3d a7 65 24 2c 22  3b 22 2c 73 32 25 2b 31  |3%=.e$,";",s2%+1|
00022590  29 0d a7 f2 24 20 20 20  20 20 20 66 24 2b 3d a4  |)...$      f$+=.|
000225a0  73 70 63 28 c1 65 24 2c  32 36 2c 73 31 25 2d 32  |spc(.e$,26,s1%-2|
000225b0  36 29 2c 35 29 0d a7 fa  27 20 20 20 20 20 20 66  |6),5)...'      f|
000225c0  24 2b 3d c1 65 24 2c 73  31 25 2b 31 2c 73 32 25  |$+=.e$,s1%+1,s2%|
000225d0  2d 73 31 25 2d 31 29 2b  22 20 20 22 0d a8 02 29  |-s1%-1)+"  "...)|
000225e0  20 20 20 20 20 20 66 24  2b 3d c1 65 24 2c 73 32  |      f$+=.e$,s2|
000225f0  25 2b 31 2c 73 33 25 2d  73 32 25 2d 31 29 2b 22  |%+1,s3%-s2%-1)+"|
00022600  20 74 6f 20 22 0d a8 0a  1c 20 20 20 20 20 20 66  | to "....      f|
00022610  24 2b 3d c2 65 24 2c a9  28 65 24 29 2d 73 33 25  |$+=.e$,.(e$)-s3%|
00022620  29 0d a8 12 2b 20 20 20  20 20 20 e7 20 a9 28 66  |)...+      . .(f|
00022630  24 29 3e 62 69 67 67 65  73 74 25 20 8c 20 62 69  |$)>biggest% . bi|
00022640  67 67 65 73 74 25 3d a9  28 66 24 29 0d a8 1a 0d  |ggest%=.(f$)....|
00022650  20 20 20 20 c9 20 22 44  22 0d a8 22 26 20 20 20  |    . "D".."&   |
00022660  20 20 20 66 24 2b 3d 22  4e 65 77 20 4e 65 77 73  |   f$+="New News|
00022670  20 50 61 67 65 20 20 20  20 20 20 20 20 20 22 0d  | Page         ".|
00022680  a8 2a 16 20 20 20 20 20  20 73 31 25 3d a7 65 24  |.*.      s1%=.e$|
00022690  2c 22 3b 22 29 0d a8 32  24 20 20 20 20 20 20 66  |,";")..2$      f|
000226a0  24 2b 3d a4 73 70 63 28  c1 65 24 2c 32 36 2c 73  |$+=.spc(.e$,26,s|
000226b0  31 25 2d 32 36 29 2c 35  29 0d a8 3a 1c 20 20 20  |1%-26),5)..:.   |
000226c0  20 20 20 66 24 2b 3d c2  65 24 2c a9 28 65 24 29  |   f$+=.e$,.(e$)|
000226d0  2d 73 31 25 29 0d a8 42  2b 20 20 20 20 20 20 e7  |-s1%)..B+      .|
000226e0  20 a9 28 66 24 29 3e 62  69 67 67 65 73 74 25 20  | .(f$)>biggest% |
000226f0  8c 20 62 69 67 67 65 73  74 25 3d a9 28 66 24 29  |. biggest%=.(f$)|
00022700  0d a8 4a 0d 20 20 20 20  c9 20 22 45 22 0d a8 52  |..J.    . "E"..R|
00022710  26 20 20 20 20 20 20 66  24 2b 3d 22 49 73 73 75  |&      f$+="Issu|
00022720  65 20 42 6f 6f 6b 20 20  20 20 20 20 20 20 20 20  |e Book          |
00022730  20 20 22 0d a8 5a 16 20  20 20 20 20 20 73 31 25  |  "..Z.      s1%|
00022740  3d a7 65 24 2c 22 3b 22  29 0d a8 62 1c 20 20 20  |=.e$,";")..b.   |
00022750  20 20 20 73 32 25 3d a7  65 24 2c 22 3b 22 2c 73  |   s2%=.e$,";",s|
00022760  31 25 2b 31 29 0d a8 6a  24 20 20 20 20 20 20 66  |1%+1)..j$      f|
00022770  24 2b 3d a4 73 70 63 28  c1 65 24 2c 32 36 2c 73  |$+=.spc(.e$,26,s|
00022780  31 25 2d 32 36 29 2c 35  29 0d a8 72 27 20 20 20  |1%-26),5)..r'   |
00022790  20 20 20 66 24 2b 3d c1  65 24 2c 73 31 25 2b 31  |   f$+=.e$,s1%+1|
000227a0  2c 73 32 25 2d 73 31 25  2d 31 29 2b 22 20 20 22  |,s2%-s1%-1)+"  "|
000227b0  0d a8 7a 1d 20 20 20 20  20 20 63 75 74 24 3d c2  |..z.      cut$=.|
000227c0  65 24 2c a9 28 65 24 29  2d 73 32 25 29 0d a8 82  |e$,.(e$)-s2%)...|
000227d0  31 20 20 20 20 20 20 66  24 2b 3d 22 41 63 63 6e  |1      f$+="Accn|
000227e0  20 22 2b a4 43 68 65 63  6b 5f 44 69 67 69 74 5f  | "+.Check_Digit_|
000227f0  50 6c 75 73 28 c0 63 75  74 24 2c 35 29 29 0d a8  |Plus(.cut$,5))..|
00022800  8a 34 20 20 20 20 20 20  66 24 2b 3d 22 20 20 4d  |.4      f$+="  M|
00022810  65 6d 20 22 2b a4 43 68  65 63 6b 5f 44 69 67 69  |em "+.Check_Digi|
00022820  74 5f 50 6c 75 73 28 c1  63 75 74 24 2c 36 2c 38  |t_Plus(.cut$,6,8|
00022830  29 29 0d a8 92 3f 20 20  20 20 20 20 66 24 2b 3d  |))...?      f$+=|
00022840  22 20 20 44 75 65 20 22  2b c1 63 75 74 24 2c 31  |"  Due "+.cut$,1|
00022850  34 2c 32 29 2b 22 2d 22  2b c1 63 75 74 24 2c 31  |4,2)+"-"+.cut$,1|
00022860  36 2c 32 29 2b 22 2d 22  2b c2 63 75 74 24 2c 32  |6,2)+"-"+.cut$,2|
00022870  29 0d a8 9a 2b 20 20 20  20 20 20 e7 20 a9 28 66  |)...+      . .(f|
00022880  24 29 3e 62 69 67 67 65  73 74 25 20 8c 20 62 69  |$)>biggest% . bi|
00022890  67 67 65 73 74 25 3d a9  28 66 24 29 0d a8 a2 0d  |ggest%=.(f$)....|
000228a0  20 20 20 20 c9 20 22 46  22 0d a8 aa 26 20 20 20  |    . "F"...&   |
000228b0  20 20 20 66 24 2b 3d 22  52 65 74 75 72 6e 20 42  |   f$+="Return B|
000228c0  6f 6f 6b 20 20 20 20 20  20 20 20 20 20 20 22 0d  |ook           ".|
000228d0  a8 b2 16 20 20 20 20 20  20 73 31 25 3d a7 65 24  |...      s1%=.e$|
000228e0  2c 22 3b 22 29 0d a8 ba  1c 20 20 20 20 20 20 73  |,";")....      s|
000228f0  32 25 3d a7 65 24 2c 22  3b 22 2c 73 31 25 2b 31  |2%=.e$,";",s1%+1|
00022900  29 0d a8 c2 24 20 20 20  20 20 20 66 24 2b 3d a4  |)...$      f$+=.|
00022910  73 70 63 28 c1 65 24 2c  32 36 2c 73 31 25 2d 32  |spc(.e$,26,s1%-2|
00022920  36 29 2c 35 29 0d a8 ca  27 20 20 20 20 20 20 66  |6),5)...'      f|
00022930  24 2b 3d c1 65 24 2c 73  31 25 2b 31 2c 73 32 25  |$+=.e$,s1%+1,s2%|
00022940  2d 73 31 25 2d 31 29 2b  22 20 20 22 0d a8 d2 1d  |-s1%-1)+"  "....|
00022950  20 20 20 20 20 20 63 75  74 24 3d c2 65 24 2c a9  |      cut$=.e$,.|
00022960  28 65 24 29 2d 73 32 25  29 0d a8 da 31 20 20 20  |(e$)-s2%)...1   |
00022970  20 20 20 66 24 2b 3d 22  41 63 63 6e 20 22 2b a4  |   f$+="Accn "+.|
00022980  43 68 65 63 6b 5f 44 69  67 69 74 5f 50 6c 75 73  |Check_Digit_Plus|
00022990  28 c0 63 75 74 24 2c 35  29 29 0d a8 e2 32 20 20  |(.cut$,5))...2  |
000229a0  20 20 20 20 66 24 2b 3d  22 20 20 4d 65 6d 20 22  |    f$+="  Mem "|
000229b0  2b a4 43 68 65 63 6b 5f  44 69 67 69 74 5f 50 6c  |+.Check_Digit_Pl|
000229c0  75 73 28 c2 63 75 74 24  2c 38 29 29 0d a8 ea 2b  |us(.cut$,8))...+|
000229d0  20 20 20 20 20 20 e7 20  a9 28 66 24 29 3e 62 69  |      . .(f$)>bi|
000229e0  67 67 65 73 74 25 20 8c  20 62 69 67 67 65 73 74  |ggest% . biggest|
000229f0  25 3d a9 28 66 24 29 0d  a8 f2 0d 20 20 20 20 c9  |%=.(f$)....    .|
00022a00  20 22 47 22 0d a8 fa 26  20 20 20 20 20 20 66 24  | "G"...&      f$|
00022a10  2b 3d 22 52 65 6e 65 77  20 42 6f 6f 6b 20 20 20  |+="Renew Book   |
00022a20  20 20 20 20 20 20 20 20  20 22 0d a9 02 16 20 20  |         "....  |
00022a30  20 20 20 20 73 31 25 3d  a7 65 24 2c 22 3b 22 29  |    s1%=.e$,";")|
00022a40  0d a9 0a 1c 20 20 20 20  20 20 73 32 25 3d a7 65  |....      s2%=.e|
00022a50  24 2c 22 3b 22 2c 73 31  25 2b 31 29 0d a9 12 24  |$,";",s1%+1)...$|
00022a60  20 20 20 20 20 20 66 24  2b 3d a4 73 70 63 28 c1  |      f$+=.spc(.|
00022a70  65 24 2c 32 36 2c 73 31  25 2d 32 36 29 2c 35 29  |e$,26,s1%-26),5)|
00022a80  0d a9 1a 27 20 20 20 20  20 20 66 24 2b 3d c1 65  |...'      f$+=.e|
00022a90  24 2c 73 31 25 2b 31 2c  73 32 25 2d 73 31 25 2d  |$,s1%+1,s2%-s1%-|
00022aa0  31 29 2b 22 20 20 22 0d  a9 22 1d 20 20 20 20 20  |1)+"  "..".     |
00022ab0  20 63 75 74 24 3d c2 65  24 2c a9 28 65 24 29 2d  | cut$=.e$,.(e$)-|
00022ac0  73 32 25 29 0d a9 2a 31  20 20 20 20 20 20 66 24  |s2%)..*1      f$|
00022ad0  2b 3d 22 41 63 63 6e 20  22 2b a4 43 68 65 63 6b  |+="Accn "+.Check|
00022ae0  5f 44 69 67 69 74 5f 50  6c 75 73 28 c0 63 75 74  |_Digit_Plus(.cut|
00022af0  24 2c 35 29 29 0d a9 32  34 20 20 20 20 20 20 66  |$,5))..24      f|
00022b00  24 2b 3d 22 20 20 4d 65  6d 20 22 2b a4 43 68 65  |$+="  Mem "+.Che|
00022b10  63 6b 5f 44 69 67 69 74  5f 50 6c 75 73 28 c1 63  |ck_Digit_Plus(.c|
00022b20  75 74 24 2c 36 2c 38 29  29 0d a9 3a 3f 20 20 20  |ut$,6,8))..:?   |
00022b30  20 20 20 66 24 2b 3d 22  20 20 44 75 65 20 22 2b  |   f$+="  Due "+|
00022b40  c1 63 75 74 24 2c 31 34  2c 32 29 2b 22 2d 22 2b  |.cut$,14,2)+"-"+|
00022b50  c1 63 75 74 24 2c 31 36  2c 32 29 2b 22 2d 22 2b  |.cut$,16,2)+"-"+|
00022b60  c2 63 75 74 24 2c 32 29  0d a9 42 2b 20 20 20 20  |.cut$,2)..B+    |
00022b70  20 20 e7 20 a9 28 66 24  29 3e 62 69 67 67 65 73  |  . .(f$)>bigges|
00022b80  74 25 20 8c 20 62 69 67  67 65 73 74 25 3d a9 28  |t% . biggest%=.(|
00022b90  66 24 29 0d a9 4a 0d 20  20 20 20 c9 20 22 48 22  |f$)..J.    . "H"|
00022ba0  0d a9 52 26 20 20 20 20  20 20 66 24 2b 3d 22 41  |..R&      f$+="A|
00022bb0  64 64 20 53 74 6f 63 6b  20 20 20 20 20 20 20 20  |dd Stock        |
00022bc0  20 20 20 20 20 22 0d a9  5a 16 20 20 20 20 20 20  |     "..Z.      |
00022bd0  73 31 25 3d a7 65 24 2c  22 3b 22 29 0d a9 62 1c  |s1%=.e$,";")..b.|
00022be0  20 20 20 20 20 20 73 32  25 3d a7 65 24 2c 22 3b  |      s2%=.e$,";|
00022bf0  22 2c 73 31 25 2b 31 29  0d a9 6a 24 20 20 20 20  |",s1%+1)..j$    |
00022c00  20 20 66 24 2b 3d a4 73  70 63 28 c1 65 24 2c 32  |  f$+=.spc(.e$,2|
00022c10  36 2c 73 31 25 2d 32 36  29 2c 35 29 0d a9 72 27  |6,s1%-26),5)..r'|
00022c20  20 20 20 20 20 20 66 24  2b 3d c1 65 24 2c 73 31  |      f$+=.e$,s1|
00022c30  25 2b 31 2c 73 32 25 2d  73 31 25 2d 31 29 2b 22  |%+1,s2%-s1%-1)+"|
00022c40  20 20 22 0d a9 7a 37 20  20 20 20 20 20 66 24 2b  |  "..z7      f$+|
00022c50  3d 22 41 63 63 6e 20 22  2b a4 43 68 65 63 6b 5f  |="Accn "+.Check_|
00022c60  44 69 67 69 74 5f 50 6c  75 73 28 c2 65 24 2c a9  |Digit_Plus(.e$,.|
00022c70  28 65 24 29 2d 73 32 25  29 29 0d a9 82 2b 20 20  |(e$)-s2%))...+  |
00022c80  20 20 20 20 e7 20 a9 28  66 24 29 3e 62 69 67 67  |    . .(f$)>bigg|
00022c90  65 73 74 25 20 8c 20 62  69 67 67 65 73 74 25 3d  |est% . biggest%=|
00022ca0  a9 28 66 24 29 0d a9 8a  0d 20 20 20 20 c9 20 22  |.(f$)....    . "|
00022cb0  49 22 0d a9 92 26 20 20  20 20 20 20 66 24 2b 3d  |I"...&      f$+=|
00022cc0  22 52 65 6d 6f 76 65 20  53 74 6f 63 6b 20 20 20  |"Remove Stock   |
00022cd0  20 20 20 20 20 20 20 22  0d a9 9a 16 20 20 20 20  |       "....    |
00022ce0  20 20 73 31 25 3d a7 65  24 2c 22 3b 22 29 0d a9  |  s1%=.e$,";")..|
00022cf0  a2 1c 20 20 20 20 20 20  73 32 25 3d a7 65 24 2c  |..      s2%=.e$,|
00022d00  22 3b 22 2c 73 31 25 2b  31 29 0d a9 aa 24 20 20  |";",s1%+1)...$  |
00022d10  20 20 20 20 66 24 2b 3d  a4 73 70 63 28 c1 65 24  |    f$+=.spc(.e$|
00022d20  2c 32 36 2c 73 31 25 2d  32 36 29 2c 35 29 0d a9  |,26,s1%-26),5)..|
00022d30  b2 27 20 20 20 20 20 20  66 24 2b 3d c1 65 24 2c  |.'      f$+=.e$,|
00022d40  73 31 25 2b 31 2c 73 32  25 2d 73 31 25 2d 31 29  |s1%+1,s2%-s1%-1)|
00022d50  2b 22 20 20 22 0d a9 ba  37 20 20 20 20 20 20 66  |+"  "...7      f|
00022d60  24 2b 3d 22 41 63 63 6e  20 22 2b a4 43 68 65 63  |$+="Accn "+.Chec|
00022d70  6b 5f 44 69 67 69 74 5f  50 6c 75 73 28 c2 65 24  |k_Digit_Plus(.e$|
00022d80  2c a9 28 65 24 29 2d 73  32 25 29 29 0d a9 c2 2b  |,.(e$)-s2%))...+|
00022d90  20 20 20 20 20 20 e7 20  a9 28 66 24 29 3e 62 69  |      . .(f$)>bi|
00022da0  67 67 65 73 74 25 20 8c  20 62 69 67 67 65 73 74  |ggest% . biggest|
00022db0  25 3d a9 28 66 24 29 0d  a9 ca 0d 20 20 20 20 c9  |%=.(f$)....    .|
00022dc0  20 22 4a 22 0d a9 d2 26  20 20 20 20 20 20 66 24  | "J"...&      f$|
00022dd0  2b 3d 22 43 68 61 6e 67  65 20 53 74 6f 63 6b 20  |+="Change Stock |
00022de0  20 20 20 20 20 20 20 20  20 22 0d a9 da 16 20 20  |         "....  |
00022df0  20 20 20 20 73 31 25 3d  a7 65 24 2c 22 3b 22 29  |    s1%=.e$,";")|
00022e00  0d a9 e2 1c 20 20 20 20  20 20 73 32 25 3d a7 65  |....      s2%=.e|
00022e10  24 2c 22 3b 22 2c 73 31  25 2b 31 29 0d a9 ea 24  |$,";",s1%+1)...$|
00022e20  20 20 20 20 20 20 66 24  2b 3d a4 73 70 63 28 c1  |      f$+=.spc(.|
00022e30  65 24 2c 32 36 2c 73 31  25 2d 32 36 29 2c 35 29  |e$,26,s1%-26),5)|
00022e40  0d a9 f2 27 20 20 20 20  20 20 66 24 2b 3d c1 65  |...'      f$+=.e|
00022e50  24 2c 73 31 25 2b 31 2c  73 32 25 2d 73 31 25 2d  |$,s1%+1,s2%-s1%-|
00022e60  31 29 2b 22 20 20 22 0d  a9 fa 37 20 20 20 20 20  |1)+"  "...7     |
00022e70  20 66 24 2b 3d 22 41 63  63 6e 20 22 2b a4 43 68  | f$+="Accn "+.Ch|
00022e80  65 63 6b 5f 44 69 67 69  74 5f 50 6c 75 73 28 c2  |eck_Digit_Plus(.|
00022e90  65 24 2c a9 28 65 24 29  2d 73 32 25 29 29 0d aa  |e$,.(e$)-s2%))..|
00022ea0  02 2b 20 20 20 20 20 20  e7 20 a9 28 66 24 29 3e  |.+      . .(f$)>|
00022eb0  62 69 67 67 65 73 74 25  20 8c 20 62 69 67 67 65  |biggest% . bigge|
00022ec0  73 74 25 3d a9 28 66 24  29 0d aa 0a 0d 20 20 20  |st%=.(f$)....   |
00022ed0  20 c9 20 22 4b 22 0d aa  12 26 20 20 20 20 20 20  | . "K"...&      |
00022ee0  66 24 2b 3d 22 56 69 65  77 20 53 74 6f 63 6b 20  |f$+="View Stock |
00022ef0  20 20 20 20 20 20 20 20  20 20 20 22 0d aa 1a 16  |           "....|
00022f00  20 20 20 20 20 20 73 31  25 3d a7 65 24 2c 22 3b  |      s1%=.e$,";|
00022f10  22 29 0d aa 22 1c 20 20  20 20 20 20 73 32 25 3d  |")..".      s2%=|
00022f20  a7 65 24 2c 22 3b 22 2c  73 31 25 2b 31 29 0d aa  |.e$,";",s1%+1)..|
00022f30  2a 24 20 20 20 20 20 20  66 24 2b 3d a4 73 70 63  |*$      f$+=.spc|
00022f40  28 c1 65 24 2c 32 36 2c  73 31 25 2d 32 36 29 2c  |(.e$,26,s1%-26),|
00022f50  35 29 0d aa 32 27 20 20  20 20 20 20 66 24 2b 3d  |5)..2'      f$+=|
00022f60  c1 65 24 2c 73 31 25 2b  31 2c 73 32 25 2d 73 31  |.e$,s1%+1,s2%-s1|
00022f70  25 2d 31 29 2b 22 20 20  22 0d aa 3a 37 20 20 20  |%-1)+"  "..:7   |
00022f80  20 20 20 66 24 2b 3d 22  41 63 63 6e 20 22 2b a4  |   f$+="Accn "+.|
00022f90  43 68 65 63 6b 5f 44 69  67 69 74 5f 50 6c 75 73  |Check_Digit_Plus|
00022fa0  28 c2 65 24 2c a9 28 65  24 29 2d 73 32 25 29 29  |(.e$,.(e$)-s2%))|
00022fb0  0d aa 42 2b 20 20 20 20  20 20 e7 20 a9 28 66 24  |..B+      . .(f$|
00022fc0  29 3e 62 69 67 67 65 73  74 25 20 8c 20 62 69 67  |)>biggest% . big|
00022fd0  67 65 73 74 25 3d a9 28  66 24 29 0d aa 4a 0d 20  |gest%=.(f$)..J. |
00022fe0  20 20 20 c9 20 22 4c 22  0d aa 52 26 20 20 20 20  |   . "L"..R&    |
00022ff0  20 20 66 24 2b 3d 22 4e  65 77 20 4d 65 6d 62 65  |  f$+="New Membe|
00023000  72 20 20 20 20 20 20 20  20 20 20 20 20 22 0d aa  |r            "..|
00023010  5a 16 20 20 20 20 20 20  73 31 25 3d a7 65 24 2c  |Z.      s1%=.e$,|
00023020  22 3b 22 29 0d aa 62 1c  20 20 20 20 20 20 73 32  |";")..b.      s2|
00023030  25 3d a7 65 24 2c 22 3b  22 2c 73 31 25 2b 31 29  |%=.e$,";",s1%+1)|
00023040  0d aa 6a 24 20 20 20 20  20 20 66 24 2b 3d a4 73  |..j$      f$+=.s|
00023050  70 63 28 c1 65 24 2c 32  36 2c 73 31 25 2d 32 36  |pc(.e$,26,s1%-26|
00023060  29 2c 35 29 0d aa 72 27  20 20 20 20 20 20 66 24  |),5)..r'      f$|
00023070  2b 3d c1 65 24 2c 73 31  25 2b 31 2c 73 32 25 2d  |+=.e$,s1%+1,s2%-|
00023080  73 31 25 2d 31 29 2b 22  20 20 22 0d aa 7a 36 20  |s1%-1)+"  "..z6 |
00023090  20 20 20 20 20 66 24 2b  3d 22 4d 65 6d 20 22 2b  |     f$+="Mem "+|
000230a0  a4 43 68 65 63 6b 5f 44  69 67 69 74 5f 50 6c 75  |.Check_Digit_Plu|
000230b0  73 28 c2 65 24 2c a9 28  65 24 29 2d 73 32 25 29  |s(.e$,.(e$)-s2%)|
000230c0  29 0d aa 82 2b 20 20 20  20 20 20 e7 20 a9 28 66  |)...+      . .(f|
000230d0  24 29 3e 62 69 67 67 65  73 74 25 20 8c 20 62 69  |$)>biggest% . bi|
000230e0  67 67 65 73 74 25 3d a9  28 66 24 29 0d aa 8a 0d  |ggest%=.(f$)....|
000230f0  20 20 20 20 c9 20 22 4d  22 0d aa 92 26 20 20 20  |    . "M"...&   |
00023100  20 20 20 66 24 2b 3d 22  52 65 6d 6f 76 65 20 4d  |   f$+="Remove M|
00023110  65 6d 62 65 72 20 20 20  20 20 20 20 20 20 22 0d  |ember         ".|
00023120  aa 9a 16 20 20 20 20 20  20 73 31 25 3d a7 65 24  |...      s1%=.e$|
00023130  2c 22 3b 22 29 0d aa a2  1c 20 20 20 20 20 20 73  |,";")....      s|
00023140  32 25 3d a7 65 24 2c 22  3b 22 2c 73 31 25 2b 31  |2%=.e$,";",s1%+1|
00023150  29 0d aa aa 24 20 20 20  20 20 20 66 24 2b 3d a4  |)...$      f$+=.|
00023160  73 70 63 28 c1 65 24 2c  32 36 2c 73 31 25 2d 32  |spc(.e$,26,s1%-2|
00023170  36 29 2c 35 29 0d aa b2  27 20 20 20 20 20 20 66  |6),5)...'      f|
00023180  24 2b 3d c1 65 24 2c 73  31 25 2b 31 2c 73 32 25  |$+=.e$,s1%+1,s2%|
00023190  2d 73 31 25 2d 31 29 2b  22 20 20 22 0d aa ba 36  |-s1%-1)+"  "...6|
000231a0  20 20 20 20 20 20 66 24  2b 3d 22 4d 65 6d 20 22  |      f$+="Mem "|
000231b0  2b a4 43 68 65 63 6b 5f  44 69 67 69 74 5f 50 6c  |+.Check_Digit_Pl|
000231c0  75 73 28 c2 65 24 2c a9  28 65 24 29 2d 73 32 25  |us(.e$,.(e$)-s2%|
000231d0  29 29 0d aa c2 2b 20 20  20 20 20 20 e7 20 a9 28  |))...+      . .(|
000231e0  66 24 29 3e 62 69 67 67  65 73 74 25 20 8c 20 62  |f$)>biggest% . b|
000231f0  69 67 67 65 73 74 25 3d  a9 28 66 24 29 0d aa ca  |iggest%=.(f$)...|
00023200  0d 20 20 20 20 c9 20 22  4e 22 0d aa d2 26 20 20  |.    . "N"...&  |
00023210  20 20 20 20 66 24 2b 3d  22 43 68 61 6e 67 65 20  |    f$+="Change |
00023220  4d 65 6d 62 65 72 20 20  20 20 20 20 20 20 20 22  |Member         "|
00023230  0d aa da 16 20 20 20 20  20 20 73 31 25 3d a7 65  |....      s1%=.e|
00023240  24 2c 22 3b 22 29 0d aa  e2 1c 20 20 20 20 20 20  |$,";")....      |
00023250  73 32 25 3d a7 65 24 2c  22 3b 22 2c 73 31 25 2b  |s2%=.e$,";",s1%+|
00023260  31 29 0d aa ea 24 20 20  20 20 20 20 66 24 2b 3d  |1)...$      f$+=|
00023270  a4 73 70 63 28 c1 65 24  2c 32 36 2c 73 31 25 2d  |.spc(.e$,26,s1%-|
00023280  32 36 29 2c 35 29 0d aa  f2 27 20 20 20 20 20 20  |26),5)...'      |
00023290  66 24 2b 3d c1 65 24 2c  73 31 25 2b 31 2c 73 32  |f$+=.e$,s1%+1,s2|
000232a0  25 2d 73 31 25 2d 31 29  2b 22 20 20 22 0d aa fa  |%-s1%-1)+"  "...|
000232b0  36 20 20 20 20 20 20 66  24 2b 3d 22 4d 65 6d 20  |6      f$+="Mem |
000232c0  22 2b a4 43 68 65 63 6b  5f 44 69 67 69 74 5f 50  |"+.Check_Digit_P|
000232d0  6c 75 73 28 c2 65 24 2c  a9 28 65 24 29 2d 73 32  |lus(.e$,.(e$)-s2|
000232e0  25 29 29 0d ab 02 2b 20  20 20 20 20 20 e7 20 a9  |%))...+      . .|
000232f0  28 66 24 29 3e 62 69 67  67 65 73 74 25 20 8c 20  |(f$)>biggest% . |
00023300  62 69 67 67 65 73 74 25  3d a9 28 66 24 29 0d ab  |biggest%=.(f$)..|
00023310  0a 0d 20 20 20 20 c9 20  22 4f 22 0d ab 12 26 20  |..    . "O"...& |
00023320  20 20 20 20 20 66 24 2b  3d 22 56 69 65 77 20 4d  |     f$+="View M|
00023330  65 6d 62 65 72 20 20 20  20 20 20 20 20 20 20 20  |ember           |
00023340  22 0d ab 1a 16 20 20 20  20 20 20 73 31 25 3d a7  |"....      s1%=.|
00023350  65 24 2c 22 3b 22 29 0d  ab 22 1c 20 20 20 20 20  |e$,";")..".     |
00023360  20 73 32 25 3d a7 65 24  2c 22 3b 22 2c 73 31 25  | s2%=.e$,";",s1%|
00023370  2b 31 29 0d ab 2a 24 20  20 20 20 20 20 66 24 2b  |+1)..*$      f$+|
00023380  3d a4 73 70 63 28 c1 65  24 2c 32 36 2c 73 31 25  |=.spc(.e$,26,s1%|
00023390  2d 32 36 29 2c 35 29 0d  ab 32 27 20 20 20 20 20  |-26),5)..2'     |
000233a0  20 66 24 2b 3d c1 65 24  2c 73 31 25 2b 31 2c 73  | f$+=.e$,s1%+1,s|
000233b0  32 25 2d 73 31 25 2d 31  29 2b 22 20 20 22 0d ab  |2%-s1%-1)+"  "..|
000233c0  3a 36 20 20 20 20 20 20  66 24 2b 3d 22 4d 65 6d  |:6      f$+="Mem|
000233d0  20 22 2b a4 43 68 65 63  6b 5f 44 69 67 69 74 5f  | "+.Check_Digit_|
000233e0  50 6c 75 73 28 c2 65 24  2c a9 28 65 24 29 2d 73  |Plus(.e$,.(e$)-s|
000233f0  32 25 29 29 0d ab 42 2b  20 20 20 20 20 20 e7 20  |2%))..B+      . |
00023400  a9 28 66 24 29 3e 62 69  67 67 65 73 74 25 20 8c  |.(f$)>biggest% .|
00023410  20 62 69 67 67 65 73 74  25 3d a9 28 66 24 29 0d  | biggest%=.(f$).|
00023420  ab 4a 0d 20 20 20 20 c9  20 22 50 22 0d ab 52 26  |.J.    . "P"..R&|
00023430  20 20 20 20 20 20 66 24  2b 3d 22 42 6f 6f 6b 20  |      f$+="Book |
00023440  44 69 72 65 63 74 6f 72  79 20 20 20 20 20 20 20  |Directory       |
00023450  20 22 0d ab 5a 16 20 20  20 20 20 20 73 31 25 3d  | "..Z.      s1%=|
00023460  a7 65 24 2c 22 3b 22 29  0d ab 62 1c 20 20 20 20  |.e$,";")..b.    |
00023470  20 20 73 32 25 3d a7 65  24 2c 22 3b 22 2c 73 31  |  s2%=.e$,";",s1|
00023480  25 2b 31 29 0d ab 6a 24  20 20 20 20 20 20 66 24  |%+1)..j$      f$|
00023490  2b 3d a4 73 70 63 28 c1  65 24 2c 32 36 2c 73 31  |+=.spc(.e$,26,s1|
000234a0  25 2d 32 36 29 2c 35 29  0d ab 72 27 20 20 20 20  |%-26),5)..r'    |
000234b0  20 20 66 24 2b 3d c1 65  24 2c 73 31 25 2b 31 2c  |  f$+=.e$,s1%+1,|
000234c0  73 32 25 2d 73 31 25 2d  31 29 2b 22 20 20 22 0d  |s2%-s1%-1)+"  ".|
000234d0  ab 7a 1c 20 20 20 20 20  20 66 24 2b 3d c2 65 24  |.z.      f$+=.e$|
000234e0  2c a9 28 73 24 29 2d 73  32 25 29 0d ab 82 2b 20  |,.(s$)-s2%)...+ |
000234f0  20 20 20 20 20 e7 20 a9  28 66 24 29 3e 62 69 67  |     . .(f$)>big|
00023500  67 65 73 74 25 20 8c 20  62 69 67 67 65 73 74 25  |gest% . biggest%|
00023510  3d a9 28 66 24 29 0d ab  8a 0d 20 20 20 20 c9 20  |=.(f$)....    . |
00023520  22 51 22 0d ab 92 26 20  20 20 20 20 20 66 24 2b  |"Q"...&      f$+|
00023530  3d 22 4d 65 6d 62 65 72  20 44 69 72 65 63 74 6f  |="Member Directo|
00023540  72 79 20 20 20 20 20 20  22 0d ab 9a 16 20 20 20  |ry      "....   |
00023550  20 20 20 73 31 25 3d a7  65 24 2c 22 3b 22 29 0d  |   s1%=.e$,";").|
00023560  ab a2 1c 20 20 20 20 20  20 73 32 25 3d a7 65 24  |...      s2%=.e$|
00023570  2c 22 3b 22 2c 73 31 25  2b 31 29 0d ab aa 24 20  |,";",s1%+1)...$ |
00023580  20 20 20 20 20 66 24 2b  3d a4 73 70 63 28 c1 65  |     f$+=.spc(.e|
00023590  24 2c 32 36 2c 73 31 25  2d 32 36 29 2c 35 29 0d  |$,26,s1%-26),5).|
000235a0  ab b2 27 20 20 20 20 20  20 66 24 2b 3d c1 65 24  |..'      f$+=.e$|
000235b0  2c 73 31 25 2b 31 2c 73  32 25 2d 73 31 25 2d 31  |,s1%+1,s2%-s1%-1|
000235c0  29 2b 22 20 20 22 0d ab  ba 1c 20 20 20 20 20 20  |)+"  "....      |
000235d0  66 24 2b 3d c2 65 24 2c  a9 28 73 24 29 2d 73 32  |f$+=.e$,.(s$)-s2|
000235e0  25 29 0d ab c2 2b 20 20  20 20 20 20 e7 20 a9 28  |%)...+      . .(|
000235f0  66 24 29 3e 62 69 67 67  65 73 74 25 20 8c 20 62  |f$)>biggest% . b|
00023600  69 67 67 65 73 74 25 3d  a9 28 66 24 29 0d ab ca  |iggest%=.(f$)...|
00023610  0d 20 20 20 20 c9 20 22  52 22 0d ab d2 26 20 20  |.    . "R"...&  |
00023620  20 20 20 20 66 24 2b 3d  22 50 61 73 73 77 6f 72  |    f$+="Passwor|
00023630  64 20 43 6f 6e 74 72 6f  6c 20 20 20 20 20 20 22  |d Control      "|
00023640  0d ab da 16 20 20 20 20  20 20 73 31 25 3d a7 65  |....      s1%=.e|
00023650  24 2c 22 3b 22 29 0d ab  e2 24 20 20 20 20 20 20  |$,";")...$      |
00023660  66 24 2b 3d a4 73 70 63  28 c1 65 24 2c 32 36 2c  |f$+=.spc(.e$,26,|
00023670  73 31 25 2d 32 36 29 2c  35 29 0d ab ea 1c 20 20  |s1%-26),5)....  |
00023680  20 20 20 20 66 24 2b 3d  c2 65 24 2c a9 28 65 24  |    f$+=.e$,.(e$|
00023690  29 2d 73 31 25 29 0d ab  f2 2b 20 20 20 20 20 20  |)-s1%)...+      |
000236a0  e7 20 a9 28 66 24 29 3e  62 69 67 67 65 73 74 25  |. .(f$)>biggest%|
000236b0  20 8c 20 62 69 67 67 65  73 74 25 3d a9 28 66 24  | . biggest%=.(f$|
000236c0  29 0d ab fa 0d 20 20 20  20 c9 20 22 53 22 0d ac  |)....    . "S"..|
000236d0  02 26 20 20 20 20 20 20  66 24 2b 3d 22 46 69 6e  |.&      f$+="Fin|
000236e0  65 20 50 72 65 73 65 74  73 20 20 20 20 20 20 20  |e Presets       |
000236f0  20 20 20 22 0d ac 0a 16  20 20 20 20 20 20 73 31  |   "....      s1|
00023700  25 3d a7 65 24 2c 22 3b  22 29 0d ac 12 24 20 20  |%=.e$,";")...$  |
00023710  20 20 20 20 66 24 2b 3d  a4 73 70 63 28 c1 65 24  |    f$+=.spc(.e$|
00023720  2c 32 36 2c 73 31 25 2d  32 36 29 2c 35 29 0d ac  |,26,s1%-26),5)..|
00023730  1a 1c 20 20 20 20 20 20  66 24 2b 3d c2 65 24 2c  |..      f$+=.e$,|
00023740  a9 28 65 24 29 2d 73 31  25 29 0d ac 22 2b 20 20  |.(e$)-s1%).."+  |
00023750  20 20 20 20 e7 20 a9 28  66 24 29 3e 62 69 67 67  |    . .(f$)>bigg|
00023760  65 73 74 25 20 8c 20 62  69 67 67 65 73 74 25 3d  |est% . biggest%=|
00023770  a9 28 66 24 29 0d ac 2a  0d 20 20 20 20 c9 20 22  |.(f$)..*.    . "|
00023780  54 22 0d ac 32 26 20 20  20 20 20 20 66 24 2b 3d  |T"..2&      f$+=|
00023790  22 4c 65 6e 64 69 6e 67  20 50 72 65 73 65 74 73  |"Lending Presets|
000237a0  20 20 20 20 20 20 20 22  0d ac 3a 16 20 20 20 20  |       "..:.    |
000237b0  20 20 73 31 25 3d a7 65  24 2c 22 3b 22 29 0d ac  |  s1%=.e$,";")..|
000237c0  42 24 20 20 20 20 20 20  66 24 2b 3d a4 73 70 63  |B$      f$+=.spc|
000237d0  28 c1 65 24 2c 32 36 2c  73 31 25 2d 32 36 29 2c  |(.e$,26,s1%-26),|
000237e0  35 29 0d ac 4a 1c 20 20  20 20 20 20 66 24 2b 3d  |5)..J.      f$+=|
000237f0  c2 65 24 2c a9 28 65 24  29 2d 73 31 25 29 0d ac  |.e$,.(e$)-s1%)..|
00023800  52 2b 20 20 20 20 20 20  e7 20 a9 28 66 24 29 3e  |R+      . .(f$)>|
00023810  62 69 67 67 65 73 74 25  20 8c 20 62 69 67 67 65  |biggest% . bigge|
00023820  73 74 25 3d a9 28 66 24  29 0d ac 5a 0d 20 20 20  |st%=.(f$)..Z.   |
00023830  20 c9 20 22 55 22 0d ac  62 26 20 20 20 20 20 20  | . "U"..b&      |
00023840  66 24 2b 3d 22 57 61 74  63 68 64 6f 67 20 41 63  |f$+="Watchdog Ac|
00023850  74 69 76 61 74 65 64 20  20 20 20 22 0d ac 6a 16  |tivated    "..j.|
00023860  20 20 20 20 20 20 73 31  25 3d a7 65 24 2c 22 3b  |      s1%=.e$,";|
00023870  22 29 0d ac 72 24 20 20  20 20 20 20 66 24 2b 3d  |")..r$      f$+=|
00023880  a4 73 70 63 28 c1 65 24  2c 32 36 2c 73 31 25 2d  |.spc(.e$,26,s1%-|
00023890  32 36 29 2c 35 29 0d ac  7a 1c 20 20 20 20 20 20  |26),5)..z.      |
000238a0  66 24 2b 3d c2 65 24 2c  a9 28 65 24 29 2d 73 31  |f$+=.e$,.(e$)-s1|
000238b0  25 29 0d ac 82 2b 20 20  20 20 20 20 e7 20 a9 28  |%)...+      . .(|
000238c0  66 24 29 3e 62 69 67 67  65 73 74 25 20 8c 20 62  |f$)>biggest% . b|
000238d0  69 67 67 65 73 74 25 3d  a9 28 66 24 29 0d ac 8a  |iggest%=.(f$)...|
000238e0  0d 20 20 20 20 c9 20 22  56 22 0d ac 92 26 20 20  |.    . "V"...&  |
000238f0  20 20 20 20 66 24 2b 3d  22 57 61 74 63 68 64 6f  |    f$+="Watchdo|
00023900  67 20 44 65 61 63 74 69  76 61 74 65 64 20 20 22  |g Deactivated  "|
00023910  0d ac 9a 16 20 20 20 20  20 20 73 31 25 3d a7 65  |....      s1%=.e|
00023920  24 2c 22 3b 22 29 0d ac  a2 24 20 20 20 20 20 20  |$,";")...$      |
00023930  66 24 2b 3d a4 73 70 63  28 c1 65 24 2c 32 36 2c  |f$+=.spc(.e$,26,|
00023940  73 31 25 2d 32 36 29 2c  35 29 0d ac aa 1c 20 20  |s1%-26),5)....  |
00023950  20 20 20 20 66 24 2b 3d  c2 65 24 2c a9 28 65 24  |    f$+=.e$,.(e$|
00023960  29 2d 73 31 25 29 0d ac  b2 2b 20 20 20 20 20 20  |)-s1%)...+      |
00023970  e7 20 a9 28 66 24 29 3e  62 69 67 67 65 73 74 25  |. .(f$)>biggest%|
00023980  20 8c 20 62 69 67 67 65  73 74 25 3d a9 28 66 24  | . biggest%=.(f$|
00023990  29 0d ac ba 0d 20 20 20  20 c9 20 22 57 22 0d ac  |)....    . "W"..|
000239a0  c2 26 20 20 20 20 20 20  66 24 2b 3d 22 57 61 74  |.&      f$+="Wat|
000239b0  63 68 64 6f 67 20 46 6c  75 73 68 65 64 20 20 20  |chdog Flushed   |
000239c0  20 20 20 22 0d ac ca 16  20 20 20 20 20 20 73 31  |   "....      s1|
000239d0  25 3d a7 65 24 2c 22 3b  22 29 0d ac d2 24 20 20  |%=.e$,";")...$  |
000239e0  20 20 20 20 66 24 2b 3d  a4 73 70 63 28 c1 65 24  |    f$+=.spc(.e$|
000239f0  2c 32 36 2c 73 31 25 2d  32 36 29 2c 35 29 0d ac  |,26,s1%-26),5)..|
00023a00  da 1c 20 20 20 20 20 20  66 24 2b 3d c2 65 24 2c  |..      f$+=.e$,|
00023a10  a9 28 65 24 29 2d 73 31  25 29 0d ac e2 2b 20 20  |.(e$)-s1%)...+  |
00023a20  20 20 20 20 e7 20 a9 28  66 24 29 3e 62 69 67 67  |    . .(f$)>bigg|
00023a30  65 73 74 25 20 8c 20 62  69 67 67 65 73 74 25 3d  |est% . biggest%=|
00023a40  a9 28 66 24 29 0d ac ea  07 20 20 cb 0d ac f2 31  |.(f$)....  ....1|
00023a50  20 20 77 69 6e 73 74 61  63 6b 24 28 77 69 6e 70  |  winstack$(winp|
00023a60  25 29 3d 66 24 3a 77 69  6e 70 25 2b 3d 2d 31 2a  |%)=f$:winp%+=-1*|
00023a70  28 77 69 6e 70 25 3c 31  30 30 30 30 29 0d ac fa  |(winp%<10000)...|
00023a80  0d fd 20 c5 23 66 69 6c  6f 25 0d ad 02 0b d9 23  |.. .#filo%.....#|
00023a90  66 69 6c 6f 25 0d ad 0a  09 21 71 25 3d 30 0d ad  |filo%....!q%=0..|
00023aa0  12 15 71 25 21 34 3d 77  69 6e 70 25 2a 2d 34 38  |..q%!4=winp%*-48|
00023ab0  2b 31 30 0d ad 1a 14 71  25 21 38 3d 62 69 67 67  |+10....q%!8=bigg|
00023ac0  65 73 74 25 2a 32 30 0d  ad 22 0b 71 25 21 31 32  |est%*20..".q%!12|
00023ad0  3d 30 0d ad 2a 24 c8 99  20 22 57 69 6d 70 5f 53  |=0..*$.. "Wimp_S|
00023ae0  65 74 45 78 74 65 6e 74  22 2c 6d 61 69 6e 5f 61  |etExtent",main_a|
00023af0  75 78 25 2c 71 25 0d ad  32 11 21 71 25 3d 6d 61  |ux%,q%..2.!q%=ma|
00023b00  69 6e 5f 61 75 78 25 0d  ad 3a 1f c8 99 20 22 57  |in_aux%..:... "W|
00023b10  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 49 6e 66  |imp_GetWindowInf|
00023b20  6f 22 2c 2c 71 25 0d ad  42 10 5f 70 25 3d 21 28  |o",,q%..B._p%=!(|
00023b30  71 25 2b 37 36 29 0d ad  4a 1b 24 5f 70 25 3d 22  |q%+76)..J.$_p%="|
00023b40  57 61 74 63 68 64 6f 67  20 45 6e 74 72 69 65 73  |Watchdog Entries|
00023b50  22 0d ad 52 11 21 71 25  3d 6d 61 69 6e 5f 61 75  |"..R.!q%=main_au|
00023b60  78 25 0d ad 5a 20 c8 99  20 22 57 69 6d 70 5f 47  |x%..Z .. "Wimp_G|
00023b70  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00023b80  71 25 0d ad 62 0c 71 25  21 32 38 3d 2d 31 0d ad  |q%..b.q%!28=-1..|
00023b90  6a 0f 75 73 69 6e 67 5f  72 64 25 3d 34 0d ad 72  |j.using_rd%=4..r|
00023ba0  1c c8 99 20 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |... "Wimp_OpenWi|
00023bb0  6e 64 6f 77 22 2c 2c 71  25 0d ad 7a 05 e1 0d ad  |ndow",,q%..z....|
00023bc0  82 04 0d ad 8a 13 dd a4  4d 61 6b 65 5f 43 6f 64  |........Make_Cod|
00023bd0  65 28 73 24 29 0d ad 92  11 73 24 3d a4 55 70 70  |e(s$)....s$=.Upp|
00023be0  65 72 28 73 24 29 0d ad  9a 0c 6c 25 3d a9 28 73  |er(s$)....l%=.(s|
00023bf0  24 29 0d ad a2 0f e7 20  6c 25 3d 30 20 8c 20 3d  |$)..... l%=0 . =|
00023c00  30 0d ad aa 09 61 63 63  3d 30 0d ad b2 0e e7 20  |0....acc=0..... |
00023c10  6c 25 3e 3d 32 30 20 8c  0d ad ba 11 20 20 e3 20  |l%>=20 .....  . |
00023c20  63 25 3d 31 20 b8 20 32  30 0d ad c2 17 20 20 61  |c%=1 . 20....  a|
00023c30  73 63 25 3d 97 28 c1 73  24 2c 63 25 2c 31 29 29  |sc%=.(.s$,c%,1))|
00023c40  0d ad ca 1d 20 20 e7 20  61 73 63 25 3e 3d 36 35  |....  . asc%>=65|
00023c50  20 80 20 61 73 63 25 3c  3d 39 37 20 8c 0d ad d2  | . asc%<=97 ....|
00023c60  10 20 20 20 20 61 73 63  25 2d 3d 35 35 0d ad da  |.    asc%-=55...|
00023c70  07 20 20 cc 0d ad e2 1f  20 20 20 20 e7 20 61 73  |.  .....    . as|
00023c80  63 25 3e 3d 34 38 20 80  20 61 73 63 25 3c 3d 35  |c%>=48 . asc%<=5|
00023c90  37 20 8c 0d ad ea 12 20  20 20 20 20 20 61 73 63  |7 .....      asc|
00023ca0  25 2d 3d 34 38 0d ad f2  09 20 20 20 20 cc 0d ad  |%-=48....    ...|
00023cb0  fa 10 20 20 20 20 20 20  61 73 63 25 3d 30 0d ae  |..      asc%=0..|
00023cc0  02 09 20 20 20 20 cd 0d  ae 0a 07 20 20 cd 0d ae  |..    .....  ...|
00023cd0  12 1a 20 20 61 63 63 2b  3d 33 36 5e 28 32 30 2d  |..  acc+=36^(20-|
00023ce0  63 25 29 2a 61 73 63 25  0d ae 1a 0a 20 20 ed 20  |c%)*asc%....  . |
00023cf0  63 25 0d ae 22 05 cc 0d  ae 2a 14 20 20 e3 20 63  |c%.."....*.  . c|
00023d00  25 3d 31 20 b8 20 a9 28  73 24 29 0d ae 32 17 20  |%=1 . .(s$)..2. |
00023d10  20 61 73 63 25 3d 97 28  c1 73 24 2c 63 25 2c 31  | asc%=.(.s$,c%,1|
00023d20  29 29 0d ae 3a 1d 20 20  e7 20 61 73 63 25 3e 3d  |))..:.  . asc%>=|
00023d30  36 35 20 80 20 61 73 63  25 3c 3d 39 37 20 8c 0d  |65 . asc%<=97 ..|
00023d40  ae 42 10 20 20 20 20 61  73 63 25 2d 3d 35 35 0d  |.B.    asc%-=55.|
00023d50  ae 4a 07 20 20 cc 0d ae  52 1f 20 20 20 20 e7 20  |.J.  ...R.    . |
00023d60  61 73 63 25 3e 3d 34 38  20 80 20 61 73 63 25 3c  |asc%>=48 . asc%<|
00023d70  3d 35 37 20 8c 0d ae 5a  12 20 20 20 20 20 20 61  |=57 ...Z.      a|
00023d80  73 63 25 2d 3d 34 38 0d  ae 62 09 20 20 20 20 cc  |sc%-=48..b.    .|
00023d90  0d ae 6a 10 20 20 20 20  20 20 61 73 63 25 3d 30  |..j.      asc%=0|
00023da0  0d ae 72 09 20 20 20 20  cd 0d ae 7a 07 20 20 cd  |..r.    ...z.  .|
00023db0  0d ae 82 1a 20 20 61 63  63 2b 3d 32 36 5e 28 32  |....  acc+=26^(2|
00023dc0  37 2d 63 25 29 2a 61 73  63 25 0d ae 8a 0a 20 20  |7-c%)*asc%....  |
00023dd0  ed 20 63 25 0d ae 92 05  cd 0d ae 9a 08 3d 61 63  |. c%.........=ac|
00023de0  63 0d ae a2 04 0d ae aa  21 dd a4 63 68 65 63 6b  |c.......!..check|
00023df0  5f 6b 65 79 77 6f 72 64  28 77 6f 72 64 24 2c 74  |_keyword(word$,t|
00023e00  69 74 6c 65 24 29 0d ae  b2 11 66 6f 75 6e 64 5f  |itle$)....found_|
00023e10  66 6c 61 67 25 3d a3 0d  ae ba 0b 70 6f 73 6e 25  |flag%=.....posn%|
00023e20  3d 31 0d ae c2 1a 73 70  25 3d a7 74 69 74 6c 65  |=1....sp%=.title|
00023e30  24 2c 22 20 22 2c 70 6f  73 6e 25 29 0d ae ca 0a  |$," ",posn%)....|
00023e40  c8 95 20 73 70 25 0d ae  d2 1e 20 20 6e 73 25 3d  |.. sp%....  ns%=|
00023e50  a7 74 69 74 6c 65 24 2c  22 20 22 2c 70 6f 73 6e  |.title$," ",posn|
00023e60  25 2b 31 29 0d ae da 0d  20 20 e7 20 6e 73 25 20  |%+1)....  . ns% |
00023e70  8c 0d ae e2 38 20 20 20  20 e7 20 77 6f 72 64 24  |....8    . word$|
00023e80  3d c1 74 69 74 6c 65 24  2c 73 70 25 2b 31 2c 6e  |=.title$,sp%+1,n|
00023e90  73 25 2d 73 70 25 2d 31  29 20 8c 20 66 6f 75 6e  |s%-sp%-1) . foun|
00023ea0  64 5f 66 6c 61 67 25 3d  b9 0d ae ea 07 20 20 cc  |d_flag%=.....  .|
00023eb0  0d ae f2 36 20 20 20 20  e7 20 77 6f 72 64 24 3d  |...6    . word$=|
00023ec0  c2 74 69 74 6c 65 24 2c  a9 28 74 69 74 6c 65 24  |.title$,.(title$|
00023ed0  29 2d 73 70 25 29 20 8c  20 66 6f 75 6e 64 5f 66  |)-sp%) . found_f|
00023ee0  6c 61 67 25 3d b9 0d ae  fa 07 20 20 cd 0d af 02  |lag%=.....  ....|
00023ef0  0d 20 20 73 70 25 3d 6e  73 25 0d af 0a 0f 20 20  |.  sp%=ns%....  |
00023f00  70 6f 73 6e 25 3d 6e 73  25 0d af 12 05 ce 0d af  |posn%=ns%.......|
00023f10  1a 10 3d 66 6f 75 6e 64  5f 66 6c 61 67 25 0d af  |..=found_flag%..|
00023f20  22 04 0d af 2a 10 dd f2  6e 65 77 5f 73 74 61 74  |"...*...new_stat|
00023f30  65 73 0d af 32 10 74 24  3d c1 91 24 2c 31 32 2c  |es..2.t$=..$,12,|
00023f40  34 29 0d af 3a 13 e7 20  bb 28 74 24 29 3e 3d 31  |4)..:.. .(t$)>=1|
00023f50  39 39 35 20 8c 0d af 42  22 20 20 f2 61 64 64 74  |995 ...B"  .addt|
00023f60  6f 6d 65 6e 75 28 38 2c  22 4e 6f 72 77 61 79 22  |omenu(8,"Norway"|
00023f70  2c 2d 31 2c 22 22 29 0d  af 4a 22 20 20 f2 61 64  |,-1,"")..J"  .ad|
00023f80  64 74 6f 6d 65 6e 75 28  38 2c 22 53 77 65 64 65  |dtomenu(8,"Swede|
00023f90  6e 22 2c 2d 31 2c 22 22  29 0d af 52 23 20 20 f2  |n",-1,"")..R#  .|
00023fa0  61 64 64 74 6f 6d 65 6e  75 28 38 2c 22 46 69 6e  |addtomenu(8,"Fin|
00023fb0  6c 61 6e 64 22 2c 2d 31  2c 22 22 29 0d af 5a 23  |land",-1,"")..Z#|
00023fc0  20 20 f2 61 64 64 74 6f  6d 65 6e 75 28 38 2c 22  |  .addtomenu(8,"|
00023fd0  41 75 73 74 72 69 61 22  2c 2d 31 2c 22 22 29 0d  |Austria",-1,"").|
00023fe0  af 62 05 cd 0d af 6a 05  e1 0d af 72 04 0d af 7a  |.b....j....r...z|
00023ff0  12 dd f2 62 6f 6f 6b 5f  72 65 71 75 65 73 74 0d  |...book_request.|
00024000  af 82 14 f2 63 68 65 63  6b 5f 62 6f 6f 6b 5f 64  |....check_book_d|
00024010  69 72 73 0d af 8a 0e 21  77 69 6d 70 25 3d 32 35  |irs....!wimp%=25|
00024020  36 0d af 92 11 77 69 6d  70 25 21 31 32 3d 71 25  |6....wimp%!12=q%|
00024030  21 38 0d af 9a 13 77 69  6d 70 25 21 31 36 3d 26  |!8....wimp%!16=&|
00024040  34 37 44 32 31 0d af a2  12 77 69 6d 70 25 3f 32  |47D21....wimp%?2|
00024050  30 3d 71 25 21 32 34 0d  af aa 0e 77 69 6d 70 25  |0=q%!24....wimp%|
00024060  3f 32 31 3d 30 0d af b2  11 67 6e 6f 24 3d c3 28  |?21=0....gno$=.(|
00024070  71 25 21 32 30 29 0d af  ba 10 67 6e 6f 25 3d bb  |q%!20)....gno%=.|
00024080  28 67 6e 6f 24 29 0d af  c2 14 64 69 72 25 3d bb  |(gno$)....dir%=.|
00024090  28 c0 67 6e 6f 24 2c 31  29 29 0d af ca 58 e7 20  |(.gno$,1))...X. |
000240a0  62 6f 6f 6b 5f 64 69 72  5f 64 65 66 25 28 64 69  |book_dir_def%(di|
000240b0  72 25 29 3d a3 20 84 20  28 28 62 6f 6f 6b 64 65  |r%)=. . ((bookde|
000240c0  66 25 3f 28 67 6e 6f 25  20 81 20 38 29 20 80 20  |f%?(gno% . 8) . |
000240d0  28 31 3c 3c 28 67 6e 6f  25 20 83 20 38 29 29 29  |(1<<(gno% . 8)))|
000240e0  3e 3e 3e 28 67 6e 6f 25  20 83 20 38 29 29 3d 30  |>>>(gno% . 8))=0|
000240f0  20 8c 0d af d2 10 20 20  77 69 6d 70 25 3f 32 31  | .....  wimp%?21|
00024100  3d 31 0d af da 29 20 20  c8 99 20 22 57 69 6d 70  |=1...)  .. "Wimp|
00024110  5f 53 65 6e 64 4d 65 73  73 61 67 65 22 2c 31 37  |_SendMessage",17|
00024120  2c 77 69 6d 70 25 2c 71  25 21 34 0d af e2 05 cc  |,wimp%,q%!4.....|
00024130  0d af ea 1c 20 20 f2 6f  70 65 6e 5f 62 6f 6f 6b  |....  .open_book|
00024140  5f 63 61 63 68 65 28 67  6e 6f 24 29 0d af f2 17  |_cache(gno$)....|
00024150  20 20 70 69 63 6b 25 3d  bb 28 c2 67 6e 6f 24 2c  |  pick%=.(.gno$,|
00024160  32 29 29 0d af fa 1e 20  20 66 69 65 6c 64 24 3d  |2))....  field$=|
00024170  76 61 72 24 28 70 69 63  6b 25 2c 71 25 21 32 34  |var$(pick%,q%!24|
00024180  29 0d b0 02 36 20 20 e7  20 a9 28 66 69 65 6c 64  |)...6  . .(field|
00024190  24 29 3e 32 33 31 20 8c  20 66 69 65 6c 64 24 3d  |$)>231 . field$=|
000241a0  c0 66 69 65 6c 64 24 2c  32 33 31 29 3a 77 69 6d  |.field$,231):wim|
000241b0  70 25 3f 32 31 3d 33 0d  b0 0a 1d 20 20 24 28 77  |p%?21=3....  $(w|
000241c0  69 6d 70 25 2b 32 34 29  3d 66 69 65 6c 64 24 2b  |imp%+24)=field$+|
000241d0  bd 28 30 29 0d b0 12 29  20 20 c8 99 20 22 57 69  |.(0)...)  .. "Wi|
000241e0  6d 70 5f 53 65 6e 64 4d  65 73 73 61 67 65 22 2c  |mp_SendMessage",|
000241f0  31 37 2c 77 69 6d 70 25  2c 71 25 21 34 0d b0 1a  |17,wimp%,q%!4...|
00024200  05 cd 0d b0 22 05 e1 0d  b0 2a 04 0d b0 32 15 dd  |...."....*...2..|
00024210  f2 6f 76 65 72 64 75 65  5f 6e 6f 74 69 63 65 73  |.overdue_notices|
00024220  0d b0 3a 14 f2 63 68 65  63 6b 5f 62 6f 6f 6b 5f  |..:..check_book_|
00024230  64 69 72 73 0d b0 42 13  f2 63 68 65 63 6b 5f 6d  |dirs..B..check_m|
00024240  65 6d 5f 64 69 72 73 0d  b0 4a 19 6f 64 74 24 28  |em_dirs..J.odt$(|
00024250  29 3d 22 22 3a 6f 64 74  5f 66 6c 61 67 25 3d a3  |)="":odt_flag%=.|
00024260  0d b0 52 0a 70 61 63 25  3d 30 0d b0 5a 20 e7 20  |..R.pac%=0..Z . |
00024270  a4 49 63 6f 6e 47 65 74  28 6f 76 65 72 64 75 65  |.IconGet(overdue|
00024280  5f 70 72 25 2c 31 37 29  20 8c 0d b0 62 2b 20 20  |_pr%,17) ...b+  |
00024290  66 69 6c 6f 25 3d 8e 28  22 3c 4c 69 62 72 61 72  |filo%=.("<Librar|
000242a0  79 24 44 69 72 3e 2e 54  65 78 74 2e 4f 76 65 72  |y$Dir>.Text.Over|
000242b0  64 75 65 22 29 0d b0 6a  11 20 20 e7 20 66 69 6c  |due")..j.  . fil|
000242c0  6f 25 3d 30 20 8c 0d b0  72 0f 20 20 20 20 d9 23  |o%=0 ...r.    .#|
000242d0  66 69 6c 6f 25 0d b0 7a  39 20 20 20 20 f2 64 69  |filo%..z9    .di|
000242e0  73 5f 6d 65 73 73 61 67  65 28 22 54 68 65 72 65  |s_message("There|
000242f0  20 69 73 20 6e 6f 20 74  65 78 74 20 63 75 72 72  | is no text curr|
00024300  65 6e 74 6c 79 20 73 74  6f 72 65 64 22 29 0d b0  |ently stored")..|
00024310  82 07 20 20 cc 0d b0 8a  0d 20 20 20 20 63 74 25  |..  .....    ct%|
00024320  3d 30 0d b0 92 0d 20 20  20 20 62 66 25 3d a3 0d  |=0....    bf%=..|
00024330  b0 9a 09 20 20 20 20 f5  0d b0 a2 14 20 20 20 20  |...    .....    |
00024340  20 20 e7 20 63 74 25 3e  33 30 20 8c 0d b0 aa 4d  |  . ct%>30 ....M|
00024350  20 20 20 20 20 20 20 20  f2 64 69 73 5f 6d 65 73  |        .dis_mes|
00024360  73 61 67 65 28 22 54 68  65 20 74 65 78 74 20 66  |sage("The text f|
00024370  69 6c 65 20 69 73 20 74  6f 6f 20 6c 6f 6e 67 20  |ile is too long |
00024380  61 6e 64 20 68 61 73 20  62 65 65 6e 20 74 72 75  |and has been tru|
00024390  6e 63 61 74 65 64 2e 22  29 0d b0 b2 11 20 20 20  |ncated.")....   |
000243a0  20 20 20 20 20 62 66 25  3d b9 0d b0 ba 0b 20 20  |     bf%=.....  |
000243b0  20 20 20 20 cc 0d b0 c2  24 20 20 20 20 20 20 20  |    ....$       |
000243c0  20 6f 64 74 24 28 63 74  25 29 3d be 23 66 69 6c  | odt$(ct%)=.#fil|
000243d0  6f 25 3a 63 74 25 2b 3d  31 0d b0 ca 0b 20 20 20  |o%:ct%+=1....   |
000243e0  20 20 20 cd 0d b0 d2 17  20 20 20 20 fd 20 c5 23  |   .....    . .#|
000243f0  66 69 6c 6f 25 20 84 20  62 66 25 0d b0 da 0f 20  |filo% . bf%.... |
00024400  20 20 20 d9 23 66 69 6c  6f 25 0d b0 e2 17 20 20  |   .#filo%....  |
00024410  20 20 6f 64 74 5f 66 6c  61 67 25 3d 63 74 25 2d  |  odt_flag%=ct%-|
00024420  31 0d b0 ea 07 20 20 cd  0d b0 f2 05 cd 0d b0 fa  |1....  .........|
00024430  1f e7 20 a4 49 63 6f 6e  47 65 74 28 6f 76 65 72  |.. .IconGet(over|
00024440  64 75 65 5f 70 72 25 2c  37 29 20 8c 0d b1 02 23  |due_pr%,7) ....#|
00024450  20 20 67 6e 6f 24 3d a4  67 65 74 74 65 78 74 28  |  gno$=.gettext(|
00024460  6f 76 65 72 64 75 65 5f  70 72 25 2c 31 33 29 0d  |overdue_pr%,13).|
00024470  b1 0a 22 20 20 e7 20 ac  20 a4 76 61 6c 69 64 61  |.."  . . .valida|
00024480  74 65 5f 64 69 67 69 74  73 28 67 6e 6f 24 29 20  |te_digits(gno$) |
00024490  8c 0d b1 12 32 20 20 20  20 f2 64 69 73 5f 6d 65  |....2    .dis_me|
000244a0  73 73 61 67 65 28 22 49  6e 76 61 6c 69 64 20 61  |ssage("Invalid a|
000244b0  63 63 65 73 73 69 6f 6e  20 6e 75 6d 62 65 72 22  |ccession number"|
000244c0  29 3a e1 0d b1 1a 07 20  20 cd 0d b1 22 14 20 20  |):.....  ...".  |
000244d0  67 6e 6f 25 3d bb 28 c0  67 6e 6f 24 29 29 0d b1  |gno%=.(.gno$))..|
000244e0  2a 27 20 20 e7 20 62 6f  6f 6b 5f 64 69 72 5f 64  |*'  . book_dir_d|
000244f0  65 66 25 28 67 6e 6f 25  20 81 20 31 30 30 30 30  |ef%(gno% . 10000|
00024500  29 3d a3 20 8c 0d b1 32  5a 20 20 20 20 f2 64 69  |)=. ...2Z    .di|
00024510  73 5f 6d 65 73 73 61 67  65 28 22 54 68 65 20 62  |s_message("The b|
00024520  6f 6f 6b 20 64 69 72 65  63 74 6f 72 79 20 66 6f  |ook directory fo|
00024530  72 20 74 68 61 74 20 6e  75 6d 62 65 72 20 68 61  |r that number ha|
00024540  73 20 6e 6f 74 20 62 65  65 6e 20 73 65 65 6e 20  |s not been seen |
00024550  62 79 20 74 68 65 20 66  69 6c 65 72 2e 22 29 0d  |by the filer.").|
00024560  b1 3a 09 20 20 20 20 e1  0d b1 42 07 20 20 cd 0d  |.:.    ...B.  ..|
00024570  b1 4a 42 20 20 e7 20 28  28 62 6f 6f 6b 64 65 66  |.JB  . ((bookdef|
00024580  25 3f 28 67 6e 6f 25 20  81 20 38 29 20 80 20 28  |%?(gno% . 8) . (|
00024590  31 3c 3c 28 67 6e 6f 25  20 83 20 38 29 29 29 3e  |1<<(gno% . 8)))>|
000245a0  3e 3e 28 67 6e 6f 25 20  83 20 38 29 29 3d 30 20  |>>(gno% . 8))=0 |
000245b0  8c 0d b1 52 2a 20 20 20  20 f2 64 69 73 5f 6d 65  |...R*    .dis_me|
000245c0  73 73 61 67 65 28 22 42  6f 6f 6b 20 6e 6f 74 20  |ssage("Book not |
000245d0  64 65 66 69 6e 65 64 22  29 3a e1 0d b1 5a 07 20  |defined"):...Z. |
000245e0  20 cd 0d b1 62 1c 20 20  f2 6f 70 65 6e 5f 62 6f  | ...b.  .open_bo|
000245f0  6f 6b 5f 63 61 63 68 65  28 67 6e 6f 24 29 0d b1  |ok_cache(gno$)..|
00024600  6a 16 20 20 70 69 63 6b  25 3d 67 6e 6f 25 20 83  |j.  pick%=gno% .|
00024610  20 31 30 30 0d b1 72 1b  20 20 72 64 24 3d c0 76  | 100..r.  rd$=.v|
00024620  61 72 24 28 70 69 63 6b  25 2c 34 29 2c 36 29 0d  |ar$(pick%,4),6).|
00024630  b1 7a 23 20 20 72 64 24  3d c2 72 64 24 2c 32 29  |.z#  rd$=.rd$,2)|
00024640  2b c1 72 64 24 2c 33 2c  32 29 2b c0 72 64 24 2c  |+.rd$,3,2)+.rd$,|
00024650  32 29 0d b1 82 0d 20 20  72 65 6c 24 3d 91 24 0d  |2)....  rel$=.$.|
00024660  b1 8a 15 20 20 64 61 79  5f 6e 24 3d c0 72 65 6c  |...  day_n$=.rel|
00024670  24 2c 33 29 0d b1 92 15  20 20 64 61 79 24 3d c1  |$,3)....  day$=.|
00024680  72 65 6c 24 2c 35 2c 32  29 0d b1 9a 15 20 20 6d  |rel$,5,2)....  m|
00024690  6f 6e 24 3d c1 72 65 6c  24 2c 38 2c 33 29 0d b1  |on$=.rel$,8,3)..|
000246a0  a2 15 20 20 79 72 24 3d  c1 72 65 6c 24 2c 31 34  |..  yr$=.rel$,14|
000246b0  2c 32 29 0d b1 aa 0f 20  20 c8 8e 20 6d 6f 6e 24  |,2)....  .. mon$|
000246c0  20 ca 0d b1 b2 18 20 20  20 20 c9 20 22 4a 61 6e  | .....    . "Jan|
000246d0  22 3a 20 6d 24 3d 22 30  31 22 0d b1 ba 18 20 20  |": m$="01"....  |
000246e0  20 20 c9 20 22 46 65 62  22 3a 20 6d 24 3d 22 30  |  . "Feb": m$="0|
000246f0  32 22 0d b1 c2 18 20 20  20 20 c9 20 22 4d 61 72  |2"....    . "Mar|
00024700  22 3a 20 6d 24 3d 22 30  33 22 0d b1 ca 18 20 20  |": m$="03"....  |
00024710  20 20 c9 20 22 41 70 72  22 3a 20 6d 24 3d 22 30  |  . "Apr": m$="0|
00024720  34 22 0d b1 d2 18 20 20  20 20 c9 20 22 4d 61 79  |4"....    . "May|
00024730  22 3a 20 6d 24 3d 22 30  35 22 0d b1 da 18 20 20  |": m$="05"....  |
00024740  20 20 c9 20 22 4a 75 6e  22 3a 20 6d 24 3d 22 30  |  . "Jun": m$="0|
00024750  36 22 0d b1 e2 18 20 20  20 20 c9 20 22 4a 75 6c  |6"....    . "Jul|
00024760  22 3a 20 6d 24 3d 22 30  37 22 0d b1 ea 18 20 20  |": m$="07"....  |
00024770  20 20 c9 20 22 41 75 67  22 3a 20 6d 24 3d 22 30  |  . "Aug": m$="0|
00024780  38 22 0d b1 f2 18 20 20  20 20 c9 20 22 53 65 70  |8"....    . "Sep|
00024790  22 3a 20 6d 24 3d 22 30  39 22 0d b1 fa 18 20 20  |": m$="09"....  |
000247a0  20 20 c9 20 22 4f 63 74  22 3a 20 6d 24 3d 22 31  |  . "Oct": m$="1|
000247b0  30 22 0d b2 02 18 20 20  20 20 c9 20 22 4e 6f 76  |0"....    . "Nov|
000247c0  22 3a 20 6d 24 3d 22 31  31 22 0d b2 0a 18 20 20  |": m$="11"....  |
000247d0  20 20 c9 20 22 44 65 63  22 3a 20 6d 24 3d 22 31  |  . "Dec": m$="1|
000247e0  32 22 0d b2 12 07 20 20  cb 0d b2 1a 16 20 20 72  |2"....  .....  r|
000247f0  65 6c 24 3d 79 72 24 2b  6d 24 2b 64 61 79 24 0d  |el$=yr$+m$+day$.|
00024800  b2 22 38 20 20 e7 20 28  bb 28 72 65 6c 24 29 3c  |."8  . (.(rel$)<|
00024810  3d bb 28 72 64 24 29 29  20 84 20 76 61 72 24 28  |=.(rd$)) . var$(|
00024820  70 69 63 6b 25 2c 34 29  3d 22 49 4e 20 4c 49 42  |pick%,4)="IN LIB|
00024830  52 41 52 59 22 20 8c 0d  b2 2a 32 20 20 20 20 f2  |RARY" ...*2    .|
00024840  64 69 73 5f 6d 65 73 73  61 67 65 28 22 54 68 69  |dis_message("Thi|
00024850  73 20 62 6f 6f 6b 20 69  73 20 6e 6f 74 20 6f 76  |s book is not ov|
00024860  65 72 64 75 65 22 29 3a  e1 0d b2 32 07 20 20 cc  |erdue"):...2.  .|
00024870  0d b2 3a 14 20 20 20 20  66 6f 6e 74 5f 66 6c 61  |..:.    font_fla|
00024880  67 25 3d a3 0d b2 42 22  20 20 20 20 66 24 3d a4  |g%=...B"    f$=.|
00024890  67 65 74 74 65 78 74 28  6f 76 65 72 64 75 65 5f  |gettext(overdue_|
000248a0  70 72 25 2c 33 29 0d b2  4a 25 20 20 20 20 e7 20  |pr%,3)..J%    . |
000248b0  a4 55 70 70 65 72 28 66  24 29 3c 3e 22 53 59 53  |.Upper(f$)<>"SYS|
000248c0  54 45 4d 20 46 4f 4e 54  22 20 8c 0d b2 52 16 20  |TEM FONT" ...R. |
000248d0  20 20 20 20 20 66 6f 6e  74 5f 66 6c 61 67 25 3d  |     font_flag%=|
000248e0  b9 0d b2 5a 12 20 20 20  20 20 20 73 69 7a 65 25  |...Z.      size%|
000248f0  3d 31 32 0d b2 62 1a 20  20 20 20 20 20 73 69 7a  |=12..b.      siz|
00024900  65 25 3d 73 69 7a 65 25  2a 31 30 30 30 0d b2 6a  |e%=size%*1000..j|
00024910  3e 20 20 20 20 20 20 c8  99 20 22 46 6f 6e 74 5f  |>      .. "Font_|
00024920  46 69 6e 64 46 6f 6e 74  22 2c 2c 66 24 2c 73 69  |FindFont",,f$,si|
00024930  7a 65 25 2f 36 32 2e 35  2c 73 69 7a 65 25 2f 36  |ze%/62.5,size%/6|
00024940  32 2e 35 20 b8 20 66 68  64 6c 25 0d b2 72 1b 20  |2.5 . fhdl%..r. |
00024950  20 20 20 20 20 c8 99 20  22 48 6f 75 72 67 6c 61  |     .. "Hourgla|
00024960  73 73 5f 4f 6e 22 0d b2  7a 1b 20 20 20 20 20 20  |ss_On"..z.      |
00024970  70 66 25 3d ae 28 22 70  72 69 6e 74 65 72 3a 22  |pf%=.("printer:"|
00024980  29 0d b2 82 3f 20 20 20  20 20 20 e7 20 70 66 25  |)...?      . pf%|
00024990  3d 30 20 8c 20 d9 23 70  66 25 3a f2 64 69 73 5f  |=0 . .#pf%:.dis_|
000249a0  6d 65 73 73 61 67 65 28  22 50 72 69 6e 74 65 72  |message("Printer|
000249b0  20 6e 6f 74 20 61 76 61  69 6c 61 62 6c 65 22 29  | not available")|
000249c0  0d b2 8a 22 20 20 20 20  20 20 e7 20 70 66 25 3d  |..."      . pf%=|
000249d0  30 20 8c 20 70 72 69 6e  74 66 6c 61 67 25 3d a3  |0 . printflag%=.|
000249e0  3a e1 0d b2 92 2e 20 20  20 20 20 20 c8 99 20 22  |:.....      .. "|
000249f0  50 44 72 69 76 65 72 5f  53 65 6c 65 63 74 4a 6f  |PDriver_SelectJo|
00024a00  62 22 2c 70 66 25 2c 22  4f 76 65 72 64 75 65 22  |b",pf%,"Overdue"|
00024a10  0d b2 9a 24 20 20 20 20  20 20 c8 99 20 22 50 44  |...$      .. "PD|
00024a20  72 69 76 65 72 5f 49 6e  66 6f 22 20 b8 20 2c 2c  |river_Info" . ,,|
00024a30  2c 66 66 25 0d b2 a2 26  20 20 20 20 20 20 e7 20  |,ff%...&      . |
00024a40  28 28 66 66 25 20 80 20  28 31 3c 3c 32 39 29 29  |((ff% . (1<<29))|
00024a50  3e 3e 3e 32 39 29 3d 31  20 8c 0d b2 aa 2f 20 20  |>>>29)=1 ..../  |
00024a60  20 20 20 20 20 20 c8 99  20 22 50 44 72 69 76 65  |      .. "PDrive|
00024a70  72 5f 44 65 63 6c 61 72  65 46 6f 6e 74 22 2c 66  |r_DeclareFont",f|
00024a80  68 64 6c 25 2c 66 24 2c  30 0d b2 b2 2a 20 20 20  |hdl%,f$,0...*   |
00024a90  20 20 20 20 20 c8 99 20  22 50 44 72 69 76 65 72  |     .. "PDriver|
00024aa0  5f 44 65 63 6c 61 72 65  46 6f 6e 74 22 2c 30 2c  |_DeclareFont",0,|
00024ab0  30 2c 30 0d b2 ba 0b 20  20 20 20 20 20 cd 0d b2  |0,0....      ...|
00024ac0  c2 0d 20 20 20 20 20 20  ea 20 85 0d b2 ca 53 20  |..      . ....S |
00024ad0  20 20 20 20 20 ee 20 85  20 ea 3a f7 20 85 3a c8  |     . . .:. .:.|
00024ae0  99 20 22 50 44 72 69 76  65 72 5f 41 62 6f 72 74  |. "PDriver_Abort|
00024af0  4a 6f 62 22 2c 70 66 25  3a d9 23 70 66 25 3a 70  |Job",pf%:.#pf%:p|
00024b00  72 69 6e 74 66 6c 61 67  25 3d a3 3a f2 64 69 73  |rintflag%=.:.dis|
00024b10  5f 6d 65 73 73 61 67 65  28 f6 24 29 3a e1 0d b2  |_message(.$):...|
00024b20  d2 3e 20 20 20 20 20 20  c8 99 20 22 50 44 72 69  |.>      .. "PDri|
00024b30  76 65 72 5f 50 61 67 65  53 69 7a 65 22 20 b8 20  |ver_PageSize" . |
00024b40  2c 2c 2c 6c 65 66 74 25  2c 62 6f 74 74 6f 6d 25  |,,,left%,bottom%|
00024b50  2c 72 69 67 68 74 25 2c  74 6f 70 25 0d b2 da 4d  |,right%,top%...M|
00024b60  20 20 20 20 20 20 6c 65  66 74 25 3d 6c 65 66 74  |      left%=left|
00024b70  25 2f 34 30 30 3a 72 69  67 68 74 25 3d 72 69 67  |%/400:right%=rig|
00024b80  68 74 25 2f 34 30 30 3a  74 6f 70 25 3d 74 6f 70  |ht%/400:top%=top|
00024b90  25 2f 34 30 30 3a 62 6f  74 74 6f 6d 25 3d 62 6f  |%/400:bottom%=bo|
00024ba0  74 74 6f 6d 25 2f 34 30  30 0d b2 e2 30 20 20 20  |ttom%/400...0   |
00024bb0  20 20 20 6e 6f 5f 6c 69  6e 65 73 25 3d 28 28 74  |   no_lines%=((t|
00024bc0  6f 70 25 2d 62 6f 74 74  6f 6d 25 29 2a 34 30 30  |op%-bottom%)*400|
00024bd0  29 20 81 20 73 69 7a 65  25 0d b2 ea 35 20 20 20  |) . size%...5   |
00024be0  20 20 20 63 6f 6c 75 6d  6e 73 25 3d 28 28 28 72  |   columns%=(((r|
00024bf0  69 67 68 74 25 2d 6c 65  66 74 25 29 2a 34 30 30  |ight%-left%)*400|
00024c00  29 20 81 20 73 69 7a 65  25 29 2a 31 2e 35 0d b2  |) . size%)*1.5..|
00024c10  f2 44 20 20 20 20 20 20  72 65 63 74 25 21 30 3d  |.D      rect%!0=|
00024c20  6c 65 66 74 25 3a 72 65  63 74 25 21 34 3d 62 6f  |left%:rect%!4=bo|
00024c30  74 74 6f 6d 25 3a 72 65  63 74 25 21 38 3d 72 69  |ttom%:rect%!8=ri|
00024c40  67 68 74 25 3a 72 65 63  74 25 21 31 32 3d 74 6f  |ght%:rect%!12=to|
00024c50  70 25 0d b2 fa 27 20 20  20 20 20 20 74 72 61 6e  |p%...'      tran|
00024c60  73 25 21 30 3d 31 3c 3c  31 36 3a 74 72 61 6e 73  |s%!0=1<<16:trans|
00024c70  25 21 34 3d 30 3c 3c 31  36 0d b3 02 28 20 20 20  |%!4=0<<16...(   |
00024c80  20 20 20 74 72 61 6e 73  25 21 38 3d 30 3c 3c 31  |   trans%!8=0<<1|
00024c90  36 3a 74 72 61 6e 73 25  21 31 32 3d 31 3c 3c 31  |6:trans%!12=1<<1|
00024ca0  36 0d b3 0a 38 20 20 20  20 20 20 70 6c 6f 74 61  |6...8      plota|
00024cb0  74 25 21 30 3d 6c 65 66  74 25 2a 34 30 30 3a 70  |t%!0=left%*400:p|
00024cc0  6c 6f 74 61 74 25 21 34  3d 62 6f 74 74 6f 6d 25  |lotat%!4=bottom%|
00024cd0  2a 34 30 30 2d 33 36 30  30 0d b3 12 22 20 20 20  |*400-3600..."   |
00024ce0  20 20 20 65 66 25 3d a4  70 72 69 6e 74 5f 72 65  |   ef%=.print_re|
00024cf0  63 6f 72 64 28 70 69 63  6b 25 29 0d b3 1a 11 20  |cord(pick%).... |
00024d00  20 20 20 20 20 e7 20 65  66 25 20 8c 0d b3 22 0f  |     . ef% ...".|
00024d10  20 20 20 20 20 20 20 20  f7 20 85 0d b3 2a 25 20  |        . ...*% |
00024d20  20 20 20 20 20 20 20 c8  99 20 22 50 44 72 69 76  |       .. "PDriv|
00024d30  65 72 5f 41 62 6f 72 74  4a 6f 62 22 2c 70 66 25  |er_AbortJob",pf%|
00024d40  0d b3 32 11 20 20 20 20  20 20 20 20 d9 23 70 66  |..2.        .#pf|
00024d50  25 0d b3 3a 18 20 20 20  20 20 20 20 20 70 72 69  |%..:.        pri|
00024d60  6e 74 66 6c 61 67 25 3d  a3 0d b3 42 0d 20 20 20  |ntflag%=...B.   |
00024d70  20 20 20 20 20 e1 0d b3  4a 0b 20 20 20 20 20 20  |     ...J.      |
00024d80  cd 0d b3 52 17 20 20 20  20 20 20 e3 20 63 25 3d  |...R.      . c%=|
00024d90  30 20 b8 20 65 6e 64 25  0d b3 5a 39 20 20 20 20  |0 . end%..Z9    |
00024da0  20 20 70 61 24 28 63 25  29 3d 6c 69 6e 65 24 28  |  pa$(c%)=line$(|
00024db0  63 25 29 2b bd 28 31 33  29 2b bd 28 31 30 29 3a  |c%)+.(13)+.(10):|
00024dc0  70 61 6e 25 28 63 25 29  3d 6c 69 6e 25 28 63 25  |pan%(c%)=lin%(c%|
00024dd0  29 0d b3 62 16 20 20 20  20 20 20 ed 20 63 25 3a  |)..b.      . c%:|
00024de0  70 61 63 25 3d 63 25 0d  b3 6a 45 20 20 20 20 20  |pac%=c%..jE     |
00024df0  20 c8 99 20 22 50 44 72  69 76 65 72 5f 47 69 76  | .. "PDriver_Giv|
00024e00  65 52 65 63 74 61 6e 67  6c 65 22 2c 30 2c 72 65  |eRectangle",0,re|
00024e10  63 74 25 2c 74 72 61 6e  73 25 2c 70 6c 6f 74 61  |ct%,trans%,plota|
00024e20  74 25 2c 26 46 46 46 46  46 46 30 30 0d b3 72 36  |t%,&FFFFFF00..r6|
00024e30  20 20 20 20 20 20 c8 99  20 22 50 44 72 69 76 65  |      .. "PDrive|
00024e40  72 5f 44 72 61 77 50 61  67 65 22 2c 31 2c 72 65  |r_DrawPage",1,re|
00024e50  63 74 69 6e 25 2c 30 2c  30 20 b8 20 6d 6f 72 65  |ctin%,0,0 . more|
00024e60  32 25 0d b3 7a 38 20 20  20 20 20 20 c8 99 20 22  |2%..z8      .. "|
00024e70  43 6f 6c 6f 75 72 54 72  61 6e 73 5f 53 65 74 46  |ColourTrans_SetF|
00024e80  6f 6e 74 43 6f 6c 6f 75  72 73 22 2c 2c 26 46 46  |ontColours",,&FF|
00024e90  46 46 46 46 30 30 2c 30  2c 36 0d b3 82 21 20 20  |FFFF00,0,6...!  |
00024ea0  20 20 20 20 c8 99 20 22  46 6f 6e 74 5f 53 65 74  |    .. "Font_Set|
00024eb0  46 6f 6e 74 22 2c 66 68  64 6c 25 0d b3 8a 13 20  |Font",fhdl%.... |
00024ec0  20 20 20 20 20 c8 95 20  6d 6f 72 65 32 25 0d b3  |     .. more2%..|
00024ed0  92 20 20 20 20 20 20 20  20 20 f2 72 65 77 72 69  |.         .rewri|
00024ee0  74 65 28 6c 65 66 74 25  2c 74 6f 70 25 29 0d b3  |te(left%,top%)..|
00024ef0  9a 37 20 20 20 20 20 20  20 20 c8 99 20 22 50 44  |.7        .. "PD|
00024f00  72 69 76 65 72 5f 47 65  74 52 65 63 74 61 6e 67  |river_GetRectang|
00024f10  6c 65 22 2c 2c 72 65 63  74 69 6e 25 20 b8 20 6d  |le",,rectin% . m|
00024f20  6f 72 65 32 25 0d b3 a2  0b 20 20 20 20 20 20 ce  |ore2%....      .|
00024f30  0d b3 aa 21 20 20 20 20  20 20 c8 99 20 22 50 44  |...!      .. "PD|
00024f40  72 69 76 65 72 5f 45 6e  64 4a 6f 62 22 2c 70 66  |river_EndJob",pf|
00024f50  25 0d b3 b2 1c 20 20 20  20 20 20 c8 99 20 22 48  |%....      .. "H|
00024f60  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d b3 ba  |ourglass_Off"...|
00024f70  0f 20 20 20 20 20 20 d9  23 70 66 25 0d b3 c2 16  |.      .#pf%....|
00024f80  20 20 20 20 20 20 70 72  69 6e 74 66 6c 61 67 25  |      printflag%|
00024f90  3d a3 0d b3 ca 22 20 20  20 20 20 20 c8 99 20 22  |=...."      .. "|
00024fa0  46 6f 6e 74 5f 4c 6f 73  65 46 6f 6e 74 22 2c 66  |Font_LoseFont",f|
00024fb0  68 64 6c 25 0d b3 d2 09  20 20 20 20 cc 0d b3 da  |hdl%....    ....|
00024fc0  3b 20 20 20 20 20 20 63  6f 6c 75 6d 6e 73 25 3d  |;      columns%=|
00024fd0  38 30 3a 6e 6f 5f 6c 69  6e 65 73 25 3d bb 28 a4  |80:no_lines%=.(.|
00024fe0  67 65 74 74 65 78 74 28  6f 76 65 72 64 75 65 5f  |gettext(overdue_|
00024ff0  70 72 25 2c 32 32 29 29  0d b3 e2 25 20 20 20 20  |pr%,22))...%    |
00025000  20 20 e7 20 6e 6f 5f 6c  69 6e 65 73 25 3d 30 20  |  . no_lines%=0 |
00025010  8c 20 6e 6f 5f 6c 69 6e  65 73 25 3d 31 0d b3 ea  |. no_lines%=1...|
00025020  22 20 20 20 20 20 20 65  66 25 3d a4 70 72 69 6e  |"      ef%=.prin|
00025030  74 5f 72 65 63 6f 72 64  28 70 69 63 6b 25 29 0d  |t_record(pick%).|
00025040  b3 f2 33 20 20 20 20 20  20 e7 20 65 66 25 20 8c  |..3      . ef% .|
00025050  20 c8 99 20 22 48 6f 75  72 67 6c 61 73 73 5f 4f  | .. "Hourglass_O|
00025060  66 66 22 3a 70 72 69 6e  74 66 6c 61 67 25 3d a3  |ff":printflag%=.|
00025070  3a e1 0d b3 fa 0d 20 20  20 20 20 20 ef 20 32 0d  |:.....      . 2.|
00025080  b4 02 17 20 20 20 20 20  20 e3 20 63 25 3d 30 20  |...      . c%=0 |
00025090  b8 20 65 6e 64 25 0d b4  0a 15 20 20 20 20 20 20  |. end%....      |
000250a0  f1 20 6c 69 6e 65 24 28  63 25 29 0d b4 12 0e 20  |. line$(c%).... |
000250b0  20 20 20 20 20 ed 20 63  25 0d b4 1a 0d 20 20 20  |     . c%....   |
000250c0  20 20 20 ef 20 33 0d b4  22 16 20 20 20 20 20 20  |   . 3..".      |
000250d0  70 72 69 6e 74 66 6c 61  67 25 3d a3 0d b4 2a 09  |printflag%=...*.|
000250e0  20 20 20 20 cd 0d b4 32  07 20 20 cd 0d b4 3a 05  |    ...2.  ...:.|
000250f0  cc 0d b4 42 21 20 20 70  61 63 25 3d 30 3a 6d 6f  |...B!  pac%=0:mo|
00025100  72 65 5f 66 6c 61 67 25  3d a3 3a 70 61 67 65 25  |re_flag%=.:page%|
00025110  3d 30 0d b4 4a 0d 20 20  64 61 79 73 25 3d 30 0d  |=0..J.  days%=0.|
00025120  b4 52 43 20 20 e7 20 a4  49 63 6f 6e 47 65 74 28  |.RC  . .IconGet(|
00025130  6f 76 65 72 64 75 65 5f  70 72 25 2c 36 29 20 8c  |overdue_pr%,6) .|
00025140  20 64 61 79 73 25 3d bb  28 a4 67 65 74 74 65 78  | days%=.(.gettex|
00025150  74 28 6f 76 65 72 64 75  65 5f 70 72 25 2c 31 30  |t(overdue_pr%,10|
00025160  29 29 0d b4 5a 12 20 20  66 6f 6e 74 5f 66 6c 61  |))..Z.  font_fla|
00025170  67 25 3d a3 0d b4 62 20  20 20 66 24 3d a4 67 65  |g%=...b   f$=.ge|
00025180  74 74 65 78 74 28 6f 76  65 72 64 75 65 5f 70 72  |ttext(overdue_pr|
00025190  25 2c 33 29 0d b4 6a 23  20 20 e7 20 a4 55 70 70  |%,3)..j#  . .Upp|
000251a0  65 72 28 66 24 29 3c 3e  22 53 59 53 54 45 4d 20  |er(f$)<>"SYSTEM |
000251b0  46 4f 4e 54 22 20 8c 0d  b4 72 14 20 20 20 20 66  |FONT" ...r.    f|
000251c0  6f 6e 74 5f 66 6c 61 67  25 3d b9 0d b4 7a 10 20  |ont_flag%=...z. |
000251d0  20 20 20 73 69 7a 65 25  3d 31 32 0d b4 82 18 20  |   size%=12.... |
000251e0  20 20 20 73 69 7a 65 25  3d 73 69 7a 65 25 2a 31  |   size%=size%*1|
000251f0  30 30 30 0d b4 8a 3c 20  20 20 20 c8 99 20 22 46  |000...<    .. "F|
00025200  6f 6e 74 5f 46 69 6e 64  46 6f 6e 74 22 2c 2c 66  |ont_FindFont",,f|
00025210  24 2c 73 69 7a 65 25 2f  36 32 2e 35 2c 73 69 7a  |$,size%/62.5,siz|
00025220  65 25 2f 36 32 2e 35 20  b8 20 66 68 64 6c 25 0d  |e%/62.5 . fhdl%.|
00025230  b4 92 19 20 20 20 20 c8  99 20 22 48 6f 75 72 67  |...    .. "Hourg|
00025240  6c 61 73 73 5f 4f 6e 22  0d b4 9a 19 20 20 20 20  |lass_On"....    |
00025250  70 66 25 3d ae 28 22 70  72 69 6e 74 65 72 3a 22  |pf%=.("printer:"|
00025260  29 0d b4 a2 3d 20 20 20  20 e7 20 70 66 25 3d 30  |)...=    . pf%=0|
00025270  20 8c 20 d9 23 70 66 25  3a f2 64 69 73 5f 6d 65  | . .#pf%:.dis_me|
00025280  73 73 61 67 65 28 22 50  72 69 6e 74 65 72 20 6e  |ssage("Printer n|
00025290  6f 74 20 61 76 61 69 6c  61 62 6c 65 22 29 0d b4  |ot available")..|
000252a0  aa 20 20 20 20 20 e7 20  70 66 25 3d 30 20 8c 20  |.     . pf%=0 . |
000252b0  70 72 69 6e 74 66 6c 61  67 25 3d a3 3a e1 0d b4  |printflag%=.:...|
000252c0  b2 2c 20 20 20 20 c8 99  20 22 50 44 72 69 76 65  |.,    .. "PDrive|
000252d0  72 5f 53 65 6c 65 63 74  4a 6f 62 22 2c 70 66 25  |r_SelectJob",pf%|
000252e0  2c 22 4f 76 65 72 64 75  65 22 0d b4 ba 22 20 20  |,"Overdue"..."  |
000252f0  20 20 c8 99 20 22 50 44  72 69 76 65 72 5f 49 6e  |  .. "PDriver_In|
00025300  66 6f 22 20 b8 20 2c 2c  2c 66 66 25 0d b4 c2 24  |fo" . ,,,ff%...$|
00025310  20 20 20 20 e7 20 28 28  66 66 25 20 80 20 28 31  |    . ((ff% . (1|
00025320  3c 3c 32 39 29 29 3e 3e  3e 32 39 29 3d 31 20 8c  |<<29))>>>29)=1 .|
00025330  0d b4 ca 2d 20 20 20 20  20 20 c8 99 20 22 50 44  |...-      .. "PD|
00025340  72 69 76 65 72 5f 44 65  63 6c 61 72 65 46 6f 6e  |river_DeclareFon|
00025350  74 22 2c 66 68 64 6c 25  2c 66 24 2c 30 0d b4 d2  |t",fhdl%,f$,0...|
00025360  28 20 20 20 20 20 20 c8  99 20 22 50 44 72 69 76  |(      .. "PDriv|
00025370  65 72 5f 44 65 63 6c 61  72 65 46 6f 6e 74 22 2c  |er_DeclareFont",|
00025380  30 2c 30 2c 30 0d b4 da  09 20 20 20 20 cd 0d b4  |0,0,0....    ...|
00025390  e2 0b 20 20 20 20 ea 20  85 0d b4 ea 51 20 20 20  |..    . ....Q   |
000253a0  20 ee 20 85 20 ea 3a f7  20 85 3a c8 99 20 22 50  | . . .:. .:.. "P|
000253b0  44 72 69 76 65 72 5f 41  62 6f 72 74 4a 6f 62 22  |Driver_AbortJob"|
000253c0  2c 70 66 25 3a d9 23 70  66 25 3a 70 72 69 6e 74  |,pf%:.#pf%:print|
000253d0  66 6c 61 67 25 3d a3 3a  f2 64 69 73 5f 6d 65 73  |flag%=.:.dis_mes|
000253e0  73 61 67 65 28 f6 24 29  3a e1 0d b4 f2 3c 20 20  |sage(.$):....<  |
000253f0  20 20 c8 99 20 22 50 44  72 69 76 65 72 5f 50 61  |  .. "PDriver_Pa|
00025400  67 65 53 69 7a 65 22 20  b8 20 2c 2c 2c 6c 65 66  |geSize" . ,,,lef|
00025410  74 25 2c 62 6f 74 74 6f  6d 25 2c 72 69 67 68 74  |t%,bottom%,right|
00025420  25 2c 74 6f 70 25 0d b4  fa 4b 20 20 20 20 6c 65  |%,top%...K    le|
00025430  66 74 25 3d 6c 65 66 74  25 2f 34 30 30 3a 72 69  |ft%=left%/400:ri|
00025440  67 68 74 25 3d 72 69 67  68 74 25 2f 34 30 30 3a  |ght%=right%/400:|
00025450  74 6f 70 25 3d 74 6f 70  25 2f 34 30 30 3a 62 6f  |top%=top%/400:bo|
00025460  74 74 6f 6d 25 3d 62 6f  74 74 6f 6d 25 2f 34 30  |ttom%=bottom%/40|
00025470  30 0d b5 02 2e 20 20 20  20 6e 6f 5f 6c 69 6e 65  |0....    no_line|
00025480  73 25 3d 28 28 74 6f 70  25 2d 62 6f 74 74 6f 6d  |s%=((top%-bottom|
00025490  25 29 2a 34 30 30 29 20  81 20 73 69 7a 65 25 0d  |%)*400) . size%.|
000254a0  b5 0a 33 20 20 20 20 63  6f 6c 75 6d 6e 73 25 3d  |..3    columns%=|
000254b0  28 28 28 72 69 67 68 74  25 2d 6c 65 66 74 25 29  |(((right%-left%)|
000254c0  2a 34 30 30 29 20 81 20  73 69 7a 65 25 29 2a 31  |*400) . size%)*1|
000254d0  2e 35 0d b5 12 42 20 20  20 20 72 65 63 74 25 21  |.5...B    rect%!|
000254e0  30 3d 6c 65 66 74 25 3a  72 65 63 74 25 21 34 3d  |0=left%:rect%!4=|
000254f0  62 6f 74 74 6f 6d 25 3a  72 65 63 74 25 21 38 3d  |bottom%:rect%!8=|
00025500  72 69 67 68 74 25 3a 72  65 63 74 25 21 31 32 3d  |right%:rect%!12=|
00025510  74 6f 70 25 0d b5 1a 25  20 20 20 20 74 72 61 6e  |top%...%    tran|
00025520  73 25 21 30 3d 31 3c 3c  31 36 3a 74 72 61 6e 73  |s%!0=1<<16:trans|
00025530  25 21 34 3d 30 3c 3c 31  36 0d b5 22 26 20 20 20  |%!4=0<<16.."&   |
00025540  20 74 72 61 6e 73 25 21  38 3d 30 3c 3c 31 36 3a  | trans%!8=0<<16:|
00025550  74 72 61 6e 73 25 21 31  32 3d 31 3c 3c 31 36 0d  |trans%!12=1<<16.|
00025560  b5 2a 36 20 20 20 20 70  6c 6f 74 61 74 25 21 30  |.*6    plotat%!0|
00025570  3d 6c 65 66 74 25 2a 34  30 30 3a 70 6c 6f 74 61  |=left%*400:plota|
00025580  74 25 21 34 3d 62 6f 74  74 6f 6d 25 2a 34 30 30  |t%!4=bottom%*400|
00025590  2d 33 36 30 30 0d b5 32  13 20 20 20 20 e3 20 67  |-3600..2.    . g|
000255a0  64 25 3d 30 20 b8 20 39  0d b5 3a 1e 20 20 20 20  |d%=0 . 9..:.    |
000255b0  e7 20 62 6f 6f 6b 5f 64  69 72 5f 64 65 66 25 28  |. book_dir_def%(|
000255c0  67 64 25 29 20 8c 0d b5  42 18 20 20 20 20 20 20  |gd%) ...B.      |
000255d0  e3 20 67 6e 25 3d 30 20  b8 20 39 39 39 39 0d b5  |. gn%=0 . 9999..|
000255e0  4a 1c 20 20 20 20 20 20  67 6e 6f 25 3d 67 64 25  |J.      gno%=gd%|
000255f0  2a 31 30 30 30 30 2b 67  6e 25 0d b5 52 46 20 20  |*10000+gn%..RF  |
00025600  20 20 20 20 e7 20 28 28  62 6f 6f 6b 64 65 66 25  |    . ((bookdef%|
00025610  3f 28 67 6e 6f 25 20 81  20 38 29 20 80 20 28 31  |?(gno% . 8) . (1|
00025620  3c 3c 28 67 6e 6f 25 20  83 20 38 29 29 29 3e 3e  |<<(gno% . 8)))>>|
00025630  3e 28 67 6e 6f 25 20 83  20 38 29 29 3d 31 20 8c  |>(gno% . 8))=1 .|
00025640  0d b5 5a 47 20 20 20 20  20 20 20 20 e7 20 63 61  |..ZG        . ca|
00025650  63 68 65 25 3c 3e 28 67  6e 6f 25 20 81 20 31 30  |che%<>(gno% . 10|
00025660  30 29 20 8c 20 f2 6f 70  65 6e 5f 62 6f 6f 6b 5f  |0) . .open_book_|
00025670  63 61 63 68 65 28 a4 7a  65 72 6f 28 c3 28 67 6e  |cache(.zero(.(gn|
00025680  6f 25 29 2c 35 29 29 0d  b5 62 1c 20 20 20 20 20  |o%),5))..b.     |
00025690  20 20 20 70 69 63 6b 25  3d 67 6e 6f 25 20 83 20  |   pick%=gno% . |
000256a0  31 30 30 0d b5 6a 2b 20  20 20 20 20 20 20 20 e7  |100..j+        .|
000256b0  20 76 61 72 24 28 70 69  63 6b 25 2c 34 29 3c 3e  | var$(pick%,4)<>|
000256c0  22 49 4e 20 4c 49 42 52  41 52 59 22 20 8c 0d b5  |"IN LIBRARY" ...|
000256d0  72 25 20 20 20 20 20 20  20 20 20 20 64 61 74 65  |r%          date|
000256e0  24 3d c0 76 61 72 24 28  70 69 63 6b 25 2c 34 29  |$=.var$(pick%,4)|
000256f0  2c 36 29 0d b5 7a 20 20  20 20 20 20 20 20 20 20  |,6)..z          |
00025700  20 64 61 79 5f 64 75 65  24 3d c0 64 61 74 65 24  | day_due$=.date$|
00025710  2c 32 29 0d b5 82 22 20  20 20 20 20 20 20 20 20  |,2)..."         |
00025720  20 6d 6f 6e 5f 64 75 65  24 3d c1 64 61 74 65 24  | mon_due$=.date$|
00025730  2c 33 2c 32 29 0d b5 8a  1f 20 20 20 20 20 20 20  |,3,2)....       |
00025740  20 20 20 79 72 5f 64 75  65 24 3d c2 64 61 74 65  |   yr_due$=.date|
00025750  24 2c 32 29 0d b5 92 15  20 20 20 20 20 20 20 20  |$,2)....        |
00025760  20 20 64 61 74 24 3d 91  24 0d b5 9a 21 20 20 20  |  dat$=.$...!   |
00025770  20 20 20 20 20 20 20 64  61 79 5f 6e 6f 77 24 3d  |       day_now$=|
00025780  c1 64 61 74 24 2c 35 2c  32 29 0d b5 a2 1d 20 20  |.dat$,5,2)....  |
00025790  20 20 20 20 20 20 20 20  6d 6f 6e 24 3d c1 64 61  |        mon$=.da|
000257a0  74 24 2c 38 2c 33 29 0d  b5 aa 17 20 20 20 20 20  |t$,8,3)....     |
000257b0  20 20 20 20 20 c8 8e 20  6d 6f 6e 24 20 ca 0d b5  |     .. mon$ ...|
000257c0  b2 26 20 20 20 20 20 20  20 20 20 20 20 20 c9 20  |.&            . |
000257d0  22 4a 61 6e 22 3a 20 6d  6f 6e 5f 6e 6f 77 24 3d  |"Jan": mon_now$=|
000257e0  22 30 31 22 0d b5 ba 26  20 20 20 20 20 20 20 20  |"01"...&        |
000257f0  20 20 20 20 c9 20 22 46  65 62 22 3a 20 6d 6f 6e  |    . "Feb": mon|
00025800  5f 6e 6f 77 24 3d 22 30  32 22 0d b5 c2 26 20 20  |_now$="02"...&  |
00025810  20 20 20 20 20 20 20 20  20 20 c9 20 22 4d 61 72  |          . "Mar|
00025820  22 3a 20 6d 6f 6e 5f 6e  6f 77 24 3d 22 30 33 22  |": mon_now$="03"|
00025830  0d b5 ca 26 20 20 20 20  20 20 20 20 20 20 20 20  |...&            |
00025840  c9 20 22 41 70 72 22 3a  20 6d 6f 6e 5f 6e 6f 77  |. "Apr": mon_now|
00025850  24 3d 22 30 34 22 0d b5  d2 26 20 20 20 20 20 20  |$="04"...&      |
00025860  20 20 20 20 20 20 c9 20  22 4d 61 79 22 3a 20 6d  |      . "May": m|
00025870  6f 6e 5f 6e 6f 77 24 3d  22 30 35 22 0d b5 da 26  |on_now$="05"...&|
00025880  20 20 20 20 20 20 20 20  20 20 20 20 c9 20 22 4a  |            . "J|
00025890  75 6e 22 3a 20 6d 6f 6e  5f 6e 6f 77 24 3d 22 30  |un": mon_now$="0|
000258a0  36 22 0d b5 e2 26 20 20  20 20 20 20 20 20 20 20  |6"...&          |
000258b0  20 20 c9 20 22 4a 75 6c  22 3a 20 6d 6f 6e 5f 6e  |  . "Jul": mon_n|
000258c0  6f 77 24 3d 22 30 37 22  0d b5 ea 26 20 20 20 20  |ow$="07"...&    |
000258d0  20 20 20 20 20 20 20 20  c9 20 22 41 75 67 22 3a  |        . "Aug":|
000258e0  20 6d 6f 6e 5f 6e 6f 77  24 3d 22 30 38 22 0d b5  | mon_now$="08"..|
000258f0  f2 26 20 20 20 20 20 20  20 20 20 20 20 20 c9 20  |.&            . |
00025900  22 53 65 70 22 3a 20 6d  6f 6e 5f 6e 6f 77 24 3d  |"Sep": mon_now$=|
00025910  22 30 39 22 0d b5 fa 26  20 20 20 20 20 20 20 20  |"09"...&        |
00025920  20 20 20 20 c9 20 22 4f  63 74 22 3a 20 6d 6f 6e  |    . "Oct": mon|
00025930  5f 6e 6f 77 24 3d 22 31  30 22 0d b6 02 26 20 20  |_now$="10"...&  |
00025940  20 20 20 20 20 20 20 20  20 20 c9 20 22 4e 6f 76  |          . "Nov|
00025950  22 3a 20 6d 6f 6e 5f 6e  6f 77 24 3d 22 31 31 22  |": mon_now$="11"|
00025960  0d b6 0a 26 20 20 20 20  20 20 20 20 20 20 20 20  |...&            |
00025970  c9 20 22 44 65 63 22 3a  20 6d 6f 6e 5f 6e 6f 77  |. "Dec": mon_now|
00025980  24 3d 22 31 32 22 0d b6  12 0f 20 20 20 20 20 20  |$="12"....      |
00025990  20 20 20 20 cb 0d b6 1a  21 20 20 20 20 20 20 20  |    ....!       |
000259a0  20 20 20 79 72 5f 6e 6f  77 24 3d c1 64 61 74 24  |   yr_now$=.dat$|
000259b0  2c 31 34 2c 32 29 0d b6  22 34 20 20 20 20 20 20  |,14,2).."4      |
000259c0  20 20 20 20 64 61 74 65  31 24 3d c2 64 61 74 65  |    date1$=.date|
000259d0  24 2c 32 29 2b c1 64 61  74 65 24 2c 33 2c 32 29  |$,2)+.date$,3,2)|
000259e0  2b c0 64 61 74 65 24 2c  32 29 0d b6 2a 2e 20 20  |+.date$,2)..*.  |
000259f0  20 20 20 20 20 20 20 20  64 61 74 65 32 24 3d 79  |        date2$=y|
00025a00  72 5f 6e 6f 77 24 2b 6d  6f 6e 5f 6e 6f 77 24 2b  |r_now$+mon_now$+|
00025a10  64 61 79 5f 6e 6f 77 24  0d b6 32 26 20 20 20 20  |day_now$..2&    |
00025a20  20 20 20 20 20 20 e7 20  bb 28 64 61 74 65 31 24  |      . .(date1$|
00025a30  29 3e 3d bb 28 64 61 74  65 32 24 29 20 8c 0d b6  |)>=.(date2$) ...|
00025a40  3a 4d 20 20 20 20 20 20  20 20 20 20 20 20 63 62  |:M            cb|
00025a50  25 3d a4 63 6f 6e 76 65  72 74 5f 64 61 74 65 5f  |%=.convert_date_|
00025a60  72 65 6c 61 74 69 76 65  28 79 72 5f 6e 6f 77 24  |relative(yr_now$|
00025a70  2c 6d 6f 6e 5f 6e 6f 77  24 2c 64 61 79 5f 6e 6f  |,mon_now$,day_no|
00025a80  77 24 2c 79 72 5f 6e 6f  77 24 29 0d b6 42 4d 20  |w$,yr_now$)..BM |
00025a90  20 20 20 20 20 20 20 20  20 20 20 64 62 25 3d a4  |           db%=.|
00025aa0  63 6f 6e 76 65 72 74 5f  64 61 74 65 5f 72 65 6c  |convert_date_rel|
00025ab0  61 74 69 76 65 28 79 72  5f 64 75 65 24 2c 6d 6f  |ative(yr_due$,mo|
00025ac0  6e 5f 64 75 65 24 2c 64  61 79 5f 64 75 65 24 2c  |n_due$,day_due$,|
00025ad0  79 72 5f 6e 6f 77 24 29  0d b6 4a 24 20 20 20 20  |yr_now$)..J$    |
00025ae0  20 20 20 20 20 20 20 20  e7 20 28 63 62 25 2d 64  |        . (cb%-d|
00025af0  62 25 29 3e 3d 64 61 79  73 25 20 8c 0d b6 52 2a  |b%)>=days% ...R*|
00025b00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 65 66  |              ef|
00025b10  25 3d a4 70 72 69 6e 74  5f 72 65 63 6f 72 64 28  |%=.print_record(|
00025b20  70 69 63 6b 25 29 0d b6  5a 1c 20 20 20 20 20 20  |pick%)..Z.      |
00025b30  20 20 20 20 20 20 20 20  e7 20 65 66 25 20 54 4e  |        . ef% TN|
00025b40  45 4e 0d b6 62 17 20 20  20 20 20 20 20 20 20 20  |EN..b.          |
00025b50  20 20 20 20 20 20 f7 20  85 0d b6 6a 2d 20 20 20  |      . ...j-   |
00025b60  20 20 20 20 20 20 20 20  20 20 20 20 20 c8 99 20  |             .. |
00025b70  22 50 44 72 69 76 65 72  5f 41 62 6f 72 74 4a 6f  |"PDriver_AbortJo|
00025b80  62 22 2c 70 66 25 0d b6  72 19 20 20 20 20 20 20  |b",pf%..r.      |
00025b90  20 20 20 20 20 20 20 20  20 20 d9 23 70 66 25 0d  |          .#pf%.|
00025ba0  b6 7a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.z              |
00025bb0  20 20 20 70 72 69 6e 74  66 6c 61 67 25 3d a3 0d  |   printflag%=..|
00025bc0  b6 82 15 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00025bd0  20 20 20 e1 0d b6 8a 13  20 20 20 20 20 20 20 20  |   .....        |
00025be0  20 20 20 20 20 20 cd 0d  b6 92 2b 20 20 20 20 20  |      ....+     |
00025bf0  20 20 20 20 20 20 20 20  20 e7 20 70 61 63 25 2b  |         . pac%+|
00025c00  65 6e 64 25 2b 31 3e 6e  6f 5f 6c 69 6e 65 73 25  |end%+1>no_lines%|
00025c10  20 8c 0d b6 9a 1e 20 20  20 20 20 20 20 20 20 20  | .....          |
00025c20  20 20 20 20 20 20 e7 20  70 61 63 25 3d 30 20 8c  |      . pac%=0 .|
00025c30  0d b6 a2 19 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00025c40  20 20 20 20 20 20 f7 20  85 0d b6 aa 3c 20 20 20  |      . ....<   |
00025c50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 f2  |               .|
00025c60  64 69 73 5f 6d 65 73 73  61 67 65 28 22 50 61 70  |dis_message("Pap|
00025c70  65 72 20 74 6f 6f 20 73  6d 61 6c 6c 20 74 6f 20  |er too small to |
00025c80  66 69 74 22 29 0d b6 b2  2f 20 20 20 20 20 20 20  |fit").../       |
00025c90  20 20 20 20 20 20 20 20  20 20 20 c8 99 20 22 50  |           .. "P|
00025ca0  44 72 69 76 65 72 5f 41  62 6f 72 74 4a 6f 62 22  |Driver_AbortJob"|
00025cb0  2c 70 66 25 0d b6 ba 1b  20 20 20 20 20 20 20 20  |,pf%....        |
00025cc0  20 20 20 20 20 20 20 20  20 20 d9 23 70 66 25 0d  |          .#pf%.|
00025cd0  b6 c2 22 20 20 20 20 20  20 20 20 20 20 20 20 20  |.."             |
00025ce0  20 20 20 20 20 70 72 69  6e 74 66 6c 61 67 25 3d  |     printflag%=|
00025cf0  a3 0d b6 ca 28 20 20 20  20 20 20 20 20 20 20 20  |....(           |
00025d00  20 20 20 20 20 20 20 c8  99 20 22 48 6f 75 72 67  |       .. "Hourg|
00025d10  6c 61 73 73 5f 4f 66 66  22 0d b6 d2 17 20 20 20  |lass_Off"....   |
00025d20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 e1  |               .|
00025d30  0d b6 da 15 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00025d40  20 20 20 20 cc 0d b6 e2  55 20 20 20 20 20 20 20  |    ....U       |
00025d50  20 20 20 20 20 20 20 20  20 20 20 c8 99 20 22 50  |           .. "P|
00025d60  44 72 69 76 65 72 5f 47  69 76 65 52 65 63 74 61  |Driver_GiveRecta|
00025d70  6e 67 6c 65 22 2c 70 61  67 65 25 2c 72 65 63 74  |ngle",page%,rect|
00025d80  25 2c 74 72 61 6e 73 25  2c 70 6c 6f 74 61 74 25  |%,trans%,plotat%|
00025d90  2c 26 46 46 46 46 46 46  30 30 0d b6 ea 42 20 20  |,&FFFFFF00...B  |
00025da0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00025db0  c8 99 20 22 50 44 72 69  76 65 72 5f 44 72 61 77  |.. "PDriver_Draw|
00025dc0  50 61 67 65 22 2c 31 2c  72 65 63 74 69 6e 25 2c  |Page",1,rectin%,|
00025dd0  30 2c 30 20 b8 20 6d 6f  72 65 32 25 0d b6 f2 44  |0,0 . more2%...D|
00025de0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00025df0  20 20 c8 99 20 22 43 6f  6c 6f 75 72 54 72 61 6e  |  .. "ColourTran|
00025e00  73 5f 53 65 74 46 6f 6e  74 43 6f 6c 6f 75 72 73  |s_SetFontColours|
00025e10  22 2c 2c 26 46 46 46 46  46 46 30 30 2c 30 2c 36  |",,&FFFFFF00,0,6|
00025e20  0d b6 fa 2d 20 20 20 20  20 20 20 20 20 20 20 20  |...-            |
00025e30  20 20 20 20 20 20 c8 99  20 22 46 6f 6e 74 5f 53  |      .. "Font_S|
00025e40  65 74 46 6f 6e 74 22 2c  66 68 64 6c 25 0d b7 02  |etFont",fhdl%...|
00025e50  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00025e60  20 20 20 c8 95 20 6d 6f  72 65 32 25 0d b7 0a 2c  |   .. more2%...,|
00025e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00025e80  20 20 20 20 f2 72 65 77  72 69 74 65 28 6c 65 66  |    .rewrite(lef|
00025e90  74 25 2c 74 6f 70 25 29  0d b7 12 43 20 20 20 20  |t%,top%)...C    |
00025ea0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00025eb0  c8 99 20 22 50 44 72 69  76 65 72 5f 47 65 74 52  |.. "PDriver_GetR|
00025ec0  65 63 74 61 6e 67 6c 65  22 2c 2c 72 65 63 74 69  |ectangle",,recti|
00025ed0  6e 25 20 b8 20 6d 6f 72  65 32 25 0d b7 1a 17 20  |n% . more2%.... |
00025ee0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00025ef0  20 ce 0d b7 22 1e 20 20  20 20 20 20 20 20 20 20  | ...".          |
00025f00  20 20 20 20 20 20 20 20  70 61 67 65 25 2b 3d 31  |        page%+=1|
00025f10  0d b7 2a 23 20 20 20 20  20 20 20 20 20 20 20 20  |..*#            |
00025f20  20 20 20 20 20 20 e3 20  63 25 3d 30 20 b8 20 65  |      . c%=0 . e|
00025f30  6e 64 25 0d b7 32 39 20  20 20 20 20 20 20 20 20  |nd%..29         |
00025f40  20 20 20 20 20 20 20 20  20 70 61 24 28 63 25 29  |         pa$(c%)|
00025f50  3d 6c 69 6e 65 24 28 63  25 29 3a 70 61 6e 25 28  |=line$(c%):pan%(|
00025f60  63 25 29 3d 6c 69 6e 25  28 63 25 29 0d b7 3a 1a  |c%)=lin%(c%)..:.|
00025f70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00025f80  20 20 ed 20 63 25 0d b7  42 1d 20 20 20 20 20 20  |  . c%..B.      |
00025f90  20 20 20 20 20 20 20 20  20 20 20 20 70 61 63 25  |            pac%|
00025fa0  3d 63 25 0d b7 4a 15 20  20 20 20 20 20 20 20 20  |=c%..J.         |
00025fb0  20 20 20 20 20 20 20 cd  0d b7 52 13 20 20 20 20  |       ...R.    |
00025fc0  20 20 20 20 20 20 20 20  20 20 cc 0d b7 5a 21 20  |          ...Z! |
00025fd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 e3  |               .|
00025fe0  20 63 25 3d 30 20 b8 20  65 6e 64 25 0d b7 62 41  | c%=0 . end%..bA|
00025ff0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00026000  70 61 24 28 70 61 63 25  2b 63 25 29 3d 6c 69 6e  |pa$(pac%+c%)=lin|
00026010  65 24 28 63 25 29 3a 70  61 6e 25 28 70 61 63 25  |e$(c%):pan%(pac%|
00026020  2b 63 25 29 3d 6c 69 6e  25 28 63 25 29 0d b7 6a  |+c%)=lin%(c%)..j|
00026030  18 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00026040  20 ed 20 63 25 0d b7 72  1c 20 20 20 20 20 20 20  | . c%..r.       |
00026050  20 20 20 20 20 20 20 20  20 70 61 63 25 2b 3d 63  |         pac%+=c|
00026060  25 0d b7 7a 13 20 20 20  20 20 20 20 20 20 20 20  |%..z.           |
00026070  20 20 20 cd 0d b7 82 11  20 20 20 20 20 20 20 20  |   .....        |
00026080  20 20 20 20 cd 0d b7 8a  0f 20 20 20 20 20 20 20  |    .....       |
00026090  20 20 20 cc 0d b7 92 4d  20 20 20 20 20 20 20 20  |   ....M        |
000260a0  20 20 20 20 63 62 25 3d  a4 63 6f 6e 76 65 72 74  |    cb%=.convert|
000260b0  5f 64 61 74 65 5f 72 65  6c 61 74 69 76 65 28 79  |_date_relative(y|
000260c0  72 5f 6e 6f 77 24 2c 6d  6f 6e 5f 6e 6f 77 24 2c  |r_now$,mon_now$,|
000260d0  64 61 79 5f 6e 6f 77 24  2c 79 72 5f 64 75 65 24  |day_now$,yr_due$|
000260e0  29 0d b7 9a 4d 20 20 20  20 20 20 20 20 20 20 20  |)...M           |
000260f0  20 64 62 25 3d a4 63 6f  6e 76 65 72 74 5f 64 61  | db%=.convert_da|
00026100  74 65 5f 72 65 6c 61 74  69 76 65 28 79 72 5f 64  |te_relative(yr_d|
00026110  75 65 24 2c 6d 6f 6e 5f  64 75 65 24 2c 64 61 79  |ue$,mon_due$,day|
00026120  5f 64 75 65 24 2c 79 72  5f 64 75 65 24 29 0d b7  |_due$,yr_due$)..|
00026130  a2 24 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |.$            . |
00026140  28 63 62 25 2d 64 62 25  29 3e 3d 64 61 79 73 25  |(cb%-db%)>=days%|
00026150  20 8c 0d b7 aa 2a 20 20  20 20 20 20 20 20 20 20  | ....*          |
00026160  20 20 20 20 65 66 25 3d  a4 70 72 69 6e 74 5f 72  |    ef%=.print_r|
00026170  65 63 6f 72 64 28 70 69  63 6b 25 29 0d b7 b2 1c  |ecord(pick%)....|
00026180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 e7 20  |              . |
00026190  65 66 25 20 54 4e 45 4e  0d b7 ba 17 20 20 20 20  |ef% TNEN....    |
000261a0  20 20 20 20 20 20 20 20  20 20 20 20 f7 20 85 0d  |            . ..|
000261b0  b7 c2 2d 20 20 20 20 20  20 20 20 20 20 20 20 20  |..-             |
000261c0  20 20 20 c8 99 20 22 50  44 72 69 76 65 72 5f 41  |   .. "PDriver_A|
000261d0  62 6f 72 74 4a 6f 62 22  2c 70 66 25 0d b7 ca 19  |bortJob",pf%....|
000261e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000261f0  d9 23 70 66 25 0d b7 d2  20 20 20 20 20 20 20 20  |.#pf%...        |
00026200  20 20 20 20 20 20 20 20  20 70 72 69 6e 74 66 6c  |         printfl|
00026210  61 67 25 3d a3 0d b7 da  15 20 20 20 20 20 20 20  |ag%=.....       |
00026220  20 20 20 20 20 20 20 20  20 e1 0d b7 e2 13 20 20  |         .....  |
00026230  20 20 20 20 20 20 20 20  20 20 20 20 cd 0d b7 ea  |            ....|
00026240  2b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 e7  |+              .|
00026250  20 70 61 63 25 2b 65 6e  64 25 2b 31 3e 6e 6f 5f  | pac%+end%+1>no_|
00026260  6c 69 6e 65 73 25 20 8c  0d b7 f2 1e 20 20 20 20  |lines% .....    |
00026270  20 20 20 20 20 20 20 20  20 20 20 20 e7 20 70 61  |            . pa|
00026280  63 25 3d 30 20 8c 0d b7  fa 19 20 20 20 20 20 20  |c%=0 .....      |
00026290  20 20 20 20 20 20 20 20  20 20 20 20 f7 20 85 0d  |            . ..|
000262a0  b8 02 3c 20 20 20 20 20  20 20 20 20 20 20 20 20  |..<             |
000262b0  20 20 20 20 20 f2 64 69  73 5f 6d 65 73 73 61 67  |     .dis_messag|
000262c0  65 28 22 50 61 70 65 72  20 74 6f 6f 20 73 6d 61  |e("Paper too sma|
000262d0  6c 6c 20 74 6f 20 66 69  74 22 29 0d b8 0a 2f 20  |ll to fit").../ |
000262e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000262f0  20 c8 99 20 22 50 44 72  69 76 65 72 5f 41 62 6f  | .. "PDriver_Abo|
00026300  72 74 4a 6f 62 22 2c 70  66 25 0d b8 12 1b 20 20  |rtJob",pf%....  |
00026310  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00026320  d9 23 70 66 25 0d b8 1a  22 20 20 20 20 20 20 20  |.#pf%..."       |
00026330  20 20 20 20 20 20 20 20  20 20 20 70 72 69 6e 74  |           print|
00026340  66 6c 61 67 25 3d a3 0d  b8 22 28 20 20 20 20 20  |flag%=..."(     |
00026350  20 20 20 20 20 20 20 20  20 20 20 20 20 c8 99 20  |             .. |
00026360  22 48 6f 75 72 67 6c 61  73 73 5f 4f 66 66 22 0d  |"Hourglass_Off".|
00026370  b8 2a 17 20 20 20 20 20  20 20 20 20 20 20 20 20  |.*.             |
00026380  20 20 20 20 20 e1 0d b8  32 15 20 20 20 20 20 20  |     ...2.      |
00026390  20 20 20 20 20 20 20 20  20 20 cc 0d b8 3a 55 20  |          ...:U |
000263a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000263b0  20 c8 99 20 22 50 44 72  69 76 65 72 5f 47 69 76  | .. "PDriver_Giv|
000263c0  65 52 65 63 74 61 6e 67  6c 65 22 2c 70 61 67 65  |eRectangle",page|
000263d0  25 2c 72 65 63 74 25 2c  74 72 61 6e 73 25 2c 70  |%,rect%,trans%,p|
000263e0  6c 6f 74 61 74 25 2c 26  46 46 46 46 46 46 30 30  |lotat%,&FFFFFF00|
000263f0  0d b8 42 42 20 20 20 20  20 20 20 20 20 20 20 20  |..BB            |
00026400  20 20 20 20 20 20 c8 99  20 22 50 44 72 69 76 65  |      .. "PDrive|
00026410  72 5f 44 72 61 77 50 61  67 65 22 2c 31 2c 72 65  |r_DrawPage",1,re|
00026420  63 74 69 6e 25 2c 30 2c  30 20 b8 20 6d 6f 72 65  |ctin%,0,0 . more|
00026430  32 25 0d b8 4a 44 20 20  20 20 20 20 20 20 20 20  |2%..JD          |
00026440  20 20 20 20 20 20 20 20  c8 99 20 22 43 6f 6c 6f  |        .. "Colo|
00026450  75 72 54 72 61 6e 73 5f  53 65 74 46 6f 6e 74 43  |urTrans_SetFontC|
00026460  6f 6c 6f 75 72 73 22 2c  2c 26 46 46 46 46 46 46  |olours",,&FFFFFF|
00026470  30 30 2c 30 2c 36 0d b8  52 2d 20 20 20 20 20 20  |00,0,6..R-      |
00026480  20 20 20 20 20 20 20 20  20 20 20 20 c8 99 20 22  |            .. "|
00026490  46 6f 6e 74 5f 53 65 74  46 6f 6e 74 22 2c 66 68  |Font_SetFont",fh|
000264a0  64 6c 25 0d b8 5a 1f 20  20 20 20 20 20 20 20 20  |dl%..Z.         |
000264b0  20 20 20 20 20 20 20 20  20 c8 95 20 6d 6f 72 65  |         .. more|
000264c0  32 25 0d b8 62 2c 20 20  20 20 20 20 20 20 20 20  |2%..b,          |
000264d0  20 20 20 20 20 20 20 20  20 20 f2 72 65 77 72 69  |          .rewri|
000264e0  74 65 28 6c 65 66 74 25  2c 74 6f 70 25 29 0d b8  |te(left%,top%)..|
000264f0  6a 43 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |jC              |
00026500  20 20 20 20 20 20 c8 99  20 22 50 44 72 69 76 65  |      .. "PDrive|
00026510  72 5f 47 65 74 52 65 63  74 61 6e 67 6c 65 22 2c  |r_GetRectangle",|
00026520  2c 72 65 63 74 69 6e 25  20 b8 20 6d 6f 72 65 32  |,rectin% . more2|
00026530  25 0d b8 72 17 20 20 20  20 20 20 20 20 20 20 20  |%..r.           |
00026540  20 20 20 20 20 20 20 ce  0d b8 7a 1e 20 20 20 20  |       ...z.    |
00026550  20 20 20 20 20 20 20 20  20 20 20 20 20 20 70 61  |              pa|
00026560  67 65 25 2b 3d 31 0d b8  82 23 20 20 20 20 20 20  |ge%+=1...#      |
00026570  20 20 20 20 20 20 20 20  20 20 20 20 e3 20 63 25  |            . c%|
00026580  3d 30 20 b8 20 65 6e 64  25 0d b8 8a 39 20 20 20  |=0 . end%...9   |
00026590  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  |               p|
000265a0  61 24 28 63 25 29 3d 6c  69 6e 65 24 28 63 25 29  |a$(c%)=line$(c%)|
000265b0  3a 70 61 6e 25 28 63 25  29 3d 6c 69 6e 25 28 63  |:pan%(c%)=lin%(c|
000265c0  25 29 0d b8 92 1a 20 20  20 20 20 20 20 20 20 20  |%)....          |
000265d0  20 20 20 20 20 20 20 20  ed 20 63 25 0d b8 9a 1d  |        . c%....|
000265e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000265f0  20 20 70 61 63 25 3d 63  25 0d b8 a2 15 20 20 20  |  pac%=c%....   |
00026600  20 20 20 20 20 20 20 20  20 20 20 20 20 cd 0d b8  |             ...|
00026610  aa 13 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00026620  cc 0d b8 b2 21 20 20 20  20 20 20 20 20 20 20 20  |....!           |
00026630  20 20 20 20 20 e3 20 63  25 3d 30 20 b8 20 65 6e  |     . c%=0 . en|
00026640  64 25 0d b8 ba 41 20 20  20 20 20 20 20 20 20 20  |d%...A          |
00026650  20 20 20 20 20 20 70 61  24 28 70 61 63 25 2b 63  |      pa$(pac%+c|
00026660  25 29 3d 6c 69 6e 65 24  28 63 25 29 3a 70 61 6e  |%)=line$(c%):pan|
00026670  25 28 70 61 63 25 2b 63  25 29 3d 6c 69 6e 25 28  |%(pac%+c%)=lin%(|
00026680  63 25 29 0d b8 c2 18 20  20 20 20 20 20 20 20 20  |c%)....         |
00026690  20 20 20 20 20 20 20 ed  20 63 25 0d b8 ca 1c 20  |       . c%.... |
000266a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  |               p|
000266b0  61 63 25 2b 3d 63 25 0d  b8 d2 13 20 20 20 20 20  |ac%+=c%....     |
000266c0  20 20 20 20 20 20 20 20  20 cd 0d b8 da 11 20 20  |         .....  |
000266d0  20 20 20 20 20 20 20 20  20 20 cd 0d b8 e2 0f 20  |          ..... |
000266e0  20 20 20 20 20 20 20 20  20 cd 0d b8 ea 0d 20 20  |         .....  |
000266f0  20 20 20 20 20 20 cd 0d  b8 f2 0b 20 20 20 20 20  |      .....     |
00026700  20 cd 0d b8 fa 0f 20 20  20 20 20 20 ed 20 67 6e  | .....      . gn|
00026710  25 0d b9 02 09 20 20 20  20 cd 0d b9 0a 0d 20 20  |%....    .....  |
00026720  20 20 ed 20 67 64 25 0d  b9 12 12 20 20 20 20 e7  |  . gd%....    .|
00026730  20 70 61 63 25 3e 30 20  8c 0d b9 1a 49 20 20 20  | pac%>0 ....I   |
00026740  20 20 20 c8 99 20 22 50  44 72 69 76 65 72 5f 47  |   .. "PDriver_G|
00026750  69 76 65 52 65 63 74 61  6e 67 6c 65 22 2c 70 61  |iveRectangle",pa|
00026760  67 65 25 2c 72 65 63 74  25 2c 74 72 61 6e 73 25  |ge%,rect%,trans%|
00026770  2c 70 6c 6f 74 61 74 25  2c 26 46 46 46 46 46 46  |,plotat%,&FFFFFF|
00026780  30 30 0d b9 22 36 20 20  20 20 20 20 c8 99 20 22  |00.."6      .. "|
00026790  50 44 72 69 76 65 72 5f  44 72 61 77 50 61 67 65  |PDriver_DrawPage|
000267a0  22 2c 31 2c 72 65 63 74  69 6e 25 2c 30 2c 30 20  |",1,rectin%,0,0 |
000267b0  b8 20 6d 6f 72 65 32 25  0d b9 2a 38 20 20 20 20  |. more2%..*8    |
000267c0  20 20 c8 99 20 22 43 6f  6c 6f 75 72 54 72 61 6e  |  .. "ColourTran|
000267d0  73 5f 53 65 74 46 6f 6e  74 43 6f 6c 6f 75 72 73  |s_SetFontColours|
000267e0  22 2c 2c 26 46 46 46 46  46 46 30 30 2c 30 2c 36  |",,&FFFFFF00,0,6|
000267f0  0d b9 32 21 20 20 20 20  20 20 c8 99 20 22 46 6f  |..2!      .. "Fo|
00026800  6e 74 5f 53 65 74 46 6f  6e 74 22 2c 66 68 64 6c  |nt_SetFont",fhdl|
00026810  25 0d b9 3a 13 20 20 20  20 20 20 c8 95 20 6d 6f  |%..:.      .. mo|
00026820  72 65 32 25 0d b9 42 20  20 20 20 20 20 20 20 20  |re2%..B         |
00026830  f2 72 65 77 72 69 74 65  28 6c 65 66 74 25 2c 74  |.rewrite(left%,t|
00026840  6f 70 25 29 0d b9 4a 37  20 20 20 20 20 20 20 20  |op%)..J7        |
00026850  c8 99 20 22 50 44 72 69  76 65 72 5f 47 65 74 52  |.. "PDriver_GetR|
00026860  65 63 74 61 6e 67 6c 65  22 2c 2c 72 65 63 74 69  |ectangle",,recti|
00026870  6e 25 20 b8 20 6d 6f 72  65 32 25 0d b9 52 0b 20  |n% . more2%..R. |
00026880  20 20 20 20 20 ce 0d b9  5a 09 20 20 20 20 cd 0d  |     ...Z.    ..|
00026890  b9 62 14 20 20 20 20 70  72 69 6e 74 66 6c 61 67  |.b.    printflag|
000268a0  25 3d a3 0d b9 6a 1f 20  20 20 20 c8 99 20 22 50  |%=...j.    .. "P|
000268b0  44 72 69 76 65 72 5f 45  6e 64 4a 6f 62 22 2c 70  |Driver_EndJob",p|
000268c0  66 25 0d b9 72 1a 20 20  20 20 c8 99 20 22 48 6f  |f%..r.    .. "Ho|
000268d0  75 72 67 6c 61 73 73 5f  4f 66 66 22 0d b9 7a 0d  |urglass_Off"..z.|
000268e0  20 20 20 20 d9 23 70 66  25 0d b9 82 0b 20 20 20  |    .#pf%....   |
000268f0  20 f7 20 85 0d b9 8a 07  20 20 cc 0d b9 92 39 20  | . .....  ....9 |
00026900  20 20 20 63 6f 6c 75 6d  6e 73 25 3d 38 30 3a 6e  |   columns%=80:n|
00026910  6f 5f 6c 69 6e 65 73 25  3d bb 28 a4 67 65 74 74  |o_lines%=.(.gett|
00026920  65 78 74 28 6f 76 65 72  64 75 65 5f 70 72 25 2c  |ext(overdue_pr%,|
00026930  32 32 29 29 0d b9 9a 23  20 20 20 20 e7 20 6e 6f  |22))...#    . no|
00026940  5f 6c 69 6e 65 73 25 3d  30 20 8c 20 6e 6f 5f 6c  |_lines%=0 . no_l|
00026950  69 6e 65 73 25 3d 31 0d  b9 a2 0e 20 20 20 20 70  |ines%=1....    p|
00026960  61 63 25 3d 30 0d b9 aa  13 20 20 20 20 e3 20 67  |ac%=0....    . g|
00026970  64 25 3d 30 20 b8 20 39  0d b9 b2 1e 20 20 20 20  |d%=0 . 9....    |
00026980  e7 20 62 6f 6f 6b 5f 64  69 72 5f 64 65 66 25 28  |. book_dir_def%(|
00026990  67 64 25 29 20 8c 0d b9  ba 18 20 20 20 20 20 20  |gd%) .....      |
000269a0  e3 20 67 6e 25 3d 30 20  b8 20 39 39 39 39 0d b9  |. gn%=0 . 9999..|
000269b0  c2 1c 20 20 20 20 20 20  67 6e 6f 25 3d 67 64 25  |..      gno%=gd%|
000269c0  2a 31 30 30 30 30 2b 67  6e 25 0d b9 ca 46 20 20  |*10000+gn%...F  |
000269d0  20 20 20 20 e7 20 28 28  62 6f 6f 6b 64 65 66 25  |    . ((bookdef%|
000269e0  3f 28 67 6e 6f 25 20 81  20 38 29 20 80 20 28 31  |?(gno% . 8) . (1|
000269f0  3c 3c 28 67 6e 6f 25 20  83 20 38 29 29 29 3e 3e  |<<(gno% . 8)))>>|
00026a00  3e 28 67 6e 6f 25 20 83  20 38 29 29 3d 31 20 8c  |>(gno% . 8))=1 .|
00026a10  0d b9 d2 47 20 20 20 20  20 20 20 20 e7 20 63 61  |...G        . ca|
00026a20  63 68 65 25 3c 3e 28 67  6e 6f 25 20 81 20 31 30  |che%<>(gno% . 10|
00026a30  30 29 20 8c 20 f2 6f 70  65 6e 5f 62 6f 6f 6b 5f  |0) . .open_book_|
00026a40  63 61 63 68 65 28 a4 7a  65 72 6f 28 c3 28 67 6e  |cache(.zero(.(gn|
00026a50  6f 25 29 2c 35 29 29 0d  b9 da 1c 20 20 20 20 20  |o%),5))....     |
00026a60  20 20 20 70 69 63 6b 25  3d 67 6e 6f 25 20 83 20  |   pick%=gno% . |
00026a70  31 30 30 0d b9 e2 2b 20  20 20 20 20 20 20 20 e7  |100...+        .|
00026a80  20 76 61 72 24 28 70 69  63 6b 25 2c 34 29 3c 3e  | var$(pick%,4)<>|
00026a90  22 49 4e 20 4c 49 42 52  41 52 59 22 20 8c 0d b9  |"IN LIBRARY" ...|
00026aa0  ea 25 20 20 20 20 20 20  20 20 20 20 64 61 74 65  |.%          date|
00026ab0  24 3d c0 76 61 72 24 28  70 69 63 6b 25 2c 34 29  |$=.var$(pick%,4)|
00026ac0  2c 36 29 0d b9 f2 20 20  20 20 20 20 20 20 20 20  |,6)...          |
00026ad0  20 64 61 79 5f 64 75 65  24 3d c0 64 61 74 65 24  | day_due$=.date$|
00026ae0  2c 32 29 0d b9 fa 22 20  20 20 20 20 20 20 20 20  |,2)..."         |
00026af0  20 6d 6f 6e 5f 64 75 65  24 3d c1 64 61 74 65 24  | mon_due$=.date$|
00026b00  2c 33 2c 32 29 0d ba 02  1f 20 20 20 20 20 20 20  |,3,2)....       |
00026b10  20 20 20 79 72 5f 64 75  65 24 3d c2 64 61 74 65  |   yr_due$=.date|
00026b20  24 2c 32 29 0d ba 0a 15  20 20 20 20 20 20 20 20  |$,2)....        |
00026b30  20 20 64 61 74 24 3d 91  24 0d ba 12 21 20 20 20  |  dat$=.$...!   |
00026b40  20 20 20 20 20 20 20 64  61 79 5f 6e 6f 77 24 3d  |       day_now$=|
00026b50  c1 64 61 74 24 2c 35 2c  32 29 0d ba 1a 1d 20 20  |.dat$,5,2)....  |
00026b60  20 20 20 20 20 20 20 20  6d 6f 6e 24 3d c1 64 61  |        mon$=.da|
00026b70  74 24 2c 38 2c 33 29 0d  ba 22 17 20 20 20 20 20  |t$,8,3)..".     |
00026b80  20 20 20 20 20 c8 8e 20  6d 6f 6e 24 20 ca 0d ba  |     .. mon$ ...|
00026b90  2a 26 20 20 20 20 20 20  20 20 20 20 20 20 c9 20  |*&            . |
00026ba0  22 4a 61 6e 22 3a 20 6d  6f 6e 5f 6e 6f 77 24 3d  |"Jan": mon_now$=|
00026bb0  22 30 31 22 0d ba 32 26  20 20 20 20 20 20 20 20  |"01"..2&        |
00026bc0  20 20 20 20 c9 20 22 46  65 62 22 3a 20 6d 6f 6e  |    . "Feb": mon|
00026bd0  5f 6e 6f 77 24 3d 22 30  32 22 0d ba 3a 26 20 20  |_now$="02"..:&  |
00026be0  20 20 20 20 20 20 20 20  20 20 c9 20 22 4d 61 72  |          . "Mar|
00026bf0  22 3a 20 6d 6f 6e 5f 6e  6f 77 24 3d 22 30 33 22  |": mon_now$="03"|
00026c00  0d ba 42 26 20 20 20 20  20 20 20 20 20 20 20 20  |..B&            |
00026c10  c9 20 22 41 70 72 22 3a  20 6d 6f 6e 5f 6e 6f 77  |. "Apr": mon_now|
00026c20  24 3d 22 30 34 22 0d ba  4a 26 20 20 20 20 20 20  |$="04"..J&      |
00026c30  20 20 20 20 20 20 c9 20  22 4d 61 79 22 3a 20 6d  |      . "May": m|
00026c40  6f 6e 5f 6e 6f 77 24 3d  22 30 35 22 0d ba 52 26  |on_now$="05"..R&|
00026c50  20 20 20 20 20 20 20 20  20 20 20 20 c9 20 22 4a  |            . "J|
00026c60  75 6e 22 3a 20 6d 6f 6e  5f 6e 6f 77 24 3d 22 30  |un": mon_now$="0|
00026c70  36 22 0d ba 5a 26 20 20  20 20 20 20 20 20 20 20  |6"..Z&          |
00026c80  20 20 c9 20 22 4a 75 6c  22 3a 20 6d 6f 6e 5f 6e  |  . "Jul": mon_n|
00026c90  6f 77 24 3d 22 30 37 22  0d ba 62 26 20 20 20 20  |ow$="07"..b&    |
00026ca0  20 20 20 20 20 20 20 20  c9 20 22 41 75 67 22 3a  |        . "Aug":|
00026cb0  20 6d 6f 6e 5f 6e 6f 77  24 3d 22 30 38 22 0d ba  | mon_now$="08"..|
00026cc0  6a 26 20 20 20 20 20 20  20 20 20 20 20 20 c9 20  |j&            . |
00026cd0  22 53 65 70 22 3a 20 6d  6f 6e 5f 6e 6f 77 24 3d  |"Sep": mon_now$=|
00026ce0  22 30 39 22 0d ba 72 26  20 20 20 20 20 20 20 20  |"09"..r&        |
00026cf0  20 20 20 20 c9 20 22 4f  63 74 22 3a 20 6d 6f 6e  |    . "Oct": mon|
00026d00  5f 6e 6f 77 24 3d 22 31  30 22 0d ba 7a 26 20 20  |_now$="10"..z&  |
00026d10  20 20 20 20 20 20 20 20  20 20 c9 20 22 4e 6f 76  |          . "Nov|
00026d20  22 3a 20 6d 6f 6e 5f 6e  6f 77 24 3d 22 31 31 22  |": mon_now$="11"|
00026d30  0d ba 82 26 20 20 20 20  20 20 20 20 20 20 20 20  |...&            |
00026d40  c9 20 22 44 65 63 22 3a  20 6d 6f 6e 5f 6e 6f 77  |. "Dec": mon_now|
00026d50  24 3d 22 31 32 22 0d ba  8a 0f 20 20 20 20 20 20  |$="12"....      |
00026d60  20 20 20 20 cb 0d ba 92  21 20 20 20 20 20 20 20  |    ....!       |
00026d70  20 20 20 79 72 5f 6e 6f  77 24 3d c1 64 61 74 24  |   yr_now$=.dat$|
00026d80  2c 31 34 2c 32 29 0d ba  9a 34 20 20 20 20 20 20  |,14,2)...4      |
00026d90  20 20 20 20 64 61 74 65  31 24 3d c2 64 61 74 65  |    date1$=.date|
00026da0  24 2c 32 29 2b c1 64 61  74 65 24 2c 33 2c 32 29  |$,2)+.date$,3,2)|
00026db0  2b c0 64 61 74 65 24 2c  32 29 0d ba a2 2e 20 20  |+.date$,2)....  |
00026dc0  20 20 20 20 20 20 20 20  64 61 74 65 32 24 3d 79  |        date2$=y|
00026dd0  72 5f 6e 6f 77 24 2b 6d  6f 6e 5f 6e 6f 77 24 2b  |r_now$+mon_now$+|
00026de0  64 61 79 5f 6e 6f 77 24  0d ba aa 26 20 20 20 20  |day_now$...&    |
00026df0  20 20 20 20 20 20 e7 20  bb 28 64 61 74 65 31 24  |      . .(date1$|
00026e00  29 3e 3d bb 28 64 61 74  65 32 24 29 20 8c 0d ba  |)>=.(date2$) ...|
00026e10  b2 4d 20 20 20 20 20 20  20 20 20 20 20 20 63 62  |.M            cb|
00026e20  25 3d a4 63 6f 6e 76 65  72 74 5f 64 61 74 65 5f  |%=.convert_date_|
00026e30  72 65 6c 61 74 69 76 65  28 79 72 5f 6e 6f 77 24  |relative(yr_now$|
00026e40  2c 6d 6f 6e 5f 6e 6f 77  24 2c 64 61 79 5f 6e 6f  |,mon_now$,day_no|
00026e50  77 24 2c 79 72 5f 6e 6f  77 24 29 0d ba ba 4d 20  |w$,yr_now$)...M |
00026e60  20 20 20 20 20 20 20 20  20 20 20 64 62 25 3d a4  |           db%=.|
00026e70  63 6f 6e 76 65 72 74 5f  64 61 74 65 5f 72 65 6c  |convert_date_rel|
00026e80  61 74 69 76 65 28 79 72  5f 64 75 65 24 2c 6d 6f  |ative(yr_due$,mo|
00026e90  6e 5f 64 75 65 24 2c 64  61 79 5f 64 75 65 24 2c  |n_due$,day_due$,|
00026ea0  79 72 5f 6e 6f 77 24 29  0d ba c2 24 20 20 20 20  |yr_now$)...$    |
00026eb0  20 20 20 20 20 20 20 20  e7 20 28 63 62 25 2d 64  |        . (cb%-d|
00026ec0  62 25 29 3e 3d 64 61 79  73 25 20 8c 0d ba ca 2a  |b%)>=days% ....*|
00026ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 65 66  |              ef|
00026ee0  25 3d a4 70 72 69 6e 74  5f 72 65 63 6f 72 64 28  |%=.print_record(|
00026ef0  70 69 63 6b 25 29 0d ba  d2 28 20 20 20 20 20 20  |pick%)...(      |
00026f00  20 20 20 20 20 20 20 20  e7 20 65 66 25 20 8c 20  |        . ef% . |
00026f10  70 72 69 6e 74 66 6c 61  67 25 3d a3 3a e1 0d ba  |printflag%=.:...|
00026f20  da 2b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.+              |
00026f30  e7 20 70 61 63 25 2b 65  6e 64 25 2b 31 3e 6e 6f  |. pac%+end%+1>no|
00026f40  5f 6c 69 6e 65 73 25 20  8c 0d ba e2 17 20 20 20  |_lines% .....   |
00026f50  20 20 20 20 20 20 20 20  20 20 20 20 20 ef 20 32  |             . 2|
00026f60  0d ba ea 2b 20 20 20 20  20 20 20 20 20 20 20 20  |...+            |
00026f70  20 20 20 20 e3 20 63 25  3d 70 61 63 25 2b 31 20  |    . c%=pac%+1 |
00026f80  b8 20 6e 6f 5f 6c 69 6e  65 73 25 0d ba f2 15 20  |. no_lines%.... |
00026f90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 f1  |               .|
00026fa0  0d ba fa 18 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00026fb0  20 20 20 20 ed 20 63 25  0d bb 02 21 20 20 20 20  |    . c%...!    |
00026fc0  20 20 20 20 20 20 20 20  20 20 20 20 e3 20 63 25  |            . c%|
00026fd0  3d 30 20 b8 20 65 6e 64  25 0d bb 0a 1f 20 20 20  |=0 . end%....   |
00026fe0  20 20 20 20 20 20 20 20  20 20 20 20 20 f1 20 6c  |             . l|
00026ff0  69 6e 65 24 28 63 25 29  0d bb 12 18 20 20 20 20  |ine$(c%)....    |
00027000  20 20 20 20 20 20 20 20  20 20 20 20 ed 20 63 25  |            . c%|
00027010  0d bb 1a 17 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00027020  20 20 20 20 ef 20 33 0d  bb 22 1b 20 20 20 20 20  |    . 3..".     |
00027030  20 20 20 20 20 20 20 20  20 20 20 70 61 63 25 3d  |           pac%=|
00027040  63 25 0d bb 2a 13 20 20  20 20 20 20 20 20 20 20  |c%..*.          |
00027050  20 20 20 20 cc 0d bb 32  17 20 20 20 20 20 20 20  |    ...2.       |
00027060  20 20 20 20 20 20 20 20  20 ef 20 32 0d bb 3a 21  |         . 2..:!|
00027070  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00027080  e3 20 63 25 3d 30 20 b8  20 65 6e 64 25 0d bb 42  |. c%=0 . end%..B|
00027090  1f 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000270a0  20 f1 20 6c 69 6e 65 24  28 63 25 29 0d bb 4a 18  | . line$(c%)..J.|
000270b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000270c0  ed 20 63 25 0d bb 52 17  20 20 20 20 20 20 20 20  |. c%..R.        |
000270d0  20 20 20 20 20 20 20 20  ef 20 33 0d bb 5a 1c 20  |        . 3..Z. |
000270e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  |               p|
000270f0  61 63 25 2b 3d 63 25 0d  bb 62 13 20 20 20 20 20  |ac%+=c%..b.     |
00027100  20 20 20 20 20 20 20 20  20 cd 0d bb 6a 11 20 20  |         ...j.  |
00027110  20 20 20 20 20 20 20 20  20 20 cd 0d bb 72 0f 20  |          ...r. |
00027120  20 20 20 20 20 20 20 20  20 cc 0d bb 7a 4d 20 20  |         ...zM  |
00027130  20 20 20 20 20 20 20 20  20 20 63 62 25 3d a4 63  |          cb%=.c|
00027140  6f 6e 76 65 72 74 5f 64  61 74 65 5f 72 65 6c 61  |onvert_date_rela|
00027150  74 69 76 65 28 79 72 5f  6e 6f 77 24 2c 6d 6f 6e  |tive(yr_now$,mon|
00027160  5f 6e 6f 77 24 2c 64 61  79 5f 6e 6f 77 24 2c 79  |_now$,day_now$,y|
00027170  72 5f 64 75 65 24 29 0d  bb 82 4d 20 20 20 20 20  |r_due$)...M     |
00027180  20 20 20 20 20 20 20 64  62 25 3d a4 63 6f 6e 76  |       db%=.conv|
00027190  65 72 74 5f 64 61 74 65  5f 72 65 6c 61 74 69 76  |ert_date_relativ|
000271a0  65 28 79 72 5f 64 75 65  24 2c 6d 6f 6e 5f 64 75  |e(yr_due$,mon_du|
000271b0  65 24 2c 64 61 79 5f 64  75 65 24 2c 79 72 5f 64  |e$,day_due$,yr_d|
000271c0  75 65 24 29 0d bb 8a 24  20 20 20 20 20 20 20 20  |ue$)...$        |
000271d0  20 20 20 20 e7 20 28 63  62 25 2d 64 62 25 29 3e  |    . (cb%-db%)>|
000271e0  3d 64 61 79 73 25 20 8c  0d bb 92 2a 20 20 20 20  |=days% ....*    |
000271f0  20 20 20 20 20 20 20 20  20 20 65 66 25 3d a4 70  |          ef%=.p|
00027200  72 69 6e 74 5f 72 65 63  6f 72 64 28 70 69 63 6b  |rint_record(pick|
00027210  25 29 0d bb 9a 3b 20 20  20 20 20 20 20 20 20 20  |%)...;          |
00027220  20 20 20 20 e7 20 65 66  25 20 8c 20 c8 99 20 22  |    . ef% . .. "|
00027230  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 3a 70  |Hourglass_Off":p|
00027240  72 69 6e 74 66 6c 61 67  25 3d a3 3a e1 0d bb a2  |rintflag%=.:....|
00027250  2b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 e7  |+              .|
00027260  20 70 61 63 25 2b 65 6e  64 25 2b 31 3e 6e 6f 5f  | pac%+end%+1>no_|
00027270  6c 69 6e 65 73 25 20 8c  0d bb aa 17 20 20 20 20  |lines% .....    |
00027280  20 20 20 20 20 20 20 20  20 20 20 20 ef 20 32 0d  |            . 2.|
00027290  bb b2 2b 20 20 20 20 20  20 20 20 20 20 20 20 20  |..+             |
000272a0  20 20 20 e3 20 63 25 3d  70 61 63 25 2b 31 20 b8  |   . c%=pac%+1 .|
000272b0  20 6e 6f 5f 6c 69 6e 65  73 25 0d bb ba 15 20 20  | no_lines%....  |
000272c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 f1 0d  |              ..|
000272d0  bb c2 18 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
000272e0  20 20 20 ed 20 63 25 0d  bb ca 21 20 20 20 20 20  |   . c%...!     |
000272f0  20 20 20 20 20 20 20 20  20 20 20 e3 20 63 25 3d  |           . c%=|
00027300  30 20 b8 20 65 6e 64 25  0d bb d2 1f 20 20 20 20  |0 . end%....    |
00027310  20 20 20 20 20 20 20 20  20 20 20 20 f1 20 6c 69  |            . li|
00027320  6e 65 24 28 63 25 29 0d  bb da 18 20 20 20 20 20  |ne$(c%)....     |
00027330  20 20 20 20 20 20 20 20  20 20 20 ed 20 63 25 0d  |           . c%.|
00027340  bb e2 17 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00027350  20 20 20 ef 20 33 0d bb  ea 1b 20 20 20 20 20 20  |   . 3....      |
00027360  20 20 20 20 20 20 20 20  20 20 70 61 63 25 3d 63  |          pac%=c|
00027370  25 0d bb f2 13 20 20 20  20 20 20 20 20 20 20 20  |%....           |
00027380  20 20 20 cc 0d bb fa 17  20 20 20 20 20 20 20 20  |   .....        |
00027390  20 20 20 20 20 20 20 20  ef 20 32 0d bc 02 21 20  |        . 2...! |
000273a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 e3  |               .|
000273b0  20 63 25 3d 30 20 b8 20  65 6e 64 25 0d bc 0a 1f  | c%=0 . end%....|
000273c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000273d0  f1 20 6c 69 6e 65 24 28  63 25 29 0d bc 12 18 20  |. line$(c%).... |
000273e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 ed  |               .|
000273f0  20 63 25 0d bc 1a 17 20  20 20 20 20 20 20 20 20  | c%....         |
00027400  20 20 20 20 20 20 20 ef  20 33 0d bc 22 1c 20 20  |       . 3..".  |
00027410  20 20 20 20 20 20 20 20  20 20 20 20 20 20 70 61  |              pa|
00027420  63 25 2b 3d 63 25 0d bc  2a 13 20 20 20 20 20 20  |c%+=c%..*.      |
00027430  20 20 20 20 20 20 20 20  cd 0d bc 32 11 20 20 20  |        ...2.   |
00027440  20 20 20 20 20 20 20 20  20 cd 0d bc 3a 0f 20 20  |         ...:.  |
00027450  20 20 20 20 20 20 20 20  cd 0d bc 42 0d 20 20 20  |        ...B.   |
00027460  20 20 20 20 20 cd 0d bc  4a 0b 20 20 20 20 20 20  |     ...J.      |
00027470  cd 0d bc 52 0f 20 20 20  20 20 20 ed 20 67 6e 25  |...R.      . gn%|
00027480  0d bc 5a 09 20 20 20 20  cd 0d bc 62 0d 20 20 20  |..Z.    ...b.   |
00027490  20 ed 20 67 64 25 0d bc  6a 14 20 20 20 20 70 72  | . gd%..j.    pr|
000274a0  69 6e 74 66 6c 61 67 25  3d a3 0d bc 72 1a 20 20  |intflag%=...r.  |
000274b0  20 20 c8 99 20 22 48 6f  75 72 67 6c 61 73 73 5f  |  .. "Hourglass_|
000274c0  4f 66 66 22 0d bc 7a 07  20 20 cd 0d bc 82 05 cd  |Off"..z.  ......|
000274d0  0d bc 8a 05 e1 0d bc 92  04 0d bc 9a 19 dd a4 66  |...............f|
000274e0  6f 72 6d 5f 69 6e 69 74  69 61 6c 73 28 69 6e 69  |orm_initials(ini|
000274f0  24 29 0d bc a2 11 73 25  3d a7 69 6e 69 24 2c 22  |$)....s%=.ini$,"|
00027500  20 22 29 0d bc aa 0b c8  8e 20 73 25 20 ca 0d bc  | ")...... s% ...|
00027510  b2 19 20 20 c9 20 30 3a  20 3d c0 69 6e 69 24 2c  |..  . 0: =.ini$,|
00027520  31 29 2b 22 2e 20 22 0d  bc ba 32 20 20 7f 20 3d  |1)+". "...2  . =|
00027530  c0 69 6e 69 24 2c 31 29  2b 22 2e 20 22 2b a4 66  |.ini$,1)+". "+.f|
00027540  6f 72 6d 5f 69 6e 69 74  69 61 6c 73 28 c1 69 6e  |orm_initials(.in|
00027550  69 24 2c 73 25 2b 31 29  29 0d bc c2 05 cb 0d bc  |i$,s%+1)).......|
00027560  ca 04 0d bc d2 16 dd a4  67 65 74 5f 61 64 64 72  |........get_addr|
00027570  65 73 73 28 61 6c 25 29  0d bc da 13 e7 20 61 64  |ess(al%)..... ad|
00027580  5f 65 6d 70 74 25 3d 2d  31 20 8c 0d bc e2 10 20  |_empt%=-1 ..... |
00027590  20 e7 20 61 6c 25 3c 3e  36 20 8c 0d bc ea 16 20  | . al%<>6 ..... |
000275a0  20 20 20 3d 61 64 64 72  65 73 73 24 28 61 6c 25  |   =address$(al%|
000275b0  29 0d bc f2 07 20 20 cc  0d bc fa 0f 20 20 20 20  |)....  .....    |
000275c0  3d 73 74 61 74 65 24 0d  bd 02 07 20 20 cd 0d bd  |=state$....  ...|
000275d0  0a 05 cc 0d bd 12 17 20  20 e7 20 61 6c 25 3e 3d  |.......  . al%>=|
000275e0  61 64 5f 65 6d 70 74 25  20 8c 0d bd 1a 11 20 20  |ad_empt% .....  |
000275f0  20 20 e7 20 61 6c 25 3d  36 20 8c 0d bd 22 11 20  |  . al%=6 ...". |
00027600  20 20 20 20 20 3d 73 74  61 74 65 24 0d bd 2a 09  |     =state$..*.|
00027610  20 20 20 20 cc 0d bd 32  0d 20 20 20 20 20 20 3d  |    ...2.      =|
00027620  22 22 0d bd 3a 09 20 20  20 20 cd 0d bd 42 07 20  |""..:.    ...B. |
00027630  20 cc 0d bd 4a 11 20 20  20 20 e7 20 61 6c 25 3d  | ...J.    . al%=|
00027640  36 20 8c 0d bd 52 11 20  20 20 20 20 20 3d 73 74  |6 ...R.      =st|
00027650  61 74 65 24 0d bd 5a 09  20 20 20 20 cc 0d bd 62  |ate$..Z.    ...b|
00027660  18 20 20 20 20 20 20 3d  61 64 64 72 65 73 73 24  |.      =address$|
00027670  28 61 6c 25 29 0d bd 6a  09 20 20 20 20 cd 0d bd  |(al%)..j.    ...|
00027680  72 07 20 20 cd 0d bd 7a  05 cd 0d bd 82 04 0d bd  |r.  ...z........|
00027690  8a 19 dd a4 70 72 69 6e  74 5f 72 65 63 6f 72 64  |....print_record|
000276a0  28 70 69 63 6b 25 29 0d  bd 92 2c 67 6e 6f 24 3d  |(pick%)...,gno$=|
000276b0  a4 43 68 65 63 6b 5f 44  69 67 69 74 5f 50 6c 75  |.Check_Digit_Plu|
000276c0  73 28 a4 7a 65 72 6f 28  c3 28 67 6e 6f 25 29 2c  |s(.zero(.(gno%),|
000276d0  36 29 29 0d bd 9a 1a 6d  65 6d 24 3d c1 76 61 72  |6))....mem$=.var|
000276e0  24 28 70 69 63 6b 25 2c  34 29 2c 37 29 0d bd a2  |$(pick%,4),7)...|
000276f0  11 6d 65 6d 24 3d c0 6d  65 6d 24 2c 38 29 0d bd  |.mem$=.mem$,8)..|
00027700  aa 12 64 25 3d bb 28 c0  6d 65 6d 24 2c 32 29 29  |..d%=.(.mem$,2))|
00027710  0d bd b2 1a e7 20 6d 65  6d 5f 64 69 72 5f 64 65  |..... mem_dir_de|
00027720  66 25 28 64 25 29 3d a3  20 8c 0d bd ba 71 20 20  |f%(d%)=. ....q  |
00027730  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 54 68  |.dis_message("Th|
00027740  65 20 6d 65 6d 62 65 72  20 64 69 72 65 63 74 6f  |e member directo|
00027750  72 79 20 66 6f 72 20 6d  65 6d 62 65 72 20 22 2b  |ry for member "+|
00027760  a4 43 68 65 63 6b 5f 44  69 67 69 74 5f 50 6c 75  |.Check_Digit_Plu|
00027770  73 28 6d 65 6d 24 29 2b  22 20 68 61 73 20 6e 6f  |s(mem$)+" has no|
00027780  74 20 62 65 65 6e 20 73  65 65 6e 20 62 79 20 74  |t been seen by t|
00027790  68 65 20 66 69 6c 65 72  2e 22 29 0d bd c2 08 20  |he filer.").... |
000277a0  20 3d b9 0d bd ca 05 cd  0d bd d2 14 6c 25 3d bb  | =..........l%=.|
000277b0  28 c1 6d 65 6d 24 2c 33  2c 32 29 29 0d bd da 14  |(.mem$,3,2))....|
000277c0  73 25 3d bb 28 c1 6d 65  6d 24 2c 35 2c 31 29 29  |s%=.(.mem$,5,1))|
000277d0  0d bd e2 14 6e 25 3d bb  28 c1 6d 65 6d 24 2c 36  |....n%=.(.mem$,6|
000277e0  2c 33 29 29 0d bd ea 34  74 72 79 24 3d 22 3c 4d  |,3))...4try$="<M|
000277f0  65 6d 62 65 72 22 2b c3  28 64 25 29 2b 22 24 44  |ember"+.(d%)+"$D|
00027800  69 72 3e 2e 22 2b bd 28  36 35 2b 6c 25 29 2b 22  |ir>."+.(65+l%)+"|
00027810  2e 22 2b c3 28 73 25 29  0d bd f2 11 66 69 6c 6f  |."+.(s%)....filo|
00027820  25 3d 8e 28 74 72 79 24  29 0d bd fa 1a e7 20 66  |%=.(try$)..... f|
00027830  69 6c 6f 25 3d 30 20 8c  20 d9 23 66 69 6c 6f 25  |ilo%=0 . .#filo%|
00027840  3a 3d b9 0d be 02 11 e8  23 66 69 6c 6f 25 2c 74  |:=......#filo%,t|
00027850  65 6d 70 25 0d be 0a 0c  e7 20 6e 25 3e 31 20 8c  |emp%..... n%>1 .|
00027860  0d be 12 13 20 20 e3 20  63 25 3d 31 20 b8 20 6e  |....  . c%=1 . n|
00027870  25 2d 31 0d be 1a 11 20  20 e3 20 65 25 3d 31 20  |%-1....  . e%=1 |
00027880  b8 20 31 31 0d be 22 13  20 20 e8 23 66 69 6c 6f  |. 11..".  .#filo|
00027890  25 2c 74 65 6d 70 24 0d  be 2a 0a 20 20 ed 20 65  |%,temp$..*.  . e|
000278a0  25 0d be 32 13 20 20 6e  75 6c 6c 25 3d 9a 23 66  |%..2.  null%=.#f|
000278b0  69 6c 6f 25 0d be 3a 13  20 20 74 65 62 6e 25 3d  |ilo%..:.  tebn%=|
000278c0  9a 23 66 69 6c 6f 25 0d  be 42 11 20 20 e7 20 74  |.#filo%..B.  . t|
000278d0  65 62 6e 25 3e 30 20 8c  0d be 4a 16 20 20 20 20  |ebn%>0 ...J.    |
000278e0  e3 20 65 25 3d 31 20 b8  20 74 65 62 6e 25 0d be  |. e%=1 . tebn%..|
000278f0  52 15 20 20 20 20 e8 23  66 69 6c 6f 25 2c 74 65  |R.    .#filo%,te|
00027900  6d 70 24 0d be 5a 0c 20  20 20 20 ed 20 65 25 0d  |mp$..Z.    . e%.|
00027910  be 62 07 20 20 cd 0d be  6a 0a 20 20 ed 20 63 25  |.b.  ...j.  . c%|
00027920  0d be 72 05 cd 0d be 7a  12 e8 23 66 69 6c 6f 25  |..r....z..#filo%|
00027930  2c 6d 65 6d 6e 6f 24 0d  be 82 12 e8 23 66 69 6c  |,memno$.....#fil|
00027940  6f 25 2c 74 69 74 6c 65  24 0d be 8a 11 e8 23 66  |o%,title$.....#f|
00027950  69 6c 6f 25 2c 73 75 72  6e 24 0d be 92 0f e8 23  |ilo%,surn$.....#|
00027960  66 69 6c 6f 25 2c 6f 6e  24 0d be 9a 0f 61 64 5f  |filo%,on$....ad_|
00027970  65 6d 70 74 25 3d 2d 31  0d be a2 0e 6c 69 6e 65  |empt%=-1....line|
00027980  24 28 29 3d 22 22 0d be  aa 0e e3 20 63 25 3d 30  |$()=""..... c%=0|
00027990  20 b8 20 35 0d be b2 18  e8 23 66 69 6c 6f 25 2c  | . 5.....#filo%,|
000279a0  61 64 64 72 65 73 73 24  28 63 25 29 0d be ba 31  |address$(c%)...1|
000279b0  e7 20 61 64 64 72 65 73  73 24 28 63 25 29 3d 22  |. address$(c%)="|
000279c0  22 20 80 20 61 64 5f 65  6d 70 74 25 3d 2d 31 20  |" . ad_empt%=-1 |
000279d0  8c 20 61 64 5f 65 6d 70  74 25 3d 63 25 0d be c2  |. ad_empt%=c%...|
000279e0  08 ed 20 63 25 0d be ca  12 e8 23 66 69 6c 6f 25  |.. c%.....#filo%|
000279f0  2c 73 74 61 74 65 24 0d  be d2 0f 74 74 25 3d 9a  |,state$....tt%=.|
00027a00  23 66 69 6c 6f 25 0d be  da 0b d9 23 66 69 6c 6f  |#filo%.....#filo|
00027a10  25 0d be e2 25 6c 69 6e  65 24 28 30 29 3d c4 63  |%...%line$(0)=.c|
00027a20  6f 6c 75 6d 6e 73 25 2c  22 3d 22 29 3a 6c 69 6e  |olumns%,"="):lin|
00027a30  25 28 30 29 3d 30 0d be  ea 3c 6c 69 6e 65 24 3d  |%(0)=0...<line$=|
00027a40  22 54 68 69 73 20 62 6f  6f 6b 20 77 61 73 20 64  |"This book was d|
00027a50  75 65 20 62 61 63 6b 20  6f 6e 20 22 2b c0 76 61  |ue back on "+.va|
00027a60  72 24 28 70 69 63 6b 25  2c 34 29 2c 32 29 2b 22  |r$(pick%,4),2)+"|
00027a70  2d 22 0d be f2 36 6c 69  6e 65 24 2b 3d c1 76 61  |-"...6line$+=.va|
00027a80  72 24 28 70 69 63 6b 25  2c 34 29 2c 33 2c 32 29  |r$(pick%,4),3,2)|
00027a90  2b 22 2d 22 2b c1 76 61  72 24 28 70 69 63 6b 25  |+"-"+.var$(pick%|
00027aa0  2c 34 29 2c 35 2c 32 29  0d be fa 1c 6c 69 6e 65  |,4),5,2)....line|
00027ab0  24 28 31 29 3d 6c 69 6e  65 24 3a 6c 69 6e 25 28  |$(1)=line$:lin%(|
00027ac0  31 29 3d 30 0d bf 02 39  e7 20 a9 28 6c 69 6e 65  |1)=0...9. .(line|
00027ad0  24 28 31 29 29 3e 63 6f  6c 75 6d 6e 73 25 20 8c  |$(1))>columns% .|
00027ae0  20 6c 69 6e 65 24 28 31  29 3d c2 6c 69 6e 65 24  | line$(1)=.line$|
00027af0  28 31 29 2c 63 6f 6c 75  6d 6e 73 25 29 0d bf 0a  |(1),columns%)...|
00027b00  19 6c 69 6e 65 24 28 32  29 3d 22 22 3a 6c 69 6e  |.line$(2)="":lin|
00027b10  25 28 32 29 3d 30 0d bf  12 2c 6c 6c 24 3d 74 69  |%(2)=0...,ll$=ti|
00027b20  74 6c 65 24 2b 22 20 22  2b a4 66 6f 72 6d 5f 69  |tle$+" "+.form_i|
00027b30  6e 69 74 69 61 6c 73 28  6f 6e 24 29 2b 73 75 72  |nitials(on$)+sur|
00027b40  6e 24 0d bf 1a 15 6c 72  24 3d 76 61 72 24 28 70  |n$....lr$=var$(p|
00027b50  69 63 6b 25 2c 30 29 0d  bf 22 18 6c 77 25 3d 28  |ick%,0)..".lw%=(|
00027b60  63 6f 6c 75 6d 6e 73 25  20 81 20 32 29 2d 31 0d  |columns% . 2)-1.|
00027b70  bf 2a 14 72 77 25 3d 63  6f 6c 75 6d 6e 73 25 20  |.*.rw%=columns% |
00027b80  81 20 32 0d bf 32 20 e7  20 a9 28 6c 6c 24 29 3e  |. 2..2 . .(ll$)>|
00027b90  6c 77 25 20 8c 20 6c 6c  24 3d c0 6c 6c 24 2c 6c  |lw% . ll$=.ll$,l|
00027ba0  77 25 29 0d bf 3a 20 e7  20 a9 28 6c 72 24 29 3e  |w%)..: . .(lr$)>|
00027bb0  72 77 25 20 8c 20 6c 72  24 3d c0 6c 72 24 2c 72  |rw% . lr$=.lr$,r|
00027bc0  77 25 29 0d bf 42 1b 6c  69 6e 65 24 3d a4 73 70  |w%)..B.line$=.sp|
00027bd0  63 28 6c 6c 24 2c 72 77  25 29 2b 6c 72 24 0d bf  |c(ll$,rw%)+lr$..|
00027be0  4a 1c 6c 69 6e 65 24 28  33 29 3d 6c 69 6e 65 24  |J.line$(3)=line$|
00027bf0  3a 6c 69 6e 25 28 33 29  3d 31 0d bf 52 17 6c 6c  |:lin%(3)=1..R.ll|
00027c00  24 3d a4 67 65 74 5f 61  64 64 72 65 73 73 28 30  |$=.get_address(0|
00027c10  29 0d bf 5a 15 6c 72 24  3d 76 61 72 24 28 70 69  |)..Z.lr$=var$(pi|
00027c20  63 6b 25 2c 31 29 0d bf  62 20 e7 20 a9 28 6c 6c  |ck%,1)..b . .(ll|
00027c30  24 29 3e 6c 77 25 20 8c  20 6c 6c 24 3d c0 6c 6c  |$)>lw% . ll$=.ll|
00027c40  24 2c 6c 77 25 29 0d bf  6a 20 e7 20 a9 28 6c 72  |$,lw%)..j . .(lr|
00027c50  24 29 3e 72 77 25 20 8c  20 6c 72 24 3d c0 6c 72  |$)>rw% . lr$=.lr|
00027c60  24 2c 72 77 25 29 0d bf  72 1b 6c 69 6e 65 24 3d  |$,rw%)..r.line$=|
00027c70  a4 73 70 63 28 6c 6c 24  2c 72 77 25 29 2b 6c 72  |.spc(ll$,rw%)+lr|
00027c80  24 0d bf 7a 1c 6c 69 6e  65 24 28 34 29 3d 6c 69  |$..z.line$(4)=li|
00027c90  6e 65 24 3a 6c 69 6e 25  28 34 29 3d 31 0d bf 82  |ne$:lin%(4)=1...|
00027ca0  17 6c 6c 24 3d a4 67 65  74 5f 61 64 64 72 65 73  |.ll$=.get_addres|
00027cb0  73 28 31 29 0d bf 8a 15  6c 72 24 3d 76 61 72 24  |s(1)....lr$=var$|
00027cc0  28 70 69 63 6b 25 2c 32  29 0d bf 92 20 e7 20 a9  |(pick%,2)... . .|
00027cd0  28 6c 6c 24 29 3e 6c 77  25 20 8c 20 6c 6c 24 3d  |(ll$)>lw% . ll$=|
00027ce0  c0 6c 6c 24 2c 6c 77 25  29 0d bf 9a 20 e7 20 a9  |.ll$,lw%)... . .|
00027cf0  28 6c 72 24 29 3e 72 77  25 20 8c 20 6c 72 24 3d  |(lr$)>rw% . lr$=|
00027d00  c0 6c 72 24 2c 72 77 25  29 0d bf a2 1b 6c 69 6e  |.lr$,rw%)....lin|
00027d10  65 24 3d a4 73 70 63 28  6c 6c 24 2c 72 77 25 29  |e$=.spc(ll$,rw%)|
00027d20  2b 6c 72 24 0d bf aa 1c  6c 69 6e 65 24 28 35 29  |+lr$....line$(5)|
00027d30  3d 6c 69 6e 65 24 3a 6c  69 6e 25 28 35 29 3d 31  |=line$:lin%(5)=1|
00027d40  0d bf b2 17 6c 6c 24 3d  a4 67 65 74 5f 61 64 64  |....ll$=.get_add|
00027d50  72 65 73 73 28 32 29 0d  bf ba 0e e7 20 6c 6c 24  |ress(2)..... ll$|
00027d60  3d 22 22 20 8c 0d bf c2  10 20 20 6c 6c 24 3d 73  |="" .....  ll$=s|
00027d70  74 61 74 65 24 0d bf ca  1c 20 20 6c 69 6e 65 24  |tate$....  line$|
00027d80  28 36 29 3d 6c 6c 24 3a  6c 69 6e 25 28 36 29 3d  |(6)=ll$:lin%(6)=|
00027d90  30 0d bf d2 1b 20 20 6c  69 6e 65 24 28 37 29 3d  |0....  line$(7)=|
00027da0  22 22 3a 6c 69 6e 25 28  37 29 3d 30 0d bf da 21  |"":lin%(7)=0...!|
00027db0  20 20 6c 6c 24 3d a4 43  68 65 63 6b 5f 44 69 67  |  ll$=.Check_Dig|
00027dc0  69 74 5f 50 6c 75 73 28  6d 65 6d 24 29 0d bf e2  |it_Plus(mem$)...|
00027dd0  0e 20 20 6c 72 24 3d 67  6e 6f 24 0d bf ea 1d 20  |.  lr$=gno$.... |
00027de0  20 6c 69 6e 65 24 3d a4  73 70 63 28 6c 6c 24 2c  | line$=.spc(ll$,|
00027df0  72 77 25 29 2b 6c 72 24  0d bf f2 1e 20 20 6c 69  |rw%)+lr$....  li|
00027e00  6e 65 24 28 38 29 3d 6c  69 6e 65 24 3a 6c 69 6e  |ne$(8)=line$:lin|
00027e10  25 28 38 29 3d 31 0d bf  fa 05 cc 0d c0 02 1c 20  |%(8)=1......... |
00027e20  20 6c 69 6e 65 24 28 36  29 3d 6c 6c 24 3a 6c 69  | line$(6)=ll$:li|
00027e30  6e 25 28 36 29 3d 30 0d  c0 0a 19 20 20 6c 6c 24  |n%(6)=0....  ll$|
00027e40  3d a4 67 65 74 5f 61 64  64 72 65 73 73 28 33 29  |=.get_address(3)|
00027e50  0d c0 12 10 20 20 e7 20  6c 6c 24 3d 22 22 20 8c  |....  . ll$="" .|
00027e60  0d c0 1a 12 20 20 20 20  6c 6c 24 3d 73 74 61 74  |....    ll$=stat|
00027e70  65 24 0d c0 22 1e 20 20  20 20 6c 69 6e 65 24 28  |e$..".    line$(|
00027e80  37 29 3d 6c 6c 24 3a 6c  69 6e 25 28 37 29 3d 30  |7)=ll$:lin%(7)=0|
00027e90  0d c0 2a 1d 20 20 20 20  6c 69 6e 65 24 28 38 29  |..*.    line$(8)|
00027ea0  3d 22 22 3a 6c 69 6e 25  28 38 29 3d 30 0d c0 32  |="":lin%(8)=0..2|
00027eb0  23 20 20 20 20 6c 6c 24  3d a4 43 68 65 63 6b 5f  |#    ll$=.Check_|
00027ec0  44 69 67 69 74 5f 50 6c  75 73 28 6d 65 6d 24 29  |Digit_Plus(mem$)|
00027ed0  0d c0 3a 10 20 20 20 20  6c 72 24 3d 67 6e 6f 24  |..:.    lr$=gno$|
00027ee0  0d c0 42 1f 20 20 20 20  6c 69 6e 65 24 3d a4 73  |..B.    line$=.s|
00027ef0  70 63 28 6c 6c 24 2c 72  77 25 29 2b 6c 72 24 0d  |pc(ll$,rw%)+lr$.|
00027f00  c0 4a 20 20 20 20 20 6c  69 6e 65 24 28 39 29 3d  |.J     line$(9)=|
00027f10  6c 69 6e 65 24 3a 6c 69  6e 25 28 39 29 3d 31 0d  |line$:lin%(9)=1.|
00027f20  c0 52 07 20 20 cc 0d c0  5a 1e 20 20 20 20 6c 69  |.R.  ...Z.    li|
00027f30  6e 65 24 28 37 29 3d 6c  6c 24 3a 6c 69 6e 25 28  |ne$(7)=ll$:lin%(|
00027f40  37 29 3d 30 0d c0 62 1b  20 20 20 20 6c 6c 24 3d  |7)=0..b.    ll$=|
00027f50  a4 67 65 74 5f 61 64 64  72 65 73 73 28 34 29 0d  |.get_address(4).|
00027f60  c0 6a 12 20 20 20 20 e7  20 6c 6c 24 3d 22 22 20  |.j.    . ll$="" |
00027f70  8c 0d c0 72 14 20 20 20  20 20 20 6c 6c 24 3d 73  |...r.      ll$=s|
00027f80  74 61 74 65 24 0d c0 7a  20 20 20 20 20 20 20 6c  |tate$..z       l|
00027f90  69 6e 65 24 28 38 29 3d  6c 6c 24 3a 6c 69 6e 25  |ine$(8)=ll$:lin%|
00027fa0  28 38 29 3d 30 0d c0 82  1f 20 20 20 20 20 20 6c  |(8)=0....      l|
00027fb0  69 6e 65 24 28 39 29 3d  22 22 3a 6c 69 6e 25 28  |ine$(9)="":lin%(|
00027fc0  39 29 3d 30 0d c0 8a 25  20 20 20 20 20 20 6c 6c  |9)=0...%      ll|
00027fd0  24 3d a4 43 68 65 63 6b  5f 44 69 67 69 74 5f 50  |$=.Check_Digit_P|
00027fe0  6c 75 73 28 6d 65 6d 24  29 0d c0 92 12 20 20 20  |lus(mem$)....   |
00027ff0  20 20 20 6c 72 24 3d 67  6e 6f 24 0d c0 9a 21 20  |   lr$=gno$...! |
00028000  20 20 20 20 20 6c 69 6e  65 24 3d a4 73 70 63 28  |     line$=.spc(|
00028010  6c 6c 24 2c 72 77 25 29  2b 6c 72 24 0d c0 a2 24  |ll$,rw%)+lr$...$|
00028020  20 20 20 20 20 20 6c 69  6e 65 24 28 31 30 29 3d  |      line$(10)=|
00028030  6c 69 6e 65 24 3a 6c 69  6e 25 28 31 30 29 3d 31  |line$:lin%(10)=1|
00028040  0d c0 aa 09 20 20 20 20  cc 0d c0 b2 20 20 20 20  |....    ....    |
00028050  20 20 20 6c 69 6e 65 24  28 38 29 3d 6c 6c 24 3a  |   line$(8)=ll$:|
00028060  6c 69 6e 25 28 38 29 3d  30 0d c0 ba 1d 20 20 20  |lin%(8)=0....   |
00028070  20 20 20 6c 6c 24 3d a4  67 65 74 5f 61 64 64 72  |   ll$=.get_addr|
00028080  65 73 73 28 35 29 0d c0  c2 14 20 20 20 20 20 20  |ess(5)....      |
00028090  e7 20 6c 6c 24 3d 22 22  20 8c 0d c0 ca 16 20 20  |. ll$="" .....  |
000280a0  20 20 20 20 20 20 6c 6c  24 3d 73 74 61 74 65 24  |      ll$=state$|
000280b0  0d c0 d2 22 20 20 20 20  20 20 20 20 6c 69 6e 65  |..."        line|
000280c0  24 28 39 29 3d 6c 6c 24  3a 6c 69 6e 25 28 39 29  |$(9)=ll$:lin%(9)|
000280d0  3d 30 0d c0 da 23 20 20  20 20 20 20 20 20 6c 69  |=0...#        li|
000280e0  6e 65 24 28 31 30 29 3d  22 22 3a 6c 69 6e 25 28  |ne$(10)="":lin%(|
000280f0  31 30 29 3d 30 0d c0 e2  27 20 20 20 20 20 20 20  |10)=0...'       |
00028100  20 6c 6c 24 3d a4 43 68  65 63 6b 5f 44 69 67 69  | ll$=.Check_Digi|
00028110  74 5f 50 6c 75 73 28 6d  65 6d 24 29 0d c0 ea 14  |t_Plus(mem$)....|
00028120  20 20 20 20 20 20 20 20  6c 72 24 3d 67 6e 6f 24  |        lr$=gno$|
00028130  0d c0 f2 23 20 20 20 20  20 20 20 20 6c 69 6e 65  |...#        line|
00028140  24 3d a4 73 70 63 28 6c  6c 24 2c 72 77 25 29 2b  |$=.spc(ll$,rw%)+|
00028150  6c 72 24 0d c0 fa 26 20  20 20 20 20 20 20 20 6c  |lr$...&        l|
00028160  69 6e 65 24 28 31 31 29  3d 6c 69 6e 65 24 3a 6c  |ine$(11)=line$:l|
00028170  69 6e 25 28 31 31 29 3d  31 0d c1 02 0b 20 20 20  |in%(11)=1....   |
00028180  20 20 20 cc 0d c1 0a 22  20 20 20 20 20 20 20 20  |   ...."        |
00028190  6c 69 6e 65 24 28 39 29  3d 6c 6c 24 3a 6c 69 6e  |line$(9)=ll$:lin|
000281a0  25 28 39 29 3d 30 0d c1  12 27 20 20 20 20 20 20  |%(9)=0...'      |
000281b0  20 20 6c 69 6e 65 24 28  31 30 29 3d 73 74 61 74  |  line$(10)=stat|
000281c0  65 24 3a 6c 69 6e 25 28  31 30 29 3d 30 0d c1 1a  |e$:lin%(10)=0...|
000281d0  23 20 20 20 20 20 20 20  20 6c 69 6e 65 24 28 31  |#        line$(1|
000281e0  31 29 3d 22 22 3a 6c 69  6e 25 28 31 31 29 3d 30  |1)="":lin%(11)=0|
000281f0  0d c1 22 27 20 20 20 20  20 20 20 20 6c 6c 24 3d  |.."'        ll$=|
00028200  a4 43 68 65 63 6b 5f 44  69 67 69 74 5f 50 6c 75  |.Check_Digit_Plu|
00028210  73 28 6d 65 6d 24 29 0d  c1 2a 14 20 20 20 20 20  |s(mem$)..*.     |
00028220  20 20 20 6c 72 24 3d 67  6e 6f 24 0d c1 32 23 20  |   lr$=gno$..2# |
00028230  20 20 20 20 20 20 20 6c  69 6e 65 24 3d a4 73 70  |       line$=.sp|
00028240  63 28 6c 6c 24 2c 72 77  25 29 2b 6c 72 24 0d c1  |c(ll$,rw%)+lr$..|
00028250  3a 26 20 20 20 20 20 20  20 20 6c 69 6e 65 24 28  |:&        line$(|
00028260  31 32 29 3d 6c 69 6e 65  24 3a 6c 69 6e 25 28 31  |12)=line$:lin%(1|
00028270  32 29 3d 31 0d c1 42 0b  20 20 20 20 20 20 cd 0d  |2)=1..B.      ..|
00028280  c1 4a 09 20 20 20 20 cd  0d c1 52 07 20 20 cd 0d  |.J.    ...R.  ..|
00028290  c1 5a 05 cd 0d c1 62 0b  65 6e 64 25 3d 31 32 0d  |.Z....b.end%=12.|
000282a0  c1 6a 15 c8 95 20 6c 69  6e 65 24 28 65 6e 64 25  |.j... line$(end%|
000282b0  29 3d 22 22 0d c1 72 0d  20 20 65 6e 64 25 2d 3d  |)=""..r.  end%-=|
000282c0  31 0d c1 7a 05 ce 0d c1  82 13 e7 20 6f 64 74 5f  |1..z....... odt_|
000282d0  66 6c 61 67 25 3e 30 20  8c 0d c1 8a 24 20 20 e3  |flag%>0 ....$  .|
000282e0  20 63 25 3d 65 6e 64 25  2b 31 20 b8 20 65 6e 64  | c%=end%+1 . end|
000282f0  25 2b 31 2b 6f 64 74 5f  66 6c 61 67 25 0d c1 92  |%+1+odt_flag%...|
00028300  1f 20 20 6c 69 6e 65 24  28 63 25 29 3d 6f 64 74  |.  line$(c%)=odt|
00028310  24 28 63 25 2d 65 6e 64  25 2d 31 29 0d c1 9a 0a  |$(c%-end%-1)....|
00028320  20 20 ed 20 63 25 0d c1  a2 0f 20 20 65 6e 64 25  |  . c%....  end%|
00028330  3d 63 25 2d 31 0d c1 aa  05 cd 0d c1 b2 06 3d a3  |=c%-1.........=.|
00028340  0d c1 ba 04 0d c1 c2 16  dd f2 72 65 77 72 69 74  |..........rewrit|
00028350  65 28 70 78 25 2c 70 79  25 29 0d c1 ca 1b c8 99  |e(px%,py%)......|
00028360  20 22 46 6f 6e 74 5f 53  65 74 46 6f 6e 74 22 2c  | "Font_SetFont",|
00028370  66 68 64 6c 25 0d c1 d2  21 c8 99 20 22 57 69 6d  |fhdl%...!.. "Wim|
00028380  70 5f 53 65 74 46 6f 6e  74 43 6f 6c 6f 75 72 73  |p_SetFontColours|
00028390  22 2c 2c 30 2c 37 0d c1  da 33 c8 99 20 22 46 6f  |",,0,7...3.. "Fo|
000283a0  6e 74 5f 43 6f 6e 76 65  72 74 74 6f 70 6f 69 6e  |nt_Converttopoin|
000283b0  74 73 22 2c 2c 70 78 25  2c 70 79 25 20 b8 20 2c  |ts",,px%,py% . ,|
000283c0  70 78 70 25 2c 70 79 70  25 0d c1 e2 13 e3 20 69  |pxp%,pyp%..... i|
000283d0  25 3d 30 20 b8 20 70 61  63 25 2d 31 0d c1 ea 12  |%=0 . pac%-1....|
000283e0  e7 20 70 61 6e 25 28 69  25 29 3d 31 20 8c 0d c1  |. pan%(i%)=1 ...|
000283f0  f2 22 20 20 6c 73 24 3d  c0 70 61 24 28 69 25 29  |."  ls$=.pa$(i%)|
00028400  2c 28 63 6f 6c 75 6d 6e  73 25 20 81 20 32 29 29  |,(columns% . 2))|
00028410  0d c1 fa 24 20 20 72 73  24 3d c1 70 61 24 28 69  |...$  rs$=.pa$(i|
00028420  25 29 2c 28 63 6f 6c 75  6d 6e 73 25 20 81 20 32  |%),(columns% . 2|
00028430  29 2b 31 29 0d c2 02 35  20 20 c8 99 20 22 46 6f  |)+1)...5  .. "Fo|
00028440  6e 74 5f 50 61 69 6e 74  22 2c 2c 6c 73 24 2c 30  |nt_Paint",,ls$,0|
00028450  2c 70 78 70 25 2c 28 70  79 70 25 2d 73 69 7a 65  |,pxp%,(pyp%-size|
00028460  25 2a 28 69 25 2b 31 29  29 0d c2 0a 48 20 20 c8  |%*(i%+1))...H  .|
00028470  99 20 22 46 6f 6e 74 5f  50 61 69 6e 74 22 2c 2c  |. "Font_Paint",,|
00028480  72 73 24 2c 30 2c 70 78  70 25 2b 73 69 7a 65 25  |rs$,0,pxp%+size%|
00028490  2a 28 63 6f 6c 75 6d 6e  73 25 2f 33 29 2c 28 70  |*(columns%/3),(p|
000284a0  79 70 25 2d 73 69 7a 65  25 2a 28 69 25 2b 31 29  |yp%-size%*(i%+1)|
000284b0  29 0d c2 12 05 cc 0d c2  1a 39 20 20 c8 99 20 22  |)........9  .. "|
000284c0  46 6f 6e 74 5f 50 61 69  6e 74 22 2c 2c 70 61 24  |Font_Paint",,pa$|
000284d0  28 69 25 29 2c 30 2c 70  78 70 25 2c 28 70 79 70  |(i%),0,pxp%,(pyp|
000284e0  25 2d 73 69 7a 65 25 2a  28 69 25 2b 31 29 29 0d  |%-size%*(i%+1)).|
000284f0  c2 22 05 cd 0d c2 2a 08  ed 20 69 25 0d c2 32 05  |."....*.. i%..2.|
00028500  e1 0d c2 3a 04 0d c2 42  0d dd f2 70 72 69 6e 74  |...:...B...print|
00028510  65 72 0d c2 4a 17 c8 8e  20 63 75 72 72 65 6e 74  |er..J... current|
00028520  5f 70 72 69 6e 74 25 20  ca 0d c2 52 1b 20 20 c9  |_print% ...R.  .|
00028530  20 31 3a 20 f2 6f 76 65  72 64 75 65 5f 6e 6f 74  | 1: .overdue_not|
00028540  69 63 65 73 0d c2 5a 14  20 20 c9 20 32 3a 20 f2  |ices..Z.  . 2: .|
00028550  70 72 69 6e 74 5f 76 73  0d c2 62 14 20 20 c9 20  |print_vs..b.  . |
00028560  33 3a 20 f2 70 72 69 6e  74 5f 76 6d 0d c2 6a 19  |3: .print_vm..j.|
00028570  20 20 c9 20 34 3a 20 f2  70 72 69 6e 74 5f 69 6d  |  . 4: .print_im|
00028580  70 6f 72 74 73 0d c2 72  15 20 20 c9 20 35 3a 20  |ports..r.  . 5: |
00028590  f2 70 72 69 6e 74 5f 61  6c 6c 0d c2 7a 05 cb 0d  |.print_all..z...|
000285a0  c2 82 05 e1 0d c2 8a 04  0d c2 92 0e dd f2 70 72  |..............pr|
000285b0  69 6e 74 5f 76 73 0d c2  9a 0c 70 61 6e 25 28 29  |int_vs....pan%()|
000285c0  3d 30 0d c2 a2 34 70 61  24 28 30 29 3d 22 50 72  |=0...4pa$(0)="Pr|
000285d0  69 6e 74 20 72 65 71 75  65 73 74 65 64 20 66 72  |int requested fr|
000285e0  6f 6d 20 76 69 65 77 20  73 74 6f 63 6b 20 77 69  |om view stock wi|
000285f0  6e 64 6f 77 2e 22 0d c2  aa 0d 70 61 24 28 31 29  |ndow."....pa$(1)|
00028600  3d 22 22 0d c2 b2 38 70  61 24 28 32 29 3d 22 41  |=""...8pa$(2)="A|
00028610  63 63 65 73 73 69 6f 6e  20 6e 75 6d 62 65 72 3a  |ccession number:|
00028620  20 22 2b a4 67 65 74 74  65 78 74 28 76 69 65 77  | "+.gettext(view|
00028630  5f 73 74 6f 63 6b 25 2c  31 33 29 0d c2 ba 0d 70  |_stock%,13)....p|
00028640  61 24 28 33 29 3d 22 22  0d c2 c2 22 70 61 24 28  |a$(3)=""..."pa$(|
00028650  34 29 3d a4 67 65 74 74  65 78 74 28 76 69 65 77  |4)=.gettext(view|
00028660  5f 73 74 6f 63 6b 25 2c  32 29 0d c2 ca 22 70 61  |_stock%,2)..."pa|
00028670  24 28 35 29 3d a4 67 65  74 74 65 78 74 28 76 69  |$(5)=.gettext(vi|
00028680  65 77 5f 73 74 6f 63 6b  25 2c 34 29 0d c2 d2 22  |ew_stock%,4)..."|
00028690  70 61 24 28 36 29 3d a4  67 65 74 74 65 78 74 28  |pa$(6)=.gettext(|
000286a0  76 69 65 77 5f 73 74 6f  63 6b 25 2c 36 29 0d c2  |view_stock%,6)..|
000286b0  da 22 70 61 24 28 37 29  3d a4 67 65 74 74 65 78  |."pa$(7)=.gettex|
000286c0  74 28 76 69 65 77 5f 73  74 6f 63 6b 25 2c 39 29  |t(view_stock%,9)|
000286d0  0d c2 e2 23 70 61 24 28  38 29 3d a4 67 65 74 74  |...#pa$(8)=.gett|
000286e0  65 78 74 28 76 69 65 77  5f 73 74 6f 63 6b 25 2c  |ext(view_stock%,|
000286f0  31 32 29 0d c2 ea 0d 70  61 24 28 39 29 3d 22 22  |12)....pa$(9)=""|
00028700  0d c2 f2 0b 70 61 63 25  3d 31 30 0d c2 fa 10 66  |....pac%=10....f|
00028710  6f 6e 74 5f 66 6c 61 67  25 3d a3 0d c3 02 19 66  |ont_flag%=.....f|
00028720  24 3d a4 67 65 74 74 65  78 74 28 70 72 69 6e 74  |$=.gettext(print|
00028730  25 2c 33 29 0d c3 0a 21  e7 20 a4 55 70 70 65 72  |%,3)...!. .Upper|
00028740  28 66 24 29 3c 3e 22 53  59 53 54 45 4d 20 46 4f  |(f$)<>"SYSTEM FO|
00028750  4e 54 22 20 8c 0d c3 12  12 20 20 66 6f 6e 74 5f  |NT" .....  font_|
00028760  66 6c 61 67 25 3d b9 0d  c3 1a 0e 20 20 73 69 7a  |flag%=.....  siz|
00028770  65 25 3d 31 32 0d c3 22  16 20 20 73 69 7a 65 25  |e%=12..".  size%|
00028780  3d 73 69 7a 65 25 2a 31  30 30 30 0d c3 2a 3a 20  |=size%*1000..*: |
00028790  20 c8 99 20 22 46 6f 6e  74 5f 46 69 6e 64 46 6f  | .. "Font_FindFo|
000287a0  6e 74 22 2c 2c 66 24 2c  73 69 7a 65 25 2f 36 32  |nt",,f$,size%/62|
000287b0  2e 35 2c 73 69 7a 65 25  2f 36 32 2e 35 20 b8 20  |.5,size%/62.5 . |
000287c0  66 68 64 6c 25 0d c3 32  17 20 20 c8 99 20 22 48  |fhdl%..2.  .. "H|
000287d0  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 0d c3 3a 17  |ourglass_On"..:.|
000287e0  20 20 70 66 25 3d ae 28  22 70 72 69 6e 74 65 72  |  pf%=.("printer|
000287f0  3a 22 29 0d c3 42 3b 20  20 e7 20 70 66 25 3d 30  |:")..B;  . pf%=0|
00028800  20 8c 20 d9 23 70 66 25  3a f2 64 69 73 5f 6d 65  | . .#pf%:.dis_me|
00028810  73 73 61 67 65 28 22 50  72 69 6e 74 65 72 20 6e  |ssage("Printer n|
00028820  6f 74 20 61 76 61 69 6c  61 62 6c 65 22 29 0d c3  |ot available")..|
00028830  4a 1e 20 20 e7 20 70 66  25 3d 30 20 8c 20 70 72  |J.  . pf%=0 . pr|
00028840  69 6e 74 66 6c 61 67 25  3d a3 3a e1 0d c3 52 28  |intflag%=.:...R(|
00028850  20 20 c8 99 20 22 50 44  72 69 76 65 72 5f 53 65  |  .. "PDriver_Se|
00028860  6c 65 63 74 4a 6f 62 22  2c 70 66 25 2c 22 4c 69  |lectJob",pf%,"Li|
00028870  62 56 53 22 0d c3 5a 20  20 20 c8 99 20 22 50 44  |bVS"..Z   .. "PD|
00028880  72 69 76 65 72 5f 49 6e  66 6f 22 20 b8 20 2c 2c  |river_Info" . ,,|
00028890  2c 66 66 25 0d c3 62 22  20 20 e7 20 28 28 66 66  |,ff%..b"  . ((ff|
000288a0  25 20 80 20 28 31 3c 3c  32 39 29 29 3e 3e 3e 32  |% . (1<<29))>>>2|
000288b0  39 29 3d 31 20 8c 0d c3  6a 2b 20 20 20 20 c8 99  |9)=1 ...j+    ..|
000288c0  20 22 50 44 72 69 76 65  72 5f 44 65 63 6c 61 72  | "PDriver_Declar|
000288d0  65 46 6f 6e 74 22 2c 66  68 64 6c 25 2c 66 24 2c  |eFont",fhdl%,f$,|
000288e0  30 0d c3 72 26 20 20 20  20 c8 99 20 22 50 44 72  |0..r&    .. "PDr|
000288f0  69 76 65 72 5f 44 65 63  6c 61 72 65 46 6f 6e 74  |iver_DeclareFont|
00028900  22 2c 30 2c 30 2c 30 0d  c3 7a 07 20 20 cd 0d c3  |",0,0,0..z.  ...|
00028910  82 09 20 20 ea 20 85 0d  c3 8a 4f 20 20 ee 20 85  |..  . ....O  . .|
00028920  20 ea 3a f7 20 85 3a c8  99 20 22 50 44 72 69 76  | .:. .:.. "PDriv|
00028930  65 72 5f 41 62 6f 72 74  4a 6f 62 22 2c 70 66 25  |er_AbortJob",pf%|
00028940  3a d9 23 70 66 25 3a 70  72 69 6e 74 66 6c 61 67  |:.#pf%:printflag|
00028950  25 3d a3 3a f2 64 69 73  5f 6d 65 73 73 61 67 65  |%=.:.dis_message|
00028960  28 f6 24 29 3a e1 0d c3  92 3a 20 20 c8 99 20 22  |(.$):....:  .. "|
00028970  50 44 72 69 76 65 72 5f  50 61 67 65 53 69 7a 65  |PDriver_PageSize|
00028980  22 20 b8 20 2c 2c 2c 6c  65 66 74 25 2c 62 6f 74  |" . ,,,left%,bot|
00028990  74 6f 6d 25 2c 72 69 67  68 74 25 2c 74 6f 70 25  |tom%,right%,top%|
000289a0  0d c3 9a 49 20 20 6c 65  66 74 25 3d 6c 65 66 74  |...I  left%=left|
000289b0  25 2f 34 30 30 3a 72 69  67 68 74 25 3d 72 69 67  |%/400:right%=rig|
000289c0  68 74 25 2f 34 30 30 3a  74 6f 70 25 3d 74 6f 70  |ht%/400:top%=top|
000289d0  25 2f 34 30 30 3a 62 6f  74 74 6f 6d 25 3d 62 6f  |%/400:bottom%=bo|
000289e0  74 74 6f 6d 25 2f 34 30  30 0d c3 a2 2c 20 20 6e  |ttom%/400...,  n|
000289f0  6f 5f 6c 69 6e 65 73 25  3d 28 28 74 6f 70 25 2d  |o_lines%=((top%-|
00028a00  62 6f 74 74 6f 6d 25 29  2a 34 30 30 29 20 81 20  |bottom%)*400) . |
00028a10  73 69 7a 65 25 0d c3 aa  31 20 20 63 6f 6c 75 6d  |size%...1  colum|
00028a20  6e 73 25 3d 28 28 28 72  69 67 68 74 25 2d 6c 65  |ns%=(((right%-le|
00028a30  66 74 25 29 2a 34 30 30  29 20 81 20 73 69 7a 65  |ft%)*400) . size|
00028a40  25 29 2a 31 2e 35 0d c3  b2 40 20 20 72 65 63 74  |%)*1.5...@  rect|
00028a50  25 21 30 3d 6c 65 66 74  25 3a 72 65 63 74 25 21  |%!0=left%:rect%!|
00028a60  34 3d 62 6f 74 74 6f 6d  25 3a 72 65 63 74 25 21  |4=bottom%:rect%!|
00028a70  38 3d 72 69 67 68 74 25  3a 72 65 63 74 25 21 31  |8=right%:rect%!1|
00028a80  32 3d 74 6f 70 25 0d c3  ba 23 20 20 74 72 61 6e  |2=top%...#  tran|
00028a90  73 25 21 30 3d 31 3c 3c  31 36 3a 74 72 61 6e 73  |s%!0=1<<16:trans|
00028aa0  25 21 34 3d 30 3c 3c 31  36 0d c3 c2 24 20 20 74  |%!4=0<<16...$  t|
00028ab0  72 61 6e 73 25 21 38 3d  30 3c 3c 31 36 3a 74 72  |rans%!8=0<<16:tr|
00028ac0  61 6e 73 25 21 31 32 3d  31 3c 3c 31 36 0d c3 ca  |ans%!12=1<<16...|
00028ad0  34 20 20 70 6c 6f 74 61  74 25 21 30 3d 6c 65 66  |4  plotat%!0=lef|
00028ae0  74 25 2a 34 30 30 3a 70  6c 6f 74 61 74 25 21 34  |t%*400:plotat%!4|
00028af0  3d 62 6f 74 74 6f 6d 25  2a 34 30 30 2d 33 36 30  |=bottom%*400-360|
00028b00  30 0d c3 d2 18 20 20 e7  20 70 61 63 25 3e 6e 6f  |0....  . pac%>no|
00028b10  5f 6c 69 6e 65 73 25 20  8c 0d c3 da 0b 20 20 20  |_lines% .....   |
00028b20  20 f7 20 85 0d c3 e2 2e  20 20 20 20 f2 64 69 73  | . .....    .dis|
00028b30  5f 6d 65 73 73 61 67 65  28 22 50 61 70 65 72 20  |_message("Paper |
00028b40  74 6f 6f 20 73 6d 61 6c  6c 20 74 6f 20 66 69 74  |too small to fit|
00028b50  22 29 0d c3 ea 21 20 20  20 20 c8 99 20 22 50 44  |")...!    .. "PD|
00028b60  72 69 76 65 72 5f 41 62  6f 72 74 4a 6f 62 22 2c  |river_AbortJob",|
00028b70  70 66 25 0d c3 f2 0d 20  20 20 20 d9 23 70 66 25  |pf%....    .#pf%|
00028b80  0d c3 fa 14 20 20 20 20  70 72 69 6e 74 66 6c 61  |....    printfla|
00028b90  67 25 3d a3 0d c4 02 1a  20 20 20 20 c8 99 20 22  |g%=.....    .. "|
00028ba0  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 0d c4  |Hourglass_Off"..|
00028bb0  0a 09 20 20 20 20 e1 0d  c4 12 07 20 20 cc 0d c4  |..    .....  ...|
00028bc0  1a 17 20 20 20 20 e3 20  63 25 3d 30 20 b8 20 70  |..    . c%=0 . p|
00028bd0  61 63 25 2d 31 0d c4 22  3a 20 20 20 20 e7 20 a9  |ac%-1..":    . .|
00028be0  28 70 61 24 28 63 25 29  29 3e 63 6f 6c 75 6d 6e  |(pa$(c%))>column|
00028bf0  73 25 20 8c 20 70 61 24  28 63 25 29 3d c0 70 61  |s% . pa$(c%)=.pa|
00028c00  24 28 63 25 29 2c 63 6f  6c 75 6d 6e 73 25 29 0d  |$(c%),columns%).|
00028c10  c4 2a 0c 20 20 20 20 ed  20 63 25 0d c4 32 43 20  |.*.    . c%..2C |
00028c20  20 20 20 c8 99 20 22 50  44 72 69 76 65 72 5f 47  |   .. "PDriver_G|
00028c30  69 76 65 52 65 63 74 61  6e 67 6c 65 22 2c 30 2c  |iveRectangle",0,|
00028c40  72 65 63 74 25 2c 74 72  61 6e 73 25 2c 70 6c 6f  |rect%,trans%,plo|
00028c50  74 61 74 25 2c 26 46 46  46 46 46 46 30 30 0d c4  |tat%,&FFFFFF00..|
00028c60  3a 34 20 20 20 20 c8 99  20 22 50 44 72 69 76 65  |:4    .. "PDrive|
00028c70  72 5f 44 72 61 77 50 61  67 65 22 2c 31 2c 72 65  |r_DrawPage",1,re|
00028c80  63 74 69 6e 25 2c 30 2c  30 20 b8 20 6d 6f 72 65  |ctin%,0,0 . more|
00028c90  32 25 0d c4 42 36 20 20  20 20 c8 99 20 22 43 6f  |2%..B6    .. "Co|
00028ca0  6c 6f 75 72 54 72 61 6e  73 5f 53 65 74 46 6f 6e  |lourTrans_SetFon|
00028cb0  74 43 6f 6c 6f 75 72 73  22 2c 2c 26 46 46 46 46  |tColours",,&FFFF|
00028cc0  46 46 30 30 2c 30 2c 36  0d c4 4a 1f 20 20 20 20  |FF00,0,6..J.    |
00028cd0  c8 99 20 22 46 6f 6e 74  5f 53 65 74 46 6f 6e 74  |.. "Font_SetFont|
00028ce0  22 2c 66 68 64 6c 25 0d  c4 52 11 20 20 20 20 c8  |",fhdl%..R.    .|
00028cf0  95 20 6d 6f 72 65 32 25  0d c4 5a 1e 20 20 20 20  |. more2%..Z.    |
00028d00  20 20 f2 72 65 77 72 69  74 65 28 6c 65 66 74 25  |  .rewrite(left%|
00028d10  2c 74 6f 70 25 29 0d c4  62 35 20 20 20 20 20 20  |,top%)..b5      |
00028d20  c8 99 20 22 50 44 72 69  76 65 72 5f 47 65 74 52  |.. "PDriver_GetR|
00028d30  65 63 74 61 6e 67 6c 65  22 2c 2c 72 65 63 74 69  |ectangle",,recti|
00028d40  6e 25 20 b8 20 6d 6f 72  65 32 25 0d c4 6a 09 20  |n% . more2%..j. |
00028d50  20 20 20 ce 0d c4 72 07  20 20 cd 0d c4 7a 1d 20  |   ...r.  ...z. |
00028d60  20 c8 99 20 22 50 44 72  69 76 65 72 5f 45 6e 64  | .. "PDriver_End|
00028d70  4a 6f 62 22 2c 70 66 25  0d c4 82 0b 20 20 d9 23  |Job",pf%....  .#|
00028d80  70 66 25 0d c4 8a 12 20  20 70 72 69 6e 74 66 6c  |pf%....  printfl|
00028d90  61 67 25 3d a3 0d c4 92  18 20 20 c8 99 20 22 48  |ag%=.....  .. "H|
00028da0  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d c4 9a  |ourglass_Off"...|
00028db0  05 cc 0d c4 a2 1e 20 20  63 6f 6c 75 6d 6e 73 25  |......  columns%|
00028dc0  3d 38 30 3a 6e 6f 5f 6c  69 6e 65 73 25 3d 36 37  |=80:no_lines%=67|
00028dd0  0d c4 aa 09 20 20 ef 20  32 0d c4 b2 15 20 20 e3  |....  . 2....  .|
00028de0  20 63 25 3d 30 20 b8 20  70 61 63 25 2d 31 0d c4  | c%=0 . pac%-1..|
00028df0  ba 38 20 20 e7 20 a9 28  70 61 24 28 63 25 29 29  |.8  . .(pa$(c%))|
00028e00  3e 63 6f 6c 75 6d 6e 73  25 20 8c 20 70 61 24 28  |>columns% . pa$(|
00028e10  63 25 29 3d c0 70 61 24  28 63 25 29 2c 63 6f 6c  |c%)=.pa$(c%),col|
00028e20  75 6d 6e 73 25 29 0d c4  c2 0f 20 20 f1 20 70 61  |umns%)....  . pa|
00028e30  24 28 63 25 29 0d c4 ca  0a 20 20 ed 20 63 25 0d  |$(c%)....  . c%.|
00028e40  c4 d2 09 20 20 ef 20 33  0d c4 da 12 20 20 70 72  |...  . 3....  pr|
00028e50  69 6e 74 66 6c 61 67 25  3d a3 0d c4 e2 18 20 20  |intflag%=.....  |
00028e60  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |.. "Hourglass_Of|
00028e70  66 22 0d c4 ea 05 cd 0d  c4 f2 05 e1 0d c4 fa 04  |f"..............|
00028e80  0d c5 02 0e dd f2 70 72  69 6e 74 5f 76 6d 0d c5  |......print_vm..|
00028e90  0a 0c 70 61 6e 25 28 29  3d 30 0d c5 12 35 70 61  |..pan%()=0...5pa|
00028ea0  24 28 30 29 3d 22 50 72  69 6e 74 20 72 65 71 75  |$(0)="Print requ|
00028eb0  65 73 74 65 64 20 66 72  6f 6d 20 76 69 65 77 20  |ested from view |
00028ec0  6d 65 6d 62 65 72 20 77  69 6e 64 6f 77 2e 22 0d  |member window.".|
00028ed0  c5 1a 0d 70 61 24 28 31  29 3d 22 22 0d c5 22 36  |...pa$(1)="".."6|
00028ee0  70 61 24 28 32 29 3d 22  4d 65 6d 62 65 72 73 68  |pa$(2)="Membersh|
00028ef0  69 70 20 6e 75 6d 62 65  72 3a 20 22 2b a4 67 65  |ip number: "+.ge|
00028f00  74 74 65 78 74 28 76 69  65 77 6d 65 6d 25 2c 32  |ttext(viewmem%,2|
00028f10  37 29 0d c5 2a 0d 70 61  24 28 33 29 3d 22 22 0d  |7)..*.pa$(3)="".|
00028f20  c5 32 23 70 61 24 28 34  29 3d a4 67 65 74 74 65  |.2#pa$(4)=.gette|
00028f30  78 74 28 76 69 65 77 6d  65 6d 25 2c 35 29 2b 22  |xt(viewmem%,5)+"|
00028f40  20 22 0d c5 3a 24 70 61  24 28 34 29 2b 3d a4 67  | "..:$pa$(4)+=.g|
00028f50  65 74 74 65 78 74 28 76  69 65 77 6d 65 6d 25 2c  |ettext(viewmem%,|
00028f60  37 29 2b 22 20 22 0d c5  42 20 70 61 24 28 34 29  |7)+" "..B pa$(4)|
00028f70  2b 3d a4 67 65 74 74 65  78 74 28 76 69 65 77 6d  |+=.gettext(viewm|
00028f80  65 6d 25 2c 36 29 0d c5  4a 0a 70 61 63 25 3d 35  |em%,6)..J.pac%=5|
00028f90  0d c5 52 3c 70 61 24 28  70 61 63 25 29 3d a4 67  |..R<pa$(pac%)=.g|
00028fa0  65 74 74 65 78 74 28 76  69 65 77 6d 65 6d 25 2c  |ettext(viewmem%,|
00028fb0  38 29 3a e7 20 70 61 24  28 70 61 63 25 29 3c 3e  |8):. pa$(pac%)<>|
00028fc0  22 22 20 8c 20 70 61 63  25 2b 3d 31 0d c5 5a 3c  |"" . pac%+=1..Z<|
00028fd0  70 61 24 28 70 61 63 25  29 3d a4 67 65 74 74 65  |pa$(pac%)=.gette|
00028fe0  78 74 28 76 69 65 77 6d  65 6d 25 2c 39 29 3a e7  |xt(viewmem%,9):.|
00028ff0  20 70 61 24 28 70 61 63  25 29 3c 3e 22 22 20 8c  | pa$(pac%)<>"" .|
00029000  20 70 61 63 25 2b 3d 31  0d c5 62 3d 70 61 24 28  | pac%+=1..b=pa$(|
00029010  70 61 63 25 29 3d a4 67  65 74 74 65 78 74 28 76  |pac%)=.gettext(v|
00029020  69 65 77 6d 65 6d 25 2c  31 30 29 3a e7 20 70 61  |iewmem%,10):. pa|
00029030  24 28 70 61 63 25 29 3c  3e 22 22 20 8c 20 70 61  |$(pac%)<>"" . pa|
00029040  63 25 2b 3d 31 0d c5 6a  3d 70 61 24 28 70 61 63  |c%+=1..j=pa$(pac|
00029050  25 29 3d a4 67 65 74 74  65 78 74 28 76 69 65 77  |%)=.gettext(view|
00029060  6d 65 6d 25 2c 31 31 29  3a e7 20 70 61 24 28 70  |mem%,11):. pa$(p|
00029070  61 63 25 29 3c 3e 22 22  20 8c 20 70 61 63 25 2b  |ac%)<>"" . pac%+|
00029080  3d 31 0d c5 72 3d 70 61  24 28 70 61 63 25 29 3d  |=1..r=pa$(pac%)=|
00029090  a4 67 65 74 74 65 78 74  28 76 69 65 77 6d 65 6d  |.gettext(viewmem|
000290a0  25 2c 31 32 29 3a e7 20  70 61 24 28 70 61 63 25  |%,12):. pa$(pac%|
000290b0  29 3c 3e 22 22 20 8c 20  70 61 63 25 2b 3d 31 0d  |)<>"" . pac%+=1.|
000290c0  c5 7a 3d 70 61 24 28 70  61 63 25 29 3d a4 67 65  |.z=pa$(pac%)=.ge|
000290d0  74 74 65 78 74 28 76 69  65 77 6d 65 6d 25 2c 31  |ttext(viewmem%,1|
000290e0  33 29 3a e7 20 70 61 24  28 70 61 63 25 29 3c 3e  |3):. pa$(pac%)<>|
000290f0  22 22 20 8c 20 70 61 63  25 2b 3d 31 0d c5 82 2b  |"" . pac%+=1...+|
00029100  70 61 24 28 70 61 63 25  29 3d a4 67 65 74 74 65  |pa$(pac%)=.gette|
00029110  78 74 28 76 69 65 77 6d  65 6d 25 2c 31 34 29 3a  |xt(viewmem%,14):|
00029120  70 61 63 25 2b 3d 31 0d  c5 8a 18 70 61 24 28 70  |pac%+=1....pa$(p|
00029130  61 63 25 29 3d 22 22 3a  70 61 63 25 2b 3d 31 0d  |ac%)="":pac%+=1.|
00029140  c5 92 3b 70 61 24 28 70  61 63 25 29 3d 22 54 69  |..;pa$(pac%)="Ti|
00029150  63 6b 65 74 20 54 79 70  65 3a 20 22 2b a4 67 65  |cket Type: "+.ge|
00029160  74 74 65 78 74 28 76 69  65 77 6d 65 6d 25 2c 31  |ttext(viewmem%,1|
00029170  35 29 3a 70 61 63 25 2b  3d 31 0d c5 9a 18 70 61  |5):pac%+=1....pa|
00029180  24 28 70 61 63 25 29 3d  22 22 3a 70 61 63 25 2b  |$(pac%)="":pac%+|
00029190  3d 31 0d c5 a2 3b 70 61  24 28 70 61 63 25 29 3d  |=1...;pa$(pac%)=|
000291a0  22 41 63 63 65 73 73 69  6f 6e 20 6e 75 6d 62 65  |"Accession numbe|
000291b0  72 73 20 6f 66 20 62 6f  6f 6b 73 20 69 6e 20 63  |rs of books in c|
000291c0  61 72 65 3a 22 3a 70 61  63 25 2b 3d 31 0d c5 aa  |are:":pac%+=1...|
000291d0  0e e7 20 76 62 6e 25 3d  30 20 8c 0d c5 b2 22 20  |.. vbn%=0 ...." |
000291e0  20 70 61 24 28 70 61 63  25 29 3d 22 20 20 20 20  | pa$(pac%)="    |
000291f0  4e 6f 6e 65 22 3a 70 61  63 25 2b 3d 31 0d c5 ba  |None":pac%+=1...|
00029200  05 cc 0d c5 c2 13 20 20  e3 20 64 25 3d 31 20 b8  |......  . d%=1 .|
00029210  20 76 62 6e 25 0d c5 ca  36 20 20 70 61 24 28 70  | vbn%...6  pa$(p|
00029220  61 63 25 29 3d 22 20 20  20 20 22 2b a4 43 68 65  |ac%)="    "+.Che|
00029230  63 6b 5f 44 69 67 69 74  5f 50 6c 75 73 28 76 6d  |ck_Digit_Plus(vm|
00029240  5f 64 74 24 28 64 25 2c  30 29 29 0d c5 d2 2e 20  |_dt$(d%,0)).... |
00029250  20 70 61 24 28 70 61 63  25 29 2b 3d 22 20 28 22  | pa$(pac%)+=" ("|
00029260  2b 76 6d 5f 64 74 24 28  64 25 2c 34 29 2b 22 29  |+vm_dt$(d%,4)+")|
00029270  22 3a 70 61 63 25 2b 3d  31 0d c5 da 0a 20 20 ed  |":pac%+=1....  .|
00029280  20 64 25 0d c5 e2 05 cd  0d c5 ea 18 70 61 24 28  | d%.........pa$(|
00029290  70 61 63 25 29 3d 22 22  3a 70 61 63 25 2b 3d 31  |pac%)="":pac%+=1|
000292a0  0d c5 f2 10 66 6f 6e 74  5f 66 6c 61 67 25 3d a3  |....font_flag%=.|
000292b0  0d c5 fa 19 66 24 3d a4  67 65 74 74 65 78 74 28  |....f$=.gettext(|
000292c0  70 72 69 6e 74 25 2c 33  29 0d c6 02 21 e7 20 a4  |print%,3)...!. .|
000292d0  55 70 70 65 72 28 66 24  29 3c 3e 22 53 59 53 54  |Upper(f$)<>"SYST|
000292e0  45 4d 20 46 4f 4e 54 22  20 8c 0d c6 0a 12 20 20  |EM FONT" .....  |
000292f0  66 6f 6e 74 5f 66 6c 61  67 25 3d b9 0d c6 12 0e  |font_flag%=.....|
00029300  20 20 73 69 7a 65 25 3d  31 32 0d c6 1a 16 20 20  |  size%=12....  |
00029310  73 69 7a 65 25 3d 73 69  7a 65 25 2a 31 30 30 30  |size%=size%*1000|
00029320  0d c6 22 3a 20 20 c8 99  20 22 46 6f 6e 74 5f 46  |..":  .. "Font_F|
00029330  69 6e 64 46 6f 6e 74 22  2c 2c 66 24 2c 73 69 7a  |indFont",,f$,siz|
00029340  65 25 2f 36 32 2e 35 2c  73 69 7a 65 25 2f 36 32  |e%/62.5,size%/62|
00029350  2e 35 20 b8 20 66 68 64  6c 25 0d c6 2a 17 20 20  |.5 . fhdl%..*.  |
00029360  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 6e  |.. "Hourglass_On|
00029370  22 0d c6 32 17 20 20 70  66 25 3d ae 28 22 70 72  |"..2.  pf%=.("pr|
00029380  69 6e 74 65 72 3a 22 29  0d c6 3a 3b 20 20 e7 20  |inter:")..:;  . |
00029390  70 66 25 3d 30 20 8c 20  d9 23 70 66 25 3a f2 64  |pf%=0 . .#pf%:.d|
000293a0  69 73 5f 6d 65 73 73 61  67 65 28 22 50 72 69 6e  |is_message("Prin|
000293b0  74 65 72 20 6e 6f 74 20  61 76 61 69 6c 61 62 6c  |ter not availabl|
000293c0  65 22 29 0d c6 42 1e 20  20 e7 20 70 66 25 3d 30  |e")..B.  . pf%=0|
000293d0  20 8c 20 70 72 69 6e 74  66 6c 61 67 25 3d a3 3a  | . printflag%=.:|
000293e0  e1 0d c6 4a 28 20 20 c8  99 20 22 50 44 72 69 76  |...J(  .. "PDriv|
000293f0  65 72 5f 53 65 6c 65 63  74 4a 6f 62 22 2c 70 66  |er_SelectJob",pf|
00029400  25 2c 22 4c 69 62 56 4d  22 0d c6 52 20 20 20 c8  |%,"LibVM"..R   .|
00029410  99 20 22 50 44 72 69 76  65 72 5f 49 6e 66 6f 22  |. "PDriver_Info"|
00029420  20 b8 20 2c 2c 2c 66 66  25 0d c6 5a 22 20 20 e7  | . ,,,ff%..Z"  .|
00029430  20 28 28 66 66 25 20 80  20 28 31 3c 3c 32 39 29  | ((ff% . (1<<29)|
00029440  29 3e 3e 3e 32 39 29 3d  31 20 8c 0d c6 62 2b 20  |)>>>29)=1 ...b+ |
00029450  20 20 20 c8 99 20 22 50  44 72 69 76 65 72 5f 44  |   .. "PDriver_D|
00029460  65 63 6c 61 72 65 46 6f  6e 74 22 2c 66 68 64 6c  |eclareFont",fhdl|
00029470  25 2c 66 24 2c 30 0d c6  6a 26 20 20 20 20 c8 99  |%,f$,0..j&    ..|
00029480  20 22 50 44 72 69 76 65  72 5f 44 65 63 6c 61 72  | "PDriver_Declar|
00029490  65 46 6f 6e 74 22 2c 30  2c 30 2c 30 0d c6 72 07  |eFont",0,0,0..r.|
000294a0  20 20 cd 0d c6 7a 09 20  20 ea 20 85 0d c6 82 4f  |  ...z.  . ....O|
000294b0  20 20 ee 20 85 20 ea 3a  f7 20 85 3a c8 99 20 22  |  . . .:. .:.. "|
000294c0  50 44 72 69 76 65 72 5f  41 62 6f 72 74 4a 6f 62  |PDriver_AbortJob|
000294d0  22 2c 70 66 25 3a d9 23  70 66 25 3a 70 72 69 6e  |",pf%:.#pf%:prin|
000294e0  74 66 6c 61 67 25 3d a3  3a f2 64 69 73 5f 6d 65  |tflag%=.:.dis_me|
000294f0  73 73 61 67 65 28 f6 24  29 3a e1 0d c6 8a 3a 20  |ssage(.$):....: |
00029500  20 c8 99 20 22 50 44 72  69 76 65 72 5f 50 61 67  | .. "PDriver_Pag|
00029510  65 53 69 7a 65 22 20 b8  20 2c 2c 2c 6c 65 66 74  |eSize" . ,,,left|
00029520  25 2c 62 6f 74 74 6f 6d  25 2c 72 69 67 68 74 25  |%,bottom%,right%|
00029530  2c 74 6f 70 25 0d c6 92  49 20 20 6c 65 66 74 25  |,top%...I  left%|
00029540  3d 6c 65 66 74 25 2f 34  30 30 3a 72 69 67 68 74  |=left%/400:right|
00029550  25 3d 72 69 67 68 74 25  2f 34 30 30 3a 74 6f 70  |%=right%/400:top|
00029560  25 3d 74 6f 70 25 2f 34  30 30 3a 62 6f 74 74 6f  |%=top%/400:botto|
00029570  6d 25 3d 62 6f 74 74 6f  6d 25 2f 34 30 30 0d c6  |m%=bottom%/400..|
00029580  9a 2c 20 20 6e 6f 5f 6c  69 6e 65 73 25 3d 28 28  |.,  no_lines%=((|
00029590  74 6f 70 25 2d 62 6f 74  74 6f 6d 25 29 2a 34 30  |top%-bottom%)*40|
000295a0  30 29 20 81 20 73 69 7a  65 25 0d c6 a2 31 20 20  |0) . size%...1  |
000295b0  63 6f 6c 75 6d 6e 73 25  3d 28 28 28 72 69 67 68  |columns%=(((righ|
000295c0  74 25 2d 6c 65 66 74 25  29 2a 34 30 30 29 20 81  |t%-left%)*400) .|
000295d0  20 73 69 7a 65 25 29 2a  31 2e 35 0d c6 aa 40 20  | size%)*1.5...@ |
000295e0  20 72 65 63 74 25 21 30  3d 6c 65 66 74 25 3a 72  | rect%!0=left%:r|
000295f0  65 63 74 25 21 34 3d 62  6f 74 74 6f 6d 25 3a 72  |ect%!4=bottom%:r|
00029600  65 63 74 25 21 38 3d 72  69 67 68 74 25 3a 72 65  |ect%!8=right%:re|
00029610  63 74 25 21 31 32 3d 74  6f 70 25 0d c6 b2 23 20  |ct%!12=top%...# |
00029620  20 74 72 61 6e 73 25 21  30 3d 31 3c 3c 31 36 3a  | trans%!0=1<<16:|
00029630  74 72 61 6e 73 25 21 34  3d 30 3c 3c 31 36 0d c6  |trans%!4=0<<16..|
00029640  ba 24 20 20 74 72 61 6e  73 25 21 38 3d 30 3c 3c  |.$  trans%!8=0<<|
00029650  31 36 3a 74 72 61 6e 73  25 21 31 32 3d 31 3c 3c  |16:trans%!12=1<<|
00029660  31 36 0d c6 c2 34 20 20  70 6c 6f 74 61 74 25 21  |16...4  plotat%!|
00029670  30 3d 6c 65 66 74 25 2a  34 30 30 3a 70 6c 6f 74  |0=left%*400:plot|
00029680  61 74 25 21 34 3d 62 6f  74 74 6f 6d 25 2a 34 30  |at%!4=bottom%*40|
00029690  30 2d 33 36 30 30 0d c6  ca 18 20 20 e7 20 70 61  |0-3600....  . pa|
000296a0  63 25 3e 6e 6f 5f 6c 69  6e 65 73 25 20 8c 0d c6  |c%>no_lines% ...|
000296b0  d2 0b 20 20 20 20 f7 20  85 0d c6 da 2e 20 20 20  |..    . .....   |
000296c0  20 f2 64 69 73 5f 6d 65  73 73 61 67 65 28 22 50  | .dis_message("P|
000296d0  61 70 65 72 20 74 6f 6f  20 73 6d 61 6c 6c 20 74  |aper too small t|
000296e0  6f 20 66 69 74 22 29 0d  c6 e2 21 20 20 20 20 c8  |o fit")...!    .|
000296f0  99 20 22 50 44 72 69 76  65 72 5f 41 62 6f 72 74  |. "PDriver_Abort|
00029700  4a 6f 62 22 2c 70 66 25  0d c6 ea 0d 20 20 20 20  |Job",pf%....    |
00029710  d9 23 70 66 25 0d c6 f2  14 20 20 20 20 70 72 69  |.#pf%....    pri|
00029720  6e 74 66 6c 61 67 25 3d  a3 0d c6 fa 1a 20 20 20  |ntflag%=.....   |
00029730  20 c8 99 20 22 48 6f 75  72 67 6c 61 73 73 5f 4f  | .. "Hourglass_O|
00029740  66 66 22 0d c7 02 09 20  20 20 20 e1 0d c7 0a 07  |ff"....    .....|
00029750  20 20 cc 0d c7 12 17 20  20 20 20 e3 20 63 25 3d  |  .....    . c%=|
00029760  30 20 b8 20 70 61 63 25  2d 31 0d c7 1a 3a 20 20  |0 . pac%-1...:  |
00029770  20 20 e7 20 a9 28 70 61  24 28 63 25 29 29 3e 63  |  . .(pa$(c%))>c|
00029780  6f 6c 75 6d 6e 73 25 20  8c 20 70 61 24 28 63 25  |olumns% . pa$(c%|
00029790  29 3d c0 70 61 24 28 63  25 29 2c 63 6f 6c 75 6d  |)=.pa$(c%),colum|
000297a0  6e 73 25 29 0d c7 22 0c  20 20 20 20 ed 20 63 25  |ns%)..".    . c%|
000297b0  0d c7 2a 43 20 20 20 20  c8 99 20 22 50 44 72 69  |..*C    .. "PDri|
000297c0  76 65 72 5f 47 69 76 65  52 65 63 74 61 6e 67 6c  |ver_GiveRectangl|
000297d0  65 22 2c 30 2c 72 65 63  74 25 2c 74 72 61 6e 73  |e",0,rect%,trans|
000297e0  25 2c 70 6c 6f 74 61 74  25 2c 26 46 46 46 46 46  |%,plotat%,&FFFFF|
000297f0  46 30 30 0d c7 32 34 20  20 20 20 c8 99 20 22 50  |F00..24    .. "P|
00029800  44 72 69 76 65 72 5f 44  72 61 77 50 61 67 65 22  |Driver_DrawPage"|
00029810  2c 31 2c 72 65 63 74 69  6e 25 2c 30 2c 30 20 b8  |,1,rectin%,0,0 .|
00029820  20 6d 6f 72 65 32 25 0d  c7 3a 36 20 20 20 20 c8  | more2%..:6    .|
00029830  99 20 22 43 6f 6c 6f 75  72 54 72 61 6e 73 5f 53  |. "ColourTrans_S|
00029840  65 74 46 6f 6e 74 43 6f  6c 6f 75 72 73 22 2c 2c  |etFontColours",,|
00029850  26 46 46 46 46 46 46 30  30 2c 30 2c 36 0d c7 42  |&FFFFFF00,0,6..B|
00029860  1f 20 20 20 20 c8 99 20  22 46 6f 6e 74 5f 53 65  |.    .. "Font_Se|
00029870  74 46 6f 6e 74 22 2c 66  68 64 6c 25 0d c7 4a 11  |tFont",fhdl%..J.|
00029880  20 20 20 20 c8 95 20 6d  6f 72 65 32 25 0d c7 52  |    .. more2%..R|
00029890  1e 20 20 20 20 20 20 f2  72 65 77 72 69 74 65 28  |.      .rewrite(|
000298a0  6c 65 66 74 25 2c 74 6f  70 25 29 0d c7 5a 35 20  |left%,top%)..Z5 |
000298b0  20 20 20 20 20 c8 99 20  22 50 44 72 69 76 65 72  |     .. "PDriver|
000298c0  5f 47 65 74 52 65 63 74  61 6e 67 6c 65 22 2c 2c  |_GetRectangle",,|
000298d0  72 65 63 74 69 6e 25 20  b8 20 6d 6f 72 65 32 25  |rectin% . more2%|
000298e0  0d c7 62 09 20 20 20 20  ce 0d c7 6a 07 20 20 cd  |..b.    ...j.  .|
000298f0  0d c7 72 1d 20 20 c8 99  20 22 50 44 72 69 76 65  |..r.  .. "PDrive|
00029900  72 5f 45 6e 64 4a 6f 62  22 2c 70 66 25 0d c7 7a  |r_EndJob",pf%..z|
00029910  0b 20 20 d9 23 70 66 25  0d c7 82 12 20 20 70 72  |.  .#pf%....  pr|
00029920  69 6e 74 66 6c 61 67 25  3d a3 0d c7 8a 18 20 20  |intflag%=.....  |
00029930  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |.. "Hourglass_Of|
00029940  66 22 0d c7 92 05 cc 0d  c7 9a 1e 20 20 63 6f 6c  |f".........  col|
00029950  75 6d 6e 73 25 3d 38 30  3a 6e 6f 5f 6c 69 6e 65  |umns%=80:no_line|
00029960  73 25 3d 36 37 0d c7 a2  09 20 20 ef 20 32 0d c7  |s%=67....  . 2..|
00029970  aa 15 20 20 e3 20 63 25  3d 30 20 b8 20 70 61 63  |..  . c%=0 . pac|
00029980  25 2d 31 0d c7 b2 38 20  20 e7 20 a9 28 70 61 24  |%-1...8  . .(pa$|
00029990  28 63 25 29 29 3e 63 6f  6c 75 6d 6e 73 25 20 8c  |(c%))>columns% .|
000299a0  20 70 61 24 28 63 25 29  3d c0 70 61 24 28 63 25  | pa$(c%)=.pa$(c%|
000299b0  29 2c 63 6f 6c 75 6d 6e  73 25 29 0d c7 ba 0f 20  |),columns%).... |
000299c0  20 f1 20 70 61 24 28 63  25 29 0d c7 c2 0a 20 20  | . pa$(c%)....  |
000299d0  ed 20 63 25 0d c7 ca 09  20 20 ef 20 33 0d c7 d2  |. c%....  . 3...|
000299e0  12 20 20 70 72 69 6e 74  66 6c 61 67 25 3d a3 0d  |.  printflag%=..|
000299f0  c7 da 18 20 20 c8 99 20  22 48 6f 75 72 67 6c 61  |...  .. "Hourgla|
00029a00  73 73 5f 4f 66 66 22 0d  c7 e2 05 cd 0d c7 ea 05  |ss_Off".........|
00029a10  e1 0d c7 f2 04 0d c7 fa  13 dd f2 70 72 69 6e 74  |...........print|
00029a20  5f 69 6d 70 6f 72 74 73  0d c8 02 0c 70 61 6e 25  |_imports....pan%|
00029a30  28 29 3d 30 0d c8 0a 0a  70 61 63 25 3d 30 0d c8  |()=0....pac%=0..|
00029a40  12 10 66 6f 6e 74 5f 66  6c 61 67 25 3d a3 0d c8  |..font_flag%=...|
00029a50  1a 19 66 24 3d a4 67 65  74 74 65 78 74 28 70 72  |..f$=.gettext(pr|
00029a60  69 6e 74 25 2c 33 29 0d  c8 22 21 e7 20 a4 55 70  |int%,3).."!. .Up|
00029a70  70 65 72 28 66 24 29 3c  3e 22 53 59 53 54 45 4d  |per(f$)<>"SYSTEM|
00029a80  20 46 4f 4e 54 22 20 8c  0d c8 2a 12 20 20 66 6f  | FONT" ...*.  fo|
00029a90  6e 74 5f 66 6c 61 67 25  3d b9 0d c8 32 0e 20 20  |nt_flag%=...2.  |
00029aa0  73 69 7a 65 25 3d 31 32  0d c8 3a 16 20 20 73 69  |size%=12..:.  si|
00029ab0  7a 65 25 3d 73 69 7a 65  25 2a 31 30 30 30 0d c8  |ze%=size%*1000..|
00029ac0  42 3a 20 20 c8 99 20 22  46 6f 6e 74 5f 46 69 6e  |B:  .. "Font_Fin|
00029ad0  64 46 6f 6e 74 22 2c 2c  66 24 2c 73 69 7a 65 25  |dFont",,f$,size%|
00029ae0  2f 36 32 2e 35 2c 73 69  7a 65 25 2f 36 32 2e 35  |/62.5,size%/62.5|
00029af0  20 b8 20 66 68 64 6c 25  0d c8 4a 17 20 20 c8 99  | . fhdl%..J.  ..|
00029b00  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 6e 22 0d  | "Hourglass_On".|
00029b10  c8 52 17 20 20 70 66 25  3d ae 28 22 70 72 69 6e  |.R.  pf%=.("prin|
00029b20  74 65 72 3a 22 29 0d c8  5a 3b 20 20 e7 20 70 66  |ter:")..Z;  . pf|
00029b30  25 3d 30 20 8c 20 d9 23  70 66 25 3a f2 64 69 73  |%=0 . .#pf%:.dis|
00029b40  5f 6d 65 73 73 61 67 65  28 22 50 72 69 6e 74 65  |_message("Printe|
00029b50  72 20 6e 6f 74 20 61 76  61 69 6c 61 62 6c 65 22  |r not available"|
00029b60  29 0d c8 62 1e 20 20 e7  20 70 66 25 3d 30 20 8c  |)..b.  . pf%=0 .|
00029b70  20 70 72 69 6e 74 66 6c  61 67 25 3d a3 3a e1 0d  | printflag%=.:..|
00029b80  c8 6a 29 20 20 c8 99 20  22 50 44 72 69 76 65 72  |.j)  .. "PDriver|
00029b90  5f 53 65 6c 65 63 74 4a  6f 62 22 2c 70 66 25 2c  |_SelectJob",pf%,|
00029ba0  22 4c 69 62 49 6d 70 22  0d c8 72 20 20 20 c8 99  |"LibImp"..r   ..|
00029bb0  20 22 50 44 72 69 76 65  72 5f 49 6e 66 6f 22 20  | "PDriver_Info" |
00029bc0  b8 20 2c 2c 2c 66 66 25  0d c8 7a 22 20 20 e7 20  |. ,,,ff%..z"  . |
00029bd0  28 28 66 66 25 20 80 20  28 31 3c 3c 32 39 29 29  |((ff% . (1<<29))|
00029be0  3e 3e 3e 32 39 29 3d 31  20 8c 0d c8 82 2b 20 20  |>>>29)=1 ....+  |
00029bf0  20 20 c8 99 20 22 50 44  72 69 76 65 72 5f 44 65  |  .. "PDriver_De|
00029c00  63 6c 61 72 65 46 6f 6e  74 22 2c 66 68 64 6c 25  |clareFont",fhdl%|
00029c10  2c 66 24 2c 30 0d c8 8a  26 20 20 20 20 c8 99 20  |,f$,0...&    .. |
00029c20  22 50 44 72 69 76 65 72  5f 44 65 63 6c 61 72 65  |"PDriver_Declare|
00029c30  46 6f 6e 74 22 2c 30 2c  30 2c 30 0d c8 92 07 20  |Font",0,0,0.... |
00029c40  20 cd 0d c8 9a 09 20 20  ea 20 85 0d c8 a2 4f 20  | .....  . ....O |
00029c50  20 ee 20 85 20 ea 3a f7  20 85 3a c8 99 20 22 50  | . . .:. .:.. "P|
00029c60  44 72 69 76 65 72 5f 41  62 6f 72 74 4a 6f 62 22  |Driver_AbortJob"|
00029c70  2c 70 66 25 3a d9 23 70  66 25 3a 70 72 69 6e 74  |,pf%:.#pf%:print|
00029c80  66 6c 61 67 25 3d a3 3a  f2 64 69 73 5f 6d 65 73  |flag%=.:.dis_mes|
00029c90  73 61 67 65 28 f6 24 29  3a e1 0d c8 aa 3a 20 20  |sage(.$):....:  |
00029ca0  c8 99 20 22 50 44 72 69  76 65 72 5f 50 61 67 65  |.. "PDriver_Page|
00029cb0  53 69 7a 65 22 20 b8 20  2c 2c 2c 6c 65 66 74 25  |Size" . ,,,left%|
00029cc0  2c 62 6f 74 74 6f 6d 25  2c 72 69 67 68 74 25 2c  |,bottom%,right%,|
00029cd0  74 6f 70 25 0d c8 b2 49  20 20 6c 65 66 74 25 3d  |top%...I  left%=|
00029ce0  6c 65 66 74 25 2f 34 30  30 3a 72 69 67 68 74 25  |left%/400:right%|
00029cf0  3d 72 69 67 68 74 25 2f  34 30 30 3a 74 6f 70 25  |=right%/400:top%|
00029d00  3d 74 6f 70 25 2f 34 30  30 3a 62 6f 74 74 6f 6d  |=top%/400:bottom|
00029d10  25 3d 62 6f 74 74 6f 6d  25 2f 34 30 30 0d c8 ba  |%=bottom%/400...|
00029d20  2c 20 20 6e 6f 5f 6c 69  6e 65 73 25 3d 28 28 74  |,  no_lines%=((t|
00029d30  6f 70 25 2d 62 6f 74 74  6f 6d 25 29 2a 34 30 30  |op%-bottom%)*400|
00029d40  29 20 81 20 73 69 7a 65  25 0d c8 c2 31 20 20 63  |) . size%...1  c|
00029d50  6f 6c 75 6d 6e 73 25 3d  28 28 28 72 69 67 68 74  |olumns%=(((right|
00029d60  25 2d 6c 65 66 74 25 29  2a 34 30 30 29 20 81 20  |%-left%)*400) . |
00029d70  73 69 7a 65 25 29 2a 31  2e 35 0d c8 ca 40 20 20  |size%)*1.5...@  |
00029d80  72 65 63 74 25 21 30 3d  6c 65 66 74 25 3a 72 65  |rect%!0=left%:re|
00029d90  63 74 25 21 34 3d 62 6f  74 74 6f 6d 25 3a 72 65  |ct%!4=bottom%:re|
00029da0  63 74 25 21 38 3d 72 69  67 68 74 25 3a 72 65 63  |ct%!8=right%:rec|
00029db0  74 25 21 31 32 3d 74 6f  70 25 0d c8 d2 23 20 20  |t%!12=top%...#  |
00029dc0  74 72 61 6e 73 25 21 30  3d 31 3c 3c 31 36 3a 74  |trans%!0=1<<16:t|
00029dd0  72 61 6e 73 25 21 34 3d  30 3c 3c 31 36 0d c8 da  |rans%!4=0<<16...|
00029de0  24 20 20 74 72 61 6e 73  25 21 38 3d 30 3c 3c 31  |$  trans%!8=0<<1|
00029df0  36 3a 74 72 61 6e 73 25  21 31 32 3d 31 3c 3c 31  |6:trans%!12=1<<1|
00029e00  36 0d c8 e2 34 20 20 70  6c 6f 74 61 74 25 21 30  |6...4  plotat%!0|
00029e10  3d 6c 65 66 74 25 2a 34  30 30 3a 70 6c 6f 74 61  |=left%*400:plota|
00029e20  74 25 21 34 3d 62 6f 74  74 6f 6d 25 2a 34 30 30  |t%!4=bottom%*400|
00029e30  2d 33 36 30 30 0d c8 ea  28 20 20 e3 20 63 25 3d  |-3600...(  . c%=|
00029e40  30 20 b8 20 77 69 6e 70  25 2d 31 20 88 20 28 6e  |0 . winp%-1 . (n|
00029e50  6f 5f 6c 69 6e 65 73 25  20 81 20 36 29 0d c8 f2  |o_lines% . 6)...|
00029e60  0c 20 20 70 61 63 25 3d  30 0d c8 fa 26 20 20 e3  |.  pac%=0...&  .|
00029e70  20 64 25 3d 63 25 20 b8  20 63 25 2b 28 28 6e 6f  | d%=c% . c%+((no|
00029e80  5f 6c 69 6e 65 73 25 20  81 20 36 29 2d 31 29 0d  |_lines% . 6)-1).|
00029e90  c9 02 15 20 20 e7 20 64  25 3c 3d 77 69 6e 70 25  |...  . d%<=winp%|
00029ea0  2d 31 20 8c 0d c9 0a 2b  20 20 20 20 70 61 24 28  |-1 ....+    pa$(|
00029eb0  70 61 63 25 29 3d c0 77  69 6e 73 74 61 63 6b 24  |pac%)=.winstack$|
00029ec0  28 64 25 29 2c 36 29 3a  70 61 63 25 2b 3d 31 0d  |(d%),6):pac%+=1.|
00029ed0  c9 12 2f 20 20 20 20 70  61 24 28 70 61 63 25 29  |../    pa$(pac%)|
00029ee0  3d c1 77 69 6e 73 74 61  63 6b 24 28 64 25 29 2c  |=.winstack$(d%),|
00029ef0  31 31 2c 35 30 29 3a 70  61 63 25 2b 3d 31 0d c9  |11,50):pac%+=1..|
00029f00  1a 2f 20 20 20 20 70 61  24 28 70 61 63 25 29 3d  |./    pa$(pac%)=|
00029f10  c1 77 69 6e 73 74 61 63  6b 24 28 64 25 29 2c 36  |.winstack$(d%),6|
00029f20  31 2c 34 30 29 3a 70 61  63 25 2b 3d 31 0d c9 22  |1,40):pac%+=1.."|
00029f30  30 20 20 20 20 70 61 24  28 70 61 63 25 29 3d c1  |0    pa$(pac%)=.|
00029f40  77 69 6e 73 74 61 63 6b  24 28 64 25 29 2c 31 30  |winstack$(d%),10|
00029f50  31 2c 31 35 29 3a 70 61  63 25 2b 3d 31 0d c9 2a  |1,15):pac%+=1..*|
00029f60  2f 20 20 20 20 70 61 24  28 70 61 63 25 29 3d c1  |/    pa$(pac%)=.|
00029f70  77 69 6e 73 74 61 63 6b  24 28 64 25 29 2c 31 31  |winstack$(d%),11|
00029f80  36 2c 36 29 3a 70 61 63  25 2b 3d 31 0d c9 32 1c  |6,6):pac%+=1..2.|
00029f90  20 20 20 20 70 61 24 28  70 61 63 25 29 3d 22 22  |    pa$(pac%)=""|
00029fa0  3a 70 61 63 25 2b 3d 31  0d c9 3a 07 20 20 cd 0d  |:pac%+=1..:.  ..|
00029fb0  c9 42 0a 20 20 ed 20 64  25 0d c9 4a 15 20 20 e3  |.B.  . d%..J.  .|
00029fc0  20 64 25 3d 30 20 b8 20  70 61 63 25 2d 31 0d c9  | d%=0 . pac%-1..|
00029fd0  52 38 20 20 e7 20 a9 28  70 61 24 28 64 25 29 29  |R8  . .(pa$(d%))|
00029fe0  3e 63 6f 6c 75 6d 6e 73  25 20 8c 20 70 61 24 28  |>columns% . pa$(|
00029ff0  64 25 29 3d c0 70 61 24  28 64 25 29 2c 63 6f 6c  |d%)=.pa$(d%),col|
0002a000  75 6d 6e 73 25 29 0d c9  5a 0a 20 20 ed 20 64 25  |umns%)..Z.  . d%|
0002a010  0d c9 62 56 20 20 c8 99  20 22 50 44 72 69 76 65  |..bV  .. "PDrive|
0002a020  72 5f 47 69 76 65 52 65  63 74 61 6e 67 6c 65 22  |r_GiveRectangle"|
0002a030  2c 28 63 25 20 81 20 28  6e 6f 5f 6c 69 6e 65 73  |,(c% . (no_lines|
0002a040  25 20 81 20 36 29 29 2c  72 65 63 74 25 2c 74 72  |% . 6)),rect%,tr|
0002a050  61 6e 73 25 2c 70 6c 6f  74 61 74 25 2c 26 46 46  |ans%,plotat%,&FF|
0002a060  46 46 46 46 30 30 0d c9  6a 32 20 20 c8 99 20 22  |FFFF00..j2  .. "|
0002a070  50 44 72 69 76 65 72 5f  44 72 61 77 50 61 67 65  |PDriver_DrawPage|
0002a080  22 2c 31 2c 72 65 63 74  69 6e 25 2c 30 2c 30 20  |",1,rectin%,0,0 |
0002a090  b8 20 6d 6f 72 65 32 25  0d c9 72 34 20 20 c8 99  |. more2%..r4  ..|
0002a0a0  20 22 43 6f 6c 6f 75 72  54 72 61 6e 73 5f 53 65  | "ColourTrans_Se|
0002a0b0  74 46 6f 6e 74 43 6f 6c  6f 75 72 73 22 2c 2c 26  |tFontColours",,&|
0002a0c0  46 46 46 46 46 46 30 30  2c 30 2c 36 0d c9 7a 1d  |FFFFFF00,0,6..z.|
0002a0d0  20 20 c8 99 20 22 46 6f  6e 74 5f 53 65 74 46 6f  |  .. "Font_SetFo|
0002a0e0  6e 74 22 2c 66 68 64 6c  25 0d c9 82 0f 20 20 c8  |nt",fhdl%....  .|
0002a0f0  95 20 6d 6f 72 65 32 25  0d c9 8a 1c 20 20 20 20  |. more2%....    |
0002a100  f2 72 65 77 72 69 74 65  28 6c 65 66 74 25 2c 74  |.rewrite(left%,t|
0002a110  6f 70 25 29 0d c9 92 33  20 20 20 20 c8 99 20 22  |op%)...3    .. "|
0002a120  50 44 72 69 76 65 72 5f  47 65 74 52 65 63 74 61  |PDriver_GetRecta|
0002a130  6e 67 6c 65 22 2c 2c 72  65 63 74 69 6e 25 20 b8  |ngle",,rectin% .|
0002a140  20 6d 6f 72 65 32 25 0d  c9 9a 07 20 20 ce 0d c9  | more2%....  ...|
0002a150  a2 0a 20 20 ed 20 63 25  0d c9 aa 1d 20 20 c8 99  |..  . c%....  ..|
0002a160  20 22 50 44 72 69 76 65  72 5f 45 6e 64 4a 6f 62  | "PDriver_EndJob|
0002a170  22 2c 70 66 25 0d c9 b2  0b 20 20 d9 23 70 66 25  |",pf%....  .#pf%|
0002a180  0d c9 ba 12 20 20 70 72  69 6e 74 66 6c 61 67 25  |....  printflag%|
0002a190  3d a3 0d c9 c2 18 20 20  c8 99 20 22 48 6f 75 72  |=.....  .. "Hour|
0002a1a0  67 6c 61 73 73 5f 4f 66  66 22 0d c9 ca 05 cc 0d  |glass_Off"......|
0002a1b0  c9 d2 33 20 20 63 6f 6c  75 6d 6e 73 25 3d 38 30  |..3  columns%=80|
0002a1c0  3a 6e 6f 5f 6c 69 6e 65  73 25 3d bb 28 a4 67 65  |:no_lines%=.(.ge|
0002a1d0  74 74 65 78 74 28 61 6c  6c 5f 70 72 25 2c 31 34  |ttext(all_pr%,14|
0002a1e0  29 29 0d c9 da 21 20 20  e7 20 6e 6f 5f 6c 69 6e  |))...!  . no_lin|
0002a1f0  65 73 25 3d 30 20 8c 20  6e 6f 5f 6c 69 6e 65 73  |es%=0 . no_lines|
0002a200  25 3d 31 0d c9 e2 09 20  20 ef 20 32 0d c9 ea 28  |%=1....  . 2...(|
0002a210  20 20 e3 20 63 25 3d 30  20 b8 20 77 69 6e 70 25  |  . c%=0 . winp%|
0002a220  2d 31 20 88 20 28 6e 6f  5f 6c 69 6e 65 73 25 20  |-1 . (no_lines% |
0002a230  81 20 36 29 0d c9 f2 0c  20 20 70 61 63 25 3d 30  |. 6)....  pac%=0|
0002a240  0d c9 fa 26 20 20 e3 20  64 25 3d 63 25 20 b8 20  |...&  . d%=c% . |
0002a250  63 25 2b 28 28 6e 6f 5f  6c 69 6e 65 73 25 20 81  |c%+((no_lines% .|
0002a260  20 36 29 2d 31 29 0d ca  02 15 20 20 e7 20 64 25  | 6)-1)....  . d%|
0002a270  3c 3d 77 69 6e 70 25 2d  31 20 8c 0d ca 0a 2b 20  |<=winp%-1 ....+ |
0002a280  20 20 20 70 61 24 28 70  61 63 25 29 3d c0 77 69  |   pa$(pac%)=.wi|
0002a290  6e 73 74 61 63 6b 24 28  64 25 29 2c 36 29 3a 70  |nstack$(d%),6):p|
0002a2a0  61 63 25 2b 3d 31 0d ca  12 2f 20 20 20 20 70 61  |ac%+=1.../    pa|
0002a2b0  24 28 70 61 63 25 29 3d  c1 77 69 6e 73 74 61 63  |$(pac%)=.winstac|
0002a2c0  6b 24 28 64 25 29 2c 31  31 2c 35 30 29 3a 70 61  |k$(d%),11,50):pa|
0002a2d0  63 25 2b 3d 31 0d ca 1a  2f 20 20 20 20 70 61 24  |c%+=1.../    pa$|
0002a2e0  28 70 61 63 25 29 3d c1  77 69 6e 73 74 61 63 6b  |(pac%)=.winstack|
0002a2f0  24 28 64 25 29 2c 36 31  2c 34 30 29 3a 70 61 63  |$(d%),61,40):pac|
0002a300  25 2b 3d 31 0d ca 22 30  20 20 20 20 70 61 24 28  |%+=1.."0    pa$(|
0002a310  70 61 63 25 29 3d c1 77  69 6e 73 74 61 63 6b 24  |pac%)=.winstack$|
0002a320  28 64 25 29 2c 31 30 31  2c 31 35 29 3a 70 61 63  |(d%),101,15):pac|
0002a330  25 2b 3d 31 0d ca 2a 2f  20 20 20 20 70 61 24 28  |%+=1..*/    pa$(|
0002a340  70 61 63 25 29 3d c1 77  69 6e 73 74 61 63 6b 24  |pac%)=.winstack$|
0002a350  28 64 25 29 2c 31 31 36  2c 36 29 3a 70 61 63 25  |(d%),116,6):pac%|
0002a360  2b 3d 31 0d ca 32 1c 20  20 20 20 70 61 24 28 70  |+=1..2.    pa$(p|
0002a370  61 63 25 29 3d 22 22 3a  70 61 63 25 2b 3d 31 0d  |ac%)="":pac%+=1.|
0002a380  ca 3a 07 20 20 cd 0d ca  42 0a 20 20 ed 20 64 25  |.:.  ...B.  . d%|
0002a390  0d ca 4a 18 20 20 e7 20  70 61 63 25 3c 6e 6f 5f  |..J.  . pac%<no_|
0002a3a0  6c 69 6e 65 73 25 20 8c  0d ca 52 1d 20 20 20 20  |lines% ...R.    |
0002a3b0  e3 20 65 25 3d 70 61 63  25 20 b8 20 6e 6f 5f 6c  |. e%=pac% . no_l|
0002a3c0  69 6e 65 73 25 0d ca 5a  12 20 20 20 20 70 61 24  |ines%..Z.    pa$|
0002a3d0  28 65 25 29 3d 22 22 0d  ca 62 0c 20 20 20 20 ed  |(e%)=""..b.    .|
0002a3e0  20 65 25 0d ca 6a 0f 20  20 20 20 70 61 63 25 3d  | e%..j.    pac%=|
0002a3f0  65 25 0d ca 72 07 20 20  cd 0d ca 7a 15 20 20 e3  |e%..r.  ...z.  .|
0002a400  20 65 25 3d 30 20 b8 20  70 61 63 25 2d 31 0d ca  | e%=0 . pac%-1..|
0002a410  82 38 20 20 e7 20 a9 28  70 61 24 28 65 25 29 29  |.8  . .(pa$(e%))|
0002a420  3e 63 6f 6c 75 6d 6e 73  25 20 8c 20 70 61 24 28  |>columns% . pa$(|
0002a430  65 25 29 3d c0 70 61 24  28 65 25 29 2c 63 6f 6c  |e%)=.pa$(e%),col|
0002a440  75 6d 6e 73 25 29 0d ca  8a 0f 20 20 f1 20 70 61  |umns%)....  . pa|
0002a450  24 28 65 25 29 0d ca 92  0a 20 20 ed 20 65 25 0d  |$(e%)....  . e%.|
0002a460  ca 9a 0a 20 20 ed 20 63  25 0d ca a2 09 20 20 ef  |...  . c%....  .|
0002a470  20 33 0d ca aa 12 20 20  70 72 69 6e 74 66 6c 61  | 3....  printfla|
0002a480  67 25 3d a3 0d ca b2 18  20 20 c8 99 20 22 48 6f  |g%=.....  .. "Ho|
0002a490  75 72 67 6c 61 73 73 5f  4f 66 66 22 0d ca ba 05  |urglass_Off"....|
0002a4a0  cd 0d ca c2 05 e1 0d ca  ca 04 0d ca d2 0f dd f2  |................|
0002a4b0  70 72 69 6e 74 5f 61 6c  6c 0d ca da 14 f2 63 68  |print_all.....ch|
0002a4c0  65 63 6b 5f 62 6f 6f 6b  5f 64 69 72 73 0d ca e2  |eck_book_dirs...|
0002a4d0  13 f2 63 68 65 63 6b 5f  6d 65 6d 5f 64 69 72 73  |..check_mem_dirs|
0002a4e0  0d ca ea 0c 70 61 6e 25  28 29 3d 30 0d ca f2 0c  |....pan%()=0....|
0002a4f0  70 61 24 28 29 3d 22 22  0d ca fa 10 68 61 6c 66  |pa$()=""....half|
0002a500  5f 66 6c 61 67 25 3d a3  0d cb 02 31 e7 20 a4 49  |_flag%=....1. .I|
0002a510  63 6f 6e 47 65 74 28 61  6c 6c 5f 70 72 25 2c 39  |conGet(all_pr%,9|
0002a520  29 20 8c 20 68 61 6c 66  5f 66 6c 61 67 25 3d b9  |) . half_flag%=.|
0002a530  3a 70 61 6e 25 28 29 3d  31 0d cb 0a 1b e7 20 a4  |:pan%()=1..... .|
0002a540  49 63 6f 6e 47 65 74 28  61 6c 6c 5f 70 72 25 2c  |IconGet(all_pr%,|
0002a550  35 29 20 8c 0d cb 12 12  20 20 66 6f 6e 74 5f 66  |5) .....  font_f|
0002a560  6c 61 67 25 3d a3 0d cb  1a 1c 20 20 66 24 3d a4  |lag%=.....  f$=.|
0002a570  67 65 74 74 65 78 74 28  61 6c 6c 5f 70 72 25 2c  |gettext(all_pr%,|
0002a580  33 29 0d cb 22 23 20 20  e7 20 a4 55 70 70 65 72  |3).."#  . .Upper|
0002a590  28 66 24 29 3c 3e 22 53  59 53 54 45 4d 20 46 4f  |(f$)<>"SYSTEM FO|
0002a5a0  4e 54 22 20 8c 0d cb 2a  14 20 20 20 20 66 6f 6e  |NT" ...*.    fon|
0002a5b0  74 5f 66 6c 61 67 25 3d  b9 0d cb 32 27 20 20 20  |t_flag%=...2'   |
0002a5c0  20 73 69 7a 65 25 3d 31  32 3a e7 20 68 61 6c 66  | size%=12:. half|
0002a5d0  5f 66 6c 61 67 25 20 8c  20 73 69 7a 65 25 3d 36  |_flag% . size%=6|
0002a5e0  0d cb 3a 18 20 20 20 20  73 69 7a 65 25 3d 73 69  |..:.    size%=si|
0002a5f0  7a 65 25 2a 31 30 30 30  0d cb 42 3c 20 20 20 20  |ze%*1000..B<    |
0002a600  c8 99 20 22 46 6f 6e 74  5f 46 69 6e 64 46 6f 6e  |.. "Font_FindFon|
0002a610  74 22 2c 2c 66 24 2c 73  69 7a 65 25 2f 36 32 2e  |t",,f$,size%/62.|
0002a620  35 2c 73 69 7a 65 25 2f  36 32 2e 35 20 b8 20 66  |5,size%/62.5 . f|
0002a630  68 64 6c 25 0d cb 4a 19  20 20 20 20 c8 99 20 22  |hdl%..J.    .. "|
0002a640  48 6f 75 72 67 6c 61 73  73 5f 4f 6e 22 0d cb 52  |Hourglass_On"..R|
0002a650  19 20 20 20 20 70 66 25  3d ae 28 22 70 72 69 6e  |.    pf%=.("prin|
0002a660  74 65 72 3a 22 29 0d cb  5a 3d 20 20 20 20 e7 20  |ter:")..Z=    . |
0002a670  70 66 25 3d 30 20 8c 20  d9 23 70 66 25 3a f2 64  |pf%=0 . .#pf%:.d|
0002a680  69 73 5f 6d 65 73 73 61  67 65 28 22 50 72 69 6e  |is_message("Prin|
0002a690  74 65 72 20 6e 6f 74 20  61 76 61 69 6c 61 62 6c  |ter not availabl|
0002a6a0  65 22 29 0d cb 62 20 20  20 20 20 e7 20 70 66 25  |e")..b     . pf%|
0002a6b0  3d 30 20 8c 20 70 72 69  6e 74 66 6c 61 67 25 3d  |=0 . printflag%=|
0002a6c0  a3 3a e1 0d cb 6a 2d 20  20 20 20 c8 99 20 22 50  |.:...j-    .. "P|
0002a6d0  44 72 69 76 65 72 5f 53  65 6c 65 63 74 4a 6f 62  |Driver_SelectJob|
0002a6e0  22 2c 70 66 25 2c 22 41  6c 6c 42 6f 6f 6b 73 22  |",pf%,"AllBooks"|
0002a6f0  0d cb 72 22 20 20 20 20  c8 99 20 22 50 44 72 69  |..r"    .. "PDri|
0002a700  76 65 72 5f 49 6e 66 6f  22 20 b8 20 2c 2c 2c 66  |ver_Info" . ,,,f|
0002a710  66 25 0d cb 7a 24 20 20  20 20 e7 20 28 28 66 66  |f%..z$    . ((ff|
0002a720  25 20 80 20 28 31 3c 3c  32 39 29 29 3e 3e 3e 32  |% . (1<<29))>>>2|
0002a730  39 29 3d 31 20 8c 0d cb  82 2d 20 20 20 20 20 20  |9)=1 ....-      |
0002a740  c8 99 20 22 50 44 72 69  76 65 72 5f 44 65 63 6c  |.. "PDriver_Decl|
0002a750  61 72 65 46 6f 6e 74 22  2c 66 68 64 6c 25 2c 66  |areFont",fhdl%,f|
0002a760  24 2c 30 0d cb 8a 28 20  20 20 20 20 20 c8 99 20  |$,0...(      .. |
0002a770  22 50 44 72 69 76 65 72  5f 44 65 63 6c 61 72 65  |"PDriver_Declare|
0002a780  46 6f 6e 74 22 2c 30 2c  30 2c 30 0d cb 92 09 20  |Font",0,0,0.... |
0002a790  20 20 20 cd 0d cb 9a 0b  20 20 20 20 ea 20 85 0d  |   .....    . ..|
0002a7a0  cb a2 51 20 20 20 20 ee  20 85 20 ea 3a f7 20 85  |..Q    . . .:. .|
0002a7b0  3a c8 99 20 22 50 44 72  69 76 65 72 5f 41 62 6f  |:.. "PDriver_Abo|
0002a7c0  72 74 4a 6f 62 22 2c 70  66 25 3a d9 23 70 66 25  |rtJob",pf%:.#pf%|
0002a7d0  3a 70 72 69 6e 74 66 6c  61 67 25 3d a3 3a f2 64  |:printflag%=.:.d|
0002a7e0  69 73 5f 6d 65 73 73 61  67 65 28 f6 24 29 3a e1  |is_message(.$):.|
0002a7f0  0d cb aa 3c 20 20 20 20  c8 99 20 22 50 44 72 69  |...<    .. "PDri|
0002a800  76 65 72 5f 50 61 67 65  53 69 7a 65 22 20 b8 20  |ver_PageSize" . |
0002a810  2c 2c 2c 6c 65 66 74 25  2c 62 6f 74 74 6f 6d 25  |,,,left%,bottom%|
0002a820  2c 72 69 67 68 74 25 2c  74 6f 70 25 0d cb b2 4b  |,right%,top%...K|
0002a830  20 20 20 20 6c 65 66 74  25 3d 6c 65 66 74 25 2f  |    left%=left%/|
0002a840  34 30 30 3a 72 69 67 68  74 25 3d 72 69 67 68 74  |400:right%=right|
0002a850  25 2f 34 30 30 3a 74 6f  70 25 3d 74 6f 70 25 2f  |%/400:top%=top%/|
0002a860  34 30 30 3a 62 6f 74 74  6f 6d 25 3d 62 6f 74 74  |400:bottom%=bott|
0002a870  6f 6d 25 2f 34 30 30 0d  cb ba 2e 20 20 20 20 6e  |om%/400....    n|
0002a880  6f 5f 6c 69 6e 65 73 25  3d 28 28 74 6f 70 25 2d  |o_lines%=((top%-|
0002a890  62 6f 74 74 6f 6d 25 29  2a 34 30 30 29 20 81 20  |bottom%)*400) . |
0002a8a0  73 69 7a 65 25 0d cb c2  33 20 20 20 20 63 6f 6c  |size%...3    col|
0002a8b0  75 6d 6e 73 25 3d 28 28  28 72 69 67 68 74 25 2d  |umns%=(((right%-|
0002a8c0  6c 65 66 74 25 29 2a 34  30 30 29 20 81 20 73 69  |left%)*400) . si|
0002a8d0  7a 65 25 29 2a 31 2e 35  0d cb ca 42 20 20 20 20  |ze%)*1.5...B    |
0002a8e0  72 65 63 74 25 21 30 3d  6c 65 66 74 25 3a 72 65  |rect%!0=left%:re|
0002a8f0  63 74 25 21 34 3d 62 6f  74 74 6f 6d 25 3a 72 65  |ct%!4=bottom%:re|
0002a900  63 74 25 21 38 3d 72 69  67 68 74 25 3a 72 65 63  |ct%!8=right%:rec|
0002a910  74 25 21 31 32 3d 74 6f  70 25 0d cb d2 25 20 20  |t%!12=top%...%  |
0002a920  20 20 74 72 61 6e 73 25  21 30 3d 31 3c 3c 31 36  |  trans%!0=1<<16|
0002a930  3a 74 72 61 6e 73 25 21  34 3d 30 3c 3c 31 36 0d  |:trans%!4=0<<16.|
0002a940  cb da 26 20 20 20 20 74  72 61 6e 73 25 21 38 3d  |..&    trans%!8=|
0002a950  30 3c 3c 31 36 3a 74 72  61 6e 73 25 21 31 32 3d  |0<<16:trans%!12=|
0002a960  31 3c 3c 31 36 0d cb e2  36 20 20 20 20 70 6c 6f  |1<<16...6    plo|
0002a970  74 61 74 25 21 30 3d 6c  65 66 74 25 2a 34 30 30  |tat%!0=left%*400|
0002a980  3a 70 6c 6f 74 61 74 25  21 34 3d 62 6f 74 74 6f  |:plotat%!4=botto|
0002a990  6d 25 2a 34 30 30 2d 33  36 30 30 0d cb ea 13 20  |m%*400-3600.... |
0002a9a0  20 20 20 75 73 69 6e 67  5f 73 70 25 3d 30 0d cb  |   using_sp%=0..|
0002a9b0  f2 0e 20 20 20 20 70 61  63 25 3d 30 0d cb fa 0f  |..    pac%=0....|
0002a9c0  20 20 20 20 70 61 67 65  25 3d 30 0d cc 02 13 20  |    page%=0.... |
0002a9d0  20 20 20 e3 20 67 64 25  3d 30 20 b8 20 39 0d cc  |   . gd%=0 . 9..|
0002a9e0  0a 1e 20 20 20 20 e7 20  62 6f 6f 6b 5f 64 69 72  |..    . book_dir|
0002a9f0  5f 64 65 66 25 28 67 64  25 29 20 8c 0d cc 12 18  |_def%(gd%) .....|
0002aa00  20 20 20 20 20 20 e3 20  67 6e 25 3d 30 20 b8 20  |      . gn%=0 . |
0002aa10  39 39 39 39 0d cc 1a 1c  20 20 20 20 20 20 67 6e  |9999....      gn|
0002aa20  6f 25 3d 67 64 25 2a 31  30 30 30 30 2b 67 6e 25  |o%=gd%*10000+gn%|
0002aa30  0d cc 22 46 20 20 20 20  20 20 e7 20 28 28 62 6f  |.."F      . ((bo|
0002aa40  6f 6b 64 65 66 25 3f 28  67 6e 6f 25 20 81 20 38  |okdef%?(gno% . 8|
0002aa50  29 20 80 20 28 31 3c 3c  28 67 6e 6f 25 20 83 20  |) . (1<<(gno% . |
0002aa60  38 29 29 29 3e 3e 3e 28  67 6e 6f 25 20 83 20 38  |8)))>>>(gno% . 8|
0002aa70  29 29 3d 31 20 8c 0d cc  2a 47 20 20 20 20 20 20  |))=1 ...*G      |
0002aa80  20 20 e7 20 63 61 63 68  65 25 3c 3e 28 67 6e 6f  |  . cache%<>(gno|
0002aa90  25 20 81 20 31 30 30 29  20 8c 20 f2 6f 70 65 6e  |% . 100) . .open|
0002aaa0  5f 62 6f 6f 6b 5f 63 61  63 68 65 28 a4 7a 65 72  |_book_cache(.zer|
0002aab0  6f 28 c3 28 67 6e 6f 25  29 2c 35 29 29 0d cc 32  |o(.(gno%),5))..2|
0002aac0  1c 20 20 20 20 20 20 20  20 70 69 63 6b 25 3d 67  |.        pick%=g|
0002aad0  6e 6f 25 20 83 20 31 30  30 0d cc 3a 20 20 20 20  |no% . 100..:    |
0002aae0  20 20 20 20 20 6c 73 25  3d 28 63 6f 6c 75 6d 6e  |     ls%=(column|
0002aaf0  73 25 20 81 20 32 29 2d  31 0d cc 42 1c 20 20 20  |s% . 2)-1..B.   |
0002ab00  20 20 20 20 20 72 73 25  3d 63 6f 6c 75 6d 6e 73  |     rs%=columns|
0002ab10  25 20 81 20 32 0d cc 4a  1b 20 20 20 20 20 20 20  |% . 2..J.       |
0002ab20  20 e7 20 75 73 69 6e 67  5f 73 70 25 3d 30 20 8c  | . using_sp%=0 .|
0002ab30  0d cc 52 3a 20 20 20 20  20 20 20 20 20 20 6c 69  |..R:          li|
0002ab40  6e 65 24 28 30 29 3d a4  43 68 65 63 6b 5f 44 69  |ne$(0)=.Check_Di|
0002ab50  67 69 74 5f 50 6c 75 73  28 a4 7a 65 72 6f 28 c3  |git_Plus(.zero(.|
0002ab60  28 67 6e 6f 25 29 2c 35  29 29 0d cc 5a 3e 20 20  |(gno%),5))..Z>  |
0002ab70  20 20 20 20 20 20 20 20  e7 20 68 61 6c 66 5f 66  |        . half_f|
0002ab80  6c 61 67 25 20 8c 20 6c  69 6e 65 24 28 30 29 3d  |lag% . line$(0)=|
0002ab90  a4 73 70 63 28 c0 6c 69  6e 65 24 28 30 29 2c 6c  |.spc(.line$(0),l|
0002aba0  73 25 29 2c 6c 73 25 29  0d cc 62 24 20 20 20 20  |s%),ls%)..b$    |
0002abb0  20 20 20 20 20 20 6c 69  6e 65 24 28 31 29 3d 76  |      line$(1)=v|
0002abc0  61 72 24 28 70 69 63 6b  25 2c 30 29 0d cc 6a 3e  |ar$(pick%,0)..j>|
0002abd0  20 20 20 20 20 20 20 20  20 20 e7 20 68 61 6c 66  |          . half|
0002abe0  5f 66 6c 61 67 25 20 8c  20 6c 69 6e 65 24 28 31  |_flag% . line$(1|
0002abf0  29 3d a4 73 70 63 28 c0  6c 69 6e 65 24 28 31 29  |)=.spc(.line$(1)|
0002ac00  2c 6c 73 25 29 2c 6c 73  25 29 0d cc 72 24 20 20  |,ls%),ls%)..r$  |
0002ac10  20 20 20 20 20 20 20 20  6c 69 6e 65 24 28 32 29  |        line$(2)|
0002ac20  3d 76 61 72 24 28 70 69  63 6b 25 2c 31 29 0d cc  |=var$(pick%,1)..|
0002ac30  7a 3e 20 20 20 20 20 20  20 20 20 20 e7 20 68 61  |z>          . ha|
0002ac40  6c 66 5f 66 6c 61 67 25  20 8c 20 6c 69 6e 65 24  |lf_flag% . line$|
0002ac50  28 32 29 3d a4 73 70 63  28 c0 6c 69 6e 65 24 28  |(2)=.spc(.line$(|
0002ac60  32 29 2c 6c 73 25 29 2c  6c 73 25 29 0d cc 82 24  |2),ls%),ls%)...$|
0002ac70  20 20 20 20 20 20 20 20  20 20 6c 69 6e 65 24 28  |          line$(|
0002ac80  33 29 3d 76 61 72 24 28  70 69 63 6b 25 2c 32 29  |3)=var$(pick%,2)|
0002ac90  0d cc 8a 3e 20 20 20 20  20 20 20 20 20 20 e7 20  |...>          . |
0002aca0  68 61 6c 66 5f 66 6c 61  67 25 20 8c 20 6c 69 6e  |half_flag% . lin|
0002acb0  65 24 28 33 29 3d a4 73  70 63 28 c0 6c 69 6e 65  |e$(3)=.spc(.line|
0002acc0  24 28 33 29 2c 6c 73 25  29 2c 6c 73 25 29 0d cc  |$(3),ls%),ls%)..|
0002acd0  92 24 20 20 20 20 20 20  20 20 20 20 6c 69 6e 65  |.$          line|
0002ace0  24 28 34 29 3d 76 61 72  24 28 70 69 63 6b 25 2c  |$(4)=var$(pick%,|
0002acf0  33 29 0d cc 9a 3e 20 20  20 20 20 20 20 20 20 20  |3)...>          |
0002ad00  e7 20 68 61 6c 66 5f 66  6c 61 67 25 20 8c 20 6c  |. half_flag% . l|
0002ad10  69 6e 65 24 28 34 29 3d  a4 73 70 63 28 c0 6c 69  |ine$(4)=.spc(.li|
0002ad20  6e 65 24 28 34 29 2c 6c  73 25 29 2c 6c 73 25 29  |ne$(4),ls%),ls%)|
0002ad30  0d cc a2 1f 20 20 20 20  20 20 20 20 20 20 6c 6c  |....          ll|
0002ad40  24 3d 76 61 72 24 28 70  69 63 6b 25 2c 34 29 0d  |$=var$(pick%,4).|
0002ad50  cc aa 23 20 20 20 20 20  20 20 20 20 20 e7 20 6c  |..#          . l|
0002ad60  6c 24 3c 3e 22 49 4e 20  4c 49 42 52 41 52 59 22  |l$<>"IN LIBRARY"|
0002ad70  20 8c 0d cc b2 3f 20 20  20 20 20 20 20 20 20 20  | ....?          |
0002ad80  20 20 6c 6c 74 24 3d 22  44 75 65 20 22 2b c0 6c  |  llt$="Due "+.l|
0002ad90  6c 24 2c 32 29 2b 22 2d  22 2b c1 6c 6c 24 2c 33  |l$,2)+"-"+.ll$,3|
0002ada0  2c 32 29 2b 22 2d 22 2b  c1 6c 6c 24 2c 35 2c 32  |,2)+"-"+.ll$,5,2|
0002adb0  29 0d cc ba 3d 20 20 20  20 20 20 20 20 20 20 20  |)...=           |
0002adc0  20 6c 6c 74 24 2b 3d 22  20 4d 65 6d 62 65 72 20  | llt$+=" Member |
0002add0  22 2b a4 43 68 65 63 6b  5f 44 69 67 69 74 5f 50  |"+.Check_Digit_P|
0002ade0  6c 75 73 28 c1 6c 6c 24  2c 37 2c 38 29 29 0d cc  |lus(.ll$,7,8))..|
0002adf0  c2 18 20 20 20 20 20 20  20 20 20 20 20 20 6c 6c  |..            ll|
0002ae00  24 3d 6c 6c 74 24 0d cc  ca 0f 20 20 20 20 20 20  |$=llt$....      |
0002ae10  20 20 20 20 cd 0d cc d2  1a 20 20 20 20 20 20 20  |    .....       |
0002ae20  20 20 20 6c 69 6e 65 24  28 35 29 3d 6c 6c 24 0d  |   line$(5)=ll$.|
0002ae30  cc da 3e 20 20 20 20 20  20 20 20 20 20 e7 20 68  |..>          . h|
0002ae40  61 6c 66 5f 66 6c 61 67  25 20 8c 20 6c 69 6e 65  |alf_flag% . line|
0002ae50  24 28 35 29 3d a4 73 70  63 28 c0 6c 69 6e 65 24  |$(5)=.spc(.line$|
0002ae60  28 35 29 2c 6c 73 25 29  2c 6c 73 25 29 0d cc e2  |(5),ls%),ls%)...|
0002ae70  32 20 20 20 20 20 20 20  20 20 20 e7 20 68 61 6c  |2          . hal|
0002ae80  66 5f 66 6c 61 67 25 20  8c 20 75 73 69 6e 67 5f  |f_flag% . using_|
0002ae90  73 70 25 3d 31 2d 75 73  69 6e 67 5f 73 70 25 0d  |sp%=1-using_sp%.|
0002aea0  cc ea 0d 20 20 20 20 20  20 20 20 cc 0d cc f2 3f  |...        ....?|
0002aeb0  20 20 20 20 20 20 20 20  20 20 6c 69 6e 65 24 28  |          line$(|
0002aec0  30 29 2b 3d 22 20 22 2b  a4 43 68 65 63 6b 5f 44  |0)+=" "+.Check_D|
0002aed0  69 67 69 74 5f 50 6c 75  73 28 a4 7a 65 72 6f 28  |igit_Plus(.zero(|
0002aee0  c3 28 67 6e 6f 25 29 2c  35 29 29 0d cc fa 29 20  |.(gno%),5))...) |
0002aef0  20 20 20 20 20 20 20 20  20 6c 69 6e 65 24 28 31  |         line$(1|
0002af00  29 2b 3d 22 20 22 2b 76  61 72 24 28 70 69 63 6b  |)+=" "+var$(pick|
0002af10  25 2c 30 29 0d cd 02 29  20 20 20 20 20 20 20 20  |%,0)...)        |
0002af20  20 20 6c 69 6e 65 24 28  32 29 2b 3d 22 20 22 2b  |  line$(2)+=" "+|
0002af30  76 61 72 24 28 70 69 63  6b 25 2c 31 29 0d cd 0a  |var$(pick%,1)...|
0002af40  29 20 20 20 20 20 20 20  20 20 20 6c 69 6e 65 24  |)          line$|
0002af50  28 33 29 2b 3d 22 20 22  2b 76 61 72 24 28 70 69  |(3)+=" "+var$(pi|
0002af60  63 6b 25 2c 32 29 0d cd  12 29 20 20 20 20 20 20  |ck%,2)...)      |
0002af70  20 20 20 20 6c 69 6e 65  24 28 34 29 2b 3d 22 20  |    line$(4)+=" |
0002af80  22 2b 76 61 72 24 28 70  69 63 6b 25 2c 33 29 0d  |"+var$(pick%,3).|
0002af90  cd 1a 1f 20 20 20 20 20  20 20 20 20 20 6c 6c 24  |...          ll$|
0002afa0  3d 76 61 72 24 28 70 69  63 6b 25 2c 34 29 0d cd  |=var$(pick%,4)..|
0002afb0  22 23 20 20 20 20 20 20  20 20 20 20 e7 20 6c 6c  |"#          . ll|
0002afc0  24 3c 3e 22 49 4e 20 4c  49 42 52 41 52 59 22 20  |$<>"IN LIBRARY" |
0002afd0  8c 0d cd 2a 3f 20 20 20  20 20 20 20 20 20 20 20  |...*?           |
0002afe0  20 6c 6c 74 24 3d 22 44  75 65 20 22 2b c0 6c 6c  | llt$="Due "+.ll|
0002aff0  24 2c 32 29 2b 22 2d 22  2b c1 6c 6c 24 2c 33 2c  |$,2)+"-"+.ll$,3,|
0002b000  32 29 2b 22 2d 22 2b c1  6c 6c 24 2c 35 2c 32 29  |2)+"-"+.ll$,5,2)|
0002b010  0d cd 32 3d 20 20 20 20  20 20 20 20 20 20 20 20  |..2=            |
0002b020  6c 6c 74 24 2b 3d 22 20  4d 65 6d 62 65 72 20 22  |llt$+=" Member "|
0002b030  2b a4 43 68 65 63 6b 5f  44 69 67 69 74 5f 50 6c  |+.Check_Digit_Pl|
0002b040  75 73 28 c1 6c 6c 24 2c  37 2c 38 29 29 0d cd 3a  |us(.ll$,7,8))..:|
0002b050  18 20 20 20 20 20 20 20  20 20 20 20 20 6c 6c 24  |.            ll$|
0002b060  3d 6c 6c 74 24 0d cd 42  0f 20 20 20 20 20 20 20  |=llt$..B.       |
0002b070  20 20 20 cd 0d cd 4a 1f  20 20 20 20 20 20 20 20  |   ...J.        |
0002b080  20 20 6c 69 6e 65 24 28  35 29 2b 3d 22 20 22 2b  |  line$(5)+=" "+|
0002b090  6c 6c 24 0d cd 52 23 20  20 20 20 20 20 20 20 20  |ll$..R#         |
0002b0a0  20 75 73 69 6e 67 5f 73  70 25 3d 31 2d 75 73 69  | using_sp%=1-usi|
0002b0b0  6e 67 5f 73 70 25 0d cd  5a 28 20 20 20 20 20 20  |ng_sp%..Z(      |
0002b0c0  20 20 20 20 e3 20 63 25  3d 30 20 b8 20 35 3a 6c  |    . c%=0 . 5:l|
0002b0d0  69 6e 25 28 63 25 29 3d  31 3a ed 20 63 25 0d cd  |in%(c%)=1:. c%..|
0002b0e0  62 0d 20 20 20 20 20 20  20 20 cd 0d cd 6a 29 20  |b.        ...j) |
0002b0f0  20 20 20 20 20 20 20 e7  20 75 73 69 6e 67 5f 73  |       . using_s|
0002b100  70 25 3d 31 20 8c 20 ed  20 67 6e 25 3a cd 3a ed  |p%=1 . . gn%:.:.|
0002b110  20 67 64 25 0d cd 72 21  20 20 20 20 20 20 20 20  | gd%..r!        |
0002b120  6c 69 6e 65 24 28 36 29  3d 22 22 3a 6c 69 6e 25  |line$(6)="":lin%|
0002b130  28 36 29 3d 30 0d cd 7a  20 20 20 20 20 20 20 20  |(6)=0..z        |
0002b140  20 e7 20 70 61 63 25 2b  37 3e 6e 6f 5f 6c 69 6e  | . pac%+7>no_lin|
0002b150  65 73 25 20 8c 0d cd 82  18 20 20 20 20 20 20 20  |es% .....       |
0002b160  20 20 20 e7 20 70 61 63  25 3d 30 20 8c 0d cd 8a  |   . pac%=0 ....|
0002b170  13 20 20 20 20 20 20 20  20 20 20 20 20 f7 20 85  |.            . .|
0002b180  0d cd 92 36 20 20 20 20  20 20 20 20 20 20 20 20  |...6            |
0002b190  f2 64 69 73 5f 6d 65 73  73 61 67 65 28 22 50 61  |.dis_message("Pa|
0002b1a0  70 65 72 20 74 6f 6f 20  73 6d 61 6c 6c 20 74 6f  |per too small to|
0002b1b0  20 66 69 74 22 29 0d cd  9a 29 20 20 20 20 20 20  | fit")...)      |
0002b1c0  20 20 20 20 20 20 c8 99  20 22 50 44 72 69 76 65  |      .. "PDrive|
0002b1d0  72 5f 41 62 6f 72 74 4a  6f 62 22 2c 70 66 25 0d  |r_AbortJob",pf%.|
0002b1e0  cd a2 15 20 20 20 20 20  20 20 20 20 20 20 20 d9  |...            .|
0002b1f0  23 70 66 25 0d cd aa 1c  20 20 20 20 20 20 20 20  |#pf%....        |
0002b200  20 20 20 20 70 72 69 6e  74 66 6c 61 67 25 3d a3  |    printflag%=.|
0002b210  0d cd b2 22 20 20 20 20  20 20 20 20 20 20 20 20  |..."            |
0002b220  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |.. "Hourglass_Of|
0002b230  66 22 0d cd ba 11 20 20  20 20 20 20 20 20 20 20  |f"....          |
0002b240  20 20 e1 0d cd c2 0f 20  20 20 20 20 20 20 20 20  |  .....         |
0002b250  20 cc 0d cd ca 4f 20 20  20 20 20 20 20 20 20 20  | ....O          |
0002b260  20 20 c8 99 20 22 50 44  72 69 76 65 72 5f 47 69  |  .. "PDriver_Gi|
0002b270  76 65 52 65 63 74 61 6e  67 6c 65 22 2c 70 61 67  |veRectangle",pag|
0002b280  65 25 2c 72 65 63 74 25  2c 74 72 61 6e 73 25 2c  |e%,rect%,trans%,|
0002b290  70 6c 6f 74 61 74 25 2c  26 46 46 46 46 46 46 30  |plotat%,&FFFFFF0|
0002b2a0  30 0d cd d2 3c 20 20 20  20 20 20 20 20 20 20 20  |0...<           |
0002b2b0  20 c8 99 20 22 50 44 72  69 76 65 72 5f 44 72 61  | .. "PDriver_Dra|
0002b2c0  77 50 61 67 65 22 2c 31  2c 72 65 63 74 69 6e 25  |wPage",1,rectin%|
0002b2d0  2c 30 2c 30 20 b8 20 6d  6f 72 65 32 25 0d cd da  |,0,0 . more2%...|
0002b2e0  3e 20 20 20 20 20 20 20  20 20 20 20 20 c8 99 20  |>            .. |
0002b2f0  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 74  |"ColourTrans_Set|
0002b300  46 6f 6e 74 43 6f 6c 6f  75 72 73 22 2c 2c 26 46  |FontColours",,&F|
0002b310  46 46 46 46 46 30 30 2c  30 2c 36 0d cd e2 27 20  |FFFFF00,0,6...' |
0002b320  20 20 20 20 20 20 20 20  20 20 20 c8 99 20 22 46  |           .. "F|
0002b330  6f 6e 74 5f 53 65 74 46  6f 6e 74 22 2c 66 68 64  |ont_SetFont",fhd|
0002b340  6c 25 0d cd ea 19 20 20  20 20 20 20 20 20 20 20  |l%....          |
0002b350  20 20 c8 95 20 6d 6f 72  65 32 25 0d cd f2 26 20  |  .. more2%...& |
0002b360  20 20 20 20 20 20 20 20  20 20 20 20 20 f2 72 65  |             .re|
0002b370  77 72 69 74 65 28 6c 65  66 74 25 2c 74 6f 70 25  |write(left%,top%|
0002b380  29 0d cd fa 3d 20 20 20  20 20 20 20 20 20 20 20  |)...=           |
0002b390  20 20 20 c8 99 20 22 50  44 72 69 76 65 72 5f 47  |   .. "PDriver_G|
0002b3a0  65 74 52 65 63 74 61 6e  67 6c 65 22 2c 2c 72 65  |etRectangle",,re|
0002b3b0  63 74 69 6e 25 20 b8 20  6d 6f 72 65 32 25 0d ce  |ctin% . more2%..|
0002b3c0  02 11 20 20 20 20 20 20  20 20 20 20 20 20 ce 0d  |..            ..|
0002b3d0  ce 0a 18 20 20 20 20 20  20 20 20 20 20 20 20 70  |...            p|
0002b3e0  61 67 65 25 2b 3d 31 0d  ce 12 1a 20 20 20 20 20  |age%+=1....     |
0002b3f0  20 20 20 20 20 20 20 e3  20 63 25 3d 30 20 b8 20  |       . c%=0 . |
0002b400  36 0d ce 1a 33 20 20 20  20 20 20 20 20 20 20 20  |6...3           |
0002b410  20 70 61 24 28 63 25 29  3d 6c 69 6e 65 24 28 63  | pa$(c%)=line$(c|
0002b420  25 29 3a 70 61 6e 25 28  63 25 29 3d 6c 69 6e 25  |%):pan%(c%)=lin%|
0002b430  28 63 25 29 0d ce 22 14  20 20 20 20 20 20 20 20  |(c%)..".        |
0002b440  20 20 20 20 ed 20 63 25  0d ce 2a 17 20 20 20 20  |    . c%..*.    |
0002b450  20 20 20 20 20 20 20 20  70 61 63 25 3d 63 25 0d  |        pac%=c%.|
0002b460  ce 32 0f 20 20 20 20 20  20 20 20 20 20 cd 0d ce  |.2.          ...|
0002b470  3a 0d 20 20 20 20 20 20  20 20 cc 0d ce 42 18 20  |:.        ...B. |
0002b480  20 20 20 20 20 20 20 20  20 e3 20 63 25 3d 30 20  |         . c%=0 |
0002b490  b8 20 36 0d ce 4a 3b 20  20 20 20 20 20 20 20 20  |. 6..J;         |
0002b4a0  20 70 61 24 28 70 61 63  25 2b 63 25 29 3d 6c 69  | pa$(pac%+c%)=li|
0002b4b0  6e 65 24 28 63 25 29 3a  70 61 6e 25 28 70 61 63  |ne$(c%):pan%(pac|
0002b4c0  25 2b 63 25 29 3d 6c 69  6e 25 28 63 25 29 0d ce  |%+c%)=lin%(c%)..|
0002b4d0  52 12 20 20 20 20 20 20  20 20 20 20 ed 20 63 25  |R.          . c%|
0002b4e0  0d ce 5a 16 20 20 20 20  20 20 20 20 20 20 70 61  |..Z.          pa|
0002b4f0  63 25 2b 3d 63 25 0d ce  62 0d 20 20 20 20 20 20  |c%+=c%..b.      |
0002b500  20 20 cd 0d ce 6a 0b 20  20 20 20 20 20 cd 0d ce  |  ...j.      ...|
0002b510  72 0f 20 20 20 20 20 20  ed 20 67 6e 25 0d ce 7a  |r.      . gn%..z|
0002b520  09 20 20 20 20 cd 0d ce  82 0d 20 20 20 20 ed 20  |.    .....    . |
0002b530  67 64 25 0d ce 8a 12 20  20 20 20 e7 20 70 61 63  |gd%....    . pac|
0002b540  25 3e 30 20 8c 0d ce 92  49 20 20 20 20 20 20 c8  |%>0 ....I      .|
0002b550  99 20 22 50 44 72 69 76  65 72 5f 47 69 76 65 52  |. "PDriver_GiveR|
0002b560  65 63 74 61 6e 67 6c 65  22 2c 70 61 67 65 25 2c  |ectangle",page%,|
0002b570  72 65 63 74 25 2c 74 72  61 6e 73 25 2c 70 6c 6f  |rect%,trans%,plo|
0002b580  74 61 74 25 2c 26 46 46  46 46 46 46 30 30 0d ce  |tat%,&FFFFFF00..|
0002b590  9a 36 20 20 20 20 20 20  c8 99 20 22 50 44 72 69  |.6      .. "PDri|
0002b5a0  76 65 72 5f 44 72 61 77  50 61 67 65 22 2c 31 2c  |ver_DrawPage",1,|
0002b5b0  72 65 63 74 69 6e 25 2c  30 2c 30 20 b8 20 6d 6f  |rectin%,0,0 . mo|
0002b5c0  72 65 32 25 0d ce a2 38  20 20 20 20 20 20 c8 99  |re2%...8      ..|
0002b5d0  20 22 43 6f 6c 6f 75 72  54 72 61 6e 73 5f 53 65  | "ColourTrans_Se|
0002b5e0  74 46 6f 6e 74 43 6f 6c  6f 75 72 73 22 2c 2c 26  |tFontColours",,&|
0002b5f0  46 46 46 46 46 46 30 30  2c 30 2c 36 0d ce aa 21  |FFFFFF00,0,6...!|
0002b600  20 20 20 20 20 20 c8 99  20 22 46 6f 6e 74 5f 53  |      .. "Font_S|
0002b610  65 74 46 6f 6e 74 22 2c  66 68 64 6c 25 0d ce b2  |etFont",fhdl%...|
0002b620  13 20 20 20 20 20 20 c8  95 20 6d 6f 72 65 32 25  |.      .. more2%|
0002b630  0d ce ba 20 20 20 20 20  20 20 20 20 f2 72 65 77  |...         .rew|
0002b640  72 69 74 65 28 6c 65 66  74 25 2c 74 6f 70 25 29  |rite(left%,top%)|
0002b650  0d ce c2 37 20 20 20 20  20 20 20 20 c8 99 20 22  |...7        .. "|
0002b660  50 44 72 69 76 65 72 5f  47 65 74 52 65 63 74 61  |PDriver_GetRecta|
0002b670  6e 67 6c 65 22 2c 2c 72  65 63 74 69 6e 25 20 b8  |ngle",,rectin% .|
0002b680  20 6d 6f 72 65 32 25 0d  ce ca 0b 20 20 20 20 20  | more2%....     |
0002b690  20 ce 0d ce d2 09 20 20  20 20 cd 0d ce da 14 20  | .....    ..... |
0002b6a0  20 20 20 70 72 69 6e 74  66 6c 61 67 25 3d a3 0d  |   printflag%=..|
0002b6b0  ce e2 1f 20 20 20 20 c8  99 20 22 50 44 72 69 76  |...    .. "PDriv|
0002b6c0  65 72 5f 45 6e 64 4a 6f  62 22 2c 70 66 25 0d ce  |er_EndJob",pf%..|
0002b6d0  ea 1a 20 20 20 20 c8 99  20 22 48 6f 75 72 67 6c  |..    .. "Hourgl|
0002b6e0  61 73 73 5f 4f 66 66 22  0d ce f2 0d 20 20 20 20  |ass_Off"....    |
0002b6f0  d9 23 70 66 25 0d ce fa  0b 20 20 20 20 f7 20 85  |.#pf%....    . .|
0002b700  0d cf 02 07 20 20 cc 0d  cf 0a 19 20 20 20 20 c8  |....  .....    .|
0002b710  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 6e 22  |. "Hourglass_On"|
0002b720  0d cf 12 35 20 20 20 20  63 6f 6c 75 6d 6e 73 25  |...5    columns%|
0002b730  3d 38 30 3a 6e 6f 5f 6c  69 6e 65 73 25 3d bb 28  |=80:no_lines%=.(|
0002b740  a4 67 65 74 74 65 78 74  28 61 6c 6c 5f 70 72 25  |.gettext(all_pr%|
0002b750  2c 31 34 29 29 0d cf 1a  23 20 20 20 20 e7 20 6e  |,14))...#    . n|
0002b760  6f 5f 6c 69 6e 65 73 25  3d 30 20 8c 20 6e 6f 5f  |o_lines%=0 . no_|
0002b770  6c 69 6e 65 73 25 3d 31  0d cf 22 0e 20 20 20 20  |lines%=1..".    |
0002b780  70 61 63 25 3d 30 0d cf  2a 13 20 20 20 20 e3 20  |pac%=0..*.    . |
0002b790  67 64 25 3d 30 20 b8 20  39 0d cf 32 1e 20 20 20  |gd%=0 . 9..2.   |
0002b7a0  20 e7 20 62 6f 6f 6b 5f  64 69 72 5f 64 65 66 25  | . book_dir_def%|
0002b7b0  28 67 64 25 29 20 8c 0d  cf 3a 18 20 20 20 20 20  |(gd%) ...:.     |
0002b7c0  20 e3 20 67 6e 25 3d 30  20 b8 20 39 39 39 39 0d  | . gn%=0 . 9999.|
0002b7d0  cf 42 1c 20 20 20 20 20  20 67 6e 6f 25 3d 67 64  |.B.      gno%=gd|
0002b7e0  25 2a 31 30 30 30 30 2b  67 6e 25 0d cf 4a 46 20  |%*10000+gn%..JF |
0002b7f0  20 20 20 20 20 e7 20 28  28 62 6f 6f 6b 64 65 66  |     . ((bookdef|
0002b800  25 3f 28 67 6e 6f 25 20  81 20 38 29 20 80 20 28  |%?(gno% . 8) . (|
0002b810  31 3c 3c 28 67 6e 6f 25  20 83 20 38 29 29 29 3e  |1<<(gno% . 8)))>|
0002b820  3e 3e 28 67 6e 6f 25 20  83 20 38 29 29 3d 31 20  |>>(gno% . 8))=1 |
0002b830  8c 0d cf 52 47 20 20 20  20 20 20 20 20 e7 20 63  |...RG        . c|
0002b840  61 63 68 65 25 3c 3e 28  67 6e 6f 25 20 81 20 31  |ache%<>(gno% . 1|
0002b850  30 30 29 20 8c 20 f2 6f  70 65 6e 5f 62 6f 6f 6b  |00) . .open_book|
0002b860  5f 63 61 63 68 65 28 a4  7a 65 72 6f 28 c3 28 67  |_cache(.zero(.(g|
0002b870  6e 6f 25 29 2c 35 29 29  0d cf 5a 1c 20 20 20 20  |no%),5))..Z.    |
0002b880  20 20 20 20 70 69 63 6b  25 3d 67 6e 6f 25 20 83  |    pick%=gno% .|
0002b890  20 31 30 30 0d cf 62 38  20 20 20 20 20 20 20 20  | 100..b8        |
0002b8a0  6c 69 6e 65 24 28 30 29  3d a4 43 68 65 63 6b 5f  |line$(0)=.Check_|
0002b8b0  44 69 67 69 74 5f 50 6c  75 73 28 a4 7a 65 72 6f  |Digit_Plus(.zero|
0002b8c0  28 c3 28 67 6e 6f 25 29  2c 35 29 29 0d cf 6a 22  |(.(gno%),5))..j"|
0002b8d0  20 20 20 20 20 20 20 20  6c 69 6e 65 24 28 31 29  |        line$(1)|
0002b8e0  3d 76 61 72 24 28 70 69  63 6b 25 2c 30 29 0d cf  |=var$(pick%,0)..|
0002b8f0  72 22 20 20 20 20 20 20  20 20 6c 69 6e 65 24 28  |r"        line$(|
0002b900  32 29 3d 76 61 72 24 28  70 69 63 6b 25 2c 31 29  |2)=var$(pick%,1)|
0002b910  0d cf 7a 22 20 20 20 20  20 20 20 20 6c 69 6e 65  |..z"        line|
0002b920  24 28 33 29 3d 76 61 72  24 28 70 69 63 6b 25 2c  |$(3)=var$(pick%,|
0002b930  32 29 0d cf 82 22 20 20  20 20 20 20 20 20 6c 69  |2)..."        li|
0002b940  6e 65 24 28 34 29 3d 76  61 72 24 28 70 69 63 6b  |ne$(4)=var$(pick|
0002b950  25 2c 33 29 0d cf 8a 1d  20 20 20 20 20 20 20 20  |%,3)....        |
0002b960  6c 6c 24 3d 76 61 72 24  28 70 69 63 6b 25 2c 34  |ll$=var$(pick%,4|
0002b970  29 0d cf 92 21 20 20 20  20 20 20 20 20 e7 20 6c  |)...!        . l|
0002b980  6c 24 3c 3e 22 49 4e 20  4c 49 42 52 41 52 59 22  |l$<>"IN LIBRARY"|
0002b990  20 8c 0d cf 9a 3d 20 20  20 20 20 20 20 20 20 20  | ....=          |
0002b9a0  6c 6c 74 24 3d 22 44 75  65 20 22 2b c0 6c 6c 24  |llt$="Due "+.ll$|
0002b9b0  2c 32 29 2b 22 2d 22 2b  c1 6c 6c 24 2c 33 2c 32  |,2)+"-"+.ll$,3,2|
0002b9c0  29 2b 22 2d 22 2b c1 6c  6c 24 2c 35 2c 32 29 0d  |)+"-"+.ll$,5,2).|
0002b9d0  cf a2 3b 20 20 20 20 20  20 20 20 20 20 6c 6c 74  |..;          llt|
0002b9e0  24 2b 3d 22 20 4d 65 6d  62 65 72 20 22 2b a4 43  |$+=" Member "+.C|
0002b9f0  68 65 63 6b 5f 44 69 67  69 74 5f 50 6c 75 73 28  |heck_Digit_Plus(|
0002ba00  c1 6c 6c 24 2c 37 2c 38  29 29 0d cf aa 16 20 20  |.ll$,7,8))....  |
0002ba10  20 20 20 20 20 20 20 20  6c 6c 24 3d 6c 6c 74 24  |        ll$=llt$|
0002ba20  0d cf b2 0d 20 20 20 20  20 20 20 20 cd 0d cf ba  |....        ....|
0002ba30  18 20 20 20 20 20 20 20  20 6c 69 6e 65 24 28 35  |.        line$(5|
0002ba40  29 3d 6c 6c 24 0d cf c2  17 20 20 20 20 20 20 20  |)=ll$....       |
0002ba50  20 6c 69 6e 65 24 28 36  29 3d 22 22 0d cf ca 20  | line$(6)=""... |
0002ba60  20 20 20 20 20 20 20 20  e7 20 70 61 63 25 2b 37  |        . pac%+7|
0002ba70  3e 6e 6f 5f 6c 69 6e 65  73 25 20 8c 0d cf d2 18  |>no_lines% .....|
0002ba80  20 20 20 20 20 20 20 20  20 20 e7 20 70 61 63 25  |          . pac%|
0002ba90  3d 30 20 8c 0d cf da 22  20 20 20 20 20 20 20 20  |=0 ...."        |
0002baa0  20 20 20 20 c8 99 20 22  48 6f 75 72 67 6c 61 73  |    .. "Hourglas|
0002bab0  73 5f 4f 66 66 22 0d cf  e2 3c 20 20 20 20 20 20  |s_Off"...<      |
0002bac0  20 20 20 20 20 20 f2 64  69 73 5f 6d 65 73 73 61  |      .dis_messa|
0002bad0  67 65 28 22 54 68 65 20  70 61 67 65 20 6c 65 6e  |ge("The page len|
0002bae0  67 74 68 20 69 73 20 74  6f 6f 20 73 6d 61 6c 6c  |gth is too small|
0002baf0  22 29 0d cf ea 1c 20 20  20 20 20 20 20 20 20 20  |")....          |
0002bb00  20 20 70 72 69 6e 74 66  6c 61 67 25 3d a3 0d cf  |  printflag%=...|
0002bb10  f2 11 20 20 20 20 20 20  20 20 20 20 20 20 e1 0d  |..            ..|
0002bb20  cf fa 0f 20 20 20 20 20  20 20 20 20 20 cd 0d d0  |...          ...|
0002bb30  02 11 20 20 20 20 20 20  20 20 20 20 ef 20 32 0d  |..          . 2.|
0002bb40  d0 0a 1d 20 20 20 20 20  20 20 20 20 20 e3 20 63  |...          . c|
0002bb50  25 3d 30 20 b8 20 70 61  63 25 2d 31 0d d0 12 17  |%=0 . pac%-1....|
0002bb60  20 20 20 20 20 20 20 20  20 20 f1 20 70 61 24 28  |          . pa$(|
0002bb70  63 25 29 0d d0 1a 12 20  20 20 20 20 20 20 20 20  |c%)....         |
0002bb80  20 ed 20 63 25 0d d0 22  23 20 20 20 20 20 20 20  | . c%.."#       |
0002bb90  20 20 20 e3 20 63 25 3d  63 25 20 b8 20 6e 6f 5f  |   . c%=c% . no_|
0002bba0  6c 69 6e 65 73 25 2d 31  0d d0 2a 0f 20 20 20 20  |lines%-1..*.    |
0002bbb0  20 20 20 20 20 20 f1 0d  d0 32 12 20 20 20 20 20  |      ...2.     |
0002bbc0  20 20 20 20 20 ed 20 63  25 0d d0 3a 11 20 20 20  |     . c%..:.   |
0002bbd0  20 20 20 20 20 20 20 ef  20 33 0d d0 42 18 20 20  |       . 3..B.  |
0002bbe0  20 20 20 20 20 20 20 20  e3 20 63 25 3d 30 20 b8  |        . c%=0 .|
0002bbf0  20 36 0d d0 4a 1f 20 20  20 20 20 20 20 20 20 20  | 6..J.          |
0002bc00  70 61 24 28 63 25 29 3d  6c 69 6e 65 24 28 63 25  |pa$(c%)=line$(c%|
0002bc10  29 0d d0 52 12 20 20 20  20 20 20 20 20 20 20 ed  |)..R.          .|
0002bc20  20 63 25 0d d0 5a 15 20  20 20 20 20 20 20 20 20  | c%..Z.         |
0002bc30  20 70 61 63 25 3d 63 25  0d d0 62 0d 20 20 20 20  | pac%=c%..b.    |
0002bc40  20 20 20 20 cc 0d d0 6a  20 20 20 20 20 20 20 20  |    ...j        |
0002bc50  20 20 20 e3 20 63 25 3d  70 61 63 25 20 b8 20 70  |   . c%=pac% . p|
0002bc60  61 63 25 2b 36 0d d0 72  24 20 20 20 20 20 20 20  |ac%+6..r$       |
0002bc70  20 20 20 70 61 24 28 63  25 29 3d 6c 69 6e 65 24  |   pa$(c%)=line$|
0002bc80  28 63 25 2d 70 61 63 25  29 0d d0 7a 12 20 20 20  |(c%-pac%)..z.   |
0002bc90  20 20 20 20 20 20 20 ed  20 63 25 0d d0 82 15 20  |       . c%.... |
0002bca0  20 20 20 20 20 20 20 20  20 70 61 63 25 3d 63 25  |         pac%=c%|
0002bcb0  0d d0 8a 0d 20 20 20 20  20 20 20 20 cd 0d d0 92  |....        ....|
0002bcc0  0b 20 20 20 20 20 20 cd  0d d0 9a 0f 20 20 20 20  |.      .....    |
0002bcd0  20 20 ed 20 67 6e 25 0d  d0 a2 09 20 20 20 20 cd  |  . gn%....    .|
0002bce0  0d d0 aa 0d 20 20 20 20  ed 20 67 64 25 0d d0 b2  |....    . gd%...|
0002bcf0  12 20 20 20 20 e7 20 70  61 63 25 3e 30 20 8c 0d  |.    . pac%>0 ..|
0002bd00  d0 ba 0d 20 20 20 20 20  20 ef 20 32 0d d0 c2 19  |...      . 2....|
0002bd10  20 20 20 20 20 20 e3 20  63 25 3d 30 20 b8 20 70  |      . c%=0 . p|
0002bd20  61 63 25 2d 31 0d d0 ca  13 20 20 20 20 20 20 f1  |ac%-1....      .|
0002bd30  20 70 61 24 28 63 25 29  0d d0 d2 0e 20 20 20 20  | pa$(c%)....    |
0002bd40  20 20 ed 20 63 25 0d d0  da 0d 20 20 20 20 20 20  |  . c%....      |
0002bd50  ef 20 33 0d d0 e2 09 20  20 20 20 cd 0d d0 ea 1a  |. 3....    .....|
0002bd60  20 20 20 20 c8 99 20 22  48 6f 75 72 67 6c 61 73  |    .. "Hourglas|
0002bd70  73 5f 4f 66 66 22 0d d0  f2 14 20 20 20 20 70 72  |s_Off"....    pr|
0002bd80  69 6e 74 66 6c 61 67 25  3d a3 0d d0 fa 07 20 20  |intflag%=.....  |
0002bd90  cd 0d d1 02 05 cd 0d d1  0a 1b e7 20 a4 49 63 6f  |........... .Ico|
0002bda0  6e 47 65 74 28 61 6c 6c  5f 70 72 25 2c 36 29 20  |nGet(all_pr%,6) |
0002bdb0  8c 0d d1 12 12 20 20 66  6f 6e 74 5f 66 6c 61 67  |.....  font_flag|
0002bdc0  25 3d a3 0d d1 1a 11 20  20 63 6f 6c 75 6d 6e 73  |%=.....  columns|
0002bdd0  25 3d 38 30 0d d1 22 27  20 20 6e 6f 5f 6c 69 6e  |%=80.."'  no_lin|
0002bde0  65 73 25 3d bb 28 a4 67  65 74 74 65 78 74 28 61  |es%=.(.gettext(a|
0002bdf0  6c 6c 5f 70 72 25 2c 31  34 29 29 0d d1 2a 1c 20  |ll_pr%,14))..*. |
0002be00  20 66 24 3d a4 67 65 74  74 65 78 74 28 61 6c 6c  | f$=.gettext(all|
0002be10  5f 70 72 25 2c 33 29 0d  d1 32 17 20 20 c8 99 20  |_pr%,3)..2.  .. |
0002be20  22 48 6f 75 72 67 6c 61  73 73 5f 4f 6e 22 0d d1  |"Hourglass_On"..|
0002be30  3a 22 20 20 e7 20 a4 55  70 70 65 72 28 66 24 29  |:"  . .Upper(f$)|
0002be40  3d 22 53 59 53 54 45 4d  20 46 4f 4e 54 22 20 8c  |="SYSTEM FONT" .|
0002be50  0d d1 42 14 20 20 20 20  68 61 6c 66 5f 66 6c 61  |..B.    half_fla|
0002be60  67 25 3d a3 0d d1 4a 07  20 20 cc 0d d1 52 14 20  |g%=...J.  ...R. |
0002be70  20 20 20 66 6f 6e 74 5f  66 6c 61 67 25 3d b9 0d  |   font_flag%=..|
0002be80  d1 5a 27 20 20 20 20 73  69 7a 65 25 3d 31 32 3a  |.Z'    size%=12:|
0002be90  e7 20 68 61 6c 66 5f 66  6c 61 67 25 20 8c 20 73  |. half_flag% . s|
0002bea0  69 7a 65 25 3d 36 0d d1  62 18 20 20 20 20 73 69  |ize%=6..b.    si|
0002beb0  7a 65 25 3d 73 69 7a 65  25 2a 31 30 30 30 0d d1  |ze%=size%*1000..|
0002bec0  6a 3c 20 20 20 20 c8 99  20 22 46 6f 6e 74 5f 46  |j<    .. "Font_F|
0002bed0  69 6e 64 46 6f 6e 74 22  2c 2c 66 24 2c 73 69 7a  |indFont",,f$,siz|
0002bee0  65 25 2f 36 32 2e 35 2c  73 69 7a 65 25 2f 36 32  |e%/62.5,size%/62|
0002bef0  2e 35 20 b8 20 66 68 64  6c 25 0d d1 72 19 20 20  |.5 . fhdl%..r.  |
0002bf00  20 20 70 66 25 3d ae 28  22 70 72 69 6e 74 65 72  |  pf%=.("printer|
0002bf10  3a 22 29 0d d1 7a 3d 20  20 20 20 e7 20 70 66 25  |:")..z=    . pf%|
0002bf20  3d 30 20 8c 20 d9 23 70  66 25 3a f2 64 69 73 5f  |=0 . .#pf%:.dis_|
0002bf30  6d 65 73 73 61 67 65 28  22 50 72 69 6e 74 65 72  |message("Printer|
0002bf40  20 6e 6f 74 20 61 76 61  69 6c 61 62 6c 65 22 29  | not available")|
0002bf50  0d d1 82 20 20 20 20 20  e7 20 70 66 25 3d 30 20  |...     . pf%=0 |
0002bf60  8c 20 70 72 69 6e 74 66  6c 61 67 25 3d a3 3a e1  |. printflag%=.:.|
0002bf70  0d d1 8a 2b 20 20 20 20  c8 99 20 22 50 44 72 69  |...+    .. "PDri|
0002bf80  76 65 72 5f 53 65 6c 65  63 74 4a 6f 62 22 2c 70  |ver_SelectJob",p|
0002bf90  66 25 2c 22 41 6c 6c 4d  65 6d 22 0d d1 92 22 20  |f%,"AllMem"..." |
0002bfa0  20 20 20 c8 99 20 22 50  44 72 69 76 65 72 5f 49  |   .. "PDriver_I|
0002bfb0  6e 66 6f 22 20 b8 20 2c  2c 2c 66 66 25 0d d1 9a  |nfo" . ,,,ff%...|
0002bfc0  24 20 20 20 20 e7 20 28  28 66 66 25 20 80 20 28  |$    . ((ff% . (|
0002bfd0  31 3c 3c 32 39 29 29 3e  3e 3e 32 39 29 3d 31 20  |1<<29))>>>29)=1 |
0002bfe0  8c 0d d1 a2 2d 20 20 20  20 20 20 c8 99 20 22 50  |....-      .. "P|
0002bff0  44 72 69 76 65 72 5f 44  65 63 6c 61 72 65 46 6f  |Driver_DeclareFo|
0002c000  6e 74 22 2c 66 68 64 6c  25 2c 66 24 2c 30 0d d1  |nt",fhdl%,f$,0..|
0002c010  aa 28 20 20 20 20 20 20  c8 99 20 22 50 44 72 69  |.(      .. "PDri|
0002c020  76 65 72 5f 44 65 63 6c  61 72 65 46 6f 6e 74 22  |ver_DeclareFont"|
0002c030  2c 30 2c 30 2c 30 0d d1  b2 09 20 20 20 20 cd 0d  |,0,0,0....    ..|
0002c040  d1 ba 0b 20 20 20 20 ea  20 85 0d d1 c2 51 20 20  |...    . ....Q  |
0002c050  20 20 ee 20 85 20 ea 3a  f7 20 85 3a c8 99 20 22  |  . . .:. .:.. "|
0002c060  50 44 72 69 76 65 72 5f  41 62 6f 72 74 4a 6f 62  |PDriver_AbortJob|
0002c070  22 2c 70 66 25 3a d9 23  70 66 25 3a 70 72 69 6e  |",pf%:.#pf%:prin|
0002c080  74 66 6c 61 67 25 3d a3  3a f2 64 69 73 5f 6d 65  |tflag%=.:.dis_me|
0002c090  73 73 61 67 65 28 f6 24  29 3a e1 0d d1 ca 3c 20  |ssage(.$):....< |
0002c0a0  20 20 20 c8 99 20 22 50  44 72 69 76 65 72 5f 50  |   .. "PDriver_P|
0002c0b0  61 67 65 53 69 7a 65 22  20 b8 20 2c 2c 2c 6c 65  |ageSize" . ,,,le|
0002c0c0  66 74 25 2c 62 6f 74 74  6f 6d 25 2c 72 69 67 68  |ft%,bottom%,righ|
0002c0d0  74 25 2c 74 6f 70 25 0d  d1 d2 4b 20 20 20 20 6c  |t%,top%...K    l|
0002c0e0  65 66 74 25 3d 6c 65 66  74 25 2f 34 30 30 3a 72  |eft%=left%/400:r|
0002c0f0  69 67 68 74 25 3d 72 69  67 68 74 25 2f 34 30 30  |ight%=right%/400|
0002c100  3a 74 6f 70 25 3d 74 6f  70 25 2f 34 30 30 3a 62  |:top%=top%/400:b|
0002c110  6f 74 74 6f 6d 25 3d 62  6f 74 74 6f 6d 25 2f 34  |ottom%=bottom%/4|
0002c120  30 30 0d d1 da 2e 20 20  20 20 6e 6f 5f 6c 69 6e  |00....    no_lin|
0002c130  65 73 25 3d 28 28 74 6f  70 25 2d 62 6f 74 74 6f  |es%=((top%-botto|
0002c140  6d 25 29 2a 34 30 30 29  20 81 20 73 69 7a 65 25  |m%)*400) . size%|
0002c150  0d d1 e2 33 20 20 20 20  63 6f 6c 75 6d 6e 73 25  |...3    columns%|
0002c160  3d 28 28 28 72 69 67 68  74 25 2d 6c 65 66 74 25  |=(((right%-left%|
0002c170  29 2a 34 30 30 29 20 81  20 73 69 7a 65 25 29 2a  |)*400) . size%)*|
0002c180  31 2e 35 0d d1 ea 42 20  20 20 20 72 65 63 74 25  |1.5...B    rect%|
0002c190  21 30 3d 6c 65 66 74 25  3a 72 65 63 74 25 21 34  |!0=left%:rect%!4|
0002c1a0  3d 62 6f 74 74 6f 6d 25  3a 72 65 63 74 25 21 38  |=bottom%:rect%!8|
0002c1b0  3d 72 69 67 68 74 25 3a  72 65 63 74 25 21 31 32  |=right%:rect%!12|
0002c1c0  3d 74 6f 70 25 0d d1 f2  25 20 20 20 20 74 72 61  |=top%...%    tra|
0002c1d0  6e 73 25 21 30 3d 31 3c  3c 31 36 3a 74 72 61 6e  |ns%!0=1<<16:tran|
0002c1e0  73 25 21 34 3d 30 3c 3c  31 36 0d d1 fa 26 20 20  |s%!4=0<<16...&  |
0002c1f0  20 20 74 72 61 6e 73 25  21 38 3d 30 3c 3c 31 36  |  trans%!8=0<<16|
0002c200  3a 74 72 61 6e 73 25 21  31 32 3d 31 3c 3c 31 36  |:trans%!12=1<<16|
0002c210  0d d2 02 36 20 20 20 20  70 6c 6f 74 61 74 25 21  |...6    plotat%!|
0002c220  30 3d 6c 65 66 74 25 2a  34 30 30 3a 70 6c 6f 74  |0=left%*400:plot|
0002c230  61 74 25 21 34 3d 62 6f  74 74 6f 6d 25 2a 34 30  |at%!4=bottom%*40|
0002c240  30 2d 33 36 30 30 0d d2  0a 07 20 20 cd 0d d2 12  |0-3600....  ....|
0002c250  11 20 20 75 73 69 6e 67  5f 73 70 25 3d 30 0d d2  |.  using_sp%=0..|
0002c260  1a 0c 20 20 70 61 63 25  3d 30 0d d2 22 0d 20 20  |..  pac%=0..".  |
0002c270  70 61 67 65 25 3d 30 0d  d2 2a 11 20 20 e3 20 64  |page%=0..*.  . d|
0002c280  25 3d 30 20 b8 20 39 39  0d d2 32 1a 20 20 e7 20  |%=0 . 99..2.  . |
0002c290  6d 65 6d 5f 64 69 72 5f  64 65 66 25 28 64 25 29  |mem_dir_def%(d%)|
0002c2a0  20 8c 0d d2 3a 13 20 20  20 20 e3 20 6c 25 3d 30  | ...:.    . l%=0|
0002c2b0  20 b8 20 32 35 0d d2 42  12 20 20 20 20 e3 20 73  | . 25..B.    . s|
0002c2c0  25 3d 30 20 b8 20 39 0d  d2 4a 38 20 20 20 20 74  |%=0 . 9..J8    t|
0002c2d0  72 79 24 3d 22 3c 4d 65  6d 62 65 72 22 2b c3 28  |ry$="<Member"+.(|
0002c2e0  64 25 29 2b 22 24 44 69  72 3e 2e 22 2b bd 28 36  |d%)+"$Dir>."+.(6|
0002c2f0  35 2b 6c 25 29 2b 22 2e  22 2b c3 28 73 25 29 0d  |5+l%)+"."+.(s%).|
0002c300  d2 52 15 20 20 20 20 66  69 6c 6f 25 3d 8e 28 74  |.R.    filo%=.(t|
0002c310  72 79 24 29 0d d2 5a 13  20 20 20 20 e8 23 66 69  |ry$)..Z.    .#fi|
0002c320  6c 6f 25 2c 74 6e 25 0d  d2 62 11 20 20 20 20 e7  |lo%,tn%..b.    .|
0002c330  20 74 6e 25 3d 30 20 8c  0d d2 6a 11 20 20 20 20  | tn%=0 ...j.    |
0002c340  20 20 d9 23 66 69 6c 6f  25 0d d2 72 09 20 20 20  |  .#filo%..r.   |
0002c350  20 cc 0d d2 7a 16 20 20  20 20 20 20 e3 20 6e 25  | ...z.      . n%|
0002c360  3d 31 20 b8 20 74 6e 25  0d d2 82 18 20 20 20 20  |=1 . tn%....    |
0002c370  20 20 e8 23 66 69 6c 6f  25 2c 6d 65 6d 6e 6f 24  |  .#filo%,memno$|
0002c380  0d d2 8a 18 20 20 20 20  20 20 e8 23 66 69 6c 6f  |....      .#filo|
0002c390  25 2c 74 69 74 6c 65 24  0d d2 92 17 20 20 20 20  |%,title$....    |
0002c3a0  20 20 e8 23 66 69 6c 6f  25 2c 73 75 72 6e 24 0d  |  .#filo%,surn$.|
0002c3b0  d2 9a 15 20 20 20 20 20  20 e8 23 66 69 6c 6f 25  |...      .#filo%|
0002c3c0  2c 6f 6e 24 0d d2 a2 14  20 20 20 20 20 20 e3 20  |,on$....      . |
0002c3d0  63 25 3d 30 20 b8 20 35  0d d2 aa 1e 20 20 20 20  |c%=0 . 5....    |
0002c3e0  20 20 e8 23 66 69 6c 6f  25 2c 61 64 64 72 65 73  |  .#filo%,addres|
0002c3f0  73 24 28 63 25 29 0d d2  b2 0e 20 20 20 20 20 20  |s$(c%)....      |
0002c400  ed 20 63 25 0d d2 ba 18  20 20 20 20 20 20 e8 23  |. c%....      .#|
0002c410  66 69 6c 6f 25 2c 73 74  61 74 65 24 0d d2 c2 15  |filo%,state$....|
0002c420  20 20 20 20 20 20 74 74  25 3d 9a 23 66 69 6c 6f  |      tt%=.#filo|
0002c430  25 0d d2 ca 15 20 20 20  20 20 20 62 6e 25 3d 9a  |%....      bn%=.|
0002c440  23 66 69 6c 6f 25 0d d2  d2 14 20 20 20 20 20 20  |#filo%....      |
0002c450  e7 20 62 6e 25 3e 3d 31  20 8c 0d d2 da 19 20 20  |. bn%>=1 .....  |
0002c460  20 20 20 20 20 20 e3 20  77 71 25 3d 31 20 b8 20  |      . wq%=1 . |
0002c470  62 6e 25 0d d2 e2 21 20  20 20 20 20 20 20 20 e8  |bn%...!        .|
0002c480  23 66 69 6c 6f 25 2c 76  6d 5f 64 74 24 28 77 71  |#filo%,vm_dt$(wq|
0002c490  25 2c 30 29 0d d2 ea 11  20 20 20 20 20 20 20 20  |%,0)....        |
0002c4a0  ed 20 77 71 25 0d d2 f2  0b 20 20 20 20 20 20 cd  |. wq%....      .|
0002c4b0  0d d2 fa 1c 20 20 20 20  20 20 e7 20 6d 65 6d 6e  |....      . memn|
0002c4c0  6f 24 3c 3e 22 48 6f 6c  65 22 20 8c 0d d3 02 20  |o$<>"Hole" .... |
0002c4d0  20 20 20 20 20 20 20 20  6c 73 25 3d 28 63 6f 6c  |        ls%=(col|
0002c4e0  75 6d 6e 73 25 20 81 20  32 29 2d 31 0d d3 0a 1c  |umns% . 2)-1....|
0002c4f0  20 20 20 20 20 20 20 20  72 73 25 3d 63 6f 6c 75  |        rs%=colu|
0002c500  6d 6e 73 25 20 81 20 32  0d d3 12 1b 20 20 20 20  |mns% . 2....    |
0002c510  20 20 20 20 e7 20 75 73  69 6e 67 5f 73 70 25 3d  |    . using_sp%=|
0002c520  30 20 8c 0d d3 1a 1f 20  20 20 20 20 20 20 20 20  |0 .....         |
0002c530  20 6c 69 6e 65 24 28 29  3d c4 72 73 25 2c 22 20  | line$()=.rs%," |
0002c540  22 29 0d d3 22 36 20 20  20 20 20 20 20 20 20 20  |").."6          |
0002c550  6d 65 6d 24 3d a4 7a 65  72 6f 28 c3 28 64 25 29  |mem$=.zero(.(d%)|
0002c560  2c 32 29 2b a4 7a 65 72  6f 28 c3 28 6c 25 29 2c  |,2)+.zero(.(l%),|
0002c570  32 29 2b c3 28 73 25 29  0d d3 2a 22 20 20 20 20  |2)+.(s%)..*"    |
0002c580  20 20 20 20 20 20 6d 65  6d 24 2b 3d a4 7a 65 72  |      mem$+=.zer|
0002c590  6f 28 c3 28 6e 25 29 2c  33 29 0d d3 32 2a 20 20  |o(.(n%),3)..2*  |
0002c5a0  20 20 20 20 20 20 20 20  6d 65 6d 24 3d a4 43 68  |        mem$=.Ch|
0002c5b0  65 63 6b 5f 44 69 67 69  74 5f 50 6c 75 73 28 6d  |eck_Digit_Plus(m|
0002c5c0  65 6d 24 29 0d d3 3a 31  20 20 20 20 20 20 20 20  |em$)..:1        |
0002c5d0  20 20 6c 69 6e 65 24 28  30 29 3d 22 4d 65 6d 62  |  line$(0)="Memb|
0002c5e0  65 72 73 68 69 70 20 6e  75 6d 62 65 72 3a 20 22  |ership number: "|
0002c5f0  2b 6d 65 6d 24 0d d3 42  3e 20 20 20 20 20 20 20  |+mem$..B>       |
0002c600  20 20 20 e7 20 68 61 6c  66 5f 66 6c 61 67 25 20  |   . half_flag% |
0002c610  8c 20 6c 69 6e 65 24 28  30 29 3d a4 73 70 63 28  |. line$(0)=.spc(|
0002c620  c0 6c 69 6e 65 24 28 30  29 2c 6c 73 25 29 2c 6c  |.line$(0),ls%),l|
0002c630  73 25 29 0d d3 4a 19 20  20 20 20 20 20 20 20 20  |s%)..J.         |
0002c640  20 6c 69 6e 65 24 28 31  29 3d 22 22 0d d3 52 3e  | line$(1)=""..R>|
0002c650  20 20 20 20 20 20 20 20  20 20 e7 20 68 61 6c 66  |          . half|
0002c660  5f 66 6c 61 67 25 20 8c  20 6c 69 6e 65 24 28 31  |_flag% . line$(1|
0002c670  29 3d a4 73 70 63 28 c0  6c 69 6e 65 24 28 31 29  |)=.spc(.line$(1)|
0002c680  2c 6c 73 25 29 2c 6c 73  25 29 0d d3 5a 2f 20 20  |,ls%),ls%)..Z/  |
0002c690  20 20 20 20 20 20 20 20  6c 69 6e 65 24 28 32 29  |        line$(2)|
0002c6a0  3d 74 69 74 6c 65 24 2b  22 20 22 2b 6f 6e 24 2b  |=title$+" "+on$+|
0002c6b0  22 20 22 2b 73 75 72 6e  24 0d d3 62 3e 20 20 20  |" "+surn$..b>   |
0002c6c0  20 20 20 20 20 20 20 e7  20 68 61 6c 66 5f 66 6c  |       . half_fl|
0002c6d0  61 67 25 20 8c 20 6c 69  6e 65 24 28 32 29 3d a4  |ag% . line$(2)=.|
0002c6e0  73 70 63 28 c0 6c 69 6e  65 24 28 32 29 2c 6c 73  |spc(.line$(2),ls|
0002c6f0  25 29 2c 6c 73 25 29 0d  d3 6a 22 20 20 20 20 20  |%),ls%)..j"     |
0002c700  20 20 20 20 20 6c 69 6e  65 24 28 33 29 3d 61 64  |     line$(3)=ad|
0002c710  64 72 65 73 73 24 28 30  29 0d d3 72 3e 20 20 20  |dress$(0)..r>   |
0002c720  20 20 20 20 20 20 20 e7  20 68 61 6c 66 5f 66 6c  |       . half_fl|
0002c730  61 67 25 20 8c 20 6c 69  6e 65 24 28 33 29 3d a4  |ag% . line$(3)=.|
0002c740  73 70 63 28 c0 6c 69 6e  65 24 28 33 29 2c 6c 73  |spc(.line$(3),ls|
0002c750  25 29 2c 6c 73 25 29 0d  d3 7a 22 20 20 20 20 20  |%),ls%)..z"     |
0002c760  20 20 20 20 20 6c 69 6e  65 24 28 34 29 3d 61 64  |     line$(4)=ad|
0002c770  64 72 65 73 73 24 28 31  29 0d d3 82 3e 20 20 20  |dress$(1)...>   |
0002c780  20 20 20 20 20 20 20 e7  20 68 61 6c 66 5f 66 6c  |       . half_fl|
0002c790  61 67 25 20 8c 20 6c 69  6e 65 24 28 34 29 3d a4  |ag% . line$(4)=.|
0002c7a0  73 70 63 28 c0 6c 69 6e  65 24 28 34 29 2c 6c 73  |spc(.line$(4),ls|
0002c7b0  25 29 2c 6c 73 25 29 0d  d3 8a 22 20 20 20 20 20  |%),ls%)..."     |
0002c7c0  20 20 20 20 20 6c 69 6e  65 24 28 35 29 3d 61 64  |     line$(5)=ad|
0002c7d0  64 72 65 73 73 24 28 32  29 0d d3 92 3e 20 20 20  |dress$(2)...>   |
0002c7e0  20 20 20 20 20 20 20 e7  20 68 61 6c 66 5f 66 6c  |       . half_fl|
0002c7f0  61 67 25 20 8c 20 6c 69  6e 65 24 28 35 29 3d a4  |ag% . line$(5)=.|
0002c800  73 70 63 28 c0 6c 69 6e  65 24 28 35 29 2c 6c 73  |spc(.line$(5),ls|
0002c810  25 29 2c 6c 73 25 29 0d  d3 9a 22 20 20 20 20 20  |%),ls%)..."     |
0002c820  20 20 20 20 20 6c 69 6e  65 24 28 36 29 3d 61 64  |     line$(6)=ad|
0002c830  64 72 65 73 73 24 28 33  29 0d d3 a2 3e 20 20 20  |dress$(3)...>   |
0002c840  20 20 20 20 20 20 20 e7  20 68 61 6c 66 5f 66 6c  |       . half_fl|
0002c850  61 67 25 20 8c 20 6c 69  6e 65 24 28 36 29 3d a4  |ag% . line$(6)=.|
0002c860  73 70 63 28 c0 6c 69 6e  65 24 28 36 29 2c 6c 73  |spc(.line$(6),ls|
0002c870  25 29 2c 6c 73 25 29 0d  d3 aa 22 20 20 20 20 20  |%),ls%)..."     |
0002c880  20 20 20 20 20 6c 69 6e  65 24 28 37 29 3d 61 64  |     line$(7)=ad|
0002c890  64 72 65 73 73 24 28 34  29 0d d3 b2 3e 20 20 20  |dress$(4)...>   |
0002c8a0  20 20 20 20 20 20 20 e7  20 68 61 6c 66 5f 66 6c  |       . half_fl|
0002c8b0  61 67 25 20 8c 20 6c 69  6e 65 24 28 37 29 3d a4  |ag% . line$(7)=.|
0002c8c0  73 70 63 28 c0 6c 69 6e  65 24 28 37 29 2c 6c 73  |spc(.line$(7),ls|
0002c8d0  25 29 2c 6c 73 25 29 0d  d3 ba 22 20 20 20 20 20  |%),ls%)..."     |
0002c8e0  20 20 20 20 20 6c 69 6e  65 24 28 38 29 3d 61 64  |     line$(8)=ad|
0002c8f0  64 72 65 73 73 24 28 35  29 0d d3 c2 3e 20 20 20  |dress$(5)...>   |
0002c900  20 20 20 20 20 20 20 e7  20 68 61 6c 66 5f 66 6c  |       . half_fl|
0002c910  61 67 25 20 8c 20 6c 69  6e 65 24 28 38 29 3d a4  |ag% . line$(8)=.|
0002c920  73 70 63 28 c0 6c 69 6e  65 24 28 38 29 2c 6c 73  |spc(.line$(8),ls|
0002c930  25 29 2c 6c 73 25 29 0d  d3 ca 1d 20 20 20 20 20  |%),ls%)....     |
0002c940  20 20 20 20 20 6c 69 6e  65 24 28 39 29 3d 73 74  |     line$(9)=st|
0002c950  61 74 65 24 0d d3 d2 3e  20 20 20 20 20 20 20 20  |ate$...>        |
0002c960  20 20 e7 20 68 61 6c 66  5f 66 6c 61 67 25 20 8c  |  . half_flag% .|
0002c970  20 6c 69 6e 65 24 28 39  29 3d a4 73 70 63 28 c0  | line$(9)=.spc(.|
0002c980  6c 69 6e 65 24 28 39 29  2c 6c 73 25 29 2c 6c 73  |line$(9),ls%),ls|
0002c990  25 29 0d d3 da 1a 20 20  20 20 20 20 20 20 20 20  |%)....          |
0002c9a0  6c 69 6e 65 24 28 31 30  29 3d 22 22 0d d3 e2 40  |line$(10)=""...@|
0002c9b0  20 20 20 20 20 20 20 20  20 20 e7 20 68 61 6c 66  |          . half|
0002c9c0  5f 66 6c 61 67 25 20 8c  20 6c 69 6e 65 24 28 31  |_flag% . line$(1|
0002c9d0  30 29 3d a4 73 70 63 28  c0 6c 69 6e 65 24 28 31  |0)=.spc(.line$(1|
0002c9e0  30 29 2c 6c 73 25 29 2c  6c 73 25 29 0d d3 ea 27  |0),ls%),ls%)...'|
0002c9f0  20 20 20 20 20 20 20 20  20 20 6c 69 6e 65 24 28  |          line$(|
0002ca00  31 31 29 3d 22 54 69 63  6b 65 74 20 54 79 70 65  |11)="Ticket Type|
0002ca10  3a 20 22 0d d3 f2 16 20  20 20 20 20 20 20 20 20  |: "....         |
0002ca20  20 c8 8e 20 74 74 25 20  ca 0d d3 fa 27 20 20 20  | .. tt% ....'   |
0002ca30  20 20 20 20 20 20 20 20  20 c9 20 30 3a 20 6c 69  |         . 0: li|
0002ca40  6e 65 24 28 31 31 29 2b  3d 22 41 64 75 6c 74 22  |ne$(11)+="Adult"|
0002ca50  0d d4 02 28 20 20 20 20  20 20 20 20 20 20 20 20  |...(            |
0002ca60  c9 20 31 3a 20 6c 69 6e  65 24 28 31 31 29 2b 3d  |. 1: line$(11)+=|
0002ca70  22 4a 75 6e 69 6f 72 22  0d d4 0a 27 20 20 20 20  |"Junior"...'    |
0002ca80  20 20 20 20 20 20 20 20  c9 20 32 3a 20 6c 69 6e  |        . 2: lin|
0002ca90  65 24 28 31 31 29 2b 3d  22 53 74 61 66 66 22 0d  |e$(11)+="Staff".|
0002caa0  d4 12 0f 20 20 20 20 20  20 20 20 20 20 cb 0d d4  |...          ...|
0002cab0  1a 40 20 20 20 20 20 20  20 20 20 20 e7 20 68 61  |.@          . ha|
0002cac0  6c 66 5f 66 6c 61 67 25  20 8c 20 6c 69 6e 65 24  |lf_flag% . line$|
0002cad0  28 31 31 29 3d a4 73 70  63 28 c0 6c 69 6e 65 24  |(11)=.spc(.line$|
0002cae0  28 31 31 29 2c 6c 73 25  29 2c 6c 73 25 29 0d d4  |(11),ls%),ls%)..|
0002caf0  22 1a 20 20 20 20 20 20  20 20 20 20 6c 69 6e 65  |".          line|
0002cb00  24 28 31 32 29 3d 22 22  0d d4 2a 40 20 20 20 20  |$(12)=""..*@    |
0002cb10  20 20 20 20 20 20 e7 20  68 61 6c 66 5f 66 6c 61  |      . half_fla|
0002cb20  67 25 20 8c 20 6c 69 6e  65 24 28 31 32 29 3d a4  |g% . line$(12)=.|
0002cb30  73 70 63 28 c0 6c 69 6e  65 24 28 31 32 29 2c 6c  |spc(.line$(12),l|
0002cb40  73 25 29 2c 6c 73 25 29  0d d4 32 3d 20 20 20 20  |s%),ls%)..2=    |
0002cb50  20 20 20 20 20 20 6c 69  6e 65 24 28 31 33 29 3d  |      line$(13)=|
0002cb60  22 41 63 63 65 73 73 69  6f 6e 20 6e 75 6d 62 65  |"Accession numbe|
0002cb70  72 73 20 6f 66 20 62 6f  6f 6b 73 20 69 6e 20 63  |rs of books in c|
0002cb80  61 72 65 3a 22 0d d4 3a  40 20 20 20 20 20 20 20  |are:"..:@       |
0002cb90  20 20 20 e7 20 68 61 6c  66 5f 66 6c 61 67 25 20  |   . half_flag% |
0002cba0  8c 20 6c 69 6e 65 24 28  31 33 29 3d a4 73 70 63  |. line$(13)=.spc|
0002cbb0  28 c0 6c 69 6e 65 24 28  31 33 29 2c 6c 73 25 29  |(.line$(13),ls%)|
0002cbc0  2c 6c 73 25 29 0d d4 42  14 20 20 20 20 20 20 20  |,ls%)..B.       |
0002cbd0  20 20 20 6c 63 25 3d 31  34 0d d4 4a 17 20 20 20  |   lc%=14..J.   |
0002cbe0  20 20 20 20 20 20 20 e7  20 62 6e 25 3d 30 20 8c  |       . bn%=0 .|
0002cbf0  0d d4 52 2b 20 20 20 20  20 20 20 20 20 20 20 20  |..R+            |
0002cc00  6c 69 6e 65 24 28 31 34  29 3d 22 20 20 20 20 4e  |line$(14)="    N|
0002cc10  6f 6e 65 22 3a 6c 63 25  3d 31 35 0d d4 5a 42 20  |one":lc%=15..ZB |
0002cc20  20 20 20 20 20 20 20 20  20 20 20 e7 20 68 61 6c  |           . hal|
0002cc30  66 5f 66 6c 61 67 25 20  8c 20 6c 69 6e 65 24 28  |f_flag% . line$(|
0002cc40  31 34 29 3d a4 73 70 63  28 c0 6c 69 6e 65 24 28  |14)=.spc(.line$(|
0002cc50  31 34 29 2c 6c 73 25 29  2c 6c 73 25 29 0d d4 62  |14),ls%),ls%)..b|
0002cc60  0f 20 20 20 20 20 20 20  20 20 20 cc 0d d4 6a 1d  |.          ...j.|
0002cc70  20 20 20 20 20 20 20 20  20 20 20 20 e3 20 77 71  |            . wq|
0002cc80  25 3d 31 20 b8 20 62 6e  25 0d d4 72 21 20 20 20  |%=1 . bn%..r!   |
0002cc90  20 20 20 20 20 20 20 20  20 67 74 24 3d 76 6d 5f  |         gt$=vm_|
0002cca0  64 74 24 28 77 71 25 2c  30 29 0d d4 7a 3c 20 20  |dt$(wq%,0)..z<  |
0002ccb0  20 20 20 20 20 20 20 20  20 20 6c 69 6e 65 24 28  |          line$(|
0002ccc0  6c 63 25 29 3d 22 20 20  20 20 22 2b a4 43 68 65  |lc%)="    "+.Che|
0002ccd0  63 6b 5f 44 69 67 69 74  5f 50 6c 75 73 28 c0 67  |ck_Digit_Plus(.g|
0002cce0  74 24 2c 35 29 29 0d d4  82 40 20 20 20 20 20 20  |t$,5))...@      |
0002ccf0  20 20 20 20 20 20 6c 69  6e 65 24 28 6c 63 25 29  |      line$(lc%)|
0002cd00  2b 3d 22 20 28 44 75 65  20 22 2b c1 67 74 24 2c  |+=" (Due "+.gt$,|
0002cd10  36 2c 32 29 2b 22 2d 22  2b c1 67 74 24 2c 38 2c  |6,2)+"-"+.gt$,8,|
0002cd20  32 29 2b 22 2d 22 0d d4  8a 2a 20 20 20 20 20 20  |2)+"-"...*      |
0002cd30  20 20 20 20 20 20 6c 69  6e 65 24 28 6c 63 25 29  |      line$(lc%)|
0002cd40  2b 3d c1 67 74 24 2c 31  30 2c 32 29 2b 22 29 22  |+=.gt$,10,2)+")"|
0002cd50  0d d4 92 44 20 20 20 20  20 20 20 20 20 20 20 20  |...D            |
0002cd60  e7 20 68 61 6c 66 5f 66  6c 61 67 25 20 8c 20 6c  |. half_flag% . l|
0002cd70  69 6e 65 24 28 6c 63 25  29 3d a4 73 70 63 28 c0  |ine$(lc%)=.spc(.|
0002cd80  6c 69 6e 65 24 28 6c 63  25 29 2c 6c 73 25 29 2c  |line$(lc%),ls%),|
0002cd90  6c 73 25 29 0d d4 9a 16  20 20 20 20 20 20 20 20  |ls%)....        |
0002cda0  20 20 20 20 6c 63 25 2b  3d 31 0d d4 a2 15 20 20  |    lc%+=1....  |
0002cdb0  20 20 20 20 20 20 20 20  20 20 ed 20 77 71 25 0d  |          . wq%.|
0002cdc0  d4 aa 0f 20 20 20 20 20  20 20 20 20 20 cd 0d d4  |...          ...|
0002cdd0  b2 32 20 20 20 20 20 20  20 20 20 20 e7 20 68 61  |.2          . ha|
0002cde0  6c 66 5f 66 6c 61 67 25  20 8c 20 75 73 69 6e 67  |lf_flag% . using|
0002cdf0  5f 73 70 25 3d 31 2d 75  73 69 6e 67 5f 73 70 25  |_sp%=1-using_sp%|
0002ce00  0d d4 ba 16 20 20 20 20  20 20 20 20 20 20 66 6c  |....          fl|
0002ce10  63 25 3d 6c 63 25 0d d4  c2 0d 20 20 20 20 20 20  |c%=lc%....      |
0002ce20  20 20 cc 0d d4 ca 36 20  20 20 20 20 20 20 20 20  |  ....6         |
0002ce30  20 6d 65 6d 24 3d a4 7a  65 72 6f 28 c3 28 64 25  | mem$=.zero(.(d%|
0002ce40  29 2c 32 29 2b a4 7a 65  72 6f 28 c3 28 6c 25 29  |),2)+.zero(.(l%)|
0002ce50  2c 32 29 2b c3 28 73 25  29 0d d4 d2 22 20 20 20  |,2)+.(s%)..."   |
0002ce60  20 20 20 20 20 20 20 6d  65 6d 24 2b 3d a4 7a 65  |       mem$+=.ze|
0002ce70  72 6f 28 c3 28 6e 25 29  2c 33 29 0d d4 da 2a 20  |ro(.(n%),3)...* |
0002ce80  20 20 20 20 20 20 20 20  20 6d 65 6d 24 3d a4 43  |         mem$=.C|
0002ce90  68 65 63 6b 5f 44 69 67  69 74 5f 50 6c 75 73 28  |heck_Digit_Plus(|
0002cea0  6d 65 6d 24 29 0d d4 e2  36 20 20 20 20 20 20 20  |mem$)...6       |
0002ceb0  20 20 20 6c 69 6e 65 24  28 30 29 2b 3d 22 20 22  |   line$(0)+=" "|
0002cec0  2b 22 4d 65 6d 62 65 72  73 68 69 70 20 6e 75 6d  |+"Membership num|
0002ced0  62 65 72 3a 20 22 2b 6d  65 6d 24 0d d4 ea 1f 20  |ber: "+mem$.... |
0002cee0  20 20 20 20 20 20 20 20  20 6c 69 6e 65 24 28 31  |         line$(1|
0002cef0  29 2b 3d 22 20 22 2b 22  20 22 0d d4 f2 34 20 20  |)+=" "+" "...4  |
0002cf00  20 20 20 20 20 20 20 20  6c 69 6e 65 24 28 32 29  |        line$(2)|
0002cf10  2b 3d 22 20 22 2b 74 69  74 6c 65 24 2b 22 20 22  |+=" "+title$+" "|
0002cf20  2b 6f 6e 24 2b 22 20 22  2b 73 75 72 6e 24 0d d4  |+on$+" "+surn$..|
0002cf30  fa 27 20 20 20 20 20 20  20 20 20 20 6c 69 6e 65  |.'          line|
0002cf40  24 28 33 29 2b 3d 22 20  22 2b 61 64 64 72 65 73  |$(3)+=" "+addres|
0002cf50  73 24 28 30 29 0d d5 02  27 20 20 20 20 20 20 20  |s$(0)...'       |
0002cf60  20 20 20 6c 69 6e 65 24  28 34 29 2b 3d 22 20 22  |   line$(4)+=" "|
0002cf70  2b 61 64 64 72 65 73 73  24 28 31 29 0d d5 0a 27  |+address$(1)...'|
0002cf80  20 20 20 20 20 20 20 20  20 20 6c 69 6e 65 24 28  |          line$(|
0002cf90  35 29 2b 3d 22 20 22 2b  61 64 64 72 65 73 73 24  |5)+=" "+address$|
0002cfa0  28 32 29 0d d5 12 27 20  20 20 20 20 20 20 20 20  |(2)...'         |
0002cfb0  20 6c 69 6e 65 24 28 36  29 2b 3d 22 20 22 2b 61  | line$(6)+=" "+a|
0002cfc0  64 64 72 65 73 73 24 28  33 29 0d d5 1a 27 20 20  |ddress$(3)...'  |
0002cfd0  20 20 20 20 20 20 20 20  6c 69 6e 65 24 28 37 29  |        line$(7)|
0002cfe0  2b 3d 22 20 22 2b 61 64  64 72 65 73 73 24 28 34  |+=" "+address$(4|
0002cff0  29 0d d5 22 27 20 20 20  20 20 20 20 20 20 20 6c  |).."'          l|
0002d000  69 6e 65 24 28 38 29 2b  3d 22 20 22 2b 61 64 64  |ine$(8)+=" "+add|
0002d010  72 65 73 73 24 28 35 29  0d d5 2a 22 20 20 20 20  |ress$(5)..*"    |
0002d020  20 20 20 20 20 20 6c 69  6e 65 24 28 39 29 2b 3d  |      line$(9)+=|
0002d030  22 20 22 2b 73 74 61 74  65 24 0d d5 32 20 20 20  |" "+state$..2   |
0002d040  20 20 20 20 20 20 20 20  6c 69 6e 65 24 28 31 30  |        line$(10|
0002d050  29 2b 3d 22 20 22 2b 22  20 22 0d d5 3a 2c 20 20  |)+=" "+" "..:,  |
0002d060  20 20 20 20 20 20 20 20  6c 69 6e 65 24 28 31 31  |        line$(11|
0002d070  29 2b 3d 22 20 22 2b 22  54 69 63 6b 65 74 20 54  |)+=" "+"Ticket T|
0002d080  79 70 65 3a 20 22 0d d5  42 16 20 20 20 20 20 20  |ype: "..B.      |
0002d090  20 20 20 20 c8 8e 20 74  74 25 20 ca 0d d5 4a 27  |    .. tt% ...J'|
0002d0a0  20 20 20 20 20 20 20 20  20 20 20 20 c9 20 30 3a  |            . 0:|
0002d0b0  20 6c 69 6e 65 24 28 31  31 29 2b 3d 22 41 64 75  | line$(11)+="Adu|
0002d0c0  6c 74 22 0d d5 52 28 20  20 20 20 20 20 20 20 20  |lt"..R(         |
0002d0d0  20 20 20 c9 20 31 3a 20  6c 69 6e 65 24 28 31 31  |   . 1: line$(11|
0002d0e0  29 2b 3d 22 4a 75 6e 69  6f 72 22 0d d5 5a 27 20  |)+="Junior"..Z' |
0002d0f0  20 20 20 20 20 20 20 20  20 20 20 c9 20 32 3a 20  |           . 2: |
0002d100  6c 69 6e 65 24 28 31 31  29 2b 3d 22 53 74 61 66  |line$(11)+="Staf|
0002d110  66 22 0d d5 62 0f 20 20  20 20 20 20 20 20 20 20  |f"..b.          |
0002d120  cb 0d d5 6a 20 20 20 20  20 20 20 20 20 20 20 6c  |...j           l|
0002d130  69 6e 65 24 28 31 32 29  2b 3d 22 20 22 2b 22 20  |ine$(12)+=" "+" |
0002d140  22 0d d5 72 42 20 20 20  20 20 20 20 20 20 20 6c  |"..rB          l|
0002d150  69 6e 65 24 28 31 33 29  2b 3d 22 20 22 2b 22 41  |ine$(13)+=" "+"A|
0002d160  63 63 65 73 73 69 6f 6e  20 6e 75 6d 62 65 72 73  |ccession numbers|
0002d170  20 6f 66 20 62 6f 6f 6b  73 20 69 6e 20 63 61 72  | of books in car|
0002d180  65 3a 22 0d d5 7a 14 20  20 20 20 20 20 20 20 20  |e:"..z.         |
0002d190  20 6c 63 25 3d 31 34 0d  d5 82 17 20 20 20 20 20  | lc%=14....     |
0002d1a0  20 20 20 20 20 e7 20 62  6e 25 3d 30 20 8c 0d d5  |     . bn%=0 ...|
0002d1b0  8a 2d 20 20 20 20 20 20  20 20 20 20 20 20 6c 69  |.-            li|
0002d1c0  6e 65 24 28 31 34 29 2b  3d 22 20 20 20 20 20 4e  |ne$(14)+="     N|
0002d1d0  6f 6e 65 22 3a 6c 63 25  3d 31 35 0d d5 92 0f 20  |one":lc%=15.... |
0002d1e0  20 20 20 20 20 20 20 20  20 cc 0d d5 9a 1d 20 20  |         .....  |
0002d1f0  20 20 20 20 20 20 20 20  20 20 e3 20 77 71 25 3d  |          . wq%=|
0002d200  31 20 b8 20 62 6e 25 0d  d5 a2 1f 20 20 20 20 20  |1 . bn%....     |
0002d210  20 20 20 20 20 20 20 67  74 24 3d 76 6d 5f 64 74  |       gt$=vm_dt|
0002d220  24 28 77 71 25 29 0d d5  aa 3e 20 20 20 20 20 20  |$(wq%)...>      |
0002d230  20 20 20 20 20 20 6c 69  6e 65 24 28 6c 63 25 29  |      line$(lc%)|
0002d240  2b 3d 22 20 20 20 20 20  22 2b a4 43 68 65 63 6b  |+="     "+.Check|
0002d250  5f 44 69 67 69 74 5f 50  6c 75 73 28 c0 67 74 24  |_Digit_Plus(.gt$|
0002d260  2c 35 29 29 0d d5 b2 40  20 20 20 20 20 20 20 20  |,5))...@        |
0002d270  20 20 20 20 6c 69 6e 65  24 28 6c 63 25 29 2b 3d  |    line$(lc%)+=|
0002d280  22 20 28 44 75 65 20 22  2b c1 67 74 24 2c 36 2c  |" (Due "+.gt$,6,|
0002d290  32 29 2b 22 2d 22 2b c1  67 74 24 2c 38 2c 32 29  |2)+"-"+.gt$,8,2)|
0002d2a0  2b 22 2d 22 0d d5 ba 2a  20 20 20 20 20 20 20 20  |+"-"...*        |
0002d2b0  20 20 20 20 6c 69 6e 65  24 28 6c 63 25 29 2b 3d  |    line$(lc%)+=|
0002d2c0  c1 67 74 24 2c 31 30 2c  32 29 2b 22 29 22 0d d5  |.gt$,10,2)+")"..|
0002d2d0  c2 16 20 20 20 20 20 20  20 20 20 20 20 20 6c 63  |..            lc|
0002d2e0  25 2b 3d 31 0d d5 ca 15  20 20 20 20 20 20 20 20  |%+=1....        |
0002d2f0  20 20 20 20 ed 20 77 71  25 0d d5 d2 0f 20 20 20  |    . wq%....   |
0002d300  20 20 20 20 20 20 20 cd  0d d5 da 23 20 20 20 20  |       ....#    |
0002d310  20 20 20 20 20 20 75 73  69 6e 67 5f 73 70 25 3d  |      using_sp%=|
0002d320  31 2d 75 73 69 6e 67 5f  73 70 25 0d d5 e2 0d 20  |1-using_sp%.... |
0002d330  20 20 20 20 20 20 20 cd  0d d5 ea 1c 20 20 20 20  |       .....    |
0002d340  20 20 20 20 e7 20 75 73  69 6e 67 5f 73 70 25 3c  |    . using_sp%<|
0002d350  3e 31 20 8c 0d d5 f2 1c  20 20 20 20 20 20 20 20  |>1 .....        |
0002d360  20 20 e7 20 68 61 6c 66  5f 66 6c 61 67 25 20 8c  |  . half_flag% .|
0002d370  0d d5 fa 31 20 20 20 20  20 20 20 20 20 20 20 20  |...1            |
0002d380  e7 20 66 6c 63 25 3e 6c  63 25 20 8c 20 6c 73 74  |. flc%>lc% . lst|
0002d390  25 3d 66 6c 63 25 20 8b  20 6c 73 74 25 3d 6c 63  |%=flc% . lst%=lc|
0002d3a0  25 0d d6 02 16 20 20 20  20 20 20 20 20 20 20 20  |%....           |
0002d3b0  20 6c 63 74 25 3d 30 0d  d6 0a 1e 20 20 20 20 20  | lct%=0....     |
0002d3c0  20 20 20 20 20 20 20 6c  69 6e 65 24 28 6c 73 74  |       line$(lst|
0002d3d0  25 29 3d 22 22 0d d6 12  22 20 20 20 20 20 20 20  |%)=""..."       |
0002d3e0  20 20 20 20 20 c8 95 20  6c 69 6e 65 24 28 6c 63  |     .. line$(lc|
0002d3f0  74 25 29 3c 3e 22 22 0d  d6 1a 2b 20 20 20 20 20  |t%)<>""...+     |
0002d400  20 20 20 20 20 20 20 20  20 e7 20 6c 69 6e 65 24  |         . line$|
0002d410  28 6c 63 74 25 29 3d c4  72 73 25 2c 22 20 22 29  |(lct%)=.rs%," ")|
0002d420  20 8c 0d d6 22 27 20 20  20 20 20 20 20 20 20 20  | ..."'          |
0002d430  20 20 20 20 20 20 e3 20  77 71 25 3d 6c 63 74 25  |      . wq%=lct%|
0002d440  20 b8 20 6c 73 74 25 2d  32 0d d6 2a 2b 20 20 20  | . lst%-2..*+   |
0002d450  20 20 20 20 20 20 20 20  20 20 20 20 20 6c 69 6e  |             lin|
0002d460  65 24 28 77 71 25 29 3d  6c 69 6e 65 24 28 77 71  |e$(wq%)=line$(wq|
0002d470  25 2b 31 29 0d d6 32 19  20 20 20 20 20 20 20 20  |%+1)..2.        |
0002d480  20 20 20 20 20 20 20 20  ed 20 77 71 25 0d d6 3a  |        . wq%..:|
0002d490  1b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0002d4a0  20 6c 73 74 25 2d 3d 31  0d d6 42 1b 20 20 20 20  | lst%-=1..B.    |
0002d4b0  20 20 20 20 20 20 20 20  20 20 20 20 6c 63 74 25  |            lct%|
0002d4c0  2d 3d 31 0d d6 4a 22 20  20 20 20 20 20 20 20 20  |-=1..J"         |
0002d4d0  20 20 20 20 20 20 20 6c  69 6e 65 24 28 6c 73 74  |       line$(lst|
0002d4e0  25 29 3d 22 22 0d d6 52  13 20 20 20 20 20 20 20  |%)=""..R.       |
0002d4f0  20 20 20 20 20 20 20 cd  0d d6 5a 19 20 20 20 20  |       ...Z.    |
0002d500  20 20 20 20 20 20 20 20  20 20 6c 63 74 25 2b 3d  |          lct%+=|
0002d510  31 0d d6 62 11 20 20 20  20 20 20 20 20 20 20 20  |1..b.           |
0002d520  20 ce 0d d6 6a 0f 20 20  20 20 20 20 20 20 20 20  | ...j.          |
0002d530  cc 0d d6 72 18 20 20 20  20 20 20 20 20 20 20 20  |...r.           |
0002d540  20 6c 73 74 25 3d 6c 63  25 0d d6 7a 16 20 20 20  | lst%=lc%..z.   |
0002d550  20 20 20 20 20 20 20 20  20 6c 63 74 25 3d 38 0d  |         lct%=8.|
0002d560  d6 82 21 20 20 20 20 20  20 20 20 20 20 20 20 c8  |..!            .|
0002d570  95 20 6c 69 6e 65 24 28  6c 63 74 25 29 3d 22 22  |. line$(lct%)=""|
0002d580  0d d6 8a 25 20 20 20 20  20 20 20 20 20 20 20 20  |...%            |
0002d590  20 20 e3 20 77 71 25 3d  6c 63 74 25 20 b8 20 6c  |  . wq%=lct% . l|
0002d5a0  73 74 25 2d 32 0d d6 92  29 20 20 20 20 20 20 20  |st%-2...)       |
0002d5b0  20 20 20 20 20 20 20 6c  69 6e 65 24 28 77 71 25  |       line$(wq%|
0002d5c0  29 3d 6c 69 6e 65 24 28  77 71 25 2b 31 29 0d d6  |)=line$(wq%+1)..|
0002d5d0  9a 17 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
0002d5e0  ed 20 77 71 25 0d d6 a2  19 20 20 20 20 20 20 20  |. wq%....       |
0002d5f0  20 20 20 20 20 20 20 6c  73 74 25 2d 3d 31 0d d6  |       lst%-=1..|
0002d600  aa 19 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
0002d610  6c 63 74 25 2d 3d 31 0d  d6 b2 11 20 20 20 20 20  |lct%-=1....     |
0002d620  20 20 20 20 20 20 20 ce  0d d6 ba 0f 20 20 20 20  |       .....    |
0002d630  20 20 20 20 20 20 cd 0d  d6 c2 2a 20 20 20 20 20  |      ....*     |
0002d640  20 20 20 20 20 66 6c 61  67 25 3d a4 73 65 74 5f  |     flag%=.set_|
0002d650  6c 69 6e 65 73 28 66 6f  6e 74 5f 66 6c 61 67 25  |lines(font_flag%|
0002d660  29 0d d6 ca 19 20 20 20  20 20 20 20 20 20 20 e7  |)....          .|
0002d670  20 66 6c 61 67 25 20 8c  20 e1 0d d6 d2 0d 20 20  | flag% . .....  |
0002d680  20 20 20 20 20 20 cd 0d  d6 da 0b 20 20 20 20 20  |      .....     |
0002d690  20 cd 0d d6 e2 0e 20 20  20 20 20 20 ed 20 6e 25  | .....      . n%|
0002d6a0  0d d6 ea 11 20 20 20 20  20 20 d9 23 66 69 6c 6f  |....      .#filo|
0002d6b0  25 0d d6 f2 09 20 20 20  20 cd 0d d6 fa 0f 20 20  |%....    .....  |
0002d6c0  20 20 ed 20 73 25 2c 6c  25 0d d7 02 07 20 20 cd  |  . s%,l%....  .|
0002d6d0  0d d7 0a 0a 20 20 ed 20  64 25 0d d7 12 15 20 20  |....  . d%....  |
0002d6e0  e7 20 75 73 69 6e 67 5f  73 70 25 3d 31 20 8c 0d  |. using_sp%=1 ..|
0002d6f0  d7 1a 15 20 20 20 20 6c  69 6e 65 24 28 31 29 2b  |...    line$(1)+|
0002d700  3d 22 20 22 0d d7 22 16  20 20 20 20 6c 69 6e 65  |=" "..".    line|
0002d710  24 28 31 30 29 2b 3d 22  20 22 0d d7 2a 16 20 20  |$(10)+=" "..*.  |
0002d720  20 20 6c 69 6e 65 24 28  31 32 29 2b 3d 22 20 22  |  line$(12)+=" "|
0002d730  0d d7 32 11 20 20 20 20  6c 73 74 25 3d 66 6c 63  |..2.    lst%=flc|
0002d740  25 0d d7 3a 0e 20 20 20  20 6c 63 74 25 3d 30 0d  |%..:.    lct%=0.|
0002d750  d7 42 16 20 20 20 20 6c  69 6e 65 24 28 6c 73 74  |.B.    line$(lst|
0002d760  25 29 3d 22 22 0d d7 4a  1a 20 20 20 20 c8 95 20  |%)=""..J.    .. |
0002d770  6c 69 6e 65 24 28 6c 63  74 25 29 3c 3e 22 22 0d  |line$(lct%)<>"".|
0002d780  d7 52 25 20 20 20 20 20  20 e7 20 6c 69 6e 65 24  |.R%      . line$|
0002d790  28 6c 63 74 25 29 3d c4  72 73 25 2d 31 2c 22 20  |(lct%)=.rs%-1," |
0002d7a0  22 29 20 8c 0d d7 5a 1f  20 20 20 20 20 20 20 20  |") ...Z.        |
0002d7b0  e3 20 77 71 25 3d 6c 63  74 25 20 b8 20 6c 73 74  |. wq%=lct% . lst|
0002d7c0  25 2d 32 0d d7 62 23 20  20 20 20 20 20 20 20 6c  |%-2..b#        l|
0002d7d0  69 6e 65 24 28 77 71 25  29 3d 6c 69 6e 65 24 28  |ine$(wq%)=line$(|
0002d7e0  77 71 25 2b 31 29 0d d7  6a 11 20 20 20 20 20 20  |wq%+1)..j.      |
0002d7f0  20 20 ed 20 77 71 25 0d  d7 72 13 20 20 20 20 20  |  . wq%..r.     |
0002d800  20 20 20 6c 73 74 25 2d  3d 31 0d d7 7a 13 20 20  |   lst%-=1..z.  |
0002d810  20 20 20 20 20 20 6c 63  74 25 2d 3d 31 0d d7 82  |      lct%-=1...|
0002d820  1a 20 20 20 20 20 20 20  20 6c 69 6e 65 24 28 6c  |.        line$(l|
0002d830  73 74 25 29 3d 22 22 0d  d7 8a 0b 20 20 20 20 20  |st%)=""....     |
0002d840  20 cd 0d d7 92 11 20 20  20 20 20 20 6c 63 74 25  | .....      lct%|
0002d850  2b 3d 31 0d d7 9a 09 20  20 20 20 ce 0d d7 a2 24  |+=1....    ....$|
0002d860  20 20 20 20 66 6c 61 67  25 3d a4 73 65 74 5f 6c  |    flag%=.set_l|
0002d870  69 6e 65 73 28 66 6f 6e  74 5f 66 6c 61 67 25 29  |ines(font_flag%)|
0002d880  0d d7 aa 13 20 20 20 20  e7 20 66 6c 61 67 25 20  |....    . flag% |
0002d890  8c 20 e1 0d d7 b2 07 20  20 cd 0d d7 ba 10 20 20  |. .....  .....  |
0002d8a0  e7 20 70 61 63 25 3e 30  20 8c 0d d7 c2 16 20 20  |. pac%>0 .....  |
0002d8b0  20 20 e7 20 66 6f 6e 74  5f 66 6c 61 67 25 20 8c  |  . font_flag% .|
0002d8c0  0d d7 ca 49 20 20 20 20  20 20 c8 99 20 22 50 44  |...I      .. "PD|
0002d8d0  72 69 76 65 72 5f 47 69  76 65 52 65 63 74 61 6e  |river_GiveRectan|
0002d8e0  67 6c 65 22 2c 70 61 67  65 25 2c 72 65 63 74 25  |gle",page%,rect%|
0002d8f0  2c 74 72 61 6e 73 25 2c  70 6c 6f 74 61 74 25 2c  |,trans%,plotat%,|
0002d900  26 46 46 46 46 46 46 30  30 0d d7 d2 36 20 20 20  |&FFFFFF00...6   |
0002d910  20 20 20 c8 99 20 22 50  44 72 69 76 65 72 5f 44  |   .. "PDriver_D|
0002d920  72 61 77 50 61 67 65 22  2c 31 2c 72 65 63 74 69  |rawPage",1,recti|
0002d930  6e 25 2c 30 2c 30 20 b8  20 6d 6f 72 65 32 25 0d  |n%,0,0 . more2%.|
0002d940  d7 da 38 20 20 20 20 20  20 c8 99 20 22 43 6f 6c  |..8      .. "Col|
0002d950  6f 75 72 54 72 61 6e 73  5f 53 65 74 46 6f 6e 74  |ourTrans_SetFont|
0002d960  43 6f 6c 6f 75 72 73 22  2c 2c 26 46 46 46 46 46  |Colours",,&FFFFF|
0002d970  46 30 30 2c 30 2c 36 0d  d7 e2 21 20 20 20 20 20  |F00,0,6...!     |
0002d980  20 c8 99 20 22 46 6f 6e  74 5f 53 65 74 46 6f 6e  | .. "Font_SetFon|
0002d990  74 22 2c 66 68 64 6c 25  0d d7 ea 13 20 20 20 20  |t",fhdl%....    |
0002d9a0  20 20 c8 95 20 6d 6f 72  65 32 25 0d d7 f2 20 20  |  .. more2%...  |
0002d9b0  20 20 20 20 20 20 20 f2  72 65 77 72 69 74 65 28  |       .rewrite(|
0002d9c0  6c 65 66 74 25 2c 74 6f  70 25 29 0d d7 fa 37 20  |left%,top%)...7 |
0002d9d0  20 20 20 20 20 20 20 c8  99 20 22 50 44 72 69 76  |       .. "PDriv|
0002d9e0  65 72 5f 47 65 74 52 65  63 74 61 6e 67 6c 65 22  |er_GetRectangle"|
0002d9f0  2c 2c 72 65 63 74 69 6e  25 20 b8 20 6d 6f 72 65  |,,rectin% . more|
0002da00  32 25 0d d8 02 0b 20 20  20 20 20 20 ce 0d d8 0a  |2%....      ....|
0002da10  09 20 20 20 20 cc 0d d8  12 0d 20 20 20 20 20 20  |.    .....      |
0002da20  ef 20 32 0d d8 1a 19 20  20 20 20 20 20 e3 20 63  |. 2....      . c|
0002da30  25 3d 30 20 b8 20 70 61  63 25 2d 31 0d d8 22 13  |%=0 . pac%-1..".|
0002da40  20 20 20 20 20 20 f1 20  70 61 24 28 63 25 29 0d  |      . pa$(c%).|
0002da50  d8 2a 0e 20 20 20 20 20  20 ed 20 63 25 0d d8 32  |.*.      . c%..2|
0002da60  0d 20 20 20 20 20 20 ef  20 33 0d d8 3a 09 20 20  |.      . 3..:.  |
0002da70  20 20 cd 0d d8 42 07 20  20 cd 0d d8 4a 14 20 20  |  ...B.  ...J.  |
0002da80  e7 20 66 6f 6e 74 5f 66  6c 61 67 25 20 8c 0d d8  |. font_flag% ...|
0002da90  52 1f 20 20 20 20 c8 99  20 22 50 44 72 69 76 65  |R.    .. "PDrive|
0002daa0  72 5f 45 6e 64 4a 6f 62  22 2c 70 66 25 0d d8 5a  |r_EndJob",pf%..Z|
0002dab0  0d 20 20 20 20 d9 23 70  66 25 0d d8 62 0b 20 20  |.    .#pf%..b.  |
0002dac0  20 20 f7 20 85 0d d8 6a  07 20 20 cd 0d d8 72 12  |  . ...j.  ...r.|
0002dad0  20 20 70 72 69 6e 74 66  6c 61 67 25 3d a3 0d d8  |  printflag%=...|
0002dae0  7a 18 20 20 c8 99 20 22  48 6f 75 72 67 6c 61 73  |z.  .. "Hourglas|
0002daf0  73 5f 4f 66 66 22 0d d8  82 05 cd 0d d8 8a 05 e1  |s_Off"..........|
0002db00  0d d8 92 04 0d d8 9a 16  dd a4 73 65 74 5f 6c 69  |..........set_li|
0002db10  6e 65 73 28 66 75 6e 63  25 29 0d d8 a2 0e c8 8e  |nes(func%)......|
0002db20  20 66 75 6e 63 25 20 ca  0d d8 aa 09 20 20 c9 20  | func% .....  . |
0002db30  b9 0d d8 b2 1f 20 20 20  20 e7 20 70 61 63 25 2b  |.....    . pac%+|
0002db40  6c 73 74 25 3e 6e 6f 5f  6c 69 6e 65 73 25 20 8c  |lst%>no_lines% .|
0002db50  0d d8 ba 14 20 20 20 20  20 20 e7 20 70 61 63 25  |....      . pac%|
0002db60  3d 30 20 8c 0d d8 c2 0f  20 20 20 20 20 20 20 20  |=0 .....        |
0002db70  f7 20 85 0d d8 ca 32 20  20 20 20 20 20 20 20 f2  |. ....2        .|
0002db80  64 69 73 5f 6d 65 73 73  61 67 65 28 22 50 61 70  |dis_message("Pap|
0002db90  65 72 20 74 6f 6f 20 73  6d 61 6c 6c 20 74 6f 20  |er too small to |
0002dba0  66 69 74 22 29 0d d8 d2  25 20 20 20 20 20 20 20  |fit")...%       |
0002dbb0  20 c8 99 20 22 50 44 72  69 76 65 72 5f 41 62 6f  | .. "PDriver_Abo|
0002dbc0  72 74 4a 6f 62 22 2c 70  66 25 0d d8 da 11 20 20  |rtJob",pf%....  |
0002dbd0  20 20 20 20 20 20 d9 23  70 66 25 0d d8 e2 18 20  |      .#pf%.... |
0002dbe0  20 20 20 20 20 20 20 70  72 69 6e 74 66 6c 61 67  |       printflag|
0002dbf0  25 3d a3 0d d8 ea 1e 20  20 20 20 20 20 20 20 c8  |%=.....        .|
0002dc00  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 66 66  |. "Hourglass_Off|
0002dc10  22 0d d8 f2 0e 20 20 20  20 20 20 20 20 3d b9 0d  |"....        =..|
0002dc20  d8 fa 0a 20 20 20 20 20  cc 0d d9 02 4b 20 20 20  |...     ....K   |
0002dc30  20 20 20 20 20 c8 99 20  22 50 44 72 69 76 65 72  |     .. "PDriver|
0002dc40  5f 47 69 76 65 52 65 63  74 61 6e 67 6c 65 22 2c  |_GiveRectangle",|
0002dc50  70 61 67 65 25 2c 72 65  63 74 25 2c 74 72 61 6e  |page%,rect%,tran|
0002dc60  73 25 2c 70 6c 6f 74 61  74 25 2c 26 46 46 46 46  |s%,plotat%,&FFFF|
0002dc70  46 46 30 30 0d d9 0a 38  20 20 20 20 20 20 20 20  |FF00...8        |
0002dc80  c8 99 20 22 50 44 72 69  76 65 72 5f 44 72 61 77  |.. "PDriver_Draw|
0002dc90  50 61 67 65 22 2c 31 2c  72 65 63 74 69 6e 25 2c  |Page",1,rectin%,|
0002dca0  30 2c 30 20 b8 20 6d 6f  72 65 32 25 0d d9 12 3a  |0,0 . more2%...:|
0002dcb0  20 20 20 20 20 20 20 20  c8 99 20 22 43 6f 6c 6f  |        .. "Colo|
0002dcc0  75 72 54 72 61 6e 73 5f  53 65 74 46 6f 6e 74 43  |urTrans_SetFontC|
0002dcd0  6f 6c 6f 75 72 73 22 2c  2c 26 46 46 46 46 46 46  |olours",,&FFFFFF|
0002dce0  30 30 2c 30 2c 36 0d d9  1a 23 20 20 20 20 20 20  |00,0,6...#      |
0002dcf0  20 20 c8 99 20 22 46 6f  6e 74 5f 53 65 74 46 6f  |  .. "Font_SetFo|
0002dd00  6e 74 22 2c 66 68 64 6c  25 0d d9 22 15 20 20 20  |nt",fhdl%..".   |
0002dd10  20 20 20 20 20 c8 95 20  6d 6f 72 65 32 25 0d d9  |     .. more2%..|
0002dd20  2a 22 20 20 20 20 20 20  20 20 20 20 f2 72 65 77  |*"          .rew|
0002dd30  72 69 74 65 28 6c 65 66  74 25 2c 74 6f 70 25 29  |rite(left%,top%)|
0002dd40  0d d9 32 39 20 20 20 20  20 20 20 20 20 20 c8 99  |..29          ..|
0002dd50  20 22 50 44 72 69 76 65  72 5f 47 65 74 52 65 63  | "PDriver_GetRec|
0002dd60  74 61 6e 67 6c 65 22 2c  2c 72 65 63 74 69 6e 25  |tangle",,rectin%|
0002dd70  20 b8 20 6d 6f 72 65 32  25 0d d9 3a 0d 20 20 20  | . more2%..:.   |
0002dd80  20 20 20 20 20 ce 0d d9  42 14 20 20 20 20 20 20  |     ...B.      |
0002dd90  20 20 70 61 67 65 25 2b  3d 31 0d d9 4a 14 20 20  |  page%+=1..J.  |
0002dda0  20 20 20 20 20 20 70 61  24 28 29 3d 22 22 0d d9  |      pa$()=""..|
0002ddb0  52 1b 20 20 20 20 20 20  20 20 e3 20 63 25 3d 30  |R.        . c%=0|
0002ddc0  20 b8 20 6c 73 74 25 2d  31 0d d9 5a 44 20 20 20  | . lst%-1..ZD   |
0002ddd0  20 20 20 20 20 70 61 24  28 63 25 29 3d 6c 69 6e  |     pa$(c%)=lin|
0002dde0  65 24 28 63 25 29 3a e7  20 68 61 6c 66 5f 66 6c  |e$(c%):. half_fl|
0002ddf0  61 67 25 20 8c 20 70 61  6e 25 28 63 25 29 3d 31  |ag% . pan%(c%)=1|
0002de00  20 8b 20 70 61 6e 25 28  63 25 29 3d 30 0d d9 62  | . pan%(c%)=0..b|
0002de10  10 20 20 20 20 20 20 20  20 ed 20 63 25 0d d9 6a  |.        . c%..j|
0002de20  21 20 20 20 20 20 20 20  20 70 61 24 28 63 25 29  |!        pa$(c%)|
0002de30  3d 22 20 22 3a 70 61 63  25 3d 63 25 2b 31 0d d9  |=" ":pac%=c%+1..|
0002de40  72 0b 20 20 20 20 20 20  cd 0d d9 7a 09 20 20 20  |r.      ...z.   |
0002de50  20 cc 0d d9 82 19 20 20  20 20 20 20 e3 20 63 25  | .....      . c%|
0002de60  3d 30 20 b8 20 6c 73 74  25 2d 31 0d d9 8a 51 20  |=0 . lst%-1...Q |
0002de70  20 20 20 20 20 70 61 24  28 70 61 63 25 2b 63 25  |     pa$(pac%+c%|
0002de80  29 3d 6c 69 6e 65 24 28  63 25 29 3a e7 20 68 61  |)=line$(c%):. ha|
0002de90  6c 66 5f 66 6c 61 67 25  20 8c 20 70 61 6e 25 28  |lf_flag% . pan%(|
0002dea0  70 61 63 25 2b 63 25 29  3d 31 20 8b 20 70 61 6e  |pac%+c%)=1 . pan|
0002deb0  25 28 70 61 63 25 2b 63  25 29 3d 30 0d d9 92 0e  |%(pac%+c%)=0....|
0002dec0  20 20 20 20 20 20 ed 20  63 25 0d d9 9a 20 20 20  |      . c%...   |
0002ded0  20 20 20 20 70 61 24 28  63 25 29 3d 22 20 22 3a  |    pa$(c%)=" ":|
0002dee0  70 61 63 25 2b 3d 63 25  2b 31 0d d9 a2 09 20 20  |pac%+=c%+1....  |
0002def0  20 20 cd 0d d9 aa 09 20  20 c9 20 a3 0d d9 b2 1f  |  .....  . .....|
0002df00  20 20 20 20 e7 20 70 61  63 25 2b 6c 73 74 25 3e  |    . pac%+lst%>|
0002df10  6e 6f 5f 6c 69 6e 65 73  25 20 8c 0d d9 ba 0d 20  |no_lines% ..... |
0002df20  20 20 20 20 20 ef 20 32  0d d9 c2 19 20 20 20 20  |     . 2....    |
0002df30  20 20 e3 20 63 25 3d 30  20 b8 20 70 61 63 25 2d  |  . c%=0 . pac%-|
0002df40  31 0d d9 ca 13 20 20 20  20 20 20 f1 20 70 61 24  |1....      . pa$|
0002df50  28 63 25 29 0d d9 d2 0e  20 20 20 20 20 20 ed 20  |(c%)....      . |
0002df60  63 25 0d d9 da 1f 20 20  20 20 20 20 e3 20 63 25  |c%....      . c%|
0002df70  3d 63 25 20 b8 20 6e 6f  5f 6c 69 6e 65 73 25 2d  |=c% . no_lines%-|
0002df80  31 0d d9 e2 0b 20 20 20  20 20 20 f1 0d d9 ea 0e  |1....      .....|
0002df90  20 20 20 20 20 20 ed 20  63 25 0d d9 f2 0d 20 20  |      . c%....  |
0002dfa0  20 20 20 20 ef 20 33 0d  d9 fa 19 20 20 20 20 20  |    . 3....     |
0002dfb0  20 e3 20 63 25 3d 30 20  b8 20 6c 73 74 25 2d 31  | . c%=0 . lst%-1|
0002dfc0  0d da 02 1b 20 20 20 20  20 20 70 61 24 28 63 25  |....      pa$(c%|
0002dfd0  29 3d 6c 69 6e 65 24 28  63 25 29 0d da 0a 0e 20  |)=line$(c%).... |
0002dfe0  20 20 20 20 20 ed 20 63  25 0d da 12 14 20 20 20  |     . c%....   |
0002dff0  20 20 20 70 61 24 28 63  25 29 3d 22 22 0d da 1a  |   pa$(c%)=""...|
0002e000  13 20 20 20 20 20 20 70  61 63 25 3d 63 25 2b 31  |.      pac%=c%+1|
0002e010  0d da 22 09 20 20 20 20  cc 0d da 2a 21 20 20 20  |..".    ...*!   |
0002e020  20 20 20 e3 20 63 25 3d  70 61 63 25 20 b8 20 70  |   . c%=pac% . p|
0002e030  61 63 25 2b 6c 73 74 25  2d 31 0d da 32 20 20 20  |ac%+lst%-1..2   |
0002e040  20 20 20 20 70 61 24 28  63 25 29 3d 6c 69 6e 65  |    pa$(c%)=line|
0002e050  24 28 63 25 2d 70 61 63  25 29 0d da 3a 0e 20 20  |$(c%-pac%)..:.  |
0002e060  20 20 20 20 ed 20 63 25  0d da 42 14 20 20 20 20  |    . c%..B.    |
0002e070  20 20 70 61 24 28 63 25  29 3d 22 22 0d da 4a 13  |  pa$(c%)=""..J.|
0002e080  20 20 20 20 20 20 70 61  63 25 3d 63 25 2b 31 0d  |      pac%=c%+1.|
0002e090  da 52 09 20 20 20 20 cd  0d da 5a 05 cb 0d da 62  |.R.    ...Z....b|
0002e0a0  06 3d a3 0d da 6a 04 0d  da 72 12 dd f2 6c 6f 61  |.=...j...r...loa|
0002e0b0  64 5f 62 6f 6f 6b 64 65  66 0d da 7a 0e e3 20 69  |d_bookdef..z.. i|
0002e0c0  25 3d 30 20 b8 20 39 0d  da 82 19 e7 20 62 6f 6f  |%=0 . 9..... boo|
0002e0d0  6b 5f 64 69 72 5f 64 65  66 25 28 69 25 29 20 8c  |k_dir_def%(i%) .|
0002e0e0  0d da 8a 46 20 20 ff 28  22 4c 6f 61 64 20 3c 42  |...F  .("Load <B|
0002e0f0  6f 6f 6b 73 22 2b c3 28  69 25 29 2b 22 24 44 69  |ooks"+.(i%)+"$Di|
0002e100  72 3e 2e 5e 2e 42 6f 6f  6b 44 65 66 20 22 2b c3  |r>.^.BookDef "+.|
0002e110  7e 28 62 6f 6f 6b 64 65  66 25 2b 28 31 32 35 30  |~(bookdef%+(1250|
0002e120  2a 69 25 29 29 29 0d da  92 05 cd 0d da 9a 08 ed  |*i%)))..........|
0002e130  20 69 25 0d da a2 05 e1  0d da aa 04 0d da b2 22  | i%............"|
0002e140  dd f2 70 72 65 70 61 72  65 5f 65 78 70 6f 72 74  |..prepare_export|
0002e150  28 66 75 6e 63 25 2c 62  61 74 63 68 25 29 0d da  |(func%,batch%)..|
0002e160  ba 0e c8 8e 20 66 75 6e  63 25 20 ca 0d da c2 2a  |.... func% ....*|
0002e170  20 20 c9 20 30 2c 32 3a  20 77 69 6e 25 3d 65 78  |  . 0,2: win%=ex|
0002e180  70 6f 72 74 5f 63 73 76  25 3a 6c 61 62 65 6c 24  |port_csv%:label$|
0002e190  3d 22 43 53 56 22 0d da  ca 2c 20 20 c9 20 31 2c  |="CSV"...,  . 1,|
0002e1a0  33 3a 20 77 69 6e 25 3d  65 78 70 6f 72 74 5f 74  |3: win%=export_t|
0002e1b0  65 78 74 25 3a 6c 61 62  65 6c 24 3d 22 54 65 78  |ext%:label$="Tex|
0002e1c0  74 22 0d da d2 05 cb 0d  da da 0c 21 71 25 3d 77  |t".........!q%=w|
0002e1d0  69 6e 25 0d da e2 20 c8  99 20 22 57 69 6d 70 5f  |in%... .. "Wimp_|
0002e1e0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
0002e1f0  2c 71 25 0d da ea 0c 71  25 21 32 38 3d 2d 31 0d  |,q%....q%!28=-1.|
0002e200  da f2 1c c8 99 20 22 57  69 6d 70 5f 4f 70 65 6e  |..... "Wimp_Open|
0002e210  57 69 6e 64 6f 77 22 2c  2c 71 25 0d da fa 1e f2  |Window",,q%.....|
0002e220  70 75 74 74 65 78 74 28  77 69 6e 25 2c 35 2c c3  |puttext(win%,5,.|
0002e230  28 62 61 74 63 68 25 29  29 0d db 02 0e c8 8e 20  |(batch%))...... |
0002e240  66 75 6e 63 25 20 ca 0d  db 0a 0b 20 20 c9 20 30  |func% .....  . 0|
0002e250  2c 31 0d db 12 24 20 20  20 20 f2 70 75 74 74 65  |,1...$    .putte|
0002e260  78 74 28 77 69 6e 25 2c  38 2c 22 61 63 63 65 73  |xt(win%,8,"acces|
0002e270  73 69 6f 6e 22 29 0d db  1a 10 20 20 20 20 21 71  |sion")....    !q|
0002e280  25 3d 77 69 6e 25 0d db  22 23 20 20 20 20 c8 99  |%=win%.."#    ..|
0002e290  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
0002e2a0  49 6e 66 6f 22 2c 2c 71  25 0d db 2a 14 20 20 20  |Info",,q%..*.   |
0002e2b0  20 5f 70 25 3d 21 28 71  25 2b 37 36 29 0d db 32  | _p%=!(q%+76)..2|
0002e2c0  26 20 20 20 20 24 5f 70  25 3d 22 45 78 70 6f 72  |&    $_p%="Expor|
0002e2d0  74 20 42 6f 6f 6b 73 20  61 73 20 22 2b 6c 61 62  |t Books as "+lab|
0002e2e0  65 6c 24 0d db 3a 0b 20  20 c9 20 32 2c 33 0d db  |el$..:.  . 2,3..|
0002e2f0  42 25 20 20 20 20 f2 70  75 74 74 65 78 74 28 77  |B%    .puttext(w|
0002e300  69 6e 25 2c 38 2c 22 6d  65 6d 62 65 72 73 68 69  |in%,8,"membershi|
0002e310  70 22 29 0d db 4a 10 20  20 20 20 21 71 25 3d 77  |p")..J.    !q%=w|
0002e320  69 6e 25 0d db 52 23 20  20 20 20 c8 99 20 22 57  |in%..R#    .. "W|
0002e330  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 49 6e 66  |imp_GetWindowInf|
0002e340  6f 22 2c 2c 71 25 0d db  5a 14 20 20 20 20 5f 70  |o",,q%..Z.    _p|
0002e350  25 3d 21 28 71 25 2b 37  36 29 0d db 62 28 20 20  |%=!(q%+76)..b(  |
0002e360  20 20 24 5f 70 25 3d 22  45 78 70 6f 72 74 20 4d  |  $_p%="Export M|
0002e370  65 6d 62 65 72 73 20 61  73 20 22 2b 6c 61 62 65  |embers as "+labe|
0002e380  6c 24 0d db 6a 05 cb 0d  db 72 1a 6c 25 3d a9 28  |l$..j....r.l%=.(|
0002e390  a4 67 65 74 74 65 78 74  28 77 69 6e 25 2c 31 29  |.gettext(win%,1)|
0002e3a0  29 0d db 7a 2f c8 99 20  22 57 69 6d 70 5f 53 65  |)..z/.. "Wimp_Se|
0002e3b0  74 43 61 72 65 74 50 6f  73 69 74 69 6f 6e 22 2c  |tCaretPosition",|
0002e3c0  77 69 6e 25 2c 31 2c 30  2c 30 2c 2d 31 2c 6c 25  |win%,1,0,0,-1,l%|
0002e3d0  0d db 82 10 63 75 72 72  5f 65 78 70 25 3d 2d 31  |....curr_exp%=-1|
0002e3e0  0d db 8a 05 e1 0d db 92  04 0d db 9a 1c dd f2 73  |...............s|
0002e3f0  74 61 72 74 5f 65 78 70  6f 72 74 28 6e 24 2c 66  |tart_export(n$,f|
0002e400  75 6e 63 25 29 0d db a2  14 f2 63 68 65 63 6b 5f  |unc%).....check_|
0002e410  62 6f 6f 6b 5f 64 69 72  73 0d db aa 13 f2 63 68  |book_dirs.....ch|
0002e420  65 63 6b 5f 6d 65 6d 5f  64 69 72 73 0d db b2 15  |eck_mem_dirs....|
0002e430  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 6e  |.. "Hourglass_On|
0002e440  22 0d db ba 0e c8 8e 20  66 75 6e 63 25 20 ca 0d  |"...... func% ..|
0002e450  db c2 1b 20 20 c9 20 30  3a 20 77 69 6e 25 3d 65  |...  . 0: win%=e|
0002e460  78 70 6f 72 74 5f 63 73  76 25 0d db ca 1c 20 20  |xport_csv%....  |
0002e470  c9 20 31 3a 20 77 69 6e  25 3d 65 78 70 6f 72 74  |. 1: win%=export|
0002e480  5f 74 65 78 74 25 0d db  d2 05 cb 0d db da 19 67  |_text%.........g|
0002e490  6f 74 24 3d a4 67 65 74  74 65 78 74 28 77 69 6e  |ot$=.gettext(win|
0002e4a0  25 2c 38 29 0d db e2 22  e7 20 67 6f 74 24 3d 22  |%,8)...". got$="|
0002e4b0  6d 65 6d 62 65 72 73 68  69 70 22 20 8c 20 66 75  |membership" . fu|
0002e4c0  6e 63 25 2b 3d 32 0d db  ea 13 63 75 72 72 5f 65  |nc%+=2....curr_e|
0002e4d0  78 70 25 3d 66 75 6e 63  25 0d db f2 0d 63 75 72  |xp%=func%....cur|
0002e4e0  72 65 24 3d 6e 24 0d db  fa 1c 6e 6f 66 6c 61 67  |re$=n$....noflag|
0002e4f0  25 3d a4 49 63 6f 6e 47  65 74 28 77 69 6e 25 2c  |%=.IconGet(win%,|
0002e500  36 29 0d dc 02 0e 65 66  68 25 3d ae 28 6e 24 29  |6)....efh%=.(n$)|
0002e510  0d dc 0a 17 e7 20 65 66  68 25 3d 30 20 8c 20 d9  |..... efh%=0 . .|
0002e520  23 65 66 68 25 3a e1 0d  dc 12 14 67 31 25 3d 65  |#efh%:.....g1%=e|
0002e530  63 25 28 66 75 6e 63 25  2c 30 29 0d dc 1a 14 67  |c%(func%,0)....g|
0002e540  32 25 3d 65 63 25 28 66  75 6e 63 25 2c 31 29 0d  |2%=ec%(func%,1).|
0002e550  dc 22 14 67 33 25 3d 65  63 25 28 66 75 6e 63 25  |.".g3%=ec%(func%|
0002e560  2c 32 29 0d dc 2a 14 67  34 25 3d 65 63 25 28 66  |,2)..*.g4%=ec%(f|
0002e570  75 6e 63 25 2c 33 29 0d  dc 32 0e c8 8e 20 66 75  |unc%,3)..2... fu|
0002e580  6e 63 25 20 ca 0d dc 3a  09 20 20 c9 20 30 0d dc  |nc% ...:.  . 0..|
0002e590  42 09 20 20 20 20 f5 0d  dc 4a 24 20 20 20 20 20  |B.    ...J$     |
0002e5a0  20 67 25 3d 65 63 25 28  30 2c 30 29 2a 31 30 30  | g%=ec%(0,0)*100|
0002e5b0  30 30 2b 65 63 25 28 30  2c 31 29 0d dc 52 40 20  |00+ec%(0,1)..R@ |
0002e5c0  20 20 20 20 20 e7 20 28  28 62 6f 6f 6b 64 65 66  |     . ((bookdef|
0002e5d0  25 3f 28 67 25 20 81 20  38 29 20 80 20 28 31 3c  |%?(g% . 8) . (1<|
0002e5e0  3c 28 67 25 20 83 20 38  29 29 29 3e 3e 3e 28 67  |<(g% . 8)))>>>(g|
0002e5f0  25 20 83 20 38 29 29 3d  31 20 8c 0d dc 5a 40 20  |% . 8))=1 ...Z@ |
0002e600  20 20 20 20 20 20 20 c8  99 20 22 48 6f 75 72 67  |       .. "Hourg|
0002e610  6c 61 73 73 5f 50 65 72  63 65 6e 74 61 67 65 22  |lass_Percentage"|
0002e620  2c 67 25 2f 28 31 30 30  30 30 2a 62 6f 6f 6b 5f  |,g%/(10000*book_|
0002e630  63 6f 75 6e 74 25 29 2a  31 30 30 0d dc 62 41 20  |count%)*100..bA |
0002e640  20 20 20 20 20 20 20 e7  20 63 61 63 68 65 25 3c  |       . cache%<|
0002e650  3e 67 25 20 81 20 31 30  30 20 8c 20 f2 6f 70 65  |>g% . 100 . .ope|
0002e660  6e 5f 62 6f 6f 6b 5f 63  61 63 68 65 28 a4 7a 65  |n_book_cache(.ze|
0002e670  72 6f 28 c3 28 67 25 29  2c 35 29 29 0d dc 6a 1a  |ro(.(g%),5))..j.|
0002e680  20 20 20 20 20 20 20 20  70 69 63 6b 25 3d 67 25  |        pick%=g%|
0002e690  20 83 20 31 30 30 0d dc  72 19 20 20 20 20 20 20  | . 100..r.      |
0002e6a0  20 20 e7 20 6e 6f 66 6c  61 67 25 3d 31 20 8c 0d  |  . noflag%=1 ..|
0002e6b0  dc 7a 41 20 20 20 20 20  20 20 20 20 20 61 63 63  |.zA          acc|
0002e6c0  75 6d 24 3d 22 22 22 22  2b a4 43 68 65 63 6b 5f  |um$=""""+.Check_|
0002e6d0  44 69 67 69 74 5f 50 6c  75 73 28 a4 7a 65 72 6f  |Digit_Plus(.zero|
0002e6e0  28 c3 28 67 25 29 2c 35  29 29 2b 22 22 22 2c 22  |(.(g%),5))+""","|
0002e6f0  0d dc 82 2e 20 20 20 20  20 20 20 20 20 20 61 63  |....          ac|
0002e700  63 75 6d 24 2b 3d 22 22  22 22 2b 76 61 72 24 28  |cum$+=""""+var$(|
0002e710  70 69 63 6b 25 2c 30 29  2b 22 22 22 2c 22 0d dc  |pick%,0)+""","..|
0002e720  8a 0d 20 20 20 20 20 20  20 20 cc 0d dc 92 2d 20  |..        ....- |
0002e730  20 20 20 20 20 20 20 20  20 61 63 63 75 6d 24 3d  |         accum$=|
0002e740  22 22 22 22 2b 76 61 72  24 28 70 69 63 6b 25 2c  |""""+var$(pick%,|
0002e750  30 29 2b 22 22 22 2c 22  0d dc 9a 0d 20 20 20 20  |0)+""","....    |
0002e760  20 20 20 20 cd 0d dc a2  16 20 20 20 20 20 20 20  |    .....       |
0002e770  20 e3 20 63 25 3d 31 20  b8 20 34 0d dc aa 2d 20  | . c%=1 . 4...- |
0002e780  20 20 20 20 20 20 20 61  63 63 75 6d 24 2b 3d 22  |       accum$+="|
0002e790  22 22 22 2b 76 61 72 24  28 70 69 63 6b 25 2c 63  |"""+var$(pick%,c|
0002e7a0  25 29 2b 22 22 22 2c 22  0d dc b2 10 20 20 20 20  |%)+""","....    |
0002e7b0  20 20 20 20 ed 20 63 25  0d dc ba 1b 20 20 20 20  |    . c%....    |
0002e7c0  20 20 20 20 61 63 63 75  6d 24 3d c0 61 63 63 75  |    accum$=.accu|
0002e7d0  6d 24 29 0d dc c2 19 20  20 20 20 20 20 20 20 d5  |m$)....        .|
0002e7e0  23 65 66 68 25 2c 61 63  63 75 6d 24 0d dc ca 0b  |#efh%,accum$....|
0002e7f0  20 20 20 20 20 20 cd 0d  dc d2 16 20 20 20 20 20  |      .....     |
0002e800  20 6c 6f 6f 70 5f 66 6c  61 67 25 3d a3 0d dc da  | loop_flag%=....|
0002e810  15 20 20 20 20 20 20 65  63 25 28 30 2c 31 29 2b  |.      ec%(0,1)+|
0002e820  3d 31 0d dc e2 1c 20 20  20 20 20 20 e7 20 65 63  |=1....      . ec|
0002e830  25 28 30 2c 31 29 3d 31  30 30 30 30 20 8c 0d dc  |%(0,1)=10000 ...|
0002e840  ea 16 20 20 20 20 20 20  20 20 65 63 25 28 30 2c  |..        ec%(0,|
0002e850  31 29 3d 30 0d dc f2 17  20 20 20 20 20 20 20 20  |1)=0....        |
0002e860  65 63 25 28 30 2c 30 29  2b 3d 31 0d dc fa 36 20  |ec%(0,0)+=1...6 |
0002e870  20 20 20 20 20 20 20 c8  95 20 62 6f 6f 6b 5f 64  |       .. book_d|
0002e880  69 72 5f 64 65 66 25 28  65 63 25 28 30 2c 30 29  |ir_def%(ec%(0,0)|
0002e890  29 3d a3 20 80 20 65 63  25 28 30 2c 30 29 3c 31  |)=. . ec%(0,0)<1|
0002e8a0  30 0d dd 02 19 20 20 20  20 20 20 20 20 20 20 65  |0....          e|
0002e8b0  63 25 28 30 2c 30 29 2b  3d 31 0d dd 0a 0d 20 20  |c%(0,0)+=1....  |
0002e8c0  20 20 20 20 20 20 ce 0d  dd 12 28 20 20 20 20 20  |      ....(     |
0002e8d0  20 20 20 e7 20 65 63 25  28 30 2c 30 29 3d 31 30  |   . ec%(0,0)=10|
0002e8e0  20 8c 20 6c 6f 6f 70 5f  66 6c 61 67 25 3d b9 0d  | . loop_flag%=..|
0002e8f0  dd 1a 0b 20 20 20 20 20  20 cd 0d dd 22 14 20 20  |...      ...".  |
0002e900  20 20 fd 20 6c 6f 6f 70  5f 66 6c 61 67 25 0d dd  |  . loop_flag%..|
0002e910  2a 14 20 20 20 20 63 75  72 72 5f 65 78 70 25 3d  |*.    curr_exp%=|
0002e920  2d 31 0d dd 32 0e 20 20  20 20 d9 23 65 66 68 25  |-1..2.    .#efh%|
0002e930  0d dd 3a 1f 20 20 20 20  ff 28 22 53 65 74 54 79  |..:.    .("SetTy|
0002e940  70 65 20 22 2b 6e 24 2b  22 20 44 46 45 22 29 0d  |pe "+n$+" DFE").|
0002e950  dd 42 10 20 20 20 20 21  71 25 3d 77 69 6e 25 0d  |.B.    !q%=win%.|
0002e960  dd 4a 21 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |.J!    .. "Wimp_|
0002e970  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 71 25  |CloseWindow",,q%|
0002e980  0d dd 52 09 20 20 c9 20  31 0d dd 5a 09 20 20 20  |..R.  . 1..Z.   |
0002e990  20 f5 0d dd 62 24 20 20  20 20 20 20 67 25 3d 65  | ...b$      g%=e|
0002e9a0  63 25 28 31 2c 30 29 2a  31 30 30 30 30 2b 65 63  |c%(1,0)*10000+ec|
0002e9b0  25 28 31 2c 31 29 0d dd  6a 40 20 20 20 20 20 20  |%(1,1)..j@      |
0002e9c0  e7 20 28 28 62 6f 6f 6b  64 65 66 25 3f 28 67 25  |. ((bookdef%?(g%|
0002e9d0  20 81 20 38 29 20 80 20  28 31 3c 3c 28 67 25 20  | . 8) . (1<<(g% |
0002e9e0  83 20 38 29 29 29 3e 3e  3e 28 67 25 20 83 20 38  |. 8)))>>>(g% . 8|
0002e9f0  29 29 3d 31 20 8c 0d dd  72 40 20 20 20 20 20 20  |))=1 ...r@      |
0002ea00  20 20 c8 99 20 22 48 6f  75 72 67 6c 61 73 73 5f  |  .. "Hourglass_|
0002ea10  50 65 72 63 65 6e 74 61  67 65 22 2c 67 25 2f 28  |Percentage",g%/(|
0002ea20  31 30 30 30 30 2a 62 6f  6f 6b 5f 63 6f 75 6e 74  |10000*book_count|
0002ea30  25 29 2a 31 30 30 0d dd  7a 41 20 20 20 20 20 20  |%)*100..zA      |
0002ea40  20 20 e7 20 63 61 63 68  65 25 3c 3e 67 25 20 81  |  . cache%<>g% .|
0002ea50  20 31 30 30 20 8c 20 f2  6f 70 65 6e 5f 62 6f 6f  | 100 . .open_boo|
0002ea60  6b 5f 63 61 63 68 65 28  a4 7a 65 72 6f 28 c3 28  |k_cache(.zero(.(|
0002ea70  67 25 29 2c 35 29 29 0d  dd 82 1a 20 20 20 20 20  |g%),5))....     |
0002ea80  20 20 20 70 69 63 6b 25  3d 67 25 20 83 20 31 30  |   pick%=g% . 10|
0002ea90  30 0d dd 8a 42 20 20 20  20 20 20 20 20 e7 20 6e  |0...B        . n|
0002eaa0  6f 66 6c 61 67 25 3d 31  20 8c 20 d5 23 65 66 68  |oflag%=1 . .#efh|
0002eab0  25 2c a4 43 68 65 63 6b  5f 44 69 67 69 74 5f 50  |%,.Check_Digit_P|
0002eac0  6c 75 73 28 a4 7a 65 72  6f 28 c3 28 67 25 29 2c  |lus(.zero(.(g%),|
0002ead0  35 29 29 0d dd 92 16 20  20 20 20 20 20 20 20 e3  |5))....        .|
0002eae0  20 63 25 3d 30 20 b8 20  34 0d dd 9a 21 20 20 20  | c%=0 . 4...!   |
0002eaf0  20 20 20 20 20 d5 23 65  66 68 25 2c 76 61 72 24  |     .#efh%,var$|
0002eb00  28 70 69 63 6b 25 2c 63  25 29 0d dd a2 10 20 20  |(pick%,c%)....  |
0002eb10  20 20 20 20 20 20 ed 20  63 25 0d dd aa 0b 20 20  |      . c%....  |
0002eb20  20 20 20 20 cd 0d dd b2  16 20 20 20 20 20 20 6c  |    .....      l|
0002eb30  6f 6f 70 5f 66 6c 61 67  25 3d a3 0d dd ba 15 20  |oop_flag%=..... |
0002eb40  20 20 20 20 20 65 63 25  28 31 2c 31 29 2b 3d 31  |     ec%(1,1)+=1|
0002eb50  0d dd c2 1c 20 20 20 20  20 20 e7 20 65 63 25 28  |....      . ec%(|
0002eb60  31 2c 31 29 3d 31 30 30  30 30 20 8c 0d dd ca 16  |1,1)=10000 .....|
0002eb70  20 20 20 20 20 20 20 20  65 63 25 28 31 2c 31 29  |        ec%(1,1)|
0002eb80  3d 30 0d dd d2 17 20 20  20 20 20 20 20 20 65 63  |=0....        ec|
0002eb90  25 28 31 2c 30 29 2b 3d  31 0d dd da 36 20 20 20  |%(1,0)+=1...6   |
0002eba0  20 20 20 20 20 c8 95 20  62 6f 6f 6b 5f 64 69 72  |     .. book_dir|
0002ebb0  5f 64 65 66 25 28 65 63  25 28 31 2c 30 29 29 3d  |_def%(ec%(1,0))=|
0002ebc0  a3 20 80 20 65 63 25 28  31 2c 30 29 3c 31 30 0d  |. . ec%(1,0)<10.|
0002ebd0  dd e2 19 20 20 20 20 20  20 20 20 20 20 65 63 25  |...          ec%|
0002ebe0  28 31 2c 30 29 2b 3d 31  0d dd ea 0d 20 20 20 20  |(1,0)+=1....    |
0002ebf0  20 20 20 20 ce 0d dd f2  28 20 20 20 20 20 20 20  |    ....(       |
0002ec00  20 e7 20 65 63 25 28 31  2c 30 29 3d 31 30 20 8c  | . ec%(1,0)=10 .|
0002ec10  20 6c 6f 6f 70 5f 66 6c  61 67 25 3d b9 0d dd fa  | loop_flag%=....|
0002ec20  0b 20 20 20 20 20 20 cd  0d de 02 14 20 20 20 20  |.      .....    |
0002ec30  fd 20 6c 6f 6f 70 5f 66  6c 61 67 25 0d de 0a 14  |. loop_flag%....|
0002ec40  20 20 20 20 63 75 72 72  5f 65 78 70 25 3d 2d 31  |    curr_exp%=-1|
0002ec50  0d de 12 0e 20 20 20 20  d9 23 65 66 68 25 0d de  |....    .#efh%..|
0002ec60  1a 20 20 20 20 20 ff 28  22 53 65 74 54 79 70 65  |.     .("SetType|
0002ec70  20 22 2b 6e 24 2b 22 20  54 65 78 74 22 29 0d de  | "+n$+" Text")..|
0002ec80  22 10 20 20 20 20 21 71  25 3d 77 69 6e 25 0d de  |".    !q%=win%..|
0002ec90  2a 21 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 43  |*!    .. "Wimp_C|
0002eca0  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |loseWindow",,q%.|
0002ecb0  de 32 09 20 20 c9 20 32  0d de 3a 15 20 20 20 20  |.2.  . 2..:.    |
0002ecc0  66 69 72 73 74 5f 66 6c  61 67 25 3d b9 0d de 42  |first_flag%=...B|
0002ecd0  09 20 20 20 20 f5 0d de  4a 26 20 20 20 20 20 20  |.    ...J&      |
0002ece0  e7 20 65 63 25 28 32 2c  33 29 3d 31 20 84 20 66  |. ec%(2,3)=1 . f|
0002ecf0  69 72 73 74 5f 66 6c 61  67 25 20 8c 0d de 52 36  |irst_flag% ...R6|
0002ed00  20 20 20 20 20 20 20 20  c8 95 20 6d 65 6d 5f 64  |        .. mem_d|
0002ed10  69 72 5f 64 65 66 25 28  65 63 25 28 32 2c 30 29  |ir_def%(ec%(2,0)|
0002ed20  29 3d a3 20 80 20 65 63  25 28 32 2c 30 29 3c 31  |)=. . ec%(2,0)<1|
0002ed30  30 30 0d de 5a 19 20 20  20 20 20 20 20 20 20 20  |00..Z.          |
0002ed40  65 63 25 28 32 2c 30 29  2b 3d 31 0d de 62 0d 20  |ec%(2,0)+=1..b. |
0002ed50  20 20 20 20 20 20 20 ce  0d de 6a 32 20 20 20 20  |       ...j2    |
0002ed60  20 20 20 20 e7 20 65 63  25 28 32 2c 30 29 3d 31  |    . ec%(2,0)=1|
0002ed70  30 30 20 8c 20 d9 23 65  66 68 25 3a 63 75 72 72  |00 . .#efh%:curr|
0002ed80  5f 65 78 70 25 3d 2d 31  3a e1 0d de 72 42 20 20  |_exp%=-1:...rB  |
0002ed90  20 20 20 20 20 20 74 72  79 24 3d 22 3c 4d 65 6d  |      try$="<Mem|
0002eda0  62 65 72 22 2b c3 28 65  63 25 28 32 2c 30 29 29  |ber"+.(ec%(2,0))|
0002edb0  2b 22 24 44 69 72 3e 2e  22 2b bd 28 36 35 2b 65  |+"$Dir>."+.(65+e|
0002edc0  63 25 28 32 2c 31 29 29  2b 22 2e 22 0d de 7a 1d  |c%(2,1))+"."..z.|
0002edd0  20 20 20 20 20 20 20 20  74 72 79 24 2b 3d c3 28  |        try$+=.(|
0002ede0  65 63 25 28 32 2c 32 29  29 0d de 82 19 20 20 20  |ec%(2,2))....   |
0002edf0  20 20 20 20 20 66 69 6c  6f 25 3d 8e 28 74 72 79  |     filo%=.(try|
0002ee00  24 29 0d de 8a 1a 20 20  20 20 20 20 20 20 e8 23  |$)....        .#|
0002ee10  66 69 6c 6f 25 2c 6e 5f  67 6f 74 25 0d de 92 1a  |filo%,n_got%....|
0002ee20  20 20 20 20 20 20 20 20  e7 20 65 63 25 28 32 2c  |        . ec%(2,|
0002ee30  33 29 3e 31 20 8c 0d de  9a 21 20 20 20 20 20 20  |3)>1 ....!      |
0002ee40  20 20 20 20 e3 20 63 25  3d 31 20 b8 20 65 63 25  |    . c%=1 . ec%|
0002ee50  28 32 2c 33 29 2d 31 0d  de a2 19 20 20 20 20 20  |(2,3)-1....     |
0002ee60  20 20 20 20 20 e3 20 64  25 3d 31 20 b8 20 31 31  |     . d%=1 . 11|
0002ee70  0d de aa 1b 20 20 20 20  20 20 20 20 20 20 e8 23  |....          .#|
0002ee80  66 69 6c 6f 25 2c 74 65  6d 70 24 0d de b2 12 20  |filo%,temp$.... |
0002ee90  20 20 20 20 20 20 20 20  20 ed 20 64 25 0d de ba  |         . d%...|
0002eea0  1b 20 20 20 20 20 20 20  20 20 20 74 65 6d 70 25  |.          temp%|
0002eeb0  3d 9a 23 66 69 6c 6f 25  0d de c2 19 20 20 20 20  |=.#filo%....    |
0002eec0  20 20 20 20 20 20 62 6e  25 3d 9a 23 66 69 6c 6f  |      bn%=.#filo|
0002eed0  25 0d de ca 17 20 20 20  20 20 20 20 20 20 20 e7  |%....          .|
0002eee0  20 62 6e 25 3e 30 20 8c  0d de d2 1c 20 20 20 20  | bn%>0 .....    |
0002eef0  20 20 20 20 20 20 20 20  e3 20 64 25 3d 31 20 b8  |        . d%=1 .|
0002ef00  20 62 6e 25 0d de da 1d  20 20 20 20 20 20 20 20  | bn%....        |
0002ef10  20 20 20 20 e8 23 66 69  6c 6f 25 2c 74 65 6d 70  |    .#filo%,temp|
0002ef20  24 0d de e2 14 20 20 20  20 20 20 20 20 20 20 20  |$....           |
0002ef30  20 ed 20 64 25 0d de ea  0f 20 20 20 20 20 20 20  | . d%....       |
0002ef40  20 20 20 cd 0d de f2 12  20 20 20 20 20 20 20 20  |   .....        |
0002ef50  20 20 ed 20 63 25 0d de  fa 0d 20 20 20 20 20 20  |  . c%....      |
0002ef60  20 20 cd 0d df 02 29 20  20 20 20 20 20 20 20 e7  |  ....)        .|
0002ef70  20 66 69 72 73 74 5f 66  6c 61 67 25 20 8c 20 66  | first_flag% . f|
0002ef80  69 72 73 74 5f 66 6c 61  67 25 3d a3 0d df 0a 0b  |irst_flag%=.....|
0002ef90  20 20 20 20 20 20 cd 0d  df 12 16 20 20 20 20 20  |      .....     |
0002efa0  20 e7 20 6e 5f 67 6f 74  25 3e 30 20 8c 0d df 1a  | . n_got%>0 ....|
0002efb0  3b 20 20 20 20 20 20 20  20 63 6f 64 65 24 3d a4  |;        code$=.|
0002efc0  7a 65 72 6f 28 c3 28 65  63 25 28 32 2c 30 29 29  |zero(.(ec%(2,0))|
0002efd0  2c 32 29 2b a4 7a 65 72  6f 28 c3 28 65 63 25 28  |,2)+.zero(.(ec%(|
0002efe0  32 2c 31 29 29 2c 32 29  0d df 22 33 20 20 20 20  |2,1)),2).."3    |
0002eff0  20 20 20 20 63 6f 64 65  24 2b 3d c3 28 65 63 25  |    code$+=.(ec%|
0002f000  28 32 2c 32 29 29 2b a4  7a 65 72 6f 28 c3 28 65  |(2,2))+.zero(.(e|
0002f010  63 25 28 32 2c 33 29 29  2c 33 29 0d df 2a 19 20  |c%(2,3)),3)..*. |
0002f020  20 20 20 20 20 20 20 e7  20 6e 6f 66 6c 61 67 25  |       . noflag%|
0002f030  3d 31 20 8c 0d df 32 38  20 20 20 20 20 20 20 20  |=1 ...28        |
0002f040  20 20 61 63 63 75 6d 24  3d 22 22 22 22 2b a4 43  |  accum$=""""+.C|
0002f050  68 65 63 6b 5f 44 69 67  69 74 5f 50 6c 75 73 28  |heck_Digit_Plus(|
0002f060  63 6f 64 65 24 29 2b 22  22 22 2c 22 0d df 3a 1a  |code$)+""","..:.|
0002f070  20 20 20 20 20 20 20 20  20 20 e8 23 66 69 6c 6f  |          .#filo|
0002f080  25 2c 6d 65 6d 24 0d df  42 25 20 20 20 20 20 20  |%,mem$..B%      |
0002f090  20 20 20 20 61 63 63 75  6d 24 2b 3d 22 22 22 22  |    accum$+=""""|
0002f0a0  2b 6d 65 6d 24 2b 22 22  22 2c 22 0d df 4a 0d 20  |+mem$+""","..J. |
0002f0b0  20 20 20 20 20 20 20 cc  0d df 52 1a 20 20 20 20  |       ...R.    |
0002f0c0  20 20 20 20 20 20 e8 23  66 69 6c 6f 25 2c 6d 65  |      .#filo%,me|
0002f0d0  6d 24 0d df 5a 24 20 20  20 20 20 20 20 20 20 20  |m$..Z$          |
0002f0e0  61 63 63 75 6d 24 3d 22  22 22 22 2b 6d 65 6d 24  |accum$=""""+mem$|
0002f0f0  2b 22 22 22 2c 22 0d df  62 0d 20 20 20 20 20 20  |+""","..b.      |
0002f100  20 20 cd 0d df 6a 17 20  20 20 20 20 20 20 20 e3  |  ...j.        .|
0002f110  20 63 25 3d 31 20 b8 20  31 30 0d df 72 19 20 20  | c%=1 . 10..r.  |
0002f120  20 20 20 20 20 20 e8 23  66 69 6c 6f 25 2c 74 65  |      .#filo%,te|
0002f130  6d 70 24 0d df 7a 24 20  20 20 20 20 20 20 20 61  |mp$..z$        a|
0002f140  63 63 75 6d 24 2b 3d 22  22 22 22 2b 74 65 6d 70  |ccum$+=""""+temp|
0002f150  24 2b 22 22 22 2c 22 0d  df 82 10 20 20 20 20 20  |$+""","....     |
0002f160  20 20 20 ed 20 63 25 0d  df 8a 29 20 20 20 20 20  |   . c%...)     |
0002f170  20 20 20 61 63 63 75 6d  24 2b 3d 22 22 22 22 2b  |   accum$+=""""+|
0002f180  c3 28 9a 23 66 69 6c 6f  25 29 2b 22 22 22 2c 22  |.(.#filo%)+""","|
0002f190  0d df 92 18 20 20 20 20  20 20 20 20 62 6e 6f 25  |....        bno%|
0002f1a0  3d 9a 23 66 69 6c 6f 25  0d df 9a 25 20 20 20 20  |=.#filo%...%    |
0002f1b0  20 20 20 20 61 63 63 75  6d 24 2b 3d 22 22 22 22  |    accum$+=""""|
0002f1c0  2b c3 28 62 6e 6f 25 29  2b 22 22 22 22 0d df a2  |+.(bno%)+""""...|
0002f1d0  19 20 20 20 20 20 20 20  20 d5 23 65 66 68 25 2c  |.        .#efh%,|
0002f1e0  61 63 63 75 6d 24 0d df  aa 16 20 20 20 20 20 20  |accum$....      |
0002f1f0  20 20 e7 20 62 6e 6f 25  3e 30 20 8c 0d df b2 17  |  . bno%>0 .....|
0002f200  20 20 20 20 20 20 20 20  20 20 61 63 63 75 6d 24  |          accum$|
0002f210  3d 22 22 0d df ba 1b 20  20 20 20 20 20 20 20 20  |=""....         |
0002f220  20 e3 20 63 25 3d 31 20  b8 20 62 6e 6f 25 0d df  | . c%=1 . bno%..|
0002f230  c2 1b 20 20 20 20 20 20  20 20 20 20 e8 23 66 69  |..          .#fi|
0002f240  6c 6f 25 2c 74 65 6d 70  24 0d df ca 26 20 20 20  |lo%,temp$...&   |
0002f250  20 20 20 20 20 20 20 61  63 63 75 6d 24 2b 3d 22  |       accum$+="|
0002f260  22 22 22 2b 74 65 6d 70  24 2b 22 22 22 2c 22 0d  |"""+temp$+""",".|
0002f270  df d2 12 20 20 20 20 20  20 20 20 20 20 ed 20 63  |...          . c|
0002f280  25 0d df da 1d 20 20 20  20 20 20 20 20 20 20 61  |%....          a|
0002f290  63 63 75 6d 24 3d c0 61  63 63 75 6d 24 29 0d df  |ccum$=.accum$)..|
0002f2a0  e2 1b 20 20 20 20 20 20  20 20 20 20 d5 23 65 66  |..          .#ef|
0002f2b0  68 25 2c 61 63 63 75 6d  24 0d df ea 0d 20 20 20  |h%,accum$....   |
0002f2c0  20 20 20 20 20 cd 0d df  f2 0b 20 20 20 20 20 20  |     .....      |
0002f2d0  cd 0d df fa 16 20 20 20  20 20 20 6c 6f 6f 70 5f  |.....      loop_|
0002f2e0  66 6c 61 67 25 3d a3 0d  e0 02 15 20 20 20 20 20  |flag%=.....     |
0002f2f0  20 65 63 25 28 32 2c 33  29 2b 3d 31 0d e0 0a 20  | ec%(2,3)+=1... |
0002f300  20 20 20 20 20 20 e7 20  65 63 25 28 32 2c 33 29  |      . ec%(2,3)|
0002f310  3e 3d 6e 5f 67 6f 74 25  2b 31 20 8c 0d e0 12 13  |>=n_got%+1 .....|
0002f320  20 20 20 20 20 20 20 20  d9 23 66 69 6c 6f 25 0d  |        .#filo%.|
0002f330  e0 1a 16 20 20 20 20 20  20 20 20 65 63 25 28 32  |...        ec%(2|
0002f340  2c 33 29 3d 31 0d e0 22  17 20 20 20 20 20 20 20  |,3)=1..".       |
0002f350  20 65 63 25 28 32 2c 32  29 2b 3d 31 0d e0 2a 1b  | ec%(2,2)+=1..*.|
0002f360  20 20 20 20 20 20 20 20  e7 20 65 63 25 28 32 2c  |        . ec%(2,|
0002f370  32 29 3d 31 30 20 8c 0d  e0 32 18 20 20 20 20 20  |2)=10 ...2.     |
0002f380  20 20 20 20 20 65 63 25  28 32 2c 32 29 3d 30 0d  |     ec%(2,2)=0.|
0002f390  e0 3a 19 20 20 20 20 20  20 20 20 20 20 65 63 25  |.:.          ec%|
0002f3a0  28 32 2c 31 29 2b 3d 31  0d e0 42 1d 20 20 20 20  |(2,1)+=1..B.    |
0002f3b0  20 20 20 20 20 20 e7 20  65 63 25 28 32 2c 31 29  |      . ec%(2,1)|
0002f3c0  3d 32 36 20 8c 0d e0 4a  1a 20 20 20 20 20 20 20  |=26 ...J.       |
0002f3d0  20 20 20 20 20 65 63 25  28 32 2c 31 29 3d 30 0d  |     ec%(2,1)=0.|
0002f3e0  e0 52 1b 20 20 20 20 20  20 20 20 20 20 20 20 65  |.R.            e|
0002f3f0  63 25 28 32 2c 30 29 2b  3d 31 0d e0 5a 3a 20 20  |c%(2,0)+=1..Z:  |
0002f400  20 20 20 20 20 20 20 20  20 20 c8 95 20 6d 65 6d  |          .. mem|
0002f410  5f 64 69 72 5f 64 65 66  25 28 65 63 25 28 32 2c  |_dir_def%(ec%(2,|
0002f420  30 29 29 3d a3 20 80 20  65 63 25 28 32 2c 30 29  |0))=. . ec%(2,0)|
0002f430  3c 31 30 30 0d e0 62 1d  20 20 20 20 20 20 20 20  |<100..b.        |
0002f440  20 20 20 20 20 20 65 63  25 28 32 2c 30 29 2b 3d  |      ec%(2,0)+=|
0002f450  31 0d e0 6a 11 20 20 20  20 20 20 20 20 20 20 20  |1..j.           |
0002f460  20 ce 0d e0 72 2d 20 20  20 20 20 20 20 20 20 20  | ...r-          |
0002f470  20 20 e7 20 65 63 25 28  32 2c 30 29 3d 31 30 30  |  . ec%(2,0)=100|
0002f480  20 8c 20 6c 6f 6f 70 5f  66 6c 61 67 25 3d b9 0d  | . loop_flag%=..|
0002f490  e0 7a 0f 20 20 20 20 20  20 20 20 20 20 cd 0d e0  |.z.          ...|
0002f4a0  82 0d 20 20 20 20 20 20  20 20 cd 0d e0 8a 0b 20  |..        ..... |
0002f4b0  20 20 20 20 20 cd 0d e0  92 14 20 20 20 20 fd 20  |     .....    . |
0002f4c0  6c 6f 6f 70 5f 66 6c 61  67 25 0d e0 9a 14 20 20  |loop_flag%....  |
0002f4d0  20 20 63 75 72 72 5f 65  78 70 25 3d 2d 31 0d e0  |  curr_exp%=-1..|
0002f4e0  a2 0e 20 20 20 20 d9 23  65 66 68 25 0d e0 aa 1f  |..    .#efh%....|
0002f4f0  20 20 20 20 ff 28 22 53  65 74 54 79 70 65 20 22  |    .("SetType "|
0002f500  2b 6e 24 2b 22 20 44 46  45 22 29 0d e0 b2 10 20  |+n$+" DFE").... |
0002f510  20 20 20 21 71 25 3d 77  69 6e 25 0d e0 ba 21 20  |   !q%=win%...! |
0002f520  20 20 20 c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |   .. "Wimp_Clos|
0002f530  65 57 69 6e 64 6f 77 22  2c 2c 71 25 0d e0 c2 09  |eWindow",,q%....|
0002f540  20 20 c9 20 34 0d e0 ca  15 20 20 20 20 66 69 72  |  . 4....    fir|
0002f550  73 74 5f 66 6c 61 67 25  3d b9 0d e0 d2 09 20 20  |st_flag%=.....  |
0002f560  20 20 f5 0d e0 da 26 20  20 20 20 20 20 e7 20 65  |  ....&      . e|
0002f570  63 25 28 33 2c 33 29 3d  31 20 84 20 66 69 72 73  |c%(3,3)=1 . firs|
0002f580  74 5f 66 6c 61 67 25 20  8c 0d e0 e2 36 20 20 20  |t_flag% ....6   |
0002f590  20 20 20 20 20 c8 95 20  6d 65 6d 5f 64 69 72 5f  |     .. mem_dir_|
0002f5a0  64 65 66 25 28 65 63 25  28 33 2c 30 29 29 3d a3  |def%(ec%(3,0))=.|
0002f5b0  20 80 20 65 63 25 28 33  2c 30 29 3c 31 30 30 0d  | . ec%(3,0)<100.|
0002f5c0  e0 ea 19 20 20 20 20 20  20 20 20 20 20 65 63 25  |...          ec%|
0002f5d0  28 33 2c 30 29 2b 3d 31  0d e0 f2 0d 20 20 20 20  |(3,0)+=1....    |
0002f5e0  20 20 20 20 ce 0d e0 fa  32 20 20 20 20 20 20 20  |    ....2       |
0002f5f0  20 e7 20 65 63 25 28 33  2c 30 29 3d 31 30 30 20  | . ec%(3,0)=100 |
0002f600  8c 20 d9 23 65 66 68 25  3a 63 75 72 72 5f 65 78  |. .#efh%:curr_ex|
0002f610  70 25 3d 2d 31 3a e1 0d  e1 02 42 20 20 20 20 20  |p%=-1:....B     |
0002f620  20 20 20 74 72 79 24 3d  22 3c 4d 65 6d 62 65 72  |   try$="<Member|
0002f630  22 2b c3 28 65 63 25 28  33 2c 30 29 29 2b 22 24  |"+.(ec%(3,0))+"$|
0002f640  44 69 72 3e 2e 22 2b bd  28 36 35 2b 65 63 25 28  |Dir>."+.(65+ec%(|
0002f650  33 2c 31 29 29 2b 22 2e  22 0d e1 0a 1d 20 20 20  |3,1))+"."....   |
0002f660  20 20 20 20 20 74 72 79  24 2b 3d c3 28 65 63 25  |     try$+=.(ec%|
0002f670  28 33 2c 32 29 29 0d e1  12 19 20 20 20 20 20 20  |(3,2))....      |
0002f680  20 20 66 69 6c 6f 25 3d  8e 28 74 72 79 24 29 0d  |  filo%=.(try$).|
0002f690  e1 1a 1a 20 20 20 20 20  20 20 20 e8 23 66 69 6c  |...        .#fil|
0002f6a0  6f 25 2c 6e 5f 67 6f 74  25 0d e1 22 1a 20 20 20  |o%,n_got%..".   |
0002f6b0  20 20 20 20 20 e7 20 65  63 25 28 33 2c 33 29 3e  |     . ec%(3,3)>|
0002f6c0  31 20 8c 0d e1 2a 21 20  20 20 20 20 20 20 20 20  |1 ...*!         |
0002f6d0  20 e3 20 63 25 3d 31 20  b8 20 65 63 25 28 33 2c  | . c%=1 . ec%(3,|
0002f6e0  33 29 2d 31 0d e1 32 19  20 20 20 20 20 20 20 20  |3)-1..2.        |
0002f6f0  20 20 e3 20 64 25 3d 31  20 b8 20 31 31 0d e1 3a  |  . d%=1 . 11..:|
0002f700  1b 20 20 20 20 20 20 20  20 20 20 e8 23 66 69 6c  |.          .#fil|
0002f710  6f 25 2c 74 65 6d 70 24  0d e1 42 12 20 20 20 20  |o%,temp$..B.    |
0002f720  20 20 20 20 20 20 ed 20  64 25 0d e1 4a 1b 20 20  |      . d%..J.  |
0002f730  20 20 20 20 20 20 20 20  74 65 6d 70 25 3d 9a 23  |        temp%=.#|
0002f740  66 69 6c 6f 25 0d e1 52  19 20 20 20 20 20 20 20  |filo%..R.       |
0002f750  20 20 20 62 6e 25 3d 9a  23 66 69 6c 6f 25 0d e1  |   bn%=.#filo%..|
0002f760  5a 17 20 20 20 20 20 20  20 20 20 20 e7 20 62 6e  |Z.          . bn|
0002f770  25 3e 30 20 8c 0d e1 62  1c 20 20 20 20 20 20 20  |%>0 ...b.       |
0002f780  20 20 20 20 20 e3 20 64  25 3d 31 20 b8 20 62 6e  |     . d%=1 . bn|
0002f790  25 0d e1 6a 1d 20 20 20  20 20 20 20 20 20 20 20  |%..j.           |
0002f7a0  20 e8 23 66 69 6c 6f 25  2c 74 65 6d 70 24 0d e1  | .#filo%,temp$..|
0002f7b0  72 14 20 20 20 20 20 20  20 20 20 20 20 20 ed 20  |r.            . |
0002f7c0  64 25 0d e1 7a 0f 20 20  20 20 20 20 20 20 20 20  |d%..z.          |
0002f7d0  cd 0d e1 82 12 20 20 20  20 20 20 20 20 20 20 ed  |.....          .|
0002f7e0  20 63 25 0d e1 8a 0d 20  20 20 20 20 20 20 20 cd  | c%....        .|
0002f7f0  0d e1 92 29 20 20 20 20  20 20 20 20 e7 20 66 69  |...)        . fi|
0002f800  72 73 74 5f 66 6c 61 67  25 20 8c 20 66 69 72 73  |rst_flag% . firs|
0002f810  74 5f 66 6c 61 67 25 3d  a3 0d e1 9a 0b 20 20 20  |t_flag%=.....   |
0002f820  20 20 20 cd 0d e1 a2 16  20 20 20 20 20 20 e7 20  |   .....      . |
0002f830  6e 5f 67 6f 74 25 3e 30  20 8c 0d e1 aa 3b 20 20  |n_got%>0 ....;  |
0002f840  20 20 20 20 20 20 63 6f  64 65 24 3d a4 7a 65 72  |      code$=.zer|
0002f850  6f 28 c3 28 65 63 25 28  33 2c 30 29 29 2c 32 29  |o(.(ec%(3,0)),2)|
0002f860  2b a4 7a 65 72 6f 28 c3  28 65 63 25 28 33 2c 31  |+.zero(.(ec%(3,1|
0002f870  29 29 2c 32 29 0d e1 b2  33 20 20 20 20 20 20 20  |)),2)...3       |
0002f880  20 63 6f 64 65 24 2b 3d  c3 28 65 63 25 28 33 2c  | code$+=.(ec%(3,|
0002f890  32 29 29 2b a4 7a 65 72  6f 28 c3 28 65 63 25 28  |2))+.zero(.(ec%(|
0002f8a0  33 2c 33 29 29 2c 33 29  0d e1 ba 39 20 20 20 20  |3,3)),3)...9    |
0002f8b0  20 20 20 20 e7 20 6e 6f  66 6c 61 67 25 3d 31 20  |    . noflag%=1 |
0002f8c0  8c 20 d5 23 65 66 68 25  2c a4 43 68 65 63 6b 5f  |. .#efh%,.Check_|
0002f8d0  44 69 67 69 74 5f 50 6c  75 73 28 63 6f 64 65 24  |Digit_Plus(code$|
0002f8e0  29 0d e1 c2 18 20 20 20  20 20 20 20 20 e8 23 66  |)....        .#f|
0002f8f0  69 6c 6f 25 2c 6d 65 6d  24 0d e1 ca 17 20 20 20  |ilo%,mem$....   |
0002f900  20 20 20 20 20 d5 23 65  66 68 25 2c 6d 65 6d 24  |     .#efh%,mem$|
0002f910  0d e1 d2 17 20 20 20 20  20 20 20 20 e3 20 63 25  |....        . c%|
0002f920  3d 31 20 b8 20 31 30 0d  e1 da 19 20 20 20 20 20  |=1 . 10....     |
0002f930  20 20 20 e8 23 66 69 6c  6f 25 2c 74 65 6d 70 24  |   .#filo%,temp$|
0002f940  0d e1 e2 18 20 20 20 20  20 20 20 20 d5 23 65 66  |....        .#ef|
0002f950  68 25 2c 74 65 6d 70 24  0d e1 ea 10 20 20 20 20  |h%,temp$....    |
0002f960  20 20 20 20 ed 20 63 25  0d e1 f2 1d 20 20 20 20  |    . c%....    |
0002f970  20 20 20 20 d5 23 65 66  68 25 2c c3 28 9a 23 66  |    .#efh%,.(.#f|
0002f980  69 6c 6f 25 29 0d e1 fa  18 20 20 20 20 20 20 20  |ilo%)....       |
0002f990  20 62 6e 6f 25 3d 9a 23  66 69 6c 6f 25 0d e2 02  | bno%=.#filo%...|
0002f9a0  1a 20 20 20 20 20 20 20  20 d5 23 65 66 68 25 2c  |.        .#efh%,|
0002f9b0  c3 28 62 6e 6f 25 29 0d  e2 0a 16 20 20 20 20 20  |.(bno%)....     |
0002f9c0  20 20 20 e7 20 62 6e 6f  25 3e 30 20 8c 0d e2 12  |   . bno%>0 ....|
0002f9d0  1b 20 20 20 20 20 20 20  20 20 20 e3 20 63 25 3d  |.          . c%=|
0002f9e0  31 20 b8 20 62 6e 6f 25  0d e2 1a 1b 20 20 20 20  |1 . bno%....    |
0002f9f0  20 20 20 20 20 20 e8 23  66 69 6c 6f 25 2c 74 65  |      .#filo%,te|
0002fa00  6d 70 24 0d e2 22 1f 20  20 20 20 20 20 20 20 20  |mp$..".         |
0002fa10  20 d5 23 65 66 68 25 2c  22 20 20 22 2b 74 65 6d  | .#efh%,"  "+tem|
0002fa20  70 24 0d e2 2a 12 20 20  20 20 20 20 20 20 20 20  |p$..*.          |
0002fa30  ed 20 63 25 0d e2 32 0d  20 20 20 20 20 20 20 20  |. c%..2.        |
0002fa40  cd 0d e2 3a 0b 20 20 20  20 20 20 cd 0d e2 42 16  |...:.      ...B.|
0002fa50  20 20 20 20 20 20 6c 6f  6f 70 5f 66 6c 61 67 25  |      loop_flag%|
0002fa60  3d a3 0d e2 4a 15 20 20  20 20 20 20 65 63 25 28  |=...J.      ec%(|
0002fa70  33 2c 33 29 2b 3d 31 0d  e2 52 20 20 20 20 20 20  |3,3)+=1..R      |
0002fa80  20 e7 20 65 63 25 28 33  2c 33 29 3e 3d 6e 5f 67  | . ec%(3,3)>=n_g|
0002fa90  6f 74 25 2b 31 20 8c 0d  e2 5a 13 20 20 20 20 20  |ot%+1 ...Z.     |
0002faa0  20 20 20 d9 23 66 69 6c  6f 25 0d e2 62 16 20 20  |   .#filo%..b.  |
0002fab0  20 20 20 20 20 20 65 63  25 28 33 2c 33 29 3d 31  |      ec%(3,3)=1|
0002fac0  0d e2 6a 17 20 20 20 20  20 20 20 20 65 63 25 28  |..j.        ec%(|
0002fad0  33 2c 32 29 2b 3d 31 0d  e2 72 1b 20 20 20 20 20  |3,2)+=1..r.     |
0002fae0  20 20 20 e7 20 65 63 25  28 33 2c 32 29 3d 31 30  |   . ec%(3,2)=10|
0002faf0  20 8c 0d e2 7a 18 20 20  20 20 20 20 20 20 20 20  | ...z.          |
0002fb00  65 63 25 28 33 2c 32 29  3d 30 0d e2 82 19 20 20  |ec%(3,2)=0....  |
0002fb10  20 20 20 20 20 20 20 20  65 63 25 28 33 2c 31 29  |        ec%(3,1)|
0002fb20  2b 3d 31 0d e2 8a 1d 20  20 20 20 20 20 20 20 20  |+=1....         |
0002fb30  20 e7 20 65 63 25 28 33  2c 31 29 3d 32 36 20 8c  | . ec%(3,1)=26 .|
0002fb40  0d e2 92 1a 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
0002fb50  65 63 25 28 33 2c 31 29  3d 30 0d e2 9a 1b 20 20  |ec%(3,1)=0....  |
0002fb60  20 20 20 20 20 20 20 20  20 20 65 63 25 28 33 2c  |          ec%(3,|
0002fb70  30 29 2b 3d 31 0d e2 a2  3a 20 20 20 20 20 20 20  |0)+=1...:       |
0002fb80  20 20 20 20 20 c8 95 20  6d 65 6d 5f 64 69 72 5f  |     .. mem_dir_|
0002fb90  64 65 66 25 28 65 63 25  28 33 2c 30 29 29 3d a3  |def%(ec%(3,0))=.|
0002fba0  20 80 20 65 63 25 28 33  2c 30 29 3c 31 30 30 0d  | . ec%(3,0)<100.|
0002fbb0  e2 aa 1d 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
0002fbc0  20 65 63 25 28 33 2c 30  29 2b 3d 31 0d e2 b2 11  | ec%(3,0)+=1....|
0002fbd0  20 20 20 20 20 20 20 20  20 20 20 20 ce 0d e2 ba  |            ....|
0002fbe0  2d 20 20 20 20 20 20 20  20 20 20 20 20 e7 20 65  |-            . e|
0002fbf0  63 25 28 33 2c 30 29 3d  31 30 30 20 8c 20 6c 6f  |c%(3,0)=100 . lo|
0002fc00  6f 70 5f 66 6c 61 67 25  3d b9 0d e2 c2 0f 20 20  |op_flag%=.....  |
0002fc10  20 20 20 20 20 20 20 20  cd 0d e2 ca 0d 20 20 20  |        .....   |
0002fc20  20 20 20 20 20 cd 0d e2  d2 0b 20 20 20 20 20 20  |     .....      |
0002fc30  cd 0d e2 da 14 20 20 20  20 fd 20 6c 6f 6f 70 5f  |.....    . loop_|
0002fc40  66 6c 61 67 25 0d e2 e2  14 20 20 20 20 63 75 72  |flag%....    cur|
0002fc50  72 5f 65 78 70 25 3d 2d  31 0d e2 ea 0e 20 20 20  |r_exp%=-1....   |
0002fc60  20 d9 23 65 66 68 25 0d  e2 f2 1f 20 20 20 20 ff  | .#efh%....    .|
0002fc70  28 22 53 65 74 54 79 70  65 20 22 2b 6e 24 2b 22  |("SetType "+n$+"|
0002fc80  20 44 46 45 22 29 0d e2  fa 10 20 20 20 20 21 71  | DFE")....    !q|
0002fc90  25 3d 77 69 6e 25 0d e3  02 21 20 20 20 20 c8 99  |%=win%...!    ..|
0002fca0  20 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  | "Wimp_CloseWind|
0002fcb0  6f 77 22 2c 2c 71 25 0d  e3 0a 05 cb 0d e3 12 05  |ow",,q%.........|
0002fcc0  e1 0d e3 1a 04 0d e3 22  0f dd f2 64 69 73 63 5f  |......."...disc_|
0002fcd0  66 75 6c 6c 0d e3 2a 18  c8 99 20 22 48 6f 75 72  |full..*... "Hour|
0002fce0  67 6c 61 73 73 5f 53 6d  61 73 68 22 0d e3 32 12  |glass_Smash"..2.|
0002fcf0  c8 8e 20 63 75 72 72 5f  65 78 70 25 20 ca 0d e3  |.. curr_exp% ...|
0002fd00  3a 34 20 20 c9 20 30 2c  32 3a 20 ff 28 22 53 65  |:4  . 0,2: .("Se|
0002fd10  74 54 79 70 65 20 22 2b  6e 24 2b 22 20 44 46 45  |tType "+n$+" DFE|
0002fd20  22 29 3a 63 77 25 3d 65  78 70 6f 72 74 5f 63 73  |"):cw%=export_cs|
0002fd30  76 25 0d e3 42 36 20 20  c9 20 31 2c 33 3a 20 ff  |v%..B6  . 1,3: .|
0002fd40  28 22 53 65 74 54 79 70  65 20 22 2b 6e 24 2b 22  |("SetType "+n$+"|
0002fd50  20 54 65 78 74 22 29 3a  63 77 25 3d 65 78 70 6f  | Text"):cw%=expo|
0002fd60  72 74 5f 74 65 78 74 25  0d e3 4a 05 cb 0d e3 52  |rt_text%..J....R|
0002fd70  1a 67 68 25 3d bb 28 a4  67 65 74 74 65 78 74 28  |.gh%=.(.gettext(|
0002fd80  63 77 25 2c 35 29 29 0d  e3 5a 1c f2 70 75 74 74  |cw%,5))..Z..putt|
0002fd90  65 78 74 28 63 77 25 2c  35 2c c3 28 67 68 25 2b  |ext(cw%,5,.(gh%+|
0002fda0  31 29 29 0d e3 62 19 6c  25 3d a9 28 a4 67 65 74  |1))..b.l%=.(.get|
0002fdb0  74 65 78 74 28 63 77 25  2c 31 29 29 0d e3 6a 2e  |text(cw%,1))..j.|
0002fdc0  c8 99 20 22 57 69 6d 70  5f 53 65 74 43 61 72 65  |.. "Wimp_SetCare|
0002fdd0  74 50 6f 73 69 74 69 6f  6e 22 2c 63 77 25 2c 31  |tPosition",cw%,1|
0002fde0  2c 30 2c 30 2c 2d 31 2c  6c 25 0d e3 72 10 63 75  |,0,0,-1,l%..r.cu|
0002fdf0  72 72 5f 65 78 70 25 3d  2d 31 0d e3 7a 05 e1 0d  |rr_exp%=-1..z...|
0002fe00  e3 82 04 0d e3 8a 1c dd  f2 70 75 74 5f 76 61 6c  |.........put_val|
0002fe10  69 64 28 21 71 25 2c 71  25 21 34 2c 73 24 29 0d  |id(!q%,q%!4,s$).|
0002fe20  e3 92 1e c8 99 20 22 57  69 6d 70 5f 47 65 74 49  |..... "Wimp_GetI|
0002fe30  63 6f 6e 53 74 61 74 65  22 2c 2c 71 25 0d e3 9a  |conState",,q%...|
0002fe40  12 71 25 21 38 3d 30 3a  71 25 21 31 32 3d 30 0d  |.q%!8=0:q%!12=0.|
0002fe50  e3 a2 0f 24 28 71 25 21  33 32 29 3d 73 24 0d e3  |...$(q%!32)=s$..|
0002fe60  aa 1e c8 99 20 22 57 69  6d 70 5f 53 65 74 49 63  |.... "Wimp_SetIc|
0002fe70  6f 6e 53 74 61 74 65 22  2c 2c 71 25 0d e3 b2 05  |onState",,q%....|
0002fe80  e1 0d ff                                          |...|
0002fe83