?WSBV1.0 4-NOV-2021 11:21 VSI C V7.4-002  $READONLY$iD$CODE$UTILITY CVTTIMEFLOATSECONDS CLISTAGGER  CLIBUFFERSIZE CLICONCURRENCYCLICOUNT  CLIHEARTBEAT  CLISOCKETMRS CLINUMBER CLIRANDOMEFNENF HEARTBEATAT  HTTPPROTOCOL(WEBSOCKETPROTOCOLVERSION $LITERAL$ $LINK$h$BSS$ $DATA$( UTILITY8 CVTTIMEFLOATSECONDS DEBUG(DEBUG  CLIBINARYFRAME0CLIBINARYFRAME CLIBREAK0CLIBREAK CLIBRIEF0CLIBRIEF  CLIDYNAMIC0 CLIDYNAMIC  CLIQBFFRAME0 CLIQBFFRAME   CLITEXTFRAME0 CLITEXTFRAME CLIPING(CLIPING CLIPONG(CLIPONG0  CLISTAGGER   CLITHROUGHPUT0 CLITHROUGHPUT DOECHO(DOECHO DOPING(DOPING DOPONG( DOPONG DOPUSH(!DOPUSH  DOSHOWHELP0" DOSHOWHELP   DOSHOWVERSION0# DOSHOWVERSION  BREAKREQUESTCOUNT8$BREAKREQUESTCOUNT  BREAKRESPONSECOUNT8%BREAKRESPONSECOUNT  BREAKREQUESTLAST8&BREAKREQUESTLAST  BREAKRESPONSELAST8'BREAKRESPONSELAST0  CLIBUFFERSIZE0 CLICONCURRENCY0 CLICOUNT0  CLIHEARTBEAT0 CLISOCKETMRS0 CLINUMBER0 CLIRANDOM  CLIENTPINGCOUNT0(CLIENTPINGCOUNT  CLIENTPONGCOUNT0)CLIENTPONGCOUNT  CONCURRENTCOUNT0*CONCURRENTCOUNT  CONNECTIONCOUNT0+CONNECTIONCOUNT( CONNECTIONERRORCOUNT8,CONNECTIONERRORCOUNT( EFNENF  FAILEDREQUESTCOUNT8-FAILEDREQUESTCOUNT0 HEARTBEATAT0  HTTPPROTOCOL  HTTPREADERRORCOUNT8.HTTPREADERRORCOUNT  PONGOKCOUNT0/ PONGOKCOUNT  READBUFFERSIZE00READBUFFERSIZE   REQUESTCOUNT01 REQUESTCOUNT  RESPONSEERRORCOUNT82RESPONSEERRORCOUNT  SERVERPORT03 SERVERPORT  SERVERPINGCOUNT04SERVERPINGCOUNT  SERVERPONGCOUNT05SERVERPONGCOUNT  SERVERPONGFAILCOUNT86SERVERPONGFAILCOUNT  TOTALBYTESSENT07TOTALBYTESSENT  WEBSOCKETERRORCOUNT88WEBSOCKETERRORCOUNT @ WEBSOCKETPROTOCOLVERSION  READTOTAL09 READTOTAL   READMSGTOTAL0: READMSGTOTAL  WRITETOTAL0; WRITETOTAL   WRITEMSGTOTAL0< WRITEMSGTOTAL  CLIPROXYSERVER0=CLIPROXYSERVER   REQUESTURIPTR0> REQUESTURIPTR CLOSEADIEU0? CLOSEADIEU  COMMANDLINE0@ COMMANDLINE  SERVERHOST0A SERVERHOST  SERVERSOFTWARE0BSERVERSOFTWARE  REQUESTURI0C REQUESTURI0J P" BINARYFILL0J@,BYTESPERSECOND(J`+BYTESOF0J@ CLIENTTOSERVER0J CLOSECONNECTION0J  CONNECTIONAST0JPp CONNECTTOSERVER0J *DURATIONSECONDS0J(`/ GETPARAMETERS0J (MESSAGECALLBACK0JP PARSEURL0Jp ' PONGCALLBACK0J  PUSHSERVER(J %QBFFILL0JH  RANDOMEVENT0Jp  SERVERREADAST0J SERVERTOCLIENT0Jx SERVERWRITEAST0J0CSHOWHELP(J CSTRSAME0J . UPDATETOTALS0J #UTF8FILL(JPMAIN(JH__MAIN @6= =#G8^~ _#0"@^4GHcGG#]("8[@b "G@Zk(=0b#@BG4Gb@ZkcG8]@]HP#k///0#4Gp^[~x^~޴^~ޜGG# ="b@Zk("//4Gb# = @(B"""b4GtG/@Zkb#vj@ӠB"4Gb@Zk`B0C""tGhb@Zk0=GB"BG@G "@Zk .@bGGBGbGVJGs" >@Zk(\tG"0B8bH!H H'HHA!@!@@@"]p""@Zk@"@b"1/NGb#@0GH""BbGBtg/@Zk$,@"$H8  F F F@ F//U'@%@D{1HF'Q/ ZQK1"[GQ?,HCU@@wHtFuF`/XKG?. 1"JCU'@%@u1H:G;G .TJF>d. 1"dJ?.WJ>/ BKZ0 XF$# @d/[yKgKP0CF .@B4G"HbTJJ/@ZkGpB4Gxb/@ZkGh""@b"8 B!Pb"Qbx:"BF "FGF@Zk2/(@"h"#b8" "1PGPb"!B 4FbH9"GF D/@Zk//"G"B8" ¦B1rpB"bFFG F* 6"@Zk(¤Gb# @Ơb#%@"@BG4GHbG@Zk///BxGGbtG0@/@Zk$G/Y @//?@B4G4GHb@Zk`B ¤Ghb@ZkGb#/@f ¤G0B&"8bB@Zkc0BtG&"E8b`/@Zkb@¤G B8"cƠ0B2"`fD8b`G@Zk ¤Ơ/%)// "Gb"0B8bB5""@ZkB4G4Gb/@ZkBG4Gb@ZkB"?"TGb/@ZkBG4Gb@ZkB4G4Gb@ZkB"?'¤(b@9# 0BrcƠ0J3aJ!R%H H(0} #aH&H =!!H2AJ(]0}8}@ݴH=P][8@ݍ[HP[ ¤[]8b[@ XJLY[&"KlY[A,X[Y Y  Z/Y[[/[[@Zk=\`b#XfXJX/[]@b#@XG[@0B ?'G`&"}X]G@9#G8bGc @Zk@fXh}B\`b#[`s@@FXGb#[@0B ?'G(#"`}@9#h]GG8b@ZkX`b#XX@fX/[Z@BFXb#G[B\@0B ?'GGc\G\@9#G8b@ZkB4G4Gb/@ZkB4G4Gb@Zk//(#TG ^~ ;0[(^0~8@GGP!"8b/@Zk bGTGxb# @/p G ](]0}8@GP#/k///G ](]0}8@P#/k///"("Q0@@0B"D@]=@BVF[F[F/`X[ݦVN9@B b0B8;" CtG8b@ZkPB4Gt?"TGXb@ZkGkc""PB4GTGXb`! 1< 1"@ZkTj4GTG<$PBXb,$/@Zk`BG"TGPkhb@Zk0BBGTGpb2 @ZkpBp4Gxbb/@ZkPBpTGXb"@ZkBpGTGb@ZkBpTG`"b@Zk#BTGb/ p@ZkbpGB("Cbb@Zk/kb "0G ]8b(]GtG0}8!"@P#k///BO?"TG"b@Zk@BGHb@ZkB4Gb@ZkBW?"TG"b@Zk@BGHb@ZkB4Gb@ZkB"[?"TGb/@Zk@BGHb@ZkB4Gb@Zk//x;# [TG^~^ ~1p{(GGG[ b3"/@ZkBG4Gb@Zk("` B(b!HC @FGGtG@ZkGG] }@b#](0#l0B?"TG "8b@Zk(c@B4GHb#v`HG@Zk0B?" "TG8b@Zk@B4GHb/@Zk/ =//;#p[TG~^{[1^~ (GGG b3"@ZkBG4Gb@Zk$0BGG8bTG///@ZkGb#h@@BG4GHb@ZkT B4G(b@ZkP B4G(b////@Zk BbG4G(b@Zk$1@G]} b#](0#T#4G~^[^~ (GGGb@Zk8"0BGtG@BHb!2" @//@ZkBG4Gb@ZkPBG+4GXb/@Zk0B" @BGHbG 2"B@Zk0BG4G8b/@Zk $G@BXb?"tG PG]]} (0#k//G]]} (0#/k///b#("bPB81RsFJSF/@@E"4GBb!1 /G@Zk8$Tb#@BG4Gb /@ZkT8$b##@//BG4Gb/@ZkT8$xb#@B8DGGT$b@b@Zk^//8GXb#W$$//S @Q/<? "@ /L"b#bs`$/@//L"b#$@L"xb#$Y@P"GL$"`BhbtG!DD/@Zk"(L$"GBbtG!D/D//@ZkP"!0D0 B0 Br0`BrpBP$G,DGxbb/@Zk0G]G8b]4G} (0#k///#4G^[~ ^(~08GG#Gb/@Zk"BGtG@Bb!X2"/ @//@ZkBG4Gb@Zk $B?"BbtG01 @ G @Zk/BG4Gb@ZkPB//G4GXb@Zk 8"4G(0B8b1JG/ @Zk60"@BGHb4G! @Zk/,p"@BGHb4G!/ @Zk// x"0BG8b4G!/ ///@Zk8$PBGXb4G=@Zk=`BtGhb D8DPT$@Zk/B@"c"BGb02" B/@Zkk//8"G4G0B8b!o @Zk/&0"@BGHb4G!/ @Zk//p"@BGHb4G!/ ///@Zk x"0BG8b4G! @Zk8(F @"BB2" Bq"TGb@Zk)P$T$2@tG`Bhb"1"@ZkpB//+P""]"Gxb}"/@Zk =~"G@Bb0 @ D4"PDT^ B/@Zk BG?"BbtG0@/@Zk //BG4Gb@ZkG`b#_G] ](}08@#/k///;#[tG^~[1^ ~(GGG Gbp "@Zk8Bp4G@b@ZkHBxG$cGtGDT@Zk B ""Tb0B C@ZkT#G b# @@.sJR@JSF@> 8âT"1B@(Bp4G0b@ZkxPb#/ T#8#"1#B&@XBp4G`b@Zk T8#b#"1#@@ӈBp4Gb@ZkB8CGGT#pb@ZkB4Gb``"//@Zk_&xB"GGR"b`a@a @a!@A @a @` @`@0@D`GqBQ1BQ0BQ1BP0B="0J0PBhB G@ZkG/ G]] }(0#/k///B?"TG"b@ZkBG4Gb@Zk/;#[TG~^^~1{ GGG[ bp3"/@Zk0BG4G8b@Zk" ""BGbtG! @Zk GG(b]]?"G} tG0#k/PBG4GXb@ZkGGpb#]]} 0#//;[TG{{1 X3"k/k///0#;TG ^~8[(^0~8GG ;"@b@ZkB4GbXXp X"@Zka@a @a!@A @Bp"a @` @`@0@=@[[DFFtF``X[}N6@G ](]0}8B@#k/(#G`;"^~^ ~(08GG{# @=//b.a CJ7`F`F`F@`F/ =UBB`D`JF'r/c [rKR"`Gr?#,#HCU'@%@x2HFF2/Y2K8G2?.c R"JCU@@vHFF .UJF>.c R"J/XK?#/ #KD0" XFEc @c/1[`KgK@@D.@B4G"HbUJJ/@Zk///pBG4Gxb@Zk".J0/!///D"/ @c.StJgJSuBs`F/ `//.@B4G"HbVJJ/@Zk#,c #H?("qd.PB(G?"TGXbbdJ@/@Zk GtG0B8bh "//@ZkGe`EG]] }(08@#k/`[#TG^~h[R^ ~(GG >@ ;"pb/@ZkH"8B4G@bPPa P"@Zk =H"BBR1"6`Q"//GuBuBuBUBuBtBtB0BP/{JZPK"B[GP? c.0`JvpJTJF>G"B 8/0,8Ks0KA0H3D"#0<B `..JzJWJ"BF>G]] }(0#k//[#8TG^~[R^ GG > ;"@{//@Zk =BBPD[ /@///XDGDp"B `B׀JPD9#`.FwJVJ"a0KF>p/[pK"BaGp?/= _P.sPHRPJ"B SFP>//"BBF'///0,0#p#P"F""A0H"0

p.BSrJp>P,BTHP<.VJ>/XK?/_B /P.RPJ"BP>G]] 0#/k///[#hTG^~[R^ GG > ;"@b@Zk= ="!B/ B///T@///p.pJ("uF.J//// B0/.F F0KTJ"s1K1"F>.J B/Q/{JZQK"1"[GQ?0,0H? B.r1H"WJ1"F>.J Bq/sJ[qK"1"sGq?.J? B_1/v1H"Y1K1"6G1?/K B_G]] 0#k/;#[TG^~[1^ GG 0;"b@ZkPB4GXb@Zk"tGB (b0!R0 B2D0B?" `41`B=`B /`G]] 0#k/G]] 0#k//X;#[TG^~P{`[1 ^(~08@GGGp  3"hb@ZkBG4Gb/@Zk BG4G(b@Zk. .GG0B8btGJQ JFG"ۧ!  @ZkG"4G\ބ @BHbGPb@Zk`BG#"GGGhbB}@ZkG] ](}08@P#/k///@;#4G ^~(^0~8GGG@1"F0[8bG#/ @Zk_%0B4G8b"@Zk@BG"]"tGHb/@Zk`B//="]"tGhbp@ZkPB"]"GGGGXb@ZkG ](]0}8@#/k/// BG4G(b@Zk BG4G(b@Zk//#p;?'~^^@9#[^~ (^GG^0;"b@Zk|"b?' ""B@9#b c AXGrAX@Zk)ø"B?'Gb@9#@""/AXrAX/@Zk//x"B?'Gb@9#`""/AXrAX/@Zk //B?'GP""B\b@9#/@ZkG]G]}(] 0#k//8#;?'~^^@9#@[^~ (^GG^0;Hb@Zk" b?'""B@9#bGAX/rAX@Zk)("B?'Gb@9#""/AXrAX/@Zk//"B?'Gb@9#P""/AXrAX/@Zk //B?'G`""B\b@9#/@ZkG]G]}(] 0#k//;#[TG~^[1^~ GGG/ @;"b/@Zk0BG4G8b@Zk BG4G(b@Zk"4GBb HBG@Zk"4GpBxb HBG@Zk"4G`Bhb HBGb@Zk# H @G]]} 0#k///`#?$CtG ^~! (^0~8@H޴PX`> /=h^p~x޵GP{G8{>"H"XBH{# ~`b!"@ZkP]@ b"""GGBbd=@Bhb@"G]"s"/@Zk8p""btGXB`b vHH5 H  @@.R@J@>HU"@Zk8Gb¥(0H&HH//BH"X/G.GJRGJ%D G>XBO.uHTJGtG`bp""F>â ///@Zk,H/(/// /"/ %,A0H'HA1@!!D/ //E.B4Ge"bRSJGJ/@Zk///,FH <%,%H/?%.%J%BG@e.eJN`///"/ .VJJVB֢F/> //%/bE#Y:KB'K4G/@Zk1,H%DX$D,/  %/E.%"QJ/@///XDF"@.JXF1".%/J1"zJY%K :G%?q/qK/_.PJ>1,1HC!B.Je/eK"WvKJ[eKe?XB ""GtG`b/@Zk,H/OG""b#G@//4G.=/GG""b#@FG.GGJGJ* /GF F/$@.1"JCBF//1"KCCXG/q/1"qKC@F/ 1,1"1HC'@F/ Q.1"QJ_.B4GbJC5B@Zk "GA4GᢷBGG_"""b#@H"//4GGG""b#@:G.GGJGJ* /GF F/$@.1"JCBF//1"KCCXG/q/1"qKC@F/ 1,1"1HC'@F/ Q.1"QJ_.B4GbJC5B@Zk"GG""b#O@///G""b#GF@ӵG_" ""b#@@4G#GG""b#7@"//4GGG(""b#+@"//4GtGG@""b#@@"//4GhGG""b#@P"//4G\GGP""b#@`"//4GPGG""b#@>G.GGJGJ* /GF F/$@.1"JCBF//1"KCCXG/q/1"qKC@F/ 1,1"1HC'@F/ Q.1"QJ_.B4GbJC5B@Zk"/TGA GG8""b#@Ӹ"//4GGG""b#@:G.GGJGJ* /GF F/$@.1"JCBF//1"KCCXG/q/1"qKC@F/ 1,1"1HC'@F/ Q.1"QJ_.B4GbJC5B@ZkX"GG""b#k@h"//4GGG`""b#_@"//4GGG""b#S@6G.GGJGJ* /GF F/$@.1"JCBF//1"KCCXG/q/1"qKC@F/ 1,1"1HC'@F/ Q.1"QJ_.XBJC5B:lG_"x""b#@4G(`GG""b# @FG.GGJGJ* /GF F/$@.1"JCBF//1"KCCXG/q/1"qKC@F/ 1,1"1HC'@F/ Q.1"QJ_.B4GbJC5B@Zk"GA4GᢷBGGGh""b#@:G.GGJGJ* /GF F/$@.1"JCBF//1"KCCXG/q/1"qKC@F/ 1,1"1HC'@F/ Q.1"QJ_.B4GbJC5B@Zk"GGX""b#@ӦG.GGJGJ* /GF F/$@.1"JCBF//1"KCCXG/q/1"qKC@F/ 1,1"1HC'@F/ Q.1"QJ_.B4GbJC 5B5B@Zk . J"/I"/ @m.StJgJSuBs`F/`//.hB4G"pbVJJ/@Zk///-,!-H?-.BM"Q2J4G b'J@Zk$D/I)AI)AI)AI)AI)AI)AI)AI)AI)A)7!I$W t?=\T///-,B4G " bA0H'H/@Zk$ D/ o)AOAOAOAIA) I$?/// .8B4G!@bP JJ/@Zkx D///OAOAOAOA(GG""b#@8" 4G//GG(""b#@///8GG""b#@4GGGH""b#@"4G//GG""b#@ 4GP.TJF[r.rJj@//GKK,///GF/$w/"wKC@D/-"IC'A E/ 7,"7HC'@F/ w."wJCGBF/@."J7/Bb7KCB4G@ZkG ](]0}8@HݤPX`=h]p}xݥ#k/BG4G b@Zk HB GXBG`bBJ!G/@ZkB&4G b"@ZkHXBGG `bB!G@ZkB&4G b"@Zk/#P {"~^G[0[^GG "b@ZkpBxb4G4G@Zk//#C~^^~ (0޴8@GGGGGG///,4G(b#"Hc %D/DK @. BPJJ/@Zk$, BG4G(bA$H'H@ZkD//%1@C4G /G //G//.J@G]]} (0ݤ8@P#k4GHGd DECC$MAIN4HLb#H DECC$MAIN4G`@d DECC$MAIN4tG DECC$EXIT4b#H DECC$EXIT4@ DECC$EXIT4AG DECC$GETENV4B b#P DECC$GETENV4A@ DECC$GETENV47@Gh DECC$SETENV48Lb#P DECC$SETENV47d@h DECC$SETENV4CG DECC$STRLEN4Db#P DECC$STRLEN4C@ DECC$STRLEN4=G DECC$MEMCPY4>b#P DECC$MEMCPY4=@ DECC$MEMCPY4?GOTS$MOVE4?@OTS$MOVE49G SYS$GETSYI4:b#P SYS$GETSYI49@ SYS$GETSYI40GtDECC$TXFPRINTF44b#PDECC$TXFPRINTF4p@tDECC$TXFPRINTF4GDECC$TXSPRINTF4b#PDECC$TXSPRINTF4@DECC$TXSPRINTF4)DGd DECC$ISDIGIT4*Pb#P DECC$ISDIGIT4)`@d DECC$ISDIGIT4-lG DECC$ATOI4.xb#P DECC$ATOI4-@ DECC$ATOI4b#PDECC$TXSPRINTF4GDECC$TXSPRINTF4@DECC$TXSPRINTF4,GTDECC$TXSPRINTF48b#PDECC$TXSPRINTF4P@TDECC$TXSPRINTF4|GDECC$TXSPRINTF4b#PDECC$TXSPRINTF4@DECC$TXSPRINTF4;G SYS$SETAST4<b#P SYS$SETAST4;@ SYS$SETAST4EG4 SYS$DCLAST4F b#P SYS$DCLAST4E0@4 SYS$DCLAST4;TGh SYS$SETAST 4<`b#P SYS$SETAST4;d@h SYS$SETAST45hG SYS$HIBER46tb#P SYS$HIBER45@ SYS$HIBER4GDECC$TXFPRINTF4b#PDECC$TXFPRINTF4@DECC$TXFPRINTF4GDECC$TXFPRINTF4b#PDECC$TXFPRINTF4@DECC$TXFPRINTF4 G4DECC$TXFPRINTF4$b#PDECC$TXFPRINTF40@4DECC$TXFPRINTF4`G|DECC$TXFPRINTF4db#PDECC$TXFPRINTF4x@|DECC$TXFPRINTF4|G DECC$EXIT4b#P DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b#P DECC$EXIT4@ DECC$EXIT4G DECC$TXPRINTF4b#P DECC$TXPRINTF4@ DECC$TXPRINTF4G DECC$EXIT4b#P DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b#P DECC$EXIT4@ DECC$EXIT4GDECC$TXFPRINTF4b#PDECC$TXFPRINTF4@DECC$TXFPRINTF4@ Gt DECC$TXFPRINTF4d b#PDECC$TXFPRINTF4p @t DECC$TXFPRINTF4 G DECC$TXFPRINTF4 b#PDECC$TXFPRINTF4 @ DECC$TXFPRINTF4 G< DECC$TXFPRINTF44 b#PDECC$TXFPRINTF48 @< DECC$TXFPRINTF4< GT DECC$EXIT4H b#P DECC$EXIT4P @T DECC$EXIT4T Gh DECC$EXIT4` b#P DECC$EXIT4d @h DECC$EXIT4 G DECC$TXFPRINTF4 b#PDECC$TXFPRINTF4 @ DECC$TXFPRINTF4  b#PSYS$WAKE4 G$ SYS$WAKE4 $ SYS$WAKE4 G DECC$TXFPRINTF4 b#PDECC$TXFPRINTF4 @ DECC$TXFPRINTF4 G DECC$CALLOC4 b#P DECC$CALLOC4 @ DECC$CALLOC40 G\ DECC$CALLOC4< b#P DECC$CALLOC4X @\ DECC$CALLOC4p G DECC$CALLOC4t b#P DECC$CALLOC4 @ DECC$CALLOC4 G WSLIBCREATE4 b#P WSLIBCREATE4 @ WSLIBCREATE<# G WSLIBCLSETSOCKETMRS<$ b#PWSLIBCLSETSOCKETMRS<# @ WSLIBCLSETSOCKETMRS< G WSLIBSETROLECLIENT< b#PWSLIBSETROLECLIENT< @ WSLIBSETROLECLIENT < G WSLIBSETMSGCALLBACK< b#PWSLIBSETMSGCALLBACK< @ WSLIBSETMSGCALLBACK<% G WSLIBSETREADSECS<& b#PWSLIBSETREADSECS<% @ WSLIBSETREADSECS< G, WSLIBSETPONGCALLBACK<$ b#PWSLIBSETPONGCALLBACK<( @, WSLIBSETPONGCALLBACK<0 GL WSLIBSETPINGSECS<8 b#PWSLIBSETPINGSECS<H @L WSLIBSETPINGSECS4!X Gx WSLIBCLCONNECT4"l b#PWSLIBCLCONNECT4!t @x WSLIBCLCONNECT4 G DECC$TXFPRINTF4 b#PDECC$TXFPRINTF4  DECC$TXFPRINTF4 G DECC$TXPRINTF4 b#P DECC$TXPRINTF4 @ DECC$TXPRINTFD G CMA$TIS_VMSERRNO_GET_ADDRD b#PCMA$TIS_VMSERRNO_GET_ADDRD @ CMA$TIS_VMSERRNO_GET_ADDR4 G  DECC$EXIT4b#P DECC$EXIT4@  DECC$EXIT4 G$ DECC$TXPRINTF4b#P DECC$TXPRINTF4 @$ DECC$TXPRINTFD$G4CMA$TIS_VMSERRNO_GET_ADDRD,b#PCMA$TIS_VMSERRNO_GET_ADDRD0@4CMA$TIS_VMSERRNO_GET_ADDR44GH DECC$EXIT4@b#P DECC$EXIT4D@H DECC$EXIT4HGd DECC$TXPRINTF4Xb#P DECC$TXPRINTF4`@d DECC$TXPRINTFDdGtCMA$TIS_VMSERRNO_GET_ADDRDlb#PCMA$TIS_VMSERRNO_GET_ADDRDp@tCMA$TIS_VMSERRNO_GET_ADDR4tG DECC$EXIT4b#P DECC$EXIT4@ DECC$EXIT4GDECC$TXFPRINTF4b# DECC$TXFPRINTF4@DECC$TXFPRINTF<KGWSLIBGETUSERDATA<Lb# WSLIBGETUSERDATA<K@WSLIBGETUSERDATA4EGD SYS$DCLAST4Fb# SYS$DCLAST4E@@D SYS$DCLAST4pG DECC$TXPRINTF4b# DECC$TXPRINTF4@ DECC$TXPRINTF4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$TXPRINTF4b# DECC$TXPRINTF4@ DECC$TXPRINTF4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G4DECC$TXFPRINTF4(b# DECC$TXFPRINTF40@4DECC$TXFPRINTF<K4GHWSLIBGETUSERDATA<L@b# WSLIBGETUSERDATA<KD@HWSLIBGETUSERDATA4LGt SYS$CANTIM 4Xb# SYS$CANTIM4p@t SYS$CANTIM4G WSLIBDESTROY4b# WSLIBDESTROY4@ WSLIBDESTROY4G DECC$FREE4b# DECC$FREE4@ DECC$FREE4G DECC$FREE4b# DECC$FREE4@ DECC$FREE4G DECC$FREE4b# DECC$FREE4@ DECC$FREE<K0GXWSLIBGETUSERDATA<LPb#@ WSLIBGETUSERDATA<KT@XWSLIBGETUSERDATA4lGDECC$TXFPRINTF4pb#@ DECC$TXFPRINTF4@DECC$TXFPRINTF4]G WSLIBISCLOSED4^b#@ WSLIBISCLOSED4]@ WSLIBISCLOSED<kGWSLIBCLSOCKETSTATUS<lb#@ WSLIBCLSOCKETSTATUS<k@WSLIBCLSOCKETSTATUS4GDECC$TXFPRINTF4b#@ DECC$TXFPRINTF4@DECC$TXFPRINTF4iGWSLIBCLBREAKNOW4jb#@ WSLIBCLBREAKNOW4i@WSLIBCLBREAKNOW4Z$b#@ WSLIBCLOSE4Y4GX WSLIBCLOSE4YTX WSLIBCLOSE4eG WSLIBSETBINARY4fb#@ WSLIBSETBINARY4e@ WSLIBSETBINARY4a$GD WSLIBSETUTF84b0b#@ WSLIBSETUTF84a@@D WSLIBSETUTF84adG WSLIBSETUTF84bpb#@ WSLIBSETUTF84a@ WSLIBSETUTF84gG WSLIBWRITE4hb#@ WSLIBWRITE4g@ WSLIBWRITE4mG WSLIBPING4nb#@ WSLIBPING4m@ WSLIBPING4qG WSLIBPONG4rb#@ WSLIBPONG4q@ WSLIBPONG4o0GT WSLIBREAD4pDb#@ WSLIBREAD4oP@T WSLIBREAD4iTGWSLIBCLBREAKNOW4jdb#@ WSLIBCLBREAKNOW4iWSLIBCLBREAKNOW<KGWSLIBGETUSERDATA<Lb# WSLIBGETUSERDATA<K@WSLIBGETUSERDATA4GDECC$TXFPRINTF4b# DECC$TXFPRINTF4@DECC$TXFPRINTF4]G( WSLIBISCLOSED4^ b# WSLIBISCLOSED4]$@( WSLIBISCLOSED4Y0GX WSLIBCLOSE4Z<b# WSLIBCLOSE4YT@X WSLIBCLOSE4i`GtWSLIBCLBREAKNOW4jlb# WSLIBCLBREAKNOW4ip@tWSLIBCLBREAKNOW4wtGWSLIBREADCOUNT4xb# WSLIBREADCOUNT4w@WSLIBREADCOUNT <sGWSLIBREADISBINARY<tb# WSLIBREADISBINARY<s@WSLIBREADISBINARY4uGWSLIBREADISTEXT4vb# WSLIBREADISTEXT4u@WSLIBREADISTEXT4uGWSLIBREADISTEXT4vb# WSLIBREADISTEXT4u@WSLIBREADISTEXT<s(GTWSLIBREADISBINARY<t0b# WSLIBREADISBINARY<sP@TWSLIBREADISBINARY4w\GtWSLIBREADCOUNT4xdb# WSLIBREADCOUNT4wp@tWSLIBREADCOUNT4yxG DECC$MEMCMP4zb# DECC$MEMCMP4y@ DECC$MEMCMP4GDECC$TXFPRINTF4b# DECC$TXFPRINTF4@DECC$TXFPRINTF<sG WSLIBREADISBINARY<tb# WSLIBREADISBINARY<s@ WSLIBREADISBINARY4uG8WSLIBREADISTEXT4v b# WSLIBREADISTEXT4u4@8WSLIBREADISTEXT4uHGtWSLIBREADISTEXT4vPb# WSLIBREADISTEXT4up@tWSLIBREADISTEXT<s|GWSLIBREADISBINARY<tb# WSLIBREADISBINARY<s@WSLIBREADISBINARY4GDECC$TXFPRINTF4b# DECC$TXFPRINTF4@DECC$TXFPRINTF4yG DECC$MEMCMP4zb# DECC$MEMCMP4y@ DECC$MEMCMP4{G4 DECC$TXSSCANF4|$b# DECC$TXSSCANF4{0@4 DECC$TXSSCANF4LGDECC$TXFPRINTF4Pb# DECC$TXFPRINTF4@DECC$TXFPRINTF4YG WSLIBCLOSE4Zb# WSLIBCLOSE4Y@ WSLIBCLOSE4iGWSLIBCLBREAKNOW4jb# WSLIBCLBREAKNOW4i@WSLIBCLBREAKNOW4,GdDECC$TXFPRINTF4Xb# DECC$TXFPRINTF4`@dDECC$TXFPRINTF4]dGx WSLIBISCLOSED4^pb# WSLIBISCLOSED4]t@x WSLIBISCLOSED4_|GOTS$FILL4_@OTS$FILL4GDECC$TXSPRINTF4b# DECC$TXSPRINTF4@DECC$TXSPRINTF4[G WSLIBSETASCII4\b# WSLIBSETASCII4[@ WSLIBSETASCII4aHG\ WSLIBSETUTF84bTb# WSLIBSETUTF84aX@\ WSLIBSETUTF84exGWSLIBSETBINARY4fb# WSLIBSETBINARY4e@WSLIBSETBINARY4gG WSLIBWRITE4hb# WSLIBWRITE4g@ WSLIBWRITE4G SYS$GETTIM4b# SYS$GETTIM 4@ SYS$GETTIM4cGX SYS$SETIMR4db# SYS$SETIMR4cT@X SYS$SETIMR4G DECC$TXPRINTF4b# DECC$TXPRINTF4@ DECC$TXPRINTF4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4GDECC$TXFPRINTF4b#p DECC$TXFPRINTF4@DECC$TXFPRINTF4}G(WSLIBREADSTATUS4~ b#p WSLIBREADSTATUS4}$@(WSLIBREADSTATUS48GXDECC$TXFPRINTF4@b#p DECC$TXFPRINTF4T@XDECC$TXFPRINTF4YXG WSLIBCLOSE4Zdb#p WSLIBCLOSE4Y WSLIBCLOSE<KGWSLIBGETUSERDATA<Lb#p WSLIBGETUSERDATA<K@WSLIBGETUSERDATA4GDECC$TXFPRINTF4{#x DECC$TXFPRINTF4DECC$TXFPRINTF4(GXDECC$TXFPRINTF4Pb#H DECC$TXFPRINTF4T@XDECC$TXFPRINTF4\G| SYS$GETTIM4db#H SYS$GETTIM4x@| SYS$GETTIM4) G DECC$ISDIGIT4* b#P DECC$ISDIGIT4) @ DECC$ISDIGIT4- G! DECC$ATOI4.!b#P DECC$ATOI4-!@! DECC$ATOI4)t!G! DECC$ISDIGIT4*!b#P DECC$ISDIGIT4)!@! DECC$ISDIGIT<+!G!DECC$GETHOSTNAME<,!b#PDECC$GETHOSTNAME<+!@!DECC$GETHOSTNAME4!G"DECC$TXFPRINTF4!b#PDECC$TXFPRINTF4"@"DECC$TXFPRINTF4h"G"DECC$TXFPRINTF4"b# DECC$TXFPRINTF4"@"DECC$TXFPRINTF4"G" SYS$GETTIM4"b# SYS$GETTIM4"@" SYS$GETTIM4#G4$DECC$TXFPRINTF4$${# DECC$TXFPRINTF40$@4$DECC$TXFPRINTF4%G,&DECC$TXFPRINTF4$&b# DECC$TXFPRINTF4(&@,&DECC$TXFPRINTF4'G(DECC$TXFPRINTF4(b#p DECC$TXFPRINTF4(@(DECC$TXFPRINTF<K(G(WSLIBGETUSERDATA<L(b#p WSLIBGETUSERDATA<K(@(WSLIBGETUSERDATA4Y,(G( WSLIBCLOSE4Z0(b#p WSLIBCLOSE4Y(( WSLIBCLOSE4(G )DECC$TXFPRINTF4)b# DECC$TXFPRINTF4)@ )DECC$TXFPRINTF<K )G$)WSLIBGETUSERDATA<L)b# WSLIBGETUSERDATA<K )@$)WSLIBGETUSERDATA 4S$)G<)WSLIBMSGSTRING4T0)b# WSLIBMSGSTRING4S8)@<)WSLIBMSGSTRING4UL)Gx) DECC$STRTOL4VP)b# DECC$STRTOL4Ut)@x) DECC$STRTOL<W)G)WSLIBMSGLINENUMBER<X)b# WSLIBMSGLINENUMBER<W)@)WSLIBMSGLINENUMBER4)G)DECC$TXFPRINTF4)b# DECC$TXFPRINTF4)@)DECC$TXFPRINTF4D*Gh* SYS$GETTIM4H*b#  SYS$GETTIM4d*@h* SYS$GETTIM4p*G* SYS$GETTIM4x*b#  SYS$GETTIM4*@* SYS$GETTIM4 *G* LIB$SUB_TIMES4 *b#  LIB$SUB_TIMES4 *@* LIB$SUB_TIMESD *G*LIB$CVTF_FROM_INTERNAL_TIMED*b# LIB$CVTF_FROM_INTERNAL_TIMED *@*LIB$CVTF_FROM_INTERNAL_TIME< *G*CVT$CONVERT_FLOAT< *b# CVT$CONVERT_FLOAT< *@*CVT$CONVERT_FLOAT40+GD+ DECC$EXIT4<+b#  DECC$EXIT4@+@D+ DECC$EXIT4D+GX+ DECC$EXIT4P+b#  DECC$EXIT4T+@X+ DECC$EXIT4+G+DECC$TXFPRINTF4+b#DECC$TXFPRINTF4+@+DECC$TXFPRINTF4+G+DECC$TXSPRINTF4+b#DECC$TXSPRINTF4+@+DECC$TXSPRINTF4+G$,DECC$TXSPRINTF4,b#DECC$TXSPRINTF4 ,@$,DECC$TXSPRINTF44,Gd,DECC$TXSPRINTF4@,b#DECC$TXSPRINTF4`,@d,DECC$TXSPRINTF4p,G,DECC$TXSPRINTF4,b#DECC$TXSPRINTF4,@,DECC$TXSPRINTF4,G-DECC$TXFPRINTF4-b#@DECC$TXFPRINTF4-@-DECC$TXFPRINTF4(-GL-DECC$TXSPRINTF40-b#@DECC$TXSPRINTF4H-@L-DECC$TXSPRINTF4T-G-DECC$TXSPRINTF4`-b#@DECC$TXSPRINTF4-@-DECC$TXSPRINTF4-G-DECC$TXSPRINTF4-b#@DECC$TXSPRINTF4-@-DECC$TXSPRINTF4-G-DECC$TXSPRINTF4-b#@DECC$TXSPRINTF4-@-DECC$TXSPRINTF48.Gt.DECC$TXFPRINTF4h.b#DECC$TXFPRINTF4p.@t.DECC$TXFPRINTF<Kt.G.WSLIBGETUSERDATA<L.b#WSLIBGETUSERDATA<K.@.WSLIBGETUSERDATA4I.G.WSLIBREADTOTAL4J.b#WSLIBREADTOTAL4I.@.WSLIBREADTOTAL<Q.G.WSLIBREADMSGTOTAL<R.b#WSLIBREADMSGTOTAL<Q.@.WSLIBREADMSGTOTAL 4O.G.WSLIBWRITETOTAL4P.b#WSLIBWRITETOTAL4O.@.WSLIBWRITETOTAL<M/G$/WSLIBWRITEMSGTOTAL<N/b#WSLIBWRITEMSGTOTAL<M /@$/WSLIBWRITEMSGTOTAL4/G/DECC$TXFPRINTF4/b#(DECC$TXFPRINTF4/@/DECC$TXFPRINTF410GT0LIB$GET_FOREIGN42 0b#(LIB$GET_FOREIGN41P0@T0LIB$GET_FOREIGN4p0G0DECC$TXFPRINTF4t0b#(DECC$TXFPRINTF40@0DECC$TXFPRINTF40GD1DECC$TXFPRINTF41b#(DECC$TXFPRINTF4@1@D1DECC$TXFPRINTF431G1 DECC$ISSPACE441b#( DECC$ISSPACE431@1 DECC$ISSPACE44d2b#( DECC$ISSPACE43p2G2 DECC$ISSPACE432@2 DECC$ISSPACE4p3G3DECC$TXFPRINTF43b#(DECC$TXFPRINTF43@3DECC$TXFPRINTF4-4G4 DECC$ATOI4.4b#( DECC$ATOI4-4@4 DECC$ATOI4-6G46 DECC$ATOI4. 6b#( DECC$ATOI4-06@46 DECC$ATOI4-h8G8 DECC$ATOI4.p8b#( DECC$ATOI4-8@8 DECC$ATOI4-9G9 DECC$ATOI4.9b#( DECC$ATOI4-9@9 DECC$ATOI4-(<GD< DECC$ATOI4.0<b#( DECC$ATOI4-@<@D< DECC$ATOI4-X=Gt= DECC$ATOI4.`=b#( DECC$ATOI4-p=@t= DECC$ATOI4-X>G|> DECC$ATOI4.d>b#( DECC$ATOI4-x>@|> DECC$ATOI4)>G> DECC$ISDIGIT4*>b#( DECC$ISDIGIT4)>@> DECC$ISDIGIT4'?G4? DECC$TOUPPER4((?b#( DECC$TOUPPER4'0?@4? DECC$TOUPPER4'?G? DECC$TOUPPER4(?b#( DECC$TOUPPER4'?@? DECC$TOUPPER4/?G@ DECC$TOLOWER40?b#( DECC$TOLOWER4/@@@ DECC$TOLOWER4-BG8B DECC$ATOI4. Bb#( DECC$ATOI4-4B@8B DECC$ATOI4BGB DECC$EXIT4Bb#( DECC$EXIT4B@B DECC$EXIT4BGBDECC$TXFPRINTF4Bb#(DECC$TXFPRINTF4B@BDECC$TXFPRINTF4BGB DECC$EXIT4Bb#( DECC$EXIT4B@B DECC$EXIT4BGCDECC$TXFPRINTF4Cb#(DECC$TXFPRINTF4C@CDECC$TXFPRINTF4CG,C DECC$EXIT4 Cb#( DECC$EXIT4(C@,C DECC$EXIT t4LCGtCDECC$TXFPRINTF4hCb#DECC$TXFPRINTF4pC@tCDECC$TXFPRINTF4tCGC DECC$EXIT4xCb# DECC$EXIT4C@C DECC$EXIT4(Cb#  DECC$TOUPPER4'DG$D DECC$TOUPPER4' D@$D DECC$TOUPPER4'(DGDD DECC$TOUPPER4(4Db#  DECC$TOUPPER4'@D@DD DECC$TOUPPER $= WSB $=  $=  $= P $=  $=  $=  $ =  $ =  $ =  $ =  $ = d $=  $=  6 = BytesPerSecond() %f =(WsLibClConnect() %%X%08.08X 8=8,Completed %d requests ConnectToServer() h= ServerHost |%s| = %%%s-I-HELP, usage for the WASD WebSocket test-bench :^) utility (%s) WSB - CLI test and exercise the WASD WebSocket implementation. WS_BENCH - the complementary WebSocket server script/application. $ WB [qualifiers ...] /BINARY /BREAK[=] /COUNT= /CONCURRENT= /DO=[ECHO|PING|PONG|PUSH] /NUMBER= /PING /PONG /PROXY= /QBF /RANDOM= /REPEAT= /SIZE= /[NO]STAGGER /TEXT Usage examples: $ WSB /NUM=1000 /DO=PUSH $ WSB /CONC=50 /NUM=1000 /DO=ECHO /PING /BREAK =8,%%%s-E-MAXPARM, too many parameters \%s\ =8.%%%s-E-IVQUAL, unrecognized qualifier \%s\ = GetParameters() %d =0'Total: %.0f msgs at %.0f/S, %s at %s 8=0$Rx: %.0f msgs at %.0f/S, %s at %s `=0$Tx: %.0f msgs at %.0f/S, %s at %s =(Duration: %.3f seconds =@4%d client pings, %d server pongs, %d server pings =H=%d broken connections %%%s-I-STATS, %d total connections  =0%/cgiplus-bin/ws_bench?do=%s&size=%dH=8+/cgiplus-bin/ws_bench?do=push&size=%d%s%sx=8+/cgiplus-bin/ws_bench?do=echo&size=%d%s%s=0'Copyright (C) 2011,2012 Mark G.Daniel This program, comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under the conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or later version. http://www.gnu.org/licenses/gpl.txt %%%s-I-VERSION, %s %s=H9%%%s-W-WSLIB, [#%d] msg callback (WSLIB line %d) \%s\ = MessageCallback() (=8/The quick brown fox jumps over the lazy dog. X= ServerWriteAst() p= PushServer() %d =8/%%%s-W-CONNECT, [%d] #%d failed (%%X%08.08X) = ClientToServer() %d =8.%%%s-W-PUSH, [%d] #%d data mismatch |%s|%s| =8+%%%s-W-PUSH, [%d] #%d data mismatch (%s) 0=0&%%%s-W-ECHO, [%d] #%d data mismatch X= ServerToClient() %d p= ServerReadAst() = CloseConnection() =ConnectionAst() = %.1f GB/S= %.1f MB/S 7DECC$GA_STDOUT=zD(knNDECC$TXSPRINTF=0",;=0< ;=$tIp;7DEBUGDECC$TXFPRINTF= %.1f kB/S= %.0f B/S=0"`+;=(0< %.1f Gbytes=BytesOf() %f = %.1f Mbytes= %.0f bytes= %.1f kbytes =0 '*;=@$  DECC$EXIT SYS$GETTIM LIB$SUB_TIMES CVT$CONVERT_FLOAT( LIB$CVTF_FROM_INTERNAL_TIME; WSLIBSETMSGCALLBACKp ; WSLIBSETROLECLIENT WSLIBSETPONGCALLBACK ; WSLIBSETPINGSECS7 SERVERHOST; ; ;= [WSB:%d]0 DECC$TXPRINTF;7CONCURRENTCOUNT=0 p ;=P8 7CONNECTIONCOUNT ; ;(CMA$TIS_VMSERRNO_GET_ADDR DECC$CALLOC WSLIBCREATESYS$WAKE;7 SERVERPORT!WSLIBCLCONNECT7 REQUESTURI ; #WSLIBCLSETSOCKETMRS %WSLIBSETREADSECS=0"C;=P0 ' DECC$TOUPPER=0  ;=@4< 7DECC$$GL___CTYPEA7 REQUESTURIPTR7DECC$$GA___CTYPET) DECC$ISDIGIT +DECC$GETHOSTNAME=ws://- DECC$ATOI=0 0C;=( 0 WSB AXP-1.1.0;= /DO=PUSH=/MRS= = /HEARTBEAT=0= /COUNT=@=/BRIEF/DBUGP= /NOSTAGGER`/ DECC$TOLOWER= /VERSION=/SIZE=/PONG= /REPEAT==/QBF7READBUFFERSIZE 1LIB$GET_FOREIGN= aptr |%s| 3 DECC$ISSPACE7 DOSHOWHELP7 DOSHOWVERSION7CLIPONG;7DOECHO7DOPING7 CLITEXTFRAME7CLIBINARYFRAME ;=0 `/;=\ 7CLIBREAK7 CLIQBFFRAME7 CLITHROUGHPUT;7DOPONG7CLIBRIEF7DOPUSH7CLIPROXYSERVER7 CLIDYNAMIC7CLIPING= clptr |%s| = /BINARY== /BREAK== /RANDOM==/PING= /PROXY==/TEXT= /THROUGHPUT= /STAGGER = /NUMBER=0= /DO=ECHO@=/CONCURRENCY=P= /DO=PING`=/HELPh= /DO=PONGx= /DYNAMIC7SERVERPONGCOUNT ;=http://%s:%d5 SYS$HIBER=ping P;7 DECC$SETENV= WSB$DBUG=WATCH_SCRIPT9 SYS$GETSYI=?= bids adieu!(= &pong=2087 WRITEMSGTOTAL7 WRITETOTAL7 READMSGTOTAL=0p";= D| |A7 READTOTAL7 CLOSEADIEU; SYS$SETAST= &ping=20= DECC$MEMCPY= VmsVersion: %d 8OTS$MOVEA DECC$GETENVC DECC$STRLEN=*7CLIENTPINGCOUNT7WSLIBCLBREAKCOUNT E SYS$DCLAST7WSLIBCLBREAKEVERY=pong@7SERVERPINGCOUNT=08";=P0 7DECC$$SHELL_HANDLER=G DECC$MAIN=0  .;=00 IWSLIBREADTOTAL KWSLIBGETUSERDATA= UpdateTotals()  MWSLIBWRITEMSGTOTAL OWSLIBWRITETOTAL QWSLIBREADMSGTOTAL=0 (;=P<< SWSLIBMSGSTRINGU DECC$STRTOL WWSLIBMSGLINENUMBER=0 ';=0, Y WSLIBCLOSE= PongCallback()  =0 %;=(0, QbfFill()  =0 #;=(0, Utf8Fill()  =0 P";=(00 BinaryFill() H =0 ";=( @0 RandomEvent() =0; =0 ;= 04 C:%d [ WSLIBSETASCII] WSLIBISCLOSED8OTS$FILL a WSLIBSETUTF8 ; c SYS$SETIMReWSLIBSETBINARYg WSLIBWRITE=0  ;=0( 7CLIENTPONGCOUNTp  iWSLIBCLBREAKNOWx ;  kWSLIBCLSOCKETSTATUSm WSLIBPINGo WSLIBREADp ; q WSLIBPONG=0 ;=@( 7FAILEDREQUESTCOUNT  sWSLIBREADISBINARY uWSLIBREADISTEXTwWSLIBREADCOUNTy DECC$MEMCMP{ DECC$TXSSCANF= C:%d S:%dp =0 ;=(00 %%X%08.08X   }WSLIBREADSTATUS=0 ;=08  DECC$FREE SYS$CANTIM WSLIBDESTROY=0 ;=00 U= H46  9=)! WSBVSI C V7.4-002 ?= P4=TRANSFER$BREAK$GO H= 4P4= main4= ! ! !  Œ Œ Œ Č ƌ ƌ ˌ ˌ ь Ռ Ռ ، ݌ ݌ ݌                                            # ! " ! !   I * ) ( ( * ( ( * ( ( ( ( * ( ( ) ( + ) ( ) ( ) . - -J - 0 0 3 4 5 3  =  = p 4P4=ConnectToServerp 4=80 N D  D  D  P P+ S+ S+0 X W W X X Z a i i j m q { { { ~& ~ ~ ~ _H =   = 4 4= ConnectionAst4=                 < = P = 4 4=CloseConnection4=e]\         č ɍ ɍ = @ =  4@ 4=ClientToServer 4=x Ӎ  Ӎ  Ӎ  ߍ    R R0      "   ! ( 6   n        & B B B = p = 4 4=ServerToClient4= K  K  K  V \ \ b d f f h h h h h h l h m h  q q x x z z z z z z z        0 =  == 4 4= PushServer4=            ȎN ܎ ێ ڎ ڎ ێ ێ ێ, ߎ0 =  = 4p 4= ServerReadAst4=tlk               =  |= 4x 4=ServerWriteAst4=  = @ = 4H 4= RandomEvent4=ZRQ          $   =  =  4P4=ParseURL 4=}| 4 *  *  *  4 5 7 ; ; F C( = 0 = P"4 4= BinaryFillP"4=xw ` Q Q Q Q d e g g i e e$ =  = #4 4=Utf8Fill#4=  u  u  u u          ( =  = %4 4= QbfFill%4=F>=        (  =  = '4p 4= PongCallback'4=rji     ď    ď ȏ =  = (4 4=MessageCallback(4= ޏ ӏ  ӏ  ӏ         4 = ` = *4 4=DurationSeconds*4=vnm       b } , n = P = `+44= BytesOf`+4=jba             = ` = ,4@4=BytesPerSecond,4=`XW           = ` =  .44= UpdateTotals .4=|{ ӑ ȑ  ȑ  ȑ  ۑ ۑ    ( = @ = `/4(4= GetParameters`/4=KC                    $ , ' ( * - / 7 : 8 8 8 / D O V W ] e i v {             ǒ Β ђ Ԓ      l. m %P   =  = 0C44=ShowHelp0C4=4,+     = ` = C4 4= strsameC4=VNM 3  3  : : : : < @, = 8 s= 4H4= __main4=  =  =   DECC$ISDIGIT DECC$ISSPACE DECC$TOLOWER DECC$TOUPPER DECC$$GA___CTYPET DECC$$GL___CTYPEA(CMA$TIS_VMSERRNO_GET_ADDRDECC$GA_STDOUTDECC$TXFPRINTF DECC$TXPRINTFDECC$TXSPRINTF DECC$TXSSCANF DECC$ATOI DECC$FREE DECC$EXIT DECC$SETENV DECC$GETENV DECC$CALLOC DECC$STRTOL DECC$MEMCPY DECC$MEMCMP DECC$STRLEN(LIB$CVTF_FROM_INTERNAL_TIMELIB$GET_FOREIGN LIB$SUB_TIMES SYS$CANTIM SYS$DCLAST SYS$GETSYI SYS$GETTIM SYS$HIBER SYS$SETAST SYS$SETIMRSYS$WAKE DECC$GETHOSTNAME WSLIBCREATE WSLIBDESTROY WSLIBGETUSERDATAWSLIBSETBINARY WSLIBSETASCII WSLIBSETUTF8 WSLIBSETROLECLIENT WSLIBPING WSLIBPONG WSLIBCLOSE WSLIBISCLOSED WSLIBREADWSLIBREADCOUNT WSLIBREADISBINARYWSLIBREADISTEXTWSLIBREADSTATUSWSLIBREADTOTAL WSLIBREADMSGTOTAL WSLIBWRITEWSLIBWRITETOTAL WSLIBWRITEMSGTOTAL WSLIBSETMSGCALLBACK WSLIBSETPONGCALLBACK WSLIBSETPINGSECS WSLIBSETREADSECSWSLIBMSGSTRING WSLIBMSGLINENUMBERWSLIBCLBREAKNOWWSLIBCLCONNECT WSLIBCLSOCKETSTATUS WSLIBCLSETSOCKETMRS WSLIBCLBREAKCOUNT WSLIBCLBREAKEVERY CVT$CONVERT_FLOAT DECC$MAIN DECC$$SHELL_HANDLEROTS$MOVEOTS$FILL BHC$IS