      INTEGER FUNCTION SVSAVE(FILE,TRACE)
      INTEGER FILE(1)
      LOGICAL TRACE
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER H,JUNK
      INTEGER P
      INTEGER FD
      INTEGER OPEN
      INTEGER VAL
      CALL BREAK$(1)
      FD=OPEN(FILE,2,JUNK,20)
      IF((FD.NE.-3))GOTO 10000
        CALL BREAK$(0)
        SVSAVE=-3
        RETURN
10000 IF((.NOT.TRACE))GOTO 10001
        CALL PRINT(1,'Saving variables in *s*n.',FILE)
10001 H=1
      GOTO 10004
10002 H=H+(1)
10004 IF((H.GT.13))GOTO 10003
        P=SVTBL0(1,H)
        GOTO 10007
10005   P=SVMEM0(P+0)
10007   IF((P.EQ.0))GOTO 10002
          CALL PUTLIN(SVMEM0(SVMEM0(P+1)),FD)
          CALL PUTCH(138,FD)
          CALL SVCTMN(SVMEM0(SVMEM0(P+2)),VAL)
          CALL PUTLIN(SVMEM0(VAL),FD)
          CALL PUTCH(138,FD)
          IF((.NOT.TRACE))GOTO 10008
            CALL PUTLIN(SVMEM0(SVMEM0(P+1)),1)
            CALL PUTCH(138,1)
            CALL PUTLIN(SVMEM0(VAL),1)
            CALL PUTCH(138,1)
10008     CALL SVFREE(VAL)
        GOTO 10005
10003 CALL TRUNC(FD)
      CALL CLOSE(FD)
      CALL BREAK$(0)
      SVSAVE=-2
      RETURN
      END
      INTEGER FUNCTION SVREST(FILE,TRACE)
      INTEGER FILE(1)
      LOGICAL TRACE
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER NAME,VALUE
      INTEGER LEN,JUNK
      INTEGER SVGETL,LENGTH
      INTEGER FD
      INTEGER OPEN
      CALL BREAK$(1)
      FD=OPEN(FILE,1,JUNK,20)
      IF((FD.NE.-3))GOTO 10009
        CALL BREAK$(0)
        SVREST=-3
        RETURN
10009 IF((.NOT.TRACE))GOTO 10010
        CALL PRINT(1,'Restoring variables from *s*n.',FILE)
10010 CONTINUE
10011   LEN=SVGETL(NAME,FD)
        IF((LEN.NE.-1))GOTO 10012
          GOTO 10013
10012   SVMEM0(NAME+LEN-1)=0
        LEN=SVGETL(VALUE,FD)
        IF((LEN.NE.-1))GOTO 10014
          CALL CLOSE(FD)
          CALL BREAK$(0)
          SVREST=-3
          RETURN
10014   SVMEM0(VALUE+LEN-1)=0
        IF((.NOT.TRACE))GOTO 10015
          CALL PRINT(1,'*s = *s*n.',SVMEM0(NAME),SVMEM0(VALUE))
10015   CALL SVMAKE(SVMEM0(NAME),SVMEM0(VALUE))
        CALL SVFREE(VALUE)
        CALL SVFREE(NAME)
      GOTO 10011
10013 CALL CLOSE(FD)
      CALL BREAK$(0)
      SVREST=-2
      RETURN
      END
      INTEGER FUNCTION SVSCAN(NAME,MAXLEN,INFO,OFFSET)
      INTEGER NAME(MAXLEN)
      INTEGER MAXLEN,INFO(3),OFFSET
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER CTOC
      LOGICAL MISSIN
      INTEGER I
      INTEGER P
      IF((INFO(1).NE.0))GOTO 10016
        INFO(1)=1
        INFO(2)=0
        IF((.NOT.MISSIN(OFFSET)))GOTO 10017
          INFO(3)=0
          GOTO 10018
10017     INFO(3)=OFFSET
10018 CONTINUE
10016 NAME(1)=0
      IF((INFO(1).GE.1))GOTO 10019
        INFO(1)=1
10019 IF((INFO(1).LE.13))GOTO 10020
        SVSCAN=-1
        RETURN
10020 IF((INFO(2).GE.0))GOTO 10021
        INFO(2)=0
10021 IF((SVLLA0.GT.INFO(3)))GOTO 10022
        INFO(3)=SVLLA0-1
10022 IF((INFO(3).GE.0))GOTO 10023
        INFO(3)=0
10023 P=SVTBL0(SVLLA0-INFO(3),INFO(1))
      I=1
      GOTO 10026
10024 I=I+(1)
10026 IF((I.GT.INFO(2)))GOTO 10025
      IF((P.EQ.0))GOTO 10025
        P=SVMEM0(P+0)
      GOTO 10024
10025 CONTINUE
10027   IF((P.EQ.0))GOTO 10028
          INFO(2)=INFO(2)+(1)
          SVSCAN=CTOC(SVMEM0(SVMEM0(P+1)),NAME,MAXLEN)
          RETURN
10028   INFO(1)=INFO(1)+(1)
        IF((INFO(1).LE.13))GOTO 10029
          GOTO 10030
10029   INFO(2)=0
        P=SVTBL0(SVLLA0-INFO(3),INFO(1))
      GOTO 10027
10030 SVSCAN=-1
      RETURN
      END
      INTEGER FUNCTION SVMAKE(NAME,VALUE)
      INTEGER NAME(1),VALUE(1)
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER H,NL,VL,I
      INTEGER LENGTH,SVFIND,SVHASH,SVMNTC
      INTEGER P,NP,VP
      INTEGER SVALLO
      NL=LENGTH(NAME)+1
      IF((SVFIND(NAME,P).EQ.SVLLA0))GOTO 10031
        CALL BREAK$(1)
        P=SVALLO(3)
        NP=SVALLO(NL)
        CALL SVMNTC(VALUE,VP)
        H=SVHASH(NAME)
        SVMEM0(P+1)=NP
        SVMEM0(P+2)=VP
        SVMEM0(P+0)=SVTBL0(SVLLA0,H)
        SVTBL0(SVLLA0,H)=P
        CALL CTOC(NAME,SVMEM0(NP),NL)
        CALL SVFIX(NAME,SVMEM0(VP),SVLLA0)
        CALL BREAK$(0)
10031 SVMAKE=SVLLA0
      RETURN
      END
      INTEGER FUNCTION SVPUT(NAME,VALUE)
      INTEGER NAME(1),VALUE(1)
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER LL
      INTEGER SVMNTC,SVFIND,SVMAKE
      INTEGER P,VP
      INTEGER SVALLO
      LL=SVFIND(NAME,P)
      IF((LL.NE.-1))GOTO 10032
        LL=SVMAKE(NAME,VALUE)
        GOTO 10033
10032   CALL BREAK$(1)
        CALL SVFREE(SVMEM0(P+2))
        CALL SVMNTC(VALUE,VP)
        SVMEM0(P+2)=VP
        CALL SVFIX(NAME,SVMEM0(VP),LL)
        CALL BREAK$(0)
10033 SVPUT=LL
      RETURN
      END
      SUBROUTINE SVDEL(NAME)
      INTEGER NAME(1)
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER H,I
      INTEGER EQUAL,SVHASH,STRLSR
      INTEGER P,Q
      INTEGER POS(10)
      INTEGER TEXT(74)
      INTEGER AAAAA0
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      DATA TEXT/223,229,239,230,0,223,229,242,225,243,229,0,223,229,243,
     *227,225,240,229,0,223,235,233,236,236,0,223,235,233,236,236,223,24
     *2,229,243,240,0,223,238,229,247,236,233,238,229,0,223,242,229,244,
     *249,240,229,0,223,240,242,244,223,228,229,243,244,0,223,240,242,24
     *4,223,230,239,242,237,0/
      DATA POS/9,1,6,13,21,27,38,47,55,65/
      Q=0
      H=SVHASH(NAME)
      P=SVTBL0(SVLLA0,H)
      GOTO 10036
10034 P=SVMEM0(P+0)
10036 IF((P.EQ.0))GOTO 10035
        IF((EQUAL(NAME,SVMEM0(SVMEM0(P+1))).NE.1))GOTO 10037
          CALL BREAK$(1)
          IF((Q.NE.0))GOTO 10038
            SVTBL0(SVLLA0,H)=SVMEM0(P+0)
            GOTO 10039
10038       SVMEM0(Q+0)=SVMEM0(P+0)
10039     CALL SVFREE(SVMEM0(P+1))
          CALL SVFREE(SVMEM0(P+2))
          CALL SVFREE(P)
          I=STRLSR(POS,TEXT,0,NAME)
          IF((I.EQ.-1))GOTO 10040
            AAAAA0=I-1
            GOTO 10041
10042         EOFCH0=EOFSA0(SVLLA0)
            GOTO 10043
10044         ECHAR0=ESAVE0(SVLLA0)
            GOTO 10043
10045         ESCCH0=ESCSA0(SVLLA0)
            GOTO 10043
10046         KCHAR0=KSAVE0(SVLLA0)
            GOTO 10043
10047         CALL CTOC(KRESP0(1,SVLLA0),KILLR0,33)
            GOTO 10043
10048         NLCHA0=NLSAV0(SVLLA0)
            GOTO 10043
10049         RTCHA0=RTSAV0(SVLLA0)
            GOTO 10043
10050         CALL CTOC(PDEST0(1,SVLLA0),PRTDE0,17)
            GOTO 10043
10051         CALL CTOC(PFORM0(1,SVLLA0),PRTFO0,9)
            GOTO 10043
10041       GOTO(10042,10044,10045,10046,10047,10048,10049,10050,10051),
     *AAAAA0
10043     CONTINUE
10040     CALL BREAK$(0)
          GOTO 10035
10037   Q=P
      GOTO 10034
10035 RETURN
      END
      INTEGER FUNCTION SVGET(NAME,VALUE,MAXVAL)
      INTEGER NAME(1),VALUE(1)
      INTEGER MAXVAL
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER CTOC,SVFIND
      INTEGER P
      IF((SVFIND(NAME,P).NE.-1))GOTO 10052
        SVGET=-1
        GOTO 10053
10052   SVGET=CTOC(SVMEM0(SVMEM0(P+2)),VALUE,MAXVAL)
10053 RETURN
      END
      INTEGER FUNCTION SVFIND(NAME,LOC)
      INTEGER NAME(1)
      INTEGER LOC
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER H,I
      INTEGER EQUAL,SVHASH
      INTEGER P
      H=SVHASH(NAME)
      I=SVLLA0
      GOTO 10056
10054 I=I-(1)
10056 IF((I.LE.0))GOTO 10055
        P=SVTBL0(I,H)
        GOTO 10059
10057   P=SVMEM0(P+0)
10059   IF((P.EQ.0))GOTO 10054
          IF((EQUAL(NAME,SVMEM0(SVMEM0(P+1))).NE.1))GOTO 10057
            LOC=P
            SVFIND=I
            RETURN
10055 LOC=0
      SVFIND=-1
      RETURN
      END
      INTEGER FUNCTION SVHASH(NAME)
      INTEGER NAME(1)
      IF((193.GT.NAME(1)))GOTO 10063
      IF((NAME(1).GT.218))GOTO 10063
      GOTO 10062
10063 IF((225.GT.NAME(1)))GOTO 10061
      IF((NAME(1).GT.250))GOTO 10061
      GOTO 10062
10062   SVHASH=MOD(NAME(1),13)+1
        GOTO 10065
10061   SVHASH=MOD(NAME(2),13)+1
10065 RETURN
      END
      SUBROUTINE SVPOP
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER I
      INTEGER P,Q
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      CALL BREAK$(1)
      DO 10066 I=1,13
        P=SVTBL0(SVLLA0,I)
        GOTO 10070
10068   P=Q
10070   IF((P.EQ.0))GOTO 10069
          Q=SVMEM0(P+0)
          CALL SVFREE(SVMEM0(P+1))
          CALL SVFREE(SVMEM0(P+2))
          CALL SVFREE(P)
        GOTO 10068
10069   CONTINUE
10066 CONTINUE
10067 EOFCH0=EOFSA0(SVLLA0)
      ECHAR0=ESAVE0(SVLLA0)
      ESCCH0=ESCSA0(SVLLA0)
      KCHAR0=KSAVE0(SVLLA0)
      NLCHA0=NLSAV0(SVLLA0)
      RTCHA0=RTSAV0(SVLLA0)
      CALL CTOC(KRESP0(1,SVLLA0),KILLR0,33)
      CALL CTOC(PDEST0(1,SVLLA0),PRTDE0,17)
      CALL CTOC(PFORM0(1,SVLLA0),PRTFO0,9)
      SVLLA0=SVLLA0-(1)
      CALL BREAK$(0)
      RETURN
      END
      SUBROUTINE SVPUSH
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER I
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      CALL BREAK$(1)
      SVLLA0=SVLLA0+(1)
      DO 10071 I=1,13
        SVTBL0(SVLLA0,I)=0
10071 CONTINUE
10072 EOFSA0(SVLLA0)=EOFCH0
      ESAVE0(SVLLA0)=ECHAR0
      ESCSA0(SVLLA0)=ESCCH0
      KSAVE0(SVLLA0)=KCHAR0
      NLSAV0(SVLLA0)=NLCHA0
      RTSAV0(SVLLA0)=RTCHA0
      CALL CTOC(KILLR0,KRESP0(1,SVLLA0),33)
      CALL CTOC(PRTDE0,PDEST0(1,SVLLA0),17)
      CALL CTOC(PRTFO0,PFORM0(1,SVLLA0),9)
      CALL BREAK$(0)
      RETURN
      END
      SUBROUTINE SVINIT
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER T
      SVLLA0=0
      T=2
      SVMEM0(T+0)=0
      SVMEM0(T+1)=2+2
      T=2+2
      SVMEM0(T+0)=4096-2-1
      SVMEM0(T+1)=0
      SVMEM0(1)=4096
      CALL SVPUSH
      RETURN
      END
      SUBROUTINE SVDUMP(FD)
      INTEGER FD
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER VAL
      INTEGER H,I
      INTEGER P
      I=1
      GOTO 10075
10073 I=I+(1)
10075 IF((I.GT.SVLLA0))GOTO 10074
        CALL PRINT(FD,'Scope level *i:*n.',I)
        H=1
        GOTO 10078
10076   H=H+(1)
10078   IF((H.GT.13))GOTO 10073
          CALL PRINT(FD,'   Hash list *i:*n.',H)
          P=SVTBL0(I,H)
          GOTO 10081
10079     P=SVMEM0(P+0)
10081     IF((P.EQ.0))GOTO 10076
            CALL SVCTMN(SVMEM0(SVMEM0(P+2)),VAL)
            CALL PRINT(FD,'*6i: *s (*i) = *s (*i)*n.',P,SVMEM0(SVMEM0(P+
     *1)),SVMEM0(P+1),SVMEM0(VAL),SVMEM0(P+2))
            CALL SVFREE(VAL)
          GOTO 10079
10074 RETURN
      END
      INTEGER FUNCTION SVALLO(W)
      INTEGER W
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER P,Q,L
      INTEGER N,K
      INTEGER AAAAB0(5)
      DATA AAAAB0/8,-12593,-8237,-10547,-14899/
      N=W+2
      Q=2
10082   P=SVMEM0(Q+1)
        IF((P.NE.0))GOTO 10083
          CALL BREAK$(0)
          CALL SIGNL$(AAAAB0,268369920,0,268369920,0,0)
10083   IF((SVMEM0(P+0).LT.N))GOTO 10084
          GOTO 10085
10084   Q=P
      GOTO 10082
10085 K=SVMEM0(P+0)-N
      IF((K.LT.8))GOTO 10086
        SVMEM0(P+0)=K
        L=P+K
        SVMEM0(L+0)=N
        GOTO 10087
10086   SVMEM0(Q+1)=SVMEM0(P+1)
        L=P
10087 SVALLO=L+2
      RETURN
      END
      SUBROUTINE SVFREE(BLOCK)
      INTEGER BLOCK
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER P0,P,Q
      INTEGER N
      P0=BLOCK-2
      N=SVMEM0(P0+0)
      Q=2
10088   P=SVMEM0(Q+1)
        IF((P.EQ.0))GOTO 10091
        IF((P.GT.P0))GOTO 10091
        GOTO 10089
10089   Q=P
      GOTO 10088
10091 IF((Q+SVMEM0(Q+0).LE.P0))GOTO 10092
        CALL REMARK('in svfree: attempt to free unallocated block.')
        RETURN
10092 IF(((P0+N.NE.P).OR.(P.EQ.0)))GOTO 10093
        N=N+SVMEM0(P+0)
        SVMEM0(P0+1)=SVMEM0(P+1)
        GOTO 10094
10093   SVMEM0(P0+1)=P
10094 IF((Q+SVMEM0(Q+0).NE.P0))GOTO 10095
        SVMEM0(Q+0)=SVMEM0(Q+0)+N
        SVMEM0(Q+1)=SVMEM0(P0+1)
        GOTO 10096
10095   SVMEM0(Q+1)=P0
        SVMEM0(P0+0)=N
10096 RETURN
      END
      INTEGER FUNCTION SVMNTC(VALUE,OUT)
      INTEGER VALUE(1)
      INTEGER OUT
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER SVALLO
      INTEGER I,J,K
      INTEGER C,MN(4)
      INTEGER AAAAC0
      INTEGER AAAAD0
      INTEGER AAAAE0
      INTEGER AAAAF0
      INTEGER AAAAG0
      INTEGER AAAAH0
      INTEGER AAAAI0,AAAAL0
      INTEGER AAAAJ0(4),AAAAK0
      INTEGER MNTOC
      OUT=SVALLO(LENGTH(VALUE)+1)
      I=1
      J=0
      GOTO 10101
10099 I=I+(1)
10101 IF((VALUE(I).EQ.0))GOTO 10100
        AAAAE0=VALUE(I)
        GOTO 10102
10103     AAAAC0=1
          GOTO 10097
10106     AAAAD0=1
          GOTO 10098
10102   AAAAF0=AAAAE0-187
        GOTO(10106,10108,10108,10108,10103),AAAAF0
10108     SVMEM0(OUT+J)=VALUE(I)
          J=J+(1)
10105 GOTO 10099
10100 SVMEM0(OUT+J)=0
      SVMNTC=J
      RETURN
10097 IF((VALUE(I+1).EQ.0))GOTO 10109
        I=I+(1)
10109 AAAAG0=VALUE(I)
      GOTO 10110
10111   SVMEM0(OUT+J)=138
      GOTO 10112
10113   SVMEM0(OUT+J)=137
      GOTO 10112
10110 AAAAH0=AAAAG0-237
      GOTO(10111,10114,10114,10114,10114,10114,10113),AAAAH0
10114   SVMEM0(OUT+J)=VALUE(I)
10112 J=J+(1)
      GOTO 10099
10098 AAAAI0=1
      GOTO 10118
10116 AAAAI0=AAAAI0+(1)
10118 IF((VALUE(I+AAAAI0).EQ.190))GOTO 10117
      IF((VALUE(I+AAAAI0).EQ.188))GOTO 10117
      IF((VALUE(I+AAAAI0).EQ.0))GOTO 10117
      IF((AAAAI0.GT.3))GOTO 10117
        AAAAJ0(AAAAI0)=VALUE(I+AAAAI0)
      GOTO 10116
10117 AAAAJ0(AAAAI0)=0
      IF((VALUE(I+AAAAI0).EQ.190))GOTO 10119
        SVMEM0(OUT+J)=VALUE(I)
        J=J+(1)
        GOTO 10099
10119   AAAAL0=1
        AAAAK0=MNTOC(AAAAJ0,AAAAL0,-3)
        IF((AAAAK0.NE.-3))GOTO 10121
          SVMEM0(OUT+J)=VALUE(I)
          J=J+(1)
          GOTO 10122
10121     SVMEM0(OUT+J)=AAAAK0
          J=J+(1)
          I=I+(AAAAI0)
10122 CONTINUE
10120 GOTO 10099
      END
      INTEGER FUNCTION SVCTMN(IN,VALUE)
      INTEGER IN(1)
      INTEGER VALUE
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER SVALLO
      INTEGER I,J,LEN
      INTEGER MN(4)
      INTEGER CTOMN
      I=1
      J=1
      GOTO 10126
10124 I=I+(1)
10126 IF((IN(I).EQ.0))GOTO 10125
        IF((IN(I).LE.159))GOTO 10128
        IF((IN(I).EQ.255))GOTO 10128
        GOTO 10127
10128     J=J+(5)
          GOTO 10124
10127     J=J+(1)
10129 GOTO 10124
10125 VALUE=SVALLO(J)
      I=1
      J=0
      GOTO 10132
10130 I=I+(1)
      J=J+(LEN)
10132 IF((IN(I).EQ.0))GOTO 10131
        LEN=CTOMN(IN(I),MN)
        IF((LEN.EQ.1))GOTO 10134
        IF((IN(I).EQ.160))GOTO 10134
        GOTO 10133
10134     IF((IN(I).NE.188))GOTO 10135
            SVMEM0(VALUE+J)=192
            J=J+(1)
            GOTO 10136
10135       IF((IN(I).NE.160))GOTO 10137
              LEN=1
10137     CONTINUE
10136     SVMEM0(VALUE+J)=IN(I)
          GOTO 10130
10133     SVMEM0(VALUE+J)=188
          CALL CTOC(MN,SVMEM0(VALUE+J+1),LEN+1)
          SVMEM0(VALUE+LEN+J+1)=190
          J=J+(2)
10138 GOTO 10130
10131 SVMEM0(VALUE+J)=0
      SVCTMN=J
      RETURN
      END
      SUBROUTINE SVFIX(NAME,VAL,LL)
      INTEGER NAME(1),VAL(1)
      INTEGER LL
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER I
      INTEGER STRLSR
      INTEGER POS(10)
      INTEGER TEXT(74)
      INTEGER AAAAM0
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      DATA TEXT/223,229,239,230,0,223,229,242,225,243,229,0,223,229,243,
     *227,225,240,229,0,223,235,233,236,236,0,223,235,233,236,236,223,24
     *2,229,243,240,0,223,238,229,247,236,233,238,229,0,223,242,229,244,
     *249,240,229,0,223,240,242,244,223,228,229,243,244,0,223,240,242,24
     *4,223,230,239,242,237,0/
      DATA POS/9,1,6,13,21,27,38,47,55,65/
      I=STRLSR(POS,TEXT,0,NAME)
      IF((I.NE.-1))GOTO 10139
        RETURN
10139 AAAAM0=I-1
      GOTO 10140
10141   EOFCH0=VAL(1)
        DO 10142 I=LL,SVLLA0
          EOFSA0(I)=VAL(1)
10142   CONTINUE
10143 GOTO 10144
10145   ECHAR0=VAL(1)
        DO 10146 I=LL,SVLLA0
          ESAVE0(I)=VAL(1)
10146   CONTINUE
10147 GOTO 10144
10148   ESCCH0=VAL(1)
        DO 10149 I=LL,SVLLA0
          ESCSA0(I)=VAL(1)
10149   CONTINUE
10150 GOTO 10144
10151   KCHAR0=VAL(1)
        DO 10152 I=LL,SVLLA0
          KSAVE0(I)=VAL(1)
10152   CONTINUE
10153 GOTO 10144
10154   CALL CTOC(VAL,KILLR0,33)
        DO 10155 I=LL,SVLLA0
          CALL CTOC(VAL,KRESP0(1,I),33)
10155   CONTINUE
10156 GOTO 10144
10157   NLCHA0=VAL(1)
        DO 10158 I=LL,SVLLA0
          NLSAV0(I)=VAL(1)
10158   CONTINUE
10159 GOTO 10144
10160   RTCHA0=VAL(1)
        DO 10161 I=LL,SVLLA0
          RTSAV0(I)=VAL(1)
10161   CONTINUE
10162 GOTO 10144
10163   CALL CTOC(VAL,PRTDE0,17)
        DO 10164 I=LL,SVLLA0
          CALL CTOC(VAL,PDEST0(1,LL),17)
10164   CONTINUE
10165 GOTO 10144
10166   CALL CTOC(VAL,PRTFO0,9)
        DO 10167 I=LL,SVLLA0
          CALL CTOC(VAL,PFORM0(1,LL),9)
10167   CONTINUE
10168 GOTO 10144
10140 GOTO(10141,10145,10148,10151,10154,10157,10160,10163,10166),AAAAM0
10144 RETURN
      END
      INTEGER FUNCTION SVGETL(PTR,FD)
      INTEGER PTR
      INTEGER FD
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      INTEGER TPTR
      INTEGER GETLIN
      INTEGER SVALLO
      INTEGER LEN,POS
      INTEGER BUF(102)
      POS=1
      PTR=SVALLO(POS)
      SVMEM0(PTR)=0
10169   LEN=GETLIN(BUF,FD)
        IF((LEN.NE.-1))GOTO 10170
          SVGETL=-1
          RETURN
10170   TPTR=SVALLO(POS+LEN)
        CALL CTOC(SVMEM0(PTR),SVMEM0(TPTR),POS)
        CALL CTOC(BUF,SVMEM0(TPTR+POS-1),LEN)
        CALL SVFREE(PTR)
        PTR=TPTR
        POS=POS+(LEN)
      IF((BUF(LEN).NE.138))GOTO 10169
      SVGETL=POS-1
      RETURN
      END
      INTEGER FUNCTION SVLEVL(LEVEL)
      INTEGER LEVEL
      COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0(
     *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES
     *T0(17,32),PFORM0(9,32)
      INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT
     *SAV0,KRESP0,PDEST0,PFORM0
      LEVEL=SVLLA0
      SVLEVL=SVLLA0
      RETURN
      END
C ---- Long Name Map ----
C forgetcmd                      forge0
C installationcmd                insta0
C Fdflags                        fdfla0
C setupports                     setuq0
C singlestep                     singl0
C timecmd                        timec0
C Eofchar                        eofch0
C Inputstart                     input0
C reserveport                    reser0
C searchfor                      searc0
C Svtbl                          svtbl0
C Escchar                        escch0
C Invertcase                     inver0
C loginnamecmd                   logio0
C Tccoordchar                    tccoo0
C Tabs                           tabsa0
C Fdbufstart                     fdbug0
C whencmd                        whenc0
C Rtchar                         rtcha0
C Prtdest                        prtde0
C Tcdelline                      tcdel0
C Colchgstop                     colci0
C Rowchgstart                    rowch0
C Maxcol                         maxco0
C executenode                    execv0
C putbackcommand                 putba0
C results                        resul0
C Echar                          echar0
C Tseos                          tseos0
C Tclinedelay                    tclin0
C Fnused                         fnuse0
C getneta                        getne0
C initports                      initp0
C lookuplabel                    looku0
C Termcount                      termd0
C Reservedio                     reses0
C Tsstate                        tssta0
C Tccursorright                  tccut0
C Tcabspos                       tcabs0
C Tcposdelay                     tcpos0
C Tchorlen                       tchos0
C dropcmd                        dropc0
C Reservedopen                   reset0
C Lsna                           lsnaa0
C Tcseqtype                      tcseq0
C Unprintablechar                unpri0
C Fdesc                          fdesc0
C checklabels                    check0
C dumpcmd                        dumpc0
C dumpports                      dumpp0
C histinit                       histi0
C selectport                     selec0
C Cputype                        cputy0
C Prtform                        prtfo0
C Tsbf                           tsbfa0
C Curcol                         curco0
C Lastfn                         lastf0
C Insertmode                     inser0
C argstocmd                      argst0
C histlook                       histl0
C makeportlist                   makep0
C Nlsave                         nlsav0
C Fdbuf                          fdbuf0
C Argv                           argva0
C Lstop                          lstop0
C Tcceollen                      tccep0
C cleanupports                   clean0
C getnexttoken                   getng0
C histcmd                        histc0
C initconnect                    initc0
C nextunquotedchar               nextu0
C nextwhiletoken                 nextw0
C Tcshiftchar                    tcshk0
C Inputwait                      inpuv0
C Fdunit                         fduni0
C createlabel                    creat0
C gotocmd                        gotoc0
C Termcp                         termc0
C Kchar                          kchar0
C Fdmem                          fdmem0
C Fddev                          fddev0
C Fdvcstat1                      fdvcs0
C clrargs                        clrar0
C enterlabel                     enter0
C exitcmd                        exitd0
C loginfo                        login0
C shtracecmd                     shtra0
C Lastdef                        laste0
C Tcdelaytime                    tcdem0
C Fdvcstat2                      fdvct0
C Killresp                       killr0
C Tccleardelay                   tcclh0
C Padrow                         padro0
C Fntab                          fntab0
C varscmd                        varsc0
C Reservednewscr                 resew0
C Reservedcurscr                 resex0
C handlefunction                 handm0
C restorestate                   resto0
C vpsdcmd                        vpsdc0
C Utempbuf                       utemq0
C Rtlabel                        rtlab0
C Lsho                           lshoa0
C Tcvertpos                      tcver0
C Tcwraparound                   tcwra0
C Tchomelen                      tchom0
C assigniports                   assig0
C histarg                        hista0
C Tcceoslen                      tcceo0
C Fdbufend                       fdbui0
C execute                        execu0
C findlabel                      findl0
C makeiport                      makei0
C symboltrace                    symbo0
C Tcspeed                        tcspe0
C Tcleftlen                      tclef0
C Pbbuf                          pbbuf0
C Fdopstat1                      fdops0
C Eofsave                        eofsa0
C Passwd                         passw0
C Newscr                         newsc0
C Curscr                         cursc0
C Duplex                         duple0
C Fdopstat2                      fdopt0
C indexcmd                       index0
C primoscmd                      primo0
C Escsave                        escsa0
C Tccursorhome                   tccur0
C Fdopstat3                      fdopu0
C whilecmd                       while0
C Tspath                         tspat0
C clrports                       clrpo0
C initlabels                     initl0
C savestate                      saves0
C Rtsave                         rtsav0
C Tsat                           tsata0
C Tccursorleft                   tccus0
C Colchgstart                    colch0
C assignoports                   assih0
C histget                        histh0
C nargscmd                       nargs0
C Esave                          esave0
C Reservedshell                  reseu0
C Inbuf                          inbuf0
C Nestingcount                   nesti0
C makeoport                      makeo0
C Reservedtscan                  resev0
C Defbuf                         defbu0
C getelement                     getel0
C stopcmd                        stopc0
C Uhashtb                        uhash0
C Fdbuflen                       fdbuh0
C casecmd                        casec0
C stoplogging                    stopl0
C Cmdstat                        cmdst0
C Tchorpos                       tchor0
C Tcinsline                      tcins0
C Msgowner                       msgow0
C invokevar                      invom0
C Svll                           svlla0
C Fdlastfd                       fdlas0
C Termattr                       terma0
C datecmd                        datec0
C Tsgt                           tsgta0
C Tcshiftout                     tcshj0
C Inputstop                      inpuu0
C accessarg                      acces0
C echocmd                        echoc0
C invokeint                      invol0
C substrcmd                      subst0
C Ksave                          ksave0
C Firstuse                       first0
C Tcshiftin                      tcshi0
C Displaytime                    displ0
C Fdcount                        fdcou0
C declarecmd                     decla0
C nettrace                       nettr0
C handleescape                   handl0
C getnetlabel                    getnf0
C Termbuf                        termb0
C Lsref                          lsref0
C Tcabslen                       tcabt0
C Rowchgstop                     rowci0
C Maxrow                         maxro0
C Padcol                         padco0
C Lastcharscanned                lastd0
C Pdestsave                      pdest0
C Msgrow                         msgro0
C Padlen                         padle0
C histfind                       histf0
C histsub                        hists0
C Stdporttbl                     stdpo0
C exitcasecmd                    exitc0
C histfree                       histg0
C histque                        histq0
C redirector                     redir0
C Argc                           argca0
C Termtype                       termt0
C Tccleartoeol                   tcclf0
C invokeext                      invok0
C takecmd                        takec0
C Tccursordown                   tccuv0
C Currow                         curro0
C context                        conte0
C histexp                        histe0
C setupargs                      setup0
C Pformsave                      pform0
C Nlchar                         nlcha0
C Isphantom                      ispha0
C Tsun                           tsuna0
C Tsps                           tspsa0
C Reservedvthmisc                resey0
C clrlabels                      clrla0
C Krespsave                      kresp0
C Tcuplen                        tcupl0
C Lastchar                       lastc0
C evalcmd                        evalc0
C evalnetsep                     evaln0
C linecmd                        linec0
C repeatcmd                      repea0
C Utemptop                       utemp0
C elsecmd                        elsec0
C removecn                       remov0
C Bplabel                        bplab0
C nodesepr                       nodes0
C Tspw                           tspwa0
C Tcclearscreen                  tccle0
C Tccoordtype                    tccop0
C Tcvertlen                      tcves0
C Fdbcount                       fdbco0
C initargs                       inita0
C initializeeverything           initi0
C processhello                   proce0
C Comunit                        comun0
C Tccleartoeos                   tcclg0
C Tccursorup                     tccuu0
C assignports                    assii0
C filetype                       filet0
C quotecmd                       quote0
C Tcclrlen                       tcclr0
C argscmd                        argsc0
C argument                       argum0
C declaredcmd                    declb0
C startlogging                   start0
C Svmem                          svmem0
C Errcod                         errco0
C Lword                          lword0
C Pbptr                          pbptr0
