Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Internet » StarterPak/!Newsbase/!Runimage
StarterPak/!Newsbase/!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 » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Internet |
| Filename: | StarterPak/!Newsbase/!Runimage |
| Read OK: | ✔ |
| File size: | 16360 bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Archimedes archive » Acorn User » AU 1995-08.adf » !Internet » StarterPak/!Newsbase/!Runimage
- Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Internet » StarterPak/!Newsbase/!Runimage
File contents
10ONERRORREPORT:PRINT" at ";ERL:END
20PROCA_
30IFFNB_>0THENEND
40PROCC_
50PROCD_
60PROCE_
70PROCF_
90END=HIMEM+FNG_(-64)
100IF(HIMEM-END)>320*1024THENEND=END+320*1024
110PROCH_
120PROCI_
130PROCJ_
140PROCK_
150PROCL_
160PROCM_
170END=(END+&4000)
180PROCN_
190PROCO_
200PROCP_
210PROCQ_
220FORR_%=1TO3:PROCS_(0):NEXTR_%
230END=(END+&4000)
240T_%=1:PROCU_(0,0,0)
250PROCV_
260PROCW_(W_%)
270END=HIMEM+FNX_
280ONERRORPROCY_(TRUE)
290PROCZ_
300REPEAT
310IFa_%THEN
320REPEAT
330b_%=0
340c_$=FNd_(b_%)
350END=HIMEM+FNX_
360IFc_$>""THENPROCe_:PROCf_(c_$,b_%)
370UNTILc_$=""
380a_%=g_%
390ENDIF
400PROCh_
410UNTIL0
420END
440DEFPROCW_(i%)
450IFi%>0ANDi_%THEN
460IFi%=2THENPROCj_("Sinfo2",1)
470PROCk_(l_%):PROCm_(FNn_("Setup"),FNn_("Swait"),"","")
480REPEAT:PROCS_(50):UNTILo_%=FALSE:PROCp_
490ENDIF
500ENDPROC
520DEFPROCq_
530IFABS(r_%-s_%)>600THENs_%=r_%:PROCV_
540IFABS(r_%-t_%)>1200THENt_%=r_%:PROCu_
550IFABS(r_%-v_%)>6000THENv_%=r_%:PROCw_:PROCx_("")
560IFABS(r_%-y_%)>400ANDz_%THENPROC__:y_%=r_%
570IFABS(r_%-`_%)>30000THEN`_%=r_%:IFA`%=0THENPROCB`
580ENDPROC
600DEFPROCh_
610LOCALm$
620m$="Idle2":IFi_%THENm$="Idle"
630PROCm_(FNn_(m$)," "," "," "):h_%=r_%
640REPEATPROCS_(200):UNTILC`%ORABS(r_%-h_%)>=D`%
650C`%=0
660ENDPROC
680DEFPROCI_
690WHILEE`$=""
700IFi_%THENPROCj_("Snewsdir",1)ELSEPROCj_("Sronewsdir",1)
710PROCC_:IFE`$=""ANDi_%PROCF`(G`%,0,0)
720REPEATPROCS_(200):UNTILH`%=0:PROCC_
730ENDWHILE
740IFVALFNI`("NewsDir$Version")<1ANDi_%THEN
750PROCj_("Supdate",0):PROCS_(0)
760PROCJ`("<NewsDir$Dir>"):PROCK`("",0)
770ENDIF
780ENDPROC
800DEFFNd_(RETURNb_%)
810LOCALL`%,l%,f$,M`$
820IFi_%ANDFNG_(0)>32*1024THEN
830PROCm_(FNn_("Idle"),FNn_("Fcheck")," "," ")
850f$=FNN`(b_%)
860IFf$=""THEN
870b_%=0:L`%=0
880IFO`$(P`%,0)=""THENl%=FNQ`(13,"","","")
890REPEAT
900l%=0
910REPEATM`$=O`$(L`%,l%)
920IFM`$>""THENf$=FNR`(M`$):l%+=1
930UNTILf$>""ORM`$=""ORl%=10
940L`%+=P`%
950UNTILf$>""ORL`%>P`%ORP`%=0
960ENDIF
970ENDIF
980=f$
1000DEFPROCZ_
1010IFFNS`(FNr_)THEN
1020
1030IFFNT`(FNn_("Econfirm"))=2THENPROCU`(E`$+".news")
1040ENDIF
1050IFi_%THENA`%=0:`_%=0
1060ENDPROC
1080DEFPROCB`
1090LOCALt%,g%,t$,V`%
1100V`%=FNr_
1110IFFNS`(V`%)THEN
1120PROCW`(10,"",0,"","")
1130PROCx_("Starting automatic expiry")
1140PROCm_("",FNn_("Echeck")," "," ")
1150PROCU`(E`$+".news")
1160g%=0:REPEATg%+=1
1170t%=FNX`(FNY`(Z`$(g%)))
1180IFt%<V`%THENPROCa`(g%,0,b`%)
1190IFg%MOD10=0THENPROCS_(c`%*2)
1200IFd`%THEN
1210IFFNe`(FNf`("Ccancexp",g$))=2THENd`%=0ELSEd`%=TRUE
1220ENDIF
1230UNTILg%=g`%ORd`%<>0
1240PROCx_("Finished expiry")
1250PROCh`("Trimlist "+STR$i`%):PROCj`(k`$,1)
1260ENDIF
1270ENDPROC
1290DEFFNS`(V`%)
1300LOCALl`%,m`%,V`$,n`$,o`%
1310l`%=0
1320IFi_%THEN
1330m`%=FNX`(E`$+".news")
1360IFp`%<>0THEN
1370p`%=0
1380t%=FNQ`(5,"","","")
1390ENDIF
1400o`%=q`%:IFr`%THENo`%=0
1410IFb`%ANDs`%=0THEN
1420n`$=STR$V`%+RIGHT$("0000"+STR$o`%,4)
1430V`$=FNt`
1440l`%=(V`$>n`$)
1450IFl`%THEN
1460
1470IFm`%>V`%-1THENl`%=0
1480
1490IFl`%THENIFFNQ`(15,"","","")<>0THENl`%=0
1500ENDIF
1510ENDIF
1520ENDIF
1530=l`%
1550DEFPROCV_
1560LOCALl%,t%,f$,d$,p$,n%:l%=0
1570REPEAT
1580f$=u`$(P`%,l%):l%+=1
1590d$=FNv`(f$):p$=FNw`(f$)
1600SYS131084,9,d$,x`%,1,0,255,p$TO,,,n%;y`%
1610IF(y`%AND1)=0ANDn%>0THENt%+=1
1620UNTILf$=""ORl%=11
1630d$=z`$:IFt%=0THENz`$="newsbase1"ELSEz`$="newsbase2"
1640IFd$<>z`$THENPROC_`(z`$)
1650ENDPROC
1670DEFFNR`(A$)
1680LOCAL``$,n%,Aa%,f$,Ba$,f%,F%,l%,Ca$,M`$,Da%,Ea%
1690Aa%=0
1700Ea%=FNFa(Da%,Ga%,"dbuf")
1710Ca$=FNv`(A$):M`$=FNw`(A$)
1720REPEAT
1730SYS131084,9,Ca$,Da%,1,Aa%,Ga%,M`$TO,,,n%,Aa%;F%
1740IF(F%AND1)=0ANDn%>0THEN
1750f$=FNHa(Da%):Ba$=Ca$+"."+f$
1770IFFNIa(Ba$)=0THENF%=FNJa(Ba$)
1780
1790F%=0:Ka%=FNLa(Ba$)
1800IFKa%<>0THEN
1810PROCMa(Ka%)
1820IFCa$<>Na$THEN
1830F%=FNQ`(4,Ba$,"","")
1840IFF%=0THEN
1850F%=FNOa(Ba$,Na$+"."+f$)
1860ELSE
1870PROCPa("Dnoprefetch",FNI`("Newsbase$ReturnInfo"),1)
1880ENDIF
1890ENDIF
1900IFF%=0THEN``$=Na$+"."+f$
1910ENDIF
1920ELSE
1930PROCS_(c`%*2)
1940ENDIF
1950UNTIL``$>""ORAa%<0OR(F%AND1)<>0
1960PROCQa(Ea%)
1970=``$
1990DEFPROCu_
2000LOCALn%,Aa%,f$,d$,F%,Da%,Ea%,Ra$,u$,Sa%
2010IFi_%THEN
2020Ta%=0:Ea%=FNFa(Da%,Ga%,"dbuf")
2030FORSa%=0TO1:n%=Ua%(P`%,Sa%+1)
2040IFFNG_(0)>=n%*1024THEN
2050Aa%=0:REPEAT
2060SYS131084,9,Va$(Sa%),Da%,1,Aa%,Ga%,"*"TO,,,n%,Aa%;F%
2070IF(F%AND1)=0ANDn%>0THEN
2080f$=Va$(Sa%)+"."+FNHa(Da%):PROCWa(f$,&FFF)
2090d$=FNXa:F%=FNOa(f$,d$)
2100IF(F%AND1)=0THEN
2110Aa%-=1:Ra$=FNYa(Sa%,d$,u$)
2120CASESa%OF
2130WHEN0:r$=FNZa(d$,u$)
2140WHEN1:r$=FNaa(d$,Ra$,u$)
2150ENDCASE
2160IFr$>""PROCPa("Qsendfail",d$,1)
2170PROCS_(c`%*2)
2180ENDIF
2190ENDIF
2200UNTILAa%<0OR(F%AND1)<>0
2210ENDIF
2220NEXTSa%
2230PROCQa(Ea%)
2240ENDIF
2250ENDPROC
2270DEFFNv`(f$)
2280LOCALl%
2290l%=LENf$:REPEATl%-=1:UNTILMID$(f$,l%,1)="."ORl%<1
2300=LEFT$(f$,l%-1)
2320DEFFNw`(f$)
2330LOCALl%
2340l%=LENf$:REPEATl%-=1:UNTILMID$(f$,l%,1)="."ORl%<1
2350=MID$(f$,l%+1)
2370DEFPROCf_(ba$,ca%)
2380LOCALda$,Sa$,F%
2390da$=FNw`(ba$)
2400PROCea(ba$)
2410IFFNfa(ba$)=&FCATHEN
2420PROCj_("CompFail4",1):PROCx_("Batch decompression failed for "+da$)
2430IFFNga(ba$)<>0THENF%=FNha(ba$)
2440ELSE
2450PROCia:s`%=TRUE
2460ja%=ka%:PROCla(ma%):na%=ka%+ma%
2470PROCm_(FNn_("Dstart")," "," "," ")
2480PROCoa(ba$,ca%)
2490d`%=FALSE
2500pa%=0:qa%=TRUE:ra%=0:sa%=0:ta%=0:ua%=0:va%=0
2510wa%=FNxa(ba$,ca%)
2520IFwa%=0THENSa$=FNn_("Mail")ELSESa$=FNn_("News")
2530b_%=TRUE:ya%=0:za%=r_%
2540WHILE_a%=FALSE
2550d`%=FALSE:PROC`a:PROCAb
2560PROCm_(FNf`("Dtype",Sa$),"","","")
2570IFd`%THENPROCBb
2580ENDWHILE
2590PROCla(0):s`%=0
2600PROCCb(ba$)
2610ENDIF
2620ENDPROC
2640DEFPROCBb
2650_a%=TRUE:qa%=FALSE:PROCMa(Db%):PROCEb:s`%=0
2660PROCj_("Dcancel",0):PROCFb
2670ENDPROC
2690DEFPROCCb(Gb$)
2700LOCALF%,n%,t%,Hb$,Ib$:Ib$=""
2710PROCJb
2730t%=ABS(za%-r_%)DIV100:IFt%>0THENIb$=STR$((Kb%-ca%)DIVt%)+"cps"
2740PROCx_("Finished batch "+da$+" "+STR$pa%+" arts "+STR$Kb%+" bytes "+Ib$)
2750PROCMa(Db%)
2760PROC_`(z`$)
2770IFd`%=0THEN
2780PROCLb
2790PROCMb
2800IFNb%<>0ORqa%=0THEN
2810IFFNga(Gb$)<>0THENF%=FNha(Gb$)
2820ELSE
2830F%=FNha(Gb$)
2840ENDIF
2850IFF%<>0THENPROCPa("Ddelfail",da$,1)
2860p`%=1
2870PROCj`(Ob$,Pb%)
2880ENDIF
2890PROCQb
2900ENDPROC
2920DEFFNga(f$)
2930LOCALF%,n%,d$,da$,b%
2940da$=FNw`(f$)
2950d$=Ob$+"."+da$:PROCRb(d$)
2960IFFNSb(d$)<2THENd$=Ob$
2970n%=1:REPEAT
2980?x`%=3:SYS7,14,x`%
2990SYS274507,1,x`%,x`%+128,128,"%MN%DY%24%MI%SE"TOb%
3000n%+=1:F%=FNTb(f$,d$+"."+FNHa(b%))
3010UNTILn%>9ORF%=0
3020=F%
3040DEFPROCQb
3050LOCALa$,a%
3060CASEUb%OF
3070WHEN0:a$=FNn_("Nonews")
3080WHEN1:a$=FNn_("Newnews1")
3090OTHERWISE:a$=FNf`("Newnews",STR$Ub%)
3100ENDCASE
3110PROCVb(Qb%,1,a$)
3120IFWb$>""THENa$=FNf`("Newmail",MID$(Wb$,2))ELSEa$=FNn_("Nomail")
3130PROCVb(Qb%,2,LEFT$(a$,36))
3140IFXb%THEN
3150IFWb$>""OR(Ub%>0ANDYb%<>0)THEN
3160IFZb%=0PROCF`(Qb%,0,0)ELSEPROCk_(Qb%)
3170a%=1:IFab$>""ANDFNSb(ab$)>0THENa%=0
3180PROCbb(Qb%,3,a%)
3190IFcb%VDU7
3200ENDIF
3210ENDIF
3220ENDPROC
3240DEFPROCLb
3250IFT_%<>0THEN
3260PROCdb
3270PROCJb
3280ENDIF
3290PROCeb(0,0)
3300ENDPROC
3320DEFPROC`a
3330PROCla(ma%+fb%)
3340PROCgb
3350hb%()=0:sa%=0:ib%=TRUE:jb$="":kb%=0
3360lb%=mb%+nb%:ob%=mb%
3370REPEAT
3380IFib%THEN
3390PROCpb(qb$):b_%=0:PROCS_(c`%*2)
3400IFrb%=0PROCsb(qb$):ELSEPROCrb
3410IFqb$=""THENib%=FALSE:IFnb%>0THENPROCtb:PROCub
3420ELSE
3430PROCsb(qb$):PROCub
3440ENDIF
3450qb$=FNvb
3460IFib%=0ANDmb%>lb%-100THENIFLEFT$(qb$,wb%)=xb$THENb_%=TRUE
3470UNTILb_%<>0OR_a%<>0
3480IFLEFT$(qb$,4)="#! r"THENnb%=VALMID$(qb$,10):ELSEnb%=0
3490pa%+=1:ya%+=1:IFwa%=1THENUb%+=1
3500ENDPROC
3520DEFPROCrb
3530LOCALx`$:x`$=qb$
3540WHILEyb%:x`$=FNvb:ENDWHILE
3550ENDPROC
3570DEFPROCub
3580PROCS_(c`%):IFABS(r_%-zb%)>200THENPROC_b:zb%=r_%
3590ENDPROC
3610DEFPROCtb
3620LOCALl%,F%,m%,`b%,Ac%,Bc%,Cc%
3630l%=nb%-mb%+ob%
3640IFDc%+l%+4>ma%THENENDPROC
3650m%=ja%+Dc%+l%:`b%=?m%:Ac%=m%?1:Bc%=m%?2:Cc%=m%?3
3670IF`b%=35ANDAc%=33ANDBc%=32ANDCc%=114THEN
3680IFsa%+l%>Ec%THENPROCla(ma%+Ec%+l%+1024)
3690SYS393457,Fc%,ja%+Dc%,Fc%,na%+sa%,l%TO;F%
3700IF(F%AND1)=0THENmb%+=l%:sa%+=l%:Dc%+=l%
3710ENDIF
3720ENDPROC
3740DEFPROCgb
3750Gc$="<blank>":Hc$="(no sender)":Ic$="(no subject)":Jc$="":Kc$=""
3760Lc$="<0>":Mc$="":Nc%=0:Oc%=0:Qc$="":Rc$=""
3770Sc$="":Tc%=0:Uc$="":Vc$="":Wc$="":Xc$=""
3780ENDPROC
3800DEFFNxa(c_$,Yc%)
3810LOCALt%,Zc%,ac%,a$:t%=-1:ac%=-1
3820REPEAT
3830qb$=FNvb
3840Zc%+=1:qb$=FNbc(qb$):a$=FNcc(qb$)
3850IFASC(qb$)=1THENt%=0:xb$=CHR$1:dc$=""
3860IFLEFT$(qb$,5)="From "THENt%=0:xb$="From ":dc$=""
3870IFLEFT$(qb$,8)="#! rmail"THENt%=0:xb$="#! rmail":dc$="":nb%=VALMID$(qb$,10)
3880IFLEFT$(qb$,8)="#! rnews"THENt%=1:xb$="#! rnews":dc$="Newsgroups:":nb%=VALMID$(qb$,10)
3890IFLEFT$(a$,11)="newsgroups:"ORLEFT$(a$,5)="xref:"ORLEFT$(a$,5)="path:"THENac%=1
3900IFLEFT$(a$,4)="to: "ORLEFT$(a$,14)="apparently-to:"THENac%=0
3910UNTILt%>=0OR_a%<>0
3920IFt%<0THEN
3930t%=1:xb$="#! rnews":dc$="Newsgroups:"
3940IFac%=0THENt%=0:xb$="From ":dc$=""
3950ENDIF
3960IFZc%>1THENPROCec(c_$,t%,Yc%)
3970wb%=LENxb$
3980=t%
4000DEFPROCpb(qb$)
4010LOCALA$
4020IFxb$<>"From "ANDLEFT$(qb$,wb%)=xb$THENrb%=TRUE:ENDPROC
4030PROCfc(qb$)
4040IFwa%=1ANDLEFT$(qb$,5)="Path:"THENPROCgc(qb$):ENDPROC
4050IFkb%>0THENENDPROC
4060IFwa%=0ORTc%=11THEN
4070IFwa%=0THEN
4080A$="Email."+da$:IFFNhc(da$)=0THENA$="Email.postmaster"
4090ELSE
4100A$=Mc$:hb%()=0
4110ENDIF
4120PROCic(qb$):PROCjc(A$):rb%=TRUE:kb%=1
4130IFwa%=1THENPROCkc
4140ENDIF
4150ENDPROC
4170DEFPROCfc(A$)
4180LOCALlc%:IFA$=""THENENDPROC
4190CALLmc%,A$,lc%
4200CASElc%OF
4210WHEN1:Ic$=FNbc(MID$(A$,9))
4220WHEN2:Hc$=FNbc(MID$(A$,6))
4230WHEN3:Lc$=FNbc(MID$(A$,12))
4240WHEN4:Qc$=FNbc(MID$(A$,12))
4250WHEN5:Nc%=FNnc(MID$(A$,9))
4260WHEN6:Rc$=FNbc(MID$(A$,9))
4270WHEN7:Oc%=FNnc(MID$(A$,7))
4280WHEN8:rb%=TRUE
4290WHEN9:IFGc$=""THENGc$=FNbc(MID$(A$,15))
4300WHEN10:Gc$=FNbc(MID$(A$,4))
4310WHEN11:Mc$=FNbc(MID$(A$,12))
4320WHEN12:Sc$=FNbc(MID$(A$,20))
4330WHEN13:Uc$=FNbc(MID$(A$,12))
4340WHEN14:Vc$=FNbc(MID$(A$,10))
4350WHEN15:Wc$=FNbc(MID$(A$,10))
4360WHEN16:PROCsb(A$):rb%=TRUE:qb$=""
4370WHEN17:Xc$=FNbc(MID$(A$,12))
4380WHEN18:Jc$=FNbc(MID$(A$,5))
4390WHEN19:Kc$=FNbc(MID$(A$,19))
4400WHEN20
4410OTHERWISE:IFLEFT$(A$,1)=" "THENPROCoc(A$,Tc%)ELSEqc%=0
4420ENDCASE
4430IFlc%>0THENTc%=lc%
4440ENDPROC
4460DEFPROCoc(a$,t%)
4470CASEt%OF
4480WHEN10:IFLENGc$+LENa$<250THENGc$+=a$
4490WHEN17:IFLENXc$+LENa$<250THENXc$+=a$
4500WHEN18:IFLENJc$+LENa$<250THENJc$+=a$
4510ENDCASE
4520ENDPROC
4540DEFFNnc(A$)
4550LOCALrc%,d$,m$,y$,l%,m%
4560l%=INSTR(A$,","):IFl%>0THENA$=MID$(A$,l%+1)
4570A$=FNbc(A$):A$=FNcc(A$):l%=INSTR(A$," ")
4580d$=LEFT$(A$,l%-1):IFl%=2THENd$="0"+d$
4590m%=INSTR("janfebmaraprmayjunjulaugsepoctnovdec",MID$(A$,l%+1,3))DIV3+1
4600m$=RIGHT$("0"+STR$m%,2)
4610y$=MID$(A$,l%+5,4):l%=INSTR(y$," ")
4620IFl%>0THENy$=STR$((FNr_)DIV1E6)+LEFT$(y$,2)
4630IFVALd$*VALm$*VALy$>0THENrc%=VAL(y$+m$+d$)
4640=rc%
4660DEFPROCsc(g%,tc$)
4670LOCALa%,f$,uc$
4680REPEATuc$=FNvc(tc$," ")
4690PROCm_("",FNf`("Acancel",uc$),"",""):a%=FNwc(g%,uc$)
4700IFa%>0THEN
4710PROCxc(g%,a%):PROCx_("Cancelled "+uc$+" in "+Z`$(g%))
4720ELSE
4730PROCm_("",FNn_("Afail"),"","")
4740ENDIF
4750UNTILtc$=""
4760ENDPROC
4780DEFPROCyc(g%,a$)
4790LOCALc$
4800c$=FNbc(FNvc(a$," "))
4810IFc$="cancel"ANDzc%<>0THEN
4820a$=FNbc(a$):IFLEFT$(a$,1)="<"ANDRIGHT$(a$)=">"THENPROCsc(g%,a$)
4830ENDIF
4840ENDPROC
4860DEFPROCkc
4870LOCAL_c$,c%,t%
4880IFhb%(0)>0THEN
4890_c$="Xref: "+`c$
4900c%=0:REPEAT
4910IFLEN_c$+LENZ`$(hb%(c%))<200THEN_c$=_c$+" "+Z`$(hb%(c%))+":"+STR$Ad%(c%)
4920c%+=1
4930UNTILhb%(c%)=0ORc%=Bd%
4940t%=yb%:yb%=0:PROCsb(_c$):yb%=t%
4950ENDIF
4960ENDPROC
4980DEFPROCgc(a$)
4990LOCALCd%,l%:l%=0
5000IF`c$>""ANDINSTR(a$,`c$)<1THEN
5010Cd%=yb%:yb%=TRUE
5020PROCic("Path: "+`c$+"!"):yb%=Cd%
5030l%=INSTR(a$,":")
5040ENDIF
5050PROCsb(FNbc(MID$(a$,l%+1))):rb%=TRUE
5060ENDPROC
5080DEFFNvb
5100LOCALC%,P%,l%,Dd%,A$
5110yb%=FALSE:P%=0:rb%=0:ua%=mb%
5130IFmb%+254<Kb%ANDDc%+254<ma%THEN
5140Dd%=Dc%+ja%:CALLvb%,yb%,Dd%,A$
5150P%=LENA$-(yb%=0):Dc%+=P%:mb%+=P%:=A$
5160ENDIF
5180P%=0:REPEAT
5190C%=Dc%?ja%:Dc%+=1:P%+=1
5200IFP%<250THENx`%?P%=C%ELSEC%=10:yb%=TRUE
5210IFmb%>=Kb%THEN_a%=TRUEELSEIFDc%=ma%PROCEd
5220UNTILC%=10ORC%=13OR_a%<>0:mb%+=P%
5230IFx`%?P%<32ANDx`%?P%<>1THENx`%?P%=13ELSEx`%?(P%+1)=13
5240=$(x`%+1)
5260DEFPROC_b
5270LOCALFd$,t%
5280IFKb%>0THEN
5290Fd$=STR$mb%+"/"+STR$Kb%+" bytes ("+STR$(INT(100*(mb%/Kb%)))+"%) "
5300t%=ABS(za%-r_%)DIV100:IFt%>0THENFd$+=STR$((mb%-ca%)DIVt%)+"cps"
5310PROCm_("","",Fd$,FNf`("Newnews",STR$ya%))
5320IFGd$=z`$THENPROC_`("newsbased")ELSEPROC_`(z`$)
5330ENDIF
5340ENDPROC
5360DEFPROCsb(A$)
5380IFsa%>Hd%PROCla(ma%+Ec%+fb%)
5390$(na%+sa%)=A$:sa%+=LENA$:IFyb%THENPROCId
5400na%?sa%=10:sa%+=1
5410ENDPROC
5430DEFPROCId
5440WHILEyb%
5450A$=FNvb
5460IFsa%>Hd%THENPROCla(ma%+Ec%+fb%)
5470$(na%+sa%)=A$:sa%+=LENA$
5480ENDWHILE
5490ENDPROC
5510DEFPROCic(A$)
5520IFsa%>Hd%PROCla(ma%+Ec%+fb%)
5530$(na%+sa%)=A$:sa%+=LENA$:IFyb%=0THENna%?sa%=10:sa%+=1
5540ENDPROC
5560DEFPROCla(Jd%)
5570REPEAT
5580SYS262380,Kd%+Jd%,-1TOLd%
5590IF(Kd%+Jd%)>Ld%THENPROCj_("Needmem1",1)
5600UNTIL(Kd%+Jd%)<=Ld%
5610Ec%=Ld%-Kd%-ma%:Hd%=Ec%-300
5620ENDPROC
5640DEFPROCe_
5650LOCALf%,F%
5660REPEAT
5670f%=FNMd(Nd$)
5680IFf%<(Od%*1024)THENPROCj_("Needdisk",1)
5690UNTILf%>=(Od%*1024)
5700ENDPROC
5720DEFFNMd(a$)
5730LOCALF%,f%
5740SYS131113,49,Nd$TOf%;F%:IF(F%AND1)<>0THENf%=0
5750=f%
5770DEFFNbc(A$)
5790LOCALB$:IFA$>""THENCALLPd%,A$,B$
5800=B$
5820DEFPROCoa(f$,Yc%)
5830Db%=FNLa(f$)
5840Dc%=0:_a%=FALSE:Kb%=0:mb%=Yc%
5850IFDb%<>0THENKb%=EXT#Db%:PTR#Db%=Yc%
5860PROCEd
5870ENDPROC
5890DEFPROCec(f$,t%,Yc%)
5900LOCALa$:a$=FNn_("Mail"):IFt%>0THENa$=FNn_("News")
5910PROCPa("Dbadhead",a$,0)
5920PROCMa(Db%):qb$="":qa%=FALSE:PROCoa(f$,Yc%)
5930ENDPROC
5950DEFPROCEd
5960LOCALr3%,F%
5970IFDb%<>0THEN
5980SYS131084,4,Db%,ja%,ma%TO,,,r3%;F%
5990IF(F%AND1)<>0ORr3%>0THENPROCMa(Db%)
6000ENDIF
6010Dc%=0
6020ENDPROC
6040DEFFNQd(g$,c%)
6050LOCALg%
6060g%=FNRd(FNbc(g$),TRUE)
6070IFg%>0ANDc%<=Bd%THENhb%(c%)=g%:Ad%(c%)=FNSd(g%):c%+=1
6080=c%
6100DEFPROCTd
6110LOCALg%
6120CASEwa%OF
6130WHEN0:g%=FNRd("Email.postmaster",TRUE)
6140OTHERWISE:g%=FNRd("junk",TRUE)
6150ENDCASE
6160IFg%>0THENhb%()=0:hb%(0)=g%:Ad%(0)=FNSd(g%)
6170ENDPROC
6190DEFPROCjc(Ud$)
6200LOCALVd%:Vd%=0
6210IFINSTR(Ud$,",")=0THENVd%=FNQd(Ud$,Vd%):ENDPROC
6220IFyb%THENPROCWd(Ud$):ENDPROC
6230REPEAT
6240Vd%=FNQd(FNvc(Ud$,","),Vd%)
6250UNTILUd$=""
6260ENDPROC
6280DEFPROCWd(Ud$)
6290LOCALg$,p%,Xd$,Yd$,Vd%,Zd%:Vd%=0:Zd%=0
6300REPEAT
6310Xd$=""
6320IFyb%=0THEN
6330Zd%=TRUE
6340ELSE
6350p%=LENUd$:REPEATp%-=1:UNTILp%=1ORMID$(Ud$,p%,1)=","
6360IFMID$(Ud$,p%,1)=","THENXd$=MID$(Ud$,p%+1):Ud$=LEFT$(Ud$,p%-1)
6370ENDIF
6380REPEAT
6390g$=FNvc(Ud$,","):IFYd$>""THENg$=Yd$+g$:Yd$=""
6400Vd%=FNQd(g$,Vd%)
6410UNTILg$=""ANDUd$=""
6420Yd$=Xd$
6430IFyb%THENUd$=FNvb:PROCic(Ud$)
6440UNTILZd%
6450ENDPROC
6470DEFPROCAb
6480LOCALc%,u$,g$
6490IFhb%(0)=0THENPROCTd
6500IFad%(wa%)>0THENPROCbd
6510IFwa%=0THEN
6520g$=Z`$(hb%(0)):u$=FNcd(g$)
6530PROCx_("New mail for "+u$+" from "+Hc$)
6540IFSc$>""PROCdd(Sc$)
6550IFFNed(g$,u$)=1THENENDPROC
6560ENDIF
6570ta%=ua%
6580c%=0:WHILEhb%(c%)>0ANDc%<Bd%
6590PROCfd(hb%(c%),Ad%(c%)):c%+=1
6600ENDWHILE
6610ENDPROC
6630DEFPROCbd
6640LOCALl%,t%:l%=0
6650WHILEl%<=gd%:t%=hd%(l%)
6660IFt%=3OR(t%=2ANDwa%=0)OR(t%=1ANDwa%=1)THENIFFNid(l%)<>0THENl%=gd%
6670l%+=1
6680ENDWHILE
6690ENDPROC
6710DEFFNid(n%)
6720LOCALn$,a$,R_%,jd%,m`%
6730jd%=0
6740FORR_%=0TO2:kd%(R_%)=FALSE
6750a$="*"+ld$(n%,R_%)+"*"
6760CASEld%(n%,R_%)OF
6770WHEN1:IFFNmd(a$,Hc$)>0THENkd%(R_%)=TRUE
6780WHEN2:IFFNmd(a$,Gc$)>0ORFNmd(a$,Jc$)>0ORFNmd(a$,Kc$)>0THENkd%(R_%)=TRUE
6790WHEN3:IFFNmd(a$,Ic$)>0THENkd%(R_%)=TRUE
6800WHEN4:IFFNmd(a$,Mc$)>0THENkd%(R_%)=TRUE
6810WHEN5:IFFNmd(a$,Vc$)>0THENkd%(R_%)=TRUE
6820WHEN6:IFFNmd(a$,Uc$)>0THENkd%(R_%)=TRUE
6830WHEN7:IFFNmd(a$,da$)>0THENkd%(R_%)=TRUE
6840ENDCASE
6850IFnd%(n%,R_%)>0THENkd%(R_%)=(kd%(R_%)=FALSE)
6860NEXTR_%
6870jd%=kd%(0)
6880IFld%(n%,1)>0THEN
6890IFod%(n%,1)=0THENjd%=jd%*kd%(1)ELSEjd%=jd%+kd%(1)
6900IFld%(n%,2)>0THEN
6910IFod%(n%,2)=0THENjd%=jd%*kd%(2)ELSEjd%=jd%+kd%(2)
6920ENDIF
6930ENDIF
6940IFjd%THEN
6950PROCm_("",FNf`("Fapply",STR$(n%+1)),"","")
6960a$=FNpd(qd$(n%))
6970CASEqd%(n%)OF
6980WHEN1:PROCrd:PROCTd
6990WHEN2:PROCrd
7000WHEN3:IFLEFT$(a$,1)="+"THENn$=FNvc(a$," "):ELSEPROCrd
7010PROCx_("Filter redirection to "+a$)
7020jd%=0:WHILEhb%(jd%)>0ANDjd%<Bd%:jd%+=1:ENDWHILE
7030WHILEa$>""
7040m`%=jd%:n$=FNvc(a$," ")
7050jd%=FNQd(FNbc(n$),jd%)
7060IFjd%=m`%ANDn$>""THENPROCx_("Invalid redirection to "+n$)
7070ENDWHILE
7080WHEN4:PROCsd(a$)
7090ENDCASE
7100ENDIF
7110=jd%
7130DEFFNpd(a$)
7140LOCALb$,l%
7150l%=INSTR(a$,"%")
7160WHILEl%>0:b$=""
7170CASEMID$(a$,l%+1,1)OF
7180WHEN"u":IFwa%=1THENb$="news"ELSEb$=FNcd(Z`$(hb%(0)))
7190WHEN"f":b$=Hc$
7200WHEN"t":b$=Gc$
7210WHEN"c":b$=Jc$
7220WHEN"r":b$=Vc$
7230WHEN"%":b$="%"
7240ENDCASE
7250a$=LEFT$(a$,l%-1)+b$+MID$(a$,l%+2):l%+=LENb$-1
7260l%=INSTR(a$,"%",l%)
7270ENDWHILE
7280=a$
7300DEFPROCrd
7310LOCALn%,g%:n%=0:REPEATg%=hb%(n%):IFg%>0THENhb%(n%)=0:IFtd%(g%)>0THENtd%(g%)-=1
7320n%+=1:UNTILg%=0ORn%>Bd%
7330ENDPROC
7350DEFPROCsd(a$)
7360LOCALf$,b$,F%,m%,d%:f$=FNXa
7370SYS131080,10,f$,&FFF,,na%,na%+sa%TO;F%
7380IF(F%AND1)=0THEN
7390WHILELEFT$(FNbc(a$),1)="-"
7400b$=FNvc(a$," ")
7410CASELEFT$(b$,2)OF
7420WHEN"-M":m%=1024*VALMID$(b$,3)
7430WHEN"-K":PROCrd
7440WHEN"-D":d%=TRUE
7450WHEN"-J":PROCrd:PROCTd
7460ENDCASE
7470ENDWHILE
7480IFFNG_(0)<m%THENPROCj_("Fmem1",1)
7490IFFNG_(0)>=m%THEN
7500PROCx_("Submitting filter job: "+a$):PROCud
7510SYS393438,a$+" "+f$:PROCvd:IFd%THENPROCS_(0):F%=FNJa(f$)
7520ELSE
7530PROCj_("Fmem2",0)
7540ENDIF
7550ENDIF
7560ENDPROC
7580DEFFNed(g$,u$)
7590LOCALu%,f$,F%,wd$,xd%
7600u%=FNyd(u$):IFu%>0THEN
7610f$=FNzd(u$)+".vacation"
7620IFFNSb(f$)=1THEN
7630IFUc$<>"bulk"ANDUc$<>"junk"ANDHc$>""THEN
7640IFFNIa(f$)>0THENPROC_d(u$,f$)
7650ENDIF
7660ENDIF
7670IF`d$(u%)>""THEN
7680wd$=`d$(u%):WHILELEFT$(wd$,1)="+":wd$=MID$(wd$,2):ENDWHILE
7690PROCx_("Forwarding mail for "+u$+" to "+wd$)
7700f$=FNXa:SYS131080,10,f$,&FFF,,na%,na%+sa%TOy`%;F%
7710IF(F%AND1)=0THEN
7720f$=FNAe(wd$,f$,u$)
7730IFf$=""ANDLEFT$(`d$(u%),1)<>"+"THENxd%=1
7740ENDIF
7750ENDIF
7760ENDIF
7770IFxd%=0ANDINSTR(Wb$,u$)=0THENWb$+=","+u$
7780=xd%
7800DEFFNcd(g$)
7810LOCALu$,u%:u$=g$
7820IFLEFT$(FNcc(g$),6)="email."THEN
7830u$=MID$(g$,7):u%=INSTR(u$,"."):IFu%>0THENu$=LEFT$(u$,u%-1)
7840ENDIF
7850=u$
7870DEFPROC_d(u$,Be$)
7880LOCALf$,d$,s$,F%
7890f$=FNXa:d$=Hc$:IFVc$>""THENd$=Vc$
7900s$=Ic$:IFLEFT$(FNcc(Ic$),4)<>"re: "THENs$="Re: "+s$
7910Ka%=FNCe(f$)
7920IFKa%>0ANDd$>""THEN
7930Be%=FNLa(Be$)
7940IFBe%>0THEN
7950BPUT#Ka%,"To: "+d$
7960BPUT#Ka%,"From: "+u$+"@"+De$
7970BPUT#Ka%,"Subject: "+s$
7980PROCEe(Ka%):PROCFe(Be%,Ka%)
7990PROCMa(Ka%):PROCMa(Be%):PROCWa(f$,&FFF)
8000a$=FNZa(f$,u$)
8010ELSE
8020PROCMa(Ka%)
8030ENDIF
8040ENDIF
8050F%=FNJa(f$)
8060ENDPROC
8080DEFPROCdd(d$)
8090LOCALf$,a$,s$,F%
8100IFGe%<>0ANDUc$<>"bulk"ANDUc$<>"junk"THEN
8110f$=FNXa
8120s$=Ic$:IFLEFT$(FNcc(s$),4)<>"re: "ANDs$>""THENs$="Re: "+s$
8130Ka%=FNCe(f$)
8140IFKa%>0THEN
8150BPUT#Ka%,"To: "+d$
8160BPUT#Ka%,"From: mailer-daemon@"+De$
8170BPUT#Ka%,"Subject: Acknowledgement of receipt "+s$
8180PROCEe(Ka%)
8190BPUT#Ka%,"Your message "+Lc$
8200IFIc$>""THENBPUT#Ka%,"concerning "+Ic$
8210BPUT#Ka%,"to "+Gc$
8220BPUT#Ka%,"was received at "+`c$
8230PROCMa(Ka%):PROCWa(f$,&FFF)
8240a$=FNZa(f$,"mailer-daemon"):F%=FNJa(f$)
8250ENDIF
8260ENDIF
8270ENDPROC
8290DEFPROCEe(jb%)
8300BPUT#jb%,"Message-ID: <"+FNHe+"@"+`c$+">"
8310BPUT#jb%,"Date: "+FNIe
8320BPUT#jb%,"Precedence: bulk"
8330BPUT#jb%,"X-Mailer: RISC OS Newsbase "+Je$
8340BPUT#jb%,""
8350ENDPROC
8370DEFPROCfd(g%,s%)
8380LOCALg$,s$,Ke$,Le$
8390IFQc$>""ANDWc$>""PROCsc(g%,Qc$)
8400IFRc$>""ANDWc$>""PROCyc(g%,Rc$)
8410g$=Z`$(g%):s$=FNMe(s%):Le$=FNNe(g%,s$,0,"",0)
8420IFLe$>""THEN
8430PROCW`(2,g$,s%,Hc$,Ic$):PROCOe(g%,s%)
8440IFNc%>0ANDPe%=0THENPROCQe(Le$,Nc%)
8450PROCm_("",g$+"."+s$,"",""):PROCS_(c`%)
8460IFya%MOD30=0ANDRe%=0THENPROCEb
8470ELSE
8480PROCK`(FNSe("Dsavefail",STR$s%,g$),1)
8490PROCx_("Debatch save failure: "+g$+" #"+STR$s%)
8500ENDIF
8510ENDPROC
8530DEFPROCEb
8540IFta%=0ORFNMd(Nd$)<200THENENDPROC
8550Te%=FNCe(Nd$+".recover")
8560IFTe%>0THEN
8570BPUT#Te%,da$
8580BPUT#Te%,STR$Kb%
8590BPUT#Te%,STR$ta%
8600PROCMa(Te%):PROCWa(Nd$+".recover",&FFF)
8610PROCdb
8620ENDIF
8630ENDPROC
8650DEFPROCMb
8660LOCALF%:F%=FNJa(Nd$+".recover")
8670ENDPROC
8690DEFFNN`(RETURNp%)
8700LOCALf$,Be$,l%,m$
8710Te%=FNLa(Nd$+".recover")
8720IFTe%>0THEN
8730f$=GET$#Te%
8740l%=VALGET$#Te%
8750p%=VALGET$#Te%
8760PROCMa(Te%)
8770Be$=Na$+"."+f$
8780IFFNSb(Be$)=1ANDFNIa(Be$)=l%ANDp%<l%THEN
8790m$=FNSe("Drecover",f$,STR$p%)
8800PROCK`(m$,0):PROCS_(0):PROCx_(m$)
8810l%=FNJa(Nd$+".recover"):PROCS_(100):PROCK`("",0)
8820ELSE
8830Be$="":p%=0
8840ENDIF
8850ENDIF
8860=Be$
8880DEFPROCQe(f$,d%)
8890LOCALF%,e%,l%
8900SYS131080,2,f$,&FFFFFFFFTO;F%
8910SYS131080,3,f$,,d%TO;F%
8920IF(F%AND1)THEN
8930SYS131080,9,f$
8940ELSE
8950SYS131080,17,f$TO,,l%,e%;F%
8960IF(F%AND1)=0THENIFl%<>&FFFFFFFFORe%<>d%THENSYS131080,9,f$
8970ENDIF
8980ENDPROC
9000DEFFNUe(g%,s%,Ca$)
9010LOCALVe$
9020IFg%>0THEN
9030Ve$=FNNe(g%,FNMe(s%),1,Ca$,0)
9040IFVe$>""THEN
9050PROCW`(2,Z`$(g%),s%,Hc$,Ic$)
9060PROCOe(g%,s%)
9070ENDIF
9080ENDIF
9090=(Ve$>"")
9110DEFFNNe(g%,Ve$,We%,Ca$,Xe%)
9160LOCALp$,Ke$,Le$,Ye$,a$,F%,Ze%,ae%,y`%
9170Ze%=0:ae%=0:p$=FNY`(Z`$(g%))
9180IFg%>0ANDp$>""THEN
9190Ye$=p$+".~x":a$="~x":IFXe%=0THENa$=FNbe(VALVe$)
9200Ke$=Ye$+"."+a$:Le$=Ke$+"."+Ve$
9210REPEAT
9220F%=0
9230CASEWe%OF
9240WHEN0:SYS131080,10,Le$,&FFF,,na%,na%+sa%TOy`%;F%
9250WHEN1:SYS131113,26,Ca$,Le$TOy`%;F%
9260WHEN2:IFCa$<>Le$THENSYS131113,25,Ca$,Le$TOy`%;F%
9270ENDCASE
9280IF(F%AND1)THEN
9290y`%=(!y`%AND&FF)
9300CASEy`%OF
9310WHEN&B3:PROCe_:PROCce(Ke$)
9320WHEN&D6:IFae%=0THEN
9330ae%=1
9340IFFNde(Ye$)=0THENF%=FNRb(Ke$):ELSEKe$=Ye$
9350ELSE
9360Ke$=Ye$
9370ENDIF
9380OTHERWISE:PROCe_
9390ENDCASE
9400Ze%+=1
9410ELSE
9420y`%=0
9430ENDIF
9440UNTILZe%>3ORy`%=0
9450ENDIF
9460IFy`%>0THENLe$=""
9470=Le$
9490DEFFNde(d$)
9500LOCALr3%,F%:SYS131084,11,d$,x`%,1,0,250,"*"TO,,,r3%;F%
9510IF(F%AND1)=0ANDr3%>0THENt%=x`%!16:IFt%=1THENF%=FNee(d$)
9520=0
9540DEFFNbe(n%)
9550="~x"+STR$(((n%)DIV75)MOD75)
9570DEFPROCce(p$)
9580IFLEFT$(FNw`(p$),2)="~x"THENF%=FNee(p$)ELSEPROCPa("Fulldir",p$,1)
9590ENDPROC
9610DEFFNee(p$)
9620LOCALfe%,l$:l$=FNw`(p$)
9630fe%=FNTb(p$,Na$+"."+l$)
9640PROCRb(p$)
9650IFfe%=0THENfe%=FNTb(Na$+"."+l$,p$+"."+l$)
9660=(fe%AND1)
9680DEFFNSd(g%)
9690IFtd%(g%)<>0THEN
9700td%(g%)=ABS(td%(g%))+1
9710ELSE
9720td%(g%)=FNge(FNY`(Z`$(g%)),0)
9730IFtd%(g%)=0THENtd%(g%)=1
9740ENDIF
9750=ABStd%(g%)
9770DEFFNMe(s%)
9780=RIGHT$("00000000"+STR$(ABSs%),8)
9800DEFFNRb(Y`$)
9810LOCALp$,l%,he$,F%,t%,jd%
9820t%=FNSb(Y`$):jd%=t%
9830IFt%<2THEN
9840Y`$=FNie(Y`$):l%=INSTR(Y`$,"$"):jd%=1
9850REPEAT
9860l%=INSTR(Y`$+".",".",l%+1)
9870p$=LEFT$(Y`$,l%-1):t%=FNSb(p$)
9880CASEt%OF
9890WHEN0:PROCm_("",FNf`("Dmakepath",p$),"","")
9900SYS131080,8,p$TOy`%;F%:IF(F%AND1)THENjd%=0
9910WHEN1:jd%=0
9920OTHERWISE:he$=p$
9930ENDCASE
9940IFjd%=0:PROCPa("Dpathfail",p$,1)
9950UNTILl%>=LENY`$ORjd%=0
9960ENDIF
9970=jd%
9990DEFFNRd(g$,je%)
10000LOCALke%,le%,me%,ne%,oe$,lc%
10010oe$=FNcc(g$)
10020IFoe$=pe$THEN
10030lc%=pe%
10040ELSE
10050IFg$>""ANDINSTR(g$,"*")<1THEN
10060ke%=1:le%=g`%:ne%=0
10070WHILEke%<=le%
10080me%=(ke%+le%)DIV2:qe$=FNcc(Z`$(me%))
10090IFoe$<qe$THEN
10100le%=me%-1
10110ELSE
10120IFoe$>qe$THENke%=me%+1ELSEne%=me%:ke%=le%+1
10130ENDIF
10140ENDWHILE
10150IFne%>0THEN
10160pe$=oe$:pe%=ne%:lc%=ne%
10170ELSE
10180IFje%THEN
10190ne%=0:IFFNre(g$)ANDFNse(g$)=0THENne%=FNte(g$)
10200IFne%>0THENpe$=oe$:pe%=ne%:lc%=ne%
10210ENDIF
10220ENDIF
10230ENDIF
10240ENDIF
10250=lc%
10270DEFFNue(g%)
10280=FNY`(Z`$(g%))
10300DEFFNve(g$)
10310LOCALoe$:oe$=FNcc(g$)
10320IFLEFT$(oe$,6)="email."THEN:="Email."+MID$(g$,7)
10330IFLEFT$(oe$,7)="folder."THEN:="Folder."+MID$(g$,8)
10340=oe$
10360DEFFNte(g$)
10370LOCALp$,lc%:g$=FNve(g$)
10380p$=FNY`(g$):lc%=0
10390IFp$>""ANDg`%<we%THEN
10400PROCJb:PROCeb(0,0)
10410IFFNRb(p$)<>0THEN
10420PROCW`(0,g$,0,"",""):PROCm_("",FNf`("Gcreate",g$),"","")
10430lc%=FNxe(g$,TRUE):IFlc%>0THEN
10440PROCx_(FNf`("Lcrgrp",g$))
10450SYS131080,11,p$+".~index",&FFD,0,0
10460SYS131080,8,p$+".~x",0
10470ENDIF
10480ENDIF
10490ENDIF
10500=lc%
10520DEFFNxe(g$,ye%)
10530LOCALl%,R_%,w%,oe$,ke%,le%,me%:g$=FNve(g$):oe$=FNcc(g$)
10540IFoe$<FNcc(Z`$(g`%))THEN
10550l%=1:WHILEoe$>FNcc(Z`$(l%))ANDl%<=g`%:l%+=1:ENDWHILE
10560ELSE
10570l%=g`%+1
10580ENDIF
10590IFl%<we%THEN
10600FORw%=g`%TOl%STEP-1
10610Z`$(w%+1)=Z`$(w%):ze%(w%+1)=ze%(w%):td%(w%+1)=td%(w%)
10620_e%(w%+1)=_e%(w%)
10630`e%(w%+1)=`e%(w%)
10640NEXTw%
10650Z`$(l%)=g$:ze%(l%)=-1:td%(l%)=0
10660_e%(l%)=0:`e%(l%)=0
10670IFye%<>0THEN
10680IFFNAf(g$)=0THEN`e%(l%)=FNBf(g$)
10690IFFNAf(g$)>1THEN_e%(l%)=1E6
10700ENDIF
10710g`%+=1
10730FORR_%=0TOBd%
10740IFhb%(R_%)>l%THENhb%(R_%)+=1
10750NEXTR_%
10760ELSE
10770l%=0:PROCCf
10780ENDIF
10790=l%
10810DEFPROCCf
10820PROCj_("Gfull",1)
10830ENDPROC
10850DEFPROCDf(g$)
10860LOCALl%,w%:WHILEZ`$(l%)<>g$ANDl%<=g`%:l%+=1:ENDWHILE
10870IFZ`$(l%)=g$THEN
10880PROCJb:PROCeb(0,0)
10890FORw%=l%+1TOg`%
10900Z`$(w%-1)=Z`$(w%):ze%(w%-1)=ze%(w%)
10910td%(w%-1)=td%(w%):`e%(w%-1)=`e%(w%)
10920_e%(w%-1)=_e%(w%)
10930NEXTw%
10940Z`$(g`%)="":g`%-=1:pe$="BLANK"
10950ENDIF
10960ENDPROC
10980DEFFNSb(f$)
10990LOCALF%,t%
11000SYS131080,17,f$TOt%;F%
11010IF(F%AND1)THEN=-1
11020=t%
11040DEFFNfa(f$)
11050LOCALF%
11060SYS131080,23,f$TO,,,,,,t%;F%
11070IF(F%AND1)THEN=-1
11080=t%
11100DEFPROCa`(Vd%,Ef%,Ff%)
11120LOCALGf%,n$,Hf%,If%:If%=0
11130Jf%=_e%(Vd%):IFJf%=0THENJf%=Kf%
11140IFJf%>1E4THENprot%=TRUE
11150IFZ`$(Vd%)>""THEN
11160Jf%+=Ef%:IFJf%<0THENJf%=0
11170Gf$=FNY`(Z`$(Vd%))
11180IFLf%=0ANDFNAf(Z`$(Vd%))>1THENIf%=TRUE
11190IFFf%<>0THENHf%=FNMf(Gf$,Vd%,Jf%,FALSE,If%):PROCU`(Gf$)
11200PROCW`(12,Z`$(Vd%),0,"","")
11210ENDIF
11220ENDPROC
11240DEFFNMf(p$,g%,Jf%,Nf%,Of%)
11250LOCALHf%:Hf%=0
11260IFOf%THEN
11270PROCm_(FNf`("Gcomp",Z`$(g%))," "," "," ")
11280ELSE
11290PROCm_(FNf`("Gexp",Z`$(g%)),FNf`("Glast",""),FNf`("Gtime",STR$Jf%)," ")
11300ENDIF
11310IFFNSb(p$)>1THEN
11320Hf%=FNJa(p$+".~seq"):Hf%=FNde(p$+".~x")
11330d`%=FALSE:Hf%=FNPf(p$,g%,Jf%,Nf%,Of%)
11340PROCeb(0,0):PROCm_(FNn_("Done")," "," "," ")
11350ENDIF
11360PROCQf("")
11370=Hf%
11390DEFFNPf(p$,Rf%,Jf%,Nf%,Of%)
11400LOCALSf%,f%,f$,V`%,t$,t%,r3%,Tf%,v%,Uf%,Vf%,Hf%,Wf$,Xf%
11410LOCALYf%,Da%,Ea%,Zf%,af%,bf%,cf%,df%,ef%
11420LOCALg$,Xe%,ff%,gf%
11430g$=Z`$(Rf%)
11440IFNf%THEN
11450PROCQf(FNf`("Gdel",g$))
11460ELSE
11470IFOf%THENPROCQf(FNf`("Gcomp",g$))ELSEPROCQf(FNf`("Gexp",g$))
11480ENDIF
11490df%=(RIGHT$(p$,6)=".~x.~x")
11500f$=FNw`(p$):cf%=(RIGHT$(FNv`(p$),LENf$)=f$)
11510gf%=0:Sf%=0
11520V`%=FNhf(FNr_):Xf%=Jf%:Ea%=FNFa(Da%,Ga%,"expire")
11530REPEAT
11540Zf%=Da%
11550SYS131084,11,p$,Da%,20,Sf%,Ga%,"*"TO,,,r3%,Sf%;F%:Tf%=Sf%
11560IFr3%>0AND(F%AND1)=0THEN
11570gf%+=r3%
11580FORaf%=1TOr3%
11590t%=Zf%!16:Uf%=Zf%!12:f$=FNHa(Zf%+29):ef%=Zf%+24:ff%=Zf%!8
11600v%=VALf$:Yf%=0:bf%=df%:Xe%=((Uf%AND8)AND(df%=FALSE))
11610CASEt%OF
11620WHEN1
11630IFv%>0THEN
11640IF(Zf%?28)<>&FFORNf%<>0THEN
11650
11660SYS274507,1,ef%,x`%,128,"%CE%YR%MN%DY"TOb%
11670Vf%=VALFNHa(b%)
11680IFFNhf(Vf%)<=V`%-Xf%THENYf%=TRUE
11690ELSE
11710Vf%=(Zf%!24)
11720IFVf%<=FNr_THEN
11730Yf%=TRUE
11740ELSE
11760IFXf%=0THENbf%=TRUE
11770IFFNmd("clari*",g$)=0ANDdf%=0ANDgf%<6THENXe%=TRUE
11780ENDIF
11790ENDIF
11800IFOf%=0AND(Yf%ORNf%)THEN
11810IFNf%THENPROCif(p$+"."+f$,"R")
11820IFFNJa(p$+"."+f$)=0THEN
11830Sf%-=1:Hf%+=1:PROCjf(Rf%,VALf$):bf%=0
11840ELSE
11850IFFNSb(p$+"."+f$)=0THEN
11860PROCjf(Rf%,VALf$):bf%=0
11870ELSE
11880bf%=cf%
11890ENDIF
11900ENDIF
11910ELSE
11920IFkf%THENPROCkf(p$+"."+f$,ff%)
11930ENDIF
11960IFgf%>6THENXe%=0
11970IFbf%ORXe%THEN
11980PROCif(p$+"."+f$,"R")
11990Wf$=FNNe(Rf%,f$,2,p$+"."+f$,Xe%)
12000SYS131080,4,Wf$,,,,Uf%:SYS131080,4,p$+"."+f$,,,,Uf%
12010IFWf$>""THENSf%-=1
12020ENDIF
12030ENDIF
12040WHEN2,3:IFLEFT$(f$,2)="~x"THENHf%=Hf%+FNPf(p$+"."+f$,Rf%,Jf%,Nf%,Of%)
12050F%=FNJa(p$+"."+f$)
12060ENDCASE
12070IFd`%THENaf%=r3%
12080PROCS_(c`%*2):Zf%=Zf%+(33+LENf$)ANDNOT3
12090NEXTaf%
12100ENDIF
12110UNTILTf%=-1ORd`%
12120PROCQa(Ea%)
12130=Hf%
12150DEFPROCif(f$,a$)
12160SYS131113,24,f$,a$
12170ENDPROC
12190DEFPROCjf(g%,n%)
12200PROCeb(g%,n%):PROCW`(3,Z`$(g%),n%,"","")
12210PROCm_("","","",FNf`("Adel",STR$n%))
12220ENDPROC
12240DEFPROCj`(p$,o`%)
12250LOCALn%,f$,V`%,t%,t$,r3%,Tf%,a%,d%,Vf%,Da%,Ea%,af%,Zf%
12260n%=0:V`%=FNhf(FNr_):Ea%=FNFa(Da%,Ga%,"dbuf")
12270REPEAT
12280Zf%=Da%
12290SYS131084,11,p$,Da%,20,n%,Ga%,"*"TO,,,r3%,n%;F%:Tf%=n%
12300IFr3%>0AND(F%AND1)=0THEN
12310FORaf%=1TOr3%
12320t%=Zf%!16:a%=Zf%!12:f$=FNHa(Zf%+29)
12330CASEt%OF
12340WHEN1
12350IF(a%AND8)=0THEN
12360SYS274507,1,Zf%+24,x`%,128,"%CE%YR%MN%DY"TOb%
12370Vf%=VALFNHa(b%):IFFNhf(Vf%)<=V`%-o`%THENIFFNJa(p$+"."+f$)=0n%=n%-1
12380ENDIF
12390WHEN2,3:PROCj`(p$+"."+f$,o`%):F%=FNJa(p$+"."+f$)
12400ENDCASE
12410PROCS_(c`%*2):Zf%=Zf%+(33+LENf$)ANDNOT3
12420NEXTaf%
12430ENDIF
12440UNTILTf%=-1
12450PROCQa(Ea%)
12460ENDPROC
12480DEFFNr_
12490LOCALb%
12500?x`%=3:SYS7,14,x`%
12510SYS274507,1,x`%,x`%+128,128,"%CE%YR%MN%DY"TOb%
12520=VALFNHa(b%)
12540DEFFNt`
12550LOCALb%
12560?x`%=3:SYS7,14,x`%
12570SYS274507,1,x`%,x`%+128,128,"%CE%YR%MN%DY%24%MI"TOb%
12580=FNHa(b%)
12600DEFFNX`(f$)
12610LOCALl%,e%,o%,r%
12620SYS131080,23,f$TOo%,,l%,e%
12630IFo%>0THEN
12640!x`%=e%:x`%!4=l%
12650SYS274507,1,x`%,x`%+128,128,"%CE%YR%MN%DY"TOb%
12660r%=VALFNHa(b%)
12670ENDIF
12680=r%
12700DEFFNhf(t%)
12720LOCALhf%,lf%,mf%,m%,d%
12730hf%=t%MOD100
12740lf%=(t%DIV100)MOD100
12750mf%=(t%DIV10000)
12760d%=365*mf%+hf%
12770CASElf%OF
12780WHEN1:m%=0
12790WHEN2:m%=31
12800WHEN3:m%=59
12810WHEN4:m%=90
12820WHEN5:m%=120
12830WHEN6:m%=151
12840WHEN7:m%=180
12850WHEN8:m%=211
12860WHEN9:m%=242
12870WHEN10:m%=272
12880WHEN11:m%=303
12890WHEN12:m%=333
12900ENDCASE
12910=d%+m%
12930DEFPROCx_(A$)
12940LOCALl%
12950IFi_%ANDnf%THEN
12960IFA$>""ANDof%<20THEN
12970x_$(of%)=FNpf("# %YR%MN%DY %24%MI%SE ")+A$:of%+=1
12980ELSE
12990IFof%>0THEN
13000Ka%=FNqf(Nd$+".log")
13010IFKa%<>0THEN
13020PTR#Ka%=EXT#Ka%
13030FORl%=0TOof%
13040IFx_$(l%)>""THENBPUT#Ka%,x_$(l%)
13050NEXT
13060x_$()="":of%=0:PROCMa(Ka%):PROCWa(Nd$+".log",&FFF)
13070ENDIF
13080ENDIF
13090ENDIF
13100ENDIF
13110ENDPROC
13130DEFPROCWa(f$,t%)
13140SYS131080,18,f$,t%
13150ENDPROC
13170DEFPROCU`(f$)
13180SYS131080,9,f$
13190ENDPROC
13210DEFFNB_
13220LOCALne%,r0%,b%,a$:r0%=0
13230REPEAT
13240x`%!4=0:SYS272001,r0%,x`%,20TOr0%
13250IFr0%>=0ANDx`%!4>0THEN
13260b%=x`%!4:a$="":WHILE?b%>31ANDLENa$<255:a$+=CHR$?b%:b%+=1:ENDWHILE
13270IFLEFT$(a$,8)=rf$THENne%=1
13280ENDIF
13290UNTILr0%<0ORne%<>0
13300=ne%
13320DEFPROCA_
13330rf$="Newsbase"
13340SYS6,129,0,&FFTO,sf%:tf%=(sf%>&A4)
13350PROCuf
13360vf%=0:z`$="":wf$="":P`%=0
13370g`%=0:xf%=0:yf%=0:g_%=0
13380nb%=0:lb%=0:nf%=0
13390p`%=0:T_%=0:s`%=0:A`%=TRUE
13400zf$=STRING$(200," ")
13410_f%=0:d`%=0:`f%=0:h_%=0:C`%=0
13420ma%=16*1024:fb%=8192:Ga%=512
13430DIMx`% 256
13440Ag%=8000:Bg%=2048
13450DIMCg% Ag%
13460DIMDg% Bg%
13470Bd%=10:_f%=100
13480DIMEg$(Bd%),Ad%(Bd%),hb%(Bd%)
13490DIMx_$(20),Va$(1)
13500Fg%=0:Gg%=0:of%=0
13510Hg%=0:Ig%=0
13520wa%=0:qb$="":da$=""
13530Kb%=0:mb%=0:ca%=0:ta%=0:da$=""
13540ya%=0:Fb%=FALSE:a_%=1
13550T%=0:Jg%=0:Kg%=-1:Lg%=FALSE
13560Db%=0:Te%=0:Ka%=0:Be%=0:Mg%=0:Ng%=0:Og%=0:Pg%=0
13570pe%=0:pe$="BLANK"
13580Qg%=0:Rg%=0:Sg%=0
13590Tg%=0:Ug$="":yb%=0
13600Vg$="":xb$="":wb%=0
13610c`%=-15
13620Wg%=&FEED10
13630Xg%=&FEED11
13640Yg%=&FEED12
13650Zg%=0
13660Ub%=0:Wb$="":ag%=0:bg%=0
13670Oc%=0:cg$="moderators.uu.net"
13690nf%=1:dg%=1:Re%=1:Xb%=1:cb%=0:eg%=0
13700Yb%=1:ab$="":b`%=1:Kf%=7:fg%=0
13710gg%=0:hg$="":Lf%=0:g_%=1:Pe%=0
13720Nb%=1:zc%=1:ig%=1:Ge%=1:jg%=0:i`%=7:kg%=1
13730cg$="":lg$="":lg%=0:mg$="":W_%=0
13740kf%=0:ng%=2048:q`%=0:r`%=0:Od%=1024
13750`c$="":og$="":De$="":pg$=""
13760ENDPROC
13780DEFPROCuf
13790LOCALp$,A$
13800i_%=TRUE
13810SYS16TOA$
13820REPEAT
13830p$=FNvc(A$," ")
13840CASEp$OF
13850WHEN"-ro":i_%=FALSE
13860ENDCASE
13870UNTILA$=""
13880ENDPROC
13900DEFPROCia
13910ka%=HIMEM
13920SYS262380,-1,-1TOKd%
13930ENDPROC
13950DEFFNX_
13960LOCALm%,f%,qg%
13970qg%=&4000
13990SYS262380,-1,-1TO,,f%:IFf%>&200000THENqg%=&8000
14000IF(HIMEM-END)<qg%THEN
14010m%=qg%:REPEATSYS262380,-1,-1TO,,f%
14020IFf%<m%PROCj_("Needmem1",1)
14030UNTILf%>=m%
14040ELSE
14050m%=0
14060ENDIF
14070=m%
14090DEFPROCF_
14100DIMrg%4,sg%30:$rg%="TASK"
14110!sg%=3:sg%!4=&400C2:sg%!8=&400C3:sg%!12=Wg%
14120sg%!16=2:sg%!20=&400C9:sg%!24=&502:sg%!28=0
14130SYS262336,310,!rg%,rf$,sg%TOtg%,Fc%
14140ONERRORPROCY_(FALSE)
14150SYS274500,1TO;F%:IF(F%AND4)=0THENERROR0,"UK Territory module not present!"
14160DIMq%&200,ug%&100
14170vg%=0:wg%=0:xg%=0:yg%=0
14180SYS53,-1,5TO,,A%
14190IFA%<2THENPROCzg("sprites22")ELSEPROCzg("sprites")
14200SYS262361,,FN_g("Templates")
14210`g%=FNAh("status")
14220Bh%=FNAh("message")
14230Ch%=FNAh("gensetup")
14240Dh%=FNAh("groups")
14250Eh%=FNAh("confirm")
14260Ra%=FNAh("info")
14270Qb%=FNAh("arrive")
14280Fh%=FNAh("users")
14290Gh%=FNAh("site")
14300Hh%=FNAh("filters")
14310G`%=FNAh("newsdir")
14320l_%=FNAh("setup")
14330Ih%=FNAh("transports")
14340Jh%=FNAh("newgroups")
14350SYS262362
14360PROCKh
14370Lh%=0:Mh%=0:zb%=r_%
14380s_%=0:t_%=0:v_%=0:y_%=0:`_%=0
14390o_%=0:Nh%=0:Oh%=0:H`%=0:Ph%=0:Zb%=0:z_%=0
14400Gd$="newsbase1":Qh%=FNRh(Gd$)
14410Je$="0.53":Sh$="d":Je%=100*VALJe$:Th%=47
14420PROCVb(Ra%,4,Je$+Sh$+" (24-Feb-95)"):PROC__
14430PROCm_(FNf`("Sinfo1",Je$)," "," "," "):PROCQf("")
14440ENDPROC
14460DEFFNAh(A$)
14470LOCALb%,i%,s%,Uh%,Vh%,h%
14480SYS262363,,-1,0,0,-1,A$,0TO,b%,i%
14490s%=FNFa(Uh%,b%,"template"):DIMVh% i%
14500SYS262363,,Uh%,Vh%,Vh%+i%,-1,A$,0
14510Uh%!64=Wh%:SYS262337,,Uh%TOh%:PROCQa(s%)
14520=h%
14540DEFPROCzg(A$)
14550LOCALs%,f%,n%:A$=Xh$+"."+A$
14560IFFNSb(A$)=1THEN
14570s%=FNIa(A$)+20
14580DIMWh% s%:!Wh%=s%:Wh%!8=0
14590SYS46,&109,Wh%
14600SYS131118,&108,Wh%TO,,s%,n%,,f%
14610SYS131118,&10B+(n%=0),Wh%,A$TO;F%
14620ELSE
14630ERROR1,A$+" not found"
14640ENDIF
14650ENDPROC
14670DEFFNRh(A$)
14680SYS46,&100+40,Wh%,A$TO,,,w%,h%:!ug%=-1
14690ug%!4=0:ug%!8=0:ug%!12=w%*2:ug%!16=100:ug%!20=&3102
14700DIMYh%12:$Yh%=A$:ug%!24=Yh%
14710ug%!28=Wh%:ug%!32=11
14720SYS262338,0,ug%TORh%
14730=Rh%
14750DEFPROC_`(Ld$)
14760LOCALw%,F%
14770IFLd$<>Gd$THEN
14780SYS131118,&118,Wh%,Ld$TO,,Zh%;F%
14790IF(F%AND1)=0THEN
14800$Yh%=Ld$:!q%=-1:q%!4=Qh%:q%!8=0:q%!12=0
14810SYS262349,,q%
14820ENDIF
14830Gd$=Ld$
14840ENDIF
14850ENDPROC
14870DEFPROCS_(ah%)
14880LOCALbh%
14890PROCKh:IFQg%THENENDPROC
14900IFah%>=0ORLh%-r_%<ah%THEN
14910Lh%=r_%
14920REPEAT
14930SYS262369,6194,q%,r_%+ah%TObh%
14940CASEbh%OF
14950WHEN0:IFT_%<>0THENPROCq_
14960WHEN2:PROCch(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,q%!28)
14970WHEN3:PROCdh(!q%)
14980WHEN6:PROCeh(q%!8,q%!12,q%!16)
14990WHEN7:PROCfh
15000WHEN8:PROCgh(!q%,q%!24)
15010WHEN9:PROChh:PROCih(q%)
15020WHEN17,18:PROCjh(q%)
15030ENDCASE
15040UNTILbh%=0
15050ENDIF
15060ENDPROC
15080DEFPROCKh
15090SYS66TOr_%
15100ENDPROC
15120DEFPROC__
15130IFwf$=""THENwf$=FNn_("Credit")
15140PROCVb(Ra%,9,LEFT$(FNvc(wf$,";"),28))
15150ENDPROC
15170DEFPROCfh
15180PROChh
15190!q%=52+8:q%!12=0:q%!16=1:q%!20=kh%:q%!24=Vh%:q%!28=lh%:q%!32=mh%
15200q%!36=0:q%!40=&1000:$(q%+44)="!NewsDir"+CHR$0
15210SYS262375,17,q%,kh%,Vh%:yf%=q%!8
15220ENDPROC
15240DEFPROCnh:Qg%=TRUE:ENDPROC
15250DEFPROCoh:Qg%=0:ENDPROC
15270DEFPROCgh(h%,k%)
15280LOCALc%
15290IFk%=13THEN
15300CASEh%OF
15310WHENCh%,Gh%,Dh%:c%=TRUE
15320WHENHh%:PROCph(qh%):PROCdh(h%)
15330WHENFh%:PROCrh:PROCsh:c%=TRUE
15340OTHERWISE:SYS262364,k%
15350ENDCASE
15360IFc%THENPROCp_:PROCdh(h%)
15370ELSE
15380SYS262364,k%
15390ENDIF
15400ENDPROC
15420DEFFNth(d$)
15440IFVg$<>""THENPROCPa("Busy",Vg$,0):=TRUE
15450Vg$=FNn_(d$):=FALSE
15470DEFPROCuh
15480Vg$=""
15490ENDPROC
15510DEFPROCvh
15520PROCwh
15530ONERROROFF
15540IFnf%<>0PROCx_("")
15550IFT_%<>0THEN
15560IFs`%THENPROCEb
15570IFg`%>0PROCLb
15580PROCxh
15590ENDIF
15600PROCyh
15610PROCzh(0,0,10,0,0,"","")
15620PROC_h
15630PROCQa(xg%):PROCQa(yg%)
15640PROC`h
15650SYS262365:END
15660ENDPROC
15680DEFPROCwh
15690PROCMa(Db%)
15700PROCMa(Te%)
15710PROCMa(Ka%)
15720PROCMa(Be%)
15730PROCMa(Mg%)
15740PROCMa(Ng%)
15750PROCMa(Og%)
15760PROCMa(Pg%)
15770ENDPROC
15790DEFPROCeh(b%,w%,i%)
15800LOCALg$,u$,s%,l%
15810CASEw%OF
15820WHEN-2
15830IFb%=4ANDi%=Qh%PROCk_(`g%)
15840IFb%=1ANDi%=Qh%ANDT_%=1ANDi_%THENPROCk_(l_%)
15850IFb%=2ANDi%=Qh%THEN
15860SYS6,121,(2EOR&80)TO,A%:IFA%=&FFTHEN
15870g$="Debug on,Debug off"
15880ELSE
15890g$="|>Info,":IFi_%=0THENg$+="<"
15900g$+="Setup...,Queues...,":IFg_%<>0ORi_%=0THENg$+="<"
15910g$+="Debatch,|":IFb`%<>0ORi_%=0THENg$+="<"
15920g$+="Expire,Quit"
15930ENDIF
15940PROCAi(101,g$,rf$,1):z_%=TRUE
15950ENDIF
15960WHEN`g%
15970IFb%=2THEN
15980CASEFb%OF
15990WHEN0:PROCAi(106,"|>Info,Pause,Cancel",rf$,0)
16000OTHERWISE:PROCAi(106,"|>Info,Resume,Cancel",rf$,0)
16010ENDCASE
16020z_%=TRUE
16030ENDIF
16040WHENFh%:u$=FNBi(Fh%,20)
16050IF(b%=1ORb%=4)THEN
16060CASEi%OF
16070WHEN1:PROCCi
16080WHEN6:PROCDi(u$):IFb%=4PROCdh(Fh%)
16090WHEN7:PROCrh:PROCsh:PROCp_:IFb%=4PROCdh(Fh%)
16100WHEN10:s%=(FNEi(w%,i%)=0):PROCbb(w%,3,s%):PROCbb(w%,4,s%)
16110WHEN15:PROCFi
16120WHEN16,17:PROCPa("Hvac",u$,0)
16130WHEN18:PROCGi(u$)
16140WHEN19:PROCHi(u$)
16150ENDCASE
16160ELSE
16170IFi%=0PROCCi
16180IFi%=2PROCFi
16190ENDIF
16200WHENDh%
16210IF(b%=1ORb%=4)THEN
16220g$=FNBi(Dh%,25)
16230CASEi%OF
16240WHEN5:IFb%=4PROCDh(-1)ELSEPROCDh(1)
16250WHEN6:IFb%=4PROCDh(1)ELSEPROCDh(-1)
16260WHEN7:r$=""
16270IFFNIi(g$,r$)<>0THENPROCDh(0)ELSEPROCK`(r$,0)
16280WHEN8:IFFNe`(FNf`("Crem",g$))=1THEN
16290r$=""
16300IFFNJi(g$,r$)=0THENPROCK`(r$,0)ELSEPROCDh(0)
16310ENDIF
16320WHEN17:IFFNe`(FNf`("Cdel",g$))=1PROCJi(g$):PROCDh(0)
16330WHEN9:PROCKi(g$)
16340WHEN18
16350IFFNe`(FNn_("Cscan"))=1THENPROCLi
16360WHEN11:PROCMi(g$,0)
16370WHEN12:IFb%=1THEN
16380gg%=ABS(gg%=0)
16390IFgg%=0THENg$="CList"ELSEg$="AList"
16400PROCVb(w%,i%,FNn_(g$)):PROCDh(0)
16410ENDIF
16420WHEN14:PROCNi(0)
16430WHEN15:PROCNi(1)
16440WHEN24:PROCNi(2)
16450WHEN19:PROCOi(110)
16460WHEN26:IFPh%=0PROCJh
16470WHEN16:PROCPi(g$,ABSFNEi(w%,16))
16480WHEN10:IFFNth("Bmod")=0THEN
16490PROCud:s%=(FNQi(g$,1)>""):PROCuh:PROCvd
16500PROCRi(w%,16,s%):PROCSi(g$):IFs%THENu$="Myes"ELSEu$="Mno"
16510PROCPa(u$,g$,0)
16520ENDIF
16530WHEN29:s%=(FNEi(w%,i%)=0):PROCbb(w%,30,s%):PROCbb(w%,31,s%)
16540FORl%=35TO41:PROCbb(Dh%,l%,s%):NEXTl%
16550WHEN31:PROCj_("Cexpmail",0)
16560WHEN32:PROCp_:IFb%=4PROCdh(w%)
16570WHEN37:PROCTi(-1,0)
16580WHEN38:PROCTi(1,0)
16590WHEN39:PROCTi(0,-1)
16600WHEN40:PROCTi(0,1)
16610ENDCASE
16620ELSE
16630CASEi%OF
16640WHEN25:PROCOi(110)
16650WHEN1:PROCNi(1)
16660WHEN2:PROCNi(0)
16670WHEN22:PROCNi(2)
16680WHEN12:PROCAi(111,"Current list,Active list","List type",0)
16690ENDCASE
16700ENDIF
16710WHENBh%:IF(b%=1ORb%=4)ANDi%=2THENPROCdh(Bh%)
16720WHENCh%
16730IFb%=1ORb%=4THEN
16740CASEi%OF
16750WHEN2:PROCUi
16760WHEN4:PROCp_:IFb%=4PROCdh(w%)
16770WHEN5:PROCVi:IFb%=4PROCdh(w%)
16780WHEN10:s%=(FNEi(w%,i%)=0):FORl%=12TO14:PROCbb(w%,l%,s%):NEXTl%
16790WHEN19:PROCWi
16800WHEN21:PROCXi
16810ENDCASE
16820ELSE
16830CASEi%OF
16840WHEN1:PROCUi
16850WHEN18:PROCWi
16860WHEN16:PROCXi
16870ENDCASE
16880ENDIF
16890WHENGh%
16900IFb%<>2THEN
16910CASEi%OF
16920WHEN4:PROCYi(102)
16930WHEN5:PROCZi
16940WHEN6:PROCp_:IFb%=4PROCdh(w%)
16950WHEN15:PROCai
16960WHEN16:PROCVi:IFb%=4PROCdh(w%)
16970ENDCASE
16980ELSE
16990IFi%=11THENPROCYi(102)
17000IFi%=14THENPROCai
17010ENDIF
17020WHENQb%:IF(b%=1ORb%=4)ANDi%=3THENPROCbi
17030WHENEh%:IF(b%=1ORb%=4)AND(i%=1ORi%=2)THENbg%=i%:PROCdh(Eh%)
17040WHENJh%
17050CASEi%OF
17060WHEN1:PROCci
17070WHEN2:r$="":IFFNIi(FNBi(Jh%,6),r$)=0THENPROCK`(r$,0)
17080PROCci
17090WHEN4:PROCdi
17100ENDCASE
17110WHENG`%
17120IFi%=0THEN
17130PROChh
17140!q%=G`%:q%!4=5:q%!24=0:q%!28=0
17150q%!32=FNei:q%!36=FNfi
17160q%!8=lh%-35:q%!12=mh%-35
17170q%!16=lh%+35:q%!20=mh%+35
17180SYS262352,,q%:gi%=G`%
17190ENDIF
17200WHENl_%
17210IF(b%=1ORb%=4)THEN
17220CASE(i%DIV5)OF
17230WHEN0:PROCF`(Gh%,0,100)
17240WHEN1:PROCVi:PROCF`(Ch%,0,0)
17250WHEN2:PROCF`(Ih%,0,100)
17260WHEN3:PROCF`(Dh%,0,100)
17270WHEN4:PROCF`(Fh%,0,100)
17280WHEN5:PROCF`(Hh%,0,100)
17290ENDCASE
17300IFi%>-1ANDb%=1THENPROCdh(l_%)
17310ENDIF
17320WHENHh%
17330IFb%=2THEN
17340CASEi%OF
17350WHEN1:PROCAi(130,"Unset,News,Mail,Any","Type",0)
17360WHEN2,3,4:PROCAi(130+i%,"None,To,From,Subject,Group,Reply To,Precedence,Envelope","Condition",0)
17370WHEN15:PROCAi(131,"Junk,Kill,Redirect,Submit","Action",0)
17380ENDCASE
17390ELSE
17400CASEi%OF
17410WHEN18:IFqh%>0THENqh%-=1:PROChi(qh%)
17420WHEN19:IFqh%<gd%THENqh%+=1:PROChi(qh%)
17430WHEN20:PROCph(qh%):IFb%=4PROCdh(w%)
17440WHEN21:PROCii(qh%)
17450WHEN22:PROCji
17460ENDCASE
17470ENDIF
17480WHENIh%
17490IF(b%=1ORb%=4)THEN
17500CASEi%OF
17510WHEN1:PROCYi(112)
17520WHEN3:PROCki(FNBi(w%,0))
17530WHEN4:IFFNQ`(17,"","","")=-3THENPROCj_("Tnosetup",0)
17540ENDCASE
17550ENDIF
17560IFb%=2ANDi%=0THENPROCYi(112)
17570ENDCASE
17580ENDPROC
17600DEFFNfi
17610SYS53,-1,5TO,,li%:li%=2^li%
17620SYS53,-1,12TO,,mi%
17630=mi%*li%
17650DEFFNei
17660SYS53,-1,4TO,,ni%:ni%=2^ni%
17670SYS53,-1,11TO,,oi%
17680=oi%*ni%
17700DEFPROCbi
17710LOCALw%
17720Zg%=1:PROCzh(0,0,900,0,0,"",""):PROCdh(Qb%)
17730FORw%=1TO5:PROCS_(0):NEXTw%
17740IFZg%<>0THEN
17750IFFNSb(ab$)>0THEN
17760SYS262366,ab$
17770ELSE
17780PROCPa("Clfail",ab$,0)
17790ENDIF
17800ENDIF
17810ENDPROC
17830DEFPROCki(t$)
17840LOCALt%:t%=FNpi(t$)
17850CASEt%OF
17860WHEN0:VDU7:PROCj_("Tdel1",0)
17870WHENP`%:VDU7:PROCj_("Tdel2",0)
17880OTHERWISE
17890IFFNe`(FNf`("Ctransdel",t$))=1THEN
17900PROCud:PROCqi(ri$+"."+t$):PROCqi(si$+".support."+t$)
17910PROCvd:ti$(t%)="":PROCui(P`%)
17920ENDIF
17930ENDCASE
17940ENDPROC
17960DEFPROCSi(g$)
17970LOCALg%,R_%
17980FORR_%=1TOg`%
17990IFFNvi(g$,R_%)THENg%=R_%:R_%=g`%
18000NEXTR_%
18020PROCVb(Dh%,25,g$)
18030IFg%>0THENg%=`e%(g%)ELSEg%=0
18040PROCRi(Dh%,16,g%)
18050ENDPROC
18070DEFPROCPi(g$,m%)
18080LOCALR_%
18090FORR_%=1TOg`%
18100IFFNvi(g$,R_%)THEN`e%(R_%)=m%
18110NEXTR_%
18120ENDPROC
18140DEFPROCNi(c%)
18150CASEc%OF
18160WHEN0:PROCAi(103,"3,5,7,10,14,21,30,\---","Default",0)
18170WHEN1:PROCAi(104,"Default,3,7,14,21,30,Never,\---","Expiry",0)
18180WHEN2:PROCAi(105,"3,5,7,10,14,21,30,\---","Days",0)
18190ENDCASE
18200ENDPROC
18220DEFPROCai
18230LOCALl%,a$:a$=""
18240FORl%=-12TO14:b$=RIGHT$("0000"+STR$ABS(l%*100),4):IFl%<0THENb$="-"+b$ELSEb$="+"+b$
18250a$+=","+b$:NEXTl%:a$=MID$(a$,2)
18260PROCAi(121,a$,"Timezone",0)
18270ENDPROC
18290DEFPROCYi(m%)
18300LOCALA$,l%
18310FORl%=0TOwi%:IFti$(l%)>""THEN
18320A$=A$+ti$(l%)+","
18330ENDIF
18340NEXTl%
18350PROCAi(m%,LEFT$(A$),"Transport",0)
18360ENDPROC
18380DEFPROCZi
18390pg$=FNpg
18400IFFNQ`(14,"","","")=0THENPROCxi
18410IFFNQ`(11,"","","")=0THEN
18420a$=FNI`("Newsbase$ReturnInfo")
18430IFa$>""THEN`c$=a$ELSEPROCj_("Nohost",0)
18440ENDIF
18450De$=`c$
18460IFFNQ`(12,"","","")=0THEN
18470a$=FNI`("Newsbase$ReturnInfo"):IFa$>""THENhg$=a$
18480ENDIF
18490PROCyi
18500ENDPROC
18520DEFFNQ`(c%,zi$,_i$,`i$)
18530LOCALF%,f$,a$,b$,n%,Jd%
18580a$=Aj$(P`%,c%):Jd%=Ua%(P`%,c%):IFJd%=0THENJd%=32
18590SYS5,"unset Newsbase$ReturnCode"
18600SYS5,"unset Newsbase$ReturnInfo"
18610IFa$>""THEN
18620
18630n%=INSTR(a$,"%")
18640WHILEn%>0:b$=""
18650CASEMID$(a$,n%+1,1)OF
18660WHEN"f":b$=zi$
18670WHEN"u","g":b$=_i$
18680WHEN"n":b$=`i$:IFb$=""THENb$="0"
18690WHEN"h":b$=`c$
18700WHEN"m":b$=De$
18710WHEN"r":b$=hg$
18720WHEN"%":b$="%"
18730ENDCASE
18740a$=LEFT$(a$,n%-1)+b$+MID$(a$,n%+2):n%+=LENb$-1
18750n%=INSTR(a$,"%",n%)
18760ENDWHILE
18770IFFNG_(0)<Jd%*1024THEN
18780PROCPa("Needmem2",m$,0)
18790SYS5,"set Newsbase$ReturnCode -1"
18800ELSE
18810f$=FNBj(a$)
18820IFf$>""THEN
18830PROCud
18840SYS393452,-1,-1TO,n%:SYS393452,-1,Jd%*1024
18850SYS393438,f$TO;F%
18860SYS393452,-1,n%
18870PROCvd
18880IF(F%AND1)THEN
18890SYS5,"set Newsbase$ReturnInfo "+FNn_("Tfail3")
18900SYS5,"set Newsbase$ReturnCode -2"
18910ENDIF
18920ELSE
18930SYS5,"set Newsbase$ReturnInfo "+FNf`("Tfail4",a$)
18940SYS5,"set Newsbase$ReturnCode -3"
18950ENDIF
18960ENDIF
18970ENDIF
18980n%=VALFNI`("Newsbase$ReturnCode")
18990f$=FNI`("Newsbase$ReturnInfo"):IFn%<>0ANDf$>""THENPROCx_(a$+" -> "+f$)
19000=n%
19020DEFPROCh`(f$)
19030IFFNG_(0)<64*1024THEN
19040PROCPa("Needmem2",f$,0)
19050ELSE
19060SYS393438,Cj$+"."+f$
19070ENDIF
19080ENDPROC
19100DEFFNG_(c%)
19110LOCALf%:SYS262380,-1,-1TO,,f%
19120IF(f%+(c%*1024))>0THENf%+=(c%*1024)
19130=f%
19150DEFFNBj(f$)
19160IFLEFT$(f$,1)="*"THEN
19170f$=MID$(f$,2)
19180ELSE
19190f$="<newsbase$dir>.transports."+ti$(P`%)+"."+f$
19200IFFNSb(f$)=0THENf$=""
19210ENDIF
19220=f$
19240DEFPROCDh(n%)
19250LOCALt%,e$,Dj%,Ej$,Ld$
19260CASEgg%OF
19270WHEN0:Dj%=g`%+1:Ej$=Z`$(Fj%)
19280OTHERWISE:Dj%=_f%:Ej$=re$(Fj%)
19290ENDCASE
19300IFEj$=""ANDn%>0THENENDPROC
19310t%=Fj%+n%
19320IFt%>Dj%THENt%=Dj%
19330IFt%<1THENt%=1
19340IFgg%=0THEN
19350Ld$=Z`$(t%)
19360ELSE
19370Ld$=re$(t%)
19380ENDIF
19390Fj%=t%:PROCVb(Dh%,25,Ld$)
19400SYS393426,Dh%,25,,,-1,LENLd$
19410IFgg%=0THEN
19420PROCGj(t%):PROCRi(Dh%,16,`e%(t%)):PROCbb(Dh%,16,0)
19430ELSE
19440PROCVb(Dh%,1,"--"):PROCbb(Dh%,16,1)
19450ENDIF
19460ENDPROC
19480DEFPROCQf(A$)
19490PROCVb(Dh%,21,LEFT$(A$,55))
19500ENDPROC
19520DEFPROCY_(R%)
19530LOCALERROR
19540ONERRORLOCALPROCHj:END
19550!x`%=ERR:$(x`%+4)="An error has occurred: "+REPORT$+" (code "+STR$ERL+")."+CHR$0
19560SYS262367,x`%,1,rf$
19580PROCx_(Je$+Sh$+" error: "+REPORT$+" at "+STR$ERL):PROCx_("")
19590CASER%OF
19600WHEN0:PROCHj
19610OTHERWISE:!x`%=ERR:$(x`%+4)="Press OK to continue or Cancel to quit"+CHR$0
19620SYS262367,x`%,3,rf$TO,R%
19630IFR%=2THENPROCHj
19640ENDCASE
19650RESTOREERROR
19660PROCwh
19670ENDPROC
19690DEFPROCHj
19700ONERROROFF
19710PROCvh:END
19720ENDPROC
19740DEFPROCIj(h%)
19750CASEh%OF
19760WHENl_%:o_%=TRUE
19770WHENBh%:Oh%=TRUE
19780WHEN`g%:Nh%=TRUE
19790WHENG`%:H`%=TRUE
19800WHENJh%:Ph%=TRUE
19810WHENQb%:Zb%=TRUE
19820ENDCASE
19830ENDPROC
19850DEFPROCk_(h%)
19860!q%=h%:SYS262347,,q%
19870q%!20=0:q%!24=0:q%!28=-1:SYS262341,,q%
19880PROCIj(h%)
19890ENDPROC
19910DEFPROCF`(h%,Jj%,Kj%)
19920LOCALx%,y%,Lj%,Mj%
19930PROCIj(h%)
19940!q%=h%:SYS262347,,q%
19950x%=FNei:y%=FNfi:Lj%=q%!12-q%!4:Mj%=q%!16-q%!8
19960q%!4=(x%-Lj%)DIV2-Jj%:q%!12=q%!4+Lj%:q%!8=(y%-Mj%)DIV2-Kj%:q%!16=q%!8+Mj%
19970q%!20=0:q%!24=0:q%!28=-1:SYS262341,,q%
19980ENDPROC
20000DEFFNBi(H%,I%)
20010!q%=H%:q%!4=I%:SYS393422,,q%TO;F%
20020=FNHa(q%!28)
20040DEFPROCNj(H%,I%,A$)
20050!q%=H%:q%!4=I%:SYS393422,,q%TO;F%
20060$(q%!28)=A$+CHR$0
20070ENDPROC
20090DEFPROCVb(H%,I%,A$)
20100PROCNj(H%,I%,A$):!q%=H%:q%!4=I%:q%!8=0:q%!12=0
20110SYS393421,,q%TO;F%
20120ENDPROC
20140DEFPROCRi(H%,I%,S%)
20150S%=ABS(S%=0):!q%=H%:q%!4=I%:q%!8=((1)<<21)*ABS(S%=0):q%!12=(1<<21)
20160SYS393421,,q%TO;F%
20170ENDPROC
20190DEFPROCbb(H%,I%,S%)
20200!q%=H%:q%!4=I%:q%!8=((1)<<22)*ABSS%:q%!12=(1<<22)
20210SYS262349,,q%
20220ENDPROC
20240DEFFNEi(H%,I%)
20250!q%=H%:q%!4=I%:SYS262350,,q%
20260=-(((q%!24)AND(1<<21))DIV2097152<>0)
20280DEFPROCUi
20290LOCALA$,l%
20300FORl%=0TO20:IFcg$(l%)>""ANDLEN(A$+cg$(l%))<253THENA$=A$+cg$(l%)+","
20310NEXTl%
20320IFA$>""PROCAi(120,LEFT$(A$),"Modpaths",0)
20330ENDPROC
20350DEFPROCWi
20360LOCALA$,l%
20370FORl%=0TO10:IFlg$(l%)>""ANDLEN(A$+lg$(l%))<253THENA$=A$+lg$(l%)+","
20380NEXTl%
20390IFA$>""PROCAi(122,LEFT$(A$),"Gateways",0)
20400ENDPROC
20420DEFPROCXi
20430LOCALA$,a$,c%,l%,t%,F%:c%=0
20440REPEATSYS131107,"Newsbase$Client*",x`%,255,c%TO,,l%,c%,t%;F%
20450IFt%=0AND(F%AND1)=0THENx`%?l%=13:a$=FNHa(x`%):IFLENA$+LENa$<255THENA$+=a$+","
20460UNTIL(F%AND1)<>0:IFA$>""THENPROCAi(123,LEFT$(A$),"Readers",0)
20470ENDPROC
20490DEFPROCOi(kh%)
20500LOCALOj%,Pj%,Qj%,w%,Rj%,Sj%,Tj%,lc%
20510PROCQa(xg%):PROCQa(yg%)
20530PROCud
20540CASEgg%OF
20550WHEN0:Sj%=28+24*(g`%+1):Tj%=g`%*2
20560FORw%=1TOg`%:Tj%+=LENZ`$(w%):NEXTw%
20570OTHERWISE:Sj%=28+24*(_f%+1):Tj%=_f%*3
20580FORw%=1TO_f%:Tj%+=LENre$(w%):NEXTw%
20590ENDCASE
20600xg%=FNFa(vg%,Sj%,"menu")
20610yg%=FNFa(wg%,Tj%,"menudata")
20620IFvg%>0ANDwg%>0THEN
20630Oj%=vg%:Pj%=wg%
20640Qj%=Pj%
20650Uj%=kh%
20660Vj%=Oj%
20670Vj%!20=44
20680$Vj%="Groups":w%=6
20690Vj%!12=&70207
20700Rj%=Vj%+16:Vj%!24=0
20710Vj%+=28:lc%=1
20720REPEAT
20730IFgg%=0THEN
20740Wj$=Z`$(lc%)
20750ELSE
20760Wj$=re$(lc%)
20770ENDIF
20780IFLENWj$>w%THENw%=LENWj$
20790IFWj$>""THEN
20800!Vj%=0:Vj%!4=0
20810Vj%!8=&07000121
20820Vj%!12=Qj%:Vj%!16=0:Vj%!20=LENWj$+1
20830$Qj%=Wj$+CHR$0:Qj%+=(LENWj$+1)
20840Vj%+=24
20850ENDIF
20860lc%+=1:UNTILWj$=""
20870!Rj%=w%*16+32:Vj%!-24=(Vj%!-24)OR&80
20880IFlc%>2PROChh:Xj%=lh%-64:Yj%=mh%:SYS262356,,Oj%,Xj%,mh%
20890ENDIF
20900PROCvd
20910ENDPROC
20930DEFPROCCi
20940LOCALA$,l%
20950l%=0:WHILEl%<Zj%ANDaj$(l%)>"":A$+=aj$(l%)+",":l%+=1:ENDWHILE
20960IFLENA$>1THENA$=LEFT$(A$):PROCAi(107,A$,"Users",0)
20970ENDPROC
20990DEFPROCFi
21000PROCAi(108,"0,1,2,3,10,11,12,13,14,15,\---","Groups",0):ENDPROC
21020DEFPROCAi(kh%,bj$,cj$,I%)
21030LOCALw%,Rj%,l%,a$,Wj$,dj%,Qj%,ej%
21040PROCQa(xg%):PROCQa(yg%)
21050xg%=FNFa(vg%,&400,"menu")
21060yg%=FNFa(wg%,&400,"menudata")
21070IFbj$=""THENENDPROC
21080fj%=0:dj%=0
21090Uj%=kh%
21100Vj%=vg%
21110Vj%!20=44
21120$Vj%=cj$:w%=LENcj$
21130Vj%!12=&70207
21140Rj%=Vj%+16:Vj%!24=0
21150Vj%+=28:Qj%=wg%
21160REPEAT
21170l%=INSTR(bj$,",")
21180IFl%>0THEN
21190Wj$=LEFT$(bj$,l%-1):bj$=MID$(bj$,l%+1)
21200ELSE
21210Wj$=bj$:bj$=""
21220ENDIF
21230IFLENWj$>w%THENw%=LENWj$
21240IFWj$>""THEN
21250!Vj%=0
21260IFLEFT$(Wj$,1)="|"THENWj$=MID$(Wj$,2):!Vj%=2:dj%+=1
21270IFLEFT$(Wj$,1)="!"THENWj$=MID$(Wj$,2):!Vj%=!Vj%+1
21280Vj%!4=-1:Vj%!8=&07000121:ej%=1+LENWj$
21290CASELEFT$(Wj$,1)OF
21300WHEN">":Vj%!4=Ra%:Wj$=MID$(Wj$,2)
21310WHEN"<":Vj%!8=Vj%!8OR(1<<22):Wj$=MID$(Wj$,2)
21320WHEN"\":Vj%!8=Vj%!8OR(1<<8):!Vj%=!Vj%OR4:Wj$=""
21330ENDCASE
21340Vj%!12=Qj%:Vj%!16=0:Vj%!20=ej%
21350$Qj%=Wj$+CHR$0:Qj%+=ej%
21360ENDIF
21370Vj%+=24:fj%+=1
21380UNTILbj$=""
21390Vj%!-24=(Vj%!-24)OR&80
21400!Rj%=w%*16+32:PROChh
21410Xj%=lh%-64:IFI%<>0THENYj%=96+fj%*44+dj%*24ELSEYj%=mh%
21420SYS262356,,vg%,Xj%,Yj%
21430ENDPROC
21450DEFPROCih(gj%)
21460LOCALl%,g$:SYS262357,,vg%,gj%,x`%
21470A$=FNHa(x`%)
21480IFb%AND1THEN
21490SYS262356,,vg%,Xj%,Yj%
21500ELSE
21510PROCQa(xg%):PROCQa(yg%)
21520ENDIF
21530CASEUj%OF
21540WHEN101
21550CASEA$OF
21560WHEN"Setup...":IFT_%THENPROCk_(l_%)ELSEPROChj
21570WHEN"Debatch":IFT_%THENa_%=1:C`%=TRUE
21580WHEN"Expire":IFT_%THENPROCMi("*",0)
21590WHEN"Queues...":IFT_%THENl%=FNQ`(3,"","","")
21600WHEN"Quit":IFFNijPROCvh:END
21610ENDCASE
21620WHEN102:PROCjj(FNpi(A$))
21630WHEN112:PROCui(FNpi(A$))
21640WHEN103:IFVALA$>0PROCVb(Dh%,2,A$):Kf%=VALA$
21650WHEN104
21660g$=FNBi(Dh%,25):CASEA$OF
21670WHEN"Default":PROCkj(g$,0)
21680WHEN"Never":PROCkj(g$,1E6)
21690OTHERWISE:IFVALA$>0PROCkj(g$,VALA$)
21700ENDCASE
21710PROCVb(Dh%,1,A$)
21720WHEN105:IFVALA$>0PROCVb(Dh%,22,A$):i`%=VALA$
21730WHEN106:CASEA$OF
21740WHEN"Pause":PROCFb
21750WHEN"Resume":Fb%=0:PROCm_("",""," ","")
21760WHEN"Cancel":d`%=TRUE
21770ENDCASE
21780WHEN107:PROCrh:PROCsh:PROCDi(A$)
21790WHEN108:CASEA$OF
21800WHEN"0":PROCVb(Fh%,2,A$)
21810OTHERWISE:IFVALA$>0THENPROCVb(Fh%,2,A$)
21820ENDCASE
21830WHEN110:IFgg%=0THEN
21840Fj%=FNRd(A$,FALSE):PROCDh(0)
21850ELSE
21860Fj%=0:REPEATFj%+=1:UNTILre$(Fj%)=A$ORFj%>_f%:PROCDh(0)
21870ENDIF
21880WHEN111:PROCVb(Dh%,12,A$):gg%=ABS(LEFT$(A$,1)="A"):PROCDh(0)
21890WHEN120:cg$=A$:PROClj(A$)
21900WHEN121:pg$=A$:PROCyi
21910WHEN122:lg$=A$:PROCmj(A$)
21920WHEN123:PROCVb(Ch%,16,A$)
21930WHEN130:PROCVb(Hh%,1,A$)
21940WHEN131:PROCVb(Hh%,15,A$):PROCnj(Hh%,16,0)
21950WHEN132,133,134:PROCVb(Hh%,Uj%-130,A$)
21960PROCnj(Hh%,Uj%-127,0)
21970ENDCASE
21980ENDPROC
22000DEFPROChj:PROCj_("Bstart",0):ENDPROC
22020DEFPROCFb
22030Fb%=1:REPEATPROCm_("","",FNn_("Paused"),""):PROCS_(200):UNTILFb%=0
22040ENDPROC
22060DEFPROCkj(g$,a%)
22070LOCALl%:IFg$=""ENDPROC
22080FORl%=1TOg`%
22090IFFNmd(g$,Z`$(l%))<>0THEN_e%(l%)=a%
22100NEXTl%
22110ENDPROC
22130DEFPROCm_(A$,B$,C$,D$)
22140IFA$>""PROCVb(`g%,1,LEFT$(A$,36))
22150IFB$>""PROCVb(`g%,2,LEFT$(B$,36))
22160IFC$>""PROCVb(`g%,3,LEFT$(C$,36))
22170IFD$>""PROCVb(`g%,4,LEFT$(D$,36))
22180ENDPROC
22200DEFPROCch(kh%,oj%,pj%,qj%,rj%,sj%,tj%,uj%)
22210IFkh%=-1THENENDPROC
22220q%!0=kh%:q%!28=uj%
22230q%!4=oj%:q%!8=pj%:q%!12=qj%:q%!16=rj%
22240q%!20=sj%:q%!24=tj%
22250SYS262341,,q%
22260ENDPROC
22280DEFPROChh
22290SYS262351,,x`%
22300lh%=!x`%:mh%=x`%!4:b%=x`%!8:kh%=x`%!12:Vh%=x`%!16
22310ENDPROC
22330DEFPROCdh(h%)
22340PROChh
22350CASEh%OF
22360WHENl_%:o_%=FALSE
22370WHENBh%:Oh%=FALSE
22380WHEN`g%:Nh%=FALSE
22390WHENJh%:Ph%=FALSE:PROCvj
22400WHENQb%:IFZb%THENZb%=FALSE:Ub%=0:Wb$=""
22410WHENG`%:H`%=FALSE
22420WHENEh%,Ra%
22430OTHERWISE:IFb%=1THENPROCk_(l_%)
22440ENDCASE
22450!q%=h%:SYS262342,,q%
22460ENDPROC
22480DEFFNI`(A$)
22490LOCALL%,F%
22500SYS131107,A$,x`%,256,0,3TO,,L%;F%
22510IF(F%AND1)ORL%>256THEN:=""
22520x`%?L%=13:=$x`%
22540DEFPROCJh
22560Sg%=0:Rg%=0
22570Ka%=FNLa(wj$)
22580IFKa%>0THENRg%=VALGET$#Ka%:PROCMa(Ka%)
22590Ng%=FNLa(xj$)
22600IFNg%>0THEN
22610PROCF`(Jh%,0,-100):PROCci
22620ELSE
22630PROCj_("NGnone",0)
22640ENDIF
22650ENDPROC
22670DEFPROCci
22680LOCALa$,b$,jd%:IFNg%=0THENPROCdh(Jh%):ENDPROC
22690REPEATa$=GET$#Ng%:IFEOF#Ng%THENPROCMa(Ng%):jd%=2
22700IFLEFT$(a$,1)="#"THEN
22710Sg%=VAL(MID$(a$,3,6)+MID$(a$,10,2))
22720IFSg%>Rg%THENKa%=FNCe(wj$):IFKa%>0THENBPUT#Ka%,STR$Sg%:PROCMa(Ka%):PROCWa(wj$,&FFF):Rg%=Sg%
22730ELSE
22740IFSg%>=Rg%THENb$=FNvc(a$," "):a$=b$:IFFNre(a$)=0ANDFNse(a$)=0THENjd%=1
22750ENDIF
22760UNTILjd%<>0
22770IFjd%=1THEN
22780b$=STR$Sg%:b$=MID$(b$,5,2)+"-"+MID$(b$,3,2)+"-"+LEFT$(b$,2)
22790PROCVb(Jh%,5,"Created "+b$)
22800PROCVb(Jh%,6,LEFT$(a$,45))
22810ELSE
22820PROCdh(Jh%):PROCj_("NGend",0)
22830ENDIF
22840ENDPROC
22860DEFPROCdi
22870Ka%=FNCe(wj$)
22880IFKa%>0THENBPUT#Ka%,FNpf("%YR%MN%DY%24"):PROCMa(Ka%):PROCWa(wj$,&FFF)
22890PROCdh(Jh%)
22900ENDPROC
22920DEFPROCvj
22930PROCMa(Ng%)
22940ENDPROC
22960DEFPROCJ_
22970LOCALl%,r3%,t%,Da%,Ea%,a$,b$,F%
22980Ea%=FNFa(Da%,Ga%,"dbuf")
22990wi%=1:REPEAT
23000SYS131084,10,ri$,Da%,1,n%,Ga%,"*"TO,,,r3%,n%;F%
23010IFr3%>0AND(Da%!16)=2THENwi%+=1
23020UNTILn%=-1OR(F%AND1)>0
23030DIMti$(wi%),yj$(wi%),Aj$(wi%,20),Ua%(wi%,20)
23040DIMO`$(wi%,10),u`$(wi%,10)
23050ti$(0)="none":O`$(0,0)=Na$+".*":O`$(0,1)=zj$+".*"
23060l%=1:n%=0
23070REPEAT
23080SYS131084,10,ri$,Da%,1,n%,Ga%,"*"TO,,,r3%,n%,F%
23090IFr3%>0AND(Da%!16)=2THEN
23100a$=FNcc(FNHa(Da%+20)):b$=ri$+"."+a$
23110IFFNSb(b$+".params")=1THEN
23120ti$(l%)=a$
23130PROC_j(b$+".params",l%)
23140IFFNQ`(18,"","","")=0ANDP`%=0THENP`%=l%
23150l%+=1
23160ENDIF
23170ENDIF
23180UNTILn%=-1OR(F%AND1)>0
23190PROCui(P`%)
23200PROCQa(Ea%)
23210ENDPROC
23230DEFPROC_j(f$,n%)
23240LOCALa$,b$,c$,i%,o%,l%,p%,`j%:`j%=32
23250Ka%=FNLa(f$):IFKa%<>0THEN
23260REPEATa$=GET$#Ka%:b$=FNvc(a$," ")
23270CASEb$OF
23280WHEN"in":IFi%<11THENO`$(n%,i%)=a$:i%+=1
23290WHEN"out":IFo%<11THENu`$(n%,o%)=a$:o%+=1
23300WHEN"dir":PROCRb(a$)
23310WHEN"info":yj$(n%)=a$
23320WHEN"defmem":`j%=VALa$:IF`j%<0THEN`j%=0ELSEIF`j%>2048THEN`j%=2048
23330OTHERWISE
23340p%=0:c$=FNvc(a$," ")
23350l%=VALFNbc(c$):IFl%<=0THENl%=`j%ELSEIFl%>2048THENl%=2048
23360CASELEFT$(b$,5)OF
23370WHEN"sendm":p%=1
23380WHEN"sendn":p%=2
23390WHEN"showq":p%=3
23400WHEN"prefe":p%=4
23410WHEN"postf":p%=5
23420WHEN"addus":p%=6
23430WHEN"delus":p%=7
23440WHEN"modus":p%=8
23450WHEN"addgr":p%=9
23460WHEN"delgr":p%=10
23470WHEN"getho","setho":p%=11
23480WHEN"getre","setre":p%=12
23490WHEN"getin":p%=13
23500WHEN"mkgro":p%=14
23510WHEN"statu":p%=15
23520WHEN"start":p%=16
23530WHEN"setup":p%=17
23540WHEN"detec":p%=18
23550ENDCASE
23560IFp%>0THENAj$(n%,p%)=a$:Ua%(n%,p%)=l%
23570ENDCASE
23580UNTIL(EOF#Ka%):PROCMa(Ka%)
23590ENDIF
23600ENDPROC
23620DEFPROCxi
23630LOCALAk%
23640re$()="":re$(0)="junk*"
23650Ka%=FNLa(Bk$+"."+ti$(P`%)+".groups")
23660IFKa%<>0THEN
23670Ak%=1
23680REPEATA$=FNcc(FNCk(Ka%))
23690re$(Ak%)=A$:Ak%+=1
23700UNTILEOF#Ka%ORAk%>_f%
23710PROCMa(Ka%)
23720ENDIF
23730_f%=Ak%
23740ENDPROC
23760DEFFNre(Dk$)
23770LOCALg$,Ek%,Ak%,Fk%
23780IFDk$=""THEN:=FALSE
23790IFFNAf(Dk$)>0THEN:=TRUE
23800Dk$=FNcc(Dk$)
23810Ek%=0:Ak%=0
23820REPEAT
23830g$=FNcc(re$(Ak%)):Fk%=0
23840IFASCg$=33THENg$=MID$(g$,2):Fk%=1
23850IFFNmd(g$,Dk$)<>0THENEk%=1+3*Fk%
23860Ak%+=1:IFEk%=1THENEk%+=1
23870UNTILg$=""OREk%>3
23880IFFk%=1THENEk%=0
23890=Ek%
23910DEFFNse(g$)
23920LOCALl`%,Ac$,Bc$,Cc$,Gk$,Hk$,Ik$:l`%=0
23930IFig%<>0THEN
23940Ac$=FNvc(g$,".")
23950IFAc$="alt"THEN
23960Bc$=FNvc(g$,"."):Cc$=FNvc(g$,".")
23970Gk$=FNvc(g$,"."):Hk$=FNvc(g$,".")
23980IFCc$=Gk$ANDGk$=Hk$ANDHk$>""ORHk$=Ik$ANDGk$=Hk$ANDIk$>""THENl`%=TRUE
23990ENDIF
24000ENDIF
24010=l`%
24030DEFPROCj_(A$,w%)
24040PROCK`(FNn_(A$),w%)
24050ENDPROC
24070DEFPROCPa(A$,B$,w%)
24080PROCK`(FNf`(A$,B$),w%)
24090ENDPROC
24110DEFPROCJk(A$,B$,C$,w%)
24120PROCK`(FNSe(A$,B$,C$),w%)
24130ENDPROC
24150DEFPROCK`(A$,Kk%)
24160IFA$=""PROCdh(Bh%):ENDPROC
24170PROCVb(Bh%,0,LEFT$(A$,127))
24180IFKk%=0THENPROCVb(Bh%,2,"Dismiss")ELSEPROCVb(Bh%,2,"Continue")
24190IFOh%=0THENPROCF`(Bh%,0,-110)ELSEPROCk_(Bh%)
24200Oh%=1
24210IFKk%THEN
24220REPEATPROCS_(200):UNTILOh%=FALSE
24230ENDIF
24240ENDPROC
24260DEFPROCN_
24270LOCALjg%
24280Ka%=FNLa(Bk$+".!nbconfig")
24290IFKa%<>0THEN
24300jg%=100*VALGET$#Ka%
24310IFjg%>46THEN
24320`c$=GET$#Ka%
24330hg$=GET$#Ka%:IFLENhg$<2THENhg$=""
24340P`%=FNpi(FNcc(GET$#Ka%))
24350og$=GET$#Ka%
24360ab$=GET$#Ka%
24370cg$=GET$#Ka%
24380pg$=GET$#Ka%:IFpg$=""THENpg$=FNpg
24390De$=GET$#Ka%:IFDe$=""THENDe$=`c$
24400lg$=GET$#Ka%
24410A$=GET$#Ka%
24420A$=GET$#Ka%
24430A$=GET$#Ka%
24440A$=GET$#Ka%
24450nf%=VALGET$#Ka%
24460b`%=VALGET$#Ka%
24470dg%=VALGET$#Ka%
24480Kf%=VALGET$#Ka%
24490Nb%=VALGET$#Ka%
24500fg%=VALGET$#Ka%
24510Re%=VALGET$#Ka%
24520Xb%=VALGET$#Ka%
24530cb%=VALGET$#Ka%
24540Yb%=VALGET$#Ka%
24550eg%=VALGET$#Ka%
24560Lf%=VALGET$#Ka%
24570g_%=VALGET$#Ka%
24580lg%=VALGET$#Ka%
24590i`%=VALGET$#Ka%:IFi`%=0THENi`%=7
24600IFjg%>49THEN
24610zc%=VALGET$#Ka%
24620ig%=VALGET$#Ka%
24630Ge%=VALGET$#Ka%
24640Pe%=VALGET$#Ka%
24650IFjg%>51THEN
24660kg%=VALGET$#Ka%
24670kf%=VALGET$#Ka%
24680ng%=VALGET$#Ka%:IFng%=0THENng%=2048
24690r`%=VALGET$#Ka%
24700q`%=VALGET$#Ka%
24710Od%=VALGET$#Ka%:IFOd%=0THENOd%=1024
24720ENDIF
24730ENDIF
24740ENDIF
24750PROCMa(Ka%)
24760ENDIF
24770PROCVi:PROCLk
24780SYS6,121,(2EOR&80)TO,A%
24790IFjg%<Je%ANDi_%THENPROCMk(jg%)
24800IFA%=&FFTHENW_%=1
24810IFjg%<47ANDi_%THENPROCZi:W_%=2
24820ENDPROC
24840DEFPROCMk(t%)
24850LOCALF%,t$:IFt%>0ANDt%<47THENt%=1
24860PROCNk(t%):t$=FNf`("Swelcome1",Je$)
24870CASEt%OF
24880WHEN0:PROCPa("Swelcome2",t$,0)
24890WHEN1:PROCPa("Swelcome3",t$,1)
24900OTHERWISE:PROCPa("Swelcome4",t$,1):PROCp_
24910ENDCASE
24920PROCS_(0)
24930ENDPROC
24950DEFPROCNk(t%)
24960LOCALKa$,F%
24990IFt%=0THENs$=".welcome.new_"ELSEs$=".welcome.upd_"
25000Ka$=Na$+".postmaster"
25010F%=FNOk(Cj$+s$+"mail",Ka$)
25020Ka$=Na$+".localnews"
25030F%=FNOk(Cj$+s$+"news",Ka$)
25040ENDPROC
25060DEFPROCVi
25070LOCALl%
25080PROCRi(Dh%,27,zc%)
25090PROCRi(Dh%,28,ig%)
25100PROCRi(Dh%,29,b`%)
25110PROCRi(Dh%,33,Pe%)
25120PROCRi(Dh%,34,kg%)
25130PROCRi(Dh%,31,Lf%):PROCRi(Dh%,30,-(Lf%=0))
25140PROCRi(Dh%,36,r`%):PROCRi(Dh%,35,-(r`%=0))
25150PROCVb(Dh%,2,STR$Kf%)
25160PROCVb(Dh%,22,STR$i`%)
25170PROCRi(Fh%,10,dg%)
25180PROCRi(Fh%,11,eg%)
25190PROCRi(Fh%,12,fg%)
25200PROCRi(Ch%,3,Re%)
25210PROCRi(Ch%,6,nf%)
25220PROCRi(Ch%,7,Ge%)
25230PROCRi(Ch%,8,kf%)
25240PROCRi(Ch%,9,Nb%)
25250PROCRi(Ch%,10,Xb%)
25260PROCRi(Ch%,11,g_%):a_%=g_%
25270PROCRi(Ch%,12,cb%)
25280PROCRi(Ch%,14,Yb%):PROCRi(Ch%,13,-(Yb%=0))
25290PROCRi(Ch%,20,lg%)
25300PROCVb(Ch%,23,STR$ng%)
25310PROCVb(Ch%,26,STR$Od%)
25320PROCNj(Dh%,12,"Current list")
25330FORl%=3TO4:PROCbb(Fh%,l%,(dg%=0)):NEXTl%
25340FORl%=30TO31:PROCbb(Dh%,l%,(b`%=0)):NEXTl%
25350FORl%=35TO41:PROCbb(Dh%,l%,(b`%=0)):NEXTl%
25360FORl%=12TO14:PROCbb(Ch%,l%,(Xb%=0)):NEXTl%
25370PROCjj(P`%)
25380IFcg$=""THENcg$=cg$(0)
25390PROClj(cg$)
25400PROCmj(lg$)
25410PROCPk
25420PROCVb(Gh%,3,og$)
25430PROCyi:PROCQk
25440c`%=FNRk(Re%)
25450ENDPROC
25470DEFPROCTi(Sk%,Tk%)
25480LOCALh%,m%
25490h%=q`%DIV100:m%=q`%MOD100
25500m%+=Tk%
25510IFm%>59THENSk%=1:m%=0
25520IFm%<0THENSk%=-1:m%=59
25530h%+=Sk%
25540IFh%<0THENh%=23
25550IFh%>23THENh%=0
25560q`%=h%*100+m%:PROCPk
25570ENDPROC
25590DEFPROCPk
25600LOCALa$,h$,m$
25610h$=RIGHT$("0"+STR$(q`%DIV100),2):m$=RIGHT$("0"+STR$(q`%MOD100),2)
25620IFh$="00"THENh$="12"
25630a$=h$+":"+m$
25640IFq`%>1159THENa$+=" pm"ELSEa$+=" am"
25650PROCVb(Dh%,41,a$)
25660ENDPROC
25680DEFPROClj(g$)
25690PROCVb(Ch%,1,LEFT$(g$,41))
25700ENDPROC
25720DEFPROCmj(g$)
25730PROCVb(Ch%,18,LEFT$(g$,41))
25740ENDPROC
25760DEFPROCjj(t%)
25770IFt%<0THENt%=0
25780PROCVb(Gh%,11,LEFT$(ti$(t%)+" - "+yj$(t%),40))
25790ENDPROC
25810DEFPROCui(t%)
25820IFt%<0THENt%=0
25830PROCVb(Ih%,0,ti$(t%))
25840PROCVb(Ih%,2,LEFT$(yj$(t%),38))
25850ENDPROC
25870DEFFNpi(t$)
25880LOCALt%
25890t%=0:WHILEt%<wi%ANDt$<>ti$(t%):t%+=1:ENDWHILE
25900IFt$<>ti$(t%)THENt%=0
25910=t%
25930DEFPROCQk
25940PROCVb(Ch%,16,ab$)
25950ENDPROC
25970DEFPROCyi
25980PROCVb(Gh%,0,`c$)
25990PROCVb(Gh%,1,De$)
26000PROCVb(Gh%,2,hg$)
26010PROCVb(Gh%,14,pg$)
26020ENDPROC
26040DEFPROCUk
26050LOCALt$,l%
26060zc%=FNEi(Dh%,27)
26070ig%=FNEi(Dh%,28)
26080b`%=FNEi(Dh%,29)
26090Pe%=FNEi(Dh%,33)
26100kg%=FNEi(Dh%,34)
26110Kf%=VALFNBi(Dh%,2)
26120i`%=VALFNBi(Dh%,22)
26130Lf%=FNEi(Dh%,31)
26140r`%=FNEi(Dh%,36)
26150nf%=FNEi(Ch%,6)
26160Ge%=FNEi(Ch%,7)
26170Re%=FNEi(Ch%,3)
26180g_%=FNEi(Ch%,11):a_%=g_%
26190kf%=FNEi(Ch%,8)
26200Nb%=FNEi(Ch%,9)
26210Xb%=FNEi(Ch%,10)
26220cb%=FNEi(Ch%,12)
26230Yb%=FNEi(Ch%,14)
26240lg%=FNEi(Ch%,20)
26250cg$=FNBi(Ch%,1)
26260lg$=FNBi(Ch%,18)
26270ab$=FNBi(Ch%,16)
26280ng%=VALFNBi(Ch%,23)
26290Od%=VALFNBi(Ch%,26)
26300dg%=FNEi(Fh%,10)
26310eg%=FNEi(Fh%,11)
26320fg%=FNEi(Fh%,12)
26330`c$=FNBi(Gh%,0)
26340t$=FNBi(Gh%,11):l%=INSTR(t$," "):IFl%>0THENt$=LEFT$(t$,l%-1)
26350IFP`%<>FNpi(t$)THENP`%=FNpi(t$):PROCP_
26360og$=FNBi(Gh%,3)
26370hg$=FNBi(Gh%,2)
26380De$=FNBi(Gh%,1)
26390pg$=FNBi(Gh%,14)
26400c`%=FNRk(Re%)
26410PROCLk
26420FORl%=0TO6:PROCVk(30,0,0,l%):ENDPROC
26430ENDPROC
26450DEFPROCLk
26460PROCWk("Newsbase$HostName",`c$)
26470PROCWk("Newsbase$MailName",De$)
26480PROCWk("Newsbase$RemoteHost",hg$)
26490PROCWk("Newsbase$Transport",ti$(P`%))
26500ENDPROC
26520DEFPROCWk(A$,B$)
26530SYS131077,"set "+A$+" "+B$
26540ENDPROC
26560DEFPROCp_
26570PROCUk
26580IFi_%THEN
26590Ka%=FNCe(Bk$+".!nbconfig"):IFKa%<>0THEN
26600BPUT#Ka%,STR$(Je%/100)
26610BPUT#Ka%,`c$
26620BPUT#Ka%,hg$
26630BPUT#Ka%,ti$(P`%)
26640BPUT#Ka%,og$
26650BPUT#Ka%,ab$
26660BPUT#Ka%,cg$
26670BPUT#Ka%,pg$
26680BPUT#Ka%,De$
26690BPUT#Ka%,lg$
26700BPUT#Ka%,""
26710BPUT#Ka%,""
26720BPUT#Ka%,""
26730BPUT#Ka%,""
26740BPUT#Ka%,STR$nf%
26750BPUT#Ka%,STR$b`%
26760BPUT#Ka%,STR$dg%
26770BPUT#Ka%,STR$Kf%
26780BPUT#Ka%,STR$Nb%
26790BPUT#Ka%,STR$fg%
26800BPUT#Ka%,STR$Re%
26810BPUT#Ka%,STR$Xb%
26820BPUT#Ka%,STR$cb%
26830BPUT#Ka%,STR$Yb%
26840BPUT#Ka%,STR$eg%
26850BPUT#Ka%,STR$Lf%
26860BPUT#Ka%,STR$g_%
26870BPUT#Ka%,STR$lg%
26880BPUT#Ka%,STR$i`%
26890BPUT#Ka%,STR$zc%
26900BPUT#Ka%,STR$ig%
26910BPUT#Ka%,STR$Ge%
26920BPUT#Ka%,STR$Pe%
26930BPUT#Ka%,STR$kg%
26940BPUT#Ka%,STR$kf%
26950BPUT#Ka%,STR$ng%
26960BPUT#Ka%,STR$r`%
26970BPUT#Ka%,STR$q`%
26980BPUT#Ka%,STR$Od%
26990BPUT#Ka%,"0"
27000BPUT#Ka%,"0"
27010BPUT#Ka%,"0"
27020BPUT#Ka%,"0"
27030PROCMa(Ka%):PROCWa(Bk$+".!nbconfig",&FFF)
27040ENDIF
27050ENDIF
27060ENDPROC
27080DEFFNpg
27090LOCALb%,m%,b$
27100SYS274504TO,b%
27110m%=(b%MOD360000)DIV6000:b%=b%DIV360000
27120b$=LEFT$(STR$ABSm%+"00",2):b$=STR$ABSb%+b$
27130IFLENb$=3THENb$="0"+b$
27140IFb%<0THENb$="-"+b$ELSEb$="+"+b$
27150=b$
27170DEFPROCP_
27180LOCALf$,l%,a$,b$,t$
27190t$=ti$(P`%)
27200l%=FNQ`(16,"","","")
27210IFl%<>0ANDP`%>0THEN
27220PROCPa("Tfail1",t$,1):l%=FNQ`(16,"","","")
27230IFl%<>0PROCj_("Tfail2",1):P`%=0
27240ENDIF
27250PROCxi
27260ENDPROC
27280DEFFNLa(f$)
27290=FNXk(f$,&4F)
27310DEFFNCe(f$)
27320=FNXk(f$,&8F)
27340DEFFNqf(f$)
27350LOCALh%
27360h%=FNXk(f$,&CF)
27370IFh%=0THENh%=FNXk(f$,&8F)
27380=h%
27400DEFFNXk(f$,r%)
27410LOCALh%,F%
27420SYS131085,r%,f$TOh%;F%
27430IF(F%AND1)THENh%=0
27440=h%
27460DEFFNie(A$)
27470LOCALr%,F%
27480IFA$>""THENSYS131113,37,A$,x`%,,,256TO,,,,,r%;F%
27490IFr%>0AND(F%AND1)=0THEN:=FNHa(x`%)
27500=""
27520DEFPROCMa(RETURNh%)
27530IFh%<>0SYS131085,0,h%:h%=0
27540ENDPROC
27560DEFFNYk(ya%,d$)
27570LOCALf$,t%,r3%,Tf%,f%,Da%,Ea%,Zf%,af%
27580Ea%=FNFa(Da%,Ga%,"dbuf")
27590REPEATPROCS_(c`%)
27600Zf%=Da%:SYS12,10,d$,Da%,20,Tf%,Ga%,"*"TO,,,r3%,Tf%
27610IFr3%>0THEN
27620FORaf%=1TOr3%
27630t%=Zf%!16:f$=FNHa(Zf%+20)
27640CASEt%OF
27650WHEN1:IFf%=0AND(VALf$>0ORf$="~index")THENya%+=1:f%=1:PROCm_("","",FNf`("Gfound",STR$ya%),""):IFya%=1THENPROCj_("Gcount",0)
27660WHEN2,3:IFINSTR(RIGHT$(d$,3),"~")<1THENya%=FNYk(ya%,d$+"."+f$)
27670ENDCASE
27680Zf%=Zf%+(LENf$+24)ANDNOT3:NEXTaf%
27690ENDIF
27700UNTILTf%=-1
27710PROCQa(Ea%)
27720=ya%
27740DEFFNge(d$,le%)
27750LOCALf$,t%,r3%,Zk%,f%,Da%,Ea%,Zf%,F%
27760Ea%=FNFa(Da%,Ga%,"dbuf")
27770Zk%=0
27780REPEATPROCS_(c`%*3)
27790SYS131084,10,d$,Da%,1,Zk%,Ga%,"*"TO,,,r3%,Zk%;F%
27800IFr3%>0AND(F%AND1)=0THEN
27810Zf%=Da%
27820t%=Zf%!16:f$=FNHa(Zf%+20):Zf%=Zf%+(25+LENf$)ANDNOT3
27830CASEt%OF
27840WHEN1:IFVALf$>le%THENle%=VALf$
27850WHEN2,3:IFLEFT$(f$,1)="~"THENle%=FNge(d$+"."+f$,le%)
27860ENDCASE
27870ENDIF
27880UNTILZk%=-1OR(F%AND1)<>0
27890PROCQa(Ea%)
27900=le%
27920DEFPROCLi
27930LOCALoe%,l%
27940IFFNth("Bscan")=0THEN
27950PROCm_(FNn_("Gsearch")," "," "," ")
27960PROCak(E`$+".News")
27970IFg`%>1THEN
27980IFT_%=0PROCj_("Gcheck",0)
27990FORoe%=1TOg`%
28000IFtd%(oe%)=0ANDZ`$(oe%)>""THEN
28010PROCm_(FNn_("Gcheck"),FNf`("Glast",Z`$(oe%))," "," ")
28020td%(oe%)=FNSd(oe%):l%=FNbk(oe%)
28030ENDIF
28040NEXToe%
28050ENDIF
28060PROCNj(Dh%,25,Z`$(1)):Fj%=1:PROCGj(1)
28070PROCuh
28080PROCdb
28090ENDIF
28100PROCQf("")
28110ENDPROC
28130DEFPROCak(d$)
28140LOCALn%,f$,t%,r3%,Tf%,ck$,l%,Da%,Ea%,Zf%,af%,F%
28150Ea%=FNFa(Da%,Ga%,"dbuf")
28160PROCQf("Scanning for groups")
28170REPEAT
28180SYS131084,10,d$,Da%,10,n%,Ga%,"*"TO,,,r3%,n%;F%:Tf%=n%
28190PROCS_(c`%):Zf%=Da%
28200IFr3%>0AND(F%AND1)=0THEN
28210FORaf%=1TOr3%
28220t%=Zf%!16:f$=FNHa(Zf%+20):Zf%=Zf%+(24+LENf$)ANDNOT3
28230CASEt%OF
28240WHEN1:IFck$=""AND(VALf$>0ORf$="~index")THEN
28250ck$=FNdk(d$):PROCek(ck$):PROCfk
28260ENDIF
28270WHEN2,3:IFLEFT$(f$,1)="~"THEN
28280IFck$=""THENck$=FNdk(d$):PROCek(ck$):PROCfk
28290ELSE
28300PROCak(d$+"."+f$)
28310ENDIF
28320ENDCASE
28330NEXTaf%
28340ENDIF
28350UNTILTf%=-1OR(F%AND1)<>0
28360PROCQa(Ea%)
28370ENDPROC
28390DEFPROCgk(d$)
28410LOCALn%,f$,t%,r3%,Tf%,Ka$,l%,Da%,Ea%,Zf%,af%,F%,hk%
28420Ea%=FNFa(Da%,Ga%,"dbuf"):PROCm_("","",FNn_("Gconvert"),"")
28430REPEAT
28440SYS131084,10,d$,Da%,10,n%,Ga%,"*"TO,,,r3%,n%;F%:Tf%=n%
28450PROCS_(c`%):Zf%=Da%
28460IFr3%>0AND(F%AND1)=0THEN
28470FORaf%=1TOr3%
28480t%=Zf%!16:f$=FNHa(Zf%+20):Zf%=Zf%+(24+LENf$)ANDNOT3
28490CASEt%OF
28500WHEN1:IFVALf$<>0THEN
28510IFhk%THEN
28520F%=FNOa(d$+"."+f$,d$+".~x.~x."+f$):IFF%=0THENn%-=1
28530ELSE
28540Ka$=FNXa:F%=FNOa(d$+"."+f$,Ka$):IFF%=0THEN
28550IFFNRb(d$+".~x.~x")>1ANDFNOa(Ka$,d$+".~x.~x."+f$)=0THENhk%=TRUE:n%-=1
28560ENDIF
28570ENDIF
28580ENDIF
28590ENDCASE
28600NEXTaf%
28610ENDIF
28620UNTILTf%=-1OR(F%AND1)<>0
28630PROCQa(Ea%)
28640ENDPROC
28660DEFPROCfk
28670IFT_%=0ANDZ`$(1)=""PROCj_("Gscan",0)
28680ENDPROC
28700DEFPROCek(g$)
28710LOCALl%
28720IFg$>""THEN
28730PROCm_("",FNf`("Gfound",g$),FNf`("Gtotal",STR$g`%),"")
28740IFFNRd(g$,0)=0THENl%=FNxe(g$,TRUE):IFl%=0THENPROCCf
28750IFl%>0PROCm_("","","","("+g$+" added)")
28760ENDIF
28770ENDPROC
28790DEFFNdk(p$)
28800LOCALl%:p$=MID$(p$,LENik$+1)
28810REPEATl%=INSTR(p$,"~.")
28820IFl%>0THENp$=LEFT$(p$,l%-1)+MID$(p$,l%+2)
28830UNTILl%=0
28840=p$
28860DEFPROCM_
28870gd%=0:qh%=0
28880jk%+=FNkk(Bk$+".filters")
28890DIMhd%(jk%),qd$(jk%),qd%(jk%),ad%(1)
28900DIMld%(jk%,2),ld$(jk%,2),nd%(jk%,2),od%(jk%,2),kd%(2)
28910Ka%=FNLa(Bk$+".filters")
28920IFKa%<>0THEN
28930REPEATa$=GET$#Ka%
28940hd%(gd%)=VALFNvc(a$,";")
28950FORl%=0TO2
28960od%(gd%,l%)=VALFNvc(a$,";")
28970ld%(gd%,l%)=VALFNvc(a$,";")
28980ld$(gd%,l%)=FNvc(a$,";")
28990nd%(gd%,l%)=VALFNvc(a$,";")
29000NEXTl%
29010qd%(gd%)=VALFNvc(a$,";")
29020qd$(gd%)=FNvc(a$,";")
29030IFld$(gd%,0)>""ANDqd%(gd%)>0THENgd%+=1:ELSEhd%(gd%)=0
29040UNTILEOF#Ka%:PROCMa(Ka%):IFgd%>0THENgd%-=1
29050ENDIF
29060PROChi(0)
29070ENDPROC
29090DEFPROCxh
29100LOCALl%,R_%
29110IFi_%THEN
29120Ka%=FNCe(Bk$+".filters")
29130IFKa%>0THEN
29140FORl%=0TOjk%
29150IFhd%(l%)>0THEN
29160A$=STR$hd%(l%)+";"
29170FORR_%=0TO2:A$+=STR$od%(l%,R_%)+";"+STR$ld%(l%,R_%)+";"+ld$(l%,R_%)+";"+STR$nd%(l%,R_%)+";":NEXTR_%
29180A$+=STR$qd%(l%)+";"+qd$(l%)
29190BPUT#Ka%,A$
29200ENDIF
29210NEXTl%:PROCMa(Ka%):PROCWa(Bk$+".filters",&FFF)
29220ENDIF
29230ENDIF
29240ENDPROC
29260DEFPROChi(n%)
29270LOCALa$,g$,l%,R_%
29280CASEhd%(n%)OF
29290WHEN1:g$="News"
29300WHEN2:g$="Mail"
29310WHEN3:g$="Any"
29320OTHERWISE:g$="Unset"
29330ENDCASE
29340PROCVb(Hh%,1,g$)
29350FORR_%=0TO2
29360CASEld%(n%,R_%)OF
29370WHEN1:g$="From"
29380WHEN2:g$="To"
29390WHEN3:g$="Subject"
29400WHEN4:g$="Group"
29410WHEN5:g$="Reply To"
29420WHEN6:g$="Precedence"
29430WHEN7:g$="Envelope"
29440OTHERWISE:g$="None":ld$(n%,R_%)=""
29450ENDCASE
29460PROCVb(Hh%,2+R_%,g$)
29470PROCVb(Hh%,5+R_%,LEFT$(ld$(n%,R_%),18))
29480PROCRi(Hh%,8+R_%,nd%(n%,R_%))
29490NEXTR_%
29500FORR_%=11TO14:PROCRi(Hh%,R_%,0):NEXT
29510IFld%(n%,1)>0THEN
29520IFod%(n%,1)=0THENPROCRi(Hh%,11,1)ELSEPROCRi(Hh%,12,1)
29530IFld%(n%,2)>0THEN
29540IFod%(n%,2)=0THENPROCRi(Hh%,13,1)ELSEPROCRi(Hh%,14,1)
29550ENDIF
29560ENDIF
29570CASEqd%(n%)OF
29580WHEN1:g$="Junk"
29590WHEN2:g$="Kill"
29600WHEN3:g$="Redirect"
29610WHEN4:g$="Submit"
29620OTHERWISE:g$="":qd$(n%)=""
29630ENDCASE
29640PROCVb(Hh%,15,g$)
29650PROCVb(Hh%,16,LEFT$(qd$(n%),98))
29660PROCVb(Hh%,17,"Filter "+STR$(n%+1))
29670PROClk
29680ad%()=0:FORl%=0TOgd%
29690CASEhd%(l%)OF
29700WHEN1:ad%(1)+=1
29710WHEN2:ad%(0)+=1
29720WHEN3:ad%(0)+=1:ad%(1)+=1
29730ENDCASE
29740NEXTl%
29750ENDPROC
29770DEFPROCii(n%)
29780LOCALl%,R_%:FORl%=n%TOgd%-1
29790hd%(l%)=hd%(l%+1):qd%(l%)=qd%(l%+1):qd$(l%)=qd$(l%+1)
29800FORR_%=0TO2:ld%(l%,R_%)=ld%(l%+1,R_%):ld$(l%,R_%)=ld$(l%+1,R_%):nd%(l%,R_%)=nd%(l%+1,R_%):NEXTR_%
29810NEXTl%
29820hd%(gd%)=0:qd%(gd%)=0:qd$(gd%)=""
29830FORR_%=0TO2:ld%(gd%,R_%)=0:ld$(gd%,R_%)="":nd%(gd%,R_%)=0:od%(gd%,R_%)=0:NEXTR_%
29840IFgd%>0THENgd%-=1
29850IFqh%>gd%THENqh%-=1
29860PROChi(qh%):PROCxh
29870ENDPROC
29890DEFPROCji
29900IFgd%=jk%THEN
29910PROCj_("Ffull",0)
29920ELSE
29930IFhd%(gd%)>0THENgd%+=1
29940hd%(gd%)=0:qh%=gd%:PROChi(qh%)
29950PROCVb(Hh%,17,"Edit Filter "+STR$(gd%+1))
29960ENDIF
29970ENDPROC
29990DEFPROCph(n%)
30000LOCALa%,R_%,t$,a$,b$,A$
30010a%=INSTR("NMA",LEFT$(FNBi(Hh%,1),1))
30020hd%(n%)=a%:IFa%<1THENPROCii(n%):PROCj_("Fbadt",0):ENDPROC
30030FORR_%=0TO2
30040a%=INSTR("FTSGRPE",LEFT$(FNBi(Hh%,2+R_%),1))
30050ld%(n%,R_%)=a%:IFa%>0THEN
30060ld$(n%,R_%)=FNBi(Hh%,5+R_%):nd%(n%,R_%)=FNEi(Hh%,8+R_%)
30070ELSE
30080ld$(n%,R_%)="":nd%(n%,R_%)=0
30090ENDIF
30100NEXTR_%
30110IFFNEi(Hh%,12)THENod%(n%,1)=1ELSEod%(n%,1)=0
30120IFFNEi(Hh%,14)THENod%(n%,2)=1ELSEod%(n%,2)=0
30130qd%(n%)=INSTR("JKRS",LEFT$(FNBi(Hh%,15),1))
30140qd$(n%)=FNBi(Hh%,16)
30150PROChi(n%):PROCxh
30160ENDPROC
30180DEFPROCL_
30190LOCALl%,je%,jd%
30200l%=0:l%=FNkk(mk$)
30210IFl%=0THEN
30220PROCm_(FNn_("Gcount")," "," "," ")
30230l%=FNYk(0,E`$+".News")
30240ENDIF
30250PROCnk(l%)
30260DIMaj$(Zj%),`d$(Zj%)
30270DIMok%(Zj%),pk%(Zj%),qk%(Zj%),rk%(Zj%)
30280PROCsk
30290PROCtk
30300ENDPROC
30320DEFFNkk(f$)
30330LOCALa$,l%
30340Ka%=FNLa(f$)
30350IFKa%<>0THEN
30360REPEATa$=GET$#Ka%:l%+=1:UNTILEOF#Ka%:PROCMa(Ka%)
30370ENDIF
30380=l%
30400DEFPROCnk(n%)
30410we%=n%+Ii%:IFwe%<uk%THENwe%=uk%
30420g`%=n%:n%=we%:_f%=n%*2
30430DIMre$(_f%)
30440DIM_e%(n%),`e%(n%)
30450DIMZ`$(n%),ze%(n%):Z`$()=STRING$(40," "):Z`$()="":ze%()=-1
30460DIMtd%(n%),vk%(n%):vk%()=-1
30470ENDPROC
30490DEFPROCsk
30500LOCALl%
30510DIMcg$(20),lg$(10):cg$(0)="moderators.uu.net"
30520Ka%=FNLa(Cj$+".modpaths")
30530IFKa%>0THEN
30540l%=0:REPEAT:l%+=1:cg$(l%)=GET$#Ka%:UNTILl%=20OREOF#Ka%:PROCMa(Ka%)
30550ENDIF
30560Ka%=FNLa(Cj$+".mail2news")
30570IFKa%>0THEN
30580l%=0:REPEAT:l%+=1:lg$(l%)=GET$#Ka%:UNTILl%=10OREOF#Ka%:PROCMa(Ka%)
30590ENDIF
30600ENDPROC
30620DEFPROCDi(u$)
30630LOCALu%,f$:u%=FNyd(u$)
30640IFu%>-1THEN
30650PROCVb(Fh%,20,u$)
30660PROCVb(Fh%,2,STR$rk%(u%))
30670PROCVb(Fh%,13,LEFT$(`d$(u%),32))
30680PROCRi(Fh%,3,pk%(u%))
30690PROCRi(Fh%,4,qk%(u%))
30700PROCRi(Fh%,5,ok%(u%))
30710f$=FNzd(u$)+".vacation":PROCVb(Fh%,21,FNn_("Inactive"))
30720IFFNSb(f$)=1ANDFNIa(f$)>0PROCVb(Fh%,21,FNn_("Active"))
30730ENDIF
30740ENDPROC
30760DEFPROCGi(u$):IFFNwk(u$)THENENDPROC
30770LOCALf$:f$=FNzd(u$)+".vacation"
30780IFFNSb(f$)=0THENBe%=FNCe(f$):IFBe%>0THENBPUT#Be%,u$+" is away":PROCMa(Be%):PROCxk(u$)
30790PROCWa(f$,&FFF):SYS393438,"Filer_Run "+f$:PROCVb(Fh%,21,"Active")
30800ENDPROC
30820DEFPROCyk(u$,s$):IFFNwk(u$)THENENDPROC
30830LOCALf$,F%:f$=FNzd(u$)+".vacation"
30840F%=FNJa(f$):F%=FNOk(s$,f$)
30850IFF%=0THENPROCVb(Fh%,21,FNn_("Active")):PROCxk(u$)
30860ENDPROC
30880DEFPROCxk(u$)
30890PROCPa("Uvacset",u$,0)
30900ENDPROC
30920DEFPROCHi(u$)
30930LOCALF%:F%=FNJa(FNzd(u$)+".vacation")
30940IFF%=0PROCVb(Fh%,21,FNn_("Inactive"))
30950ENDPROC
30970DEFFNwk(u$)
30980LOCALf%:f%=0:u$=FNcc(u$)
30990f%=(u$="root"ORu$="postmaster"ORu$="default")
31000IFf%THENVDU7:PROCj_("Ubadvac",0)
31010=f%
31030DEFFNyd(u$)
31040LOCALl%,r%:r%=0:l%=0
31050WHILEl%<Zj%ANDu$<>aj$(l%):l%+=1:ENDWHILE
31060IFu$=aj$(l%)ANDu$>""THENr%=l%
31070=r%
31090DEFPROCO_
31100LOCALjd%,Aa%,n%,u%,zk%,y`%,u$,p$
31110WHILEFNI`("UserHome$Dir")=""
31120jd%=FNe`(FNn_("Unohome"))
31130IFjd%=1THENSYS5,"set UserHome$Dir "+E`$+".UserHome"
31140ENDWHILE
31150_k$=FNI`("UserHome$Dir")
31160aj$(0)="default":rk%(0)=10:pk%(0)=1:qk%(0)=1:ok%(0)=1
31170IFFNSb(_k$)<2THEN
31180PROCRb(_k$):PROC`k
31190ELSE
31200Aa%=0:zk%=1:REPEAT
31210SYS131084,9,_k$,x`%,1,Aa%,255,"*"TO,,,n%,Aa%;y`%
31220u$=FNHa(x`%):IFFNcc(u$)="default"THENu%=0ELSEu%=zk%:zk%+=1
31230IF(y`%AND1)=0ANDn%>0ANDu%<Zj%THEN
31240aj$(u%)=u$:p$=FNzd(u$)
31250Te%=FNLa(p$+".userinfo")
31260IFTe%>0THEN
31270rk%(u%)=VALGET$#Te%:ok%(u%)=VALGET$#Te%
31280pk%(u%)=VALGET$#Te%:qk%(u%)=VALGET$#Te%:PROCMa(Te%)
31290ELSE
31300PROCAl(u%)
31310ENDIF
31320Te%=FNLa(p$+".forward")
31330IFTe%>0THEN`d$(u%)=GET$#Te%:PROCMa(Te%)ELSE`d$(u%)=""
31340ENDIF
31350UNTILAa%<0OR(y`%AND1)<>0
31360ENDIF
31370PROCDi("default")
31380ENDPROC
31400DEFPROCAl(u%)
31410IFu%>0THEN
31420rk%(u%)=rk%(0):pk%(u%)=pk%(0):qk%(u%)=qk%(0):ok%(u%)=ok%(0)
31430CASEaj$(u%)OF
31440WHEN"root":rk%(u%)=0
31450WHEN"postmaster":rk%(u%)=1
31460ENDCASE
31470ENDIF
31480PROCBl(u%)
31490ENDPROC
31510DEFPROCrh
31520LOCALu%:u%=FNyd(FNBi(Fh%,20))
31530IFu%>-1THEN
31540rk%(u%)=VALFNBi(Fh%,2)
31550pk%(u%)=FNEi(Fh%,3)
31560qk%(u%)=FNEi(Fh%,4)
31570ok%(u%)=FNEi(Fh%,5)
31580`d$(u%)=FNBi(Fh%,13)
31590ENDIF
31600ENDPROC
31620DEFPROCsh
31630LOCALu%:u%=FNyd(FNBi(Fh%,20))
31640PROCBl(u%)
31650ENDPROC
31670DEFPROCBl(u%)
31680LOCALf$,l%
31690IFu%>-1THEN
31700f$=FNzd(aj$(u%)):PROCRb(f$):f$+=".userinfo"
31710Te%=FNCe(f$)
31720IFTe%>0THEN
31730BPUT#Te%,STR$rk%(u%):BPUT#Te%,STR$ok%(u%)
31740BPUT#Te%,STR$pk%(u%):BPUT#Te%,STR$qk%(u%)
31750PROCMa(Te%):PROCWa(f$,&FFF)
31760ENDIF
31770f$=FNzd(aj$(u%))+".forward"
31780Te%=FNCe(f$)
31790IFTe%>0THENBPUT#Te%,`d$(u%):PROCMa(Te%):PROCWa(f$,&FFF)
31800l%=FNQ`(8,"",aj$(u%),STR$rk%(u%))
31810ENDIF
31820ENDPROC
31840DEFFNe`(A$)
31850LOCALbg%
31860PROCCl(FNn_("Yes"),FNn_("No"))
31870PROCVb(Eh%,0,LEFT$(A$,78)):PROCF`(Eh%,0,0)
31880bg%=0:REPEATPROCS_(100):UNTILbg%>0
31890=bg%
31910DEFFNT`(A$)
31920LOCALbg%
31930PROCCl(FNn_("Continue"),FNn_("Skip"))
31940PROCVb(Eh%,0,LEFT$(A$,78)):PROCF`(Eh%,0,0)
31950bg%=0:REPEATPROCS_(100):UNTILbg%>0
31960=bg%
31980DEFPROCCl(A$,B$)
31990PROCVb(Eh%,1,A$):PROCVb(Eh%,2,B$)
32000ENDPROC
32020DEFPROCQ_
32030IFZ`$(1)=""PROCLi:PROCK`("",0)
32040IFaj$(3)=""PROC`k:PROCK`("",0)
32050ENDPROC
32070DEFPROC`k
32080LOCALn%,l%,g$:n%=0
32090l%=FNDl("default"):l%=FNDl("root"):l%=FNDl("postmaster")
32100REPEATg$=Z`$(n%)
32110IFLEFT$(g$,6)="Email."ANDINSTR(g$,".",7)<1THENl%=FNDl(MID$(g$,7))
32120n%+=1:UNTILn%>g`%
32130ENDPROC
32150DEFFNDl(A$)
32160LOCALn%,jd%
32170IFi_%THEN
32180WHILEaj$(n%)<>A$ANDaj$(n%)>""ANDn%<Zj%:n%+=1:ENDWHILE
32190IFaj$(n%)=""THEN
32200aj$(n%)=A$:PROCRb(FNzd(A$))
32210PROCx_("Added user: "+A$):jd%=TRUE
32220PROCAl(n%)
32230PROCW`(4,A$,0,"","")
32240n%=FNQ`(6,"",A$,STR$rk%(n%))
32250ENDIF
32260ENDIF
32270=jd%
32290DEFFNzd(u$)
32300=_k$+"."+u$
32320DEFFNEl(A$)
32330LOCALp$,n%,jd%,l%
32340IFi_%THEN
32350WHILEFl$(n%)<>A$ANDn%<Gl%:n%+=1:ENDWHILE
32360IFFl$(n%)=A$ORA$="root"ORA$="postmaster"THEN=0
32370p$=FNzd(A$)
32380IFFNSb(p$)>1THEN
32390PROCqi(p$):IFFNSb(p$)=0THENjd%=TRUE
32400ENDIF
32410IFjd%THEN
32420PROCW`(5,A$,0,"",""):PROCx_("Removed user: "+A$)
32430n%=FNQ`(7,"",A$,"")
32440n%=0:WHILEaj$(n%)<>A$ANDaj$(n%)<>"":n%+=1:ENDWHILE
32450IFaj$(n%)=A$THENFORl%=n%+1TOZj%:aj$(l%-1)=aj$(l%):NEXTl%
32460aj$(Zj%)=""
32470ENDIF
32480ENDIF
32490=jd%
32510DEFFNhc(A$)
32520LOCALn%:A$=FNcc(A$)
32530WHILEFNcc(aj$(n%))<>A$ANDaj$(n%)>"":n%+=1:ENDWHILE
32540IFaj$(n%)=""THEN=0
32550=TRUE
32570DEFPROCtk
32580LOCALa$,b$,g$,Hl$,Sa%,lc%,Il%
32590PROCud:_e%()=0:`e%()=0:Il%=0:g`%=0
32600Ka%=FNLa(mk$)
32610v%=0:IFKa%>0THENv%=VALGET$#Ka%
32620IF(v%>=Th%ORv%=13)ANDKa%<>0THEN
32630WHILEEOF#Ka%=FALSEANDg`%<we%
32640a$=GET$#Ka%:g$=FNve(FNvc(a$," "))
32650IFg$>""ANDINSTR(g$,"*")<1THEN
32660
32670IFg$<>Hl$THEN
32680IFg$>Hl$THEN
32690g`%+=1:lc%=g`%:Hl$=g$
32700ELSE
32710lc%=FNxe(g$,FALSE)
32720ENDIF
32730Z`$(lc%)=g$:Sa%=FNAf(g$)
32740td%(lc%)=-VALFNvc(a$," ")
32750A%=VALFNvc(a$," ")
32760_e%(lc%)=VALFNvc(a$," ")
32770b$=FNvc(a$," "):`e%(lc%)=VALb$
32780IFb$=""ANDSa%=0THENPROCPa("Mcheck",g$,0):`e%(lc%)=FNBf(g$):Il%=TRUE:PROCS_(4*c`%)
32790IFSa%>1ANDv%<Th%THEN_e%(lc%)=1E6:Il%=TRUE
32800ENDIF
32810ENDIF
32820ENDWHILE
32830PROCMa(Ka%):PROCK`("",0)
32840ENDIF
32850IFIl%THENPROCdb
32860PROCNj(Dh%,25,Z`$(1)):Fj%=1:PROCGj(1):PROCvd
32870ENDPROC
32890DEFFNBf(g$)
32900g$=FNQi(g$,1)
32910=ABS(g$>"")
32930DEFFNvc(RETURNA$,s$)
32940LOCALB$,l%
32950l%=INSTR(A$,s$)
32960IFl%>0THEN
32970B$=LEFT$(A$,l%-1):A$=MID$(A$,l%+1)
32980ELSE
32990B$=A$:A$=""
33000ENDIF
33010=B$
33030DEFPROCGj(g%)
33040LOCALn%,a$:n%=_e%(g%)
33050IFn%>10000THEN
33060a$="Never"
33070ELSE
33080IFn%=0THENa$="Default"ELSEa$=STR$n%
33090ENDIF
33100PROCVb(Dh%,1,a$)
33110ENDPROC
33130DEFPROCdb
33140LOCALA$,F%,l%
33150IFi_%THEN
33160F%=FNJa(mk$+"~")
33170F%=FNTb(mk$,mk$+"~")
33180Ka%=FNCe(mk$)
33190IFKa%=0THENPROCJl(mk$):Ka%=FNCe(mk$)
33200IFKa%<>0THEN
33210BPUT#Ka%,STR$Th%
33220FORl%=1TOg`%
33230IFZ`$(l%)>""THEN
33240BPUT#Ka%,Z`$(l%)+" "+STR$(ABStd%(l%))+" 0 "+STR$_e%(l%)+" "+STR$`e%(l%)
33250ENDIF
33260NEXTl%
33270PROCMa(Ka%):PROCWa(mk$,&FFF)
33280ELSE
33290VDU7:PROCj_("Grpinfo",1)
33300ENDIF
33310ENDIF
33320ENDPROC
33340DEFPROCC_
33350PROCud
33360E`$=FNI`("Newsdir$dir")
33370IFFNSb(E`$)<2THENE`$=""
33380si$=FNI`("Newsbase$dir")
33390ri$=si$+".transports"
33400Cj$=si$+".support.newsbase"
33410Xh$=si$+".resources"
33420ik$=E`$+".news."
33430Nd$=E`$+".newsbase"
33440Na$=Nd$+".work"
33450Bk$=Nd$+".config"
33460Ob$=Nd$+".debug"
33470k`$=Nd$+".scratch"
33480Va$=Nd$+".spool"
33490zj$=Va$+".local"
33500Va$(0)=Va$+".mail"
33510Va$(1)=Va$+".news"
33520IFE`$>""THEN
33530PROCRb(Nd$)
33540PROCRb(Bk$)
33550PROCRb(Ob$)
33560PROCRb(Na$)
33570PROCRb(LEFT$(ik$))
33580PROCRb(k`$)
33590PROCRb(Va$)
33600PROCRb(zj$)
33610PROCRb(Va$(0))
33620PROCRb(Va$(1))
33630ENDIF
33640SYS131077,"set Newsbase$Support "+si$+".support"
33650SYS131077,"set Newsbase$Data "+Nd$
33660SYS131077,"set Newsbase$Config "+Bk$
33670SYS131077,"set Newsbase$Local "+zj$
33680mk$=Nd$+".grpinfo"
33690xj$=Nd$+".newgroups"
33700wj$=Bk$+".ngtime"
33710Kl$=Nd$+".lock"
33720PROCvd
33730ENDPROC
33750DEFPROCRb(f$)
33760LOCALt%:IFf$>""THEN
33770t%=FNSb(f$):IFt%<2ORt%>3THENIFi_%THENSYS131080,8,f$TO;t%
33780ENDIF
33790ENDPROC
33810DEFFNTb(s$,d$)
33820LOCALF%:SYS131113,25,s$,d$TOy`%;F%
33830IF(F%AND1)AND(!y`%MOD&FF)=&C4THEN
33840F%=FNJa(d$)
33850SYS131113,25,s$,d$TOy`%;F%
33860ENDIF
33870=(F%AND1)
33890DEFFNOk(s$,d$)
33900LOCALF%
33910SYS131113,26,s$,d$TO;F%
33920=(F%AND1)
33940DEFFNOa(s$,d$)
33950LOCALF%:F%=FNTb(s$,d$)
33960IFF%<>0SYS131113,26,s$,d$,(1<<7)TO;F%
33970=(F%AND1)
33990DEFFNJa(f$)
34000LOCALF%:SYS131080,6,f$TO;F%
34010=(F%AND1)
34030DEFFNha(f$)
34040LOCALF%:F%=FNJa(f$)
34050IFF%<>0PROCJl(f$):F%=FNJa(f$)
34060=F%
34080DEFPROCqi(f$)
34090SYS131113,27,f$,,3
34100ENDPROC
34120DEFFNIa(f$)
34130LOCALs%,F%:SYS131080,17,f$TO,,,,s%;F%
34140IF(F%AND1)THENs%=-1
34150=s%
34170DEFFNLl(f$)
34180LOCALs%:SYS131080,17,f$TO,,,,,s%;F%
34190IF(F%AND1)THENs%=-1
34200=s%
34220DEFPROCJl(f$)
34230LOCALa$,l%,r%,F%
34240IFFNSb(f$)<>1THENENDPROC
34250f$=FNie(f$)
34260FORl%=1TO255:SYS131081,7,l%,x`%,,,256TO,,,,,r%;F%
34270IF(F%AND1)=0THENa$=FNHa(x`%):IFa$=f$THENCLOSE#l%
34280NEXTl%
34290ENDPROC
34310DEFPROCOe(g%,n%)
34320LOCALp%,Ml%,Nl%,Ol%,Pl%,Ql%
34330IFg%<>Ig%ORHg%>=Ag%THENPROCJb
34340IFvk%(g%)>=0THENvk%(g%)+=1
34350p%=Cg%+Hg%:$p%=zf$
34360!p%=n%:p%!8=Oc%
34370p%!12=0:p%!16=0:Ml%=p%+20
34420IFLc$=""THENLc$="<0>"
34430IFIc$=""THENIc$="(no subject)"
34440IFHc$=""THENHc$="(no sender)"
34450Nl%=LENLc$:Ol%=LENHc$:Pl%=LENIc$:Ql%=LENXc$
34460IF(Nl%+Ol%+Pl%+Ql%)<176THEN
34470$Ml%=Lc$:$(Ml%+Nl%+1)=Hc$:$(Ml%+Nl%+Ol%+2)=Ic$
34480$(Ml%+Nl%+Ol%+Pl%+3)=Xc$:p%!4=1
34490Hg%+=200:Ig%=g%
34500ELSE
34510p%!4=0
34520IF(Nl%+Ol%+Pl%)<177THEN
34530$Ml%=Lc$:$(Ml%+Nl%+1)=Hc$:$(Ml%+Nl%+Ol%+2)=Ic$
34540ELSE
34550Lc$=LEFT$(Lc$,60):$Ml%=Lc$:Ml%=Ml%+LENLc$+1
34560Hc$=LEFT$(Hc$,40):$Ml%=Hc$:Ml%=Ml%+LENHc$+1
34570$Ml%=LEFT$(Ic$,176-(p%+20-Ml%))
34580Ml%?199=13
34590ENDIF
34600Hg%+=200:Ig%=g%
34610IFkg%<>0ANDXc$>""THEN
34620IFHg%>=Ag%THENPROCJb
34630p%=Cg%+Hg%:$p%=zf$:!p%=n%:p%!4=2:p%!8=0
34640p%!12=0:p%!16=0:p%+=20:$p%=LEFT$(Xc$,176):p%?199=13
34650Hg%+=200
34660ENDIF
34670ENDIF
34680ENDPROC
34700DEFPROCJb
34710LOCALp%,y`%,F%
34720IFHg%=0ORIg%=0THENENDPROC
34730REPEAT
34740Ka%=FNqf(FNue(Ig%)+".~index")
34750IFKa%=0THENKa%=FNRl(Ig%)
34760IFKa%<>0THEN
34770p%=EXT#Ka%
34780SYS131084,1,Ka%,Cg%,Hg%,p%TOy`%;F%
34790PROCMa(Ka%)
34800ENDIF
34810IF(F%AND1)THEN
34820IF(!y`%AND&FF)=&C6THENPROCe_:ELSESYS43,y`%
34830ENDIF
34840UNTIL(F%AND1)=0
34850Hg%=0
34860ENDPROC
34880DEFFNSl(g%)
34890=FNue(g%)+".~index"
34910DEFFNwc(g%,a$)
34920LOCALg$,f%,f$,A$,r3%:f%=0
34930IFg%>0THEN
34940a$=FNcc(a$):a$=FNbc(a$)
34950f$=FNSl(g%)
34960Ka%=FNLa(f$)
34970IFKa%<>0THEN
34980p%=0:PROCud
34990REPEAT
35000SYS12,3,Ka%,x`%,200,p%TO,,,r3%,p%
35010A$=FNcc(FNHa(x`%+20)):IFA$=a$THENf%=!x`%
35020UNTILr3%>0ORf%<>0
35030PROCMa(Ka%):PROCvd
35040ENDIF
35050ENDIF
35060=f%
35080DEFFNRl(g%)
35090LOCALp$,f$:p$=FNue(g%):f$=FNSl(g%)
35100PROCe_
35110IFFNSb(p$+".~x")<2THENPROCgk(p$)
35120Ka%=FNCe(f$)
35130IFKa%=0THENPROCPa("Ifail",p$,1)
35140=Ka%
35160DEFFNTl(g%,n%,Ul%)
35170LOCALf$,d$,a$,o%,l$
35180f$="":a$=RIGHT$("00000000"+STR$n%,8)
35190IFg%=Tg%ANDUg$>""THEN
35200IFFNSb(Ug$+"."+a$)=1THENf$=Ug$+"."+a$
35210ENDIF
35220IFf$=""THEN
35230l$=FNbe(n%)
35240d$=FNue(g%)+".~x."+l$
35250REPEAT
35260o%=FNSb(d$+"."+a$)
35270IFo%=1THENf$=d$+"."+a$
35280IFo%=0THENo%=FNSb(d$+"."+l$):IFo%=2 d$=d$+"."+l$
35290UNTILf$>""ORo%<2
35300IFf$=""THEN
35310d$=FNue(g%)
35320REPEAT
35330o%=FNSb(d$+"."+a$)
35340IFo%=1THENf$=d$+"."+a$
35350IFo%=0THENo%=FNSb(d$+".~x"):IFo%=2 d$=d$+".~x"
35360UNTILf$>""ORo%<2
35370ENDIF
35380IFf$>""THENUg$=d$:Tg%=g%
35390ENDIF
35400IFf$>""ANDUl%THENPROCea(f$)
35410=f$
35430DEFFNVl(Wl%,Xl%,Yl%,Zl%)
35440LOCALal%,bl%,n%,f%,cl%
35450SYS272129,8,Xl%TOal%
35460SYS262380,-1,-1TObl%,n%,f%
35470IFn%+f%>al%THEN
35480
35490SYS262380,bl%+al%,-1
35500SYS272129,0,bl%+&8000,Wl%,Xl%,Yl%,Zl%TO,,,,,cl%
35510cl%=Zl%-cl%
35520SYS262380,bl%,-1
35530ENDIF
35550=cl%
35570DEFPROCea(RETURNf$)
35580LOCALr4%,s%,dl%,Uf%,t$,F%
35590IFFNfa(f$)=&FCATHEN
35600PROCud
35610IFi_%=0THEN
35620F%=FNOk(f$,"<Wimp$Scrap>"):IFF%=0THENf$="<Wimp$Scrap>"
35630ENDIF
35650SYS131080,17,f$TO,,,,s%,Uf%:SYS131080,4,f$,,,,3
35660Ka%=FNLa(f$):r4%=0
35670IFKa%<>0THENSYS131084,4,Ka%,x`%,8TO,,,,r4%:PROCMa(Ka%)
35680IFr4%>0THEN
35690dl%=x`%!4
35700IFFNel(f$,s%,dl%)=0THEN
35710t$=FNXa
35720PROCh`("squash "+f$+" "+t$):s%=FNIa(t$)
35740IFs%=dl%THEN
35750PROCm_("",FNn_("CompArt1"),"","")
35760F%=FNJa(f$):F%=FNTb(t$,f$)
35770ELSE
35780PROCj_("CompFail2",0):F%=FNJa(t$)
35790ENDIF
35800ENDIF
35810ELSE
35820PROCj_("CompFail1",0)
35830ENDIF
35850SYS131080,4,f$,,,,Uf%
35860PROCvd
35870ENDIF
35880ENDPROC
35900DEFPROCkf(f$,fl%)
35910LOCALr4%,dl%,t$,Uf%,F%,gl$
35920IFfl%<0THENfl%=FNIa(f$)
35930IFfl%>ng%THEN
35940gl$=STR$VAL(FNw`(f$)):IFgl$="0"THENgl$="..."
35950IFFNfa(f$)=&FFFTHEN
35960PROCud
35980SYS131080,17,f$TO,,,,,Uf%:SYS131080,4,f$,,,,3
36000IFFNhl(f$)=0THEN
36010IFFNSb(Cj$+".squash")=1THEN
36020t$=FNXa:PROCh`("squash "+f$+" "+t$)
36030Ka%=FNLa(t$):r4%=0
36040IFKa%<>0THENSYS131084,4,Ka%,x`%,8TO,,,,r4%:PROCMa(Ka%)
36050IFr4%>0THEN
36060dl%=x`%!4
36070IFfl%=dl%THEN
36080F%=FNJa(f$):F%=FNTb(t$,f$)
36090PROCm_("",FNf`("CompArt2",gl$),"","")
36100ELSE
36110F%=FNJa(t$)
36120ENDIF
36130ELSE
36140F%=FNJa(t$)
36150ENDIF
36160ENDIF
36170ELSE
36180PROCm_("",FNf`("CompArt3",gl$),"","")
36190ENDIF
36210SYS131080,4,f$,,,,Uf%
36220PROCvd
36230ENDIF
36240ENDIF
36250ENDPROC
36270DEFFNhl(RETURNf$)
36280LOCALal%,il%,bl%,f%,cl%,jb%,m`%,jd%,jl%
36290LOCALCg%,kl%,ll%,ml%,nl%,r1%,r2%,r3%,r4%,r5%,F%
36300LOCALo%,l%,e%,s%,Uf%,ol%,Re%,F%:Re%=TRUE
36310LOCALBe$
36330SYS131080,17,f$TOo%,,l%,e%,s%
36340SYS272128,8,s%TOil%
36350SYS262380,-1,-1TObl%,,f%
36360kl%=20+(s%DIV4*4+4):ml%=kl%:ol%=f%-il%
36370IFol%>&4000THEN
36380
36390IF(kl%+ml%)>ol%THEN
36400kl%=ol%DIV2:ml%=ol%DIV2:Re%=FALSE
36410ENDIF
36430SYS262380,bl%+kl%+ml%+il%,-1
36440al%=&8000+bl%:Cg%=al%+il%:ll%=Cg%+kl%
36450IFRe%THEN
36460SYS131080,16,f$,Cg%,0TO;F%
36470IF(F%AND1)=0THEN
36480SYS403200,0,al%,Cg%,s%,ll%+20,ml%-20TOjd%,,,,m`%;F%
36490$ll%="SQSH":ll%!4=s%:ll%!8=l%:ll%!12=e%:ll%!16=0:jd%=(jd%=0)
36500IF(F%AND1)THENjd%=0
36510IFjd%THENSYS8,0,f$,l%,e%,ll%,m`%
36520ENDIF
36530ELSE
36550Ka%=FNLa(f$):jd%=0
36560IFKa%>0THEN
36570Be$=FNXa:Be%=FNCe(Be$):pl%=0:ql%=0
36580IFBe%>0THEN
36590
36600$ll%="SQSH":ll%!4=s%:ll%!8=l%:ll%!12=e%:ll%!16=0
36610SYS12,2,Be%,ll%,20
36620REPEAT
36630SYS131084,3,Ka%,Cg%,kl%,pl%TO,,,nl%,pl%;F%
36640r1%=al%:r2%=Cg%:r3%=kl%-nl%:r4%=ll%:r5%=ml%
36650IFr3%>0AND(F%AND1)=0THEN
36660REPEAT
36670r0%=ql%-2*(nl%=0):ql%=1
36680SYS403200,r0%,al%,r2%,r3%,ll%,ml%TOjd%,,r2%,r3%,r4%,r5%;F%
36690IF(F%AND1)=0THENSYS131084,2,Be%,ll%,r4%-ll%TO;F%
36700UNTILjd%<2OR(F%AND1)>0
36710pl%-=r3%
36720ENDIF
36730UNTIL(nl%>0ANDjd%=0)OR(F%AND1)>0
36740jd%=(jd%=0):IF(F%AND1)>0THENjd%=0
36750PROCMa(Be%)
36760ENDIF
36770PROCMa(Ka%)
36780IFjd%THEN
36790F%=FNJa(f$):F%=FNTb(Be$,f$)
36800SYS8,1,f$,l%,e%,Uf%
36810ENDIF
36820ENDIF
36830ENDIF
36840SYS262380,bl%,-1
36850IFjd%THENPROCWa(f$,&FCA)
36860ENDIF
36880=jd%
36900DEFFNel(f$,rl%,sl%)
36920LOCALal%,il%,bl%,f%,cl%,jb%,m`%,jd%,jl%
36930LOCALo%,l%,e%,s%,Uf%,ol%,Re%,F%:Re%=TRUE
36940LOCALCg%,kl%,ll%,ml%,nl%,r1%,r2%,r3%,r4%,r5%
36950LOCALBe$
37000SYS131080,17,f$TOo%,,l%,e%,s%,Uf%
37010SYS262380,-1,-1TObl%,,f%
37020SYS272129,8,rl%-20TOil%
37030ol%=f%-il%:kl%=(rl%DIV4*4+4):ml%=(sl%DIV4*4+4)
37050IFol%>&4000THEN
37060
37070IF(kl%+ml%)>ol%THEN
37080kl%=ol%DIV2:ml%=ol%DIV2:Re%=FALSE
37090ENDIF
37110SYS262380,bl%+il%+kl%+ml%,-1,-1
37120al%=bl%+&8000:Cg%=al%+il%:ll%=Cg%+kl%
37130IFRe%THEN
37140
37150SYS131080,16,f$,Cg%,0TO;F%
37160IF(F%AND1)=0THEN
37170SYS403201,0,al%,Cg%+20,rl%-20,ll%,ml%TOjd%,,,,m`%;F%
37180jd%=(jd%=0)
37190IFjd%AND(F%AND1)=0THENSYS131080,0,f$,l%,e%,ll%,m`%
37200ENDIF
37210ELSE
37230Ka%=FNLa(f$):jd%=0
37240IFKa%>0THEN
37250Be$=FNXa:Be%=FNCe(Be$):pl%=20:ql%=0
37260IFBe%>0THEN
37270REPEAT
37280SYS131084,3,Ka%,Cg%,kl%,pl%TO,,,nl%,pl%;F%
37290r1%=al%:r2%=Cg%:r3%=kl%-nl%:r4%=ll%:r5%=ml%
37300IFr3%>0AND(F%AND1)=0THEN
37310REPEAT
37320r0%=ql%-2*(nl%=0):ql%=1
37330SYS403201,r0%,al%,r2%,r3%,ll%,ml%TOjd%,,r2%,r3%,r4%,r5%;F%
37340IF(F%AND1)=0THENSYS131084,2,Be%,ll%,r4%-ll%TO;F%
37350UNTILjd%<2OR(F%AND1)>0
37360pl%-=r3%
37370ENDIF
37380UNTIL(nl%>0ANDjd%=0)OR(F%AND1)>0
37390PROCMa(Be%):IF(F%AND1)>0THENjd%=1
37400jd%=(jd%=0):IFFNIa(Be$)<>sl%THENjd%=0
37410ENDIF
37420PROCMa(Ka%)
37430IFjd%THEN
37440F%=FNJa(f$):F%=FNTb(Be$,f$)
37450SYS8,1,f$,l%,e%,Uf%
37460ENDIF
37470ENDIF
37480ENDIF
37490SYS262380,bl%,-1,-1
37500IFjd%THENPROCWa(f$,&FFF):PROCm_("",FNn_("CompArt4"),"","")
37510ENDIF
37530=jd%
37550DEFFNbk(g%)
37560LOCALKa%,tl%,p$,f$,s%,a%,F%
37570tl%=0
37580IFze%(g%)<0ORze%(g%)>ABStd%(g%)THEN
37590ze%(g%)=0:p$=FNue(g%):f$=p$+".~index"
37600Ka%=FNLa(f$)
37610IFKa%<>0THEN
37620!x`%=0:SYS131084,3,Ka%,x`%,8,0TO;F%
37630IF(F%AND1)=0THENze%(g%)=!x`%
37640PROCMa(Ka%):IFABSze%(g%)>ABStd%(g%)THENtl%=1
37650ELSE
37660tl%=1
37670ENDIF
37680IFtl%>0THEN
37690IFFNSb(p$+".~x.~x*")>1THENPROCPa("Irebuild",Z`$(g%),0):PROCKi(Z`$(g%)):PROCK`("",0)
37700ENDIF
37720SYS131080,17,f$TO,,,,s%;F%:IF(F%AND1)=0THENs%=s%DIV200ELSEs%=0
37730a%=0:IFze%(g%)>0THENa%=ABStd%(R_%)-ze%(g%)+1
37740IFs%<a%THENa%=s%
37750vk%(g%)=a%
37760ENDIF
37770=ABSze%(g%)
37790DEFFNQi(g$,Nf%)
37800LOCALoe$,l$,m$,ul$,jb$,l%,f%:f%=0:jb$=""
37830g$=FNcc(g$):PROCm_("",FNn_("Bmod"),g$,"")
37840IFNf%=1ANDINSTR(g$,",")=0THEN:=FNvl(FNbc(g$))
37850IFNf%=0THEN
37860l$=g$:REPEAToe$=FNvc(l$,",")
37870IFoe$>""THENl%=FNRd(oe$,0):IFl%>0THENf%=1:IF`e%(l%)<>0 jb$=oe$
37880UNTILl$=""ORjb$>""
37890ENDIF
37910IFjb$=""ORINSTR(g$,",")>0THEN
37920Mg%=FNLa(Cj$+".modgroups")
37930IFMg%>0THEN
37940REPEATm$=GET$#Mg%
37950l$=g$:REPEAT
37960oe$=FNbc(FNvc(l$,","))
37970IFoe$>""ANDFNmd(m$,oe$)>0THENjb$=oe$
37980UNTILl$=""ORjb$>"":PROCS_(c`%*4)
37990UNTILEOF#Mg%ORjb$>""
38000PROCMa(Mg%)
38010ENDIF
38020ENDIF
38030=jb$
38050DEFFNvl(g$)
38070Mg%=FNLa(Cj$+".modgroups")
38080IFMg%>0THEN
38090jb$=""
38100REPEATm$=GET$#Mg%
38110IFFNmd(m$,g$)>0THENjb$=g$
38120UNTILEOF#Mg%ORjb$>""
38130PROCMa(Mg%)
38140ENDIF
38150=jb$
38170DEFPROCeb(g%,n%)
38180IFi_%THEN
38190IFFg%+4>Bg%ORg%<>Gg%THENPROCwl(Gg%)
38200IFg%>0THEN
38210Dg%!Fg%=n%:Fg%+=4:Gg%=g%
38220IFvk%(g%)>0THENvk%(g%)-=1
38230ENDIF
38240ENDIF
38250ENDPROC
38270DEFPROCwl(g%)
38280LOCALF$,T$,F%,Ml%,xl%,r3%,Zf%,yl%,l%,zl%,_l%,Ek%
38290LOCALbl%,f%,`l%
38300IFFg%=0ORg%=0ORi_%=0THENENDPROC
38310IFFg%>0THEN
38320Dg%!Fg%=0
38330PROCm_("",FNn_("Iupdate"),"",""):PROCe_
38340F$=FNSl(g%):T$=Nd$+".~index":F%=FNJa(T$)
38350SYS262380,-1,-1TObl%,,f%
38360`l%=(f%DIV200)*200:IF`l%>&19000THEN`l%=&19000
38370SYS262380,bl%+`l%,-1TOl%:zl%=bl%+&8000
38380IFl%<bl%+`l%THEN
38390PROCj_("Ibuffer",1)
38400ELSE
38410Ka%=FNLa(F$)
38420IFKa%=0THEN
38430PROCPa("Iopen",F$,1)
38440ELSE
38450Be%=FNCe(T$)
38460IFBe%=0THEN
38470PROCMa(Ka%):PROCj_("Itmp",1)
38480ELSE
38490F%=0:Ml%=0:xl%=0:r3%=0:yl%=EXT#Ka%:PROCud
38500WHILEr3%=0AND(F%AND1)=0
38510!zl%=0:SYS131084,3,Ka%,zl%,`l%,Ml%TO,,,r3%,Ml%;F%
38520IFr3%<`l%AND(F%AND1)=0THEN
38530Zf%=zl%
38540FORl%=1TO(`l%-r3%)DIV200
38550_l%=!Zf%:Ek%=0:CALLAm%,_l%,Dg%,Ek%
38560IFEk%=0AND!Zf%>0THENSYS12,1,Be%,Zf%,200,xl%TO,,,,xl%
38570Zf%+=200
38580IFl%MOD10=0ANDyl%>0THENSYS263876,((Ml%+Zf%-zl%)*100)DIVyl%
38590NEXTl%
38600ENDIF
38610ENDWHILE
38620PROCvd:PROCMa(Ka%):PROCMa(Be%)
38630ze%(g%)=-1
38640F%=FNJa(F$):F%=FNOa(T$,F$)
38650Fg%=0
38660ENDIF
38670ENDIF
38680ENDIF
38690SYS262380,bl%,-1
38700ENDIF
38710ENDPROC
38730DEFPROCMi(g$,Ef%)
38740LOCALR_%:R_%=0
38750REPEATR_%+=1
38760IFFNmd(g$,Z`$(R_%))<>0THENPROCa`(R_%,Ef%,1)
38770IFd`%ANDINSTR(g$,"*")>0THEN
38780IFFNe`(FNf`("Ccancexp",g$))=2THENd`%=0ELSEd`%=TRUE
38790ENDIF
38800UNTILR_%=g`%ORd`%<>0
38810ENDPROC
38830DEFPROCKi(g$)
38840LOCALw%,R_%:w%=0
38850IFi_%ANDFNth("Bindex")=0THEN
38860PROCx_("Rebuilding index for "+g$)
38870FORR_%=1TOg`%
38880IFFNmd(g$,Z`$(R_%))<>0THENPROCBm(R_%)
38890NEXTR_%
38900PROCuh
38910ENDIF
38920ENDPROC
38940DEFPROCBm(Vd%)
38950LOCALCm%,f$,A$,p$,a%,Dd%,Dm%,Em%,Fm%,Gm%,pc%,Hm%:Hm%=-1
38960IFFNre(Z`$(Vd%))=0ENDPROC
38970PROCe_:PROCeb(0,0)
38980Em%=12*1024:Gm%=FNFa(Dm%,Em%,"index")
38990IFGm%=0THENPROCj_("Greindex",0):ENDPROC
39000Fm%=0:p$=FNY`(Z`$(Vd%)):F%=FNJa(p$+".~index")
39010PROCm_(FNn_("Ibuild"),FNf`("Glast",Z`$(Vd%))," "," ")
39020f$=FNue(g%)+".~index"
39030F%=FNJa(f$):SYS131080,11,f$,&FFD
39040PROCIm(p$,Vd%)
39050SYS79,Fm%DIV4,Dm%,1
39060IFFm%>4THEN
39070ze%(Vd%)=!Dm%
39080td%(Vd%)=ABS(Dm%!(Fm%-4))
39090vk%(Vd%)=Fm%DIV4
39100ELSE
39110ze%(Vd%)=0:vk%(Vd%)=0
39120ENDIF
39130pc%=0
39140FORDd%=0TO(Fm%-4)STEP4
39150IFFm%>0THENpc%=(Dd%*100)DIVFm%
39160IFpc%<>Hm%THENPROCm_("",FNn_("Iread"),FNJm("Idone",STR$(Dd%DIV4),STR$(Fm%DIV4),STR$pc%),""):PROCQf(FNf`("Iper",STR$pc%)):Hm%=pc%
39170a%=Dm%!Dd%
39180f$=FNTl(Vd%,a%,FALSE)
39190IFf$>""PROCKm(f$,Vd%,a%)
39200PROCS_(c`%*2)
39210NEXTDd%
39220PROCQa(Gm%):PROCJb
39230PROCQf(""):PROCm_(FNn_("Done")," "," "," ")
39240ENDPROC
39260DEFPROCKm(f$,Vd%,a%)
39270IFFNLm(f$)<>0THEN
39280IFFNAf(Z`$(Vd%))ANDINSTR(Z`$(Vd%),"outgoing")>0THEN
39290Hc$=Gc$:IFRIGHT$(Z`$(Vd%),4)="news"THENHc$=Mc$
39300ENDIF
39310PROCOe(Vd%,a%):a%=0
39320ENDIF
39330ENDPROC
39350DEFFNLm(f$)
39360LOCALr4%,A$,mb%,jd%,Jd%,Mm%,Kb%,t%:jd%=0
39370PROCgb
39380t%=FNfa(f$)
39390Kb%=2048
39400CASEt%OF
39410WHEN&FCA:Mm%=FNFa(Jd%,Kb%*2,"header")
39420WHEN&FFF:Mm%=FNFa(Jd%,Kb%,"header")
39430OTHERWISE:Jd%=0
39440ENDCASE
39450IFJd%>0THEN
39460Ka%=FNLa(f$):IFKa%>0THEN
39470IFt%=&FCATHEN
39480SYS12,3,Ka%,Jd%+Kb%,Kb%,20TO,,,,r4%
39490IFr4%>20THEN
39500PROCm_("",FNn_("CompHead"),"","")
39510r4%=FNVl(Jd%+Kb%,r4%-20,Jd%,Kb%)
39520ENDIF
39530ELSE
39540SYS12,4,Ka%,Jd%,Kb%TO,,,,r4%
39550ENDIF
39560PROCMa(Ka%)
39570IFr4%>0THEN
39580mb%=0:jd%=1
39590REPEATA$=""
39600IFmb%+254<Kb%THEN
39610A$=FNHa(Jd%+mb%):mb%+=LENA$+1
39620ENDIF
39630PROCfc(A$)
39640UNTILA$=""
39650ENDIF
39660ENDIF
39670PROCQa(Mm%)
39680ENDIF
39690=jd%
39710DEFPROCIm(p$,g%)
39720LOCALNm%,n%,f%,f$,t%,r3%,Zf%,v%,g$,Da%,Ea%
39730n%=0:g$=Z`$(g%):Ea%=FNFa(Da%,Ga%,"dbuf")
39740PROCS_(c`%*4):PROCQf(FNf`("Glast",Z`$(g%)))
39750REPEAT
39760SYS131084,10,p$,Da%,20,n%,Ga%,"*"TO,,,r3%,n%;F%
39770IF(F%AND1)THENr3%=0:n%=-1
39780IFr3%>0THEN
39790Zf%=Da%
39800FORNm%=1TOr3%
39810t%=Zf%!16:f$=FNHa(Zf%+20)
39820v%=VALf$
39830CASEt%OF
39840WHEN1
39850IFv%>0THEN
39860IFFm%<(Em%-4)THENDm%!Fm%=v%:Fm%+=4ELSEn%=-1
39870ENDIF
39880WHEN2,3:IFLEFT$(f$,1)="~"PROCIm(p$+"."+f$,g%)
39890ENDCASE
39900Zf%=Zf%+(24+LENf$)ANDNOT3:NEXTNm%
39910ENDIF
39920UNTILn%=-1
39930PROCQa(Ea%)
39940ENDPROC
39960DEFPROCud
39970SYS263872
39980ENDPROC
40000DEFPROCvd
40010SYS263873
40020ENDPROC
40040DEFPROCjh(q%)
40050LOCALyl$,Om$,w%,i%,Gc%,Pm%
40060w%=q%!20:i%=q%!24
40070CASEq%!16OF
40080WHEN0:IFFNijTHENPROCvh:END
40090WHEN2:IFq%!12=yf%ANDq%!36<>-1THENPROCJ`(FNHa(q%+44)):yf%=0:PROCdh(G`%)
40100WHEN3:yl$=FNHa(q%+44)
40110IFw%=Ch%ANDi%=16ANDq%!40=&2000THEN
40120IFLENyl$<100PROCVb(Ch%,16,yl$):PROCnj(Ch%,16,LENyl$):ELSEVDU7
40130ENDIF
40140IFw%=Fh%AND(i%=16ORi%=17)THEN
40150PROCyk(FNBi(w%,0),yl$)
40160ENDIF
40170WHEN&502:Gc%=q%!4:Pm%=q%!8:yl$=FNQm(q%!32,q%!36)
40180IFyl$>""THEN
40190q%!16=&503:q%!12=Pm%:$(q%+20)=yl$:q%?(20+LENyl$)=0:!q%=((25+LENyl$)DIV4)*4
40200SYS393447,17,q%,Gc%
40210ENDIF
40220WHEN&400C2:yl$=FNHa(q%+28):IFyl$=rf$ANDq%!4<>Fc%THEN
40230!q%=20:q%!16=0:q%!12=0:SYS262375,17,q%,q%!4
40240ENDIF
40250WHEN&400C3:PROCRm(q%!4)
40260WHEN&400C9:PROCQa(xg%):PROCQa(yg%):z_%=FALSE
40270WHENWg%
40280yl$=FNHa(q%+&20):Om$=FNHa(q%+&21+LENyl$)
40290PROCSm(q%!4,q%!8,q%!&14,q%!&18,q%!&1C,yl$,Om$)
40300ENDCASE
40310ENDPROC
40330DEFFNQm(w%,i%)
40340LOCALA$,P$
40350CASEw%OF
40360WHEN-2:A$="Hbar"
40370WHENl_%
40380CASE(i%DIV5)OF
40390WHEN0:A$="Hsite"
40400WHEN1:A$="Hgen"
40410WHEN2:A$="Htrans"
40420WHEN3:A$="Hgrps"
40430WHEN4:A$="Husers"
40440WHEN5:A$="Hfilt"
40450ENDCASE
40460WHENGh%
40470CASEi%OF
40480WHEN0:A$="HShost"
40490WHEN1:A$="HSmail"
40500WHEN2:A$="HSrem"
40510WHEN3:A$="HSorg"
40520WHEN4,11:A$="HStr"
40530WHEN14,15:A$="HStz"
40540WHEN5:A$="HSinit"
40550WHEN16:A$="Hcancel"
40560WHEN6:A$="Hsave"
40570OTHERWISE:A$="HSgen"
40580ENDCASE
40590WHENCh%
40600CASEi%OF
40610WHEN11:A$="HMauto"
40620WHEN3:A$="HMfast"
40630WHEN9:A$="HMkeep"
40640WHEN7:A$="HMrr"
40650WHEN6:A$="HMlog"
40660WHEN8:A$="HMcomp"
40670WHEN23:A$="HMcomp2"
40680WHEN1,2:A$="HMmodp"
40690WHEN20:A$="HMgate1"
40700WHEN18,19:A$="HMgate2"
40710WHEN10,12,13,14:A$="HMann"
40720WHEN16.21:A$="HMdef"
40730WHEN25,26:A$="HMmindsk"
40740OTHERWISE:A$="HMgen"
40750ENDCASE
40760WHENIh%
40770CASEi%OF
40780WHEN0,1:A$="HTname"
40790WHEN3:A$="HTrem"
40800WHEN4:A$="HTset"
40810OTHERWISE:A$="HTgen"
40820ENDCASE
40830WHENDh%:P$=FNBi(w%,25)
40840CASEi%OF
40850WHEN2,14:A$="HGdef"
40860WHEN22,24:A$="HGhist"
40870WHEN18:A$="HGscan"
40880WHEN26:A$="HGnew"
40890WHEN33:A$="HGexph"
40900WHEN27:A$="HGcanc"
40910WHEN28:A$="HGchef"
40920WHEN34:A$="HGthread"
40930WHEN29:A$="HGauto"
40940WHEN30:A$="HGexpn"
40950WHEN31:A$="HGexpb"
40960WHEN36,35,41:A$="HGexpt"
40970WHEN19,25:A$="HGname"
40980WHEN1,15:A$="HGtime"
40990WHEN16:A$="HGmod"
41000WHEN5,6,12:A$="HGtype"
41010WHEN7:A$="HGadd"
41020WHEN8:A$="HGrem"
41030WHEN17:A$="HGdel"
41040WHEN10:A$="HGinfo"
41050WHEN9:A$="HGind"
41060WHEN11:A$="HGdoexp"
41070WHEN32:A$="Hsave"
41080OTHERWISE:A$="HGgen"
41090ENDCASE
41100WHENFh%
41110CASEi%OF
41120WHEN1,20:A$="HUname"
41130WHEN2,15:A$="HUgrp"
41140WHEN21:A$="HUvac"
41150WHEN17:A$="HUvset"
41160WHEN18:A$="HUedit"
41170WHEN19:A$="HUclear"
41180WHEN13:A$="HUfwd"
41190WHEN6:A$="Hcancel"
41200WHEN7:A$="Hsave"
41210OTHERWISE:A$="HUgen"
41220ENDCASE
41230WHENHh%
41240CASEi%OF
41250WHEN22:A$="HFnew"
41260WHEN21:A$="HFdel"
41270WHEN20:A$="HFset"
41280WHEN1:A$="HFtype"
41290WHEN2,3,4,5,6,7,8,9,10:A$="HFcond"
41300WHEN15,16:A$="HFact"
41310OTHERWISE:A$="HFgen"
41320ENDCASE
41330WHEN`g%:A$="Hstatus"
41340OTHERWISE:A$="Hany"
41350ENDCASE
41360IFA$>""THEN
41370A$=FNf`(A$,P$)
41380ENDIF
41390=A$
41410DEFPROCnj(w%,i%,n%)
41420SYS393426,w%,i%,,,-1,n%
41430ENDPROC
41450DEFPROClk
41460SYS393426,-1
41470ENDPROC
41490DEFPROCJ`(f$)
41500LOCALKa$,d$,n%,Aa%,y`%
41510PROCRb(f$)
41520IFFNSb(f$)>1THEN
41530d$=Cj$+".newsdir.*"
41540SYS41,26,d$,f$+".*",3
41550SYS393438,f$+".!boot"
41560PROCC_
41570ELSE
41580PROCj_("Mdirfail",1)
41590ENDIF
41600ENDPROC
41620DEFPROCW`(wa%,g$,n%,f$,s$)
41630IF`f%>0ORwa%=11THEN
41640CASEwa%OF
41650WHEN0:f$="L1":IFFNfg(g$)THENf$="L0"
41660PROCYg(wa%,0,g$,f$,"")
41670WHEN1,5:PROCYg(wa%,0,g$,"","")
41680WHEN4:PROCYg(wa%,n%,g$,"","")
41690WHEN2,3:PROCYg(wa%,n%,g$,f$,s$)
41700WHEN10:PROCYg(wa%,0,"","","")
41710WHEN11:PROCYg(wa%,n%,ti$(P`%),"","")
41720ENDCASE
41730ENDIF
41740ENDPROC
41760DEFFNij
41770LOCALjd%
41780IFs`%=0THEN
41790jd%=TRUE
41800ELSE
41810jd%=(FNe`(FNn_("Cquit"))=1)
41820ENDIF
41830=jd%
41850DEFPROCSm(Tm%,Um%,Vm%,Ml%,xl%,Ha$,Wm$)
41860IFT_%THEN
41870IFVg$=""THEN
41880IFFNXm(Tm%)<0PROCYm(Tm%)
41890IFVm%<500ANDZb%THENPROCdh(Qb%)
41900PROCJb
41910CASEVm%MOD65536OF
41920WHEN0:PROCU_(Vm%,Tm%,Um%)
41930WHEN10:PROCzh(Tm%,Um%,Vm%,0,0,"",""):PROCRm(Tm%)
41940WHEN20:PROCZm(Vm%,Tm%,Um%,Ha$)
41950WHEN30:PROCVk(Vm%,Tm%,Um%,Ml%)
41960WHEN100:PROCeb(0,0):PROCam(Vm%,Tm%,Um%,Ha$)
41970WHEN110:PROCbm(Vm%,Tm%,Um%,Ml%,xl%)
41980WHEN120:PROCcm(Vm%,Tm%,Um%,Ha$)
41990WHEN130:PROCdm(Vm%,Tm%,Um%,Ha$)
42000WHEN140:PROCem(Vm%,Tm%,Um%,Ha$,Ml%)
42010WHEN200,210:PROCfm(Vm%,Tm%,Um%,Ha$,Ml%,xl%)
42020WHEN220:PROCgm(Vm%,Tm%,Um%,Ha$,Ml%)
42030WHEN230,240:PROChm(Vm%,Tm%,Um%,Ha$,Ml%,xl%)
42040WHEN250:PROCim(Vm%,Tm%,Um%,Ha$,Ml%,xl%)
42050WHEN260,270:PROCjm(Vm%,Tm%,Um%,Ha$,Wm$,Ml%,xl%)
42060WHEN280:PROCkm(Vm%,Tm%,Um%,Ha$,Wm$)
42070WHEN300,310:PROClm(Vm%,Tm%,Um%,Ha$)
42080WHEN400:PROCmm(Vm%,Tm%,Um%,Ha$)
42090WHEN410:PROCDl(Vm%,Tm%,Um%,Ha$)
42100WHEN420:PROCEl(Vm%,Tm%,Um%,Ha$)
42110WHEN450:IFi_%THENPROCnm(Vm%,Tm%,Um%,Ha$,Wm$,Ml%)
42120WHEN460:IFi_%THENPROCom(Vm%,Tm%,Um%,Ha$,Wm$,Ml%)
42130WHEN900:Zg%=0
42140OTHERWISE:PROCpm(Tm%,Um%,Vm%,9,FNn_("Badcom"))
42150ENDCASE
42160ELSE
42170PROCpm(Tm%,Um%,Vm%,2,FNf`("Busy",Vg$))
42180ENDIF
42190ENDIF
42200ENDPROC
42220DEFPROCnm(Vm%,Tm%,Um%,u$,f$,a%)
42230LOCALu%,a$:u%=FNyd(u$)
42240IFu%>0THEN
42250CASEa%OF
42260WHEN0:a$=`d$(u%)
42270WHEN1:`d$(u%)=f$:PROCDi(u$):PROCBl(u%)
42280WHEN2:`d$(u%)="":PROCDi(u$):PROCBl(u%)
42290ENDCASE
42300PROCzh(Tm%,Um%,Vm%,a%,0,u$,a$)
42310ELSE
42320PROCpm(Tm%,Um%,Vm%,1,FNn_("Ufail"))
42330ENDIF
42340ENDPROC
42360DEFPROCom(Vm%,Tm%,Um%,u$,p$,a%)
42370LOCALu%,a$,f$:u%=FNyd(u$):f$=FNzd(u$)+".vacation"
42380IFu%>0THEN
42390CASEa%OF
42400WHEN0:IFFNSb(f$)=1THENa$=f$ELSEa$=""
42410WHEN1:IFFNSb(p$)=1THENF%=FNJa(f$):F%=FNOk(p$,f$):a$=f$
42420WHEN2:F%=FNJa(f$):a$=""
42430ENDCASE
42440PROCzh(Tm%,Um%,Vm%,a%,0,u$,a$)
42450ELSE
42460PROCpm(Tm%,Um%,Vm%,1,FNn_("Ufail"))
42470ENDIF
42480ENDPROC
42500DEFPROCU_(Vm%,Tm%,Um%)
42510PROCzh(Tm%,Um%,Vm%,100*VALJe$,eg%,"","")
42520ENDPROC
42540DEFPROCZm(Vm%,tc%,Um%,a$)
42550LOCALl%
42560IFFNhc(a$)=0PROCpm(tc%,Um%,20,1,FNn_("Ufail")):ENDPROC
42570l%=FNXm(tc%)
42580IFl%>-1THEN
42590Fl$(l%)=a$:PROCzh(tc%,Um%,Vm%,0,0,a$,"")
42600ELSE
42610PROCpm(tc%,Um%,Vm%,1,FNn_("Clunreg"))
42620ENDIF
42630ENDPROC
42650DEFPROCYm(tc%)
42660LOCALl%
42670WHILEqm%(l%)<>0ANDl%<Gl%:l%+=1:ENDWHILE
42680IFqm%(l%)=0THENqm%(l%)=tc%:`f%+=1:ELSEPROCj_("Clfull",0)
42690ENDPROC
42710DEFFNXm(tc%)
42720LOCALl%
42730WHILEqm%(l%)<>tc%ANDl%<Gl%:l%+=1:ENDWHILE
42740IFqm%(l%)<>tc%THENl%=-1
42750=l%
42770DEFPROCRm(tc%)
42780LOCALl%:l%=FNXm(tc%)
42790IFl%>=0THENqm%(l%)=0:IF`f%>0THEN`f%-=1
42800ENDPROC
42820DEFPROCzh(rm%,Pm%,sm%,Ml%,xl%,yl$,Om$)
42830q%!12=Pm%:q%!16=Xg%
42840q%!&14=sm%:q%!&18=Ml%:q%!&1C=xl%
42850$(q%+&20)=yl$+CHR$0:$(q%+&21+LENyl$)=Om$+CHR$0
42860!q%=4+(&22+LENyl$+LENOm$)DIV4*4
42870SYS262375,17,q%,rm%
42880ENDPROC
42900DEFPROCtm(rm%,Pm%,sm%,Ml%,xl%,um%,yl$,Om$)
42910q%!12=Pm%:q%!16=Xg%
42920q%!&14=sm%:q%!&18=Ml%:q%!&1C=xl%:q%!&20=um%
42930$(q%+&24)=yl$+CHR$0:$(q%+&25+LENyl$)=Om$+CHR$0
42940!q%=4+(&26+LENyl$+LENOm$)DIV4*4
42950SYS262375,17,q%,rm%
42960ENDPROC
42980DEFPROCvm(rm%,Pm%,sm%,Ml%,xl%,yl$,Om$,wm$)
42990q%!12=Pm%:q%!16=Xg%
43000q%!&14=sm%:q%!&18=Ml%:q%!&1C=xl%
43010$(q%+&20)=yl$+CHR$0:$(q%+&21+LENyl$)=Om$+CHR$0:$(q%+&22+LENyl$+LENOm$)=wm$+CHR$0
43020!q%=4+(&23+LENyl$+LENOm$+LENwm$)DIV4*4
43030SYS262375,17,q%,rm%
43040ENDPROC
43060DEFPROCYg(sm%,Ml%,yl$,Om$,wm$)
43070q%!12=0:q%!16=Yg%
43080q%!&14=sm%:q%!&18=Ml%
43090$(q%+&20)=yl$+CHR$0
43100$(q%+&21+LENyl$)=Om$+CHR$0
43110$(q%+&22+LENyl$+LENOm$)=wm$+CHR$0
43120!q%=256
43130SYS262375,17,q%,0
43140ENDPROC
43160DEFPROCpm(Tm%,Um%,c%,xm%,A$)
43170c%=(c%DIV10)*10+xm%:PROCzh(Tm%,Um%,c%,0,0,A$,"")
43180ENDPROC
43200DEFPROCVk(Vm%,Tm%,Um%,Ml%)
43210LOCALa$
43220CASEMl%OF
43230WHEN0:a$=`c$
43240WHEN1:a$=og$
43250WHEN2:a$=ti$(P`%)
43260WHEN3:a$=FNI`("Newsbase$TransportType"):IFa$=""THENa$="batch"
43270WHEN4:a$=pg$
43280WHEN5:a$=hg$
43290WHEN6:a$=De$
43300WHEN100:a$=STR$eg%
43310WHEN101:a$=STR$Kf%
43320ENDCASE
43330PROCzh(Tm%,Um%,Vm%,Ml%,0,a$,"")
43340ENDPROC
43360DEFPROCam(Vm%,Tm%,Um%,oe$)
43370LOCALR_%,ym$,Hf%,zm%,_m%,`m$,F%,t%,s%,An%
43380PROCm_("",FNn_("Glist")," "," ")
43390FORR_%=1TOg`%
43400IFFNvi(oe$,R_%)THEN
43410ym$=Z`$(R_%):zm%=0:An%=FNbk(R_%)
43420`m$="L1":IFFNfg(ym$)THEN`m$="L0"
43430PROCtm(Tm%,Um%,Vm%,An%,ABStd%(R_%),ABSvk%(R_%),ym$,`m$)
43440Hf%+=1:IFHf%MOD6=0PROCS_(c`%*2)
43450ENDIF
43460NEXTR_%
43470PROCzh(Tm%,Um%,Vm%,0,0,"","")
43480ENDPROC
43500DEFPROCbm(Vm%,Tm%,Um%,Ml%,xl%)
43510LOCALBn%,Cn%,a$,c%
43520PROCm_("",FNn_("Glist")," "," ")
43530Ka%=FNLa(xj$)
43540IFKa%=0THEN
43550PROCpm(Tm%,Um%,Vm%,1,FNn_("NGnone"))
43560ELSE
43570Bn%=0:Cn%=0:c%=0
43580REPEATa$=GET$#Ka%
43590IFLEFT$(a$,1)="#"THEN
43600Bn%=VALMID$(a$,3,6):Cn%=VALMID$(a$,10,6)
43610ELSE
43620IFBn%>Ml%ANDCn%>xl%THENPROCzh(Tm%,Um%,Vm%,0,0,a$,"")
43630c%+=1:IFc%MOD10=0THENPROCS_(c`%)
43640ENDIF
43650UNTILEOF#Ka%
43660PROCzh(Tm%,Um%,Vm%,0,0,"","")
43670ENDIF
43680ENDPROC
43700DEFPROCcm(Vm%,Tm%,Um%,oe$)
43710LOCALr$
43720IFFNIi(oe$,r$)THEN
43730PROCzh(Tm%,Um%,Vm%,0,0,r$,"")
43740ELSE
43750PROCpm(Tm%,Um%,Vm%,1,r$)
43760ENDIF
43770ENDPROC
43790DEFFNIi(g$,RETURNr$)
43800LOCALr%
43810g$=FNbc(g$)
43820r$=FNn_("Readonly"):IFi_%=0THEN:=0
43830r$=FNn_("Gbad"):IFINSTR(g$,",")>0ORINSTR(g$," ")>0THEN=0
43840r$=FNn_("Gneg"):IFLEFT$(g$,1)="!"THEN=0
43850r$=FNn_("Gact"):IFFNre(g$)<>0THEN=0
43860r%=FNQ`(9,"",g$,"")
43870r$=FNI`("Newsbase$ReturnInfo")
43880CASEr%OF
43890WHEN0:IFFNQ`(14,"","","")=0THENPROCxi:PROCx_(FNf`("Laddgrp",g$))
43900ENDCASE
43910=(r%=0)
43930DEFPROCdm(Vm%,Tm%,Um%,oe$)
43940LOCALr$
43950IFFNJi(oe$,r$)THEN
43960PROCzh(Tm%,Um%,Vm%,0,0,r$,"")
43970ELSE
43980PROCpm(Tm%,Um%,Vm%,1,r$)
43990ENDIF
44000ENDPROC
44020DEFFNJi(g$,RETURNr$)
44030LOCALDn%,R_%,F%,p$,oe$
44040g$=FNbc(g$)
44050r$=FNn_("Readonly"):IFi_%=0THEN:=0
44060r$=FNn_("Gbad"):IFINSTR(g$,",")>0ORINSTR(g$," ")>0THEN=0
44070r$=FNn_("Gneg"):IFLEFT$(g$,1)="!"THEN=0
44080r$=FNn_("Gnotact"):IFFNre(g$)=0THEN=0
44090r$=FNn_("Gspecial"):IFFNAf(g$)>0THEN=0
44100Dn%=FNQ`(10,"",g$,"")
44110r$=FNI`("Newsbase$ReturnInfo")
44120IFDn%=0THEN
44130PROCx_(FNf`("Lrmgrp",g$))
44140IFFNQ`(14,"","","")=0THENPROCxi
44150IFFNe`(FNn_("Gremove"))=1THENPROCJi(g$)
44160ENDIF
44170=(Dn%=0)
44190DEFPROCJi(g$)
44200LOCALR_%,F%,oe$,p$
44210IFFNth("Bdel")=0THEN
44220R_%=0:WHILER_%<g`%:R_%+=1
44230IFFNvi(g$,R_%)THEN
44240oe$=Z`$(R_%):p$=FNY`(oe$)
44250F%=FNMf(p$,R_%,0,TRUE,0)
44260IFFNSb(p$+".~x")=0ORFNSb(p$+".~index")=0THEN
44270F%=FNJa(p$+".~index"):F%=FNJa(p$+".~seq")
44280F%=FNJa(p$)
44290F%=0:WHILEF%=0:p$=FNv`(p$):F%=FNJa(p$):ENDWHILE
44300R_%-=1:PROCDf(oe$):PROCW`(1,oe$,0,"","")
44310PROCx_(FNf`("Ldelgrp",oe$))
44320ENDIF
44330ENDIF
44340ENDWHILE
44350PROCuh
44360ENDIF
44370ENDPROC
44390DEFPROCem(Vm%,Tm%,Um%,oe$,p%)
44400PROCzh(Tm%,Um%,Vm%,0,0,"","")
44410IFi_%THENPROCMi(oe$,0)
44420ENDPROC
44440DEFPROCfm(Vm%,Tm%,Um%,oe$,En%,Fn%)
44450LOCALGn%,Hn%,In%,r3%,u%,u$,gl%,Jn%,Kn%,Ln%,Mn%,ya%
44460LOCALNn%,On%,Sl$
44480LOCALPg%
44490LOCALA$,B$,C$,D$
44500PROCeb(0,0):IFFn%=0THENFn%=1E6
44510Nn%=Vm%MOD65536:On%=65536*(Vm%DIV65536)
44520IFeg%<>0ANDFNAf(oe$)=2THEN
44530u%=FNXm(Tm%):IFu%>=0THENu%=FNyd(Fl$(u%))
44540IFu%>0THEN
44550u$="email."+FNcc(aj$(u%))
44560IFu$<>LEFT$(FNcc(oe$),LENu$)ANDrk%(u%)>9THENPROCpm(Tm%,Um%,c%,1,FNn_("Gdeny")):ENDPROC
44570ENDIF
44580ENDIF
44590Sl$=FNY`(oe$)+".~index"
44600Pg%=FNLa(Sl$)
44610IFPg%=0THEN
44620IFFNSb(Sl$)=1THEN
44630PROCPa("Ireadfail",oe$,1)
44640ELSE
44650PROCPa("Irebuild",oe$,0):PROCKi(oe$)
44660PROCK`("",0)
44670Pg%=FNLa(Sl$)
44680ENDIF
44690ENDIF
44700IFPg%<>0THEN
44710Gn%=0
44720IFNn%=200THENA$="Alist1"ELSEA$="Alist2"
44730PROCm_("",FNn_(A$)," "," ")
44740In%=FNFa(Hn%,4000,"list"):IFIn%>0THEN
44750REPEAT
44760!Hn%=0:SYS131084,3,Pg%,Hn%,4000,Gn%TO,,,r3%,Gn%;F%
44770IF(F%AND1)THEN
44780PROCPa("Ireadfail",oe$,1):r3%=1
44790ELSE
44800Jn%=Hn%:Ln%=(4000-r3%)DIV200
44810FORKn%=1TOLn%:gl%=!Jn%
44820IF(gl%>=En%ANDgl%<=Fn%)ANDgl%>0THEN
44830Jn%?199=0:A$=FNHa(Jn%+20):Mn%=Jn%!4
44840CASEMn%OF
44850WHEN1:B$=FNHa(Jn%+21+LENA$):C$=FNHa(Jn%+22+LENA$+LENB$)
44860D$=FNHa(Jn%+23+LENA$+LENB$+LENC$):ya%+=1
44870PROCvm(Tm%,Um%,200+On%,gl%,Jn%!8,B$,C$,A$)
44880IFNn%=210THENPROCzh(Tm%,Um%,Vm%,gl%,0,D$,"")
44890WHEN2:IFNn%=210THENPROCzh(Tm%,Um%,Vm%,gl%,0,A$,"")
44900OTHERWISE:B$=FNHa(Jn%+21+LENA$)
44910C$=FNHa(Jn%+22+LENA$+LENB$):ya%+=1
44920PROCvm(Tm%,Um%,200+On%,gl%,Jn%!8,B$,C$,A$)
44930ENDCASE
44940ENDIF
44950Jn%+=200:NEXTKn%:PROCS_(c`%)
44960ENDIF
44970UNTILr3%>0ORgl%>Fn%
44980PROCQa(In%):vk%(FNRd(oe$,0))=ya%
44990ENDIF
45000PROCMa(Pg%)
45010PROCzh(Tm%,Um%,200+On%,0,0,"","")
45020ELSE
45050PROCzh(Tm%,Um%,200+On%,0,0,"","")
45060ENDIF
45070ENDPROC
45090DEFPROCgm(Vm%,Tm%,Um%,g$,a%)
45100LOCALf$,s%,f%,t%,Ra$:Ra$="L"
45110g%=FNRd(g$,0)
45120IFg%>0ANDa%>0THEN
45130f$=FNTl(g%,a%,TRUE):t%=FNfa(f$)
45140IFt%=&FCATHEN
45150PROCpm(Tm%,Um%,Vm%,1,FNn_("CompFail3"))
45160ELSE
45170IFf$>""THEN
45180s%=FNIa(f$):f%=FNLl(f$)
45190IF(f%AND8)<>0THENRa$+="1"ELSERa$+="0"
45200PROCzh(Tm%,Um%,Vm%,a%,s%,f$,Ra$)
45210ELSE
45220PROCeb(g%,a%):PROCpm(Tm%,Um%,Vm%,1,FNn_("Afail"))
45230ENDIF
45240ENDIF
45250ELSE
45260PROCpm(Tm%,Um%,Vm%,1,FNn_("Afail2"))
45270ENDIF
45280ENDPROC
45300DEFPROChm(Vm%,Tm%,Um%,oe$,En%,Fn%)
45310LOCALl%,g%,a$,f$,Pn$
45320IFi_%THEN
45330g%=FNRd(oe$,0):a$="R":Pn$="":Fn%=FNQn(g%,Fn%)
45340IFVm%MOD65536=230a$+="L"ELSEPn$="un"
45350IFg%>0THEN
45360FORl%=En%TOFn%
45370f$=FNTl(g%,l%,FALSE):IFf$>""SYS131113,24,f$,a$
45380NEXTl%
45390PROCzh(Tm%,Um%,Vm%,0,0,"","")
45400ELSE
45410PROCpm(Tm%,Um%,Vm%,1,FNn_("Gfail"))
45420ENDIF
45430ELSE
45440PROCpm(Tm%,Um%,Vm%,1,FNn_("Readonly"))
45450ENDIF
45460ENDPROC
45480DEFPROCim(Vm%,Tm%,Um%,oe$,En%,Fn%)
45490LOCALl%,g%,f%
45500IFFNfg(oe$)THEN
45510g%=FNRd(oe$,0)
45520IFg%>0THEN
45530f%=FNbk(g%):IFEn%<f%THENEn%=f%
45540Fn%=FNQn(g%,Fn%):PROCud
45550FORl%=En%TOFn%:PROCxc(g%,l%):IFl%MOD10=0PROCS_(c`%)
45560NEXTl%:PROCvd
45570PROCzh(Tm%,Um%,Vm%,0,0,"","")
45580ELSE
45590PROCpm(Tm%,Um%,Vm%,1,FNn_("Gfail"))
45600ENDIF
45610ELSE
45620PROCpm(Tm%,Um%,Vm%,1,FNn_("Anodel"))
45630ENDIF
45640ENDPROC
45660DEFPROCxc(g%,n%)
45670LOCALf$
45680f$=FNTl(g%,n%,FALSE)
45690F%=FNJa(f$)
45700IFF%=0THENPROCjf(g%,n%)
45710ENDPROC
45730DEFPROCjm(Vm%,Tm%,Um%,oe$,ym$,En%,Fn%)
45740LOCALoe%,ym%,a%,f%,p$,F%,f$
45750LOCALGc$,Hc$,Ic$,Lc$,Mc$,Nc%,Oc%,Qc$,Sc$,Tc%,Rc$,Uc$,Vc$,Wc$,Xc$,Jc$,Kc$
45760IFi_%THEN
45770IFFNAf(ym$)<2THEN
45780PROCpm(Tm%,Um%,Vm%,1,FNn_("Gbad"))
45790ELSE
45800oe%=FNRd(oe$,0):ym%=FNRd(ym$,TRUE):PROCnh
45810IFoe%=0ORym%=0THEN
45820PROCpm(Tm%,Um%,Vm%,1,FNn_("Gfail"))
45830ELSE
45840PROCud
45850f%=FNbk(oe%):IFEn%<f%THENEn%=f%
45860Fn%=FNQn(oe%,Fn%):p$=FNue(ym%)
45870IFp$>""THEN
45880s%=FNSd(ym%)
45890FORa%=En%TOFn%
45900f$=FNTl(oe%,a%,TRUE):IFf$>""THEN
45910IFFNLm(f$)<>0THEN
45920F%=FNUe(ym%,s%,f$):IFa%MOD5=0THENPROCS_(c`%)
45930IFF%=0ANDVm%MOD65536=260ANDFNfg(oe$)<>0THENPROCxc(oe%,a%)
45940ENDIF
45950ENDIF
45960NEXTa%
45970PROCvd
45980ENDIF
45990PROCzh(Tm%,Um%,Vm%,0,0,FNn_("Amove"),"")
46000ENDIF
46010PROCoh
46020ENDIF
46030ELSE
46040PROCzh(Tm%,Um%,Vm%,0,0,FNn_("Readonly"),"")
46050ENDIF
46060ENDPROC
46080DEFPROCkm(Vm%,Tm%,Um%,g$,m$)
46090LOCALr%,r$,u$,f$
46100r%=FNXm(Tm%):IFr%<0THENu$="news"ELSEu$=Fl$(r%)
46110r%=INSTR(m$,"@"):r$=LEFT$(MID$(m$,r%+1)):IFu$=""THENu$="news"
46120PROCx_("Cancel request for "+m$+" from user "+u$)
46130IFi_%ANDr$=`c$THEN
46140f$=FNXa:Ka%=FNCe(f$):IFKa%>0THEN
46150BPUT#Ka%,"Control: cancel "+m$
46160BPUT#Ka%,"Newsgroups: "+g$
46170BPUT#Ka%,"Path: "+`c$+"!not-for-mail"
46180BPUT#Ka%,"From: "+u$+"@"+De$
46190BPUT#Ka%,"Subject: cmsg cancel "+m$
46200BPUT#Ka%,"Message-ID: <"+FNHe+"@"+`c$+">"
46210BPUT#Ka%,"Sender: news@"+`c$+" (RISC OS Newsbase "+Je$+")"
46220IFog$>""BPUT#Ka%,"Organization: "+og$
46230BPUT#Ka%,"Date: "+FNIe
46240BPUT#Ka%,"Approved: news@"+`c$
46250BPUT#Ka%,"Lines: 1":BPUT#Ka%,"":BPUT#Ka%,"cancel "+m$
46260PROCMa(Ka%):PROCWa(f$,&FFF)
46270r$=FNaa(f$,"",u$)
46280CASEr$OF
46290WHEN"":PROCzh(Tm%,Um%,Vm%,0,0,"","")
46300OTHERWISE:PROCpm(Tm%,Um%,Vm%,1,FNn_("Anocancel"))
46310ENDCASE
46320ELSE
46330PROCpm(Tm%,Um%,Vm%,1,FNn_("Scrap"))
46340ENDIF
46350SYS131077,"remove "+f$
46360ELSE
46370PROCpm(Tm%,Um%,Vm%,1,FNn_("Anocancel"))
46380ENDIF
46390ENDPROC
46410DEFFNIe
46420=FNpf("%W3, %DY %M3 %CE%YR %24:%MI:%SE")+" "+pg$
46440DEFFNHe
46450=FNpf("%CE%YR%MN%DY.%24%MI%SE.%CS")
46470DEFFNpf(a$)
46480LOCALb%:?x`%=3:SYS7,14,x`%
46490SYS274507,1,x`%,x`%+128,128,a$TOb%
46500=FNHa(b%)
46520DEFPROClm(Vm%,Tm%,Um%,f$)
46530LOCALr%,r$,d$,u%,u$,F%,Ra$,m%,Nn%
46540u%=FNXm(Tm%):Nn%=Vm%MOD65536
46550IFu%>=0THENu%=FNyd(Fl$(u%))
46560IFu%<0THENu%=0
46570u$=aj$(u%):PROCWa(f$,&FFF)
46580IFi_%AND(ok%(u%)<>0ORNn%=310)THEN
46590IFFNSb(f$)=1THEN
46600m%=Ua%(P`%,1):IFNn%=300THENm%=Ua%(P`%,1)
46610IFFNG_(0)<m%*1024THEN
46620
46630r$=Va$(0):IFNn%=300THENr$=Va$(1)
46640REPEATd$=r$+".nb"+STR$RND(99999):UNTILFNSb(d$)=0
46650r$="":F%=FNOa(f$,d$):IFF%<>0THENr$=FNn_("Qfail")
46660ELSE
46670d$=FNXa:F%=FNOa(f$,d$)
46680IFF%<>0THENd$=f$
46690CASENn%OF
46700WHEN300:Ra$=FNYa(1,d$,u$):r$=FNaa(d$,Ra$,u$)
46710WHEN310:Ra$=FNYa(0,d$,u$):r$=FNZa(d$,u$)
46720ENDCASE
46730ENDIF
46740CASEr$OF
46750WHEN"":PROCzh(Tm%,Um%,Vm%,0,0,"","")
46760OTHERWISE:PROCpm(Tm%,Um%,Vm%,1,r$)
46770ENDCASE
46780ELSE
46790PROCpm(Tm%,Um%,Vm%,1,FNf`("NoFile",f$))
46800ENDIF
46810ELSE
46820PROCpm(Tm%,Um%,Vm%,1,FNn_("Qnopost"))
46830ENDIF
46840ENDPROC
46860DEFFNaa(d$,g$,u$)
46870LOCALr%,r$,Rn%,m$,Wc%:Rn%=0:Wc%=0
46880IFLEFT$(g$)="!"THENWc%=TRUE:g$=MID$(g$,2)
46890r$=FNSn(g$,Rn%):IFr$>""THEN=r$
46900IFINSTR(FNbc(g$)," ")>1THENd$=FNTn(d$)
46910PROCm_("",FNn_("Qpost")," "," ")
46920IFg$>""ANDRn%=0ANDWc%=0THENm$=FNQi(g$,0)
46930r%=0
46940IFm$>""ANDRn%=0THEN
46950r$=FNAe(FNUn(m$),d$,u$)
46960ELSE
46970IFRn%THEN
46980r$=FNVn(d$)
46990ELSE
47000IFlg%<>0ANDlg$>""THEN
47010r$=FNWn(g$)
47020r$=FNAe(r$,d$,u$)
47030ELSE
47040PROCx_("Queuing article sent by "+u$)
47050r%=FNQ`(2,d$,u$,"")
47060IFr%=0THENPROCW`(11,"",1,"",""):F%=FNJa(d$)
47070ENDIF
47080ENDIF
47090ENDIF
47100IFr%<>0THENr$=FNI`("Newsbase$ReturnInfo")
47110=r$
47130DEFFNWn(g$)
47140LOCALn%,a$,b$,oe$
47150a$=lg$:oe$=FNcc(FNvc(g$,","))
47160n%=INSTR(a$,"%")
47170WHILEn%>0:b$=""
47180CASEMID$(a$,n%+1,1)OF
47190WHEN"g":b$=oe$
47200WHEN"G":b$="":REPEATb$=b$+FNvc(oe$,"."):IFoe$>""THENb$+="-"
47210UNTILoe$=""
47220WHEN"%":b$="%"
47230ENDCASE
47240a$=LEFT$(a$,n%-1)+b$+MID$(a$,n%+2):n%+=LENb$-1
47250n%=INSTR(a$,"%",n%)
47260ENDWHILE
47270=a$
47290DEFFNZa(d$,u$)
47300LOCALr%,r$:PROCm_("",FNn_("Qsend")," "," ")
47310PROCx_("Queuing mail sent by "+u$)
47320r%=FNQ`(1,d$,u$,"")
47330IFr%<>0THENr$=FNI`("Newsbase$ReturnInfo")ELSEPROCW`(11,"",0,"",""):F%=FNJa(d$)
47340=r$
47360DEFFNSn(g$,RETURNl%)
47370LOCALoe$,r$,w%:g$=FNcc(g$)
47380REPEAToe$=FNbc(FNvc(g$,","))
47390IFLEFT$(oe$,9)="newsbase."THENl%+=1ELSEw%+=1
47400IFl%>0ANDw%>0THENr$=FNn_("Qxpost")
47410IFLEFT$(oe$,6)="email."ORLEFT$(oe$,7)="folder."ORLEFT$(oe$,4)="junk"ORLEFT$(oe$,7)="control"THENr$=FNf`("Qbadg",oe$)
47420UNTILg$=""ORr$>""
47430=r$
47450DEFFNVn(f$)
47460LOCALr$,d$
47470d$=zj$+".localnews"
47480Ka%=FNCe(d$):Be%=FNLa(f$)
47490IFKa%>0ANDBe%>0THEN
47500BPUT#Ka%,"#! rnews "+STR$FNIa(f$)
47510PROCFe(Be%,Ka%):PROCWa(d$,&FFF)
47520ELSE
47530r$=FNn_("Qbatch")
47540ENDIF
47550PROCMa(Ka%):PROCMa(Be%)
47560=r$
47580DEFFNXa
47590LOCALf$
47600IFi_%THEN
47610REPEATf$=k`$+".tmp"+STR$RND(9999):UNTILFNSb(f$)=0
47620ELSE
47630f$="<Wimp$Scrap>"
47640ENDIF
47650=f$
47670DEFFNUn(g$)
47680LOCALoe$
47690REPEAToe$=oe$+FNvc(g$,"."):IFg$>""THENoe$+="-"
47700UNTILg$="":oe$+="@"+cg$
47710PROCm_("","",FNn_("Qmod1"),oe$)
47720=oe$
47740DEFFNAe(Gc$,d$,u$)
47750LOCALA$,f$,a$:f$=FNXa
47760Ka%=FNLa(d$)
47770IFKa%>0THEN
47780Be%=FNCe(f$)
47790IFBe%>0THEN
47800BPUT#Be%,"To: "+Gc$
47810REPEATA$=FNCk(Ka%)
47820IFLEFT$(A$,4)="To: "THENBPUT#Be%,"X-Originally-";
47830IFLEFT$(A$,5)<>"From "THENBPUT#Be%,A$
47840UNTILA$=""OREOF#Ka%
47850PROCFe(Ka%,Be%):PROCMa(Be%):PROCWa(f$,&FFF)
47860ELSE
47870PROCj_("Scrap",0)
47880ENDIF
47890PROCMa(Ka%):F%=FNJa(d$)
47900ENDIF
47910=FNZa(f$,u$)
47930DEFFNTn(d$)
47940LOCALA$,B$,C$,f$,a$:f$=FNXa
47950Ka%=FNLa(d$)
47960IFKa%>0THEN
47970Be%=FNCe(f$)
47980IFBe%>0THEN
47990REPEATA$=FNCk(Ka%)
48000IFLEFT$(A$,12)="Newsgroups: "THEN
48010B$="Newsgroups: ":FORr3%=13TOLENA$:C$=MID$(A$,r3%,1):IFC$<>" "THENB$+=C$
48020NEXTr3%:A$=B$
48030ENDIF
48040BPUT#Be%,A$
48050UNTILA$=""OREOF#Ka%
48060PROCFe(Ka%,Be%):PROCMa(Be%):PROCWa(f$,&FFF)
48070ELSE
48080f$=d$
48090ENDIF
48100PROCMa(Ka%):F%=FNJa(d$)
48110ELSE
48120f$=d$
48130ENDIF
48140=f$
48160DEFPROCFe(Xn%,jb%)
48170LOCALYn%,Gm%,r3%,F%:IFEOF#Xn%THENENDPROC
48180Gm%=FNFa(Yn%,4096,"fcopy"):r3%=0
48190IFYn%>0THEN
48200WHILEr3%=0AND(F%AND1)=0:SYS131084,4,Xn%,Yn%,4096TO,,,r3%;F%
48210IFr3%<4096AND(F%AND1)=0THENSYS131084,2,jb%,Yn%,4096-r3%TO;F%
48220ENDWHILE
48230ELSE
48240WHILENOTEOF#Xn%:BPUT#jb%,(BGET#Xn%):ENDWHILE
48250ENDIF
48260PROCQa(Gm%)
48270ENDPROC
48290DEFFNYa(Sa%,f$,RETURNu$)
48300LOCALp$,g$,g%,xd$,m$:m$=FNn_("Qkeep0")
48310LOCALGc$,Hc$,Ic$,Lc$,Mc$,Nc%,Oc%,Qc$,Sc$,Tc%,Rc$,Uc$,Vc$,Wc$,Xc$,Jc$,Kc$
48320IFFNLm(f$)<>0ANDdg%<>0THEN
48330Hc$=FNbc(Hc$):g$=Hc$:g%=INSTR(g$,"@"):IFg%>0THENg$=LEFT$(g$,g%-1)
48340u$=g$:u%=FNyd(g$):IFu%=0THENu%=0:g$="postmaster"
48350IFWc$>""THENMc$="!"+Mc$
48360IF(qk%(u%)<>0ANDSa%=1)OR(pk%(u%)<>0ANDSa%=0)THEN
48370IFg$>""THEN
48380CASESa%OF
48390WHEN0:g$="Email."+g$+".outgoing.mail":Hc$=Gc$
48400OTHERWISE:g$="Email."+g$+".outgoing.news":Hc$=Mc$
48410ENDCASE
48420g%=FNRd(g$,TRUE):IFg%>0THEN
48430p$=FNue(g%)
48440IFp$>""THEN
48450s%=FNSd(g%):F%=FNUe(g%,s%,f$)
48460IFF%<>0PROCJb:ELSEPROCK`(m$+FNn_("Qkeep1"),1)
48470ELSE
48480PROCK`(m$+FNn_("Qkeep2"),1)
48490ENDIF
48500ELSE
48510PROCK`(m$+FNn_("Qkeep3"),1)
48520ENDIF
48530ELSE
48540PROCK`(m$+FNn_("Qkeep4"),1)
48550ENDIF
48560ENDIF
48570ELSE
48580IFdg%<>0THENPROCK`(m$+FNf`("NoFile",f$),1)
48590ENDIF
48600IFSa%=0THEN
48610xd$=Gc$
48620PROCx_("Sending mail from "+u$+" to "+LEFT$(xd$,200))
48630ELSE
48640xd$=Mc$
48650PROCx_("Posting news from "+u$+" to "+LEFT$(xd$,200))
48660ENDIF
48670=xd$
48690DEFFNCk(h%)
48710LOCALa$,C%
48720WHILEC%<>10ANDEOF#h%=0:C%=BGET#h%:IFLENa$<253ANDC%<>10ANDC%<>13:a$+=CHR$C%
48730ENDWHILE
48740=a$
48760DEFPROCmm(Vm%,Tm%,Um%,Ha$)
48770LOCALn%:n%=1
48780WHILEaj$(n%)>""
48790PROCzh(Tm%,Um%,Vm%,rk%(n%),0,aj$(n%),FNzd(aj$(n%))):n%+=1
48800ENDWHILE
48810PROCzh(Tm%,Um%,Vm%,0,0,"","")
48820ENDPROC
48840DEFPROCDl(Vm%,Tm%,Um%,Ha$)
48850IFFNDl(Ha$)THEN
48860PROCzh(Tm%,Um%,Vm%,0,0,"","")
48870ELSE
48880PROCpm(Tm%,Um%,Vm%,1,FNn_("Unoadd"))
48890ENDIF
48900ENDPROC
48920DEFPROCEl(Vm%,Tm%,Um%,Ha$)
48930IFFNEl(Ha$)THEN
48940PROCzh(Tm%,Um%,Vm%,0,0,"","")
48950ELSE
48960PROCpm(Tm%,Um%,Vm%,1,FNn_("Unodel"))
48970ENDIF
48980ENDPROC
49000DEFFNQn(g%,n%)
49010IFn%=0ORn%>ABStd%(g%):=ABStd%(g%)
49020=n%
49040DEFFNvi(g$,g%)
49050IFg%>we%THEN=0
49060=FNmd(g$,Z`$(g%))
49080DEFFNfg(g$)
49090IFi_%THENIFfg%<>0ORFNAf(g$)>1THEN=TRUE
49100=FALSE
49120DEFFNAf(g$)
49130g$=FNbc(g$):g$=FNcc(g$)
49140IFg$="junk"ORLEFT$(g$,7)="control"THEN=1
49150IFLEFT$(g$,6)="email."THEN=2
49160IFLEFT$(g$,7)="folder."THEN=3
49170IFLEFT$(g$,9)="newsbase."THEN=1
49180=0
49200DEFFNY`(A$)
49210LOCALB$:B$=""
49220IFA$>""THENCALLZn%,A$,B$
49230=ik$+B$
49250DEFFNcc(A$)
49260IFA$>""CALLan%,A$
49270=A$
49290DEFFNHa(a%)
49300LOCALbn%,B$
49310CALLvb%,bn%,a%,B$
49320=B$
49340DEFFNmd(A$,B$)
49360LOCALjd%
49370IFA$>""ANDB$>""THENCALLmd%,A$,B$,jd%
49380=ABSjd%
49400DEFPROCD_
49410LOCALl%,F%
49420l%=FNIa(Xh$+".code")
49430IFl%>0THEN
49440DIMcn% l%
49450dn%=cn%+4:Zn%=cn%+8:vb%=cn%+12
49460en%=cn%+16:fn%=cn%+20:an%=cn%+24
49470Pd%=cn%+28:Am%=cn%+32:mc%=cn%+36
49480md%=cn%+40
49490SYS131080,16,Xh$+".code",cn%,0TO;F%
49500IF(F%AND1)THENERROR0,"Code file not found!"
49510ELSE
49520ERROR0,"Code file not found!"
49530ENDIF
49540ENDPROC
49560DEFPROCH_
49570LOCALt$,p$,v$,m%,v%
49580Ii%=20:uk%=40:Zj%=20:jk%=10
49590Gl%=15:gn%=7:hn%=15:in%=0:ma%=16*1024:Pb%=3
49600D`%=1000
49610Ka%=FNLa(Cj$+".!nbsys"):IFKa%<>0THEN
49620REPEATt$=GET$#Ka%:p$=""
49630m%=INSTR(t$," ")
49640IFm%>0THENp$=FNcc(LEFT$(t$,m%-1)):v$=MID$(t$,m%+1):v%=VALv$
49650CASEp$OF
49660WHEN"add_grp":IFv%>10THENIi%=v%
49670WHEN"min_grp":IFv%>10THENuk%=v%
49680WHEN"max_usr":IFv%>5THENZj%=v%
49690WHEN"max_rdr":IFv%>4THENGl%=v%
49700WHEN"min_cpu":IFv%>5ANDv%<20THENgn%=v%
49710WHEN"max_cpu":IFv%>5ANDv%<60THENhn%=v%
49720WHEN"deb_buf":IFv%>3ANDv%<256THENma%=v%*1024
49730WHEN"dbg_exp":IFv%>0THENPb%=v%
49740WHEN"min_flt":IFv%>10THENjk%=v%
49750WHEN"chk_tim":IFv%>5THEND`%=v%*100
49760ENDCASE
49770UNTILEOF#Ka%:PROCMa(Ka%)
49780ENDIF
49790DIMqm%(Gl%),Fl$(Gl%)
49800ENDPROC
49820DEFFNRk(f%)
49830IFf%=0THEN=-gn%
49840=-hn%
49860DEFFNFa(RETURNjn%,cl%,A$)
49870LOCALF%,xd%
49880IFtf%THEN
49890
49900SYS&20066,0,-1,cl%,-1,128,cl%,0,0,rf$+"_"+A$TO,xd%,,jn%;F%
49910IF(F%AND1)THENjn%=0:xd%=0
49920ELSE
49930SYS131102,6,,,cl%TO,,jn%;F%
49940IF(F%AND1)THENjn%=0
49950xd%=jn%
49960ENDIF
49970=xd%
49990DEFPROCQa(RETURNjn%)
50000LOCALF%,s%
50010IFjn%>0THEN
50020IFtf%THEN
50030SYS&20066,2,jn%TO,,s%;F%
50040IFs%>0AND(F%AND1)=0THENSYS&20066,1,jn%TO;F%:jn%=0
50050ELSE
50060SYS131102,7,,jn%TO;F%:jn%=0
50070SYS131114,1,(-16*1024*1024)
50080ENDIF
50090ENDIF
50100ENDPROC
50120DEFPROC`h
50130LOCALA%,N%,P%
50140IFtf%THEN
50150SYS&66,3,-1TO,A%
50160WHILEA%<>-1
50170SYS&66,2,A%TO,,,,,,,,P%
50180SYS&66,3,A%TO,N%
50190IFLEFT$(FNHa(P%),1+LENrf$)=rf$+"_"THENSYS&66,1,A%
50200A%=N%
50210ENDWHILE
50220ENDIF
50230ENDPROC
50250DEFPROCE_
50260LOCALf$:f$=FN_g("Messages")
50270SYS398592,,f$TO,,jl%;F%
50280IF(F%AND1)THENERROR0,"Couldn't find Messages file!"
50290DIMvf%16,kn% jl%
50300SYS267521,vf%,f$,kn%
50310ENDPROC
50330DEFPROC_h
50340IFvf%>0THENSYS267524,vf%
50350ENDPROC
50370DEFFNn_(t$)
50380LOCALs%,F%
50390SYS398594,vf%,t$TO,,s%;F%
50400IF(F%AND1)THENs%=FNln(t$)
50410=FNHa(s%)
50420DEFFNf`(t$,a$)
50430LOCALs%,F%
50440SYS398594,vf%,t$,x`%,255,a$TO,,s%;F%
50450IF(F%AND1)THENs%=FNln(t$)
50460=FNHa(s%)
50470DEFFNSe(t$,a$,b$)
50480LOCALs%,F%
50490SYS398594,vf%,t$,x`%,255,a$,b$TO,,s%;F%
50500IF(F%AND1)THENs%=FNln(t$)
50510=FNHa(s%)
50520DEFFNJm(t$,a$,b$,c$)
50530LOCALs%,F%
50540SYS398594,vf%,t$,x`%,255,a$,b$,c$TO,,s%;F%
50550IF(F%AND1)THENs%=FNln(t$)
50560=FNHa(s%)
50580DEFFNln(t$)
50590PROCK`("Failed to look up message token: "+t$,1)
50600$x`%="notoken"
50610=x`%
50630DEFPROCK_
50640LOCALt%
50650IFi_%THEN
50660t%=FNmn
50670IFt%>0THEN
50680IFFNnn(t%)THEN
50690ERROR0,FNf`("LockFail1",STR$~t%)
50700ELSE
50710IFFNe`(FNf`("LockFail3",STR$~t%))=1THEN
50720IFFNha(Kl$)=0THENt%=0ELSEERROR0,FNn_("LockFail4")
50730ELSE
50740PROCvh:END
50750ENDIF
50760ENDIF
50770ENDIF
50780IFt%=0THEN
50790IFFNMd(Nd$)<1000THENERROR0,"No disk space!"
50800Og%=FNCe(Kl$)
50810IFOg%>0THEN
50820BPUT#Og%,STR$Fc%:PROCMa(Og%)
50830ELSE
50840ERROR0,FNn_("LockFail2")
50850ENDIF
50860ENDIF
50870ENDIF
50880ENDPROC
50900DEFFNmn
50910LOCALr%:r%=0
50920Ka%=FNLa(Kl$):IFKa%>0THENr%=VALGET$#Ka%:PROCMa(Ka%)
50930=r%
50950DEFPROCw_
50960IFi_%THEN
50970IFFNmn<>Fc%THEN
50980PROCj_("LockFail0",1):T_%=0:PROCvh:END
50990ENDIF
51000ENDIF
51010ENDPROC
51030DEFPROCyh
51040IFi_%THEN
51050IFFNmn=Fc%THENF%=FNha(Kl$)
51060ENDIF
51070ENDPROC
51090DEFFNnn(t%)
51100LOCALr%:r%=0
51110REPEAT
51120SYS272001,r%,x`%,255TOr%
51130UNTILr%<0OR!x`%=t%
51140=(!x`%=t%)
51160DEFFN_g(f$)
51170LOCALt%,t$,d$,r$
51180SYS274496TOt%
51190SYS274499,t%,x`%,250TO,x`%
51200t$=FNHa(x`%):d$=Xh$+"."+t$+"."+f$
51210IFFNSb(d$)=1THEN
51220r$=d$
51230ELSE
51240d$=Xh$+"."+t$
51250IFFNSb(d$)=1THEN
51260Ka%=FNLa(d$):IFKa%<>0THENt$=GET$#Ka%:PROCMa(Ka%)
51270r$=d$=Xh$+"."+t$+"."+f$
51280ELSE
51290r$=d$=Xh$+".UK."+f$
51300ENDIF
51310ENDIF
51320IFFNSb(r$)=0THENERROR0,"Resource file "+f$+" for "+t$+" not found"
51330=r$
�:�" at ";�:�
�A_
�B_>0��
(�C_
2�D_
<�E_
F�F_
Z�=�+�G_(-64)
d �(�-�)>320*1024��=�+320*1024
n�H_
x�I_
��J_
��K_
��L_
��M_
��=(�+&4000)
��N_
��O_
��P_
��Q_
��R_%=1�3:�S_(0):�R_%
��=(�+&4000)
�T_%=1:�U_(0,0,0)
��V_
�W_(W_%)
�=�+�X_
��Y_(�)
"�Z_
,�
6 �a_%�
@�
J b_%=0
Tc_$=�d_(b_%)
^�=�+�X_
h�c_$>""��e_:�f_(c_$,b_%)
r�c_$=""
|a_%=g_%
��
��h_
��0
��
���W_(i%)
��i%>0�i_%�
��i%=2��j_("Sinfo2",1)
�1�k_(l_%):�m_(�n_("Setup"),�n_("Swait"),"","")
��:�S_(50):�o_%=�:�p_
��
��
��q_
�(r_%-s_%)>600�s_%=r_%:�V_
�(r_%-t_%)>1200�t_%=r_%:�u_
&(�(r_%-v_%)>6000�v_%=r_%:�w_:�x_("")
0#�(r_%-y_%)>400�z_%��__:y_%=r_%
:(�(r_%-`_%)>30000�`_%=r_%:�A`%=0��B`
D�
X��h_
b�m$
lm$="Idle2":�i_%�m$="Idle"
v$�m_(�n_(m$)," "," "," "):h_%=r_%
�"��S_(200):�C`%��(r_%-h_%)>=D`%
� C`%=0
��
���I_
�ȕE`$=""
�.�i_%��j_("Snewsdir",1)��j_("Sronewsdir",1)
��C_:�E`$=""�i_%�F`(G`%,0,0)
���S_(200):�H`%=0:�C_
��
�#绤I`("NewsDir$Version")<1�i_%�
��j_("Supdate",0):�S_(0)
�"�J`("<NewsDir$Dir>"):�K`("",0)
�
�
ݤd_(�b_%)
*�L`%,l%,f$,M`$
4�i_%��G_(0)>32*1024�
>*�m_(�n_("Idle"),�n_("Fcheck")," "," ")
Rf$=�N`(b_%)
\�f$=""�
fb_%=0:L`%=0
p&�O`$(P`%,0)=""�l%=�Q`(13,"","","")
z�
�l%=0
��M`$=O`$(L`%,l%)
��M`$>""�f$=�R`(M`$):l%+=1
��f$>""�M`$=""�l%=10
�L`%+=P`%
��f$>""�L`%>P`%�P`%=0
��
��
�=f$
���Z_
��S`(�r_)�
�
,�T`(�n_("Econfirm"))=2��U`(E`$+".news")
�
�i_%�A`%=0:`_%=0
$�
8��B`
B�t%,g%,t$,V`%
LV`%=�r_
V�S`(V`%)�
`�W`(10,"",0,"","")
j$�x_("Starting automatic expiry")
t!�m_("",�n_("Echeck")," "," ")
~�U`(E`$+".news")
�g%=0:�g%+=1
�t%=�X`(�Y`(Z`$(g%)))
��t%<V`%��a`(g%,0,b`%)
��g%�10=0��S_(c`%*2)
� �d`%�
�*�e`(�f`("Ccancexp",g$))=2�d`%=0�d`%=�
��
��g%=g`%�d`%<>0
��x_("Finished expiry")
�$�h`("Trimlist "+�i`%):�j`(k`$,1)
��
��
ݤS`(V`%)
�l`%,m`%,V`$,n`$,o`%
l`%=0
( �i_%�
2m`%=�X`(E`$+".news")
P�p`%<>0�
Z p`%=0
dt%=�Q`(5,"","","")
n�
xo`%=q`%:�r`%�o`%=0
��b`%�s`%=0�
�n`$=�V`%+�"0000"+�o`%,4)
�V`$=�t`
�l`%=(V`$>n`$)
� �l`%�
�
��m`%>V`%-1�l`%=0
�
�#�l`%��Q`(15,"","","")<>0�l`%=0
��
��
��
�=l`%
��V_
�l%,t%,f$,d$,p$,n%:l%=0
"�
,f$=u`$(P`%,l%):l%+=1
6d$=�v`(f$):p$=�w`(f$)
@*ș131084,9,d$,x`%,1,0,255,p$�,,,n%;y`%
J�(y`%�1)=0�n%>0�t%+=1
T�f$=""�l%=11
^0d$=z`$:�t%=0�z`$="newsbase1"�z`$="newsbase2"
h�d$<>z`$��_`(z`$)
r�
�ݤR`(A$)
�/�``$,n%,Aa%,f$,Ba$,f%,F%,l%,Ca$,M`$,Da%,Ea%
� Aa%=0
�Ea%=�Fa(Da%,Ga%,"dbuf")
�Ca$=�v`(A$):M`$=�w`(A$)
��
�1ș131084,9,Ca$,Da%,1,Aa%,Ga%,M`$�,,,n%,Aa%;F%
��(F%�1)=0�n%>0�
�f$=�Ha(Da%):Ba$=Ca$+"."+f$
��Ia(Ba$)=0�F%=�Ja(Ba$)
�
�F%=0:Ka%=�La(Ba$)
�Ka%<>0�
�Ma(Ka%)
�Ca$<>Na$�
&F%=�Q`(4,Ba$,"","")
0
�F%=0�
:F%=�Oa(Ba$,Na$+"."+f$)
D�
N3�Pa("Dnoprefetch",�I`("Newsbase$ReturnInfo"),1)
X�
b�
l�F%=0�``$=Na$+"."+f$
v�
��
��S_(c`%*2)
��
��``$>""�Aa%<0�(F%�1)<>0
��Qa(Ea%)
�=``$
���u_
�'�n%,Aa%,f$,d$,F%,Da%,Ea%,Ra$,u$,Sa%
� �i_%�
�!Ta%=0:Ea%=�Fa(Da%,Ga%,"dbuf")
��Sa%=0�1:n%=Ua%(P`%,Sa%+1)
��G_(0)>=n%*1024�
Aa%=0:�
6ș131084,9,Va$(Sa%),Da%,1,Aa%,Ga%,"*"�,,,n%,Aa%;F%
�(F%�1)=0�n%>0�
)f$=Va$(Sa%)+"."+�Ha(Da%):�Wa(f$,&FFF)
*d$=�Xa:F%=�Oa(f$,d$)
4�(F%�1)=0�
>Aa%-=1:Ra$=�Ya(Sa%,d$,u$)
H
ȎSa%�
R�0:r$=�Za(d$,u$)
\�1:r$=�aa(d$,Ra$,u$)
f�
p�r$>""�Pa("Qsendfail",d$,1)
z�S_(c`%*2)
��
��
��Aa%<0�(F%�1)<>0
��
��Sa%
��Qa(Ea%)
��
��
�ݤv`(f$)
��l%
�%l%=�f$:�l%-=1:��f$,l%,1)="."�l%<1
�=�f$,l%-1)
ݤw`(f$)
�l%
$%l%=�f$:�l%-=1:��f$,l%,1)="."�l%<1
.=�f$,l%+1)
B��f_(ba$,ca%)
L�da$,Sa$,F%
Vda$=�w`(ba$)
`�ea(ba$)
j�fa(ba$)=&FCA�
tA�j_("CompFail4",1):�x_("Batch decompression failed for "+da$)
~�ga(ba$)<>0�F%=�ha(ba$)
��
�
�ia:s`%=�
� ja%=ka%:�la(ma%):na%=ka%+ma%
�"�m_(�n_("Dstart")," "," "," ")
��oa(ba$,ca%)
� d`%=�
�-pa%=0:qa%=�:ra%=0:sa%=0:ta%=0:ua%=0:va%=0
�wa%=�xa(ba$,ca%)
�*�wa%=0�Sa$=�n_("Mail")�Sa$=�n_("News")
�b_%=�:ya%=0:za%=r_%
�ȕ_a%=�
�d`%=�:�`a:�Ab
"�m_(�f`("Dtype",Sa$),"","","")
�d`%��Bb
�
�la(0):s`%=0
(�Cb(ba$)
2�
<�
P��Bb
Z"_a%=�:qa%=�:�Ma(Db%):�Eb:s`%=0
d�j_("Dcancel",0):�Fb
n�
�
��Cb(Gb$)
��F%,n%,t%,Hb$,Ib$:Ib$=""
��Jb
�5t%=�(za%-r_%)�100:�t%>0�Ib$=�((Kb%-ca%)�t%)+"cps"
�C�x_("Finished batch "+da$+" "+�pa%+" arts "+�Kb%+" bytes "+Ib$)
��Ma(Db%)
��_`(z`$)
��d`%=0�
��Lb
��Mb
��Nb%<>0�qa%=0�
��ga(Gb$)<>0�F%=�ha(Gb$)
�
F%=�ha(Gb$)
�
" �F%<>0��Pa("Ddelfail",da$,1)
, p`%=1
6�j`(Ob$,Pb%)
@�
J�Qb
T�
hݤga(f$)
r�F%,n%,d$,da$,b%
|da$=�w`(f$)
�d$=Ob$+"."+da$:�Rb(d$)
��Sb(d$)<2�d$=Ob$
�
n%=1:�
�?x`%=3:ș7,14,x`%
�3ș274507,1,x`%,x`%+128,128,"%MN%DY%24%MI%SE"�b%
�#n%+=1:F%=�Tb(f$,d$+"."+�Ha(b%))
��n%>9�F%=0
�=F%
���Qb
�
�a$,a%
�
ȎUb%�
��0:a$=�n_("Nonews")
�1:a$=�n_("Newnews1")
:a$=�f`("Newnews",�Ub%)
�
&�Vb(Qb%,1,a$)
06�Wb$>""�a$=�f`("Newmail",�Wb$,2))�a$=�n_("Nomail")
:�Vb(Qb%,2,�a$,36))
D �Xb%�
N�Wb$>""�(Ub%>0�Yb%<>0)�
X�Zb%=0�F`(Qb%,0,0)��k_(Qb%)
b a%=1:�ab$>""��Sb(ab$)>0�a%=0
l�bb(Qb%,3,a%)
v
�cb%�7
��
��
��
���Lb
��T_%<>0�
��db
��Jb
��
��eb(0,0)
��
���`a
�la(ma%+fb%)
�gb
$hb%()=0:sa%=0:ib%=�:jb$="":kb%=0
lb%=mb%+nb%:ob%=mb%
*�
4 �ib%�
>�pb(qb$):b_%=0:�S_(c`%*2)
H�rb%=0�sb(qb$):��rb
R �qb$=""�ib%=�:�nb%>0��tb:�ub
\�
f�sb(qb$):�ub
p�
zqb$=�vb
�+�ib%=0�mb%>lb%-100��qb$,wb%)=xb$�b_%=�
��b_%<>0�_a%<>0
�(�qb$,4)="#! r"�nb%=��qb$,10):�nb%=0
�pa%+=1:ya%+=1:�wa%=1�Ub%+=1
��
���rb
��x`$:x`$=qb$
�ȕyb%:x`$=�vb:�
��
���ub
�(�S_(c`%):�(r_%-zb%)>200��_b:zb%=r_%
�
��tb
$�l%,F%,m%,`b%,Ac%,Bc%,Cc%
.l%=nb%-mb%+ob%
8�Dc%+l%+4>ma%��
B4m%=ja%+Dc%+l%:`b%=?m%:Ac%=m%?1:Bc%=m%?2:Cc%=m%?3
V"�`b%=35�Ac%=33�Bc%=32�Cc%=114�
`$�sa%+l%>Ec%��la(ma%+Ec%+l%+1024)
j+ș393457,Fc%,ja%+Dc%,Fc%,na%+sa%,l%�;F%
t%�(F%�1)=0�mb%+=l%:sa%+=l%:Dc%+=l%
~�
��
���gb
�DGc$="<blank>":Hc$="(no sender)":Ic$="(no subject)":Jc$="":Kc$=""
�.Lc$="<0>":Mc$="":Nc%=0:Oc%=0:Qc$="":Rc$=""
�,Sc$="":Tc%=0:Uc$="":Vc$="":Wc$="":Xc$=""
��
�ݤxa(c_$,Yc%)
��t%,Zc%,ac%,a$:t%=-1:ac%=-1
��
�qb$=�vb
#Zc%+=1:qb$=�bc(qb$):a$=�cc(qb$)
�(qb$)=1�t%=0:xb$=�1:dc$=""
,�qb$,5)="From "�t%=0:xb$="From ":dc$=""
@�qb$,8)="#! rmail"�t%=0:xb$="#! rmail":dc$="":nb%=��qb$,10)
(K�qb$,8)="#! rnews"�t%=1:xb$="#! rnews":dc$="Newsgroups:":nb%=��qb$,10)
2>�a$,11)="newsgroups:"��a$,5)="xref:"��a$,5)="path:"�ac%=1
<1�a$,4)="to: "��a$,14)="apparently-to:"�ac%=0
F�t%>=0�_a%<>0
P
�t%<0�
Z)t%=1:xb$="#! rnews":dc$="Newsgroups:"
d"�ac%=0�t%=0:xb$="From ":dc$=""
n�
x�Zc%>1��ec(c_$,t%,Yc%)
�wb%=�xb$
�=t%
�
��pb(qb$)
��A$
�'�xb$<>"From "��qb$,wb%)=xb$�rb%=�:�
��fc(qb$)
�%�wa%=1��qb$,5)="Path:"��gc(qb$):�
��kb%>0��
��wa%=0�Tc%=11�
��wa%=0�
�5A$="Email."+da$:�hc(da$)=0�A$="Email.postmaster"
��
A$=Mc$:hb%()=0
�
�ic(qb$):�jc(A$):rb%=�:kb%=1
"�wa%=1��kc
,�
6�
J��fc(A$)
T�lc%:�A$=""��
^�mc%,A$,lc%
h
Ȏlc%�
r�1:Ic$=�bc(�A$,9))
|�2:Hc$=�bc(�A$,6))
��3:Lc$=�bc(�A$,12))
��4:Qc$=�bc(�A$,12))
��5:Nc%=�nc(�A$,9))
��6:Rc$=�bc(�A$,9))
��7:Oc%=�nc(�A$,7))
��8:rb%=�
��9:�Gc$=""�Gc$=�bc(�A$,15))
��10:Gc$=�bc(�A$,4))
��11:Mc$=�bc(�A$,12))
��12:Sc$=�bc(�A$,20))
��13:Uc$=�bc(�A$,12))
��14:Vc$=�bc(�A$,10))
��15:Wc$=�bc(�A$,10))
�16:�sb(A$):rb%=�:qb$=""
�17:Xc$=�bc(�A$,12))
�18:Jc$=�bc(�A$,5))
&�19:Kc$=�bc(�A$,19))
0�20
:#:�A$,1)=" "��oc(A$,Tc%)�qc%=0
D�
N�lc%>0�Tc%=lc%
X�
l��oc(a$,t%)
v Ȏt%�
��10:�Gc$+�a$<250�Gc$+=a$
��17:�Xc$+�a$<250�Xc$+=a$
��18:�Jc$+�a$<250�Jc$+=a$
��
��
�ݤnc(A$)
��rc%,d$,m$,y$,l%,m%
�"l%=�A$,","):�l%>0�A$=�A$,l%+1)
�%A$=�bc(A$):A$=�cc(A$):l%=�A$," ")
� d$=�A$,l%-1):�l%=2�d$="0"+d$
�?m%=�"janfebmaraprmayjunjulaugsepoctnovdec",�A$,l%+1,3))�3+1
�m$=�"0"+�m%,2)
y$=�A$,l%+5,4):l%=�y$," ")
�l%>0�y$=�((�r_)�1E6)+�y$,2)
"�d$*�m$*�y$>0�rc%=�(y$+m$+d$)
=rc%
4��sc(g%,tc$)
>�a%,f$,uc$
H�uc$=�vc(tc$," ")
R3�m_("",�f`("Acancel",uc$),"",""):a%=�wc(g%,uc$)
\
�a%>0�
f3�xc(g%,a%):�x_("Cancelled "+uc$+" in "+Z`$(g%))
p�
z�m_("",�n_("Afail"),"","")
��
��tc$=""
��
���yc(g%,a$)
��c$
�c$=�bc(�vc(a$," "))
��c$="cancel"�zc%<>0�
�.a$=�bc(a$):�a$,1)="<"��a$)=">"��sc(g%,a$)
��
��
���kc
�_c$,c%,t%
�hb%(0)>0�
_c$="Xref: "+`c$
$
c%=0:�
.A�_c$+�Z`$(hb%(c%))<200�_c$=_c$+" "+Z`$(hb%(c%))+":"+�Ad%(c%)
8 c%+=1
B�hb%(c%)=0�c%=Bd%
L t%=yb%:yb%=0:�sb(_c$):yb%=t%
V�
`�
t��gc(a$)
~�Cd%,l%:l%=0
��`c$>""��a$,`c$)<1�
�Cd%=yb%:yb%=�
�!�ic("Path: "+`c$+"!"):yb%=Cd%
�l%=�a$,":")
��
��sb(�bc(�a$,l%+1))):rb%=�
��
�ݤvb
��C%,P%,l%,Dd%,A$
�yb%=�:P%=0:rb%=0:ua%=mb%
�mb%+254<Kb%�Dc%+254<ma%�
Dd%=Dc%+ja%:�vb%,yb%,Dd%,A$
&P%=�A$-(yb%=0):Dc%+=P%:mb%+=P%:=A$
(�
<
P%=0:�
FC%=Dc%?ja%:Dc%+=1:P%+=1
P!�P%<250�x`%?P%=C%�C%=10:yb%=�
Z�mb%>=Kb%�_a%=���Dc%=ma%�Ed
d�C%=10�C%=13�_a%<>0:mb%+=P%
n0�x`%?P%<32�x`%?P%<>1�x`%?P%=13�x`%?(P%+1)=13
x
=$(x`%+1)
���_b
��Fd$,t%
��Kb%>0�
�:Fd$=�mb%+"/"+�Kb%+" bytes ("+�(�(100*(mb%/Kb%)))+"%) "
�6t%=�(za%-r_%)�100:�t%>0�Fd$+=�((mb%-ca%)�t%)+"cps"
�&�m_("","",Fd$,�f`("Newnews",�ya%))
�&�Gd$=z`$��_`("newsbased")��_`(z`$)
��
��
���sb(A$)
�sa%>Hd%�la(ma%+Ec%+fb%)
#$(na%+sa%)=A$:sa%+=�A$:�yb%��Id
na%?sa%=10:sa%+=1
"�
6��Id
@ ȕyb%
J
A$=�vb
T�sa%>Hd%��la(ma%+Ec%+fb%)
^$(na%+sa%)=A$:sa%+=�A$
h�
r�
���ic(A$)
��sa%>Hd%�la(ma%+Ec%+fb%)
�3$(na%+sa%)=A$:sa%+=�A$:�yb%=0�na%?sa%=10:sa%+=1
��
�
��la(Jd%)
��
�ș262380,Kd%+Jd%,-1�Ld%
�$�(Kd%+Jd%)>Ld%��j_("Needmem1",1)
��(Kd%+Jd%)<=Ld%
�Ec%=Ld%-Kd%-ma%:Hd%=Ec%-300
��
��e_
�f%,F%
�
&f%=�Md(Nd$)
0$�f%<(Od%*1024)��j_("Needdisk",1)
:�f%>=(Od%*1024)
D�
XݤMd(a$)
b
�F%,f%
l)ș131113,49,Nd$�f%;F%:�(F%�1)<>0�f%=0
v=f%
�ݤbc(A$)
��B$:�A$>""��Pd%,A$,B$
�=B$
���oa(f$,Yc%)
�Db%=�La(f$)
�Dc%=0:_a%=�:Kb%=0:mb%=Yc%
��Db%<>0�Kb%=�#Db%:�#Db%=Yc%
��Ed
��
��ec(f$,t%,Yc%)
+�a$:a$=�n_("Mail"):�t%>0�a$=�n_("News")
�Pa("Dbadhead",a$,0)
%�Ma(Db%):qb$="":qa%=�:�oa(f$,Yc%)
*�
>��Ed
H�r3%,F%
R�Db%<>0�
\$ș131084,4,Db%,ja%,ma%�,,,r3%;F%
f�(F%�1)<>0�r3%>0��Ma(Db%)
p�
z Dc%=0
��
�ݤQd(g$,c%)
��g%
�g%=�Rd(�bc(g$),�)
�2�g%>0�c%<=Bd%�hb%(c%)=g%:Ad%(c%)=�Sd(g%):c%+=1
�=c%
���Td
��g%
�
Ȏwa%�
�#�0:g%=�Rd("Email.postmaster",�)
�:g%=�Rd("junk",�)
�
*�g%>0�hb%()=0:hb%(0)=g%:Ad%(0)=�Sd(g%)
�
.
��jc(Ud$)
8�Vd%:Vd%=0
B#�Ud$,",")=0�Vd%=�Qd(Ud$,Vd%):�
L�yb%��Wd(Ud$):�
V�
`Vd%=�Qd(�vc(Ud$,","),Vd%)
j�Ud$=""
t�
�
��Wd(Ud$)
�&�g$,p%,Xd$,Yd$,Vd%,Zd%:Vd%=0:Zd%=0
��
�
Xd$=""
��yb%=0�
� Zd%=�
��
�'p%=�Ud$:�p%-=1:�p%=1��Ud$,p%,1)=","
�1�Ud$,p%,1)=","�Xd$=�Ud$,p%+1):Ud$=�Ud$,p%-1)
��
��
�,g$=�vc(Ud$,","):�Yd$>""�g$=Yd$+g$:Yd$=""
Vd%=�Qd(g$,Vd%)
�g$=""�Ud$=""
Yd$=Xd$
�yb%�Ud$=�vb:�ic(Ud$)
(�Zd%
2�
F��Ab
P
�c%,u$,g$
Z�hb%(0)=0��Td
d�ad%(wa%)>0��bd
n�wa%=0�
xg$=Z`$(hb%(0)):u$=�cd(g$)
�(�x_("New mail for "+u$+" from "+Hc$)
��Sc$>""�dd(Sc$)
��ed(g$,u$)=1��
��
�ta%=ua%
�c%=0:ȕhb%(c%)>0�c%<Bd%
��fd(hb%(c%),Ad%(c%)):c%+=1
��
��
���bd
��l%,t%:l%=0
�ȕl%<=gd%:t%=hd%(l%)
6�t%=3�(t%=2�wa%=0)�(t%=1�wa%=1)��id(l%)<>0�l%=gd%
l%+=1
�
"�
6ݤid(n%)
@�n$,a$,R_%,jd%,m`%
J jd%=0
T�R_%=0�2:kd%(R_%)=�
^a$="*"+ld$(n%,R_%)+"*"
hȎld%(n%,R_%)�
r �1:�md(a$,Hc$)>0�kd%(R_%)=�
|<�2:�md(a$,Gc$)>0��md(a$,Jc$)>0��md(a$,Kc$)>0�kd%(R_%)=�
� �3:�md(a$,Ic$)>0�kd%(R_%)=�
� �4:�md(a$,Mc$)>0�kd%(R_%)=�
� �5:�md(a$,Vc$)>0�kd%(R_%)=�
� �6:�md(a$,Uc$)>0�kd%(R_%)=�
� �7:�md(a$,da$)>0�kd%(R_%)=�
��
�(�nd%(n%,R_%)>0�kd%(R_%)=(kd%(R_%)=�)
��R_%
�jd%=kd%(0)
��ld%(n%,1)>0�
�.�od%(n%,1)=0�jd%=jd%*kd%(1)�jd%=jd%+kd%(1)
��ld%(n%,2)>0�
�.�od%(n%,2)=0�jd%=jd%*kd%(2)�jd%=jd%+kd%(2)
�
�
�jd%�
&'�m_("",�f`("Fapply",�(n%+1)),"","")
0a$=�pd(qd$(n%))
:Ȏqd%(n%)�
D�1:�rd:�Td
N
�2:�rd
X&�3:�a$,1)="+"�n$=�vc(a$," "):��rd
b$�x_("Filter redirection to "+a$)
l'jd%=0:ȕhb%(jd%)>0�jd%<Bd%:jd%+=1:�
vȕa$>""
�m`%=jd%:n$=�vc(a$," ")
�jd%=�Qd(�bc(n$),jd%)
�4�jd%=m`%�n$>""��x_("Invalid redirection to "+n$)
��
��4:�sd(a$)
��
��
�=jd%
�ݤpd(a$)
�
�b$,l%
�l%=�a$,"%")
�ȕl%>0:b$=""
Ȏ�a$,l%+1,1)�
-�"u":�wa%=1�b$="news"�b$=�cd(Z`$(hb%(0)))
�"f":b$=Hc$
�"t":b$=Gc$
*�"c":b$=Jc$
4�"r":b$=Vc$
>�"%":b$="%"
H�
R'a$=�a$,l%-1)+b$+�a$,l%+2):l%+=�b$-1
\l%=�a$,"%",l%)
f�
p=a$
���rd
�A�n%,g%:n%=0:�g%=hb%(n%):�g%>0�hb%(n%)=0:�td%(g%)>0�td%(g%)-=1
�n%+=1:�g%=0�n%>Bd%
��
���sd(a$)
��f$,b$,F%,m%,d%:f$=�Xa
�(ș131080,10,f$,&FFF,,na%,na%+sa%�;F%
��(F%�1)=0�
�ȕ��bc(a$),1)="-"
�b$=�vc(a$," ")
�
Ȏ�b$,2)�
��"-M":m%=1024*��b$,3)
�"-K":�rd
�"-D":d%=�
�"-J":�rd:�Td
$�
.�
8�G_(0)<m%��j_("Fmem1",1)
B�G_(0)>=m%�
L)�x_("Submitting filter job: "+a$):�ud
V0ș393438,a$+" "+f$:�vd:�d%��S_(0):F%=�Ja(f$)
`�
j�j_("Fmem2",0)
t�
~�
��
�ݤed(g$,u$)
��u%,f$,F%,wd$,xd%
�u%=�yd(u$):�u%>0�
�f$=�zd(u$)+".vacation"
��Sb(f$)=1�
�$�Uc$<>"bulk"�Uc$<>"junk"�Hc$>""�
��Ia(f$)>0��_d(u$,f$)
��
��
��`d$(u%)>""�
+wd$=`d$(u%):ȕ�wd$,1)="+":wd$=�wd$,2):�
-�x_("Forwarding mail for "+u$+" to "+wd$)
2f$=�Xa:ș131080,10,f$,&FFF,,na%,na%+sa%�y`%;F%
�(F%�1)=0�
(f$=�Ae(wd$,f$,u$)
2!�f$=""��`d$(u%),1)<>"+"�xd%=1
<�
F�
P�
Z!�xd%=0��Wb$,u$)=0�Wb$+=","+u$
d=xd%
xݤcd(g$)
��u$,u%:u$=g$
��cc(g$),6)="email."�
�,u$=�g$,7):u%=�u$,"."):�u%>0�u$=�u$,u%-1)
��
�=u$
���_d(u$,Be$)
��f$,d$,s$,F%
� f$=�Xa:d$=Hc$:�Vc$>""�d$=Vc$
�-s$=Ic$:�cc(Ic$),4)<>"re: "�s$="Re: "+s$
�Ka%=�Ce(f$)
��Ka%>0�d$>""�
�Be%=�La(Be$)
�Be%>0�
�#Ka%,"To: "+d$
�#Ka%,"From: "+u$+"@"+De$
"�#Ka%,"Subject: "+s$
,�Ee(Ka%):�Fe(Be%,Ka%)
6"�Ma(Ka%):�Ma(Be%):�Wa(f$,&FFF)
@a$=�Za(f$,u$)
J�
T�Ma(Ka%)
^�
h�
rF%=�Ja(f$)
|�
���dd(d$)
��f$,a$,s$,F%
�$�Ge%<>0�Uc$<>"bulk"�Uc$<>"junk"�
�
f$=�Xa
�2s$=Ic$:�cc(s$),4)<>"re: "�s$>""�s$="Re: "+s$
�Ka%=�Ce(f$)
��Ka%>0�
��#Ka%,"To: "+d$
�$�#Ka%,"From: mailer-daemon@"+De$
�3�#Ka%,"Subject: Acknowledgement of receipt "+s$
��Ee(Ka%)
��#Ka%,"Your message "+Lc$
#�Ic$>""��#Ka%,"concerning "+Ic$
�#Ka%,"to "+Gc$
�#Ka%,"was received at "+`c$
&�Ma(Ka%):�Wa(f$,&FFF)
0)a$=�Za(f$,"mailer-daemon"):F%=�Ja(f$)
:�
D�
N�
b
��Ee(jb%)
l)�#jb%,"Message-ID: <"+�He+"@"+`c$+">"
v�#jb%,"Date: "+�Ie
��#jb%,"Precedence: bulk"
�+�#jb%,"X-Mailer: RISC OS Newsbase "+Je$
��#jb%,""
��
���fd(g%,s%)
��g$,s$,Ke$,Le$
��Qc$>""�Wc$>""�sc(g%,Qc$)
��Rc$>""�Wc$>""�yc(g%,Rc$)
�/g$=Z`$(g%):s$=�Me(s%):Le$=�Ne(g%,s$,0,"",0)
��Le$>""�
�#�W`(2,g$,s%,Hc$,Ic$):�Oe(g%,s%)
��Nc%>0�Pe%=0��Qe(Le$,Nc%)
!$�m_("",g$+"."+s$,"",""):�S_(c`%)
!�ya%�30=0�Re%=0��Eb
!�
! "�K`(�Se("Dsavefail",�s%,g$),1)
!*-�x_("Debatch save failure: "+g$+" #"+�s%)
!4�
!>�
!R��Eb
!\�ta%=0��Md(Nd$)<200��
!fTe%=�Ce(Nd$+".recover")
!p�Te%>0�
!z
�#Te%,da$
!��#Te%,�Kb%
!��#Te%,�ta%
!�%�Ma(Te%):�Wa(Nd$+".recover",&FFF)
!��db
!��
!��
!���Mb
!��F%:F%=�Ja(Nd$+".recover")
!��
!�
ݤN`(�p%)
!��f$,Be$,l%,m$
"Te%=�La(Nd$+".recover")
"�Te%>0�
"f$=�#Te%
"$
l%=��#Te%
".
p%=��#Te%
"8�Ma(Te%)
"BBe$=Na$+"."+f$
"L"�Sb(Be$)=1��Ia(Be$)=l%�p%<l%�
"Vm$=�Se("Drecover",f$,�p%)
"`�K`(m$,0):�S_(0):�x_(m$)
"j-l%=�Ja(Nd$+".recover"):�S_(100):�K`("",0)
"t�
"~Be$="":p%=0
"��
"��
"�=Be$
"���Qe(f$,d%)
"�
�F%,e%,l%
"�ș131080,2,f$,&FFFFFFFF�;F%
"�ș131080,3,f$,,d%�;F%
"��(F%�1)�
"�ș131080,9,f$
"��
"�ș131080,17,f$�,,l%,e%;F%
# 1�(F%�1)=0��l%<>&FFFFFFFF�e%<>d%�ș131080,9,f$
#
�
#�
#(ݤUe(g%,s%,Ca$)
#2�Ve$
#<
�g%>0�
#FVe$=�Ne(g%,�Me(s%),1,Ca$,0)
#P�Ve$>""�
#Z�W`(2,Z`$(g%),s%,Hc$,Ic$)
#d�Oe(g%,s%)
#n�
#x�
#�
=(Ve$>"")
#�ݤNe(g%,Ve$,We%,Ca$,Xe%)
#�%�p$,Ke$,Le$,Ye$,a$,F%,Ze%,ae%,y`%
#�Ze%=0:ae%=0:p$=�Y`(Z`$(g%))
#��g%>0�p$>""�
#�,Ye$=p$+".~x":a$="~x":�Xe%=0�a$=�be(�Ve$)
#�"Ke$=Ye$+"."+a$:Le$=Ke$+"."+Ve$
#��
$F%=0
$
ȎWe%�
$/�0:ș131080,10,Le$,&FFF,,na%,na%+sa%�y`%;F%
$"!�1:ș131113,26,Ca$,Le$�y`%;F%
$,+�2:�Ca$<>Le$�ș131113,25,Ca$,Le$�y`%;F%
$6�
$@�(F%�1)�
$Jy`%=(!y`%�&FF)
$T
Ȏy`%�
$^�&B3:�e_:�ce(Ke$)
$h�&D6:�ae%=0�
$r ae%=1
$|$�de(Ye$)=0�F%=�Rb(Ke$):�Ke$=Ye$
$��
$�Ke$=Ye$
$��
$� :�e_
$��
$�
Ze%+=1
$��
$� y`%=0
$��
$��Ze%>3�y`%=0
$��
$��y`%>0�Le$=""
$�=Le$
%ݤde(d$)
%4�r3%,F%:ș131084,11,d$,x`%,1,0,250,"*"�,,,r3%;F%
%&.�(F%�1)=0�r3%>0�t%=x`%!16:�t%=1�F%=�ee(d$)
%0=0
%Dݤbe(n%)
%N="~x"+�(((n%)�75)�75)
%b��ce(p$)
%l4�w`(p$),2)="~x"�F%=�ee(p$)��Pa("Fulldir",p$,1)
%v�
%�ݤee(p$)
%��fe%,l$:l$=�w`(p$)
%�fe%=�Tb(p$,Na$+"."+l$)
%��Rb(p$)
%�(�fe%=0�fe%=�Tb(Na$+"."+l$,p$+"."+l$)
%�=(fe%�1)
%�ݤSd(g%)
%��td%(g%)<>0�
%�td%(g%)=�(td%(g%))+1
%��
%�td%(g%)=�ge(�Y`(Z`$(g%)),0)
&�td%(g%)=0�td%(g%)=1
&�
&
=�td%(g%)
&*ݤMe(s%)
&4=�"00000000"+�(�s%),8)
&H
ݤRb(Y`$)
&R�p$,l%,he$,F%,t%,jd%
&\t%=�Sb(Y`$):jd%=t%
&f
�t%<2�
&p#Y`$=�ie(Y`$):l%=�Y`$,"$"):jd%=1
&z�
&�l%=�Y`$+".",".",l%+1)
&�p$=�Y`$,l%-1):t%=�Sb(p$)
&� Ȏt%�
&�(�0:�m_("",�f`("Dmakepath",p$),"","")
&�&ș131080,8,p$�y`%;F%:�(F%�1)�jd%=0
&��1:jd%=0
&�:he$=p$
&��
&� �jd%=0:�Pa("Dpathfail",p$,1)
&��l%>=�Y`$�jd%=0
&��
&�=jd%
'ݤRd(g$,je%)
'�ke%,le%,me%,ne%,oe$,lc%
'oe$=�cc(g$)
'$
�oe$=pe$�
'.lc%=pe%
'8�
'B�g$>""��g$,"*")<1�
'Lke%=1:le%=g`%:ne%=0
'Vȕke%<=le%
'`%me%=(ke%+le%)�2:qe$=�cc(Z`$(me%))
'j
�oe$<qe$�
't
le%=me%-1
'~�
'�(�oe$>qe$�ke%=me%+1�ne%=me%:ke%=le%+1
'��
'��
'��ne%>0�
'�pe$=oe$:pe%=ne%:lc%=ne%
'��
'� �je%�
'�(ne%=0:�re(g$)��se(g$)=0�ne%=�te(g$)
'�"�ne%>0�pe$=oe$:pe%=ne%:lc%=ne%
'��
'��
'��
( �
(
=lc%
(ݤue(g%)
((=�Y`(Z`$(g%))
(<ݤve(g$)
(F�oe$:oe$=�cc(g$)
(P'�oe$,6)="email."�:="Email."+�g$,7)
(Z)�oe$,7)="folder."�:="Folder."+�g$,8)
(d=oe$
(xݤte(g$)
(��p$,lc%:g$=�ve(g$)
(�p$=�Y`(g$):lc%=0
(��p$>""�g`%<we%�
(��Jb:�eb(0,0)
(��Rb(p$)<>0�
(�5�W`(0,g$,0,"",""):�m_("",�f`("Gcreate",g$),"","")
(�lc%=�xe(g$,�):�lc%>0�
(��x_(�f`("Lcrgrp",g$))
(�%ș131080,11,p$+".~index",&FFD,0,0
(�ș131080,8,p$+".~x",0
(��
(��
(��
)=lc%
)ݤxe(g$,ye%)
)"5�l%,R_%,w%,oe$,ke%,le%,me%:g$=�ve(g$):oe$=�cc(g$)
),�oe$<�cc(Z`$(g`%))�
)6+l%=1:ȕoe$>�cc(Z`$(l%))�l%<=g`%:l%+=1:�
)@�
)Jl%=g`%+1
)T�
)^�l%<we%�
)h�w%=g`%�l%�-1
)r9Z`$(w%+1)=Z`$(w%):ze%(w%+1)=ze%(w%):td%(w%+1)=td%(w%)
)|_e%(w%+1)=_e%(w%)
)�`e%(w%+1)=`e%(w%)
)��w%
)�#Z`$(l%)=g$:ze%(l%)=-1:td%(l%)=0
)�_e%(l%)=0:`e%(l%)=0
)��ye%<>0�
)��Af(g$)=0�`e%(l%)=�Bf(g$)
)��Af(g$)>1�_e%(l%)=1E6
)��
)�
g`%+=1
)��R_%=0�Bd%
)��hb%(R_%)>l%�hb%(R_%)+=1
)��R_%
*�
*l%=0:�Cf
*�
*&=l%
*:��Cf
*D�j_("Gfull",1)
*N�
*b��Df(g$)
*l(�l%,w%:ȕZ`$(l%)<>g$�l%<=g`%:l%+=1:�
*v�Z`$(l%)=g$�
*��Jb:�eb(0,0)
*��w%=l%+1�g`%
*�'Z`$(w%-1)=Z`$(w%):ze%(w%-1)=ze%(w%)
*�'td%(w%-1)=td%(w%):`e%(w%-1)=`e%(w%)
*�_e%(w%-1)=_e%(w%)
*��w%
*�"Z`$(g`%)="":g`%-=1:pe$="BLANK"
*��
*��
*�ݤSb(f$)
*�
�F%,t%
*�ș131080,17,f$�t%;F%
+�(F%�1)�=-1
+=t%
+ ݤfa(f$)
+*�F%
+4ș131080,23,f$�,,,,,,t%;F%
+>�(F%�1)�=-1
+H=t%
+\��a`(Vd%,Ef%,Ff%)
+p�Gf%,n$,Hf%,If%:If%=0
+zJf%=_e%(Vd%):�Jf%=0�Jf%=Kf%
+��Jf%>1E4THENprot%=�
+��Z`$(Vd%)>""�
+�Jf%+=Ef%:�Jf%<0�Jf%=0
+�Gf$=�Y`(Z`$(Vd%))
+� �Lf%=0��Af(Z`$(Vd%))>1�If%=�
+�/�Ff%<>0�Hf%=�Mf(Gf$,Vd%,Jf%,�,If%):�U`(Gf$)
+��W`(12,Z`$(Vd%),0,"","")
+��
+��
+�ݤMf(p$,g%,Jf%,Nf%,Of%)
+��Hf%:Hf%=0
+� �Of%�
,)�m_(�f`("Gcomp",Z`$(g%))," "," "," ")
,�
,B�m_(�f`("Gexp",Z`$(g%)),�f`("Glast",""),�f`("Gtime",�Jf%)," ")
,$�
,.�Sb(p$)>1�
,8)Hf%=�Ja(p$+".~seq"):Hf%=�de(p$+".~x")
,B$d`%=�:Hf%=�Pf(p$,g%,Jf%,Nf%,Of%)
,L)�eb(0,0):�m_(�n_("Done")," "," "," ")
,V�
,`�Qf("")
,j=Hf%
,~ݤPf(p$,Rf%,Jf%,Nf%,Of%)
,�7�Sf%,f%,f$,V`%,t$,t%,r3%,Tf%,v%,Uf%,Vf%,Hf%,Wf$,Xf%
,�(�Yf%,Da%,Ea%,Zf%,af%,bf%,cf%,df%,ef%
,��g$,Xe%,ff%,gf%
,�g$=Z`$(Rf%)
,� �Nf%�
,��Qf(�f`("Gdel",g$))
,��
,�1�Of%��Qf(�f`("Gcomp",g$))��Qf(�f`("Gexp",g$))
,��
,�df%=(�p$,6)=".~x.~x")
,�%f$=�w`(p$):cf%=(¤v`(p$),�f$)=f$)
,�gf%=0:Sf%=0
- 2V`%=�hf(�r_):Xf%=Jf%:Ea%=�Fa(Da%,Ga%,"expire")
-
�
-Zf%=Da%
-;ș131084,11,p$,Da%,20,Sf%,Ga%,"*"�,,,r3%,Sf%;F%:Tf%=Sf%
-(�r3%>0�(F%�1)=0�
-2gf%+=r3%
-<�af%=1�r3%
-F<t%=Zf%!16:Uf%=Zf%!12:f$=�Ha(Zf%+29):ef%=Zf%+24:ff%=Zf%!8
-P.v%=�f$:Yf%=0:bf%=df%:Xe%=((Uf%�8)�(df%=�))
-Z Ȏt%�
-d�1
-n
�v%>0�
-x�(Zf%?28)<>&FF�Nf%<>0�
-�
-�,ș274507,1,ef%,x`%,128,"%CE%YR%MN%DY"�b%
-�Vf%=��Ha(b%)
-��hf(Vf%)<=V`%-Xf%�Yf%=�
-��
-�Vf%=(Zf%!24)
-��Vf%<=�r_�
-� Yf%=�
-��
-��Xf%=0�bf%=�
-�)�md("clari*",g$)=0�df%=0�gf%<6�Xe%=�
.�
.�
.�Of%=0�(Yf%�Nf%)�
."�Nf%��if(p$+"."+f$,"R")
.,�Ja(p$+"."+f$)=0�
.6$Sf%-=1:Hf%+=1:�jf(Rf%,�f$):bf%=0
.@�
.J�Sb(p$+"."+f$)=0�
.T�jf(Rf%,�f$):bf%=0
.^�
.hbf%=cf%
.r�
.|�
.��
.��kf%��kf(p$+"."+f$,ff%)
.��
.��gf%>6�Xe%=0
.�
�bf%�Xe%�
.��if(p$+"."+f$,"R")
.�#Wf$=�Ne(Rf%,f$,2,p$+"."+f$,Xe%)
.�5ș131080,4,Wf$,,,,Uf%:ș131080,4,p$+"."+f$,,,,Uf%
.��Wf$>""�Sf%-=1
.��
.��
/<�2,3:�f$,2)="~x"�Hf%=Hf%+�Pf(p$+"."+f$,Rf%,Jf%,Nf%,Of%)
/F%=�Ja(p$+"."+f$)
/�
/&�d`%�af%=r3%
/0"�S_(c`%*2):Zf%=Zf%+(33+�f$)��3
/:�af%
/D�
/N�Tf%=-1�d`%
/X�Qa(Ea%)
/b=Hf%
/v��if(f$,a$)
/�ș131113,24,f$,a$
/��
/���jf(g%,n%)
/�&�eb(g%,n%):�W`(3,Z`$(g%),n%,"","")
/�!�m_("","","",�f`("Adel",�n%))
/��
/���j`(p$,o`%)
/�6�n%,f$,V`%,t%,t$,r3%,Tf%,a%,d%,Vf%,Da%,Ea%,af%,Zf%
/�-n%=0:V`%=�hf(�r_):Ea%=�Fa(Da%,Ga%,"dbuf")
/��
/�Zf%=Da%
08ș131084,11,p$,Da%,20,n%,Ga%,"*"�,,,r3%,n%;F%:Tf%=n%
0�r3%>0�(F%�1)=0�
0�af%=1�r3%
0 &t%=Zf%!16:a%=Zf%!12:f$=�Ha(Zf%+29)
0* Ȏt%�
04�1
0>�(a%�8)=0�
0H/ș274507,1,Zf%+24,x`%,128,"%CE%YR%MN%DY"�b%
0R<Vf%=��Ha(b%):�hf(Vf%)<=V`%-o`%��Ja(p$+"."+f$)=0n%=n%-1
0\�
0f-�2,3:�j`(p$+"."+f$,o`%):F%=�Ja(p$+"."+f$)
0p�
0z"�S_(c`%*2):Zf%=Zf%+(33+�f$)��3
0��af%
0��
0��Tf%=-1
0��Qa(Ea%)
0��
0�ݤr_
0��b%
0�?x`%=3:ș7,14,x`%
0�0ș274507,1,x`%,x`%+128,128,"%CE%YR%MN%DY"�b%
0�
=��Ha(b%)
0�ݤt`
1�b%
1?x`%=3:ș7,14,x`%
16ș274507,1,x`%,x`%+128,128,"%CE%YR%MN%DY%24%MI"�b%
1$=�Ha(b%)
18ݤX`(f$)
1B�l%,e%,o%,r%
1Lș131080,23,f$�o%,,l%,e%
1V
�o%>0�
1`!x`%=e%:x`%!4=l%
1j0ș274507,1,x`%,x`%+128,128,"%CE%YR%MN%DY"�b%
1tr%=��Ha(b%)
1~�
1�=r%
1�ݤhf(t%)
1��hf%,lf%,mf%,m%,d%
1�hf%=t%�100
1�lf%=(t%�100)�100
1�mf%=(t%�10000)
1�d%=365*mf%+hf%
1�
Ȏlf%�
1��1:m%=0
1��2:m%=31
2 �3:m%=59
2
�4:m%=90
2
�5:m%=120
2
�6:m%=151
2(
�7:m%=180
22
�8:m%=211
2<
�9:m%=242
2F�10:m%=272
2P�11:m%=303
2Z�12:m%=333
2d�
2n
=d%+m%
2���x_(A$)
2��l%
2�
�i_%�nf%�
2��A$>""�of%<20�
2�4x_$(of%)=�pf("# %YR%MN%DY %24%MI%SE ")+A$:of%+=1
2��
2��of%>0�
2�Ka%=�qf(Nd$+".log")
2��Ka%<>0�
2��#Ka%=�#Ka%
2�
�l%=0�of%
2��x_$(l%)>""��#Ka%,x_$(l%)
2��
30x_$()="":of%=0:�Ma(Ka%):�Wa(Nd$+".log",&FFF)
3�
3�
3"�
3,�
36�
3J��Wa(f$,t%)
3Tș131080,18,f$,t%
3^�
3r��U`(f$)
3|ș131080,9,f$
3��
3�ݤB_
3��ne%,r0%,b%,a$:r0%=0
3��
3�#x`%!4=0:ș272001,r0%,x`%,20�r0%
3��r0%>=0�x`%!4>0�
3�4b%=x`%!4:a$="":ȕ?b%>31��a$<255:a$+=�?b%:b%+=1:�
3��a$,8)=rf$�ne%=1
3��
3��r0%<0�ne%<>0
3�=ne%
4��A_
4rf$="Newsbase"
4$ș6,129,0,&FF�,sf%:tf%=(sf%>&A4)
4&�uf
40vf%=0:z`$="":wf$="":P`%=0
4:g`%=0:xf%=0:yf%=0:g_%=0
4Dnb%=0:lb%=0:nf%=0
4Np`%=0:T_%=0:s`%=0:A`%=�
4Xzf$=�200," ")
4b!_f%=0:d`%=0:`f%=0:h_%=0:C`%=0
4l ma%=16*1024:fb%=8192:Ga%=512
4v�x`% 256
4�Ag%=8000:Bg%=2048
4��Cg% Ag%
4��Dg% Bg%
4�Bd%=10:_f%=100
4��Eg$(Bd%),Ad%(Bd%),hb%(Bd%)
4��x_$(20),Va$(1)
4�Fg%=0:Gg%=0:of%=0
4�Hg%=0:Ig%=0
4�wa%=0:qb$="":da$=""
4�"Kb%=0:mb%=0:ca%=0:ta%=0:da$=""
4�ya%=0:Fb%=�:a_%=1
4�T%=0:Jg%=0:Kg%=-1:Lg%=�
4�3Db%=0:Te%=0:Ka%=0:Be%=0:Mg%=0:Ng%=0:Og%=0:Pg%=0
5pe%=0:pe$="BLANK"
5Qg%=0:Rg%=0:Sg%=0
5Tg%=0:Ug$="":yb%=0
5 Vg$="":xb$="":wb%=0
5*c`%=-15
54Wg%=&FEED10
5>Xg%=&FEED11
5HYg%=&FEED12
5R Zg%=0
5\Ub%=0:Wb$="":ag%=0:bg%=0
5f!Oc%=0:cg$="moderators.uu.net"
5z'nf%=1:dg%=1:Re%=1:Xb%=1:cb%=0:eg%=0
5�"Yb%=1:ab$="":b`%=1:Kf%=7:fg%=0
5�"gg%=0:hg$="":Lf%=0:g_%=1:Pe%=0
5�-Nb%=1:zc%=1:ig%=1:Ge%=1:jg%=0:i`%=7:kg%=1
5�$cg$="":lg$="":lg%=0:mg$="":W_%=0
5�'kf%=0:ng%=2048:q`%=0:r`%=0:Od%=1024
5�`c$="":og$="":De$="":pg$=""
5��
5���uf
5�
�p$,A$
5� i_%=�
5�ș16�A$
5��
6p$=�vc(A$," ")
6 Ȏp$�
6�"-ro":i_%=�
6$�
6.
�A$=""
68�
6L��ia
6V ka%=�
6`ș262380,-1,-1�Kd%
6j�
6~ݤX_
6��m%,f%,qg%
6�
qg%=&4000
6�-ș262380,-1,-1�,,f%:�f%>&200000�qg%=&8000
6��(�-�)<qg%�
6�m%=qg%:�ș262380,-1,-1�,,f%
6��f%<m%�j_("Needmem1",1)
6��f%>=m%
6��
6�m%=0
6��
6�=m%
7
��F_
7�rg%4,sg%30:$rg%="TASK"
7/!sg%=3:sg%!4=&400C2:sg%!8=&400C3:sg%!12=Wg%
7(/sg%!16=2:sg%!20=&400C9:sg%!24=&502:sg%!28=0
72%ș262336,310,!rg%,rf$,sg%�tg%,Fc%
7<��Y_(�)
7FBș274500,1�;F%:�(F%�4)=0��0,"UK Territory module not present!"
7P�q%&200,ug%&100
7Zvg%=0:wg%=0:xg%=0:yg%=0
7dș53,-1,5�,,A%
7n)�A%<2��zg("sprites22")��zg("sprites")
7xș262361,,�_g("Templates")
7�`g%=�Ah("status")
7�Bh%=�Ah("message")
7�Ch%=�Ah("gensetup")
7�Dh%=�Ah("groups")
7�Eh%=�Ah("confirm")
7�Ra%=�Ah("info")
7�Qb%=�Ah("arrive")
7�Fh%=�Ah("users")
7�Gh%=�Ah("site")
7�Hh%=�Ah("filters")
7�G`%=�Ah("newsdir")
7�l_%=�Ah("setup")
7�Ih%=�Ah("transports")
8Jh%=�Ah("newgroups")
8ș262362
8�Kh
8"Lh%=0:Mh%=0:zb%=r_%
8,!s_%=0:t_%=0:v_%=0:y_%=0:`_%=0
86-o_%=0:Nh%=0:Oh%=0:H`%=0:Ph%=0:Zb%=0:z_%=0
8@ Gd$="newsbase1":Qh%=�Rh(Gd$)
8J*Je$="0.53":Sh$="d":Je%=100*�Je$:Th%=47
8T)�Vb(Ra%,4,Je$+Sh$+" (24-Feb-95)"):�__
8^.�m_(�f`("Sinfo1",Je$)," "," "," "):�Qf("")
8h�
8|ݤAh(A$)
8��b%,i%,s%,Uh%,Vh%,h%
8�#ș262363,,-1,0,0,-1,A$,0�,b%,i%
8�%s%=�Fa(Uh%,b%,"template"):�Vh% i%
8�$ș262363,,Uh%,Vh%,Vh%+i%,-1,A$,0
8�'Uh%!64=Wh%:ș262337,,Uh%�h%:�Qa(s%)
8�=h%
8���zg(A$)
8��s%,f%,n%:A$=Xh$+"."+A$
8��Sb(A$)=1�
8�s%=�Ia(A$)+20
8��Wh% s%:!Wh%=s%:Wh%!8=0
8�ș46,&109,Wh%
9!ș131118,&108,Wh%�,,s%,n%,,f%
9#ș131118,&10B+(n%=0),Wh%,A$�;F%
9�
9&�1,A$+" not found"
90�
9:�
9NݤRh(A$)
9X(ș46,&100+40,Wh%,A$�,,,w%,h%:!ug%=-1
9b7ug%!4=0:ug%!8=0:ug%!12=w%*2:ug%!16=100:ug%!20=&3102
9l�Yh%12:$Yh%=A$:ug%!24=Yh%
9vug%!28=Wh%:ug%!32=11
9�ș262338,0,ug%�Rh%
9�=Rh%
9�
��_`(Ld$)
9�
�w%,F%
9��Ld$<>Gd$�
9�"ș131118,&118,Wh%,Ld$�,,Zh%;F%
9��(F%�1)=0�
9�+$Yh%=Ld$:!q%=-1:q%!4=Qh%:q%!8=0:q%!12=0
9�ș262349,,q%
9��
9�Gd$=Ld$
9��
:�
:
��S_(ah%)
: �bh%
:*�Kh:�Qg%��
:4�ah%>=0�Lh%-r_%<ah%�
:>Lh%=r_%
:H�
:R ș262369,6194,q%,r_%+ah%�bh%
:\
Ȏbh%�
:f�0:�T_%<>0��q_
:p7�2:�ch(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,q%!28)
:z�3:�dh(!q%)
:��6:�eh(q%!8,q%!12,q%!16)
:�
�7:�fh
:��8:�gh(!q%,q%!24)
:��9:�hh:�ih(q%)
:��17,18:�jh(q%)
:��
:�
�bh%=0
:��
:��
:���Kh
:�ș66�r_%
:��
;��__
;�wf$=""�wf$=�n_("Credit")
;$ �Vb(Ra%,9,��vc(wf$,";"),28))
;.�
;B��fh
;L�hh
;VD!q%=52+8:q%!12=0:q%!16=1:q%!20=kh%:q%!24=Vh%:q%!28=lh%:q%!32=mh%
;`.q%!36=0:q%!40=&1000:$(q%+44)="!NewsDir"+�0
;j#ș262375,17,q%,kh%,Vh%:yf%=q%!8
;t�
;���nh:Qg%=�:�
;���oh:Qg%=0:�
;���gh(h%,k%)
;��c%
;��k%=13�
;� Ȏh%�
;��Ch%,Gh%,Dh%:c%=�
;��Hh%:�ph(qh%):�dh(h%)
;��Fh%:�rh:�sh:c%=�
;�:ș262364,k%
;��
<