ݷ~ RSH.BACKUP}S RSH.BACKUPBACKUP *.* [-]RSH.BACKUP/SAVE TPW  ƔV5.4 _THEORY::   _THEORY$DKA300: V5.4 ~ *[TPW.SYSTEM.CMU-TEK.TPW]FD.C;2+,./ 45-E 0 123KPWO56ʏö71\ 89ࢎvÔGHJ #ifndef TRUE#define TRUE 0x01#define FALSE 0x00#endif!static unsigned long mask[32] = {0 0x00000001, 0x00000002, 0x00000004, 0x00000008,0 0x00000010, 0x00000020, 0x00000040, 0x00000080,0 0x00000100, 0x00000200, 0x00000400, 0x00000800,0 0x00001000, 0x00002000, 0x00004000, 0x00008000,0 0x00010000, 0x00020000, 0x00040000, 0x00080000,0 0x00100000, 0x00200000, 0x00400000, 0x00800000,0 0x01000000, 0x02000000, 0x04000000, 0x08000000,1 0x10000000, 0x20000000, 0x40000000, 0x80000000};void FD_ZERO (value)unsigned long *value;{ *value = 0;}void FD_SET (bit, value)int bit;unsigned long *value;{ *value |= mask[bit];}int FD_ISSET (bit, value)int bit;unsigned long *value;{5 return (((*value & mask[bit]) != 0) ? TRUE : FALSE);} *[TPW.SYSTEM.CMU-TEK.TPW]FD.OBJ;1+,%./ 4 -E 0 123KPWO56©hƔ7`iƔ89GHJ/FDV1.031-JUL-1991 09:21VAX C V3.1-051R FDFD_ZERO  FD_SET$FD_ISSET&"V FD_ZERO FD_SET $FD_ISSETJ$CODE$DATAP @ @ @ @P^^ЬQЬP@^ЬQҼPPAPQPQQP"*[TPW.SYSTEM.CMU-TEK.TPW]GETOPT.C;2+,>./ 4E -E 0 123KPWO56` K7@*{T 89ࢎvÔGHJ #include $#define ERR(s, c) if(opterr){\ fputs(argv[0], stderr);\ fputs(s, stderr);\ fputc(c, stderr);\ fputc('\n', stderr);}extern int strcmp();extern char *strchr();int opterr = 1;int optind = 1;int optopt;char *optarg;intgetopt(argc, argv, opts) int argc;char **argv, *opts;{ static int sp = 1; register int c; register char *cp; if(sp == 1)$ if(optind >= argc ||E argv[optind][0] != '-' || argv[optind][1] == '\0')$ return(EOF);: else if(strcmp(argv[optind], "--") == 0) {! optind++;$ return(EOF); }& optopt = c = argv[optind][sp];6 if(c == ':' || (cp=strchr(opts, c)) == NULL) {/ ERR(": illegal option -- ", c);0 if(argv[optind][++sp] == '\0') {! optind++; sp = 1; } return('?'); } if(*++cp == ':') {. if(argv[optind][sp+1] != '\0')7 optarg = &argv[optind++][sp+1];+ else if(++optind >= argc) {D ERR(": option requires an argument -- ", c); sp = 1;$ return('?'); } else0 optarg = argv[optind++]; sp = 1; } else {0 if(argv[optind][++sp] == '\0') { sp = 1;! optind++; } optarg = NULL; } return(c);}/*9 * Return the ptr in sp at which the character c appears; * NULL if not found */char * strchr(sp, c)register char *sp, c;{ do { if(*sp == c)# return(sp); } while(*sp++); return(NULL);}$*[TPW.SYSTEM.CMU-TEK.TPW]GETOPT.OBJ;1+,>./ 4, -E 0 123KPWO56eƔ7 pRgƔ89GHJ3GETOPTV1.031-JUL-1991 09:21VAX C V3.1-051PPP P-- P: illegal option --  P: option requires an argument -- P(^ XZUYWg4eeS޼RCbRb-PhRSTRCMPPePeQ޼PgRA`PB`SSS:$Ь PS T` PQQQRT.iݼFPUTSiߨFPUTSiSSI_FPUTCi SI_FPUTCgeT޼QgPDaQ@aeg?PRb:zgTeRЬVBfRDbeReBfRDbjPPee<-ifFPUTSiߨFPUTSiSSI_FPUTCi SI_FPUTCg?PR GETOPT getopt strchr 6 STRCHRSTRCMPSI_FPUTCFPUTS GETOPT STRCHR$CODE$DATASTDINSTDOUTSTDERROPTERROPTINDOPTOPTOPTARG:$CHAR_STRING_CONSTANTSLeReBfjgPgeT޼PgRD`PB`gejSP^P`P *[TPW.SYSTEM.CMU-TEK.TPW]MAIN.C;5+,./ 4; -E 0 123KPWO56nf] 7T] 89ࢎvÔGHJ#include char *options = "dl:?";char *usage = "\0Usage: %s -{%s} remote_host_name {command...}\n\\n\7 d Set debugging on, under CMU this is a do nothing\n\3 l username Username to use on the remote system\n\ ? Display this message.\n";main (argc, argv) int argc; char *argv[];{ int c;0 char *remote_hostname, *remote_username = NULL;: char cmd_line[2048] = ""; /* buffer for remote command */ extern int optind; extern char *optarg; if (argc == 1) {, fprintf (stderr, usage, argv[0], options); exit (1); }1 remote_hostname = argv[1]; /* node to talk to */9 while ((c = getopt(argc - 1, &argv[1], options)) != EOF) { switch (c) {$ case 'd': break; /* Do nothing */- case 'l': remote_username = optarg; break; default: case '?':. fprintf (stderr, usage, argv[0], options); exit (1); } }% optind++; /* Take care of offset */, if (optind == argc) /* No command given */ { /* go do a remote login */4 return (rlogin(remote_hostname, remote_username)); } else {! for (; optind < argc; optind++) {# strcat (cmd_line, argv[optind]); strcat (cmd_line, " "); }; return (rsh(remote_hostname, remote_username, cmd_line)); }} "*[TPW.SYSTEM.CMU-TEK.TPW]MAIN.EXE;1+,`./ 4-E 0 123 KPWO56ιZ 7UlZ 89ࢎvÔGHJV0DX0205(SZ h MAINV1.0@SZ 05-05  7 FR  ?B!d FORRTL_001! LIBRTL_001! MTHRTL_001"! SECURESHR_001#!SECURESHRP_001Y       N *.*;*.*;*.*;*/sys$disk...*;*.*;*.*;*DIR.DIR ((((( DDDDDDDDDDAAAAAABBBBBB dl:?Usage: %s -{%s} remote_host_name {command...} d Set debugging on, under CMU this is a do nothing l username Username to use on the remote system ? Display this message. --: illegal option -- : option requires an argument -- Who are you? (getpwuid error) shelltcprsh: shell/tcp: unknown service Error in rcmd for port Error in rcmd for err_port selectreadread portread err_portsys$getuai %x %d sys$getuai error %x %d %sPACKET_TRACEPACKET_TRACETRUEpacket_trace.logwrIP:_INET0:NWA0:X25_MBXnbind failed %d %d connect failed %d %d connect failed %d %d connect failed %d %d connect failed %d %d listen failed %d %d listen failed %d %d rIP:_INET0:assign new channel failed %d %d accept failed %d %d raccept failed %d %d rSending to stream %d (%d): send failed %d %d send failed %d %d send failed %d %d send failed %d %d send failed %d %d getsockname failed %d %d SYS$INPUT:Reset requests are not handled at present! ioctl call on socket - not handled yet, request =%d ioctl call on terminal - not handled yet, request =%d ioctl call on file - not handled yet, request =%d shutdown failed %d %d shutdown failed %d %d hang a read failed %d %d hang a read failed %d %d hang a read failed %d %d hang a read failed %d %d hang a read failed %d %d hang a wait failed %d %d read ast called %d %d %d Received from stream %d (%d): accept ast called %d %d %d mailbox ast called message type %d stream s=%d status=%d state is %d term ast called %d Unexpected cmd to fcntl - %d Fcntl called on a descriptor! etc:services.rCan't open etc:services. %detc:services.rCan't open etc:services. %dINET$DEVICE:etc:hosts.rCan't open etc:hosts. IP:etc:hosts.rCan't open etc:hosts. INTERNET_HOST_NAMEARPANET_HOST_NAMEWhat is your internet name X25_ADDRESSWhat is your x25 address X25_SUBADDRESS%dX25L3X25_ADDRESSX25_SUBADDRESSSYS$INPUT:SYS$INPUT:SYS$INPUT:SYS$INPUT: %02x %c IP:_INET0:Doesn't look like you are running CMU or WG TCP/IP! %d.%d.%d.%dLNM$FILE_DEVerror 0not ownerno such file or directoryno such processinterrupted system calli/o errorno such device or addressarg list too longexec format errorbad file numberno childrenno more processesnot enough corepermission deniedbad addressblock device requiredmount device busyfile existscross-device linkno such devicenot a directoryis a directoryinvalid argumentfile table overflowtoo many open filesnot a typewritertext file busyfile too largeno space left on deviceillegal seekread-only file systemtoo many linksbroken pipemath argumentresult too largeI/O stream emptyoperation in progressoperation already in progresssocket operation on non-socketdestination address requiredmessage too long protocol wrong type for socket protocol not available protocol not supported socket type not supported operation not supported on socket protocol family not supported address family not supported address already in use can't assign requested address network is down network is unreachable network dropped connection on resetsoftware caused connection abort connection reset by peer no buffer space available socket is already connected socket is not connected can't send after socket shutdown too many references: can't splice connection timed out connection refused too many levels of symbolic links file name too long host is down no route to host %s: non-translatable vms error code: 0x%X, vms message: %s %s: %s DCLMCRSHELLerror 0not ownerno such file or directoryno such processinterrupted system calli/o errorno such device or addressarg list too longexec format errorbad file numberno childrenno more processesnot enough corepermission deniedbad addressblock device requiredmount device busyfile existscross-device linkno such devicenot a directoryis a directoryinvalid argumentfile table overflowtoo many open filesnot a typewritertext file busyfile too largeno space left on deviceillegal seekread-only file systemtoo many linksbroken pipemath argumentresult too largeI/O stream emptySYS$LOGINSYS$COMMANDSYS$DISKLNM$FILE_DEVVAXC$PATHPATH=HOME=TERM=USER=PATHHOMETERMUSERPATHPATH=HOME=TERM=USER=PATHft1-132ft1-80ft1ft2-132ft2-80ft2ft3-132ft3-80ft3ft4-132ft4-80ft4ft5-132ft5-80ft5ft6-132ft6-80ft6ft7-132ft7-80ft7ft8-132ft8-80ft8la12-132la12-80la12la120-132la120-80la120la24-132la24-80la24la34-132la34-80la34la36-132la36-80la36la38-132la38-80la38unknown-132unknown-80unknownvk100-132vk100-80vk100vt05-132vt05-80vt05vt100-132vt100-80vt100vt101-132vt101-80vt101vt102-132vt102-80vt102vt105-132vt105-80vt105vt125-132vt125-80vt125vt131-132vt131-80vt131vt132-132vt132-80vt132vt173-132vt173-80vt173vt52-132vt52-80vt52vt55-132vt55-80vt55vt200-132vt200-80vt200vt300-132vt300-80vt300undefinedUCX$IPC_SHRUCX$INET_ADDRUCX$IPC_SHRUCX$INET_NETWORKUCX$IPC_SHRUCX$INET_NTOAUCX$IPC_SHRUCX$INET_MAKEADDRUCX$IPC_SHRUCX$INET_LNAOFUCX$IPC_SHRUCX$INET_NETOFUCX$IPC_SHRUCX$SOCKETUCX$IPC_SHRUCX$ACCEPTUCX$IPC_SHRUCX$BINDUCX$IPC_SHRUCX$LISTENUCX$IPC_SHRUCX$CONNECTUCX$IPC_SHRUCX$RECVMSGUCX$IPC_SHRUCX$SENDMSGUCX$IPC_SHRUCX$SENDTOUCX$IPC_SHRUCX$RECVUCX$IPC_SHRUCX$SENDUCX$IPC_SHRUCX$CLOSEUCX$IPC_SHRUCX$RECVFROMUCX$IPC_SHRUCX$SHUTDOWNUCX$IPC_SHRUCX$SELECTUCX$IPC_SHRUCX$GETHOSTNAMEUCX$IPC_SHRUCX$GETHOSTADDRUCX$IPC_SHRUCX$GETHOSTBYADDRUCX$IPC_SHRUCX$GETHOSTBYNAMEUCX$IPC_SHRUCX$GETNETBYADDRUCX$IPC_SHRUCX$GETNETBYNAMEUCX$IPC_SHRUCX$GETPEERNAMEUCX$IPC_SHRUCX$GETSERVBYNAMEUCX$IPC_SHRUCX$GETSOCKNAMEUCX$IPC_SHRUCX$GETSOCKOPTUCX$IPC_SHRUCX$SETSOCKOPTUCX$IPC_SHRUCX$GETNETENTUCX$IPC_SHRUCX$GETSERVBYPORTUCX$IPC_SHRUCX$GETPROTOBYNAMEUCX$IPC_SHRUCX$GETPROTOBYNUMBERUCX$IPC_SHRUCX$GETPROTOENT $ 5 J̄*55Q$5d,5 |Ą45<5DD5L5 T5  \5 D  Ԅ  d5 $  l5 t5|5l@AHr555  5(5555Ā5̀5Ԁ5܀5PD55\555 !!!!!̂!! 5!""Ă"5"#5#,$'(t )-041 2 5|9 @ A LNM$PROCESSSHELL$FILE_ ĖLNM$PROCESSܖ tLNM$PROCESS $4<F`p ,BT`r -CR^l}1Ia|'?c8Ncundefined error l v  $hԐ@ xL\ȓ4 xP(lؘD`"<Ldn0<N]m| .:HYA^R%[&WZaVXYԮƵѬhݼjiެTdPРnhެUe~PRR1ФSUR??=Rd4RPPd)))))))!2?P#PkPhݴji\hUiPRRެTgdݮݮgd,SSRgP@cbƶbggdݮݮ^AaVZUWwTd4eSS޼RCbRb-PfR1PePePЬXdR@hPB`YYbY:Yݬ PRV:.gݼ}]gߦq]gY\g \deS޼QdPCaQ@aSed?PRb:dSeP@hRCbPRPeBhRCbjVPPeeSS<-gh\gߦ\gY;\g 0\d?PSRSeBhjdPdeQdRAhPB`dQejYP^P`P^_S,WVPPTcg,ߣ%ߣ{4PRߣ)gՊ,{լd߭ݬ ݬd2~߬PTߣJg,?խߣbg,%xTRRxPPRUUP1mU|~߭ 9Pf1Cߣ~,؄M<~gPR'ÅT0Tݭ&T,RTkxTPPPPP1<~T2gPR8f#'ÊTSݭS,3xTPPUPR6kxPPPPP]<~ݭfPR6f#'ÔT_SݭUS,ŃxPPURjPUP1^sRߢ$f}PQa!Pa\\A\Z \\ \\aQaޢ$P (^sRޢ$bޢd¤$d ޢd򭺰@jžư ̛@*ΞҰذ֞ڞް¤枭ԭߢ$ﺔPޢ$|~|~PSSSSS-]SPx\\ lj\Lj/k*\L*/**$Xj\\\$Ŕ¤dP^\TirSЬRbb~ﮖPbRb|Ȱޭʞΰ԰ޭ֞ڰ ޭ➭ԭߣ$䀘Pޣ$|~Ɵ|~PRR2RRRRߤچRPèݬ^PЬ2ޭݭݭðèP ^|qSݬߣ$&ޣ$RbPb~ﲕPbRbϛPPcP^@P-qwPPqP^PqOPPpP^^ ^pRߢ$rPޢ$ PP PPP^P^P^P ^ZSrpRAݬߣ*eY(BP ^ެRbTT>ԭ|~߭|~0PSS2SP2P@dS,T2SQAdAAZ AP PPASSP^P^P^ЬRȓPbԢЬRbԢP|^ЬUޭTe)PeQQaQz QP PPdPQdUTeٴSVUP RVRP dST2SRUɐP PRP䰏ޭ>ư̰ ޭ>Ұ"ذޭ>ԭ|~߭쟭߭ PRR PR ߭߭`Pѭ2~߭ЬSSd2RBcP,^ݬ߭ޭQa PaPPaPz PP PPaQaݬ؏PЬ߭ŏPޭ|~|~|~߭ԟ PPP^ݬPЬݬtPЬ|~|~|~߭䟭 PPP^P^<P^P^P^P^^^^,^WUPPPh^dSUZjTxm<ЬŏkSC~RbC RЬ [[b[CЬVVw>CĆnѾ1xm1 |~ݦ~x|~CYi%CdXRb 6PCRRb 'PЬV1xmuCŊRbJfCTdP3<PxPRxPPʏPPRR3;CŘP2`2`~VCŚq3PCŘP2`2`~VCŚQ3xm-ŏkRBŊP`B P`BRb b~3ŏkSC WgTЬ VTV*TݬCRb2CRbgݬ TPCTCRbdVݬd2VdVgVP^|~ݬݬ ݬݬ^(GVI[Z^Txmϭ0լ.ŏkP@ QЬRRaR@ݬ?2RԮk"ݬ ݬKj:qݬ ݬj/ŏkUEĆnѾ1xm1}EĊP`1EJRb1|~|~|~EYi3EdXP`ݬ6PѬi|~ݬ ݬ|~E6EdP<`~ PRR EP<`PP,k$ƣjmEP<`~RƨjmPPSE6RˏbPPȏ@SˏbPPȏS|~|~ݬ ݬ|~E0S~EdP<`~ PRR EP<`PP,k$Ʒj mEP<`~RƼjlPЬ PP|^[BUYRxm+ŏkSC†Vf1xmC"P` ݬ ݬC&t-P|~|~ݬ ݬ|~C^6R1`ЬQ<~<~ݡ`ЬQ<PPPŏkP@P`ݡi| ^ 6SMU'6ЬR–~Vc`:<~ݢ :G`ЬR:l–TT3>ݢ1TA> RݢՄm1PT51}R«bݢՄm1_PZT1–VV3$ŏkTP@>P`ZZ1&VA;ŏkTP@>P`ŏkZP@RP `ZZՄm1V51ďkTDRP`ŏkZQ«AbZՄm1P–PP31:1P21^Nª¡–PP~¡|~|~|~<2~Uxm@xm1 ls(q0q4qs8qP`BcP`BgRbT^ЬRbTRSЬRb STcPP`7ЬPQa`Q9ЬRRP`ЬQRP` `~ R~ЬQaPPSQPST^`W3V߭7R޼QP?RSЬU eǩU~bSCePPSŏkTD/QaRkRPPCeSP@eaPPPUSPP~D/BCePPSD!RbPPPCeSP@ebPPPUSPP~D!CePPSѭ<ЬRCbSP@bSQAbCbPPSCbSP@bSQAbCbPPSSP^HS2UYðkIP[ü]IPŏkVЬXhPPPFšFŢFţFŤh~FšPP~YVRBšPPYYVRBš[QWgPRݮgPRRPPYRVRBšYRVRBšYRVRBšYTVT[gPRݮgRPPDš[gPPYPP~[ZjݮgPRYRR[gPR~ݮjPPY TUYVRBšWTPPgYRVRBšYRVRBšYRVRBš PPPPYPP~ jgPPYYP ^S&1R`m |~`mP|~|~߭|~߭욏g~`m PP2P2lm\\P^ݬݏ tݬ^ݬݏt@ݬ ^ R0\`m |~`mP|~|~ ߭|~߭'`m PS|~|~ ߭|~߭#`m PS ^R0\`m |~`mP|~|~ ߭|~߭'`m PS|~|~ ߭|~߭#`m PS ^T/SWЬV`m |~`mPլ`m``m`mPlmpmff  fV׬WެUeRWP|~|~RV|~dm 0P1Ь[Ь ~լЬZ0fnÎ Pʏ0ʏ0PЬ WWP0 ~3PԼ lPЎWPW`g`WPP^1kЬWP0P 0P1ЎZ߬ ݬݬjʏ0ЬWP0}~ ~PPЬWP0a1g0Z0Z0Z00-ЬZjS<TSTRS(T,Ч$Ч,i ipRP Pz; gԧ<,PPЧ@<QPQg00JiPP00# ЬUVP0 ՎYЬPPP;P0Ш,045ǔVЦ  h0PJPЏ5P1cӏ4 ӏ4 Џ5P1E:Tæ HUUTЦ U}T~^R~l>n~l>nYY~l> nRVP0ЎP0&P0E}UʏVP0 l=Ь P \PY0Yl @ClZZެ\0 P@hP>ˏQя Q Џ5P1ӏQhP)P0MЎP0{яPӏ Џ5P1Nﻈh01-.Z ZaPZP0x0/<P0SPWWkȏ0PP8P.x PPP0,PPP@PZPNe[WP0mO 0P1ЎZ^^[πWݏ߬ݬ[j}P~QZ0~ }Pʏ0ʏ0P(W1WP0J 0P1<Ь[ЏZ:Zk Џ5P0[QZ0<[Z0 Pʏ0ZЬWP0# 0P1Ь~^[0ЬPʏ00  0P1ӏ0&0P0  0Z PPP0ʏ0ݬ ݬݬoTWЬR:b1RQSf~RP3N=M$1T+R(SR~~S~^SЬU:e1UQV~8UP3х#1SWᅤU%VﱅU~~V~^SPT S#W U#ЎPPPT S~#Џ5PPgPЬWP00 |~ ~SQ5^ёWP0P 0P1ЎZ߬ݬ﬑jʏ0ЬWP0 0P1 լ \ЧЧլ' çPЬPl P  ЧЧ gЧl  լ  ʏ01[PJZ WZ|~ݏ߬ ݬݬjЬQ@aPOZ  ]Z^^WgЬЬݬ,,PgA ^~^W߬ ݬWjAP[~ZjP[j@ݬ ݬݬϵЏ5P1nѭ  ЏL5P1]~>nYЫXYP0C^^SYR0i Џ~|~S~~P~~߮~~^QQ ~^Tad\n~^Z{mЬTЭU~~T {PVmTSmUP TU^TUVV^(Ud(nnV~^T ~^R|~߮~~^V|~fb<~PяBnS1zbRS^Xϵ~~~~ZS~T ƐPU^G ~^TdTmUPPЫ PЏ\5P10^^U nlR^S0P1Zml[k[1WnSZGV5.4RHlUeUTVDRTU[TW R, 'ZZP(ƗPP(P8c^SR^S0kP1W1r1y[P76РР[p[nkZZR^S0#PCZn[kkךZЬ [0@PZЬ[03P nR^S0#kPkP( ШPRR^nSЬT|~|~Rc|~<1~< ~ kʏ< ~Tnk |~ݏݏݏ`PPPը ]P[P0^hXhLh`PDhР P] ^]P'hP`hݠݠPiЎPРPlЏL5P1g[k9kZ Z[l լЪݪjkZ ЎPЏT5P1\PPP|~߮S~ ~@~^T|~dPJݩPPU1ce[k[ZJJZ[j[k&0\i [Щk0}[q0s[PЏL5PWZZ(Zreekk[|k| @P0=PkP[|~|~ݏi|~h<1~<~ hPPP@PP0P[iZV0ZiWWP0PFk(W`cVdTSdTRB SmSRAeTdTdT |~dP1W$b&2>F<<6|fr<v<  V<bj dZЬQ0PРP1 cZŬQ0P&РWРXԭݬPTP$PLlDlSc9PTݬc PcRRTQa=RTPPq=TRPScʰTЬ<~PSSޟ`P2RBޑcSSPS꟭꟭P U|~|~2cSSU !TPTT|~<#~S UbTP TRBbScUЬcBbScBbScBbRbT UPݏ5PP^ݬݬPPQQQPP|0^SRP RRVլѬV ݏ5rP߭ѭ ЏUP߭P`UT TP@cRb1 TP@Qan@QaU U[@cP`RV P@aP`ЬPxRPPRѬ Ѭ URȀ PRPT TP@cP`1mV ^ThVM]Uf1?xiPPԭ|~|~ݭPRR ݭx߭`~RRP?ݬ~^O^\sݬݬQPQQP ^߭ нSլѬݏ5PS.Ь R(P@^Qab@^Qa@^P`S1ЬR1bSѬEB^=S$RBT^Rb)^ S^ QP QSC ^PЬRb`C]PТ`C]SТcQ P^]R]]] RPP^}]XЬRRPPn]VRf]R] TVaT\WVBgRP RTP@D]QaS@=]P`UaRgS USS|xVVTVTXPP^ݬI\\ݏ$5P ^߭q нQQЬP\`\Qмu\PЬQ:aìQP|}SV:dVTQR (RdcQTVcЬP}SVЬ WD:dVTQRRWWRVRW(RdcQTVЏVVWWV ,nVcVWЬP|}QV:aQS:bVRQP (PbcQRVcЬP}QЬ W5V:aQS:bVRQPPWWPPW(PbcQRVڔc~ RSH.BACKUP`E "[TPW.SYSTEM.CMU-TEK.TPW]MAIN.EXE;1"|jP<^,nnUЬQ6ЬR :a&P@nQT:dUTQ*QdnUìQP<^,nnUЬQ6ЬR :a&P@nQT:dUTQ+QdnUìQP|^,nnUЬQ.P@nЬQQT:dUTQ*QdnUQP }QP SSPbSSPЬ S}QPTTP SPbTTP@Kg|~~P`x}P¯PٯQ{PPQƏ'QЬRPQb~~P`x}P¯PٯQ{PPQl ЬQPaPPaP zP PX4mpP yD4mpPxpPx x^TPPRBdP֬PPP@dSRcQQ+1QPP+NNbbbbbbbbbb Pj?PPeGaR RdSRGPRdeR5R  R*PR#PR # RPRddR PS1CPìSЬ"|~TwPRPpPRprP ^_WRTVЬRRUbPPRBdP֬PPP@dSRcQQ+1QPP+NNnnnnnnnnnn P2?PPeSmR Rd_Rc-VRGPRdeR5R  R*PR#PR # RPRddR PS17PìS!gЬRUb|PЬЬRSb"|~uPUP:s0&|~uPRPR,"g PRpPU,"gV p.RPp,RpRPUﺰ|P<pPpPTqTP qT}TRʏSbRTjTRnRRqRTsP `P`TjTRnRRbRTbTPpPuu^Q(^ԡЬ NUԡ~PtPPRbССԼUݏݬ ߮tTS; cԼ-aּPQ}PT;0Paa.PQ;0Pa T(TcԼ(}PV:.TePVּPT,VgTcPVQW(VgccTP|/mpPtpPP<pPpPTqTP qT}TRʏSbRTjTRnRRqRTsP bPbTjTRnRRbRTbTPp P]/m +tpPP  P^Q(^Ь RRRRR R RRR^nԡԡ~P9sЬSСWXա-СV&VW!(Vhc.VW(Wacs0c.ScЬPWաV.(Whcs0Se^STVnndЬP<ePe R`RPMspPPR RяRRP|P<\}PP<["[.mpPr-mpPr pPqPP qP}PRʏSbRPjPRnRRbRPcP  -ms8p PqPP qP}PRʏSbRPjPRnRRqRPlrjR~p~rpPrr< -mpPr -mpPqqPPPPPPl լP0^XUWMSTާ6[ާ<ާBnާHͫͭͯ>ͳͷ͛͟͝>ͣͧsuޭw>{́ޭ̓>͇͍͋ޭ͏>͓͗LhhcpPe e Qͫ(ݳͯPФRb<RRR|~?PPP+|~|~s2P~wBP 62~WPRRԤRQRPa P֤Հ+X 1PVfP 9PwRP(дQa PaRRARZ RP PPaQaߧNScP Ф RߧScPФ RߧXcPФ Rߧ]cP 1o<~fP>͜͞ޭ͠>ͤͨͪޭͬ>ͰʹͶޭ͸>ͼLF͘͘%jPc J(PТ\l<\\\|~?JPP+|~|~͜2bJ~ݠBGJޢH ޢ\UU YUTdPUUƁPXXUdXPU1UX (PCݢ$Ud< \LeUP``\\A\Z \\ \\`P`< \\\U1P2\LeUP``\\A\Z \\ \\`P`2\\UUޢ\\\U\\!\\?PPU8<\LeUP``\\A\Z \\ \\`P`<\\\UXPX0(PTТ \U[UrPUU(PTTHݢU@<\LeUP` P`\\A\Z \\ \\`P`<\\\U;P2\LeUP``\\A\Z \\ \\`P`2\\\UТ \UZUPUݠBݸݬU7ƆUТ \UjPPUU nUjPUU-Т yOC?XPZTP<\Q\P\ \P Q{\PQPQѬ  S,PS"Ѭ  SP SSS^|~|~ݬ|~<#~ݬ A 3BЏ*B$P<^^(n)$Rb^ݬ ݬ$P`PP<^^(n#Rb<^^(n#Rb4^m#SЬRУPPѠR`Q Р PQQЬЬ ЬЬЬ#P`P PuwPRWЭVf*:QfQRhPg(RWVPPYX$^,n$ ЬV:fQVQV,nnn(iPW1&HC>,nPPƐϞPVܞd:fQVQ<,nPPƐϞPVܞGd:fQVQ,n`P`PR,TZP\0PWhP hGRHP.SP@,S,iP RPPşhRPP|9VP^,nPPƐϞPЬܞ`c:QQ,n`P`PZf\0PRR[P@fn\ RfPPЬQС(Pՠ04Q0W^,n$܈:QìQЬ,nnn;PV/V&g:fQVQQQ (QfgPVPP ЬPР RSbcՠbPrPJcPQcccbP. .b0bbQ.bbP/bQPP ^Ь R]> .b/brPbPPnnb~P/bSn:.nQQS/cSbPPnSbbS:]ncQQb :>ncQQbPЬXШ W[gVЬZZYZ/gY1ZZ Z.ШYZk( ` gkkkk/cZ ШYkk k/g.BZ@1ШYkkk k/g.g.gYk k0gPPgPYPPI(YYgZ!g*VQQgYY:%YfQQ?aQVPPYQVZkPPЬ P/`.`.`PЬ PQaa/`.`.`.`aP\_\S\G\ ;\@~-\<~\ P`P P`P< [^,n$0,n0lլ|YЬZPѬPPYЬVTWS|QP.PPPSR/P/PQQ1+RSЬVTW, |$$$(ЏЏЏ04Q8W<P 8P1   1[,,$T$PTP- ^  .,,$T$PTPH,U- ]-e$-.e,VW.,,dT1    Z,PPX  ..`[`,  .,,( ,<PP,],,Y~,nPPƐϞP؞ܞ]PP,,n`P`PRPTZP\0PR R,$k1IX, 1,P.,],,  Z  $k1,,nPPƐϞP؞ܞ,\PP,,n`P`PRPTZP\0PRRRR$kRPVW .,,VW ,P% .,, I ',Q.,,PQPa* *,,.,,VW$G   1,nPPƐϞP؞ܞZPP,,n`P`PRPTZP\0P$kd1  #,$k6PWHP|SP(PTnSP@PYYY W~P*.RZWR PP P'WRPݬPSP(PnT1f$kWPPYXWά^,n0nT, |n$$$(ЏЏЏ,n$004:QìQ8ЬS8SSQ[5Q%ܑQ?׊QQSVVVTXRdPdTVRXQQWWQQ]ȑQ-#QӑQ]S-QSSW͑SQ QQSQQ]1WP^ ZP.;y.;o ::"":[<]>;.-*.]>$.$-o]&>"-_.]>.u]>[<]`>Xj.F-".]>D.--.]>*- -*\%bp/0/hC.n;"n.| ;t@! !"".( ./*- -*?[]-d n80&AvQkkXaM^^V}f ,f  f~T~T P~Q $PaQ}Pd|d~SVS dP SET_WILD_PCT > (CLI$DATAJ _LIB$KEY0$J _LIB$STATE$tCLI$READ_ONLY_DATAbCLI$CODESHELL$CLI_NAME;shell$cli_namewZ<shell$is_shell1 t;+  SHELL$TO_VMSN SHELL$TO_VMS N H]  U X    ;   SHELL$$VMS_FILE  ѹA     SAVE_NODE  Z!,*SAVE_DEV * #MSAVE_DIRECTORY M ?7 SAVE_NAME  : SAVE_TYPE  c&  _q SAVE_VERS q  SET_FILETYPE  SET_REGULAR_EXP  SET_WILD  * SET_VERSION  PĭCOPY_STR ĭ vK,!FREE_DIRECTORY_DESCRIPTORS   , MATCH_REGEX  / A' SMATCH_SUBSTRING S $'QPRUNE_FILESPEC  O%D FIND_LAST_DOT D v ".rTERMINATE_PARSE r    CLI$READ_ONLY_DATAJ _LIB$KEY0$ _LIB$STATE$NCLI$CODED  . ABS .C$SIGVEC <sigvec=sigblock5= sigsetmask>sigpause4>sigstack> <C$DATOFB vaxc$datof(DC vaxc$dstrtod B   C$DATAC$$MAINdIc$$main>Ovaxc$crtl_init8T expand_bufferU lowercase1,V get_paramswVget_terminal_typeDY c$$ctrlc_handsY c$$cond_handZ dI0    "   '! "C$SOCKETvsock_translate0vcreate_channelh(vaxc$getprotobynumber>hvaxc$getprotoent9 vZ Nn A_   H ^J     1  '<*U  O%G( D   C$SOCKHANDLESc$$init_ucx_inet_addrh c$$init_ucx_inet_networklxc$$init_ucx_inet_ntoah c$$init_ucx_inet_makeaddrlLc$$init_ucx_inet_lnaoflc$$init_ucx_inet_netofl$c$$init_ucx_socketlc$$init_ucx_acceptlc$$init_ucx_bindlhc$$init_ucx_listenlԐc$$init_ucx_connectl@c$$init_ucx_recvmsglc$$init_ucx_sendmsglc$$init_ucx_sendtolc$$init_ucx_recvlc$$init_ucx_sendl\c$$init_ucx_closelȓc$$init_ucx_recvfroml4c$$init_ucx_shutdownlc$$init_ucx_selectl c$$init_ucx_gethostnamelxc$$init_ucx_gethostaddrl c$$init_ucx_gethostbyaddrl Pc$$init_ucx_gethostbynamelc$$init_ucx_getnetbyaddrl(c$$init_ucx_getnetbynamelc$$init_ucx_getpeernamel c$$init_ucx_getservbynamellc$$init_ucx_getsocknamelؘc$$init_ucx_getsockoptlDc$$init_ucx_setsockoptlc$$init_ucx_getnetentl c$$init_ucx_getservbyportl!c$$init_ucx_getprotobynamel#c$$init_ucx_getprotobynumberl`c$$init_ucx_getprotoentk lC$CTYPE SHELL$CLINT̝SHELL$GET_ARGV ̝ 55̝$CODE$SHELL$MATCH_WILDSHELL$MATCH_WILDCLI$CODE"*[TPW.SYSTEM.CMU-TEK.TPW]MAIN.OBJ;1+,./ 4V -E 0 123KPWO56bƔ7@g4dƔ89GHJ1MAINV1.031-JUL-1991 09:21VAX C V3.1-051Pdl:?PPUsage: %s -{%s} remote_host_name {command...} d Set debugging on, under CMU this is a do nothing l username Username to use on the remote system ? Display this message. PP P^ C$MAIN_ARGS ZW[UXYԮŵѬhݼki SI_FPRINTFSI_EXITެTdPРhެVf~GETOPTPRRdSVR??=Rd4RPPdP6?P#PjPhݴki SI_FPRINTFSI_EXIThViR MAIN maine - SI_FPRINTFRSHSTRCATRLOGINGETOPTSI_EXIT MAIN C$MAIN_ARGSe$CODE$DATASTDINSTDOUTSTDERROPTIONS$CHAR_STRING_CONSTANTSUSAGEOPTINDOPTARGGETOPTPRRgެTgdݮݮ RLOGINgd*ЬSSTRCATRgP@cbŶbggdݮ ݮRSHP)))))))!#*[TPW.SYSTEM.CMU-TEK.TPW]MAKEFILE.;5+,d./ 4CH-E 0 123KPWO56]Ɣ7`]Ɣ89GHJ EXE = rsh.exe<OBJ = rsh.obj,rcmd.obj,main.obj,getopt.obj,fd.obj,rlogin.objCLIB = cmutek_src:[sockit.unixshr]unixlib.olb/lib,sys$system:sys.stbPRE = preprocessCC = ccRM = delete/noconfirm/log *.obj: *.c $(PRE) $< $*.vaxc $(CC) $*.vaxc $(RM) $*.vaxc.*$(EXE): $(OBJ) link/exec=$(EXE) $(OBJ),$(LIB)!*[TPW.SYSTEM.CMU-TEK.TPW]RCMD.C;13+,K ./ 4Gd-E 0 123KPWO56̠E 7AE 89ࢎvÔGHJ"/*> * Copyright (c) 1983 Regents of the University of California. * All rights reserved. *B * Redistribution and use in source and binary forms are permittedB * provided that the above copyright notice and this paragraph are; * duplicated in all such forms and that any documentation,= * advertising materials, and other materials related to suchC * distribution and use acknowledge that the software was developed> * by the University of California, Berkeley. The name of theD * University may not be used to endorse or promote products derived@ * from this software without specific prior written permission.A * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS ORA * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIEDF * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */(#if defined(LIBC_SCCS) && !defined(lint)<static char sccsid[] = "@(#)rcmd.c 5.20 (Berkeley) 1/24/89";##endif /* LIBC_SCCS and not lint */&#ifdef VMS /* Define file pathnames */5#define HOSTS_EQUIV "cmutek_root:[syslib]hosts.equiv"#define RHOSTS_EQUIV ".rhosts"#else&#define HOSTS_EQUIV "/etc/hosts.equiv"#define RHOSTS_EQUIV "/.rhosts"#endif /*VMS*/#include #include #ifdef VMS#include #endif /* VMS */#include #include #include #include #include #include #include #include #include #ifndef SIGURG6#define SIGURG 16 /* my signal.h does not have this */#endif /* SIGURG */#ifndef sigmaskG#define sigmask(m) (1<<(m-1)) /* Again my signal.h does not have this*/#endif /* sigmask */ extern errno;char *index();/rcmd(ahost, rport, locuser, remuser, cmd, fd2p) char **ahost; u_short rport; char *locuser, *remuser, *cmd; int *fd2p;{ int s, timo = 1, pid; long oldmask;$ struct sockaddr_in sin, sin2, from; char c;! int lport = IPPORT_RESERVED - 1; struct hostent *hp; fd_set reads; pid = getpid(); hp = gethostbyname(*ahost); if (hp == 0) { herror(*ahost); return (-1); } *ahost = hp->h_name;% oldmask = sigblock(sigmask(SIGURG)); for (;;) { s = rresvport(&lport); if (s < 0) { if (errno == EAGAIN)2 fprintf(stderr, "socket: All ports in use\n"); else perror("rcmd: socket"); sigsetmask(oldmask); return (-1); }C#ifndef VMS /* Doesn't make sense in VMS, besides not supported */ fcntl(s, F_SETOWN, pid);#endif" sin.sin_family = hp->h_addrtype;B bcopy(hp->h_addr_list[0], (caddr_t)&sin.sin_addr, hp->h_length); sin.sin_port = rport;6 if (connect(s, (caddr_t)&sin, sizeof (sin), 0) >= 0) break; (void) close(s); if (errno == EADDRINUSE) { lport--; continue; }, if (errno == ECONNREFUSED && timo <= 16) { sleep(timo); timo *= 2; continue; }# if (hp->h_addr_list[1] != NULL) { int oerrno = errno; fprintf(stderr,; "connect to address %s: ", inet_ntoa(sin.sin_addr)); errno = oerrno; perror(0); hp->h_addr_list++;4 bcopy(hp->h_addr_list[0], (caddr_t)&sin.sin_addr, hp->h_length);$ fprintf(stderr, "Trying %s...\n", inet_ntoa(sin.sin_addr)); continue; } perror(hp->h_name); sigsetmask(oldmask); return (-1); } lport--; if (fd2p == 0) { write(s, "", 1); lport = 0; } else { char num[8];! int s2 = rresvport(&lport), s3; int len = sizeof (from); if (s2 < 0) goto bad; listen(s2, 1);# (void) sprintf(num, "%d", lport);6 if (write(s, num, strlen(num)+1) != strlen(num)+1) {& perror("write: setting up stderr"); (void) close(s2); goto bad; } FD_ZERO(&reads); FD_SET(s, &reads); FD_SET(s2, &reads); errno = 0;( if (select(32, &reads, 0, 0, 0) < 1 || !FD_ISSET(s2, &reads)) { if (errno != 0)( perror("select: setting up stderr"); else fprintf(stderr,4 "select: protocol failure in circuit setup.\n"); (void) close(s2); goto bad; }" s3 = accept(s2, &from, &len, 0); (void) close(s2); if (s3 < 0) { perror("accept"); lport = 0; goto bad; } *fd2p = s3;0 from.sin_port = ntohs((u_short)from.sin_port);# if (from.sin_family != AF_INET ||) from.sin_port >= IPPORT_RESERVED ||, from.sin_port < IPPORT_RESERVED / 2) { fprintf(stderr,7 "socket: protocol failure in circuit setup.\n"); goto bad2; } }- (void) write(s, locuser, strlen(locuser)+1);- (void) write(s, remuser, strlen(remuser)+1);% (void) write(s, cmd, strlen(cmd)+1); if (read(s, &c, 1) != 1) { perror(*ahost); goto bad2; } if (c != 0) { while (read(s, &c, 1) == 1) { (void) write(2, &c, 1); if (c == '\n') break; } goto bad2; } sigsetmask(oldmask); return (s);bad2: if (lport) (void) close(*fd2p);bad: (void) close(s); sigsetmask(oldmask); return (-1);}rresvport(alport) int *alport;{ struct sockaddr_in sin; int s; sin.sin_family = AF_INET;" sin.sin_addr.s_addr = INADDR_ANY;% s = socket(AF_INET, SOCK_STREAM, 0); if (s < 0) return (-1); for (;;) {) sin.sin_port = htons((u_short)*alport);0 if (bind(s, (caddr_t)&sin, sizeof (sin)) >= 0) return (s); if (errno != EADDRINUSE) { (void) close(s); return (-1); } (*alport)--;% if (*alport == IPPORT_RESERVED/2) { (void) close(s); errno = EAGAIN; /* close */ return (-1); } }}int _check_rhosts_file = 1;'ruserok(rhost, superuser, ruser, luser) char *rhost; int superuser; char *ruser, *luser;{ FILE *hostf; char fhost[MAXHOSTNAMELEN]; int first = 1; register char *sp, *p; int baselen = -1; sp = rhost; p = fhost; while (*sp) { if (*sp == '.') { if (baselen == -1) baselen = sp - rhost; *p++ = *sp++; } else {0 *p++ = isupper(*sp) ? tolower(*sp++) : *sp++; } } *p = '\0';9 hostf = superuser ? (FILE *)0 : fopen(HOSTS_EQUIV, "r");again: if (hostf) {9 if (!_validuser(hostf, fhost, luser, ruser, baselen)) { (void) fclose(hostf); return(0); } (void) fclose(hostf); }7 if (first == 1 && (_check_rhosts_file || superuser)) { struct stat sbuf; struct passwd *pwd; char pbuf[MAXPATHLEN]; first = 0;& if ((pwd = getpwnam(luser)) == NULL) return(-1);" (void)strcpy(pbuf, pwd->pw_dir);# (void)strcat(pbuf, RHOSTS_EQUIV);) if ((hostf = fopen(pbuf, "r")) == NULL) return(-1); /*6 * if owned by someone other than user or root or if, * writeable by anyone but the owner, quit */$ if (fstat(fileno(hostf), &sbuf) ||2 sbuf.st_uid && sbuf.st_uid != pwd->pw_uid || sbuf.st_mode&022) { fclose(hostf); return(-1); } goto again; } return (-1);}'/* don't make static, used by lpd(8) *//_validuser(hostf, rhost, luser, ruser, baselen) char *rhost, *luser, *ruser; FILE *hostf; int baselen;{ char *user; char ahost[MAXHOSTNAMELEN]; register char *p;. while (fgets(ahost, sizeof (ahost), hostf)) { p = ahost;? while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') {' *p = isupper(*p) ? tolower(*p) : *p; p++; } if (*p == ' ' || *p == '\t') { *p++ = '\0';" while (*p == ' ' || *p == '\t') p++; user = p;> while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') p++; } else user = p; *p = '\0';* if (_checkhost(rhost, ahost, baselen) &&- !strcmp(ruser, *user ? user : luser)) { return (0); } } return (-1);}static_checkhost(rhost, lhost, len) char *rhost, *lhost; int len;{) static char ldomain[MAXHOSTNAMELEN + 1]; static char *domainp = NULL; static int nodomain = 0; register char *cp; if (len == -1) return(!strcmp(rhost, lhost)); if (strncmp(rhost, lhost, len)) return(0); if (!strcmp(rhost, lhost)) return(1); if (*(lhost + len) != '\0') return(0); if (nodomain) return(0); if (!domainp) {4 if (gethostname(ldomain, sizeof(ldomain)) == -1) { nodomain = 1; return(0); }! ldomain[MAXHOSTNAMELEN] = NULL;8 if ((domainp = index(ldomain, '.')) == (char *)NULL) { nodomain = 1; return(0); }! for (cp = ++domainp; *cp; ++cp) if (isupper(*cp)) *cp = tolower(*cp); }* return(!strcmp(domainp, rhost + len +1));}"*[TPW.SYSTEM.CMU-TEK.TPW]RCMD.OBJ;1+,H . / 4  -E 0 123KPWO 56 "DƔ7 ~IƔ89GHJ1RCMDV1.031-JUL-1991 09:20VAX C V3.1-051 C$V_CTYPEDEFS _VALIDUSER RRESVPORTINDEX GETHOSTBYNAME SIGSETMASKSIGBLOCKSLEEPGETPWNAMTOLOWERPERRORSPRINTF SI_FPRINTFSI_FGETS SI_FCLOSEFOPENSI_READACCEPTFD_ISSETSELECTFD_SETFD_ZEROSTRLENLISTENSI_WRITE INET_NTOASI_CLOSECONNECTBCOPY RRESVPORTHERRORGETPIDSI_CLOSEBINDSOCKETFSTATSTRCATSTRCPYPsocket: All ports in use Prcmd: socket'Pconnect to address %s: ?PTrying %s... NP%dQPwrite: setting up stderrjPselect: setting up stderrPselect: protocol failure in circuit setup. PacceptPsocket: protocol failure in circuit setup.  PPcmutek_root:[syslib]hosts.equivPrP.rhosts PrP^YXZ<GETPIDЬRb GETHOSTBYNAMEPW bHERRORPg<~SIGBLOCKP|ޭΌΌVԭSOCKETPTUiP<ތRxRSxRRʏRRSSTBINDPTU3h0TSI_CLOSEUތތTSI_CLOSE hUU[1h i SI_FPRINTF PߩPERRORݮ| SIGSETMASKPݧ ݷBCOPY[CONNECTP1[SI_CLOSEh0 ׭1Ph=ZZSLEEPZZ1PЧRբkhV^(n INET_NTOAPߩ' SI_FPRINTFVhPERRORݧ ݷBCOPY^(n INET_NTOAPߩ? SI_FPRINTF1cPgPERRORݮ| SIGSETMASKP׭լߩM[SI_WRITEԭ1ޭΈΈWԭSOCKETPTUiP<ވRxRSxRRʏRRSSTBINDPTU3h0TSI_CLOSEUވވTSI_CLOSE hUUVV1!VLISTENݭߩN߭SPRINTF߭STRLENPP߭[SI_WRITEPR߭STRLENPRPߩQPERRORVSI_CLOSE1FD_ZERO[FD_SETVFD_SETh|~ SELECTPVFD_ISSETP0h ߩjPERRORɄ SI_FPRINTFVSI_CLOSE1LP߭VACCEPTPSVSI_CLOSESɰPERRORԭ1PS #include #ifdef VMS #include #endif /* VMS */ #include #include #include #include #include #include #include #include #include #ifndef SIGURG #define SIGURG 16 /* my signal.h does not have this */ #endif /* SIGURG */ #ifndef sigmask #define sigmask(m) (1<<(m-1)) /* Again my signal.h does not have this*/ #endif /* sigmask */ extern errno; char *index(); rcmd(ahost, rport, locuser, remuser, cmd, fd2p) char **ahost; u_short rport; char *locuser, *remuser, *cmd; int *fd2p; { int s, timo = 1, pid; long oldmask; struct sockaddr_in sin, sin2, from; char c; int lport = IPPORT_RESERVED - 1; struct hostent *hp; fd_set reads; pid = getpid(); hp = gethostbyname(*ahost); if (hp == 0) { herror(*ahost); return (-1); } *ahost = hp->h_name; oldmask = sigblock(sigmask(SIGURG)); for (;;) { s = rresvport(&lport); if (s < 0) { if (errno == EAGAIN) fprintf(stderr, "socket: All ports in use\n"); else perror("rcmd: socket"); sigsetmask(oldmask); return (-1); } #ifndef VMS /* Doesn't make sense in VMS, besides not supported */ fcntl(s, F_SETOWN, pid); #endif sin.sin_family = hp->h_addrtype; bcopy(hp->h_addr_list[0], (caddr_t)&sin.sin_addr, hp->h_length); sin.sin_port = rport; if (connect(s, (caddr_t)&sin, sizeof (sin), 0) >= 0) break; (void) close(s); if (errno == EADDRINUSE) { lport--; continue; } if (errno == ECONNREFUSED && timo <= 16) { sleep(timo); timo *= 2; continue; } if (hp->h_addr_list[1] != NULL) { int oerrno = errno; fprintf(stderr, "connect to address %s: ", inet_ntoa(sin.sin_addr)); errno = oerrno; perror(0); hp->h_addr_list++; bcopy(hp->h_addr_list[0], (caddr_t)&sin.sin_addr, hp->h_length); fprintf(stderr, "Trying %s...\n", inet_ntoa(sin.sin_addr)); continue; } perror(hp->h_name); sigsetmask(oldmask); return (-1); } lport--; if (fd2p == 0) { write(s, "", 1); lport = 0; } else { char num[8]; int s2 = rresvport(&lport), s3; int len = sizeof (from); if (s2 < 0) goto bad; listen(s2, 1); (void) sprintf(num, "%d", lport); if (write(s, num, strlen(num)+1) != strlen(num)+1) { perror("write: setting up stderr"); (void) close(s2); goto bad; } FD_ZERO(&reads); FD_SET(s, &reads); FD_SET(s2, &reads); errno = 0; if (select(32, &reads, 0, 0, 0) < 1 || !FD_ISSET(s2, &reads)) { if (errno != 0) perror("select: setting up stderr"); else fprintf(stderr, "select: protocol failure in circuit setup.\n"); (void) close(s2); goto bad; } s3 = accept(s2, &from, &len, 0); (void) close(s2); if (s3 < 0) { perror("accept"); lport = 0; goto bad; } *fd2p = s3; from.sin_port = ntohs((u_short)from.sin_port); if (from.sin_family != AF_INET || from.sin_port >= IPPORT_RESERVED || from.sin_port < IPPORT_RESERVED / 2) { fprintf(stderr, "socket: protocol failure in circuit setup.\n"); goto bad2; } } (void) write(s, locuser, strlen(locuser)+1); (void) write(s, remuser, strlen(remuser)+1); (void) write(s, cmd, strlen(cmd)+1); if (read(s, &c, 1) != 1) { perror(*ahost); goto bad2; } if (c != 0) { while (read(s, &c, 1) == 1) { (void) write(2, &c, 1); if (c == '\n') break; } goto bad2; } sigsetmask(oldmask); return (s); bad2: if (lport) (void) close(*fd2p); bad: (void) close(s); sigsetmask(oldmask); return (-1); } rresvport(alport) int *alport; { struct sockaddr_in sin; int s; sin.sin_family = AF_INET; sin.sin_addr.s_addr = INADDR_ANY; s = socket(AF_INET, SOCK_STREAM, 0); if (s < 0) return (-1); for (;;) { sin.sin_port = htons((u_short)*alport); if (bind(s, (caddr_t)&sin, sizeof (sin)) >= 0) return (s); if (errno != EADDRINUSE) { (void) close(s); return (-1); } (*alport)--; if (*alport == IPPORT_RESERVED/2) { (void) close(s); errno = EAGAIN; /* close */ return (-1); } } } int _check_rhosts_file = 1; ruserok(rhost, superuser, ruser, luser) char *rhost; int superuser; char *ruser, *luser; { FILE *hostf; char fhost[MAXHOSTNAMELEN]; int first = 1; register char *sp, *p; int baselen = -1; sp = rhost; p = fhost; while (*sp) { if (*sp == '.') { if (baselen == -1) baselen = sp - rhost; *p++ = *sp++; } else { *p++ = isupper(*sp) ? tolower(*sp++) : *sp++; } } *p = '\0'; hostf = superuser ? (FILE *)0 : fopen(HOSTS_EQUIV, "r"); again: if (hostf) { if (!_validuser(hostf, fhost, luser, ruser, baselen)) { (void) fclose(hostf); return(0); } (void) fclose(hostf); } if (first == 1 && (_check_rhosts_file || superuser)) { struct stat sbuf; struct passwd *pwd; char pbuf[MAXPATHLEN]; first = 0; if ((pwd = getpwnam(luser)) == NULL) return(-1); (void)strcpy(pbuf, pwd->pw_dir); (void)strcat(pbuf, RHOSTS_EQUIV); if ((hostf = fopen(pbuf, "r")) == NULL) return(-1); /* * if owned by someone other than user or root or if * writeable by anyone but the owner, quit */ if (fstat(fileno(hostf), &sbuf) || sbuf.st_uid && sbuf.st_uid != pwd->pw_uid || sbuf.st_mode&022) { fclose(hostf); return(-1); } goto again; } return (-1); } /* don't make static, used by lpd(8) */ _validuser(hostf, rhost, luser, ruser, baselen) char *rhost, *luser, *ruser; FILE *hostf; int baselen; { char *user; char ahost[MAXHOSTNAMELEN]; register char *p; while (fgets(ahost, sizeof (ahost), hostf)) { p = ahost; while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') { *p = isupper(*p) ? tolower(*p) : *p; p++; } if (*p == ' ' || *p == '\t') { *p++ = '\0'; while (*p == ' ' || *p == '\t') p++; user = p; while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') p++; } else user = p; *p = '\0'; if (_checkhost(rhost, ahost, baselen) && !strcmp(ruser, *user ? user : luser)) { return (0); } } return (-1); } static _checkhost(rhost, lhost, len) char *rhost, *lhost; int len; { static char ldomain[MAXHOSTNAMELEN + 1]; static char *domainp = NULL; static int nodomain = 0; register char *cp; if (len == -1) return(!strcmp(rhost, lhost)); if (strncmp(rhost, lhost, len)) return(0); if (!strcmp(rhost, lhost)) return(1); if (*(lhost + len) != '\0') return(0); if (nodomain) return(0); if (!domainp) { if (gethostname(ldomain, sizeof(ldomain)) == -1) { nodomain = 1; return(0); } ldomain[MAXHOSTNAMELEN] = NULL; if ((domainp = index(ldomain, '.')) == (char *)NULL) { nodomain = 1; return(0); } for (cp = ++domainp; *cp; ++cp) if (isupper(*cp)) *cp = tolower(*cp); } return(!strcmp(domainp, rhost + len +1)); } #*[TPW.SYSTEM.CMU-TEK.TPW]RLOGIN.C;17+,Y./ 4A-E 0 123KPWO56WX8 7`Y8 89ࢎvÔGHJ#include #include #include #include #include int rlogin (host, user)char *host, *user;{ struct passwd *pwd; struct servent *sp; int rm, bitmask;% int port, length, i, zero_count = 0; char buffer[1024], *term;) if ((pwd = getpwuid (getuid())) == NULL) {6 fprintf (stderr, "Who are you? (getpwuid error)\n"); exit (SS$_ABORT); }3 if ((sp = getservbyname ("login", "tcp")) == NULL) {; fprintf (stderr, "rlogin: login/tcp: unknown service\n"); exit (SS$_ABORT); }7 if ((term = getenv("TERM")) == NULL) term = "network";' if (user == NULL) user = pwd->pw_name;A port = rcmd (&host, sp->s_port, pwd->pw_name, user, term, NULL); if (port < 0) exit (SS$_ABORT);3 bitmask = 1 | (1 << port); /* what to select on */ while (bitmask & ~1) { rm = bitmask;- if (select (32, &rm, NULL, NULL, NULL) < 0) { if (errno == EINTR) continue; perror ("select"); exit (SS$_ABORT); } if (rm & 1) {7 length = type_ahead(); /* Get the number of chars */ while (length > 0) {< i = (length > sizeof(buffer)) ? sizeof(buffer) : length;6 if (getnc(buffer, i) != i) /* Error then leave */ { perror ("getnc"); close (port); exit (SS$_ABORT); } write (port, buffer, i); length -= i; } } if (rm & (1 << port))  {: if ((length = read (port, buffer, sizeof(buffer))) < 0) { switch (errno) { case EWOULDBLOCK: break; case ECONNRESET: bitmask &= ~(1 << port); close(port);. fprintf (stderr, "Connection closed\n"); break; default: perror ("read port"); close (port);. fprintf (stderr, "Connection closed\n"); exit (SS$_ABORT); } } else { write (1, buffer, length); } } } return (SS$_NORMAL);}$*[TPW.SYSTEM.CMU-TEK.TPW]RLOGIN.OBJ;1+,i ./ 4 -E 0 123KPWO56jƔ7CEmƔ89GHJ3RLOGINV1.031-JUL-1991 09:21VAX C V3.1-051PWho are you? (getpwuid error) Plogin%Ptcp)Prlogin: login/tcp: unknown service MPTERMRPnetworkZPselectaPgetncgPConnection closed zPread portPConnection closed Pδ^UGETUIDPGETPWUIDPSe SI_FPRINTF,SI_EXITߥ%ߥ GETSERVBYNAMEPRߥ) SI_FPRINTF,SI_EXITߥMGETENVPTޥRTլcTݬc2~߬RCMDPV ,SI_EXITxVRR@@R1oPERRORYSI_EXITXGETNC[SI_CLOSEWR RLOGIN rlogin- -SI GETSERVBYNAMEGETPWUIDPERROR SI_FPRINTFSI_READSI_WRITESI_CLOSEGETNC TYPE_AHEADSELECTRCMDGETENVSI_EXITGETUID RLOGIN-$CODE$DATASTDINSTDOUTSTDERRERRNO VAXC$ERRNO$CHAR_STRING_CONSTANTSSI_WRITEZ SI_FPRINTF0Ю@|~߭ SELECTP1ߥZi,hP TYPE_AHEADPSDS<TSTTRRkPRߥaiVg,hRVjRSxVRRRRR1<~VSI_READPS1}PP#P(.?PIPxVRR@Vgߥg8+ߥziVgń8,h Sj@P1PP2RRRRRRRRRRRRRRRRRR6 *[TPW.SYSTEM.CMU-TEK.TPW]RSH.C;16+,c./ 4E-E 0 123KPWO56`ۺ9 7k9 89ࢎvÔGHJ #include #include #include #include #include int rsh (host, user, cmd)char *host, *user, *cmd;{ struct passwd *pwd; struct servent *sp; int rm, em, bitmask; int port, err_port, length, i; char buffer[1024];) if ((pwd = getpwuid (getuid())) == NULL) {6 fprintf (stderr, "Who are you? (getpwuid error)\n"); exit (SS$_ABORT); }3 if ((sp = getservbyname ("shell", "tcp")) == NULL) {8 fprintf (stderr, "rsh: shell/tcp: unknown service\n"); exit (SS$_ABORT); }' if (user == NULL) user = pwd->pw_name;E port = rcmd (&host, sp->s_port, pwd->pw_name, user, cmd, &err_port); if (port < 0) exit (SS$_ABORT); if (err_port < 0) {3 fprintf (stderr, "Error in rcmd for err_port\n"); exit (SS$_ABORT); }E bitmask = 1 | (1 << port) | (1 << err_port); /* what to select on */ while (bitmask & ~1) { rm = bitmask;- if (select (32, &rm, NULL, NULL, NULL) < 0) { if (errno == EINTR) continue; perror ("select"); exit (SS$_ABORT); } if (rm & 1) {7 length = type_ahead(); /* Get the number of chars */ while (length > 0) {< i = (length > sizeof(buffer)) ? sizeof(buffer) : length;6 if (getnc(buffer, i) != i) /* Error then leave */ { perror ("getnc"); close (port); close (err_port); exit (SS$_ABORT); } write (port, buffer, i); length -= i; } } if (rm & (1 << port))  {; if ((length = read (port, buffer, sizeof(buffer))) <= 0) {( if (length == 0) errno = ECONNRESET; switch (errno) { case EWOULDBLOCK: break; case ECONNRESET: bitmask &= ~(1 << port); close(port); break; default: perror ("read port"); close (port); close (err_port); exit (SS$_ABORT); } } else { write (1, buffer, length); } } if (rm & (1 << err_port))  {? if ((length = read (err_port, buffer, sizeof(buffer))) <= 0) {( if (length == 0) errno = ECONNRESET; switch (errno) { case EWOULDBLOCK: break; case ECONNRESET:" bitmask &= ~(1 << err_port); close(err_port); break; default: perror ("read err_port"); close (port); close (err_port); exit (SS$_ABORT); } } else { write (1, buffer, length); } } } return (SS$_NORMAL);}"*[TPW.SYSTEM.CMU-TEK.TPW]RSH.EXE;29+,b ./ 4-E 0 123 KPWO56"Ɣ7ZހƔ89GHJ60DX0205(xFhRSHV1.0@xƔ05-05@@@@@@@@@@@@@@  6R`,  ?B!d FORRTL_001! LIBRTL_001O! MTHRTL_001"! SECURESHR_001#!SECURESHRP_001Y       N *.*;*.*;*.*;*/sys$disk...*;*.*;*.*;*DIR.DIRP`D ,,dX $@Kg| ((((( DDDDDDDDDDAAAAAABBBBBB Who are you? (getpwuid error) shelltcprsh: shell/tcp: unknown service Error in rcmd for err_port selectgetncread portread err_portsocket: All ports in use rcmd: socketconnect to address %s: Trying %s... %dwrite: setting up stderrselect: setting up stderrselect: protocol failure in circuit setup. acceptsocket: protocol failure in circuit setup. cmutek_root:[syslib]hosts.equivr.rhostsrdl:?Usage: %s -{%s} remote_host_name {command...} d Set debugging on, under CMU this is a do nothing l username Username to use on the remote system ? Display this message. --: illegal option -- : option requires an argument -- Who are you? (getpwuid error) logintcprlogin: login/tcp: unknown service TERMnetworkselectgetncConnection closed read portConnection closed SYS$INPUT:INET$DEVICE:_INET0:PACKET_TRACEPACKET_TRACETRUEpacket_trace.logwrassigning a channel in socket %d assign channel error %x NWA0:X25_MBXnSocket successfull, %d bind failed %d %d connect failed %d %d connect failed %d %d connect failed %d %d connect failed %d %d listen failed %d %d listen failed %d %d rassign new channel failed %d %d accept failed %d %d raccept failed %d %d rin recvfrom with a closed. Sending to stream %d (%d): send failed %d %d send failed %d %d send failed %d %d send failed %d %d send failed %d %d getsockname failed %d %d Reset requests are not handled at present! ioctl call on socket - not handled yet, request =%d ioctl call on terminal - not handled yet, request =%d ioctl call on file - not handled yet, request =%d shutdown failed %d %d shutdown failed %d %d hang a read failed %d %d hang a read failed %d %d hang a read failed %d %d hang a read failed %d %d hang a read failed %d %d hang a wait failed %d %d read ast called %d %d %d Received from stream %d (%d): Connection closed in read ast Unrecognized iosb in read ast iosb = %x %x accept ast called %d %d %d mailbox ast called message type %d stream s=%d status=%d state is %d term ast called %d Unexpected cmd to fcntl - %d Fcntl called on a descriptor! cmutek_root:[syslib]services.rCan't open cmutek_root:[syslib]services. %dcmutek_root:[syslib]services.rCan't open cmutek_root:[syslib]services. %detc:hosts.rCan't open etc:hosts. etc:hosts.rCan't open etc:hosts. INTERNET_HOST_NAMEARPANET_HOST_NAMEWhat is your internet name X25_ADDRESSWhat is your x25 address X25_SUBADDRESS%dX25L3X25_ADDRESSX25_SUBADDRESS %02x %c Doesn't look like you are running CMU or WG TCP/IP! sys$getuai %x %d sys$getuai error %x %d %sError in host name lookup for host %s %d.%d.%d.%dfork called!!!!!!!!! fork called!!!!!!!!! LNM$FILE_DEVerror 0not ownerno such file or directoryno such processinterrupted system calli/o errorno such device or addressarg list too longexec format errorbad file numberno childrenno more processesnot enough corepermission deniedbad addressblock device requiredmount device busyfile existscross-device linkno such devicenot a directoryis a directoryinvalid argumentfile table overflowtoo many open filesnot a typewritertext file busyfile too largeno space left on deviceillegal seekread-only file systemtoo many linksbroken pipemath argumentresult too largeI/O stream emptyoperation in progressoperation already in progresssocket operation on non-socketdestination address requiredmessage too long protocol wrong type for socket protocol not available protocol not supported socket type not supported operation not supported on socket protocol family not supported address family not supported address already in use can't assign requested address network is down network is unreachable network dropped connection on resetsoftware caused connection abort connection reset by peer no buffer space available socket is already connected socket is not connected can't send after socket shutdown too many references: can't splice connection timed out connection refused too many levels of symbolic links file name too long host is down no route to host %s: non-translatable vms error code: 0x%X, vms message: %s %s: %s DCLMCRSHELLerror 0not ownerno such file or directoryno such processinterrupted system calli/o errorno such device or addressarg list too longexec format errorbad file numberno childrenno more processesnot enough corepermission deniedbad addressblock device requiredmount device busyfile existscross-device linkno such devicenot a directoryis a directoryinvalid argumentfile table overflowtoo many open filesnot a typewritertext file busyfile too largeno space left on deviceillegal seekread-only file systemtoo many linksbroken pipemath argumentresult too largeI/O stream emptySYS$LOGINSYS$COMMANDSYS$DISKLNM$FILE_DEVVAXC$PATHPATH=HOME=TERM=USER=PATHHOMETERMUSERPATHPATH=HOME=TERM=USER=PATHft1-132ft1-80ft1ft2-132ft2-80ft2ft3-132ft3-80ft3ft4-132ft4-80ft4ft5-132ft5-80ft5ft6-132ft6-80ft6ft7-132ft7-80ft7ft8-132ft8-80ft8la12-132la12-80la12la120-132la120-80la120la24-132la24-80la24la34-132la34-80la34la36-132la36-80la36la38-132la38-80la38unknown-132unknown-80unknownvk100-132vk100-80vk100vt05-132vt05-80vt05vt100-132vt100-80vt100vt101-132vt101-80vt101vt102-132vt102-80vt102vt105-132vt105-80vt105vt125-132vt125-80vt125vt131-132vt131-80vt131vt132-132vt132-80vt132vt173-132vt173-80vt173vt52-132vt52-80vt52vt55-132vt55-80vt55vt200-132vt200-80vt200vt300-132vt300-80vt300undefinedUCX$IPC_SHRUCX$INET_ADDRUCX$IPC_SHRUCX$INET_NETWORKUCX$IPC_SHRUCX$INET_NTOAUCX$IPC_SHRUCX$INET_MAKEADDRUCX$IPC_SHRUCX$INET_LNAOFUCX$IPC_SHRUCX$INET_NETOFUCX$IPC_SHRUCX$SOCKETUCX$IPC_SHRUCX$ACCEPTUCX$IPC_SHRUCX$BINDUCX$IPC_SHRUCX$LISTENUCX$IPC_SHRUCX$CONNECTUCX$IPC_SHRUCX$RECVMSGUCX$IPC_SHRUCX$SENDMSGUCX$IPC_SHRUCX$SENDTOUCX$IPC_SHRUCX$RECVUCX$IPC_SHRUCX$SENDUCX$IPC_SHRUCX$CLOSEUCX$IPC_SHRUCX$RECVFROMUCX$IPC_SHRUCX$SHUTDOWNUCX$0 -~ RSH.BACKUPb E "[TPW.SYSTEM.CMU-TEK.TPW]RSH.EXE;29y|IPC_SHRUCX$SELECTUCX$IPC_SHRUCX$GETHOSTNAMEUCX$IPC_SHRUCX$GETHOSTADDRUCX$IPC_SHRUCX$GETHOSTBYADDRUCX$IPC_SHRUCX$GETHOSTBYNAMEUCX$IPC_SHRUCX$GETNETBYADDRUCX$IPC_SHRUCX$GETNETBYNAMEUCX$IPC_SHRUCX$GETPEERNAMEUCX$IPC_SHRUCX$GETSERVBYNAMEUCX$IPC_SHRUCX$GETSOCKNAMEUCX$IPC_SHRUCX$GETSOCKOPTUCX$IPC_SHRUCX$SETSOCKOPTUCX$IPC_SHRUCX$GETNETENTUCX$IPC_SHRUCX$GETSERVBYPORTUCX$IPC_SHRUCX$GETPROTOBYNAMEUCX$IPC_SHRUCX$GETPROTOBYNUMBERUCX$IPC_SHRUCX$GETPROTOENT @ @ @ @  ( 3@$ 5 J̄*55Q$5d,5 |Ą45<5DD5L5 T5  \5 D  Ԅ  d5 $  l5 t5|5l@AHr555  5(5555Ā5̀5Ԁ5܀5PD55\555 !!!!!̂!! 5!""Ă"5"#5#,$'(t )-041 2 5|9 @ A LNM$PROCESSSHELL$FILE_ DLNM$PROCESS\l| LNM$PROCESS &&&&&' '*'D'V'h'x''''''''' (()(8(I(](q((((((((())&)<)Z)y))))))*7*V*u******+8+S+p++++++,3,A,undefined error,,, / // #/ 0/ܮT̯D4td$|l\ԶLķ<, t,,,,,,- -2-D-T-`-r---------..%.9.M.^.m.|........AΔ^[UPVPSe;,[ߥ%ߥ=PRߥ);,[լc߭ݬ ݬc2~߬\PW ,v[խߥJ<p;,X[xWSSxRRS\\R1kY0[XP[z5V8Z9HЮ\|~߭ ('P1ߥfi,hVNPSJS<TSTTRRkPRߥmiWfݭf,hRWjRSxWRRRRR1<~WTPSu6 PP#5IIIIIIIIIIIIIIIIII9P?P5PxWRR\Wf$ߥsiWfݭf,h SjxRRRRR1<~ݭTPSv6e_PP#2JJJJJJJJJJJJJJJJJJ6 j?P9PxRR\ݭf&Pߥ}iWfݭf,h Sj\P1P^YYXZ<ЬRb@PW bhWPg<~pP|ޭΌΌVԭSPTUiP<ތRxRSxRRʏRRSSTjPTU3h0T2UތތT2 hUU[1h i48 PߩJݮ|Pݧ ݷ_O[P1[&2h0 ׭1Ph=ZZZZ1PЧRբkhV^(nUWPߩ'R7Vhݧ ݷN^(nWPߩ?E71cPg[ݮ|P׭լߩM[4ԭ1ޭΈΈWԭ PTUiP<ވRxRSxRRʏRRSSTPTU3h0T0UވވT0 hUUVV1!VTݭߩN߭߭cPP߭[3PR߭FPRPߩQ=VX01 [ V h|~ !PVP0h ߩjڞɄn5V/1LP߭VPSV/Sɰԭ1PSZ?UHYhWg4eeS޼RCbRb-PhRqPePeQ޼PgRA`PB`SSS:$Ь PS T` PQQQRT.iݼ1^iߨ%^iSm/i b/geT޼QgPDaQ@aeg?PRb:zgTeRЬVBfRDbeReBfRDbjPPee<"-if]iߨ]iS.i .g?PeReBfjgPgeT޼PgRD`PB`gejSP^P`P^^ЬQЬP@f^ЬQҼPPAfPQPQQPδ^ OUPGPSe=q,,YLߥ%ߥ-.PRߥ)F,,.LߥMȐPTޥRTլcTݬc2~߬PV ,KxVRR@@R1oYKX,A[&W)Z+0Ю@|~߭ PA1ߥZi,hPi?PSDS<TSTTRRkPRߥaiVg,hRVjRSxVRRRRR1<~V)PS1}PP#2RRRRRRRRRRRRRRRRRR6(.?PIPxVRR@Vgߥgz8+ߥziVgń_8,h Sj@P1P^$^oMUXYdSxm,AÔmQRPR9Rߥ ﵎P-ߥ:ߥ-癩P+PhߥPߥ?WPiÔmTPWŏkWTDRߥRWUPbDR<~PbD RbDÆRЬVVbDÊRЬbDÎRЬ bV1xmHhWߥTiy|~ŏkWRBcÄmPP1hPߥviGP|~DcÌmPPP|~|~ݬV|~D2DcRЬ[ŏk[UEÆnѾ1xm1WЬR<PEÊP` [PPŏkTD"RЬ bݬ D&ݬ>YiDÊP`1D(WRb$zȦz6PDRRb 'PЬV1xmvDŊRbKfDScP2<PxPRxPPʏPPRR1<DŘP2`2`~VDŚ1PDŘP2`2`~VDŚ1xm-ŏkRBŊP`B P`BRb b~i1ŏkSC WgTЬ VTV*TݬCRb<1CRbgݬ TPCTCRbdVݬd 1VdVgVP^|~ݬݬ ݬݬ^P`ݬ6oPѬi|~ݬ ݬ|~E6EdP<`~ PRR EP<`PP,k$jtEP<`~RjstPPSE6RˏbPPȏ@SˏbPPȏS|~|~ݬ ݬ|~E0S~EdP<`~ PRR EP<`PP,k$.jsEP<`~R3jsPЬ PP|^7U@ORxmφ+ŏkSC†Vf1xmC"P` ݬ ݬC&+P|~|~ݬ ݬ|~CRb xURRVXU&PVXVXP[ެSWRRRgRV(P iVPU2RRPxPPP4ŏkRP@ Qa@Qa @>P` xRPPVUR lmVUUUXVZ+2 RRPxPPPRgRV11XP|^5VLTŏkSCdP<`P1-ЬUUgx @ ݬ PUhx C!ݬ )PUx C2Rм bPUrx C6Rм bPUsx@ CRP` PUzx C2Rм bPUxB]qpPUxB@ PUkx@)Ь P`  Ԡ PUx PU{x PUsPU~fPUƉoPլ1ЬSSf@޼ R$PbPSt@$Ь Pqm`rmsmtmumPS tBЬ P`qmrmsmtmumPP % P$PStt@Ь P`PSutPSƾ oPݬnP^2UWJRxmϝ&ЬVŏkVSC†Wg1xm V P|~|~ݬ|~C<2~CbP<`~ PTT CP<`PP8,(GnCP<`~T1,nPPg  VL PP^|^1U}IRxm%ŏkSC†VfxmP|~|~ݬ ݬ|~Ch94fh>h"Sfg<~<~rfg^+R"1€ZgЬQ<~<~ݡ‡:gЬQ<PPŏkP@P`ݡP| ^]+SBU6ЬR–~Ý:g:<~ݢgЬR:l–TT3>ݢ1TA> Rݢ՜m1PT51}R«bݢ՜m1_PZT1–VV3$ŏkTP@>P`ZZ1&VA;ŏkTP@>P`ŏkZP@RP `ZZ՜m1V51ďkTDRP`ŏkZQ«AbZ՜m1P–PP31:1P21^Nª¡–PP~¡|~|~|~<2~P`BcP`BgRbT^ЬRbTRSЬRb STcPP`7ЬPQa`Q9ЬRRP`ЬQRP` `~ R~8ЬQaPPSQPST^WM)V߭7R޼QP?RSЬU eǐU~bCePPSŏkTD/QaRkRPPCeSP@eaPPPUSPP~D/CePPSD!RbPPPCeSP@ebPPPUSPP~D!\CePPSѭ<ЬRCbSP@bSQAbCbPPSCbSP@bSQAbCbPPSSP^S5(UY×#RP[ãRPŏkVЬXhPPPFšFŢFţFŤh~FšPP~YVRBšPPYYVRBš[4aWgPRݮgPRRPPYRVRBšYRVRBšYRVRBšYTVT[gPRݮgRPPDš[gPPYPP~[ZjݮgPRYRR[gPR~ݮjPPY TUYVRBšWTPPgYRVRBšYRVRBšYRVRBš PPPPYPP~ jgPPYYP^&R`m|~`m|mP|~|~߭|~߭욏g~`m PP2P2lm\\P^ݬݏ tݬ^ݬݏt@ݬl^&\`m|~`m|mP|~|~ ߭|~߭'`m PR|~|~ ߭|~߭#`m PR^%\`m|~`m|mP|~|~ ߭|~߭'`m PR|~|~ ߭|~߭#`m PR^7%RЬTlm$ЬS֬pmPP  QPQQc׬lmլP`m|~`m|mP|~|~ݬݬ|~dmRݬߣ*CdP ^ެRbTT>ԭ|~߭|~0PSS2SP2P@dS,T2SQAdAAZ AP PPASSP^P^P^ЬRZPbԢЬRbԢP|^ЬUޭTe)PeQQaQz QP PPdPQdUTeٴSVUWP RVRP dST2SRUqWP PRP䰏ޭ>ư̰ ޭ>Ұ"ذޭ>ԭ|~߭쟭߭ PRR PR ߭߭YPѭ2~߭ЬSS W2RBcP,^ݬ߭VޭQa PaPPaPz PP PPaQaݬVPЬ߭mVPޭ|~|~|~߭ԟ PPP^ݬ/VPЬݬVPЬ|~|~|~߭䟭 PPP^P^<P^P^P^P^^^^ݬ @@^~ݬU^~ݬW< ^ЬRTb]b.RQb0b9QPQb@Rb0b9b.bPATPTST߭PCbTPP)=MPz?PЭUP^P^P^P^<~~P`x}nT}%Rh}RTzR.nRخS}R~^P5` ^P PÎTPَUUQ}Rɏ{PPQ|﷏F ^|RPP $TTTTT]]]]]]]]]]]]]]]]]]T]]]]]]]]]]Z]X?P PR֬ ֬P0'9! SQЬP֬`PPQ0QS09RSQPSQQP^R|SbPP $UUUUU]]]]]]]]]]]]]]]]]]U]]]]]]]]]][]Y?P PSRPRb0b9P TQPPQ0QTb0b9STQPTQQP^5RЬQxQP@bP`QQgxQP@bP`QgxQP@P` ЏЬPVAXC$EXECMBXԬ3lm^^S|~S~~^S ~^TcdɐяPO|~𢡄dPP P@<dcP P@^l:[P\<^ n^S|~߮~~^T|~d ЎR|~^T|~|~Rc|~dP')RyRvS(SbcdPP4PPKЬPЬWP04P 0P1oЬZ ЩS<TЧ$STSTSçUSjTUʏ0PЬ WP01| 0P1ЬZЬ[ZZ~7gV0F: VPPVVZ VnVZVZZn0nZɔkЬPʏ0ЏL5P0[ߔʏ0PЬWP0Hg0> Pg֧PЬWP0$0 PP֧g0P߬ l~n ߬l~nW0D1ЬUЬRSVSrVSw Sa1b+VR~bb< nRV b+VRb 1P0HYSaȏ@0暈ЭZЭ\0P1HSwhP#Sa 0P1Ь[Ь ~լЬZ0nnÎ Pʏ0ʏ0PЬ WWP0 ~4PԼ lPЎWPW`g`WPPfsЬWP0P 0P1ЎZ߬ ݬݬjʏ0ЬWP0}~ ~PPЬWP0g1g0Z0Z0Z00-ЬZjS<TSTRS(T,Ч$Ч,i ipRP Pz; gԧn~l>nYY~l> nRP0ЎP0.P0K}UʏVP0 l=Ь P zPY0Yl @ylZZެ\0 P@hP>ˏQя Q Џ5P1ӏQhP)P0SЎP0яPӏ Џ5P1Nhyh01-.Z ZaPZP0~05<P0YPWWkȏ0PP8P.x PPP02PPP@PЬZP2WdBWP0mO 0P1ЎZ^^[πWݏ߬ݬ[j}P~QZ0 }Pʏ0ʏ0P߅W1ӅWP0J 0P1<Ь[ЏZ:Zk Џ5P0 [QZ0w[Z0 Pʏ0ZЬWP0# 0P1Ь~^[0ЬPʏ00  0P1ӏ0&0P0  0Z PPP0ʏ0ݬ ݬݬkoTWЬR:b1RQS w~RHP3vv\$1TvRvSvR~~S~^SЬU:e1UQV~8U܉P3vxv#1SWfvUcvVXvU~~V~^S̠PT S#W U#ЎPPPT S#Џ5PPRPЬWP00 |~ ~MYfWP0P 0P1ЎZ߬ݬcjʏ0ЬWP0 0P1 լ \ЧЧլ' çPЬPl P  ЧЧ gЧl  լ  ʏ01[PSZ i`Z|~ݏ߬ ݬݬjЬQ@aPXZ eZ^^WgЬЬݬ4PgA ^~^W߬ ݬWjPPkR/ ТP PmТ P P^RUk,jjЬUP0Վ4YY(`iʔ h003hH0% Щ |~jP0ʓX $X(<hЩ$(YYPЏުЏުY|~$|~,<2~JP[~ZjP[j@ݬ ݬݬϵЏ5P1wѭ  ЏL5P1f~>nYЫXYP0C^^SYR0i Џ~|~S~~P~~߮~~^QO ~^Tad^~^Z^ЬTЭU~~TOqP]T]U+P TU^TUVV^(Ud(nnV~^T ~^R|~߮~~^V|~fb<~PяBnS1xbRS^Xϵ~~~~ZS~T PU^E ~^Td]UPPЫ PЏ\5P10^^U n-]R^S0P1Z][k[1WnSZGV5.4R\UeUTVDRTU[TW R, 'ZZP(ƗPP(P8c^SR^S0kP1W1r1y[P76РРEb[nkZZR^S0#PCZn[kkךZЬ [0@PZЬ[03P nR^S0[P[P2 ШPRR^nSЬT|~|~Rc|~<1~< ~ 6\ʏ< ~T\ |~ݏݏݏ`PPPը ]P[P0XXX`PXР P] ^]PXP`XݠݠPjЎPРPlЏL5P1X[k9kZ Z[l լЪݪjkZ ЎPЏT5P1\PPP|~߮S~ ~@~^T|~dTZլ,UScTЪUЪ VTФUФVݬϯP+ݬdPPP`PPYPTѠUOrYPРPPVQUWРSРXPЭPˏ@P ЭP41<@ d>ݬP|~|~|~PQP QﲾP2P@dЬRdPbdbԢ PԭݬaPTP|PL\D\Sc9PTݬcNPcRRTQa=RTPPq=TRPScʰTЬ<~&PSPSޟOP2RBޑcSSPS꟭꟭xP U|~|~2RSSU ~'TPTT|~<#~S URTP TRBRScUЬcBRScBRScBRRbT UPݏ5PP^ݬݬPPQQQPP|0^SRP RRVլѬV ݏ5*P߭}ѭ ЏUP߭FP`UT TP@cRb1 TP@Qan@QaU U[@cP`RV P@jQP`ЬPxRPPRѬ Ѭ URu PRuPT TP@cP`1mV ^TlXVLUf1?XPԭ|~|~ݭPRR ݭx߭TsRRP?ݬs^M\sݬݬ QPQQP ^߭нSլѬݏ5ﱶPS.Ь R(P@bNQab@[NQa@SNP`S1ЬR1bSѬEN=S$RBNRbM SM QP QSCMPЬRb`CMPТ`CMSТcQ P^uMRnMgMM RPP^=MXЬRRPP.MVR&MR\M TVaT\WVBgRP RTP@MQaS@LP`UaRgS USGqxVVTVTXPP^ݬILLݏ$5TP ^߭нQQЬPJL`GLQм5LPzig~~|~P ЬPPFPd^SJV϶ЬRRYPRfRP ͘ ͜(P̈́(`s$fͰ͸$ͬ(&0.̈́0PXXRRc̈́HPXXRReZ(f fݬݬPf fuXAPf fYX%Pf f='RBP HJL~~ ͸ޭ>ޭT#,4(|Ͱ͸̈́0PX|~?ܟPPWW WP|~͘|~Ͱ2<~ PWW <ͰRR/<~<ͰRR$ RPWﳱP͠ ͢ަͤ>ͨͬ|~|~͠<~PWW!W<~XWPަSԡ~PScPPRbССԼ^>ݏݬ ߮bB>S; cԼ-aּPQ}PT;0Paa.PQ;0Pa T(TcԼ(}PV:.TePVּPT,VgTcPVQW(Vgcc=P|/mpPcpPP<pPpPTqTP qT}TRʏSbRTjTRnRRqRTsP bPbTjTRnRRbRTbTPp Pa/m bpPP  P^Q(^Ь RRRRR R RRR^nԡԡ~PaЬSСWXա-СV&VW!(Vhc.VW(Wacs0c.ScЬPWաV.(Whcs0Se^STVnndЬP<ePe R`RPapPPR RяRRP|P<E}PP<D")D .mpPMa-mpP=a pPqPP qP}PRʏSbRPjPRnRRbRPcP  -ms8p PqPP qP}PRʏSbRPjPRnRRqRPl`jR~p~`pP``<$-mpP}`-mpPm`d`PPPPPPl լP0^AUWͳͷ͛͟͝>ͣͧsuޭw>{́ޭ̓>͇͍͋ޭ͏>͓͗4hh^P1e" L:ͫ(ݳͯPФRb<RRR|~?:PP+|~|~s29~wB9 62~PRRԤRQRPa P֤Հ3A 1PVfP Pw2@P(дQa PaRRARZ RP PPaQaߧNScP Ф RߧScPФ RߧXcPФ Rߧ]cP 1o<~fP>͜͞ޭ͠>ͤͨͪޭͬ>ͰʹͶޭ͸>ͼD.͘͘XPc  4(PТ\l<\\\|~?3PP+|~|~͜23~ݠB3ޢH ޢ\UU YUTdPUUƁPXXUdX_PU1UX (PCݢ$Ud< \LeUP``\\A\Z \\ \\`P`< \\\U1P2\LeUP``\\A\Z \\ \\`P`2\\UUޢ\\\U\\!\\?PPU8<\LeUP``\\A\Z \\ \\`P`<\\\UXOPX0(PTТ \U[U.PUU(PTTHݢU<\LeUP` P`\\A\Z \\ \\`P`<\\\U;P2\LeUP``\\A\Z \\ \\`P`2\\\UТ \UZUuPUݠBݸݬU7ƆUGТ \U&PPUU nU&PUUТ 8+?XPZTP<\Q\P\ \P Q{\PQPQѬ  S,PS"Ѭ  SP SSS^|~|~ݬ|~<#~ݬ .+ s+Џj+RWЭVf*:QfQRhPg(RWVPPYX$^,n$ ЬV:fQVQV,nnn(iPW1&HC>,nPPƐϞPVܞ`E:fQVQ<,nPPƐϞPVܞ'E:fQVQ,n`P`PR,TZP\0PWhP hGRHP.SP@,S,iP RPPşhRPP|VP^,nPPƐϞPЬܞ@D:QQ,n`P`PZf\0PRR[P@fn\ RfPPЬQС(Pՠ04Q0W^,n$܈:QìQЬ,nnn;PV/V&g:fQVQQQ (QfgPVPP ЬPР RSbcՠb'!PRPJcPQcccbP. .b0bbQ.bbP/bQPP ^Ь R]> .b/brPbPPnnb~P/bSn:.nQQS/cSbPPnSbbS:]ncQQb :>ncQQbPЬXШ W[gVЬZZYZ/gY1ZZ Z.ШYZk( A gkkkk/cZ ШYkk k/g.BZ@1ШYkkk k/g.g.gYk k0gPPgPYPPI(YYgZ!g*VQQgYY:%YfQQ?aQVPPYQVZkPPЬ P/`.`.`PЬ PQaa/`.`.`.`aP\_\S\G\ ;\@~-\<~\ P`P P`P< [^,n$0,n0lլ|YЬZPѬPPYЬVTWS|QP.PPPSR/P/PQQ1+RSЬVTW, |$$$(ЏЏЏ04Q8W<P7 8`P1   1[,,$T$PTP- >  .,,$T$PTPH,U- >-e$-.e,VW.,,dT1    Z,PPX  ..`[`,  .,,( ,<PP,],,Y~,nPPƐϞP؞ܞ=PP,,n`P`PRPTZP\0PR R,$k1IX, 1,P.,],,  Z  $k1,,nPPƐϞP؞ܞ =PP,,n`P`PRPTZP\0PRRRR$kRPVW .,,VW ,P% .,, I ',Q.,,PQPa* *,,.,,VW$G   1,nPPƐϞP؞ܞ;PP,,n`P`PRPTZP\0P$kd1  #,$k6PWHP|SP(PTnSP@PYYY W~P*.RZWR PP P'WRPݬPSP(PnT1f$kWPPt:XWά^,n0nT, |n$$$(ЏЏЏ,n$004:QìQ8ЬS8SSQ[5Q%ܑQ?׊QQSVVVTXRdPdTVRXQQWWQQ]ȑQ-#QӑQ]S-QSSW͑SQ QQSQQ]1W}PIPIQ{PPQPe^e ZPa.;Y.;O ::"":[<]>.-q*.]>.$-O]&>"-?.]>.U]>[<]@>8j.&-".]>D.--.]>*d- -*<%Bp//h#.N;r"n.\ ;T@ !"".( ./*- -*?[]-d n80&AvQkkXaM^^V}f ,f  f~T~T P~Q $PaQ}Pd|d~SVS dP g C$STAT 4jstato swap_bits<p_copy_file_name5 4jP# C$DATOFs vaxc$datof(t vaxc$dstrtod s   C$DATAC$$MAINzc$$mainB,vaxc$crtl_init expand_buffer lowercase1 get_paramsw,get_terminal_type̊ c$$ctrlc_hands@ c$$cond_handZ  z1    "   '! " C$SOCKETIO,c$$sock_translate0\c$$socket_readc$$socket_writelc$$socket_close{,X   SHELL$FIX_TIMElSHELL$FIX_TIMESHELL$FIXTIME$$DATAlSHELL$FIXTIME$$CODE SHELL$CLINTSHELL$GET_ARGV  55$CODE$SHELL$MATCH_WILDSHELL$MATCH_WILDCLI$CODE C$SOCKHANDLES exchandler,init_ucx_inet_addrtinit_ucx_inet_networkxinit_ucx_inet_ntoat kD~ RSH.BACKUPb E "[TPW.SYSTEM.CMU-TEK.TPW]RSH.EXE;29tinit_ucx_inet_makeaddrxinit_ucx_inet_lnaofxdinit_ucx_inet_netofxܮinit_ucx_socketxTinit_ucx_acceptx̯ init_ucx_bindxDinit_ucx_listenxinit_ucx_connectx4init_ucx_recvmsgxinit_ucx_sendmsgx$init_ucx_sendtox init_ucx_recvx init_ucx_sendxinit_ucx_closexinit_ucx_recvfromx|init_ucx_shutdownxinit_ucx_selectxlinit_ucx_gethostnamexinit_ucx_gethostaddrx\init_ucx_gethostbyaddrxԶinit_ucx_gethostbynamexLinit_ucx_getnetbyaddrxķinit_ucx_getnetbynamex<init_ucx_getpeernamexinit_ucx_getservbynamex,init_ucx_getsocknamexinit_ucx_getsockoptxinit_ucx_setsockoptxinit_ucx_getnetentx init_ucx_getservbyportxinit_ucx_getprotobynamex init_ucx_getprotobynumberxtinit_ucx_getprotoentw 6  !*[TPW.SYSTEM.CMU-TEK.TPW]RSH.OBJ;1+,D./ 4l -E 0 123KPWO56y7+Ɣ78.Ɣ89GHJ0RSHV1.031-JUL-1991 09:19VAX C V3.1-051PWho are you? (getpwuid error) Pshell%Ptcp)Prsh: shell/tcp: unknown service JPError in rcmd for err_port fPselectmPgetncsPread port}Pread err_portPΔ^UGETUIDPGETPWUIDPSe SI_FPRINTF,SI_EXITߥ%ߥ GETSERVBYNAMEPRߥ) SI_FPRINTF,SI_EXITլc߭ݬ ݬc2~߬RCMDPW ,SI_EXITխߥJ SI_FPRINTF,SI_EXITxWSSxRRS\\R1PERRORYSI_EXITXGETNC[SI_CLOSEVSI_WRITEZSI_READHЮ\|~߭ SELECTP1ߥfi,hV TYPE_AHEADPSJS<TSTTRRkPRߥmiWfݭf,hRWjRSxWRRRRR1<~WTPSu6PP#PP?P5PxWRR\Wf$ߥsiWfݭf,h SjxRRRRR1<~ݭTPSv6PP#P j?P9PxRR\ݭf&Pߥ}iWfݭf,h Sj\P1PfP2JJJJJJJJJJJJJJJR RSH rsh -l; GETSERVBYNAMEGETPWUIDPERROR SI_FPRINTFSI_READSI_WRITESI_CLOSEGETNC TYPE_AHEADSELECTRCMDSI_EXITGETUID RSH$CODE$DATASTDINSTDOUTSTDERRERRNO VAXC$ERRNO$CHAR_STRING_CONSTANTS9JJJ6P5IIIIIIIIIIIIIIIIII9**[TPW.SYSTEM.CMU-TEK.TPW]SOCKIT_SETUP.COM;4+,n./ 4O-E 0 123KPWO56Ɣ7Ɣ89GHJ$ E$ define unix/trans=conc cmutek_root:[src.sockit.unix.] !! unix dir /$ define etc cmutek_root:[syslib] !! unix dir $J$ define sys CMUTEK_root:[syslib.sys],sys$library !! needed for #includes '$ define arpa CMUTEK_root:[syslib.arpa]%$ define net CMUTEK_ROOT:[syslib.net]-$ define netinet CMUTEK_ROOT:[syslib.netinet]+$ define netx25 CMUTEK_ROOT:[syslib.netx25]+$ define sundev CMUTEK_ROOT:[syslib.sundev]$ O$ define vaxc$include CMUTEK_ROOT:[syslib],sys$library !! needed for compiler $$ define c$include [-.include],[-.h]$!9$ preprocess :== $ CMUTEK_root:[src.sockit.bin]preprocess3$ extract :== $ CMUTEK_root:[src.sockit.bin]extract *[TPW.SYSTEM.CMU-TEK.TPW]TEST.C;2+,<./ 4*-E 0 123KPWO56cYF 7YF 89ࢎvÔGHJ#include main (){* printf ("TERM = {%s}\n", getenv("TERM"));* printf ("HOME = {%s}\n", getenv("HOME"));* printf ("PATH = {%s}\n", getenv("PATH"));* printf ("USER = {%s}\n", getenv("USER"));}"*[TPW.SYSTEM.CMU-TEK.TPW]TEST.EXE;1+,=./ 4-E 0 123 KPWO56ycF 7@WdF 89ࢎvÔGHJb0DX0205(ԭݬPTPPLDSc9PTݬcPcRRTQa=RTPPq=TRPScʰTЬ<~PSSޟP2RBޑcSSPS꟭꟭P ԭ|~|~ݭPRR ݭx߭vRRP?ݬ%^\sݬݬQPQQPЬQ:aìQP|}SV:dVTQR (RdcQTVcЬP}SVЬ WD:dVTQRRWWRVRW(RdcQTVЏVVWWV ,nVcVWЬP|}QV:aQS:bVRQP (PbcQRVcЬP}QЬ W5V:aQS:bVRQPPWWPPW(PbcQRVڔcЬP<^,nnUЬQ6ЬR :a&P@nQT:dUTQ*QdnUìQP<^,nnUЬQ6ЬR :a&P@nQT:dUTQ+QdnUìQP|^,nnUЬQ.P@nЬQQT:dUTQ*QdnUQPЬ S}QPTTP SPbTTPnmpP)nmpPpP ^TPPRBdP֬PPP@dSRcQQ+1QPP+NNbbbbbbbbbb Pj?PPeGaR RdSRGPRdeR5R  R*PR#PR # RPRddR PS1CPìSЬ"|~xPRPpPRrP ^YWvTVЬRRUbPPRBdP֬PPP@dSRcQQ+1QPP+NNnnnnnnnnnn P2?PPeSmR Rd_Rc-VRGPRdeR5R  R*PR#PR # RPRddR PS17PìS!gЬRUb|PЬЬRSb"|~PUP:s0&|~PRPR,"g PRopPU,"gV p.RPp,RpRPU>|P<pPpPTqTP qT}TRʏSbRTjTRnRRqRTsP `P`TjTRnRRbRTbTPpP̶^Q(^ԡЬ ԡ~PPPRbССԼbݏݬ ߮FS; cԼ-aּPQ}PT;0Paa.PQ;0Pa T(TcԼ(}PV:.TePVּPT,VgTcPVQW(VgccP|hjmpPpPP<pPpPTqTP qT}TRʏSbRTjTRnRRqRTsP bPbTjTRnRRbRTbTPp Pim K ALQ  BLS < DEQ  DNA 0FOP CTG CBT TEF CIF SUP SCF SPL TMD TMP NEF RCK WCK DLT MXV RWO POS RWC FSZ ?  MRS 6@*RAT CR BLK FTN PRN ?RFM FIX VAR VFC UDF STM STMLFSTMCR?SHR GET PUT DEL UPD NIL UPI MSE  MBC 7 MBF 6?ROP ASY TMO RRL NLK RLK RAH WBH TMO  1CTX @STM BIN NOCVTREC XPLCTfop=cif  SYS$ERRORRUN SYS$INPUTSYS$OUTPUT_NLA0:SYS$DISK0VM^^Z00P|~߮~~^Y|~i P<UTDoTTPUT'TiTTUT TTPP 0P1Ь[Ь ~լЬZ0fnÎ Pʏ0ʏ0PЬ WWP0 ~3PԼ lPЎWPW`g`WPP=%VЬWP0P 0P1ЎZ߬ ݬݬjʏ0ЬWP0}~ ~PPЬWP0a1g0Z0Z0Z00-ЬZjS<TSTRS(T,Ч$Ч,i ipRP Pz; gԧ<,PPЧ@<QPQg00JiPP00# ЬUVP0 ՎYЬPPPP0Ш,045ǔVЦ  h0PJPЏ5P1cӏ4 ӏ4 Џ5P1E:Tæ HUUTЦ U}T~^R~l>n~l>nYY~l> nRޞP0ЎP0&P0E}UʏVP0 l=Ь P PY0Yl @lZZެ\0 P@hP>ˏQя Q Џ5P1ӏQhP)P0MЎP0{яPӏ Џ5P1Nh01-.Z ZaPZP0x0/<P0SPWWkȏ0PP8P.x PPP0,PPP@PZPS.YFOWP0mO 0P1ЎZ^^[πWݏ߬ݬ[j}P~QZ0~ }Pʏ0ʏ0PW1WP0J 0P1<Ь[ЏZ:Zk Џ5P0[QZ0[Z0 Pʏ0ZЬWP0# 0P1Ь~^[0ЬPʏ00  0P1ӏ0&0P0  0Z PPP0ʏ0ݬ ݬݬZTWЬR:b1RQS~RﱇP3w1TRSR~~S~^SЬU:e1UQV~8UEP3F5w1SW#U VU~~V~^S1PT SQwW UDwЎPPPT S.wЏ5PPOfPЬWP00 |~ ~S0)IWP0P 0P1ЎZ߬ݬpjʏ0ЬWP0 0P1 լ \ЧЧլ' çPЬPl P  ЧЧ gЧl  լ  ʏ01[P*Z BZ|~ݏ߬ ݬݬjЬQ@aP/Z GZ^^WgЬЬݬ8PgA ^~^W߬ ݬWjͳͷ͛͟͝>ͣͧsuޭw>{́ޭ̓>͇͍͋ޭ͏>͓͗hhPe) etͫ(ݳͯPФRb<RRR|~?)PP+|~|~s2 ~wB 62~3'PRRԤRQRPa P֤Հ7 1Pa\VfP PwzfP(дQa PaRRARZ RP PPaQaߧNScP Ф RߧScPФ RߧXcPФ Rߧ]cP 1o<~fP>͜͞ޭ͠>ͤͨͪޭͬ>ͰʹͶޭ͸>ͼ͘͘{Pc_# 4(PТ\l<\\\|~?PP+|~|~͜2ʲ~ݠBﯲޢH ޢ\UU YU TdPUUƁPXXUdX߾PU1UX (PCݢ$Ud< \LeUP``\\A\Z \\ \\`P`< \\\U1P2\LeUP``\\A\Z \\ \\`P`2\\UUޢ\\\U\\!\\?PPU8<\LeUP``\\A\Z \\ \\`P`<\\\UXϽPX0(PTТ \U[U﮽PUU(PTTHݢU|<\LeUP` P`\\A\Z \\ \\`P`<\\\U;P2\LeUP``\\A\Z \\ \\`P`2\\\UТ \UZUPUݠBݸݬU7ƆUǼТ \U寮PPUU nU寮PUU5VТ ﳪ?XPZTP<\Q\P\ \P Q{\PQPQѬ  S,PS"Ѭ  SP SSS^|~|~ݬ|~<#~ݬ V ЏAP[~ZjP[j@ݬ ݬݬϵЏ5P1nѭ  ЏL5P1]~>nYЫXYP0C^^SYR0i Џ~|~S~~P~~߮~~^QQ ~^Tad~^Z3ЬTЭU~~TMPT UǤP TU^TUVV^(Ud(nnV~^T ~^R|~߮~~^V|~fb<~PяBnS1zbRS^Xϵ~~~~ZS~T `PU^G ~^Td|UPPЫ PЏ\5P10^^U nCR^S0P1Z%[k[1WnSZGV5.4RUeUTVDRTU[TW R, 'ZZEP(ƗPP(P8c^SR^S0kP1W1r1y[P76РР[nkZZR^S0#PCZn[kkךZЬ [0@PZЬ[03P nR^S0ېPҐP,;ШPRR^nSЬT|~|~Rc|~<1~< ~ 5ʏ< ~T |~ݏݏݏ`PPPը ]P[P0t`PlР P] ^]POP`EݠݠPm7ЎPРPlЏL5P1[k9kZ Z[l լЪݪjkZ7ЎPЏT5P1\P5PP|~߮S~ ~@~^T|~db쟭%P PPbPP~Y%^RR ™¥a쟭1%P PPaެPP~$ aZЬQ0PРP1 aZŬQ0P&РWРXU|~|~2XSSU "TPTT|~<#~S UyXTP TRB{XScUЬcBpXScBjXScBdXRbT UPݏ5PP^ݬݬPPQQQPP|0^CSRP RRVլѬV ݏ5P߭mѭ ЏUP߭6P`UT TP@cRb1 TP@Qan@QaU U[@cP`RV P@6WP`ЬPxRPPRѬ Ѭ UR PRPT TP@cP`1mV  ^߭YнSլѬݏ5PS.Ь R(P@VQab@{VQa@sVP`S1ЬR1bSѬE"V=S$RB4VRb V jSU SQP QSCUPЬRb`CUPТ`CUSТcQ P^URUUU RPP^]UXЬRRPPNUVRFUR|U TVaT\WVBgRP RTP@$UQaS@UP`UaRgS USxVVTVTXPP^ݬITTݏ$5P ^߭1нQQЬPjT`gTQмUTPЭ PР P,`PЬQѡ\5< PЬP} pPP~ݏd5}P~ЬP}n p}nPѠ0] `~P~PQЁP}R}T}V}X}Z}\Ё^}P~}P}PѠ\5 Р RѢ0< PRRԱݠpP1Sս = ЬPԀ}R}T}V}X}Z}\Э|PSP xPPPSЬPЬ`)~P~հ0[0ݏ\5<l^T]P^QRR0լ+R#ЬPՀ} p}pmpʏPQR}]R}P]Ь STRcSݬݬPRcaR}aR]RPPPPPPPl լPX`^,n^P`RЭP`RPxR~nhPW>RWЭVf*:QfQRhPg(RWVPPYX$^,n$ ЬV:fQVQV,nnn(iPW1&HC>,nPPƐϞPVܞX>:fQVQ<,nPPƐϞPVܞ>:fQVQ,n`P`PR,TZP\0PWhP hGRHP.SP@,S,iP RPPşhRPP|eUVP^,nPPƐϞPЬܞ8=:QQ,n`P`PZf\0PRR[P@fn\ RfPPЬQС(Pՠ04Q0UW^,n$܈:QìQЬ,nnn;PV/V&g:fQVQQQ (QfgPVPP ЬPР RSbcՠbPFPJcPQcccbP. .b0bbQ.bbP/bQPP ^Ь R]> .b/brPbPPnnb~P/bSn:.nQQS/cSbPPnSbbS:]ncQQb :>ncQQbPЬXШ W[gVЬZZYZ/gY1ZZ Z.ШYZk( : gkkkk/cZ ШYkk k/g.BZ@1ШYkkk k/g.g.gYk k0gPPgPYPPI(YYgZ!g*VQQgYY:%YfQQ?aQVPPYQVZkPPЬ P/`.`.`PЬ PQaa/`.`.`.`aP\_\S\G\ ;\@~-\<~\ P`P P`P< [^,n$0,n0lլ|YЬZPѬPPYЬVTWS|QP.PPPSR/P/PQQ1+RSЬVTW, |$$$(ЏЏЏ04Q8W<P 8TP1   1[,,$T$PTP- 7  .,,$T$PTPH,U- 7-e$-.e,VW.,,dT1    Z,PPX  ..`[`,  .,,( ,<PP,],,Y~,nPPƐϞP؞ܞ6PP,,n`P`PRPTZP\0PR R,$k1IX, 1,P.,],,  Z  $k1,,nPPƐϞP؞ܞ6PP,,n`P`PRPTZP\0PRRRR$kRPVW .,,VW ,P% .,, I ',Q.,,PQPa* *,,.,,VW$G   1,nPPƐϞP؞ܞ4PP,,n`P`PRPTZP\0P$kd1  #,$k6PWHP|SP(PTnSP@PYYY W~P*.RZWR PP P'WRPݬPSP(PnT1f$kWPPl3XWά^,n0nT, |n$$$(ЏЏЏ,n$004:QìQ8ЬS8SSQ[5Q%ܑQ?׊QQSVVVTXRdPdTVRXQQWWQQ]ȑQ-#QӑQ]S-QSSW͑SQ QQSQQ]1WP^ ZP.;y.;o ::"":[<]>;.-*.]>$.$-o]&>"-_.]>.u]>[<]`>Xj.F-".]>D.--.]>*- -*\%bp/0/hC.n;"n.| ;t@! !"".( ./*- -*?[]-eVAXCMSG XM E "[TPW.SYSTEM.CMU-TEK.TPW]KGW^.OBJ;1G /L$u U(ΠP 2MyGڷH^ik,Z^EQ({MnL|9౜K VdrZ'C= Yux sF#MrY*8#ʒ߻ap_I`[]syIرBbCdK[`x Z`hp 94>hUc"U]F\&Eb11RGp J-i8VihGЖc R\u<'2! dƿXPkC"8w 0{+螸>p0Pi 1o\\Gy}FJ.i뢖,O4a]q}R!  {6;EgrR򪵡l7DOStK.y[t\-х.t%.2zx~YV} M%uD1dL>pL|qt&&:B7&:ǐޫ'+Φ+JQYm_?ξMlʛbQh'aRq+N* Ͷ 4/"UBW{s29@7vZ~2%. SEԬ<ٶ&A}ul/.^)=e|0%ĊJ,F$oeI>py+Q?/рâTG'jzg]O5U8%E0 U-עev]Hk}VL|6 |]jLV쒞!KEIZyb["Zuv &"=w(Vrx h˳{O#ܛv=iq!:?eipQפ.nU n b W0V0 ~}Ƞ -xQӓh"d¥ҁ U#0>o@y+kq+n|#) w)]|z|2q<*-t[E+'&6*Y LHnN:4sW"> ѥ `Q$v՞ y(nTs嚫9@(nc"_I֑f; 7~݊δ6þdʟGvbrI`mYPP]7EY"l[̨B*k|+ޣrUoe>1h<#H.;MŹfAtS G%L-nⴚގqCR| "W<ɧ.Ma#S64«[fn"nñd(7m[W:p u""rD TEdwseJ H0.aګz>dÈdAy ❉yֹ~-ۗ5=#kxOQ׃#>9ُwkgMbee\ԅ|ӌ`i <]ekoXE厖}kH3E,Z8+۱_^Vy7%f6X;׻*Thq|f){UJ%O х-?]~B;FAF.-D$B|2"I␖HQ҅ Gp_TnDoRĻ*2LB)PklJ&y5Z:q4$6̐FGˑEq5'h4{4l Ad%dx\M84P'٘`og &ʥOI*7%\T'pbKUW8к=g(/Tb9W4NS84M5jJ%H_1DF9 $Eg Cr+l,`E!RQ6l% 9MZWX.FHEXx?뺳_|ݘ)M'*oRD݉.Qk+2Ja(5|n10b]dDQj.c}[ԧrӨО8Z({%A qM<0o^hUtІo 52. .oQ/MtMvNJF)~lhSL/qa:k\Z 6/5aA]nD+ 嫛1yԔ%GT]3 CoG hAio4| զ>_SFqZ3)b|± J\]Dr/fA[9<ӼF?Z~$Cū_-Ҝ#HLKeXw{BIeK:xVZuV7$g_pd;FAsTMm86Mfy橌Î2vFj|G2*{!u_t-xqEtTdMu~?ȡŜ_ߨ| #e 3'G`bH@/ Cl2ȄIppGihF"KhqDA9Eu"ic,Nsձncv[֕qh갑$Fxk-ZߍnRlT|ΌOH!G9aiWnrةA.xt-]X>O^Hѝѫo穙>(t:6 %s-~/b9/+>;Nh(G%6 IBdqz\~g,ފPaK%2ȒQ߄bڅ9P]'K<K}CϻH~fqmf3dWU9Oa8h,]PY͈ TЗI̷?gYR4M_Rm#玛Oķi_ ,Нa?O٪IcڵV:56GP* |o+<8abi凘HsnG~`WTP ?y9~3=AR }QՏCaGelǡoWLQj2@MT=/7iG|Th| .M/~~"(֗!G,*!g^i"2F"$g>zyµ]Lխ+s3`^;=сeB39K-ּPuj :Ig"-'[՘˄_Gܓ,jb{YۿCQz>[-tٿğ4L"[T2c٫OS' 9͋5U&N&ǭ̣?UcވK! tB(xV:hNA|@Y ư!!gKo *4FK3Qb3՚Hc+'r\ʼnQ%@Lg'@lz gQ+й1Ds/j..o3Ɍ diM.&ۓd'5SHj^pK?3{<66N)HIf )]jM/!أkdPXeqF"Y}zӜa)=1GWޑ4ӊZDU;G7=+cF! "dieыN⫍LD;}SטoѴ5xOjRXE۹5s}Ư%~<@T%XV%yS]RbpfF&b8Tw/1g "+k6Ɯ>>ÌY s1U`jĊ:X71+ږzE\᡺k.4Eq8Ղ :G(c$p]$3?myVGTˉvUl]U$LMeG:+ W!/os$+3$ iݦv˚i|V~ Y7;m\X 6bt&*uG|9qo1>^N4"VM!0'mei2M7$#X![2H~1l"_*xA#{D<E`Gچ# %G|vs+yC/ %v0LE\/&H. Ha`'3oW6+ki|rQ:6٭]?`Pеޓ.Xa&@=bZ6j> #3mUA@\3WD5£ ZˆCÈwRW=w3Ҕ ]re/Tv$*$RR~Z#;1@ $% ra)/ޣ f->ps `=,P˂-c)X @G db^ kω6}1cbˤ#0hPN>3%o[!w6V6 ȣI׭y>{Q\nReM$Cl> dg,dh8V bE X7n,BTX4DFP'⇰>6Fg~8* @O Գ}r&TtaP5 vopV*%IBg~{B y.պSM-tA\j'B ;>mcR%7R@l@>){+Bh` hEbvki#VRdӉ8A&xQwɱq:~9<Xn' Z@Z7NIj3! Ǖ:CU Yj vTޣ 'V1'㱠ZZuxj IN嵿!!ZԌ킽BALe+,5C#ӯHejL\M(;Pɴvl]耬3_0+9dKAE:[`ҳvxӍ75N*ׄ0 @K< Pam3!CTG).XEc%0U6NhbDZ}yÂ,Xmre޾Y*ׯg >z*x,qwyt ^Я0ž;=9].MȪo]{|UAx\ܺSG#{j IwwL @,!ɻRi߰,"˵$}/axq@fUB<_`7N9/a9"ъK~ϥF%u qQI=9R e6r 0іaBTpncj!Zz.}-I 2TU3\洽Ш a3VX&Hv=:EL|۾}|m :hSqXPcW|O5@h/ c +a.*QxJ%#T*㝂JgOZh Mw0H 8S'_F 48l㕢?1{>cβO.*P>&uK$ A27{b`vBǫ` &̩ƺ72JWd/Ǎp*k+էի7 ^sɤoOoUk>O9ۃ,kWQƷwNo7^$0]}kq"a$̯*x;d Z(6zzQ(b#I]^)7䟼^r1W"2"}@BZm'10VP,0{}! ƒ@D~Fx6+& *w! >A9cӿ_$dW7r72*Ԁ\ VALr &ZN%E5vDkܼC/; fț睷 w;=K='ӣQSk*]9ڏ ' 6#& ca؆*~ZܛUt[ tR␌omsAݲ]r%+ 4G/, eH}L If[R<U*spu? 0J;s yoLcTfI;ױ6y*b+70 BxeU 6ERܸb% woWIJDļ)S==Adj1^?io5!8dSjV]'87@Ѕo0:#D]Hޤ>{_CR i÷A"l}ar./ Aԯ7rXȆ#Tda޴FX:`L lI$DS&N9Gf C/.MCD0 !ѤHyRi[93$6vDEsZ:mfDJХ]x_m7}V%@Z7JB^` aծtq;S8x7!,"-4i\C+38bאJ.Ÿޠi, <‹e vB]LV?|+G],G>qBLzEoj^'j|뿿['e>bh[u)r֡Dm>^S+*ʤoy-S fYlSh<Ɍ:\S;Ye9D Ab-ɾA8L_(PBֆq͛CҼo`?K\~sh/|,ˈ]vc=`>)nɈf(yӦ!!OC~W7!/K5Y?80k!zbX*{+0-`r2`#$]3 IovliÌ)sާ=bঌn/)2"!^6'hvqb+OG}?˃!uMv.E4L>gT71pa}CSdMY >ߖGUJ9AWtJ j ٥@'.rfXe/;%oʞ813"!^V4sLQTeFܱ+>*W rZ3~|0TxcKpĶ"# oh}D|T/^ߛNNqpQD5utbCģKF)-g ) ).p?n!'zvXv"1u/`h~+TZ,oD7 "bW_4Ts&w W7rbd<%C>H^Km[htAQqǴKrGmB^Rc߸$ *:_˒ "S}祋W`%#tK \[KtCGr4 Eוu_pͶ9v6KDX7u`ӑZJvpŜ4u8-cX q<[V3ի~ @PDu5CW6s*j YKDݠ}X@W$#[=TWfF ާ9eA>R:ڢUK8tWZK-xê +OU|k9gE,JINDj3DkZ ZlvovNB}IA0a!d?<_jnDnkBT]5Fא%VT4Nn띻 nnшi`l-`,S8s%l,4 ȫY}L'*I󏈉-ɄC9A!X]+ͥ l^eRVup9.A_k bE L>BU20e^\պ*l -29(qB[YkV2rdCGx6"HKԕS="Tm}R6 M 0')͔Ľ,Br]SM| Z9 ?V*XU(#o(&(I&︦kC,I;rd_(h 'ճ5kY\O5RS=B0Dcd{ultNxmYW aq*$ ̺%b-Fs$^%! X=ETd˯iF$wz,ސAf |XLgPP?dX1N|uqCp'"CO[A|-݂qkEm $g dX_{+ Mq,MVljHkҵ.0P2/?M`tn 1vF{{0D'B 7,6$دU48xmWaK1O5 bɫ9+goUHVNL +>itw 0{2nYs9XN>-&e.YblAR}}vm'F/P{SGȜy0M%,nIFuQe[nǚ0# Q W=zAT,،J8i:xH6ϿD7WY?Ail;DV n=$!msI+5]ɐܩ~/vP' RRĤh+C+=&S. }o. tI)wpq.ZO "S1T,`sn@1%Y6/d8/^hn| tm`_Yg C@OE6XL_B%.MPHF<¶m}wu21 -fQbx9,r9M!5z,J U Ytm~'SeX>Ƙ~!7He"}ښ@+#Td $_e`q2/9ӯEjE7HU<؛&3PPd- H7Jܹ9mm`Zy3TDdP|BR2A$z}qdsLל(w 8fMMORЈ6i_6]8ژ_Ź.K%Ih97R3C-&)[ pQ)f,dHBYRF ΅khn޾5 nMM{vk50I+kK`NL Y'`de/z_i+~+60r,g`?*rϚ G? JD& (OMf.hI{{ED4-9NjD+HP'K_kgQF/@HwlUѱu0=Ysl*B rqe&g Ks(:[ou1 Hx}AyCV&M֪B)Hʖ]\Nȍ:"g9wKV(p\zh<{12o_J7,|is>¨wv(ЕCqgauE/(cz'ZEQrvbI\\)BN0 uFw"Aiw7ު/ mgE.SzJ"qU_:WΖwfP !LV(葯h/8Bou^3 f#VȔoW\+QAO| ocޛ{7*PUΆE*vVr!Vj@b5_F/T#A<>qGw?,EvHSBZNp$.{朒 >0 U X[|C?|!'v~va ĈSqÓga nWCpU+|'%12|Cyg: a/CxNgdputiw&X0̡89͙xu1mϤ++#9&&z0 1KZp\_,iTր/oUlPޗŷ8uС ՗Z{V1.Kڶ6Jr\()9),jr"KȆqX! Ul%Ofr`c/.E[VYt$0^Ѐ7Q :uXdha4(>aW:|insLo35B?JtC8>U S\nPn>4Jt<FTs;cZE* MC1F~Ib%GHeaD҃z_b3lsPwORFU2PiQ=4PHJ }X5jC4 1jͿIm P{،v wW& s؆' A*N)Iw̷{kҸCxŶ}:jŚBfA5MZĻd c|@y#E60]]`PtEt;7nf3RWkY[e$݌@Nj\zF_)R K y7# . i q]4yq3T*}/E֝?cew噜*?HaL?XM֐}u@B;tvؒ?JG G.1[ay.R>1Ht9w#Eʴ+-hyh=^ uDAy`'5P+8\Ă=[c<<2JA36D )V^H:D^:OeH}lgW'eG̻W~#gebZ氙Yi+l65]黓,^y {Hm$w^B  Hy)!JmLYA[ +j%TX 9[0{@' Ed=>xh[k`ebhK!t )UݷDq)Ⱦ/VVMD^pRL@Dd !Tތ[.~rh^(3}dW=XT9^j8'+7ŋ?&~Wj5j9uVIq>8t/oFC̤4{+=xEF`ޖ}72;֚7$!ňZ].o~"]w()Wqaa2q)B ?Z&-S*ԓ[nX荷 )mI轮$Ho Aw{c"Vi+= s o/? : x\?P(D`#dO>W"ō,Kͺ"Gб~Rbp)*7!!vK6YxS*u /~qh* *;"Lji<ω\ca_oüc* gHsi߄GE Wc1j9Z7v;RPLMJZMI$#(O$NDkmQkN +rȺcSyhfTc޷P(#r5|QΞ+,2$%t'/&=Z=8CKQ%%6wMA{PcB4).,yq`DՄA~v)^Ԉ^wwVZĥx׆uXGk.@aZ3]mp8@Ñ.iQ3EXlQ9}$7Vmb͗Ԑ8(`1,|tԍg>t=LXxc$98$#0BG^_<%U;'l>{k]vZ -8iҢGih-3$cМ@FU\ւq`+"`aVI:+~wgФ[1C"dچJd.2kZ E2C4'4Riju(Z}dOr[ĥ=ȣcXV"-虯mBVօx,}>tk>%)Y Ʌ]^޵c6L0@w"m[w+4.|{Gޔ&|3Toʼn)qQB㬅=lWK'.,Ǩi7 -@qn69mpnu kh#@֑ r5x QLLf\iF ~WQ/g#_o2D@||"-kcO#9bNeF*ާڙqĹ5SiY%HORP0VGng$]@#`@_Gf1 ' f-8<A:zs"GiuTR``םMԭ QrĘ̧!ў:R`ox )NiKxj="aǏg m_C̓U^ zE MjÍ6b%}Un)TZh=o ~L!DBHT AJ_7;PYfl׶M(8snN5.wlbĹqUnħ=A|[>nj8u-VS[8r4oU۸wΥƁdoLšIj"zF;KcQ>N ZMҜ_ɱ9x 4YےEw>;9WyӀ1ku*v|4-QKuA`` U'[[ϴjEi#1N 0ckwS|xͲ-/4Ne sFX2O(`ΐ|+;AͮU~Ռ]@l CY?3rQ t+Y.. 0}{ocp#4zg_H9\'9 tf.R&=0ұ׍?[Lty+B0lN`a^=r[PL?rlQnbic8H QGSsjlsH$Ei54'&Tۖן ,C^cr|` mf{V훈ۨMf+;npFz'!%ZC<{p4(յ1ĝ7ՏY]˄nIuiH8(]|0b('*r0BoEjPB+S T$⾏wH4YIYTypY$:.*2JsO3LI֛{,"`6#Tjy-DÖ\ɫӏa*A?˺p4h3S!5,LQ{s\o@؈ O]ͩƜ,QTO2kA#ڲe ķ=)\м(^ſ/ ۔+^eDJ W =UUV~P\,p3D`OӔdU'MN?$aFBx8B$ n<m֏PٕnVI2^b)HYEN}$I;aV07y`ixG.ChOۢ‚ZvRϽ(I{FN6y *Α˖jҜG(NlNhLYPRxaOgZ↗J{Z&XWNq_d21sR==HVn%Bse0AKac]u\V7h'OdtgAaJ m蠔&Ja> Kz,GnX;Hh>+Da.1gfݰG8ӺC9-|l;! 9 ?$,DԇJvUg/NƦ[XHe Bx_pg.O>ƒ9xoʵIYr8bGǽ}9+@ mCy*OmHFM}mB1R0)iTnRu9C'CE}xC6X'uZM<$ 0\Xl$%9s&[m4`N7i1-cr4-Qz.~˝O:F|I\m|37 GS !穾d'DgHGdب ڏ&¬L3v1aPIV֧E $ՠc1NPkKo&jhN~hC~ YТKЛW2%^ ӎem1Ϊ7,"uyMu48Dk3Nt$9x^`[-hǭU F?|=z*M6jtqy{RQM& us:@dhlQZds0)eç(@/urcjtg!d/\ 7B8f0=Bafx`d HN ϫ9֓t#/"ܕ~W|I[;߉ץQ]>I;: \Q!zDf}_"UӦ'3~!ofEuQ'y\@ƶ勣K4OҤ17 n8o󴺬Ւ)[E1SSU1^>!+6?GK@_?8|e 95S0Սf/(-B>~l%q} "Dmx𩨈a~D-i.ƆdaJs Np.kB'k4"pe ]ϪҌD2=M xan|ıE-]H6ݥ-ҡ7-=:~MՆQoBoe)540m*5>r/1zG!c^3Ўm')*CͮpP!4aw}KYI-pȟPć}]l)N9\u(M !ƩjgAV$p9"A;rһ=D\'hB3rp xŴ$ Wcx> Q k$L?U@-`%*}50t`| Y4 PFjE{Fo8,ߖ#  AA, E+l8R YPHm{-/n QަFTi/2'jRT@덵#>oc> 30(ҧDE},ΓcY~Rqӆ/cށ4ܛ4 ~sShAr v]bOпCVFO UH729C|ߑ݀ .S{4"(/5m}JCsf~j"T3Aɕ'9Tm9 >؅f?q}AOaS29v gMe+o0>bӳa lPrjHko+_2ChYhn Tc^Qtt3R'R/L%03LP!hR{\0D!]vpLAl2 {cRSg MEH TO~o@U+VW+0@v cTAa7`^L1QN\( SR@yz*9 4o2a.5TSrkvx0 0ެ T%s:6fi$oU-#u'z`gU, :L-~9VM¸ m2 u*E: N6l6;' PG򛟮KnR`7Ǽ>1 Xl;,%CYĸ3<  !xlZɰ1 P}LP|cd#!SU1?S aSE .= f{dY:"Pտ44* ރVD m6*%sXo\Tp1MyL_7קyu\ ko[̸?@111%]mK^eEaCR%2QRCCms#~); @4ܓpQsk|}M#fjJ;Ӭmٹ"I^7ۃɔbu r4 rt.L Ofh#XDN *s_?0t)PNevUﵲhW@ǦgfD3D׊0)==甘hJoL ZD0-/ lEo{rZ/.6ioJ:7|cqLgye(]k fbq7kYNL=* lduD7'ܛKύiÛ)sixj*qgt<+`{2.nx"e3gG千WX0^E$Ia:8ף_J{)0͋UMnF^s&L-/iqd=%^ьl-Q[=x}SfK*CR $\ ߷iPi.{[ #i?K&Xg;NbXV Tı[|ۨ5=<"r { U X1H $Q ? ݫ% sdXz7'KLAo8N!viuv~!x!;(LcIN*S/,/#"4lQW ZكиT\Eu }ʎ8{cT`*p&T#s W6kYrZ`K鼸+Œg?!M_b0_^=oz&u1+ӌVÁ``ete#/N^3oY*Aoe{O$ďU #L {!j6f]Ig!Rёmhr-N+/"! lޅ&J,0[;Uhz=%4'q[] _톹鄖e'xgg5Yh下rsgZF@xX5h1]WuC#1>LtisM[?vpi%ڳ!)] jmwDž|}cW$i\>tq>\<('l[y\AM89(%.(G/2>$t ]f@?sZZQȠPg1Ep:Kn+VˠwȜmq|s pQ80Ɛ}b>9ઞo55i$.')CC+ղ$#y,lo3Ƚ M3pYANM&Mn%E9F]j#\>ί(<_hr:s2aBDl0 ;fm']{w* }8G1eǚv*={ LV &oӈMDBL_K"dcҮ  o  jD!Yu1?(9:bD=}ҏtCϦPD3jG=ui^)d (Z̟ZYyny 5yツPBm1}?8`ӭȏT89k_G zUC'ȗԤ9'֙<߆8HK~|1b"$\Io 9u_ʲ{<ifqhQC;z[r@h06zˬul\4K+:Iޒ&RJifhN f?c k^d$<+wEz̃mT Z7tj $R:8Y}7XHMSK*y ,jBǯ/ƿplMͣ #b/uf Z4u,L Iɒ͚SG3Lcu@z_ciYف*aP5UC j[']i=taA-j^*)[Xa-E2*݄ɭA1b"Lm-GR2V:lr,+J32gj46v(~gʎ> 9!ڪO9s].5SţՆp)ѓÍvu>`ʻM LcM+\`Xi>tL oZ> ܖtu&I0˛TQHy<ΤDž:{`hRɽ$AR4K n<ؑˬ( U. =_0j֤sNp'>bJJt ghVBn!35-E+ٔː|{]'k{eV`cֈ>>e-Bu|Bg!,rS#[iteQ}eAWӱ*̰b+Z0@-E~w%kJwX5_bmb^(Bme" 4e5v}l(愯}|4Q _ϕXtsg8huo:+",:?;ENPVV0P{+)ZG(]^:t5xǚ7AF U蛨͎&$ c `FJJ 'EU@hX-Sݴ OQ"z@`ڢ>3vUUUa#DC1{ܥF?# \EQ슝g;URS O6I`A%n|"p2)^>,L:[y_R ?A.x>*rdEd>gw갯Us,E.o UtVecuynAT|e~4[ȩ9hmh^"O۠1'+' 0GYVv]2#uki*@i}nt')XO( r HfQrM Qoў܋࿉'pZu: lS/E;mo 8I+=\Dj9% tL D4jbH؝dWdݙlw[ok#ʺfHf\N`:Z? <<dD9$Rb2xBKx,(Gt\]g;ƬԻGksdBS{_mpZ9\ٮ+&Q #@HGD!>H{#$L"#Œ'v7]y <bf+b}O[}H2T"$.;3{G=$ۥ -ԯ1qQ V;ֹn]DAwiOcaesg[{/V(Sz[3sl0ׯQe8RpDԅM9GH@Ob:I,8_vʱf[ $jێ kN "p%&S!Z.9ꕈHLg+/@ {Eڢb@ō'% wZt2y#=7'UۚGw`EDЭ)l>Ck˭;c@Ԛӎ+uZng٬e_#;pw9v_9D2vжgjA|&:=*)/dƴv`*D5ʜz|^Yq\vkLu`vX;SeUݨ$WaxC\Tu]dUDΩbyF6D VBJ 0Ipμ\nſr"HgihL}# PRk1W0G;~ӋG8QԣT#FO[bAr.Sj4bm Xm\"\$#H{l(BZ~)0vw9KqJU =[TSr>Ο0:}+j?WŴX|1ZP'JP-z5a̫Ip/uK`z,S{-~y&\m*@ިF"M܉b$)t_.a tXnԟ#wza5 w[t%~ۅ5Py}ޥel&.Y/X0RO6 q zK%q'oZu*]˧~s/\#g(ס&W峀"NLt#Ȁc`C]Y\1PS1P Z8}5ڣRɎC6gS9.R4 ؎T"vo;yQX`HckgCjR&( Q+!+2Y$N,jqJ|HV|ةUy' 6: ŐQ]npP@cGYۤkjWL > |"v"T'^^wkVNWB$A2C{-Ah\8T0S.Q5-ߣ7d [^A$LjhV;z:VY+ə8ap٢Be#_h~3T.a+aʄmؐ`b杲^y9?urtB!"%tq^97T\A37=]N0xdg_-} `Z)2 0]%B'*Mn;c-K@6GlqN;Hd+ԍi.%Pp@Ƌ޴e-Fr+ozE[!pYYMsaUh^DprQcsD9.ꢀwr|a~ŞLOÔ^7haYK }\Ę:'m(F*V*$kNJ_$eb dɖUl qÒGH'I8iBh5k vmlgS-uM1i kJYY\@@\@O7DMȎȂiG}}Fmkݕ t80{W_0([eJ%at7 qaҲołoC2?l4¹%y`gN7u,2R [+W<;=*n'4XH &ͭCݞZoakP[*díM9~/QefɵnlLD0T&x-D{*:I8[hH u+cWM_Y#T>*  vRuiB vʱyߌ b|˗D/H|7Q7}p qn2lqAp ijme c,#Y+YoSW[!g"2A 19+9t#Fv[2\}z~oF5>QȄ%@znm*Y+Dw߱Jym)Ȫe3g6c to9DZKɰW8?%Yc>sL jz֕[I-:oW6p` @=e_vMdWg(ZjFމAqyf@ms{s;0_,{ocT]riT|mS@p<[*XOLw:!b-F#qS "@.`\y9_9hI᳊v?_MiDĆh:J4$C;Bj0FPmLVm_fҩK&-B3 b'mui+h{+5VYₘysՃwys2BP2C=Q2(g1'{= tl=9،(Y\OeaR9 M2&`aI2)ו[I`qc\oWߎu 7qD fc7.Yqa3k V,-'D[)Y22υ1XDUY/U"'"2 9yҼe}+FV[:01V稀8+L%ޡAWTZZY䗳rjlʛL3]55)43N" fqA8>PHFkwyw 5TVѧ6CJGyUMVA۔GwOBsil\\@D P ~'5_c5)y?)jIbr7e^fT3W jWʢ+nv¯)2ѥP( B6,W1xNx}J0BP6$#Md{^_UJ(;Wt`HrzPak`R#6d `xLЋYKN_xD,t݈?g>G++$?DžpoQq4%->أDîTMAknkTuIf2GPLx8b /Al15_hnPΫ4sV<)}&Vh Jغ7?I*j|u VtjWNjGAG֛ @O٪E7o쩅oK-3Z@ 7dX2HY*f`*: pAS.UȃT﫵 I-=ި %O8M8enuEv!ێX:'kg jDyAѯ_qHo*KDBY8ZlkcAK{tƵq:c-0tAҶ8!w%ojŇ_-2xwB,LS{&>7)J@,M@) t{CKHaiAdxI\ QjF]7_tz]Vhӷ["8PFڮ6XL!~ӧ!z}16DmvN*|c;K7%&vV4mNX˪[VJdǿIan7' J>lt:rk}/>-7h/ "D# @ʟvD]s\sCÊ4jGҕ{+KHv5](^N  roMX5C[c< Q m:8,% Д҂-;\5*=ͼ)%Z ܯDK/wp_XG=%t >-,Τr,%<N5skOilC&]I(  ./avaxc$crtl_initf expand_buffer@h lowercase1th get_paramswhget_terminal_typek c$$ctrlc_handsl c$$cond_handZ [0    "   '! "C$SOCKETsock_translate0@create_channelhdelete_channelT vaxc$socket vaxc$accept vaxc$bind vaxc$listen, vaxc$connect̘ vaxc$sendp vaxc$recvmsg vaxc$sendmsgvaxc$inet_addrĚvaxc$inet_networkؚvaxc$inet_ntoavaxc$inet_makeaddr vaxc$inet_lnaof(vaxc$inet_netof@ vaxc$sendto vaxc$recvc$$socket_read<c$$socket_writec$$socket_closeԞ vaxc$recvfrom vaxc$shutdown vaxc$select/Pvaxc$gethostname/vaxc$gethostaddr,vaxc$gethostbyaddr|vaxc$gethostbyname vaxc$getnetbyaddrvaxc$getnetbynametvaxc$getpeernametvaxc$getservbynameO8vaxc$getsocknametvaxc$getsockopt~,vaxc$setsockopt~ vaxc$get_sdc(Ԩvaxc$getnetent9vaxc$getservbyportCTvaxc$getprotobyname>vaxc$getprotobynumber>ԩvaxc$getprotoent9 Z Nn A_   H ^J     1  '<*U  O%G( D   C$DATA C$$TRANSLATE c$$translateh L C$SOCKHANDLESxc$$init_ucx_inet_addrhc$$init_ucx_inet_networklLc$$init_ucx_inet_ntoah c$$init_ucx_inet_makeaddrl c$$init_ucx_inet_lnaoflc$$init_ucx_inet_netoflc$$init_ucx_socketldc$$init_ucx_acceptlЭc$$init_ucx_bindl<c$$init_ucx_listenlc$$init_ucx_connectlc$$init_ucx_recvmsglc$$init_ucx_sendmsglc$$init_ucx_sendtolXc$$init_ucx_recvlİc$$init_ucx_sendl0c$$init_ucx_closelc$$init_ucx_recvfromlc$$init_ucx_shutdownltc$$init_ucx_selectlc$$init_ucx_gethostnamelLc$$init_ucx_gethostaddrl c$$init_ucx_gethostbyaddrl $c$$init_ucx_gethostbynamelc$$init_ucx_getnetbyaddrlc$$init_ucx_getnetbynamelhc$$init_ucx_getpeernamel Եc$$init_ucx_getservbynamel@c$$init_ucx_getsocknamelc$$init_ucx_getsockoptlc$$init_ucx_setsockoptlc$$init_ucx_getnetentl c$$init_ucx_getservbyportl!\c$$init_ucx_getprotobynamel#ȸc$$init_ucx_getprotobynumberl4c$$init_ucx_getprotoentk lxC$CTYPEC$SIGNAL tdeclare_control_c_handlerH signal9ssignal& gsignal: tn# ! $ SHELL$FROM_VMSSHELL$FROM_VMS  XT8SHELL$$RMS_PARSE  (TERMINATE_PARSE  @   SHELL$TRANSLATE_VMS  o -L TRANSLATE_VMS L 7&~ DEFAULT_DIR  <%i COPY_TOKEN i t@ : INSERT_MINUS  E* DOTDOTDOT  t2 NODE_ACTION      DEVICE_ACTION     FILE_ACTION    # TYPE_ACTION #   /VERSION_ACTION / : =DIR_TOP_ACTION = _ L DIR_ACTION L   XSET_WILD X f SET_WILD_PCT f |CLI$DATAr _LIB$KEY0$r _LIB$STATE$tCLI$READ_ONLY_DATACLI$CODE SHELL$CLINTSHELL$GET_ARGV  55$CODE$ SHELL$TO_VMSv SHELL$TO_VMS v H]  U X    ;   SHELL$$VMS_FILE  ѹA    & SAVE_NODE & Z!,RSAVE_DEV R #uSAVE_DIRECTORY u ?7# SAVE_NAME # :: SAVE_TYPE : c&  _ SAVE_VERS   SET_FILETYPE  SET_REGULAR_EXP  SET_WILD  * SET_VERSION  PCOPY_STR  vK,!FREE_DIRECTORY_DESCRIPTORS   , MATCH_REGEX  / A' {MATCH_SUBSTRING { $'QPRUNE_FILESPEC  O%l FIND_LAST_DOT l v ".TERMINATE_PARSE     CLI$READ_ONLY_DATAr _LIB$KEY0$ _LIB$STATE$vCLI$CODED  . ABS .C$SIGVEC \sigvecpsigblock5 sigsetmaskPsigpause4sigstack> \SHELL$MATCH_WILDSHELL$MATCH_WILDCLI$CODEP ~ RSH.BACKUP=E "[TPW.SYSTEM.CMU-TEK.TPW]TEST.EXE;1$,p@@(8x@H`H@(  x0HPH`@0Hp @FORRTLLIBRTLMTHRTL TEST main[ C$GETENV getenv ISHELL$CLI_NAME!shell$cli_namewD"shell$is_shell1 t!+ C$DATOF$ vaxc$datof( & vaxc$dstrtod $  C$$MAIN[c$$main>avaxc$crtl_initf expand_buffer@h lowercase1th get_paramswhget_terminal_typek c$$ctrlc_handsl c$$cond_handZ [0    "   '! "C$SOCKETsock_translate0@create_channelhdelete_channelT vaxc$socket vaxc$accept vaxc$bind vaxc$listen, vaxc$connect̘ vaxc$sendp vaxc$recvmsg vaxc$sendmsgvaxc$inet_addrĚvaxc$inet_networkؚvaxc$inet_ntoavaxc$inet_makeaddr vaxc$inet_lnaof(vaxc$inet_netof@ vaxc$sendto vaxc$recvc$$socket_read<c$$socket_writec$$socket_closeԞ vaxc$recvfrom vaxc$shutdown vaxc$select/Pvaxc$gethostname/vaxc$gethostaddr,vaxc$gethostbyaddr|vaxc$gethostbyname vaxc$getnetbyaddrvaxc$getnetbynametvaxc$getpeernametvaxc$getservbynameO8vaxc$getsocknametvaxc$getsockopt~,vaxc$setsockopt~ vaxc$get_sdc(Ԩvaxc$getnetent9vaxc$getservbyportCTvaxc$getprotobyname>vaxc$getprotobynumber>ԩvaxc$getprotoent9 Z Nn A_   H ^J     1  '<*U  O%G( D   C$DATA C$$TRANSLATE c$$translateh L C$SOCKHANDLESxc$$init_ucx_inet_addrhc$$init_ucx_inet_networklLc$$init_ucx_inet_ntoah c$$init_ucx_inet_makeaddrl c$$init_ucx_inet_lnaoflc$$init_ucx_inet_netoflc$$init_ucx_socketldc$$init_ucx_acceptlЭc$$init_ucx_bindl<c$$init_ucx_listenlc$$init_ucx_connectlc$$init_ucx_recvmsglc$$init_ucx_sendmsglc$$init_ucx_sendtolXc$$init_ucx_recvlİc$$init_ucx_sendl0c$$init_ucx_closelc$$init_ucx_recvfromlc$$init_ucx_shutdownltc$$init_ucx_selectlc$$init_ucx_gethostnamelLc$$init_ucx_gethostaddrl c$$init_ucx_gethostbyaddrl $c$$init_ucx_gethostbynamelc$$init_ucx_getnetbyaddrlc$$init_ucx_getnetbynamelhc$$init_ucx_getpeernamel Եc$$init_ucx_getservbynamel@c$$init_ucx_getsocknamelc$$init_ucx_getsockoptlc$$init_ucx_setsockoptlc$$init_ucx_getnetentl c$$init_ucx_getservbyportl!\c$$init_ucx_getprotobynamel#ȸc$$init_ucx_getprotobynumberl4c$$init_ucx_getprotoentk lxC$CTYPEC$SIGNAL tdeclare_control_c_handlerH signal9ssignal& gsignal: tn# ! $ SHELL$FROM_VMSSHELL$FROM_VMS  XT8SHELL$$RMS_PARSE  (TERMINATE_PARSE  @   SHELL$TRANSLATE_VMS  o -L TRANSLATE_VMS L 7&~ DEFAULT_DIR  <%i COPY_TOKEN i t@ : INSERT_MINUS  E* DOTDOTDOT  t2 NODE_ACTION      DEVICE_ACTION     FILE_ACTION    # TYPE_ACTION #   /VERSION_ACTION / : =DIR_TOP_ACTION = _ L DIR_ACTION L   XSET_WILD X f SET_WILD_PCT f |CLI$DATAr _LIB$KEY0$r _LIB$STATE$tCLI$READ_ONLY_DATACLI$CODE SHELL$CLINTSHELL$GET_ARGV  55$CODE$ SHELL$TO_VMSv SHELL$TO_VMS v H]  U X    ;   SHELL$$VMS_FILE  ѹA    & SAVE_NODE & Z!,RSAVE_DEV R #uSAVE_DIRECTORY u ?7# SAVE_NAME # :: SAVE_TYPE : c&  _ SAVE_VERS   SET_FILETYPE  SET_REGULAR_EXP  SET_WILD  * SET_VERSION  PCOPY_STR  vK,!FREE_DIRECTORY_DESCRIPTORS   , MATCH_REGEX  / A' {MATCH_SUBSTRING { $'QPRUNE_FILESPEC  O%l FIND_LAST_DOT l v ".TERMINATE_PARSE     CLI$READ_ONLY_DATAr _LIB$KEY0$ _LIB$STATE$vCLI$CODED  . ABS .C$SIGVEC \sigvecpsigblock5 sigsetmaskPsigpause4sigstack> \SHELL$MATCH_WILDSHELL$MATCH_WILDCLI$CODEP