cyuos ;Copyright (c) 1988 CyberTools, Inc. ;07:43 AM 4 Jul 1991 ; RD R in#ln-xc+1:cu(2) E Q S:in]"" X=$E(X_$J("",ln),1,xc-1)_in_$E(X,xc+$L(in),999),xc=xc+$L(in),ef=1 I '$D(cu(101)) S zb=+$A(cu(1),$S($ZB>255:$ZB\256,1:$ZB#256+128)) Q S zb=+$A(cu(cu(1)),$S($ZB>255:$ZB\256,1:$ZB#256+128)),cu(1)=101 I zb>100,zb<200 S cu(1)=zb G RD I 1 Q ; CTL D SYS Q ; SYS K ^cy0("sys") S ^cy0="MSM^255^1^1" ;os^max length^$TR S ^cy0("sys","e1")="U $I:(0:::::1)" S ^cy0("sys","e0")="U $I:(0::::1)" S ^cy0("sys","zb1")="S zb=+$A(cu(1),$S($ZB>255:$ZB\256,1:$ZB#256+128))" S ^cy0("sys","zb2")="S zb=+$A(cu(cu(1)),$S($ZB>255:$ZB\256,1:$ZB#256+128)),cu(1)=101" S ^cy0("sys","zt")="$ZT",^cy0("sys","ze")="$ZE" Q ; e1 U $I:(0:::::1) Q ; e0 U $I:(0::::1) Q ; on S cu("~")=cu("~")+1 Q:cu("~")'=1 U $I:(0::::589888::::$C(1,24,5,6,7,8,9,10,11,12,13,14,16,18,19,20,21,22,23,24,25,26,28,29,30,31)) U:$I=1 0:(0::::262144) W:cu("zz")["WYSE50" *27,*78 Q ; off S cu("~")=cu("~")-1 Q:cu("~") U $I:(:::::524353:::$C(13)) W:cu("zz")["WYSE50" *27,*79 Q ; ZB ;needs a=crt type K b,^cy0("kmstr",a) S pref=2 D ZBINIT F i=0:0 S i=$O(^cy0("keys",a,i)) Q:'i D ZB1 I $O(b(2))="" S ^cy0("kmstr",a,1)=b(2) E S ^cy0("kmstr",a,1)=101 F i=0:0 S i=$O(b(i)) Q:'i S ^(99+i)=b(i) Q ; ZBINIT S $P(b(pref),$C(1),256)="",b(pref)=$E(b(2),1,127)_$C(2)_$E(b(2),129,255) ;read max Q ; ZB1 S d=^cy0("keys",a,i),out=$P(d,"^",2),in=$P(d,"^",3),pref=$P(d,"^",4)+2,(e,map)="" I in="",out]"" D ONEMAP S $P(^cy0("keys",a,i),"^",3)=in I in]"" D:'$D(b(pref)) ZBINIT S b(pref)=$E(b(pref),1,in-1)_$C(+i)_$E(b(pref),in+1,999) W "." Q ; ONEMAP S in=out I in?1.N S in=in+128 Q S in=$P(in,",",2,999) S:"O[?"[$C(+in) in=$P(in,",",2,999) I $C(+in)?1AP S in=+in-65+17#64 S:in=0 in=128+27 E S @("in=$C("_in_")+20") Q ; capture S X=$S($ZB>255:$ZB\256,1:$ZB#256+128),RX=1 Q S X="" F a=1:1:$L(A) S X=X_$A(A,a)_"," S X=$P(X,",",1,a),RX=1 Q ; MUMPS W cu("a") S cu("~~")=cu("~"),cu("~")=1 D off B ; D on S cu("~")=cu("~~") K cu("~~") Q ; REMSOU S REMSOU="K ^UTILITY($J) D ^cRSEL Q:'$D(^UTILITY($J)) S p=99999 F S p=$O(^UTILITY($J,p)) Q:p="""" ZL @p ZS @p:3 W $J(p,10)" Q