DWS_MOUSEV1.0 4-NOV-2021 11:21 VSI C V7.4-002  $READONLY$i $CODE$ UPDATEFUNCTION $LITERAL$$LINK$$DATA$$BSS$   CONCURRENTMAX0 CONCURRENTMAX  CONNECTEDCOUNT0CONNECTEDCOUNT  UPDATEMAX0 UPDATEMAX  USAGECOUNT0 USAGECOUNT0 UPDATEFUNCTION0J ADDCLIENT0J` NEXTREQUEST0Jp` REMOVECLIENT0JX@ REMOTEHOSTPORT0J UPDATECLIENT8JUPDATEALLCLIENTS(JMAIN(JH__MAIN @6= = #G8^~ _#0"@^4GHcGG#]("8[@b "G@Zkxb#@xBG4Gb/@ZkcG8]@]HP#/k///# ;"P;"~^G@{"0[^~ GGA8b@Zk" "4GBbh"@Zk`"BCGb4G@ZkpBGxb@Zk6B4Gb"/@ZkB 4Gb@Zk/`BGhb/@Zk//b///B4Gb"@ZkBG4Gb@ZkGb#0@4@ӰBGb/@ZkB4G4Gb@Zk/B "TGBb82"/@ZkB4G4Gb@Zk//#~^^GG{#00 B04G @GbG]] #k/#?&?$x{"@^~TG1"h[H^P~X`GG{#> ~pb>84G?"~@ZkG//kGb#@B#"]"GbG0JF ="G@ZkhBGTGpbX"@ZkBGG4Gb@Zk?øBG4Gb@ZkBGGTG<Nb@ZkxBC"X""tGb/@Zk(BG="G"G0b@Zk(BG""TG0b"G/@Zk8(BG""G0b"G@ZkBG(#"bb_"G 0 @ @ZkG@]H]P}X`p#k/BGH"""tGb@ZkBGb@Zk8B4G@b/@ZkBH"""GtGb/@Zk8B<4G@b@Zk//#4G~^p[^GGxb@ZkBG4Gb/@Zk / !1 @ G]] #k///;#4GG ^~G(^0~Q0[8@GGGG@([Q@;8b@ZkCG4GpBxb@Zk`BGGGtGhb@Zk,/BG4Gb@Zk (( "GPB ]"}"G=0 @FXb C ""@ZkB(" ] ""}Gb@Zk/($?D($ BG=_"G(b0b@ZkG ](]0}8@P#k/B(_""p""tGb@ZkB4Gb/@Zk///#@^~^ ~(08޴@G#GG G 0B4G8b"0`@@ZkPB4GXb/@Zk"H"(@"`GGpBxb7"^GG@Zk@@/?BHB@ GGG R"@Zk.WJ>%/0BY%K%?"4G8b%@ @Zk// BCGGG(b/@Zk0B4G"8b@Zk//G]] }(08ݤ@P#k/#4G^([~^ ~(GGHp X"0b@Zk8BGGTG@b/@Zk(B4G"0b@ZkHBGGPb4G/@ZkxB//"b/@ZkB//G4Gb@Zk "GBTGtGb@Zk8B .TG .@bJQ JFGC@ZkBGTG""b@Zk(B4Gh"0b@ZkBGGTGb/@ZkG]] }(0#/k47HGd DECC$MAIN48Lb#H DECC$MAIN47`@d DECC$MAIN4lG DECC$EXIT4xb#H DECC$EXIT4@ DECC$EXIT41G DECC$FREOPEN42b# DECC$FREOPEN41@ DECC$FREOPEN4 G DECC$GETENV4b# DECC$GETENV4 @ DECC$GETENV<-G4WSLIBSETLIFESECS<.$b#WSLIBSETLIFESECS<-0@4WSLIBSETLIFESECS454GDWSLIBISCGIPLUS46<b#WSLIBISCGIPLUS45@@DWSLIBISCGIPLUS4 LGd DECC$GETENV4Tb# DECC$GETENV4 `@d DECC$GETENV<+dG|WSLIBONNEXTREQUEST<,pb#WSLIBONNEXTREQUEST<+x@|WSLIBONNEXTREQUEST 43G SYS$HIBER44b# SYS$HIBER43@ SYS$HIBER4G WSLIBCGIVAR4b# WSLIBCGIVAR4@ WSLIBCGIVAR4/G SYS$SETAST40b# SYS$SETAST4/@ SYS$SETAST4)GWSLIBCGIPLUSEOF4*b#WSLIBCGIPLUSEOF4)@WSLIBCGIPLUSEOF4/G SYS$SETAST40b# SYS$SETAST4/@ SYS$SETAST4',GDDECC$GXFPRINTF4(0b#DECC$GXFPRINTF4'@@DDECC$GXFPRINTF4DGX DECC$EXIT4Pb# DECC$EXIT4T@X DECC$EXIT4)GWSLIBCGIPLUSEOF4*b#WSLIBCGIPLUSEOF4)WSLIBCGIPLUSEOF4G$ DECC$CALLOC4 b# DECC$CALLOC4 @$ DECC$CALLOC,DGxSYS$FAO,Tb#SYS$FAO,t@xSYS$FAO4|G WSLIBCREATE4b# WSLIBCREATE4@ WSLIBCREATE4!G DECC$FREE4"b# DECC$FREE4!@ DECC$FREE4#G WSLIBOPEN4$b# WSLIBOPEN4#@ WSLIBOPEN<%GWSLIBSETIDLESECS<&b#WSLIBSETIDLESECS<%@WSLIBSETIDLESECS4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4G4 WSLIBWRITE4,b# WSLIBWRITE40@4 WSLIBWRITE48Gd WSLIBWRITE4Hb# WSLIBWRITE4`@d WSLIBWRITE4hG WSLIBWRITE4xb# WSLIBWRITE4@ WSLIBWRITE4G WSLIBREAD4b# WSLIBREAD4@ WSLIBREAD4G DECC$GXPRINTF4b# DECC$GXPRINTF4@ DECC$GXPRINTFDG CMA$TIS_VMSERRNO_GET_ADDRDb#CMA$TIS_VMSERRNO_GET_ADDRD@ CMA$TIS_VMSERRNO_GET_ADDR4 G$ DECC$EXIT4b# DECC$EXIT4 @$ DECC$EXIT4$GD DECC$GXPRINTF48b# DECC$GXPRINTF4@@D DECC$GXPRINTF4DGX DECC$EXIT4Pb# DECC$EXIT4T@X DECC$EXIT<=pGWSLIBGETUSERDATA<>b#pWSLIBGETUSERDATA<=@WSLIBGETUSERDATA4!G DECC$FREE4"b#p DECC$FREE 4!@ DECC$FREE4?G< SYS$SETIMR4@4b# SYS$SETIMR4?8@< SYS$SETIMR4ELGXWSLIBREADSTATUS4FPb#WSLIBREADSTATUS4ET@XWSLIBREADSTATUS4CXGx WSLIBCLOSE4Dpb# WSLIBCLOSE4Ct@x WSLIBCLOSE<=GWSLIBGETUSERDATA<>b#WSLIBGETUSERDATA<=@WSLIBGETUSERDATA4AG DECC$GXSSCANF4Bb# DECC$GXSSCANF4A@ DECC$GXSSCANF4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 G, WSLIBREAD4 b# WSLIBREAD4(@, WSLIBREAD4PGl DECC$GXPRINTF4db# DECC$GXPRINTF4h@l DECC$GXPRINTF4lG DECC$EXIT4xb# DECC$EXIT4@ DECC$EXIT49G WSLIBNEXT4:b# WSLIBNEXT49@ WSLIBNEXT<=GWSLIBGETUSERDATA<>b#WSLIBGETUSERDATA<=@WSLIBGETUSERDATA44GTDECC$GXSPRINTF48b#DECC$GXSPRINTF4P@TDECC$GXSPRINTF4;hGOTS$MOVE4;@OTS$MOVE49G WSLIBNEXT4:b# WSLIBNEXT49@ WSLIBNEXT4G WSLIBWRITE4b# WSLIBWRITE4@ WSLIBWRITE49G WSLIBNEXT4: b# WSLIBNEXT49 @ WSLIBNEXT4L Gx WSLIBCGIVAR4p b#X WSLIBCGIVAR4t @x WSLIBCGIVAR4 x G DECC$STRCPY4  b#X DECC$STRCPY4  @ DECC$STRCPY4 G WSLIBCGIVAR4 b#X WSLIBCGIVAR4 @ WSLIBCGIVAR4  G DECC$STRCMP4  b#X DECC$STRCMP4  @ DECC$STRCMP4  G DECC$GETENV4 b#X DECC$GETENV4  @ DECC$GETENV4 G DECC$INET_ADDR4 b#XDECC$INET_ADDR4 @ DECC$INET_ADDR< G, DECC$GETHOSTBYADDR<$ b#XDECC$GETHOSTBYADDR<( @, DECC$GETHOSTBYADDR4 , G\ DECC$STRCPY4 @ b#X DECC$STRCPY4 X @\ DECC$STRCPY4\ Gt DECC$STRCAT4l b#X DECC$STRCAT4p @t DECC$STRCAT4t G WSLIBCGIVAR4 b#X WSLIBCGIVAR 4 @ WSLIBCGIVAR4 G DECC$STRCAT4 b#X DECC$STRCAT4 @ DECC$STRCAT $=  <= WS_MOUSE_NO_LOOKUP=(WS_MOUSE_ON_NEXT_REQUEST8=PEStatus: 500 WebSocket needs to be CGIplus! WS_MOUSE_UPDATE_MAX= [overflow]||||||=%u|%d|%s|%s|%d|%s x DECC$INET_ADDR DECC$GETHOSTBYADDR=:(= REMOTE_ADDR@ DECC$STRCAT;=0 @ ;=0$  WSLIBCGIVAR DECC$STRCPY DECC$STRCMP= REMOTE_HOST= REMOTE_PORT DECC$GETENV=you=%u WSLIBCREATEDECC$GXSPRINTF WSLIBREAD7 UPDATEMAX0(CMA$TIS_VMSERRNO_GET_ADDR=H7 USAGECOUNTSYS$FAO= WS_MOUSEp DECC$GXPRINTF7CONNECTEDCOUNT=0@ ;= p8  WSLIBWRITE DECC$EXIT= [%s:%d]p; DECC$CALLOC= !20%Dupdate=max=OnNext;0! DECC$FREE# WSLIBOPEN %WSLIBSETIDLESECS'DECC$GXFPRINTF )WSLIBCGIPLUSEOF +WSLIBONNEXTREQUEST= SYS$OUTPUT -WSLIBSETLIFESECS/ SYS$SETAST=0";=04 7DECC$GA_STDOUT1 DECC$FREOPEN= ctx=bin=w 3 SYS$HIBER5WSLIBISCGIPLUS;=08";=P0 7DECC$$SHELL_HANDLER=7 DECC$MAIN=0 ;=P,| ;9 WSLIBNEXT;8OTS$MOVE =WSLIBGETUSERDATA=0 ;= P8 %d,%d;? SYS$SETIMR;@A DECC$GXSSCANFC WSLIBCLOSE EWSLIBREADSTATUS=0 `;=  =0 `;=  (= >=.&%WS_MOUSEVSI C V7.4-002 ?= 4=TRANSFER$BREAK$GO = 44= main4= D D D &D &D (D (D 3D  =D AD /D =  = `44= NextRequest`4=5-, \D UD \D `D `D = ` 2= 44= AddClient4= hD nD hD nD hD nD hD nD {D |D {D ~D DD D D D$ xD< =  = `4p4= RemoveClient`4=.&% D D D$ =  = 44= UpdateClient4= D D D D  D D D D D D$ D@ =  = 44=UpdateAllClients4=|{ D D  D E E E E E E E$ E, =  = @ 4X4=RemoteHostPort@ 4=TLK E  E  E  &E &E 'E (E )E =  s= 4H4= __main4= D =  =  DECC$GA_STDOUTDECC$GXFPRINTF DECC$GXPRINTFDECC$GXSPRINTF DECC$GXSSCANF DECC$FREOPEN DECC$FREE DECC$EXIT DECC$GETENV DECC$CALLOC DECC$STRCAT DECC$STRCPY DECC$STRCMP(CMA$TIS_VMSERRNO_GET_ADDR DECC$GETHOSTBYADDR WSLIBCREATE WSLIBNEXT WSLIBGETUSERDATA WSLIBOPEN WSLIBCLOSE WSLIBREADWSLIBREADSTATUS WSLIBWRITE WSLIBSETIDLESECS WSLIBSETLIFESECS WSLIBCGIVARWSLIBCGIPLUSEOFWSLIBISCGIPLUS WSLIBONNEXTREQUEST SYS$HIBER SYS$SETASTSYS$FAO SYS$SETIMRDECC$INET_ADDR DECC$MAIN DECC$$SHELL_HANDLEROTS$MOVE #HC$GA