      SUBROUTINE MAIN
      SHORTCALL MKONU$
      EXTERNAL PHANT0
      INTEGER AAAAA0(5)
      DATA AAAAA0/8,-12088,-8244,-12345,-12380/
      CALL MKONU$(AAAAA0,LOC(PHANT0))
10000   CALL DISPA0
        CALL WAIT
      GOTO 10000
      END
      SUBROUTINE WAIT
      INTEGER TIME,TD(5)
      CALL TIMDAT(TD,5)
      TIME=(1*60)-(MOD(TD(4),1)*60+TD(5))
      CALL SLEEP$(INTL(TIME)*1000)
      RETURN
      END
      SUBROUTINE DISPA0
      INTEGER OPEN
      INTEGER FD
      INTEGER WKDAY,GETTO,DECODE,LENGTH,GETLIN,CTOP,CTOI,SYS$$
      INTEGER CMIN,CHRS,CDAY,CDATE,CMONTH,CYEAR
      INTEGER MIN(10),HRS(10),DAY(10)
      INTEGER DATE(10),MONTH(10)
      INTEGER MINC,HRSC,DAYC,DATEC,MONTHC
      INTEGER USER(33),FILE(180),PROJ(33)
      INTEGER GROUPS(512)
      INTEGER PUSER(16),PFILE(512)
      INTEGER ULEN,FLEN,TD(4),PWD(3),PID,CODE,I
      INTEGER BUF(512)
      INTEGER AAAAB0
      INTEGER AAAAC0(11)
      INTEGER AAAAD0(29)
      INTEGER AAAAE0(11)
      INTEGER AAAAF0,AAAAG0
      DATA AAAAC0/189,227,242,239,238,230,233,236,229,189,0/
      DATA AAAAD0/227,225,238,167,244,160,239,240,229,238,160,170,243,16
     *0,225,244,160,170,233,186,170,178,172,172,176,233,170,238,0/
      DATA AAAAE0/189,227,242,239,238,230,233,236,229,189,0/
      CALL TIMDAT(TD,4)
      CMONTH=TD(1)-'00'
      CDATE=TD(2)-'00'
      CYEAR=TD(3)-'00'
      CMONTH=RS(CMONTH,8)*10+RT(CMONTH,8)
      CDATE=RS(CDATE,8)*10+RT(CDATE,8)
      CYEAR=RS(CYEAR,8)*10+RT(CYEAR,8)
      CDAY=WKDAY(CMONTH,CDATE,CYEAR)
      CHRS=TD(4)/60
      CMIN=MOD(TD(4),60)
      FD=OPEN(AAAAC0,1)
      IF((FD.NE.-3))GOTO 10002
        CALL PRINT(-15,AAAAD0,AAAAE0,CHRS,CMIN)
        RETURN
10002 CONTINUE
10003 IF((GETLIN(BUF,FD).EQ.-1))GOTO 10004
        IF((BUF(1).NE.163))GOTO 10005
          GOTO 10003
10005   BUF(LENGTH(BUF))=0
        AAAAB0=1
        GOTO 10001
10006   I=1
        GOTO 10009
10007   I=I+(1)
10009   IF((I.GT.MINC))GOTO 10008
          IF((CMIN.LT.MIN(I)))GOTO 10007
          IF((CMIN-MIN(I).GE.1))GOTO 10007
            GOTO 10008
10008   IF((MINC.EQ.0))GOTO 10011
        IF((I.LE.MINC))GOTO 10011
          GOTO 10003
10011   I=1
        GOTO 10014
10012   I=I+(1)
10014   IF((I.GT.HRSC))GOTO 10013
          IF((HRS(I).NE.CHRS))GOTO 10012
            GOTO 10013
10013   IF((HRSC.EQ.0))GOTO 10016
        IF((I.LE.HRSC))GOTO 10016
          GOTO 10003
10016   I=1
        GOTO 10019
10017   I=I+(1)
10019   IF((I.GT.DAYC))GOTO 10018
          IF((DAY(I).NE.CDAY))GOTO 10017
            GOTO 10018
10018   IF((DAYC.EQ.0))GOTO 10021
        IF((I.LE.DAYC))GOTO 10021
          GOTO 10003
10021   I=1
        GOTO 10024
10022   I=I+(1)
10024   IF((I.GT.DATEC))GOTO 10023
          IF((DATE(I).NE.CDATE))GOTO 10022
            GOTO 10023
10023   IF((DATEC.EQ.0))GOTO 10026
        IF((I.LE.DATEC))GOTO 10026
          GOTO 10003
10026   I=1
        GOTO 10029
10027   I=I+(1)
10029   IF((I.GT.MONTHC))GOTO 10028
          IF((MONTH(I).NE.CMONTH))GOTO 10027
            GOTO 10028
10028   IF((MONTHC.EQ.0))GOTO 10031
        IF((I.LE.MONTHC))GOTO 10031
          GOTO 10003
10031   CALL PHANU0(USER,PROJ,FILE,GROUPS)
      GOTO 10003
10004 CALL CLOSE(FD)
      RETURN
10001 AAAAF0=1
10032 IF((BUF(AAAAF0).NE.160))GOTO 10033
        AAAAF0=AAAAF0+(1)
      GOTO 10032
10033 MINC=0
      IF((BUF(AAAAF0).EQ.170))GOTO 10034
10035   IF((BUF(AAAAF0).LT.176))GOTO 10040
        IF((BUF(AAAAF0).GT.185))GOTO 10040
          MINC=MINC+(1)
          MIN(MINC)=CTOI(BUF,AAAAF0)
10037     IF((BUF(AAAAF0).NE.160))GOTO 10038
            AAAAF0=AAAAF0+(1)
          GOTO 10037
10038     IF((BUF(AAAAF0).EQ.172))GOTO 10039
            GOTO 10040
10039     AAAAF0=AAAAF0+(1)
        GOTO 10035
10034   AAAAF0=AAAAF0+(1)
10041   IF((BUF(AAAAF0).NE.160))GOTO 10042
          AAAAF0=AAAAF0+(1)
        GOTO 10041
10042 CONTINUE
10040 HRSC=0
      IF((BUF(AAAAF0).EQ.170))GOTO 10043
10044   IF((BUF(AAAAF0).LT.176))GOTO 10049
        IF((BUF(AAAAF0).GT.185))GOTO 10049
          HRSC=HRSC+(1)
          HRS(HRSC)=CTOI(BUF,AAAAF0)
10046     IF((BUF(AAAAF0).NE.160))GOTO 10047
            AAAAF0=AAAAF0+(1)
          GOTO 10046
10047     IF((BUF(AAAAF0).EQ.172))GOTO 10048
            GOTO 10049
10048     AAAAF0=AAAAF0+(1)
        GOTO 10044
10043   AAAAF0=AAAAF0+(1)
10050   IF((BUF(AAAAF0).NE.160))GOTO 10051
          AAAAF0=AAAAF0+(1)
        GOTO 10050
10051 CONTINUE
10049 DAYC=0
      IF((BUF(AAAAF0).EQ.170))GOTO 10052
10053   IF((BUF(AAAAF0).LT.176))GOTO 10058
        IF((BUF(AAAAF0).GT.185))GOTO 10058
          DAYC=DAYC+(1)
          DAY(DAYC)=CTOI(BUF,AAAAF0)
10055     IF((BUF(AAAAF0).NE.160))GOTO 10056
            AAAAF0=AAAAF0+(1)
          GOTO 10055
10056     IF((BUF(AAAAF0).EQ.172))GOTO 10057
            GOTO 10058
10057     AAAAF0=AAAAF0+(1)
        GOTO 10053
10052   AAAAF0=AAAAF0+(1)
10059   IF((BUF(AAAAF0).NE.160))GOTO 10060
          AAAAF0=AAAAF0+(1)
        GOTO 10059
10060 CONTINUE
10058 DATEC=0
      IF((BUF(AAAAF0).EQ.170))GOTO 10061
10062   IF((BUF(AAAAF0).LT.176))GOTO 10067
        IF((BUF(AAAAF0).GT.185))GOTO 10067
          DATEC=DATEC+(1)
          DATE(DATEC)=CTOI(BUF,AAAAF0)
10064     IF((BUF(AAAAF0).NE.160))GOTO 10065
            AAAAF0=AAAAF0+(1)
          GOTO 10064
10065     IF((BUF(AAAAF0).EQ.172))GOTO 10066
            GOTO 10067
10066     AAAAF0=AAAAF0+(1)
        GOTO 10062
10061   AAAAF0=AAAAF0+(1)
10068   IF((BUF(AAAAF0).NE.160))GOTO 10069
          AAAAF0=AAAAF0+(1)
        GOTO 10068
10069 CONTINUE
10067 MONTHC=0
      IF((BUF(AAAAF0).EQ.170))GOTO 10070
10071   IF((BUF(AAAAF0).LT.176))GOTO 10076
        IF((BUF(AAAAF0).GT.185))GOTO 10076
          MONTHC=MONTHC+(1)
          MONTH(MONTHC)=CTOI(BUF,AAAAF0)
10073     IF((BUF(AAAAF0).NE.160))GOTO 10074
            AAAAF0=AAAAF0+(1)
          GOTO 10073
10074     IF((BUF(AAAAF0).EQ.172))GOTO 10075
            GOTO 10076
10075     AAAAF0=AAAAF0+(1)
        GOTO 10071
10070   AAAAF0=AAAAF0+(1)
10077   IF((BUF(AAAAF0).NE.160))GOTO 10078
          AAAAF0=AAAAF0+(1)
        GOTO 10077
10078 CONTINUE
10076 AAAAG0=1
      GOTO 10081
10079 AAAAG0=AAAAG0+(1)
      AAAAF0=AAAAF0+(1)
10081 IF((BUF(AAAAF0).EQ.160))GOTO 10080
      IF((BUF(AAAAF0).EQ.0))GOTO 10080
      IF((AAAAG0.GE.33))GOTO 10080
        USER(AAAAG0)=BUF(AAAAF0)
      GOTO 10079
10080 USER(AAAAG0)=0
10082 IF((BUF(AAAAF0).NE.160))GOTO 10083
        AAAAF0=AAAAF0+(1)
      GOTO 10082
10083 AAAAG0=1
      GOTO 10086
10084 AAAAG0=AAAAG0+(1)
      AAAAF0=AAAAF0+(1)
10086 IF((BUF(AAAAF0).EQ.160))GOTO 10085
      IF((BUF(AAAAF0).EQ.0))GOTO 10085
      IF((AAAAG0.GE.33))GOTO 10085
        PROJ(AAAAG0)=BUF(AAAAF0)
      GOTO 10084
10085 PROJ(AAAAG0)=0
10087 IF((BUF(AAAAF0).NE.160))GOTO 10088
        AAAAF0=AAAAF0+(1)
      GOTO 10087
10088 AAAAG0=1
      GOTO 10091
10089 AAAAG0=AAAAG0+(1)
      AAAAF0=AAAAF0+(1)
10091 IF((BUF(AAAAF0).EQ.160))GOTO 10090
      IF((BUF(AAAAF0).EQ.0))GOTO 10090
      IF((AAAAG0.GE.180))GOTO 10090
        FILE(AAAAG0)=BUF(AAAAF0)
      GOTO 10089
10090 FILE(AAAAG0)=0
10092 IF((BUF(AAAAF0).NE.160))GOTO 10093
        AAAAF0=AAAAF0+(1)
      GOTO 10092
10093 AAAAG0=1
      GOTO 10096
10094 AAAAG0=AAAAG0+(1)
      AAAAF0=AAAAF0+(1)
10096 IF((BUF(AAAAF0).EQ.0))GOTO 10095
      IF((AAAAG0.GE.512))GOTO 10095
        GROUPS(AAAAG0)=BUF(AAAAF0)
      GOTO 10094
10095 GROUPS(AAAAG0)=0
      GOTO 10006
      END
      SUBROUTINE PHANU0(U,P,F,G)
      INTEGER U(1),P(1),F(1),G(1)
      INTEGER CNT
      INTEGER SEQUE0
      INTEGER FD,FD2
      INTEGER COMBUF(512)
      INTEGER CT(512),TREE(180)
      INTEGER CREATE,OPEN
      INTEGER AAAAH0(16)
      INTEGER AAAAI0(23)
      INTEGER AAAAJ0(18)
      INTEGER AAAAK0(9)
      INTEGER AAAAL0(9)
      INTEGER AAAAM0(16)
      INTEGER AAAAN0(26)
      INTEGER AAAAO0(25)
      DATA SEQUE0/0/
      DATA AAAAH0/227,225,238,167,244,160,239,240,229,238,160,170,243,17
     *0,238,0/
      DATA AAAAI0/189,227,242,239,238,228,233,242,189,175,227,240,232,17
     *0,180,172,173,177,182,172,176,233,0/
      DATA AAAAJ0/227,225,238,167,244,160,227,242,229,225,244,229,160,17
     *0,243,170,238,0/
      DATA AAAAK0/243,247,244,160,173,182,170,238,0/
      DATA AAAAL0/243,244,239,240,160,173,170,238,0/
      DATA AAAAM0/243,225,227,160,170,243,160,170,243,186,242,160,173,23
     *8,241,0/
      DATA AAAAN0/170,238,170,243,160,230,239,242,160,170,243,168,170,24
     *3,169,160,247,233,244,232,160,170,243,170,238,0/
      DATA AAAAO0/243,240,232,160,170,243,160,173,245,160,170,243,160,17
     *3,240,160,170,243,160,173,231,160,170,243,0/
      FD=OPEN(F,1)
      IF((FD.NE.-3))GOTO 10098
        CALL PRINT(-15,AAAAH0,F)
        RETURN
10098 CNT=99
      FD2=-3
      GOTO 10101
10099 CNT=CNT-(1)
10101 IF((FD2.NE.-3))GOTO 10100
      IF((CNT.LT.0))GOTO 10100
        CALL ENCODE(COMBUF,512,AAAAI0,SEQUE0)
        CALL EXPAND(COMBUF,CT,512)
        CALL MKTR$(CT,TREE)
        SEQUE0=SEQUE0+(1)
        FD2=CREATE(CT,2)
      GOTO 10099
10100 IF((FD2.NE.-3))GOTO 10102
        CALL PRINT(-15,AAAAJ0,CT)
        CALL CLOSE(FD)
        RETURN
10102 CALL PRINT(FD2,AAAAK0)
      CALL FCOPY(FD,FD2)
      CALL PRINT(FD2,AAAAL0)
      CALL CLOSE(FD)
      CALL CLOSE(FD2)
      CALL ENCODE(COMBUF,512,AAAAM0,TREE,U)
      CALL SYS$$(COMBUF,-3)
      CALL PRINT(-15,AAAAN0,F,U,P,G)
      CALL ENCODE(COMBUF,512,AAAAO0,TREE,U,P,G)
      CALL SYS$$(COMBUF,-3)
      RETURN
      END
      SUBROUTINE PHANT0(CP)
      INTEGER * 4 CP
      INTEGER MSG(8),MORE,CODE
      CALL LON$R(LOC(MSG),8,MORE,CODE)
      RETURN
      END
C ---- Long Name Map ----
C parseline                      parse0
C phantcatch                     phant0
C phantom                        phanu0
C dispatch                       dispa0
C sequence                       seque0
