(FILECREATED " 4-Sep-85 19:34:48" {ERIS}<LISPUSERS>GKSINTERN.;5 17814 changes to: (FNS GKSFN.GETDASHS GKSFN.DSCRINIT GKSFN.SLSTINIT GKSFN.WDSCINIT GKSFN.GETWTOD GKSFN.GETWTOV GKSFN.FIXCLIP GKSFN.WTOVMAT2 GKSFN.NEWPLIN GKSFN.NEWPMRK GKSFN.NEWTEXT GKSFN.NEWFILL GKSFN.NEWNORM GKSFN.NEWRECT GKSFN.NEWWLST GKSFN.WTOVSMAP GKSFN.WTOVTMAP GKSFN.RECTSECT GKSFN.GETBRUSH GKSFN.ERRN) (VARS GKSINTERNCOMS) previous date: "29-May-85 13:41:29" {ERIS}<SHIH>F>CODE>GKSINTERN.;1) (* Copyright (c) 1985 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT GKSINTERNCOMS) (RPAQQ GKSINTERNCOMS ((RECORDS (* GKS STATES *) GKSTYP.DSCR (* GKS DESCR LIST *) GKSTYP.SLST (* GKS STATE LIST *) GKSTYP.ELST (* GKS ERROR LIST *) GKSTYP.WLST (* WKS STATE LIST *) GKSTYP.WDSC (* WKS DESCR LIST *) GKSTYP.PLIN GKSTYP.PMRK GKSTYP.TEXT GKSTYP.FILL (* GKS GPRIM TYPS *) GKSTYP.LDSC GKSTYP.MDSC GKSTYP.FDSC (* GKS WDSCR TYPS *) GKSTYP.NORM GKSTYP.RECT GKSTYP.1DEQ) (FNS (* CLASS MATRIX *) GKSFN.WTOVMAT2) (INITVARS (* INITIAL VALUES *) (GKS.STATE (QUOTE GKCL)) (GKS.DSCR (CREATE GKSTYP.DSCR)) (GKS.SLST (CREATE GKSTYP.SLST)) (GKS.ELST (CREATE GKSTYP.ELST)) (GKS.WDSC (CREATE GKSTYP.WDSC))) (FNS GKSFN.DSCRINIT GKSFN.SLSTINIT GKSFN.ELSTINIT GKSFN.WDSCINIT) (FNS GKSFN.NEWPLIN GKSFN.NEWPMRK GKSFN.NEWTEXT GKSFN.NEWFILL GKSFN.NEWNORM GKSFN.NEWRECT GKSFN.NEWWLST) (FNS GKSFN.GETWTOD GKSFN.GETWTOV GKSFN.GETNORM GKSFN.WTOVSMAP GKSFN.WTOVTMAP GKSFN.RECTSECT GKSFN.FIXCLIP) (FNS GKSFN.GETBRUSH GKSFN.GETDASHS GKSFN.GETSHADE) (FNS GKSFN.ERRN) (FNS GKSFN.INQWKCN) (MACROS GKSFN.OPEN? GKSFN.ACTV?) (MACROS GKSFN.GETFIELD GKSFN.SETFIELD (* STATE MACROS *) GKSFN.GETDFIELD GKSFN.GETIFIELD (* GDSCR MACROS *) GKSFN.GETEFIELD GKSFN.SETEFIELD (* ERROR MACROS *) GKSFN.GETWFIELD GKSFN.SETWFIELD (* WKSTN MACROS *)))) [DECLARE: EVAL@COMPILE (RECORD GKSTYP.DSCR (LEVL TYPE DUMM MAXOPEN MAXACTV MAXWSEG MAXTRAN)) (RECORD GKSTYP.SLST (OPER OPEN ACTV GKSTYP.PLIN GKSTYP.PMRK GKSTYP.TEXT GKSTYP.FILL NNUM NLST CLIP)) (RECORD GKSTYP.ELST (ECOND EFILE MOREJUNK)) (RECORD GKSTYP.WLST (WKID CONN TYPE STATE SEGS WDEFER WREGEN WEMPTY WNEWFM WLBUND WMBUND WTBUND WFBUND WTPEND NEXTWN CURRWN NEXTVW CURRVW MORE JUNK)) (RECORD GKSTYP.WDSC (TYPE CATEGORY DEVUNITS UNITSIZE RASTSIZE DISPTYPE DMTEXT DMPATT DMCOLR DMTRAN DEFER REGEN GKSTYP.LDSC GKSTYP.MDSC GKSTYP.FDSC MOREJUNK)) (RECORD GKSTYP.PLIN (LINDEX LSTYLE LSCALE LCOLOR LSTYLEASF LSCALEASF LCOLORASF)) (RECORD GKSTYP.PMRK (MINDEX MSTYLE MSCALE MCOLOR MSTYLEASF MSCALEASF MCOLORASF)) (RECORD GKSTYP.TEXT (TINDEX TSTYLE TSCALE TSPACE TCOLOR TPTSIZ TUPDIR TADVAN TALIGN TSTYLEASF TSCALEASF TCOLORASF)) (RECORD GKSTYP.FILL (FINDEX FINNER FSTYLE FCOLOR FSCALE FREFPT FINNERASF FSTYLEASF FCOLORASF)) (RECORD GKSTYP.LDSC (LDYNAM LTYPES LSIZES LNOMSZ LMINSZ LMAXSZ LBUNDS)) (RECORD GKSTYP.MDSC (MDYNAM MTYPES MSIZES MNOMSZ MMINSZ MMAXSZ MBUNDS)) (RECORD GKSTYP.FDSC (FDYNAM FOPAQS FTYPES FBUNDS)) (RECORD GKSTYP.NORM (NUMB WIND VIEW)) (RECORD GKSTYP.RECT (XMIN YMIN XMAX YMAX)) (RECORD GKSTYP.1DEQ (S T)) ] (DEFINEQ (GKSFN.WTOVMAT2 [LAMBDA (WNRECT VWRECT) (* FS " 4-Sep-85 19:00") (* * comment) (PROG (NEWOBJ WXMIN WXMAX WYMIN WYMAX VXMIN VXMAX VYMIN VYMAX) (SETQ NEWOBJ (MATFN.NEWMAT2)) (with GKSTYP.RECT WNRECT (*) (SETQ WXMIN XMIN) (SETQ WXMAX XMAX) (SETQ WYMIN YMIN) (SETQ WYMAX YMAX)) (with GKSTYP.RECT VWRECT (*) (SETQ VXMIN XMIN) (SETQ VXMAX XMAX) (SETQ VYMIN YMIN) (SETQ VYMAX YMAX)) [with MATTYP.2D NEWOBJ (*) (with MATTYP.ROW1 MATTYP.ROW1 (SETQ E11 (GKSFN.WTOVSMAP WXMIN WXMAX VXMIN VXMAX)) (SETQ E13 (GKSFN.WTOVTMAP E11 WXMIN VXMIN))) (with MATTYP.ROW2 MATTYP.ROW2 (SETQ E22 (GKSFN.WTOVSMAP WYMIN WYMAX VYMIN VYMAX)) (SETQ E23 (GKSFN.WTOVTMAP E22 WYMIN VYMIN] (RETURN NEWOBJ]) ) (RPAQ? GKS.STATE (QUOTE GKCL)) (RPAQ? GKS.DSCR (CREATE GKSTYP.DSCR)) (RPAQ? GKS.SLST (CREATE GKSTYP.SLST)) (RPAQ? GKS.ELST (CREATE GKSTYP.ELST)) (RPAQ? GKS.WDSC (CREATE GKSTYP.WDSC)) (DEFINEQ (GKSFN.DSCRINIT [LAMBDA NIL (* FS " 4-Sep-85 19:23") (with GKSTYP.DSCR GKS.DSCR (SETQ LEVL (QUOTE MA)) (SETQ TYPE 1) (SETQ DUMM NIL) (SETQ MAXOPEN 1) (SETQ MAXACTV 1) (SETQ MAXWSEG 0) (SETQ MAXTRAN 1]) (GKSFN.SLSTINIT [LAMBDA NIL (* FS " 4-Sep-85 19:23") (LET (NORM) (with GKSTYP.SLST GKS.SLST (*) (SETQ OPEN NIL) (SETQ ACTV NIL) (SETQ GKSTYP.PLIN (GKSFN.NEWPLIN)) (SETQ GKSTYP.PMRK (GKSFN.NEWPMRK)) (SETQ GKSTYP.TEXT (GKSFN.NEWTEXT)) (SETQ GKSTYP.FILL (GKSFN.NEWFILL)) (SETQ NNUM 0) (SETQ NORM (GKSFN.NEWNORM)) (with GKSTYP.NORM NORM (SETQ NUMB 1)) (SETQ NLST (LIST (GKSFN.NEWNORM) NORM)) (SETQ CLIP (QUOTE CLIP]) (GKSFN.ELSTINIT [LAMBDA NIL (* FS "19-Apr-85 19:12") (GKSFN.SETEFIELD EFILE PROMPTWINDOW) (GKSFN.SETEFIELD ECOND (QUOTE OFF]) (GKSFN.WDSCINIT [LAMBDA NIL (* FS " 4-Sep-85 19:25") (SETQ GKS.WDSC (create GKSTYP.WDSC)) (with GKSTYP.WDSC GKS.WDSC (*) (SETQ TYPE (QUOTE STREAM)) (SETQ CATEGORY (QUOTE OUTPUT)) (SETQ DISPTYPE (QUOTE RASTER)) (SETQ GKSTYP.LDSC (create GKSTYP.LDSC LBUNDS ← 0)) (SETQ GKSTYP.MDSC (create GKSTYP.MDSC MBUNDS ← 0)) (SETQ GKSTYP.FDSC (create GKSTYP.FDSC FBUNDS ← 0)) (SETQ MOREJUNK (QUOTE JUNK]) ) (DEFINEQ (GKSFN.NEWPLIN [LAMBDA NIL (* FS " 4-Sep-85 19:06") (LET (OBJ) (SETQ OBJ (create GKSTYP.PLIN)) (with GKSTYP.PLIN OBJ (*) (SETQ LINDEX 1) (SETQ LSTYLE 1) (SETQ LSCALE 1) (SETQ LCOLOR 1) (SETQ LSTYLEASF (QUOTE INDIVIDUAL)) (SETQ LSCALEASF (QUOTE INDIVIDUAL)) (SETQ LCOLORASF (QUOTE INDIVIDUAL))) OBJ]) (GKSFN.NEWPMRK [LAMBDA NIL (* FS " 4-Sep-85 19:07") (LET (OBJ) (SETQ OBJ (create GKSTYP.PMRK)) (with GKSTYP.PMRK OBJ (*) (SETQ MINDEX 1) (SETQ MSTYLE 3) (SETQ MSCALE 1) (SETQ MCOLOR 1) (SETQ MSTYLEASF (QUOTE INDIVIDUAL)) (SETQ MSCALEASF (QUOTE INDIVIDUAL)) (SETQ MCOLORASF (QUOTE INDIVIDUAL))) OBJ]) (GKSFN.NEWTEXT [LAMBDA NIL (* FS " 4-Sep-85 19:08") (LET (OBJ) (SETQ OBJ (create GKSTYP.TEXT)) (with GKSTYP.TEXT OBJ (*) (SETQ TINDEX 0) (SETQ TSTYLE 1) (SETQ TSCALE 1) (SETQ TSPACE 0) (SETQ TCOLOR 1) (SETQ TPTSIZ .01) (SETQ TUPDIR (QUOTE (0 1))) (SETQ TADVAN (QUOTE RIGHT)) (SETQ TALIGN (QUOTE (NORMAL . NORMAL))) (SETQ TSTYLEASF (QUOTE INDIVIDUAL)) (SETQ TSCALEASF (QUOTE INDIVIDUAL)) (SETQ TCOLORASF (QUOTE INDIVIDUAL))) OBJ]) (GKSFN.NEWFILL [LAMBDA NIL (* FS " 4-Sep-85 19:09") (LET (OBJ) (SETQ OBJ (create GKSTYP.FILL)) (with GKSTYP.FILL OBJ (*) (SETQ FINDEX 1) (SETQ FINNER (QUOTE HOLLOW)) (SETQ FSTYLE 1) (SETQ FCOLOR 1) (SETQ FSCALE (QUOTE (1 . 1))) (SETQ FREFPT (QUOTE (0 . 0))) (SETQ FINNERASF (QUOTE INDIVIDUAL)) (SETQ FSTYLEASF (QUOTE INDIVIDUAL)) (SETQ FCOLORASF (QUOTE INDIVIDUAL))) OBJ]) (GKSFN.NEWNORM [LAMBDA NIL (* FS " 4-Sep-85 19:09") (LET (NEWOBJ) (SETQ NEWOBJ (create GKSTYP.NORM)) (with GKSTYP.NORM NEWOBJ (*) (SETQ NUMB 0) (SETQ WIND (GKSFN.NEWRECT)) (SETQ VIEW (GKSFN.NEWRECT))) NEWOBJ]) (GKSFN.NEWRECT [LAMBDA NIL (* FS " 4-Sep-85 19:10") (LET (NEWOBJ) (SETQ NEWOBJ (create GKSTYP.RECT)) (with GKSTYP.RECT NEWOBJ (*) (SETQ XMIN 0) (SETQ YMIN 0) (SETQ XMAX 1) (SETQ YMAX 1)) NEWOBJ]) (GKSFN.NEWWLST [LAMBDA NIL (* FS " 4-Sep-85 19:10") (LET (NEWOBJ) (SETQ NEWOBJ (create GKSTYP.WLST)) (with GKSTYP.WLST NEWOBJ (*) (SETQ WEMPTY (QUOTE EMPTY)) (SETQ WNEWFM (QUOTE NO)) (SETQ WTPEND (QUOTE NOTPENDING)) (SETQ CURRWN (GKSFN.NEWRECT)) (SETQ NEXTWN (GKSFN.NEWRECT)) (SETQ CURRVW (GKSFN.NEWRECT)) (SETQ NEXTVW (GKSFN.NEWRECT))) NEWOBJ]) ) (DEFINEQ (GKSFN.GETWTOD [LAMBDA (WORK) (* FS " 4-Sep-85 19:26") (* * comment) (PROG (NORM WINDOW VWPORT WORKWN WORKVW WVTRAN VDTRAN WDTRAN) (SETQ NORM (GKSFN.GETNORM (GKSFN.GETFIELD NNUM))) (SETQ WINDOW (fetch WIND of NORM)) (SETQ VWPORT (fetch VIEW of NORM)) (SETQ WVTRAN (GKSFN.WTOVMAT2 WINDOW VWPORT)) (* *) (SETQ WORKWN (GKSFN.GETWFIELD WORK CURRWN)) (SETQ WORKVW (GKSFN.GETWFIELD WORK CURRVW)) (SETQ VDTRAN (GKSFN.WTOVMAT2 WORKWN WORKVW)) (* *) (SETQ WDTRAN (MATFN.MULT2 VDTRAN WVTRAN)) (RETURN WDTRAN]) (GKSFN.GETWTOV [LAMBDA (WINDOW VWPORT) (* FS " 4-Sep-85 19:27") (* * comment) (PROG (WXMIN WXMAX WYMIN WYMAX VXMIN VXMAX VYMIN VYMAX NEWX1DEQ NEWY1DEQ) (SETQ WXMIN (fetch XMIN of WINDOW)) (SETQ WXMAX (fetch XMAX of WINDOW)) (SETQ VXMIN (fetch XMIN of VWPORT)) (SETQ VXMAX (fetch XMAX of VWPORT)) (* *) (SETQ WYMIN (fetch YMIN of WINDOW)) (SETQ WYMAX (fetch YMAX of WINDOW)) (SETQ VYMIN (fetch YMIN of VWPORT)) (SETQ VYMAX (fetch YMAX of VWPORT)) (* *) (SETQ NEWX1DEQ (create GKSTYP.1DEQ)) (SETQ NEWY1DEQ (create GKSTYP.1DEQ)) (with GKSTYP.1DEQ NEWX1DEQ (*) (SETQ S (GKSFN.WTOVSMAP WXMIN WXMAX VXMIN VXMAX)) (SETQ T (GKSFN.WTOVTMAP S WXMIN VXMIN))) (with GKSTYP.1DEQ NEWY1DEQ (*) (SETQ S (GKSFN.WTOVSMAP WYMIN WYMAX VYMIN VYMAX)) (SETQ T (GKSFN.WTOVTMAP S WYMIN VYMIN))) (RETURN (CONS NEWX1DEQ NEWY1DEQ]) (GKSFN.GETNORM [LAMBDA (TNUM) (* edited: " 6-May-85 17:42") (* * comment) (PROG (INDEX) (SETQ INDEX TNUM) (SETQ INDEX (PLUS INDEX 1)) (RETURN (CAR (NTH (GKSFN.GETFIELD NLST) INDEX]) (GKSFN.WTOVSMAP [LAMBDA (WMIN WMAX VMIN VMAX) (* FS " 4-Sep-85 19:12") (* * comment) (QUOTIENT (DIFFERENCE VMAX VMIN) (FLOAT (DIFFERENCE WMAX WMIN]) (GKSFN.WTOVTMAP [LAMBDA (S WMIN VMIN) (* FS " 4-Sep-85 19:12") (* * comment) (PLUS VMIN (TIMES S WMIN]) (GKSFN.RECTSECT [LAMBDA (RECT1 RECT2) (* FS " 4-Sep-85 19:12") (* * RETURN A RECTANGLE WHICH IS THE INTERSECTION OF THE TWO) (PROG (NEWOBJ) (SETQ NEWOBJ (create GKSTYP.RECT)) (with GKSTYP.RECT NEWOBJ (*) (SETQ XMIN (MAX (fetch XMIN of RECT1) (fetch XMIN of RECT2))) (SETQ XMAX (MIN (fetch XMAX of RECT1) (fetch XMAX of RECT2))) (SETQ YMIN (MAX (fetch YMIN of RECT1) (fetch YMIN of RECT2))) (SETQ YMAX (MIN (fetch YMAX of RECT1) (fetch YMAX of RECT2))) (if (OR (LESSP XMAX XMIN) (LESSP YMAX YMIN)) then (SETQ NEWOBJ NIL))) (RETURN NEWOBJ]) (GKSFN.FIXCLIP [LAMBDA (WORK) (* FS " 4-Sep-85 19:29") (* * THE DIG CLIPPING REGIONS FOR ALL STREAMS MUST BE RESET WHENEVER ANY OF THE FOLLOWING CHANGE : VIEWPORT, WORKSTATION WINDOW, WORKSTATION VIEWPORT OR CLIPPING FLAG) (PROG (NORM WINDOW VWPORT WORKWN WORKVW WVTRAN VDTRAN CLIPRECT) (if (EQ WORK NIL) then (RETURN NIL)) (if (LISTP WORK) then (GKSFN.FIXCLIP (CAR WORK)) (GKSFN.FIXCLIP (CDR WORK)) (RETURN NIL)) (SETQ NORM (GKSFN.GETNORM (GKSFN.GETFIELD NNUM))) (SETQ VWPORT (fetch VIEW of NORM)) (SETQ WORKWN (GKSFN.GETWFIELD WORK CURRWN)) (SETQ WORKVW (GKSFN.GETWFIELD WORK CURRVW)) (SETQ VDTRAN (GKSFN.WTOVMAT2 WORKWN WORKVW)) (if (EQUAL (GKSFN.GETFIELD CLIP) (QUOTE CLIP)) then (SETQ CLIPRECT (GKSFN.RECTSECT WORKWN VWPORT)) else (SETQ CLIPRECT WORKWN)) (if (NEQ CLIPRECT NIL) then (DSPCLIPPINGREGION CLIPRECT (GKSFN.GETWFIELD WORK CONN))) (RETURN NIL]) ) (DEFINEQ (GKSFN.GETBRUSH [LAMBDA (SCALE) (* FS " 4-Sep-85 19:14") (LIST (QUOTE ROUND) SCALE]) (GKSFN.GETDASHS [LAMBDA (STYLE) (* FS " 4-Sep-85 19:34") (SELECTQ STYLE (1 NIL) (2 (QUOTE (6 4))) (3 (QUOTE (1 6))) (4 (QUOTE (6 4 1 4))) NIL]) (GKSFN.GETSHADE [LAMBDA (CINDEX) (* edited: "10-May-85 14:17") (* * comment) (PROG NIL (if (EQ CINDEX 1) then (RETURN BLACKSHADE)) (RETURN GRAYSHADE]) ) (DEFINEQ (GKSFN.ERRN [LAMBDA (ERRNO CALLER) (* FS " 4-Sep-85 19:19") (PROG (EFILE) (SETQ EFILE (GKSFN.GETEFIELD EFILE)) (PRINTOUT EFILE "GKS ERROR " ERRNO " ENCOUNTERED IN " CALLER T]) ) (DEFINEQ (GKSFN.INQWKCN [LAMBDA (WORK) (* edited: "23-Apr-85 14:23") (* * RETURNS A LIST OF THE FORM (CONN TYPE ERRN)) (PROG (CONN TYPE ERRN) (SETQ ERRN 0) (if [NOT (MEMB GKS.STATE (QUOTE (WSOP WSAC SGOP] then (SETQ ERRN 7) elseif (NOT (MEMB WORK (GKSFN.GETFIELD OPEN))) then (SETQ ERRN 25) else (SETQ CONN (GKSFN.GETWFIELD WORK CONN)) (SETQ TYPE (GKSFN.GETWFIELD WORK TYPE))) (RETURN (LIST ERRN CONN TYPE]) ) (DECLARE: EVAL@COMPILE [PUTPROPS GKSFN.OPEN? DMACRO ((WORK) (NEQ NIL (MEMB WORK (GKSFN.GETFIELD OPEN] [PUTPROPS GKSFN.ACTV? DMACRO ((WORK) (NEQ NIL (MEMB WORK (GKSFN.GETFIELD ACTV] ) (DECLARE: EVAL@COMPILE (PUTPROPS GKSFN.GETFIELD DMACRO ((FIELD) (FETCH (GKSTYP.SLST FIELD) of GKS.SLST))) (PUTPROPS GKSFN.SETFIELD DMACRO ((FIELD NEWVAL) (REPLACE (GKSTYP.SLST FIELD) of GKS.SLST with NEWVAL))) (PUTPROPS GKSFN.GETDFIELD DMACRO ((FIELD) (FETCH (GKSTYP.DSCR FIELD) of GKS.DSCR))) (PUTPROPS GKSFN.GETIFIELD DMACRO ((WTYP FIELD) (FETCH (GKSTYP.WDSC FIELD) of GKS.WDSC))) (PUTPROPS GKSFN.GETEFIELD DMACRO ((FIELD) (FETCH (GKSTYP.ELST FIELD) of GKS.ELST))) (PUTPROPS GKSFN.SETEFIELD DMACRO ((FIELD NEWVAL) (REPLACE (GKSTYP.ELST FIELD) of GKS.ELST WITH NEWVAL))) [PUTPROPS GKSFN.GETWFIELD DMACRO ((WORK FIELD NEWVAL) (FETCH (GKSTYP.WLST FIELD) of (EVAL WORK] (PUTPROPS GKSFN.SETWFIELD DMACRO ((WORK FIELD NEWVAL) (REPLACE (GKSTYP.WLST FIELD) of (EVAL WORK) WITH NEWVAL))) ) (PUTPROPS GKSINTERN COPYRIGHT ("Xerox Corporation" 1985)) (DECLARE: DONTCOPY (FILEMAP (NIL (3418 4445 (GKSFN.WTOVMAT2 3428 . 4443)) (4654 6472 (GKSFN.DSCRINIT 4664 . 4980) ( GKSFN.SLSTINIT 4982 . 5669) (GKSFN.ELSTINIT 5671 . 5865) (GKSFN.WDSCINIT 5867 . 6470)) (6473 10242 ( GKSFN.NEWPLIN 6483 . 7008) (GKSFN.NEWPMRK 7010 . 7535) (GKSFN.NEWTEXT 7537 . 8264) (GKSFN.NEWFILL 8266 . 8900) (GKSFN.NEWNORM 8902 . 9282) (GKSFN.NEWRECT 9284 . 9654) (GKSFN.NEWWLST 9656 . 10240)) (10243 15102 (GKSFN.GETWTOD 10253 . 11023) (GKSFN.GETWTOV 11025 . 12286) (GKSFN.GETNORM 12288 . 12609) ( GKSFN.WTOVSMAP 12611 . 12842) (GKSFN.WTOVTMAP 12844 . 13023) (GKSFN.RECTSECT 13025 . 13866) ( GKSFN.FIXCLIP 13868 . 15100)) (15103 15791 (GKSFN.GETBRUSH 15113 . 15265) (GKSFN.GETDASHS 15267 . 15513) (GKSFN.GETSHADE 15515 . 15789)) (15792 16057 (GKSFN.ERRN 15802 . 16055)) (16058 16672 ( GKSFN.INQWKCN 16068 . 16670))))) STOP