aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-12-15 11:49:23 -0500
committerRuss Cox <rsc@golang.org>2010-12-15 11:49:23 -0500
commit0c54225b515f80ac3ff27337bde1653908a78f0d (patch)
tree400a6188889dd50c0a566ad3781b1f35194a84dd
parent85f5bb8216fb8971fa3bfe719a45549df2761d12 (diff)
downloadgo-0c54225b515f80ac3ff27337bde1653908a78f0d.tar.gz
go-0c54225b515f80ac3ff27337bde1653908a78f0d.zip
remove nacl
The recent linker changes broke NaCl support a month ago, and there are no known users of it. The NaCl code can always be recovered from the repository history. R=adg, r CC=golang-dev https://golang.org/cl/3671042
-rw-r--r--doc/devel/roadmap.html2
-rw-r--r--doc/install.html6
-rw-r--r--src/Make.inc3
-rwxr-xr-xsrc/all-nacl.bash48
-rw-r--r--src/cmd/5l/asm.c2
-rw-r--r--src/cmd/6l/asm.c4
-rw-r--r--src/cmd/8g/ggen.c12
-rw-r--r--src/cmd/8l/asm.c34
-rw-r--r--src/cmd/8l/l.h1
-rw-r--r--src/cmd/8l/obj.c22
-rw-r--r--src/cmd/8l/span.c111
-rw-r--r--src/cmd/cc/dpchk.c1
-rw-r--r--src/cmd/ld/lib.h1
-rw-r--r--src/pkg/Makefile21
-rw-r--r--src/pkg/crypto/rand/Makefile3
-rw-r--r--src/pkg/debug/proc/proc_nacl.go20
-rw-r--r--src/pkg/debug/proc/regs_nacl_386.go5
-rw-r--r--src/pkg/exec/Makefile3
-rw-r--r--src/pkg/exp/4s/4s.go77
-rw-r--r--src/pkg/exp/4s/4s.html26
-rw-r--r--src/pkg/exp/4s/5s.go9
-rw-r--r--src/pkg/exp/4s/5s.html26
-rw-r--r--src/pkg/exp/4s/Makefile20
-rw-r--r--src/pkg/exp/4s/data.go142
-rw-r--r--src/pkg/exp/4s/xs.go750
-rw-r--r--src/pkg/exp/nacl/README36
-rw-r--r--src/pkg/exp/nacl/av/Makefile13
-rw-r--r--src/pkg/exp/nacl/av/av.go289
-rw-r--r--src/pkg/exp/nacl/av/event.go473
-rw-r--r--src/pkg/exp/nacl/av/image.go84
-rw-r--r--src/pkg/exp/nacl/srpc/Makefile13
-rw-r--r--src/pkg/exp/nacl/srpc/client.go210
-rw-r--r--src/pkg/exp/nacl/srpc/msg.go522
-rw-r--r--src/pkg/exp/nacl/srpc/server.go192
-rw-r--r--src/pkg/exp/spacewar/Makefile18
-rw-r--r--src/pkg/exp/spacewar/code.go7556
-rw-r--r--src/pkg/exp/spacewar/pdp1.go389
-rw-r--r--src/pkg/exp/spacewar/spacewar.go202
-rw-r--r--src/pkg/exp/spacewar/spacewar.html21
-rw-r--r--src/pkg/net/Makefile7
-rw-r--r--src/pkg/net/fd_nacl.go33
-rw-r--r--src/pkg/os/Makefile5
-rw-r--r--src/pkg/os/dir_nacl.go69
-rw-r--r--src/pkg/os/stat_nacl.go38
-rw-r--r--src/pkg/os/sys_nacl.go7
-rw-r--r--src/pkg/path/Makefile3
-rw-r--r--src/pkg/runtime/386/closure.c3
-rw-r--r--src/pkg/runtime/Makefile6
-rw-r--r--src/pkg/runtime/malloc.h4
-rw-r--r--src/pkg/runtime/mgc0.c16
-rw-r--r--src/pkg/runtime/mheap.c2
-rw-r--r--src/pkg/runtime/nacl/386/closure.c249
-rw-r--r--src/pkg/runtime/nacl/386/defs.h17
-rw-r--r--src/pkg/runtime/nacl/386/rt0.s8
-rw-r--r--src/pkg/runtime/nacl/386/signal.c14
-rw-r--r--src/pkg/runtime/nacl/386/sys.s142
-rw-r--r--src/pkg/runtime/nacl/defs.c27
-rw-r--r--src/pkg/runtime/nacl/mem.c37
-rw-r--r--src/pkg/runtime/nacl/os.h9
-rw-r--r--src/pkg/runtime/nacl/runtime_defs.go14
-rw-r--r--src/pkg/runtime/nacl/signals.h0
-rw-r--r--src/pkg/runtime/nacl/thread.c164
-rw-r--r--src/pkg/syscall/Makefile4
-rw-r--r--src/pkg/syscall/asm_nacl_386.s119
-rwxr-xr-xsrc/pkg/syscall/mkerrors_nacl.sh41
-rwxr-xr-xsrc/pkg/syscall/mksysnum_nacl.sh29
-rw-r--r--src/pkg/syscall/syscall_nacl.go357
-rw-r--r--src/pkg/syscall/syscall_nacl_386.go19
-rw-r--r--src/pkg/syscall/types_nacl.c123
-rw-r--r--src/pkg/syscall/zerrors_nacl_386.go246
-rw-r--r--src/pkg/syscall/zsyscall_nacl_386.go303
-rw-r--r--src/pkg/syscall/zsysnum_nacl_386.go64
-rw-r--r--src/pkg/syscall/zsysnum_windows_386.go3
-rw-r--r--src/pkg/syscall/ztypes_nacl.go9
-rw-r--r--src/pkg/syscall/ztypes_nacl_386.go105
-rw-r--r--src/pkg/time/Makefile3
-rw-r--r--test/env.go1
-rw-r--r--test/fixedbugs/bug243.go1
-rw-r--r--test/nilptr/arrayindex.go1
-rw-r--r--test/nilptr/arrayindex1.go1
-rw-r--r--test/nilptr/arraytoslice.go1
-rw-r--r--test/nilptr/arraytoslice1.go1
-rw-r--r--test/nilptr/arraytoslice2.go1
-rw-r--r--test/nilptr/slicearray.go1
-rw-r--r--test/nilptr/structfield.go1
-rw-r--r--test/nilptr/structfield1.go1
-rw-r--r--test/nilptr/structfield2.go1
-rw-r--r--test/nilptr/structfieldaddr.go1
-rw-r--r--test/nul1.go1
-rw-r--r--test/recover2.go6
-rw-r--r--test/recover3.go1
-rw-r--r--test/sigchld.go1
-rw-r--r--test/zerodivide.go3
93 files changed, 22 insertions, 13668 deletions
diff --git a/doc/devel/roadmap.html b/doc/devel/roadmap.html
index 935910a921..021ed6478a 100644
--- a/doc/devel/roadmap.html
+++ b/doc/devel/roadmap.html
@@ -89,8 +89,6 @@ Safe compilation mode: generate code that is guaranteed not to obtain an invalid
<li>
Gccgo: garbage collection.
<li>
-Native Client (NaCl) support.
-<li>
SWIG support.
<li>
Simpler semicolon rules.
diff --git a/doc/install.html b/doc/install.html
index 8df3d423c6..92b099fe8d 100644
--- a/doc/install.html
+++ b/doc/install.html
@@ -62,7 +62,7 @@ support for segmented stacks, and a strong goroutine implementation.
</p>
<p>
-The compilers can target the FreeBSD, Linux, Native Client,
+The compilers can target the FreeBSD, Linux,
and OS X (a.k.a. Darwin) operating systems.
(A port to Microsoft Windows is in progress but incomplete. See the
<a href="http://code.google.com/p/go/wiki/WindowsPort">Windows Port</a>
@@ -340,7 +340,6 @@ to override the defaults.
Choices for <code>$GOOS</code> are <code>linux</code>,
<code>freebsd</code>,
<code>darwin</code> (Mac OS X 10.5 or 10.6),
- <code>nacl</code> (Native Client, an incomplete port),
and <code>windows</code> (Windows, an incomplete port).
Choices for <code>$GOARCH</code> are <code>amd64</code> (64-bit x86, the most mature port),
<code>386</code> (32-bit x86), and
@@ -372,9 +371,6 @@ to override the defaults.
<td></td><td><code>linux</code></td> <td><code>arm</code></td> <td><i>incomplete</i></td>
</tr>
<tr>
- <td></td><td><code>nacl</code></td> <td><code>386</code></td>
- </tr>
- <tr>
<td></td><td><code>windows</code></td> <td><code>386</code></td> <td><i>incomplete</i></td>
</tr>
</table>
diff --git a/src/Make.inc b/src/Make.inc
index 2d9ee29058..2889c7edf2 100644
--- a/src/Make.inc
+++ b/src/Make.inc
@@ -32,12 +32,11 @@ endif
ifeq ($(GOOS),darwin)
else ifeq ($(GOOS),freebsd)
else ifeq ($(GOOS),linux)
-else ifeq ($(GOOS),nacl)
else ifeq ($(GOOS),tiny)
else ifeq ($(GOOS),plan9)
else ifeq ($(GOOS),windows)
else
-$(error Invalid $$GOOS '$(GOOS)'; must be darwin, freebsd, linux, nacl, tiny, plan9, or windows)
+$(error Invalid $$GOOS '$(GOOS)'; must be darwin, freebsd, linux, plan9, tiny, or windows)
endif
ifeq ($(GOHOSTARCH),)
diff --git a/src/all-nacl.bash b/src/all-nacl.bash
deleted file mode 100755
index 0238c2a3e1..0000000000
--- a/src/all-nacl.bash
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-# TODO(rsc): delete in favor of all.bash once nacl support is complete
-
-export GOARCH=386
-export GOOS=nacl
-export GORUN=${GORUN:-$GOROOT/misc/nacl/naclrun}
-
-set -e
-bash make.bash
-
-xcd() {
- echo
- echo --- cd $1
- builtin cd $1
-}
-
-(xcd pkg
-make install
-make test
-) || exit $?
-
-(xcd pkg/exp/nacl/srpc
-make clean
-make install
-) || exit $?
-
-(xcd pkg/exp/nacl/av
-make clean
-make install
-) || exit $?
-
-(xcd pkg/exp/4s
-make clean
-make
-) || exit $?
-
-(xcd pkg/exp/spacewar
-make clean
-make
-) || exit $?
-
-(xcd ../test
-./run
-) || exit $?
diff --git a/src/cmd/5l/asm.c b/src/cmd/5l/asm.c
index 128f7e4fa6..a26d5e209d 100644
--- a/src/cmd/5l/asm.c
+++ b/src/cmd/5l/asm.c
@@ -535,8 +535,6 @@ asmb(void)
for(sect=segtext.sect; sect!=nil; sect=sect->next)
elfshbits(sect);
- for(sect=segrodata.sect; sect!=nil; sect=sect->next)
- elfshbits(sect);
for(sect=segdata.sect; sect!=nil; sect=sect->next)
elfshbits(sect);
diff --git a/src/cmd/6l/asm.c b/src/cmd/6l/asm.c
index dca2313d12..de18b3e299 100644
--- a/src/cmd/6l/asm.c
+++ b/src/cmd/6l/asm.c
@@ -415,7 +415,7 @@ addpltsym(Sym *s)
static void
addgotsym(Sym *s)
{
- Sym *got, *rela, *indir;
+ Sym *got, *rela;
if(s->got >= 0)
return;
@@ -976,8 +976,6 @@ asmb(void)
diag("elftextsh = %d, want %d", elftextsh, eh->shnum);
for(sect=segtext.sect; sect!=nil; sect=sect->next)
elfshbits(sect);
- for(sect=segrodata.sect; sect!=nil; sect=sect->next)
- elfshbits(sect);
for(sect=segdata.sect; sect!=nil; sect=sect->next)
elfshbits(sect);
diff --git a/src/cmd/8g/ggen.c b/src/cmd/8g/ggen.c
index f1461adbeb..4dcbd44895 100644
--- a/src/cmd/8g/ggen.c
+++ b/src/cmd/8g/ggen.c
@@ -8,7 +8,6 @@
#include "opt.h"
static Prog *pret;
-static Node *naclnop;
void
compile(Node *fn)
@@ -24,7 +23,6 @@ compile(Node *fn)
newproc = sysfunc("newproc");
deferproc = sysfunc("deferproc");
deferreturn = sysfunc("deferreturn");
- naclnop = sysfunc("naclnop");
panicindex = sysfunc("panicindex");
panicslice = sysfunc("panicslice");
throwreturn = sysfunc("throwreturn");
@@ -96,16 +94,8 @@ compile(Node *fn)
if(pret)
patch(pret, pc);
ginit();
- if(hasdefer) {
- // On Native client, insert call to no-op function
- // to force alignment immediately before call to deferreturn,
- // so that when jmpdefer subtracts 5 from the second CALL's
- // return address and then the return masks off the low bits,
- // we'll back up to the NOPs immediately after the dummy CALL.
- if(strcmp(getgoos(), "nacl") == 0)
- ginscall(naclnop, 0);
+ if(hasdefer)
ginscall(deferreturn, 0);
- }
if(curfn->exit)
genlist(curfn->exit);
gclean();
diff --git a/src/cmd/8l/asm.c b/src/cmd/8l/asm.c
index 85e6f39362..882f5d447d 100644
--- a/src/cmd/8l/asm.c
+++ b/src/cmd/8l/asm.c
@@ -539,8 +539,6 @@ doelf(void)
elfstr[ElfStrData] = addstring(shstrtab, ".data");
elfstr[ElfStrBss] = addstring(shstrtab, ".bss");
addstring(shstrtab, ".elfdata");
- if(HEADTYPE == 8)
- addstring(shstrtab, ".closure");
addstring(shstrtab, ".rodata");
if(!debug['s']) {
elfstr[ElfStrGosymcounts] = addstring(shstrtab, ".gosymcounts");
@@ -674,8 +672,6 @@ asmb(void)
sect = segtext.sect;
seek(cout, sect->vaddr - segtext.vaddr + segtext.fileoff, 0);
codeblk(sect->vaddr, sect->len);
-
- // TODO: NaCl: pad with HLT
/* output read-only data in text segment */
sect = segtext.sect->next;
@@ -889,7 +885,7 @@ asmb(void)
Elfput:
/* elf 386 */
- if(HEADTYPE == 8 || HEADTYPE == 11)
+ if(HEADTYPE == 11)
debug['d'] = 1;
eh = getElfEhdr();
@@ -901,17 +897,14 @@ asmb(void)
/* This null SHdr must appear before all others */
sh = newElfShdr(elfstr[ElfStrEmpty]);
- /* program header info - but not on native client */
- pph = nil;
- if(HEADTYPE != 8) {
- pph = newElfPhdr();
- pph->type = PT_PHDR;
- pph->flags = PF_R + PF_X;
- pph->off = eh->ehsize;
- pph->vaddr = INITTEXT - HEADR + pph->off;
- pph->paddr = INITTEXT - HEADR + pph->off;
- pph->align = INITRND;
- }
+ /* program header info */
+ pph = newElfPhdr();
+ pph->type = PT_PHDR;
+ pph->flags = PF_R + PF_X;
+ pph->off = eh->ehsize;
+ pph->vaddr = INITTEXT - HEADR + pph->off;
+ pph->paddr = INITTEXT - HEADR + pph->off;
+ pph->align = INITRND;
if(!debug['d']) {
/* interpreter */
@@ -935,8 +928,6 @@ asmb(void)
}
elfphload(&segtext);
- if(segrodata.len > 0)
- elfphload(&segrodata);
elfphload(&segdata);
/* Dynamic linking sections */
@@ -1038,8 +1029,6 @@ asmb(void)
diag("elftextsh = %d, want %d", elftextsh, eh->shnum);
for(sect=segtext.sect; sect!=nil; sect=sect->next)
elfshbits(sect);
- for(sect=segrodata.sect; sect!=nil; sect=sect->next)
- elfshbits(sect);
for(sect=segdata.sect; sect!=nil; sect=sect->next)
elfshbits(sect);
@@ -1073,11 +1062,6 @@ asmb(void)
eh->ident[EI_DATA] = ELFDATA2LSB;
eh->ident[EI_VERSION] = EV_CURRENT;
switch(HEADTYPE) {
- case 8:
- eh->ident[EI_OSABI] = ELFOSABI_NACL;
- eh->ident[EI_ABIVERSION] = 7;
- eh->flags = 0x200000; // aligned mod 32
- break;
case 9:
eh->ident[EI_OSABI] = 9;
break;
diff --git a/src/cmd/8l/l.h b/src/cmd/8l/l.h
index 6ac2267126..daede88790 100644
--- a/src/cmd/8l/l.h
+++ b/src/cmd/8l/l.h
@@ -321,7 +321,6 @@ EXTERN int32 spsize;
EXTERN Sym* symlist;
EXTERN int32 symsize;
EXTERN Sym* textp;
-EXTERN int32 textpad;
EXTERN int32 textsize;
EXTERN int version;
EXTERN Prog zprg;
diff --git a/src/cmd/8l/obj.c b/src/cmd/8l/obj.c
index 222d7c734c..4a724d10cc 100644
--- a/src/cmd/8l/obj.c
+++ b/src/cmd/8l/obj.c
@@ -55,8 +55,10 @@ char *thestring = "386";
* -H4 -Tx -Rx is fake MS-DOS .EXE
* -H6 -Tx -Rx is Apple Mach-O
* -H7 -Tx -Rx is Linux ELF32
- * -H8 -Tx -Rx is Google Native Client
+ * -H8 -Tx -Rx was Google Native Client
* -H9 -Tx -Rx is FreeBSD ELF32
+ * -H10 -Tx -Rx is MS Windows PE
+ * -H11 -Tx -Rx is tiny (os image)
*/
void
@@ -133,9 +135,6 @@ main(int argc, char *argv[])
if(strcmp(goos, "darwin") == 0)
HEADTYPE = 6;
else
- if(strcmp(goos, "nacl") == 0)
- HEADTYPE = 8;
- else
if(strcmp(goos, "freebsd") == 0)
HEADTYPE = 9;
else
@@ -248,21 +247,6 @@ main(int argc, char *argv[])
if(INITRND == -1)
INITRND = 4096;
break;
- case 8: /* native client elf32 executable */
- elfinit();
- HEADR = 4096;
- if(INITTEXT == -1)
- INITTEXT = 0x20000;
- if(INITDAT == -1)
- INITDAT = 0;
- if(INITRND == -1)
- INITRND = 65536;
-
- // 512 kB of address space for closures.
- // (Doesn't take any space in the binary file.)
- // Closures are 64 bytes each, so this is 8,192 closures.
- textpad = 512*1024;
- break;
case 10: /* PE executable */
peinit();
HEADR = PEFILEHEADR;
diff --git a/src/cmd/8l/span.c b/src/cmd/8l/span.c
index 7d28fa279f..66a843b235 100644
--- a/src/cmd/8l/span.c
+++ b/src/cmd/8l/span.c
@@ -822,22 +822,6 @@ subreg(Prog *p, int from, int to)
print("%P\n", p);
}
-// nacl RET:
-// POPL BX
-// ANDL BX, $~31
-// JMP BX
-uchar naclret[] = { 0x5b, 0x83, 0xe3, ~31, 0xff, 0xe3 };
-
-// nacl JMP BX:
-// ANDL BX, $~31
-// JMP BX
-uchar nacljmpbx[] = { 0x83, 0xe3, ~31, 0xff, 0xe3 };
-
-// nacl CALL BX:
-// ANDL BX, $~31
-// CALL BX
-uchar naclcallbx[] = { 0x83, 0xe3, ~31, 0xff, 0xd3 };
-
void
doasm(Prog *p)
{
@@ -906,12 +890,6 @@ found:
break;
case Zlit:
- if(HEADTYPE == 8 && p->as == ARET) {
- // native client return.
- for(z=0; z<sizeof(naclret); z++)
- *andptr++ = naclret[z];
- break;
- }
for(; op = o->op[z]; z++)
*andptr++ = op;
break;
@@ -945,42 +923,6 @@ found:
break;
case Zo_m:
- if(HEADTYPE == 8) {
- Adr a;
-
- switch(p->as) {
- case AJMP:
- if(p->to.type < D_AX || p->to.type > D_DI)
- diag("indirect jmp must use register in native client");
- // ANDL $~31, REG
- *andptr++ = 0x83;
- asmand(&p->to, 04);
- *andptr++ = ~31;
- // JMP REG
- *andptr++ = 0xFF;
- asmand(&p->to, 04);
- return;
-
- case ACALL:
- a = p->to;
- // native client indirect call
- if(a.type < D_AX || a.type > D_DI) {
- // MOVL target into BX
- *andptr++ = 0x8b;
- asmand(&p->to, reg[D_BX]);
- memset(&a, 0, sizeof a);
- a.type = D_BX;
- }
- // ANDL $~31, REG
- *andptr++ = 0x83;
- asmand(&a, 04);
- *andptr++ = ~31;
- // CALL REG
- *andptr++ = 0xFF;
- asmand(&a, 02);
- return;
- }
- }
*andptr++ = op;
asmand(&p->to, o->op[z+1]);
break;
@@ -1004,12 +946,6 @@ found:
else
a = &p->to;
v = vaddr(a, nil);
- if(HEADTYPE == 8 && p->as == AINT && v == 3) {
- // native client disallows all INT instructions.
- // translate INT $3 to HLT.
- *andptr++ = 0xf4;
- break;
- }
*andptr++ = op;
*andptr++ = v;
break;
@@ -1380,51 +1316,8 @@ mfound:
void
asmins(Prog *p)
{
- if(HEADTYPE == 8) {
- ulong npc;
- static Prog *prefix;
-
- // TODO: adjust relocations, like 6l does for rex prefix
-
- // native client
- // - pad indirect jump targets (aka ATEXT) to 32-byte boundary
- // - instructions cannot cross 32-byte boundary
- // - end of call (return address) must be on 32-byte boundary
- if(p->as == ATEXT)
- p->pc += 31 & -p->pc;
- if(p->as == ACALL) {
- // must end on 32-byte boundary.
- // doasm to find out how long the CALL encoding is.
- andptr = and;
- doasm(p);
- npc = p->pc + (andptr - and);
- p->pc += 31 & -npc;
- }
- if(p->as == AREP || p->as == AREPN) {
- // save prefix for next instruction,
- // so that inserted NOPs do not split (e.g.) REP / MOVSL sequence.
- prefix = p;
- andptr = and;
- return;
- }
- andptr = and;
- if(prefix)
- doasm(prefix);
- doasm(p);
- npc = p->pc + (andptr - and);
- if(andptr > and && (p->pc&~31) != ((npc-1)&~31)) {
- // crossed 32-byte boundary; pad to boundary and try again
- p->pc += 31 & -p->pc;
- andptr = and;
- if(prefix)
- doasm(prefix);
- doasm(p);
- }
- prefix = nil;
- } else {
- andptr = and;
- doasm(p);
- }
+ andptr = and;
+ doasm(p);
if(andptr > and+sizeof and) {
print("and[] is too short - %d byte instruction\n", andptr - and);
errorexit();
diff --git a/src/cmd/cc/dpchk.c b/src/cmd/cc/dpchk.c
index 65a7746d47..6eb5fb409c 100644
--- a/src/cmd/cc/dpchk.c
+++ b/src/cmd/cc/dpchk.c
@@ -400,6 +400,7 @@ dpcheck(Node *n)
i = l->param;
b = n->right;
+ a = Z;
while(i > 0) {
b = nextarg(b, &a);
i--;
diff --git a/src/cmd/ld/lib.h b/src/cmd/ld/lib.h
index f11cb34f66..0f933013df 100644
--- a/src/cmd/ld/lib.h
+++ b/src/cmd/ld/lib.h
@@ -95,7 +95,6 @@ EXTERN char* thestring;
EXTERN Segment segtext;
EXTERN Segment segdata;
-EXTERN Segment segrodata; // NaCl only
EXTERN Segment segsym;
void addlib(char *src, char *obj);
diff --git a/src/pkg/Makefile b/src/pkg/Makefile
index 1e3f7e0622..aa94cb2dda 100644
--- a/src/pkg/Makefile
+++ b/src/pkg/Makefile
@@ -186,27 +186,6 @@ ifeq ($(DISABLE_NET_TESTS),1)
NOTEST+=http net
endif
-# Disable tests that NaCl cannot run yet.
-ifeq ($(GOOS),nacl)
-NOTEST+=archive/tar # no pipe
-NOTEST+=archive/zip # no pread
-NOTEST+=debug/dwarf # no pread
-NOTEST+=debug/macho # no pread
-NOTEST+=debug/elf # no pread
-NOTEST+=exec # no pipe
-NOTEST+=http # no network
-NOTEST+=log # no runtime.Caller
-NOTEST+=net # no network
-NOTEST+=netchan # no network
-NOTEST+=os # many things unimplemented
-NOTEST+=os/signal # no signals
-NOTEST+=path # tree walking does not work
-NOTEST+=rpc # no network
-NOTEST+=syslog # no network
-NOTEST+=time # no syscall.Kill, syscall.SIGCHLD for sleep tests
-NOTEST+=websocket # no network
-endif
-
# Disable tests that windows cannot run yet.
ifeq ($(GOOS),windows)
NOTEST+=os/signal # no signals
diff --git a/src/pkg/crypto/rand/Makefile b/src/pkg/crypto/rand/Makefile
index c24429ad4f..88b6d71e33 100644
--- a/src/pkg/crypto/rand/Makefile
+++ b/src/pkg/crypto/rand/Makefile
@@ -18,9 +18,6 @@ GOFILES_darwin=\
GOFILES_linux=\
rand_unix.go\
-GOFILES_nacl=\
- rand_unix.go\
-
GOFILES_windows=\
rand_windows.go\
diff --git a/src/pkg/debug/proc/proc_nacl.go b/src/pkg/debug/proc/proc_nacl.go
deleted file mode 100644
index be26bbf18b..0000000000
--- a/src/pkg/debug/proc/proc_nacl.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proc
-
-import (
- "os"
- "syscall"
-)
-
-// Process tracing is not supported on Native Client.
-
-func Attach(pid int) (Process, os.Error) {
- return nil, os.NewSyscallError("ptrace", syscall.ENACL)
-}
-
-func ForkExec(argv0 string, argv []string, envv []string, dir string, fd []*os.File) (Process, os.Error) {
- return nil, os.NewSyscallError("fork/exec", syscall.ENACL)
-}
diff --git a/src/pkg/debug/proc/regs_nacl_386.go b/src/pkg/debug/proc/regs_nacl_386.go
deleted file mode 100644
index 60c9ac719e..0000000000
--- a/src/pkg/debug/proc/regs_nacl_386.go
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proc
diff --git a/src/pkg/exec/Makefile b/src/pkg/exec/Makefile
index 6110414ac3..262ecac85e 100644
--- a/src/pkg/exec/Makefile
+++ b/src/pkg/exec/Makefile
@@ -17,9 +17,6 @@ GOFILES_darwin=\
GOFILES_linux=\
lp_unix.go\
-GOFILES_nacl=\
- lp_unix.go\
-
GOFILES_windows=\
lp_windows.go\
diff --git a/src/pkg/exp/4s/4s.go b/src/pkg/exp/4s/4s.go
deleted file mode 100644
index ccc0d0051f..0000000000
--- a/src/pkg/exp/4s/4s.go
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This is a simple demo of Go running under Native Client.
-// It is a tetris clone built on top of the exp/nacl/av and exp/draw
-// packages.
-//
-// See ../nacl/README for how to run it.
-package main
-
-import (
- "exp/nacl/av"
- "exp/nacl/srpc"
- "log"
- "runtime"
- "os"
-)
-
-var sndc chan []uint16
-
-func main() {
- // Native Client requires that some calls are issued
- // consistently by the same OS thread.
- runtime.LockOSThread()
-
- if srpc.Enabled() {
- go srpc.ServeRuntime()
- }
-
- args := os.Args
- p := pieces4
- if len(args) > 1 && args[1] == "-5" {
- p = pieces5
- }
- dx, dy := 500, 500
- w, err := av.Init(av.SubsystemVideo|av.SubsystemAudio, dx, dy)
- if err != nil {
- log.Exit(err)
- }
-
- sndc = make(chan []uint16, 10)
- go audioServer()
- Play(p, w)
-}
-
-func audioServer() {
- // Native Client requires that all audio calls
- // original from a single OS thread.
- runtime.LockOSThread()
-
- n, err := av.AudioStream(nil)
- if err != nil {
- log.Exit(err)
- }
- for {
- b := <-sndc
- for len(b)*2 >= n {
- var a []uint16
- a, b = b[0:n/2], b[n/2:]
- n, err = av.AudioStream(a)
- if err != nil {
- log.Exit(err)
- }
- println(n, len(b)*2)
- }
- a := make([]uint16, n/2)
- copy(a, b)
- n, err = av.AudioStream(a)
- }
-}
-
-func PlaySound(b []uint16) { sndc <- b }
-
-var whoosh = []uint16{
-// Insert your favorite sound samples here.
-}
diff --git a/src/pkg/exp/4s/4s.html b/src/pkg/exp/4s/4s.html
deleted file mode 100644
index 924f8b1182..0000000000
--- a/src/pkg/exp/4s/4s.html
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-<h1>games/4s</h1>
-<table><tr><td valign=top>
-<embed name="nacl_module" id="pluginobj" src="8.out" type="application/x-nacl-srpc" width=400 height=600>
-<td valign=top>
-This is a simple block stacking game, a port of Plan 9's
-<a href="http://plan9.bell-labs.com/magic/man2html/1/games">games/4s</a>
-<br><br>
-To play using the keyboard:
-as the blocks fall, the <i>a</i>, <i>s</i>, <i>d</i>, and <i>f</i> keys
-move the block left, rotate the block left, rotate the block right,
-anad move the block right, respectively.
-To drop a block, type the space key.
-<b>You may need to click on the game window to
-focus the keyboard on it.</b>
-<br><br>
-To play using the mouse:
-as the blocks fall, moving the mouse horizontally positions
-the block; left or right clicks rotate the block left or right.
-A middle click drops the block.
-(Unfortunately, some environments seem to intercept
-the middle click before it gets to Native Client.)
-<br><br>
-To pause the game, type <i>z</i>, <i>p</i>, or the escape key.
-</table>
diff --git a/src/pkg/exp/4s/5s.go b/src/pkg/exp/4s/5s.go
deleted file mode 100644
index efeb6f1163..0000000000
--- a/src/pkg/exp/4s/5s.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Hack to produce a binary that defaults to 5s.
-
-package main
-
-func init() { pieces4 = pieces5 }
diff --git a/src/pkg/exp/4s/5s.html b/src/pkg/exp/4s/5s.html
deleted file mode 100644
index 5fa1107536..0000000000
--- a/src/pkg/exp/4s/5s.html
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-<h1>games/5s</h1>
-<table><tr><td valign=top>
-<embed name="nacl_module" id="pluginobj" src="8.5s" type="application/x-nacl-srpc" width=400 height=600>
-<td valign=top>
-This is a simple block stacking game, a port of Plan 9's
-<a href="http://plan9.bell-labs.com/magic/man2html/1/games">games/5s</a>
-<br><br>
-To play using the keyboard:
-as the blocks fall, the <i>a</i>, <i>s</i>, <i>d</i>, and <i>f</i> keys
-move the block left, rotate the block left, rotate the block right,
-anad move the block right, respectively.
-To drop a block, type the space key.
-<b>You may need to click on the game window to
-focus the keyboard on it.</b>
-<br><br>
-To play using the mouse:
-as the blocks fall, moving the mouse horizontally positions
-the block; left or right clicks rotate the block left or right.
-A middle click drops the block.
-(Unfortunately, some environments seem to intercept
-the middle click before it gets to Native Client.)
-<br><br>
-To pause the game, type <i>z</i>, <i>p</i>, or the escape key.
-</table>
diff --git a/src/pkg/exp/4s/Makefile b/src/pkg/exp/4s/Makefile
deleted file mode 100644
index 8ad3905912..0000000000
--- a/src/pkg/exp/4s/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-all: 8.out 8.5s
-
-4s.8: 4s.go data.go xs.go
- 8g 4s.go data.go xs.go
-
-5s.8: 5s.go 4s.go data.go xs.go
- 8g 5s.go 4s.go data.go xs.go
-
-8.out: 4s.8
- 8l 4s.8
-
-8.5s: 5s.8
- 8l -o 8.5s 5s.8
-
-clean:
- rm -f *.8 8.out
diff --git a/src/pkg/exp/4s/data.go b/src/pkg/exp/4s/data.go
deleted file mode 100644
index 9e2a045fe7..0000000000
--- a/src/pkg/exp/4s/data.go
+++ /dev/null
@@ -1,142 +0,0 @@
-// games/4s - a tetris clone
-//
-// Derived from Plan 9's /sys/src/games/xs.c
-// http://plan9.bell-labs.com/sources/plan9/sys/src/games/xs.c
-//
-// Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights Reserved.
-// Portions Copyright 2009 The Go Authors. All Rights Reserved.
-// Distributed under the terms of the Lucent Public License Version 1.02
-// See http://plan9.bell-labs.com/plan9/license.html
-
-package main
-
-import . "image"
-
-var pieces4 = []Piece{
- {0, 0, Point{4, 1}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
- {1, 0, Point{1, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
- {2, 0, Point{4, 1}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
- {3, 0, Point{1, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
-
- {0, 3, Point{2, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}, nil, nil},
- {1, 3, Point{2, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}, nil, nil},
- {2, 3, Point{2, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}, nil, nil},
- {3, 3, Point{2, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}, nil, nil},
-
- {0, 1, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
- {1, 1, Point{2, 3}, []Point{{1, 0}, {0, 1}, {0, 1}, {-1, 0}}, nil, nil},
- {2, 1, Point{3, 2}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}}, nil, nil},
- {3, 1, Point{2, 3}, []Point{{0, 0}, {1, 0}, {-1, 1}, {0, 1}}, nil, nil},
-
- {0, 2, Point{3, 2}, []Point{{0, 1}, {1, 0}, {1, 0}, {0, -1}}, nil, nil},
- {1, 2, Point{2, 3}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, 0}}, nil, nil},
- {2, 2, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
- {3, 2, Point{2, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {0, 1}}, nil, nil},
-
- {0, 4, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
- {1, 4, Point{2, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {0, 1}}, nil, nil},
- {2, 4, Point{3, 2}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}}, nil, nil},
- {3, 4, Point{2, 3}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, -1}}, nil, nil},
-
- {0, 5, Point{3, 2}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
- {1, 5, Point{2, 3}, []Point{{1, 0}, {0, 1}, {-1, 0}, {0, 1}}, nil, nil},
- {2, 5, Point{3, 2}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
- {3, 5, Point{2, 3}, []Point{{1, 0}, {0, 1}, {-1, 0}, {0, 1}}, nil, nil},
-
- {0, 6, Point{3, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {1, 0}}, nil, nil},
- {1, 6, Point{2, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {0, 1}}, nil, nil},
- {2, 6, Point{3, 2}, []Point{{0, 1}, {1, 0}, {0, -1}, {1, 0}}, nil, nil},
- {3, 6, Point{2, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {0, 1}}, nil, nil},
-}
-
-var pieces5 = []Piece{
- {0, 1, Point{5, 1}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
- {1, 1, Point{1, 5}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
- {2, 1, Point{5, 1}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
- {3, 1, Point{1, 5}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
-
- {0, 0, Point{4, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
- {1, 0, Point{2, 4}, []Point{{1, 0}, {0, 1}, {0, 1}, {0, 1}, {-1, 0}}, nil, nil},
- {2, 0, Point{4, 2}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
- {3, 0, Point{2, 4}, []Point{{0, 0}, {1, 0}, {-1, 1}, {0, 1}, {0, 1}}, nil, nil},
-
- {0, 2, Point{4, 2}, []Point{{0, 0}, {0, 1}, {1, -1}, {1, 0}, {1, 0}}, nil, nil},
- {1, 2, Point{2, 4}, []Point{{0, 0}, {1, 0}, {0, 1}, {0, 1}, {0, 1}}, nil, nil},
- {2, 2, Point{4, 2}, []Point{{0, 1}, {1, 0}, {1, 0}, {1, 0}, {0, -1}}, nil, nil},
- {3, 2, Point{2, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {0, 1}, {1, 0}}, nil, nil},
-
- {0, 7, Point{3, 3}, []Point{{0, 0}, {1, 0}, {1, 0}, {0, 1}, {0, 1}}, nil, nil},
- {1, 7, Point{3, 3}, []Point{{0, 2}, {1, 0}, {1, 0}, {0, -1}, {0, -1}}, nil, nil},
- {2, 7, Point{3, 3}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, 0}, {1, 0}}, nil, nil},
- {3, 7, Point{3, 3}, []Point{{0, 2}, {0, -1}, {0, -1}, {1, 0}, {1, 0}}, nil, nil},
-
- {0, 3, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-2, 1}, {1, 0}}, nil, nil},
- {1, 3, Point{2, 3}, []Point{{0, 0}, {1, 0}, {-1, 1}, {1, 0}, {0, 1}}, nil, nil},
- {2, 3, Point{3, 2}, []Point{{1, 0}, {1, 0}, {-2, 1}, {1, 0}, {1, 0}}, nil, nil},
- {3, 3, Point{2, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {-1, 1}, {1, 0}}, nil, nil},
-
- {0, 4, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-1, 1}, {1, 0}}, nil, nil},
- {1, 4, Point{2, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {-1, 1}, {1, 0}}, nil, nil},
- {2, 4, Point{3, 2}, []Point{{0, 0}, {1, 0}, {-1, 1}, {1, 0}, {1, 0}}, nil, nil},
- {3, 4, Point{2, 3}, []Point{{0, 0}, {1, 0}, {-1, 1}, {1, 0}, {-1, 1}}, nil, nil},
-
- {0, 7, Point{3, 2}, []Point{{0, 0}, {2, 0}, {-2, 1}, {1, 0}, {1, 0}}, nil, nil},
- {1, 7, Point{2, 3}, []Point{{0, 0}, {1, 0}, {-1, 1}, {0, 1}, {1, 0}}, nil, nil},
- {2, 7, Point{3, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {-2, 1}, {2, 0}}, nil, nil},
- {3, 7, Point{2, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {-1, 1}, {1, 0}}, nil, nil},
-
- {0, 5, Point{3, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}, {-1, 1}}, nil, nil},
- {1, 5, Point{3, 3}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
- {2, 5, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
- {3, 5, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
-
- {0, 6, Point{3, 3}, []Point{{1, 0}, {1, 0}, {-2, 1}, {1, 0}, {0, 1}}, nil, nil},
- {1, 6, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
- {2, 6, Point{3, 3}, []Point{{1, 0}, {0, 1}, {1, 0}, {-2, 1}, {1, 0}}, nil, nil},
- {3, 6, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-
- {0, 0, Point{4, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
- {1, 0, Point{2, 4}, []Point{{1, 0}, {-1, 1}, {1, 0}, {0, 1}, {0, 1}}, nil, nil},
- {2, 0, Point{4, 2}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
- {3, 0, Point{2, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, 0}, {-1, 1}}, nil, nil},
-
- {0, 2, Point{4, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
- {1, 2, Point{2, 4}, []Point{{1, 0}, {0, 1}, {-1, 1}, {1, 0}, {0, 1}}, nil, nil},
- {2, 2, Point{4, 2}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {1, 0}}, nil, nil},
- {3, 2, Point{2, 4}, []Point{{0, 0}, {0, 1}, {1, 0}, {-1, 1}, {0, 1}}, nil, nil},
-
- {0, 1, Point{3, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}, {0, 1}}, nil, nil},
- {1, 1, Point{3, 3}, []Point{{2, 0}, {-1, 1}, {1, 0}, {-2, 1}, {1, 0}}, nil, nil},
- {2, 1, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
- {3, 1, Point{3, 3}, []Point{{1, 0}, {1, 0}, {-2, 1}, {1, 0}, {-1, 1}}, nil, nil},
-
- {0, 3, Point{3, 3}, []Point{{0, 0}, {1, 0}, {1, 0}, {-1, 1}, {0, 1}}, nil, nil},
- {1, 3, Point{3, 3}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
- {2, 3, Point{3, 3}, []Point{{1, 0}, {0, 1}, {-1, 1}, {1, 0}, {1, 0}}, nil, nil},
- {3, 3, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
-
- {0, 4, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
- {1, 4, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
- {2, 4, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
- {3, 4, Point{3, 3}, []Point{{1, 0}, {-1, 1}, {1, 0}, {1, 0}, {-1, 1}}, nil, nil},
-
- {0, 8, Point{4, 2}, []Point{{0, 0}, {1, 0}, {0, 1}, {1, 0}, {1, 0}}, nil, nil},
- {1, 8, Point{2, 4}, []Point{{1, 0}, {-1, 1}, {1, 0}, {-1, 1}, {0, 1}}, nil, nil},
- {2, 8, Point{4, 2}, []Point{{0, 0}, {1, 0}, {1, 0}, {0, 1}, {1, 0}}, nil, nil},
- {3, 8, Point{2, 4}, []Point{{1, 0}, {0, 1}, {-1, 1}, {1, 0}, {-1, 1}}, nil, nil},
-
- {0, 9, Point{4, 2}, []Point{{2, 0}, {1, 0}, {-3, 1}, {1, 0}, {1, 0}}, nil, nil},
- {1, 9, Point{2, 4}, []Point{{0, 0}, {0, 1}, {0, 1}, {1, 0}, {0, 1}}, nil, nil},
- {2, 9, Point{4, 2}, []Point{{1, 0}, {1, 0}, {1, 0}, {-3, 1}, {1, 0}}, nil, nil},
- {3, 9, Point{2, 4}, []Point{{0, 0}, {0, 1}, {1, 0}, {0, 1}, {0, 1}}, nil, nil},
-
- {0, 5, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
- {1, 5, Point{3, 3}, []Point{{1, 0}, {1, 0}, {-1, 1}, {-1, 1}, {1, 0}}, nil, nil},
- {2, 5, Point{3, 3}, []Point{{0, 0}, {0, 1}, {1, 0}, {1, 0}, {0, 1}}, nil, nil},
- {3, 5, Point{3, 3}, []Point{{1, 0}, {1, 0}, {-1, 1}, {-1, 1}, {1, 0}}, nil, nil},
-
- {0, 6, Point{3, 3}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
- {1, 6, Point{3, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {0, 1}, {1, 0}}, nil, nil},
- {2, 6, Point{3, 3}, []Point{{2, 0}, {-2, 1}, {1, 0}, {1, 0}, {-2, 1}}, nil, nil},
- {3, 6, Point{3, 3}, []Point{{0, 0}, {1, 0}, {0, 1}, {0, 1}, {1, 0}}, nil, nil},
-}
diff --git a/src/pkg/exp/4s/xs.go b/src/pkg/exp/4s/xs.go
deleted file mode 100644
index c6806c02d2..0000000000
--- a/src/pkg/exp/4s/xs.go
+++ /dev/null
@@ -1,750 +0,0 @@
-// games/4s - a tetris clone
-//
-// Derived from Plan 9's /sys/src/games/xs.c
-// http://plan9.bell-labs.com/sources/plan9/sys/src/games/xs.c
-//
-// Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights Reserved.
-// Portions Copyright 2009 The Go Authors. All Rights Reserved.
-// Distributed under the terms of the Lucent Public License Version 1.02
-// See http://plan9.bell-labs.com/plan9/license.html
-
-/*
- * engine for 4s, 5s, etc
- */
-
-package main
-
-import (
- "exp/draw"
- "image"
- "log"
- "os"
- "rand"
- "time"
-)
-
-/*
-Cursor whitearrow = {
- {0, 0},
- {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC,
- 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF8, 0xFF, 0xFC,
- 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC,
- 0xF3, 0xF8, 0xF1, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, },
- {0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0xC0, 0x1C,
- 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x38, 0xC0, 0x1C,
- 0xC0, 0x0E, 0xC0, 0x07, 0xCE, 0x0E, 0xDF, 0x1C,
- 0xD3, 0xB8, 0xF1, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, }
-};
-*/
-
-const (
- CNone = 0
- CBounds = 1
- CPiece = 2
- NX = 10
- NY = 20
-
- NCOL = 10
-
- MAXN = 5
-)
-
-var (
- N int
- display draw.Window
- screen draw.Image
- screenr image.Rectangle
- board [NY][NX]byte
- rboard image.Rectangle
- pscore image.Point
- scoresz image.Point
- pcsz = 32
- pos image.Point
- bbr, bb2r image.Rectangle
- bb, bbmask, bb2, bb2mask *image.RGBA
- whitemask image.Image
- br, br2 image.Rectangle
- points int
- dt int
- DY int
- DMOUSE int
- lastmx int
- mouse draw.MouseEvent
- newscreen bool
- timerc <-chan int64
- suspc chan bool
- mousec chan draw.MouseEvent
- resizec chan bool
- kbdc chan int
- suspended bool
- tsleep int
- piece *Piece
- pieces []Piece
-)
-
-type Piece struct {
- rot int
- tx int
- sz image.Point
- d []image.Point
- left *Piece
- right *Piece
-}
-
-var txbits = [NCOL][32]byte{
- {0xDD, 0xDD, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF,
- 0xDD, 0xDD, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF,
- 0xDD, 0xDD, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF,
- 0xDD, 0xDD, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF,
- },
- {0xDD, 0xDD, 0x77, 0x77, 0xDD, 0xDD, 0x77, 0x77,
- 0xDD, 0xDD, 0x77, 0x77, 0xDD, 0xDD, 0x77, 0x77,
- 0xDD, 0xDD, 0x77, 0x77, 0xDD, 0xDD, 0x77, 0x77,
- 0xDD, 0xDD, 0x77, 0x77, 0xDD, 0xDD, 0x77, 0x77,
- },
- {0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
- 0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
- 0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
- 0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
- },
- {0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
- 0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
- 0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
- 0xAA, 0xAA, 0x55, 0x55, 0xAA, 0xAA, 0x55, 0x55,
- },
- {0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
- 0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
- 0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
- 0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
- },
- {0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00,
- 0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00,
- 0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00,
- 0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00,
- },
- {0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- },
- {0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- },
- {0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
- 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
- 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
- 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
- },
- {0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0x33, 0x33, 0x33,
- 0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0x33, 0x33, 0x33,
- 0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0x33, 0x33, 0x33,
- 0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0x33, 0x33, 0x33,
- },
-}
-
-var txpix = [NCOL]image.Image{
- image.NewColorImage(image.RGBAColor{0xFF, 0xFF, 0x00, 0xFF}), /* yellow */
- image.NewColorImage(image.RGBAColor{0x00, 0xFF, 0xFF, 0xFF}), /* cyan */
- image.NewColorImage(image.RGBAColor{0x00, 0xFF, 0x00, 0xFF}), /* lime green */
- image.NewColorImage(image.RGBAColor{0x00, 0x5D, 0xBB, 0xFF}), /* slate */
- image.NewColorImage(image.RGBAColor{0xFF, 0x00, 0x00, 0xFF}), /* red */
- image.NewColorImage(image.RGBAColor{0x55, 0xAA, 0xAA, 0xFF}), /* olive green */
- image.NewColorImage(image.RGBAColor{0x00, 0x00, 0xFF, 0xFF}), /* blue */
- image.NewColorImage(image.RGBAColor{0xFF, 0x55, 0xAA, 0xFF}), /* pink */
- image.NewColorImage(image.RGBAColor{0xFF, 0xAA, 0xFF, 0xFF}), /* lavender */
- image.NewColorImage(image.RGBAColor{0xBB, 0x00, 0x5D, 0xFF}), /* maroon */
-}
-
-func movemouse() int {
- //mouse.image.Point = image.Pt(rboard.Min.X + rboard.Dx()/2, rboard.Min.Y + rboard.Dy()/2);
- //moveto(mousectl, mouse.Xy);
- return mouse.Loc.X
-}
-
-func warp(p image.Point, x int) int {
- if !suspended && piece != nil {
- x = pos.X + piece.sz.X*pcsz/2
- if p.Y < rboard.Min.Y {
- p.Y = rboard.Min.Y
- }
- if p.Y >= rboard.Max.Y {
- p.Y = rboard.Max.Y - 1
- }
- //moveto(mousectl, image.Pt(x, p.Y));
- }
- return x
-}
-
-func initPieces() {
- for i := range pieces {
- p := &pieces[i]
- if p.rot == 3 {
- p.right = &pieces[i-3]
- } else {
- p.right = &pieces[i+1]
- }
- if p.rot == 0 {
- p.left = &pieces[i+3]
- } else {
- p.left = &pieces[i-1]
- }
- }
-}
-
-func collide(pt image.Point, p *Piece) bool {
- pt.X = (pt.X - rboard.Min.X) / pcsz
- pt.Y = (pt.Y - rboard.Min.Y) / pcsz
- for _, q := range p.d {
- pt.X += q.X
- pt.Y += q.Y
- if pt.X < 0 || pt.X >= NX || pt.Y < 0 || pt.Y >= NY {
- return true
- continue
- }
- if board[pt.Y][pt.X] != 0 {
- return true
- }
- }
- return false
-}
-
-func collider(pt, pmax image.Point) bool {
- pi := (pt.X - rboard.Min.X) / pcsz
- pj := (pt.Y - rboard.Min.Y) / pcsz
- n := pmax.X / pcsz
- m := pmax.Y/pcsz + 1
- for i := pi; i < pi+n && i < NX; i++ {
- for j := pj; j < pj+m && j < NY; j++ {
- if board[j][i] != 0 {
- return true
- }
- }
- }
- return false
-}
-
-func setpiece(p *Piece) {
- draw.Draw(bb, bbr, image.White, image.ZP)
- draw.Draw(bbmask, bbr, image.Transparent, image.ZP)
- br = image.Rect(0, 0, 0, 0)
- br2 = br
- piece = p
- if p == nil {
- return
- }
- var op image.Point
- var r image.Rectangle
- r.Min = bbr.Min
- for i, pt := range p.d {
- r.Min.X += pt.X * pcsz
- r.Min.Y += pt.Y * pcsz
- r.Max.X = r.Min.X + pcsz
- r.Max.Y = r.Min.Y + pcsz
- if i == 0 {
- draw.Draw(bb, r, image.Black, image.ZP)
- draw.Draw(bb, r.Inset(1), txpix[piece.tx], image.ZP)
- draw.Draw(bbmask, r, image.Opaque, image.ZP)
- op = r.Min
- } else {
- draw.Draw(bb, r, bb, op)
- draw.Draw(bbmask, r, bbmask, op)
- }
- if br.Max.X < r.Max.X {
- br.Max.X = r.Max.X
- }
- if br.Max.Y < r.Max.Y {
- br.Max.Y = r.Max.Y
- }
- }
- br.Max = br.Max.Sub(bbr.Min)
- delta := image.Pt(0, DY)
- br2.Max = br.Max.Add(delta)
- r = br.Add(bb2r.Min)
- r2 := br2.Add(bb2r.Min)
- draw.Draw(bb2, r2, image.White, image.ZP)
- draw.Draw(bb2, r.Add(delta), bb, bbr.Min)
- draw.Draw(bb2mask, r2, image.Transparent, image.ZP)
- draw.DrawMask(bb2mask, r, image.Opaque, bbr.Min, bbmask, image.ZP, draw.Over)
- draw.DrawMask(bb2mask, r.Add(delta), image.Opaque, bbr.Min, bbmask, image.ZP, draw.Over)
-}
-
-func drawpiece() {
- draw.DrawMask(screen, br.Add(pos), bb, bbr.Min, bbmask, image.ZP, draw.Over)
- if suspended {
- draw.DrawMask(screen, br.Add(pos), image.White, image.ZP, whitemask, image.ZP, draw.Over)
- }
-}
-
-func undrawpiece() {
- var mask image.Image
- if collider(pos, br.Max) {
- mask = bbmask
- }
- draw.DrawMask(screen, br.Add(pos), image.White, bbr.Min, mask, bbr.Min, draw.Over)
-}
-
-func rest() {
- pt := pos.Sub(rboard.Min)
- pt.X /= pcsz
- pt.Y /= pcsz
- for _, p := range piece.d {
- pt.X += p.X
- pt.Y += p.Y
- board[pt.Y][pt.X] = byte(piece.tx + 16)
- }
-}
-
-func canfit(p *Piece) bool {
- var dx = [...]int{0, -1, 1, -2, 2, -3, 3, 4, -4}
- j := N + 1
- if j >= 4 {
- j = p.sz.X
- if j < p.sz.Y {
- j = p.sz.Y
- }
- j = 2*j - 1
- }
- for i := 0; i < j; i++ {
- var z image.Point
- z.X = pos.X + dx[i]*pcsz
- z.Y = pos.Y
- if !collide(z, p) {
- z.Y = pos.Y + pcsz - 1
- if !collide(z, p) {
- undrawpiece()
- pos.X = z.X
- return true
- }
- }
- }
- return false
-}
-
-func score(p int) {
- points += p
- // snprint(buf, sizeof(buf), "%.6ld", points);
- // draw.Draw(screen, draw.Rpt(pscore, pscore.Add(scoresz)), image.White, image.ZP);
- // string(screen, pscore, image.Black, image.ZP, font, buf);
-}
-
-func drawsq(b draw.Image, p image.Point, ptx int) {
- var r image.Rectangle
- r.Min = p
- r.Max.X = r.Min.X + pcsz
- r.Max.Y = r.Min.Y + pcsz
- draw.Draw(b, r, image.Black, image.ZP)
- draw.Draw(b, r.Inset(1), txpix[ptx], image.ZP)
-}
-
-func drawboard() {
- draw.Border(screen, rboard.Inset(-2), 2, image.Black, image.ZP)
- draw.Draw(screen, image.Rect(rboard.Min.X, rboard.Min.Y-2, rboard.Max.X, rboard.Min.Y),
- image.White, image.ZP)
- for i := 0; i < NY; i++ {
- for j := 0; j < NX; j++ {
- if board[i][j] != 0 {
- drawsq(screen, image.Pt(rboard.Min.X+j*pcsz, rboard.Min.Y+i*pcsz), int(board[i][j]-16))
- }
- }
- }
- score(0)
- if suspended {
- draw.DrawMask(screen, screenr, image.White, image.ZP, whitemask, image.ZP, draw.Over)
- }
-}
-
-func choosepiece() {
- for {
- i := rand.Intn(len(pieces))
- setpiece(&pieces[i])
- pos = rboard.Min
- pos.X += rand.Intn(NX) * pcsz
- if !collide(image.Pt(pos.X, pos.Y+pcsz-DY), piece) {
- break
- }
- }
- drawpiece()
- display.FlushImage()
-}
-
-func movepiece() bool {
- var mask image.Image
- if collide(image.Pt(pos.X, pos.Y+pcsz), piece) {
- return false
- }
- if collider(pos, br2.Max) {
- mask = bb2mask
- }
- draw.DrawMask(screen, br2.Add(pos), bb2, bb2r.Min, mask, bb2r.Min, draw.Over)
- pos.Y += DY
- display.FlushImage()
- return true
-}
-
-func suspend(s bool) {
- suspended = s
- /*
- if suspended {
- setcursor(mousectl, &whitearrow);
- } else {
- setcursor(mousectl, nil);
- }
- */
- if !suspended {
- drawpiece()
- }
- drawboard()
- display.FlushImage()
-}
-
-func pause(t int) {
- display.FlushImage()
- for {
- select {
- case s := <-suspc:
- if !suspended && s {
- suspend(true)
- } else if suspended && !s {
- suspend(false)
- lastmx = warp(mouse.Loc, lastmx)
- }
- case <-timerc:
- if suspended {
- break
- }
- t -= tsleep
- if t < 0 {
- return
- }
- case <-resizec:
- //redraw(true);
- case mouse = <-mousec:
- case <-kbdc:
- }
- }
-}
-
-func horiz() bool {
- var lev [MAXN]int
- h := 0
- for i := 0; i < NY; i++ {
- for j := 0; board[i][j] != 0; j++ {
- if j == NX-1 {
- lev[h] = i
- h++
- break
- }
- }
- }
- if h == 0 {
- return false
- }
- r := rboard
- newscreen = false
- for j := 0; j < h; j++ {
- r.Min.Y = rboard.Min.Y + lev[j]*pcsz
- r.Max.Y = r.Min.Y + pcsz
- draw.DrawMask(screen, r, image.White, image.ZP, whitemask, image.ZP, draw.Over)
- display.FlushImage()
- }
- PlaySound(whoosh)
- for i := 0; i < 3; i++ {
- pause(250)
- if newscreen {
- drawboard()
- break
- }
- for j := 0; j < h; j++ {
- r.Min.Y = rboard.Min.Y + lev[j]*pcsz
- r.Max.Y = r.Min.Y + pcsz
- draw.DrawMask(screen, r, image.White, image.ZP, whitemask, image.ZP, draw.Over)
- }
- display.FlushImage()
- }
- r = rboard
- for j := 0; j < h; j++ {
- i := NY - lev[j] - 1
- score(250 + 10*i*i)
- r.Min.Y = rboard.Min.Y
- r.Max.Y = rboard.Min.Y + lev[j]*pcsz
- draw.Draw(screen, r.Add(image.Pt(0, pcsz)), screen, r.Min)
- r.Max.Y = rboard.Min.Y + pcsz
- draw.Draw(screen, r, image.White, image.ZP)
- for k := lev[j] - 1; k >= 0; k-- {
- board[k+1] = board[k]
- }
- board[0] = [NX]byte{}
- }
- display.FlushImage()
- return true
-}
-
-func mright() {
- if !collide(image.Pt(pos.X+pcsz, pos.Y), piece) &&
- !collide(image.Pt(pos.X+pcsz, pos.Y+pcsz-DY), piece) {
- undrawpiece()
- pos.X += pcsz
- drawpiece()
- display.FlushImage()
- }
-}
-
-func mleft() {
- if !collide(image.Pt(pos.X-pcsz, pos.Y), piece) &&
- !collide(image.Pt(pos.X-pcsz, pos.Y+pcsz-DY), piece) {
- undrawpiece()
- pos.X -= pcsz
- drawpiece()
- display.FlushImage()
- }
-}
-
-func rright() {
- if canfit(piece.right) {
- setpiece(piece.right)
- drawpiece()
- display.FlushImage()
- }
-}
-
-func rleft() {
- if canfit(piece.left) {
- setpiece(piece.left)
- drawpiece()
- display.FlushImage()
- }
-}
-
-var fusst = 0
-
-func drop(f bool) bool {
- if f {
- score(5 * (rboard.Max.Y - pos.Y) / pcsz)
- for movepiece() {
- }
- }
- fusst = 0
- rest()
- if pos.Y == rboard.Min.Y && !horiz() {
- return true
- }
- horiz()
- setpiece(nil)
- pause(1500)
- choosepiece()
- lastmx = warp(mouse.Loc, lastmx)
- return false
-}
-
-func play() {
- var om draw.MouseEvent
- dt = 64
- lastmx = -1
- lastmx = movemouse()
- choosepiece()
- lastmx = warp(mouse.Loc, lastmx)
- for {
- select {
- case mouse = <-mousec:
- if suspended {
- om = mouse
- break
- }
- if lastmx < 0 {
- lastmx = mouse.Loc.X
- }
- if mouse.Loc.X > lastmx+DMOUSE {
- mright()
- lastmx = mouse.Loc.X
- }
- if mouse.Loc.X < lastmx-DMOUSE {
- mleft()
- lastmx = mouse.Loc.X
- }
- if mouse.Buttons&^om.Buttons&1 == 1 {
- rleft()
- }
- if mouse.Buttons&^om.Buttons&2 == 2 {
- if drop(true) {
- return
- }
- }
- if mouse.Buttons&^om.Buttons&4 == 4 {
- rright()
- }
- om = mouse
-
- case s := <-suspc:
- if !suspended && s {
- suspend(true)
- } else if suspended && !s {
- suspend(false)
- lastmx = warp(mouse.Loc, lastmx)
- }
-
- case <-resizec:
- //redraw(true);
-
- case r := <-kbdc:
- if suspended {
- break
- }
- switch r {
- case 'f', ';':
- mright()
- case 'a', 'j':
- mleft()
- case 'd', 'l':
- rright()
- case 's', 'k':
- rleft()
- case ' ':
- if drop(true) {
- return
- }
- }
-
- case <-timerc:
- if suspended {
- break
- }
- dt -= tsleep
- if dt < 0 {
- i := 1
- dt = 16 * (points + rand.Intn(10000) - 5000) / 10000
- if dt >= 32 {
- i += (dt - 32) / 16
- dt = 32
- }
- dt = 52 - dt
- for ; i > 0; i-- {
- if movepiece() {
- continue
- }
- fusst++
- if fusst == 40 {
- if drop(false) {
- return
- }
- break
- }
- }
- }
- }
- }
-}
-
-func suspproc() {
- s := false
- for {
- select {
- case mouse = <-mousec:
- mousec <- mouse
- case r := <-kbdc:
- switch r {
- case 'q', 'Q', 0x04, 0x7F:
- os.Exit(0)
- default:
- if s {
- s = false
- suspc <- s
- break
- }
- switch r {
- case 'z', 'Z', 'p', 'P', 0x1B:
- s = true
- suspc <- s
- default:
- kbdc <- r
- }
- }
- }
- }
-}
-
-func redraw(new bool) {
- // if new && getwindow(display, Refmesg) < 0 {
- // sysfatal("can't reattach to window");
- // }
- r := screen.Bounds()
- pos.X = (pos.X - rboard.Min.X) / pcsz
- pos.Y = (pos.Y - rboard.Min.Y) / pcsz
- dx := r.Max.X - r.Min.X
- dy := r.Max.Y - r.Min.Y - 2*32
- DY = dx / NX
- if DY > dy/NY {
- DY = dy / NY
- }
- DY /= 8
- if DY > 4 {
- DY = 4
- }
- pcsz = DY * 8
- DMOUSE = pcsz / 3
- if pcsz < 8 {
- log.Exitf("screen too small: %d", pcsz)
- }
- rboard = screenr
- rboard.Min.X += (dx - pcsz*NX) / 2
- rboard.Min.Y += (dy-pcsz*NY)/2 + 32
- rboard.Max.X = rboard.Min.X + NX*pcsz
- rboard.Max.Y = rboard.Min.Y + NY*pcsz
- pscore.X = rboard.Min.X + 8
- pscore.Y = rboard.Min.Y - 32
- // scoresz = stringsize(font, "000000");
- pos.X = pos.X*pcsz + rboard.Min.X
- pos.Y = pos.Y*pcsz + rboard.Min.Y
- bbr = image.Rect(0, 0, N*pcsz, N*pcsz)
- bb = image.NewRGBA(bbr.Max.X, bbr.Max.Y)
- bbmask = image.NewRGBA(bbr.Max.X, bbr.Max.Y) // actually just a bitmap
- bb2r = image.Rect(0, 0, N*pcsz, N*pcsz+DY)
- bb2 = image.NewRGBA(bb2r.Dx(), bb2r.Dy())
- bb2mask = image.NewRGBA(bb2r.Dx(), bb2r.Dy()) // actually just a bitmap
- draw.Draw(screen, screenr, image.White, image.ZP)
- drawboard()
- setpiece(piece)
- if piece != nil {
- drawpiece()
- }
- lastmx = movemouse()
- newscreen = true
- display.FlushImage()
-}
-
-func demuxEvents(w draw.Window) {
- for event := range w.EventChan() {
- switch e := event.(type) {
- case draw.MouseEvent:
- mousec <- e
- case draw.ConfigEvent:
- resizec <- true
- case draw.KeyEvent:
- kbdc <- e.Key
- }
- }
- os.Exit(0)
-}
-
-func Play(pp []Piece, ctxt draw.Window) {
- display = ctxt
- screen = ctxt.Screen()
- screenr = screen.Bounds()
- pieces = pp
- N = len(pieces[0].d)
- initPieces()
- rand.Seed(int64(time.Nanoseconds() % (1e9 - 1)))
- whitemask = image.NewColorImage(image.AlphaColor{0x7F})
- tsleep = 50
- timerc = time.Tick(int64(tsleep/2) * 1e6)
- suspc = make(chan bool)
- mousec = make(chan draw.MouseEvent)
- resizec = make(chan bool)
- kbdc = make(chan int)
- go demuxEvents(ctxt)
- go suspproc()
- points = 0
- redraw(false)
- play()
-}
diff --git a/src/pkg/exp/nacl/README b/src/pkg/exp/nacl/README
deleted file mode 100644
index f8e1c19886..0000000000
--- a/src/pkg/exp/nacl/README
+++ /dev/null
@@ -1,36 +0,0 @@
-To try Native Client by running 4s (tetris) or 5s or Spacewar:
-
-1. Build the Go distribution for your native system.
-
-2. Download the Native Client SDK and install it.
- http://code.google.com/p/nativeclient-sdk/wiki/HowTo_GetStarted
- * You only need to do steps 1 and 2.
-
-3. Copy "./native_client*/toolchain/*/bin/sel_ldr"
- from the Native Client distribution somewhere in your path as "nacl".
- This will let you run binaries using "nacl -M 8.out".
- The -M flag enables multithreaded access to the video library.
-
-4. Build the Go distribution again, this time for Native Client:
- cd $GOROOT/src
- ./all-nacl.bash
- * If you didn't do step 3, the tests at the end will fail, but that's okay.
- * If you are on a Mac, your dock will flicker as the "nacl" binary
- starts and stops while the tests run. You can stop the tests at any time.
-
-5. Run the programs by using
- nacl -M $GOROOT/src/pkg/exp/4s/8.out
- nacl -M $GOROOT/src/pkg/exp/4s/8.5s
- nacl -M $GOROOT/src/pkg/exp/spacewar/8.out
-
-6. If you have an old copy of the Native Client plugin, you may be
- able to run the programs in your browser, by running
- "godoc --http=:5103" and then visiting
- * http://localhost:5103/src/pkg/exp/4s/4s.html
- * http://localhost:5103/src/pkg/exp/4s/5s.html [sic]
- * http://localhost:5103/src/pkg/exp/spacewar/spacewar.html
-
- This usage is deprecated in favor of newere APIs in recent
- releases of Native Client. More work will be necessary to support
- interactive graphics when using those releases.
-
diff --git a/src/pkg/exp/nacl/av/Makefile b/src/pkg/exp/nacl/av/Makefile
deleted file mode 100644
index c75f351c36..0000000000
--- a/src/pkg/exp/nacl/av/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-include ../../../../Make.inc
-
-TARG=exp/nacl/av
-GOFILES=\
- av.go\
- event.go\
- image.go\
-
-include ../../../../Make.pkg
diff --git a/src/pkg/exp/nacl/av/av.go b/src/pkg/exp/nacl/av/av.go
deleted file mode 100644
index 2b980f5968..0000000000
--- a/src/pkg/exp/nacl/av/av.go
+++ /dev/null
@@ -1,289 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Native Client audio/video
-
-// Package av implements audio and video access for Native Client
-// binaries running standalone or embedded in a web browser window.
-//
-// The C version of the API is documented at
-// http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/scons-out/doc/html/group__audio__video.html
-package av
-
-import (
- "exp/draw"
- "exp/nacl/srpc"
- "log"
- "os"
- "syscall"
- "unsafe"
-)
-
-var srpcEnabled = srpc.Enabled()
-
-// native_client/src/trusted/service_runtime/include/sys/audio_video.h
-
-// Subsystem values for Init.
-const (
- SubsystemVideo = 1 << iota
- SubsystemAudio
- SubsystemEmbed
-)
-// SubsystemRawEvents;
-
-// Audio formats.
-const (
- AudioFormatStereo44K = iota
- AudioFormatStereo48K
-)
-
-// A Window represents a connection to the Native Client window.
-// It implements draw.Context.
-type Window struct {
- Embedded bool // running as part of a web page?
- *Image // screen image
- eventc chan interface{}
-}
-
-// *Window implements draw.Window.
-var _ draw.Window = (*Window)(nil)
-
-func (w *Window) EventChan() <-chan interface{} { return w.eventc }
-
-func (w *Window) Close() os.Error {
- // TODO(nigeltao): implement.
- return nil
-}
-
-func (w *Window) Screen() draw.Image { return w.Image }
-
-// Init initializes the Native Client subsystems specified by subsys.
-// Init must be called before using any of the other functions
-// in this package, and it must be called only once.
-//
-// If the SubsystemVideo flag is set, Init requests a window of size dx×dy.
-// When embedded in a web page, the web page's window specification
-// overrides the parameters to Init, so the returned Window may have
-// a different size than requested.
-//
-// If the SubsystemAudio flag is set, Init requests a connection to the
-// audio device carrying 44 kHz 16-bit stereo PCM audio samples.
-func Init(subsys int, dx, dy int) (*Window, os.Error) {
- xsubsys := subsys
- if srpcEnabled {
- waitBridge()
- xsubsys &^= SubsystemVideo | SubsystemEmbed
- }
-
- if xsubsys&SubsystemEmbed != 0 {
- return nil, os.NewError("not embedded")
- }
-
- w := new(Window)
- err := multimediaInit(xsubsys)
- if err != nil {
- return nil, err
- }
-
- if subsys&SubsystemVideo != 0 {
- if dx, dy, err = videoInit(dx, dy); err != nil {
- return nil, err
- }
- w.Image = newImage(dx, dy, bridge.pixel)
- w.eventc = make(chan interface{}, 64)
- }
-
- if subsys&SubsystemAudio != 0 {
- var n int
- if n, err = audioInit(AudioFormatStereo44K, 2048); err != nil {
- return nil, err
- }
- println("audio", n)
- }
-
- if subsys&SubsystemVideo != 0 {
- go w.readEvents()
- }
-
- return w, nil
-}
-
-func (w *Window) FlushImage() {
- if w.Image == nil {
- return
- }
- videoUpdate(w.Image.Linear)
-}
-
-func multimediaInit(subsys int) (err os.Error) {
- return os.NewSyscallError("multimedia_init", syscall.MultimediaInit(subsys))
-}
-
-func videoInit(dx, dy int) (ndx, ndy int, err os.Error) {
- if srpcEnabled {
- bridge.share.ready = 1
- return int(bridge.share.width), int(bridge.share.height), nil
- }
- if e := syscall.VideoInit(dx, dy); e != 0 {
- return 0, 0, os.NewSyscallError("video_init", int(e))
- }
- return dx, dy, nil
-}
-
-func videoUpdate(data []Color) (err os.Error) {
- if srpcEnabled {
- bridge.flushRPC.Call("upcall", nil)
- return
- }
- return os.NewSyscallError("video_update", syscall.VideoUpdate((*uint32)(&data[0])))
-}
-
-var noEvents = os.NewError("no events")
-
-func videoPollEvent(ev []byte) (err os.Error) {
- if srpcEnabled {
- r := bridge.share.eq.ri
- if r == bridge.share.eq.wi {
- return noEvents
- }
- copy(ev, bridge.share.eq.event[r][0:])
- bridge.share.eq.ri = (r + 1) % eqsize
- return nil
- }
- return os.NewSyscallError("video_poll_event", syscall.VideoPollEvent(&ev[0]))
-}
-
-func audioInit(fmt int, want int) (got int, err os.Error) {
- var x int
- e := syscall.AudioInit(fmt, want, &x)
- if e == 0 {
- return x, nil
- }
- return 0, os.NewSyscallError("audio_init", e)
-}
-
-var audioSize uintptr
-
-// AudioStream provides access to the audio device.
-// Each call to AudioStream writes the given data,
-// which should be a slice of 16-bit stereo PCM audio samples,
-// and returns the number of samples required by the next
-// call to AudioStream.
-//
-// To find out the initial number of samples to write, call AudioStream(nil).
-//
-func AudioStream(data []uint16) (nextSize int, err os.Error) {
- if audioSize == 0 {
- e := os.NewSyscallError("audio_stream", syscall.AudioStream(nil, &audioSize))
- return int(audioSize), e
- }
- if data == nil {
- return int(audioSize), nil
- }
- if uintptr(len(data))*2 != audioSize {
- log.Printf("invalid audio size want %d got %d", audioSize, len(data))
- }
- e := os.NewSyscallError("audio_stream", syscall.AudioStream(&data[0], &audioSize))
- return int(audioSize), e
-}
-
-// Synchronization structure to wait for bridge to become ready.
-var bridge struct {
- c chan bool
- displayFd int
- rpcFd int
- share *videoShare
- pixel []Color
- client *srpc.Client
- flushRPC *srpc.RPC
-}
-
-// Wait for bridge to become ready.
-// When chan is first created, there is nothing in it,
-// so this blocks. Once the bridge is ready, multimediaBridge.Run
-// will drop a value into the channel. Then any calls
-// to waitBridge will finish, taking the value out and immediately putting it back.
-func waitBridge() { bridge.c <- <-bridge.c }
-
-const eqsize = 64
-
-// Data structure shared with host via mmap.
-type videoShare struct {
- revision int32 // definition below is rev 100 unless noted
- mapSize int32
-
- // event queue
- eq struct {
- ri uint32 // read index [0,eqsize)
- wi uint32 // write index [0,eqsize)
- eof int32
- event [eqsize][64]byte
- }
-
- // now unused
- _, _, _, _ int32
-
- // video backing store information
- width, height, _, size int32
- ready int32 // rev 0x101
-}
-
-// The frame buffer data is videoShareSize bytes after
-// the videoShare begins.
-const videoShareSize = 16 * 1024
-
-type multimediaBridge struct{}
-
-// If using SRPC, the runtime will call this method to pass in two file descriptors,
-// one to mmap to get the display memory, and another to use for SRPCs back
-// to the main process.
-func (multimediaBridge) Run(arg, ret []interface{}, size []int) srpc.Errno {
- bridge.displayFd = arg[0].(int)
- bridge.rpcFd = arg[1].(int)
-
- var st syscall.Stat_t
- if errno := syscall.Fstat(bridge.displayFd, &st); errno != 0 {
- log.Exitf("mmbridge stat display: %s", os.Errno(errno))
- }
-
- addr, _, errno := syscall.Syscall6(syscall.SYS_MMAP,
- 0,
- uintptr(st.Size),
- syscall.PROT_READ|syscall.PROT_WRITE,
- syscall.MAP_SHARED,
- uintptr(bridge.displayFd),
- 0)
- if errno != 0 {
- log.Exitf("mmap display: %s", os.Errno(errno))
- }
-
- bridge.share = (*videoShare)(unsafe.Pointer(addr))
-
- // Overestimate frame buffer size
- // (must use a compile-time constant)
- // and then reslice. 256 megapixels (1 GB) should be enough.
- fb := (*[256 * 1024 * 1024]Color)(unsafe.Pointer(addr + videoShareSize))
- bridge.pixel = fb[0 : (st.Size-videoShareSize)/4]
-
- // Configure RPC connection back to client.
- var err os.Error
- bridge.client, err = srpc.NewClient(bridge.rpcFd)
- if err != nil {
- log.Exitf("NewClient: %s", err)
- }
- bridge.flushRPC = bridge.client.NewRPC(nil)
-
- // Notify waiters that the bridge is ready.
- println("bridged", bridge.share.revision)
- bridge.c <- true
-
- return srpc.OK
-}
-
-func init() {
- bridge.c = make(chan bool, 1)
- if srpcEnabled {
- srpc.Add("nacl_multimedia_bridge", "hh:", multimediaBridge{})
- }
-}
diff --git a/src/pkg/exp/nacl/av/event.go b/src/pkg/exp/nacl/av/event.go
deleted file mode 100644
index 5d04613516..0000000000
--- a/src/pkg/exp/nacl/av/event.go
+++ /dev/null
@@ -1,473 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// NaCl GUI events.
-// Clients do not have raw access to the event stream
-// (only filtered through the lens of package draw)
-// but perhaps they will.
-
-package av
-
-import (
- "encoding/binary"
- "exp/draw"
- "image"
- "log"
- "os"
- "time"
-)
-
-// An eventType identifies the type of a Native Client Event.
-type eventType uint8
-
-const (
- eventActive = 1 + iota
- eventExpose
- eventKeyDown
- eventKeyUp
- eventMouseMotion
- eventMouseButtonDown
- eventMouseButtonUp
- eventQuit
- eventUnsupported
-)
-
-// A key represents a key on a keyboard.
-type key uint16
-
-const (
- keyUnknown = 0
- keyFirst = 0
- keyBackspace = 8
- keyTab = 9
- keyClear = 12
- keyReturn = 13
- keyPause = 19
- keyEscape = 27
- keySpace = 32
- keyExclaim = 33
- keyQuotedbl = 34
- keyHash = 35
- keyDollar = 36
- keyAmpersand = 38
- keyQuote = 39
- keyLeftparen = 40
- keyRightparen = 41
- keyAsterisk = 42
- keyPlus = 43
- keyComma = 44
- keyMinus = 45
- keyPeriod = 46
- keySlash = 47
- key0 = 48
- key1 = 49
- key2 = 50
- key3 = 51
- key4 = 52
- key5 = 53
- key6 = 54
- key7 = 55
- key8 = 56
- key9 = 57
- keyColon = 58
- keySemicolon = 59
- keyLess = 60
- keyEquals = 61
- keyGreater = 62
- keyQuestion = 63
- keyAt = 64
- keyLeftbracket = 91
- keyBackslash = 92
- keyRightbracket = 93
- keyCaret = 94
- keyUnderscore = 95
- keyBackquote = 96
- keyA = 97
- keyB = 98
- keyC = 99
- keyD = 100
- keyE = 101
- keyF = 102
- keyG = 103
- keyH = 104
- keyI = 105
- keyJ = 106
- keyK = 107
- keyL = 108
- keyM = 109
- keyN = 110
- keyO = 111
- keyP = 112
- keyQ = 113
- keyR = 114
- keyS = 115
- keyT = 116
- keyU = 117
- keyV = 118
- keyW = 119
- keyX = 120
- keyY = 121
- keyZ = 122
- keyDelete = 127
- keyWorld0 = 160
- keyWorld1 = 161
- keyWorld2 = 162
- keyWorld3 = 163
- keyWorld4 = 164
- keyWorld5 = 165
- keyWorld6 = 166
- keyWorld7 = 167
- keyWorld8 = 168
- keyWorld9 = 169
- keyWorld10 = 170
- keyWorld11 = 171
- keyWorld12 = 172
- keyWorld13 = 173
- keyWorld14 = 174
- keyWorld15 = 175
- keyWorld16 = 176
- keyWorld17 = 177
- keyWorld18 = 178
- keyWorld19 = 179
- keyWorld20 = 180
- keyWorld21 = 181
- keyWorld22 = 182
- keyWorld23 = 183
- keyWorld24 = 184
- keyWorld25 = 185
- keyWorld26 = 186
- keyWorld27 = 187
- keyWorld28 = 188
- keyWorld29 = 189
- keyWorld30 = 190
- keyWorld31 = 191
- keyWorld32 = 192
- keyWorld33 = 193
- keyWorld34 = 194
- keyWorld35 = 195
- keyWorld36 = 196
- keyWorld37 = 197
- keyWorld38 = 198
- keyWorld39 = 199
- keyWorld40 = 200
- keyWorld41 = 201
- keyWorld42 = 202
- keyWorld43 = 203
- keyWorld44 = 204
- keyWorld45 = 205
- keyWorld46 = 206
- keyWorld47 = 207
- keyWorld48 = 208
- keyWorld49 = 209
- keyWorld50 = 210
- keyWorld51 = 211
- keyWorld52 = 212
- keyWorld53 = 213
- keyWorld54 = 214
- keyWorld55 = 215
- keyWorld56 = 216
- keyWorld57 = 217
- keyWorld58 = 218
- keyWorld59 = 219
- keyWorld60 = 220
- keyWorld61 = 221
- keyWorld62 = 222
- keyWorld63 = 223
- keyWorld64 = 224
- keyWorld65 = 225
- keyWorld66 = 226
- keyWorld67 = 227
- keyWorld68 = 228
- keyWorld69 = 229
- keyWorld70 = 230
- keyWorld71 = 231
- keyWorld72 = 232
- keyWorld73 = 233
- keyWorld74 = 234
- keyWorld75 = 235
- keyWorld76 = 236
- keyWorld77 = 237
- keyWorld78 = 238
- keyWorld79 = 239
- keyWorld80 = 240
- keyWorld81 = 241
- keyWorld82 = 242
- keyWorld83 = 243
- keyWorld84 = 244
- keyWorld85 = 245
- keyWorld86 = 246
- keyWorld87 = 247
- keyWorld88 = 248
- keyWorld89 = 249
- keyWorld90 = 250
- keyWorld91 = 251
- keyWorld92 = 252
- keyWorld93 = 253
- keyWorld94 = 254
- keyWorld95 = 255
-
- // Numeric keypad
- keyKp0 = 256
- keyKp1 = 257
- keyKp2 = 258
- keyKp3 = 259
- keyKp4 = 260
- keyKp5 = 261
- keyKp6 = 262
- keyKp7 = 263
- keyKp8 = 264
- keyKp9 = 265
- keyKpPeriod = 266
- keyKpDivide = 267
- keyKpMultiply = 268
- keyKpMinus = 269
- keyKpPlus = 270
- keyKpEnter = 271
- keyKpEquals = 272
-
- // Arrow & insert/delete pad
- keyUp = 273
- keyDown = 274
- keyRight = 275
- keyLeft = 276
- keyInsert = 277
- keyHome = 278
- keyEnd = 279
- keyPageup = 280
- keyPagedown = 281
-
- // Function keys
- keyF1 = 282
- keyF2 = 283
- keyF3 = 284
- keyF4 = 285
- keyF5 = 286
- keyF6 = 287
- keyF7 = 288
- keyF8 = 289
- keyF9 = 290
- keyF10 = 291
- keyF11 = 292
- keyF12 = 293
- keyF13 = 294
- keyF14 = 295
- keyF15 = 296
-
- // Modifier keys
- keyNumlock = 300
- keyCapslock = 301
- keyScrollock = 302
- keyRshift = 303
- keyLshift = 304
- keyRctrl = 305
- keyLctrl = 306
- keyRalt = 307
- keyLalt = 308
- keyRmeta = 309
- keyLmeta = 310
- keyLsuper = 311
- keyRsuper = 312
- keyMode = 313
- keyCompose = 314
-
- // Misc keys
- keyHelp = 315
- keyPrint = 316
- keySysreq = 317
- keyBreak = 318
- keyMenu = 319
- keyPower = 320
- keyEuro = 321
- keyUndo = 322
-
- // Add any other keys here
- keyLast
-)
-
-// A keymod is a set of bit flags
-type keymod uint16
-
-const (
- keymodNone = 0x0000
- keymodLshift = 0x0001
- keymodRshift = 0x0002
- keymodLctrl = 0x0040
- keymodRctrl = 0x0080
- keymodLalt = 0x0100
- keymodRalt = 0x0200
- keymodLmeta = 0x0400
- keymodRmeta = 0x0800
- keymodNum = 0x1000
- keymodCaps = 0x2000
- keymodMode = 0x4000
- keymodReserved = 0x8000
-)
-
-const (
- mouseButtonLeft = 1
- mouseButtonMiddle = 2
- mouseButtonRight = 3
- mouseScrollUp = 4
- mouseScrollDown = 5
-)
-
-const (
- mouseStateLeftButtonPressed = 1
- mouseStateMiddleButtonPressed = 2
- mouseStateRightButtonPressed = 4
-)
-
-const (
- activeMouse = 1 // mouse leaving/entering
- activeInputFocus = 2 // input focus lost/restored
- activeApplication = 4 // application minimized/restored
-)
-
-const maxEventBytes = 64
-
-type activeEvent struct {
- EventType eventType
- Gain uint8
- State uint8
-}
-
-type exposeEvent struct {
- EventType eventType
-}
-
-type keyboardEvent struct {
- EventType eventType
- Device uint8
- State uint8
- Pad uint8
- ScanCode uint8
- Pad1 uint8
- Key key
- Mod keymod
- Unicode uint16
-}
-
-type mouseMotionEvent struct {
- EventType eventType
- Device uint8
- Buttons uint8
- Pad uint8
- X uint16
- Y uint16
- Xrel int16
- Yrel int16
-}
-
-type mouseButtonEvent struct {
- EventType eventType
- Device uint8
- Button uint8
- State uint8
- X uint16
- Y uint16
-}
-
-type quitEvent struct {
- EventType eventType
-}
-
-type syncEvent struct{}
-
-type event interface{}
-
-type reader []byte
-
-func (r *reader) Read(p []byte) (n int, err os.Error) {
- b := *r
- if len(b) == 0 && len(p) > 0 {
- return 0, os.EOF
- }
- n = copy(p, b)
- *r = b[n:]
- return
-}
-
-func (w *Window) readEvents() {
- buf := make([]byte, maxEventBytes)
- clean := false
- var (
- ea *activeEvent
- ee *exposeEvent
- ke *keyboardEvent
- mme *mouseMotionEvent
- mbe *mouseButtonEvent
- qe *quitEvent
- )
- var m draw.MouseEvent
- for {
- if err := videoPollEvent(buf); err != nil {
- if !clean {
- clean = w.eventc <- draw.ConfigEvent{image.Config{ColorModel, w.Image.Bounds().Dx(), w.Image.Bounds().Dy()}}
- }
- time.Sleep(10e6) // 10ms
- continue
- }
- clean = false
- var e event
- switch buf[0] {
- default:
- log.Print("unsupported event type", buf[0])
- continue
- case eventActive:
- ea = new(activeEvent)
- e = ea
- case eventExpose:
- ee = new(exposeEvent)
- e = ee
- case eventKeyDown, eventKeyUp:
- ke = new(keyboardEvent)
- e = ke
- case eventMouseMotion:
- mme = new(mouseMotionEvent)
- e = mme
- case eventMouseButtonDown, eventMouseButtonUp:
- mbe = new(mouseButtonEvent)
- e = mbe
- case eventQuit:
- qe = new(quitEvent)
- e = qe
- }
- r := reader(buf)
- if err := binary.Read(&r, binary.LittleEndian, e); err != nil {
- log.Printf("unpacking %T event: %s", e, err)
- continue
- }
- // log.Printf("%#v\n", e);
- switch buf[0] {
- case eventExpose:
- w.eventc <- draw.ConfigEvent{image.Config{ColorModel, w.Image.Bounds().Dx(), w.Image.Bounds().Dy()}}
- case eventKeyDown:
- w.eventc <- draw.KeyEvent{int(ke.Key)}
- case eventKeyUp:
- w.eventc <- draw.KeyEvent{-int(ke.Key)}
- case eventMouseMotion:
- m.Loc.X = int(mme.X)
- m.Loc.Y = int(mme.Y)
- m.Buttons = int(mme.Buttons)
- m.Nsec = time.Nanoseconds()
- _ = w.eventc <- m
- case eventMouseButtonDown:
- m.Loc.X = int(mbe.X)
- m.Loc.Y = int(mbe.Y)
- // TODO(rsc): Remove uint cast once 8g bug is fixed.
- m.Buttons |= 1 << uint(mbe.Button-1)
- m.Nsec = time.Nanoseconds()
- _ = w.eventc <- m
- case eventMouseButtonUp:
- m.Loc.X = int(mbe.X)
- m.Loc.Y = int(mbe.Y)
- // TODO(rsc): Remove uint cast once 8g bug is fixed.
- m.Buttons &^= 1 << uint(mbe.Button-1)
- m.Nsec = time.Nanoseconds()
- _ = w.eventc <- m
- case eventQuit:
- close(w.eventc)
- }
- }
-}
diff --git a/src/pkg/exp/nacl/av/image.go b/src/pkg/exp/nacl/av/image.go
deleted file mode 100644
index 2ff4bb69c1..0000000000
--- a/src/pkg/exp/nacl/av/image.go
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package av
-
-import (
- "image"
-)
-
-// Native Client image format:
-// a single linear array of 32-bit ARGB as packed uint32s.
-
-// An Image represents a Native Client frame buffer.
-// The pixels in the image can be accessed as a single
-// linear slice or as a two-dimensional slice of slices.
-// Image implements image.Image.
-type Image struct {
- Linear []Color
- Pixel [][]Color
-}
-
-var _ image.Image = (*Image)(nil)
-
-func (m *Image) ColorModel() image.ColorModel { return ColorModel }
-
-func (m *Image) Bounds() image.Rectangle {
- if len(m.Pixel) == 0 {
- return image.ZR
- }
- return image.Rectangle{image.ZP, image.Point{len(m.Pixel[0]), len(m.Pixel)}}
-}
-
-func (m *Image) At(x, y int) image.Color { return m.Pixel[y][x] }
-
-func (m *Image) Set(x, y int, color image.Color) {
- if c, ok := color.(Color); ok {
- m.Pixel[y][x] = c
- return
- }
- m.Pixel[y][x] = makeColor(color.RGBA())
-}
-
-func newImage(dx, dy int, linear []Color) *Image {
- if linear == nil {
- linear = make([]Color, dx*dy)
- }
- pix := make([][]Color, dy)
- for i := range pix {
- pix[i] = linear[dx*i : dx*(i+1)]
- }
- return &Image{linear, pix}
-}
-
-// A Color represents a Native Client color value,
-// a 32-bit R, G, B, A value packed as 0xAARRGGBB.
-type Color uint32
-
-func (p Color) RGBA() (r, g, b, a uint32) {
- x := uint32(p)
- a = x >> 24
- a |= a << 8
- r = (x >> 16) & 0xFF
- r |= r << 8
- g = (x >> 8) & 0xFF
- g |= g << 8
- b = x & 0xFF
- b |= b << 8
- return
-}
-
-func makeColor(r, g, b, a uint32) Color {
- return Color(a>>8<<24 | r>>8<<16 | g>>8<<8 | b>>8)
-}
-
-func toColor(color image.Color) image.Color {
- if c, ok := color.(Color); ok {
- return c
- }
- return makeColor(color.RGBA())
-}
-
-// ColorModel is the color model corresponding to the Native Client Color.
-var ColorModel = image.ColorModelFunc(toColor)
diff --git a/src/pkg/exp/nacl/srpc/Makefile b/src/pkg/exp/nacl/srpc/Makefile
deleted file mode 100644
index c89997d4ba..0000000000
--- a/src/pkg/exp/nacl/srpc/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-include ../../../../Make.inc
-
-TARG=exp/nacl/srpc
-GOFILES=\
- client.go\
- msg.go\
- server.go\
-
-include ../../../../Make.pkg
diff --git a/src/pkg/exp/nacl/srpc/client.go b/src/pkg/exp/nacl/srpc/client.go
deleted file mode 100644
index 3e421e4c01..0000000000
--- a/src/pkg/exp/nacl/srpc/client.go
+++ /dev/null
@@ -1,210 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This package implements Native Client's simple RPC (SRPC).
-package srpc
-
-import (
- "bytes"
- "log"
- "os"
- "sync"
-)
-
-// A Client represents the client side of an SRPC connection.
-type Client struct {
- fd int // fd to server
- r msgReceiver
- s msgSender
- service map[string]srv // services by name
- out chan *msg // send to out to write to connection
-
- mu sync.Mutex // protects pending, idGen
- pending map[uint64]*RPC
- idGen uint64 // generator for request IDs
-}
-
-// A srv is a single method that the server offers.
-type srv struct {
- num uint32 // method number
- fmt string // argument format
-}
-
-// An RPC represents a single RPC issued by a client.
-type RPC struct {
- Ret []interface{} // Return values
- Done chan *RPC // Channel where notification of done arrives
- Errno Errno // Status code
- c *Client
- id uint64 // request id
-}
-
-// NewClient allocates a new client using the file descriptor fd.
-func NewClient(fd int) (c *Client, err os.Error) {
- c = new(Client)
- c.fd = fd
- c.r.fd = fd
- c.s.fd = fd
- c.service = make(map[string]srv)
- c.pending = make(map[uint64]*RPC)
-
- // service discovery request
- m := &msg{
- protocol: protocol,
- isReq: true,
- Ret: []interface{}{[]byte(nil)},
- Size: []int{4000},
- }
- m.packRequest()
- c.s.send(m)
- m, err = c.r.recv()
- if err != nil {
- return nil, err
- }
- m.unpackResponse()
- if m.status != OK {
- log.Printf("NewClient service_discovery: %s", m.status)
- return nil, m.status
- }
- for n, line := range bytes.Split(m.Ret[0].([]byte), []byte{'\n'}, -1) {
- i := bytes.Index(line, []byte{':'})
- if i < 0 {
- continue
- }
- c.service[string(line[0:i])] = srv{uint32(n), string(line[i+1:])}
- }
-
- c.out = make(chan *msg)
- go c.input()
- go c.output()
- return c, nil
-}
-
-func (c *Client) input() {
- for {
- m, err := c.r.recv()
- if err != nil {
- log.Exitf("client recv: %s", err)
- }
- if m.unpackResponse(); m.status != OK {
- log.Printf("invalid message: %s", m.status)
- continue
- }
- c.mu.Lock()
- rpc, ok := c.pending[m.requestId]
- if ok {
- c.pending[m.requestId] = nil, false
- }
- c.mu.Unlock()
- if !ok {
- log.Print("unexpected response")
- continue
- }
- rpc.Ret = m.Ret
- rpc.Done <- rpc
- }
-}
-
-func (c *Client) output() {
- for m := range c.out {
- c.s.send(m)
- }
-}
-
-// NewRPC creates a new RPC on the client connection.
-func (c *Client) NewRPC(done chan *RPC) *RPC {
- if done == nil {
- done = make(chan *RPC)
- }
- c.mu.Lock()
- id := c.idGen
- c.idGen++
- c.mu.Unlock()
- return &RPC{nil, done, OK, c, id}
-}
-
-// Start issues an RPC request for method name with the given arguments.
-// The RPC r must not be in use for another pending request.
-// To wait for the RPC to finish, receive from r.Done and then
-// inspect r.Ret and r.Errno.
-func (r *RPC) Start(name string, arg []interface{}) {
- var m msg
-
- r.Errno = OK
- r.c.mu.Lock()
- srv, ok := r.c.service[name]
- if !ok {
- r.c.mu.Unlock()
- r.Errno = ErrBadRPCNumber
- r.Done <- r
- return
- }
- r.c.pending[r.id] = r
- r.c.mu.Unlock()
-
- m.protocol = protocol
- m.requestId = r.id
- m.isReq = true
- m.rpcNumber = srv.num
- m.Arg = arg
-
- // Fill in the return values and sizes to generate
- // the right type chars. We'll take most any size.
-
- // Skip over input arguments.
- // We could check them against arg, but the server
- // will do that anyway.
- i := 0
- for srv.fmt[i] != ':' {
- i++
- }
- fmt := srv.fmt[i+1:]
-
- // Now the return prototypes.
- m.Ret = make([]interface{}, len(fmt)-i)
- m.Size = make([]int, len(fmt)-i)
- for i := 0; i < len(fmt); i++ {
- switch fmt[i] {
- default:
- log.Exitf("unexpected service type %c", fmt[i])
- case 'b':
- m.Ret[i] = false
- case 'C':
- m.Ret[i] = []byte(nil)
- m.Size[i] = 1 << 30
- case 'd':
- m.Ret[i] = float64(0)
- case 'D':
- m.Ret[i] = []float64(nil)
- m.Size[i] = 1 << 30
- case 'h':
- m.Ret[i] = int(-1)
- case 'i':
- m.Ret[i] = int32(0)
- case 'I':
- m.Ret[i] = []int32(nil)
- m.Size[i] = 1 << 30
- case 's':
- m.Ret[i] = ""
- m.Size[i] = 1 << 30
- }
- }
-
- m.packRequest()
- r.c.out <- &m
-}
-
-// Call is a convenient wrapper that starts the RPC request,
-// waits for it to finish, and then returns the results.
-// Its implementation is:
-//
-// r.Start(name, arg)
-// <-r.Done
-// return r.Ret, r.Errno
-//
-func (r *RPC) Call(name string, arg []interface{}) (ret []interface{}, err Errno) {
- r.Start(name, arg)
- <-r.Done
- return r.Ret, r.Errno
-}
diff --git a/src/pkg/exp/nacl/srpc/msg.go b/src/pkg/exp/nacl/srpc/msg.go
deleted file mode 100644
index 92601ed373..0000000000
--- a/src/pkg/exp/nacl/srpc/msg.go
+++ /dev/null
@@ -1,522 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// SRPC constants, data structures, and parsing.
-
-package srpc
-
-import (
- "math"
- "os"
- "strconv"
- "syscall"
- "unsafe"
-)
-
-// An Errno is an SRPC status code.
-type Errno uint32
-
-const (
- OK Errno = 256 + iota
- ErrBreak
- ErrMessageTruncated
- ErrNoMemory
- ErrProtocolMismatch
- ErrBadRPCNumber
- ErrBadArgType
- ErrTooFewArgs
- ErrTooManyArgs
- ErrInArgTypeMismatch
- ErrOutArgTypeMismatch
- ErrInternalError
- ErrAppError
-)
-
-var errstr = [...]string{
- OK - OK: "ok",
- ErrBreak - OK: "break",
- ErrMessageTruncated - OK: "message truncated",
- ErrNoMemory - OK: "out of memory",
- ErrProtocolMismatch - OK: "protocol mismatch",
- ErrBadRPCNumber - OK: "invalid RPC method number",
- ErrBadArgType - OK: "unexpected argument type",
- ErrTooFewArgs - OK: "too few arguments",
- ErrTooManyArgs - OK: "too many arguments",
- ErrInArgTypeMismatch - OK: "input argument type mismatch",
- ErrOutArgTypeMismatch - OK: "output argument type mismatch",
- ErrInternalError - OK: "internal error",
- ErrAppError - OK: "application error",
-}
-
-func (e Errno) String() string {
- if e < OK || int(e-OK) >= len(errstr) {
- return "Errno(" + strconv.Itoa64(int64(e)) + ")"
- }
- return errstr[e-OK]
-}
-
-// A *msgHdr is the data argument to the imc_recvmsg
-// and imc_sendmsg system calls. Because it contains unchecked
-// counts trusted by the system calls, the data structure is unsafe
-// to expose to package clients.
-type msgHdr struct {
- iov *iov
- niov int32
- desc *int32
- ndesc int32
- flags uint32
-}
-
-// A single region for I/O. Just as unsafe as msgHdr.
-type iov struct {
- base *byte
- len int32
-}
-
-// A msg is the Go representation of a message.
-type msg struct {
- rdata []byte // data being consumed during message parsing
- rdesc []int32 // file descriptors being consumed during message parsing
- wdata []byte // data being generated when replying
-
- // parsed version of message
- protocol uint32
- requestId uint64
- isReq bool
- rpcNumber uint32
- gotHeader bool
- status Errno // error code sent in response
- Arg []interface{} // method arguments
- Ret []interface{} // method results
- Size []int // max sizes for arrays in method results
- fmt string // accumulated format string of arg+":"+ret
-}
-
-// A msgReceiver receives messages from a file descriptor.
-type msgReceiver struct {
- fd int
- data [128 * 1024]byte
- desc [8]int32
- hdr msgHdr
- iov iov
-}
-
-func (r *msgReceiver) recv() (*msg, os.Error) {
- // Init pointers to buffers where syscall recvmsg can write.
- r.iov.base = &r.data[0]
- r.iov.len = int32(len(r.data))
- r.hdr.iov = &r.iov
- r.hdr.niov = 1
- r.hdr.desc = &r.desc[0]
- r.hdr.ndesc = int32(len(r.desc))
- n, _, e := syscall.Syscall(syscall.SYS_IMC_RECVMSG, uintptr(r.fd), uintptr(unsafe.Pointer(&r.hdr)), 0)
- if e != 0 {
- return nil, os.NewSyscallError("imc_recvmsg", int(e))
- }
-
- // Make a copy of the data so that the next recvmsg doesn't
- // smash it. The system call did not update r.iov.len. Instead it
- // returned the total byte count as n.
- m := new(msg)
- m.rdata = make([]byte, n)
- copy(m.rdata, r.data[0:])
-
- // Make a copy of the desc too.
- // The system call *did* update r.hdr.ndesc.
- if r.hdr.ndesc > 0 {
- m.rdesc = make([]int32, r.hdr.ndesc)
- copy(m.rdesc, r.desc)
- }
-
- return m, nil
-}
-
-// A msgSender sends messages on a file descriptor.
-type msgSender struct {
- fd int
- hdr msgHdr
- iov iov
-}
-
-func (s *msgSender) send(m *msg) os.Error {
- if len(m.wdata) > 0 {
- s.iov.base = &m.wdata[0]
- }
- s.iov.len = int32(len(m.wdata))
- s.hdr.iov = &s.iov
- s.hdr.niov = 1
- s.hdr.desc = nil
- s.hdr.ndesc = 0
- _, _, e := syscall.Syscall(syscall.SYS_IMC_SENDMSG, uintptr(s.fd), uintptr(unsafe.Pointer(&s.hdr)), 0)
- if e != 0 {
- return os.NewSyscallError("imc_sendmsg", int(e))
- }
- return nil
-}
-
-// Reading from msg.rdata.
-func (m *msg) uint8() uint8 {
- if m.status != OK {
- return 0
- }
- if len(m.rdata) < 1 {
- m.status = ErrMessageTruncated
- return 0
- }
- x := m.rdata[0]
- m.rdata = m.rdata[1:]
- return x
-}
-
-func (m *msg) uint32() uint32 {
- if m.status != OK {
- return 0
- }
- if len(m.rdata) < 4 {
- m.status = ErrMessageTruncated
- return 0
- }
- b := m.rdata[0:4]
- x := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
- m.rdata = m.rdata[4:]
- return x
-}
-
-func (m *msg) uint64() uint64 {
- if m.status != OK {
- return 0
- }
- if len(m.rdata) < 8 {
- m.status = ErrMessageTruncated
- return 0
- }
- b := m.rdata[0:8]
- x := uint64(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
- x |= uint64(uint32(b[4])|uint32(b[5])<<8|uint32(b[6])<<16|uint32(b[7])<<24) << 32
- m.rdata = m.rdata[8:]
- return x
-}
-
-func (m *msg) bytes(n int) []byte {
- if m.status != OK {
- return nil
- }
- if len(m.rdata) < n {
- m.status = ErrMessageTruncated
- return nil
- }
- x := m.rdata[0:n]
- m.rdata = m.rdata[n:]
- return x
-}
-
-// Writing to msg.wdata.
-func (m *msg) grow(n int) []byte {
- i := len(m.wdata)
- if i+n > cap(m.wdata) {
- a := make([]byte, i, (i+n)*2)
- copy(a, m.wdata)
- m.wdata = a
- }
- m.wdata = m.wdata[0 : i+n]
- return m.wdata[i : i+n]
-}
-
-func (m *msg) wuint8(x uint8) { m.grow(1)[0] = x }
-
-func (m *msg) wuint32(x uint32) {
- b := m.grow(4)
- b[0] = byte(x)
- b[1] = byte(x >> 8)
- b[2] = byte(x >> 16)
- b[3] = byte(x >> 24)
-}
-
-func (m *msg) wuint64(x uint64) {
- b := m.grow(8)
- lo := uint32(x)
- b[0] = byte(lo)
- b[1] = byte(lo >> 8)
- b[2] = byte(lo >> 16)
- b[3] = byte(lo >> 24)
- hi := uint32(x >> 32)
- b[4] = byte(hi)
- b[5] = byte(hi >> 8)
- b[6] = byte(hi >> 16)
- b[7] = byte(hi >> 24)
-}
-
-func (m *msg) wbytes(p []byte) { copy(m.grow(len(p)), p) }
-
-func (m *msg) wstring(s string) {
- b := m.grow(len(s))
- copy(b, s)
-}
-
-// Parsing of RPC header and arguments.
-//
-// The header format is:
-// protocol uint32;
-// requestId uint64;
-// isReq bool;
-// rpcNumber uint32;
-// status uint32; // only for response
-//
-// Then a sequence of values follow, preceded by the length:
-// nvalue uint32;
-//
-// Each value begins with a one-byte type followed by
-// type-specific data.
-//
-// type uint8;
-// 'b': x bool;
-// 'C': len uint32; x [len]byte;
-// 'd': x float64;
-// 'D': len uint32; x [len]float64;
-// 'h': x int; // handle aka file descriptor
-// 'i': x int32;
-// 'I': len uint32; x [len]int32;
-// 's': len uint32; x [len]byte;
-//
-// If this is a request, a sequence of pseudo-values follows,
-// preceded by its length (nvalue uint32).
-//
-// Each pseudo-value is a one-byte type as above,
-// followed by a maximum length (len uint32)
-// for the 'C', 'D', 'I', and 's' types.
-//
-// In the Go msg, we represent each argument by
-// an empty interface containing the type of x in the
-// corresponding case.
-
-// The current protocol number.
-const protocol = 0xc0da0002
-
-func (m *msg) unpackHeader() {
- m.protocol = m.uint32()
- m.requestId = m.uint64()
- m.isReq = m.uint8() != 0
- m.rpcNumber = m.uint32()
- m.gotHeader = m.status == OK // signal that header parsed successfully
- if m.gotHeader && !m.isReq {
- status := Errno(m.uint32())
- m.gotHeader = m.status == OK // still ok?
- if m.gotHeader {
- m.status = status
- }
- }
-}
-
-func (m *msg) packHeader() {
- m.wuint32(m.protocol)
- m.wuint64(m.requestId)
- if m.isReq {
- m.wuint8(1)
- } else {
- m.wuint8(0)
- }
- m.wuint32(m.rpcNumber)
- if !m.isReq {
- m.wuint32(uint32(m.status))
- }
-}
-
-func (m *msg) unpackValues(v []interface{}) {
- for i := range v {
- t := m.uint8()
- m.fmt += string(t)
- switch t {
- default:
- if m.status == OK {
- m.status = ErrBadArgType
- }
- return
- case 'b': // bool[1]
- v[i] = m.uint8() > 0
- case 'C': // char array
- v[i] = m.bytes(int(m.uint32()))
- case 'd': // double
- v[i] = math.Float64frombits(m.uint64())
- case 'D': // double array
- a := make([]float64, int(m.uint32()))
- for j := range a {
- a[j] = math.Float64frombits(m.uint64())
- }
- v[i] = a
- case 'h': // file descriptor (handle)
- if len(m.rdesc) == 0 {
- if m.status == OK {
- m.status = ErrBadArgType
- }
- return
- }
- v[i] = int(m.rdesc[0])
- m.rdesc = m.rdesc[1:]
- case 'i': // int
- v[i] = int32(m.uint32())
- case 'I': // int array
- a := make([]int32, int(m.uint32()))
- for j := range a {
- a[j] = int32(m.uint32())
- }
- v[i] = a
- case 's': // string
- v[i] = string(m.bytes(int(m.uint32())))
- }
- }
-}
-
-func (m *msg) packValues(v []interface{}) {
- for i := range v {
- switch x := v[i].(type) {
- default:
- if m.status == OK {
- m.status = ErrInternalError
- }
- return
- case bool:
- m.wuint8('b')
- if x {
- m.wuint8(1)
- } else {
- m.wuint8(0)
- }
- case []byte:
- m.wuint8('C')
- m.wuint32(uint32(len(x)))
- m.wbytes(x)
- case float64:
- m.wuint8('d')
- m.wuint64(math.Float64bits(x))
- case []float64:
- m.wuint8('D')
- m.wuint32(uint32(len(x)))
- for _, f := range x {
- m.wuint64(math.Float64bits(f))
- }
- case int32:
- m.wuint8('i')
- m.wuint32(uint32(x))
- case []int32:
- m.wuint8('I')
- m.wuint32(uint32(len(x)))
- for _, i := range x {
- m.wuint32(uint32(i))
- }
- case string:
- m.wuint8('s')
- m.wuint32(uint32(len(x)))
- m.wstring(x)
- }
- }
-}
-
-func (m *msg) unpackRequest() {
- m.status = OK
- if m.unpackHeader(); m.status != OK {
- return
- }
- if m.protocol != protocol || !m.isReq {
- m.status = ErrProtocolMismatch
- return
- }
-
- // type-tagged argument values
- m.Arg = make([]interface{}, m.uint32())
- m.unpackValues(m.Arg)
- if m.status != OK {
- return
- }
-
- // type-tagged expected return sizes.
- // fill in zero values for each return value
- // and save sizes.
- m.fmt += ":"
- m.Ret = make([]interface{}, m.uint32())
- m.Size = make([]int, len(m.Ret))
- for i := range m.Ret {
- t := m.uint8()
- m.fmt += string(t)
- switch t {
- default:
- if m.status == OK {
- m.status = ErrBadArgType
- }
- return
- case 'b': // bool[1]
- m.Ret[i] = false
- case 'C': // char array
- m.Size[i] = int(m.uint32())
- m.Ret[i] = []byte(nil)
- case 'd': // double
- m.Ret[i] = float64(0)
- case 'D': // double array
- m.Size[i] = int(m.uint32())
- m.Ret[i] = []float64(nil)
- case 'h': // file descriptor (handle)
- m.Ret[i] = int(-1)
- case 'i': // int
- m.Ret[i] = int32(0)
- case 'I': // int array
- m.Size[i] = int(m.uint32())
- m.Ret[i] = []int32(nil)
- case 's': // string
- m.Size[i] = int(m.uint32())
- m.Ret[i] = ""
- }
- }
-}
-
-func (m *msg) packRequest() {
- m.packHeader()
- m.wuint32(uint32(len(m.Arg)))
- m.packValues(m.Arg)
- m.wuint32(uint32(len(m.Ret)))
- for i, v := range m.Ret {
- switch x := v.(type) {
- case bool:
- m.wuint8('b')
- case []byte:
- m.wuint8('C')
- m.wuint32(uint32(m.Size[i]))
- case float64:
- m.wuint8('d')
- case []float64:
- m.wuint8('D')
- m.wuint32(uint32(m.Size[i]))
- case int:
- m.wuint8('h')
- case int32:
- m.wuint8('i')
- case []int32:
- m.wuint8('I')
- m.wuint32(uint32(m.Size[i]))
- case string:
- m.wuint8('s')
- m.wuint32(uint32(m.Size[i]))
- }
- }
-}
-
-func (m *msg) unpackResponse() {
- m.status = OK
- if m.unpackHeader(); m.status != OK {
- return
- }
- if m.protocol != protocol || m.isReq {
- m.status = ErrProtocolMismatch
- return
- }
-
- // type-tagged return values
- m.fmt = ""
- m.Ret = make([]interface{}, m.uint32())
- m.unpackValues(m.Ret)
-}
-
-func (m *msg) packResponse() {
- m.packHeader()
- m.wuint32(uint32(len(m.Ret)))
- m.packValues(m.Ret)
-}
diff --git a/src/pkg/exp/nacl/srpc/server.go b/src/pkg/exp/nacl/srpc/server.go
deleted file mode 100644
index 5d65ca1fab..0000000000
--- a/src/pkg/exp/nacl/srpc/server.go
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// SRPC server
-
-package srpc
-
-import (
- "bytes"
- "log"
- "os"
- "syscall"
-)
-
-// TODO(rsc): I'd prefer to make this
-// type Handler func(m *msg) Errno
-// but NaCl can't use closures.
-// The explicit interface is a way to attach state.
-
-// A Handler is a handler for an SRPC method.
-// It reads arguments from arg, checks size for array limits,
-// writes return values to ret, and returns an Errno status code.
-type Handler interface {
- Run(arg, ret []interface{}, size []int) Errno
-}
-
-type method struct {
- name string
- fmt string
- handler Handler
-}
-
-var rpcMethod []method
-
-// BUG(rsc): Add's format string should be replaced by analyzing the
-// type of an arbitrary func passed in an interface{} using reflection.
-
-// Add registers a handler for the named method.
-// Fmt is a Native Client format string, a sequence of
-// alphabetic characters representing the types of the parameter values,
-// a colon, and then a sequence of alphabetic characters
-// representing the types of the returned values.
-// The format characters and corresponding dynamic types are:
-//
-// b bool
-// C []byte
-// d float64
-// D []float64
-// h int // a file descriptor (aka handle)
-// i int32
-// I []int32
-// s string
-//
-func Add(name, fmt string, handler Handler) {
- rpcMethod = append(rpcMethod, method{name, fmt, handler})
-}
-
-// Serve accepts new SRPC connections from the file descriptor fd
-// and answers RPCs issued on those connections.
-// It closes fd and returns an error if the imc_accept system call fails.
-func Serve(fd int) os.Error {
- defer syscall.Close(fd)
-
- for {
- cfd, _, e := syscall.Syscall(syscall.SYS_IMC_ACCEPT, uintptr(fd), 0, 0)
- if e != 0 {
- return os.NewSyscallError("imc_accept", int(e))
- }
- go serveLoop(int(cfd))
- }
- panic("unreachable")
-}
-
-func serveLoop(fd int) {
- c := make(chan *msg)
- go sendLoop(fd, c)
-
- var r msgReceiver
- r.fd = fd
- for {
- m, err := r.recv()
- if err != nil {
- break
- }
- m.unpackRequest()
- if !m.gotHeader {
- log.Printf("cannot unpack header: %s", m.status)
- continue
- }
- // log.Printf("<- %#v", m);
- m.isReq = false // set up for response
- go serveMsg(m, c)
- }
- close(c)
-}
-
-func sendLoop(fd int, c <-chan *msg) {
- var s msgSender
- s.fd = fd
- for m := range c {
- // log.Printf("-> %#v", m);
- m.packResponse()
- s.send(m)
- }
- syscall.Close(fd)
-}
-
-func serveMsg(m *msg, c chan<- *msg) {
- if m.status != OK {
- c <- m
- return
- }
- if m.rpcNumber >= uint32(len(rpcMethod)) {
- m.status = ErrBadRPCNumber
- c <- m
- return
- }
-
- meth := &rpcMethod[m.rpcNumber]
- if meth.fmt != m.fmt {
- switch {
- case len(m.fmt) < len(meth.fmt):
- m.status = ErrTooFewArgs
- case len(m.fmt) > len(meth.fmt):
- m.status = ErrTooManyArgs
- default:
- // There's a type mismatch.
- // It's an in-arg mismatch if the mismatch happens
- // before the colon; otherwise it's an out-arg mismatch.
- m.status = ErrInArgTypeMismatch
- for i := 0; i < len(m.fmt) && m.fmt[i] == meth.fmt[i]; i++ {
- if m.fmt[i] == ':' {
- m.status = ErrOutArgTypeMismatch
- break
- }
- }
- }
- c <- m
- return
- }
-
- m.status = meth.handler.Run(m.Arg, m.Ret, m.Size)
- c <- m
-}
-
-// ServeRuntime serves RPCs issued by the Native Client embedded runtime.
-// This should be called by main once all methods have been registered using Add.
-func ServeRuntime() os.Error {
- // Call getFd to check that we are running embedded.
- if _, err := getFd(); err != nil {
- return err
- }
-
- // We are running embedded.
- // The fd returned by getFd is a red herring.
- // Accept connections on magic fd 3.
- return Serve(3)
-}
-
-// getFd runs the srpc_get_fd system call.
-func getFd() (fd int, err os.Error) {
- r1, _, e := syscall.Syscall(syscall.SYS_SRPC_GET_FD, 0, 0, 0)
- return int(r1), os.NewSyscallError("srpc_get_fd", int(e))
-}
-
-// Enabled returns true if SRPC is enabled in the Native Client runtime.
-func Enabled() bool {
- _, err := getFd()
- return err == nil
-}
-
-// Service #0, service_discovery, returns a list of the other services
-// and their argument formats.
-type serviceDiscovery struct{}
-
-func (serviceDiscovery) Run(arg, ret []interface{}, size []int) Errno {
- var b bytes.Buffer
- for _, m := range rpcMethod {
- b.WriteString(m.name)
- b.WriteByte(':')
- b.WriteString(m.fmt)
- b.WriteByte('\n')
- }
- if b.Len() > size[0] {
- return ErrNoMemory
- }
- ret[0] = b.Bytes()
- return OK
-}
-
-func init() { Add("service_discovery", ":C", serviceDiscovery{}) }
diff --git a/src/pkg/exp/spacewar/Makefile b/src/pkg/exp/spacewar/Makefile
deleted file mode 100644
index a27e1f9692..0000000000
--- a/src/pkg/exp/spacewar/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-all: 8.out
-
-pdp1.8: pdp1.go
- 8g pdp1.go
-
-spacewar.8: spacewar.go code.go pdp1.8
- 8g spacewar.go code.go
-
-8.out: spacewar.8
- 8l spacewar.8
-
-clean:
- rm -f *.8 8.out
-
diff --git a/src/pkg/exp/spacewar/code.go b/src/pkg/exp/spacewar/code.go
deleted file mode 100644
index 6391b500a8..0000000000
--- a/src/pkg/exp/spacewar/code.go
+++ /dev/null
@@ -1,7556 +0,0 @@
-// This file contains the assembly language and machine code for
-// Spacewar!, the original PDP-1 video game. It is downloaded from
-// http://spacewar.oversigma.com/sources/sources.zip which has
-// the following notice at http://spacewar.oversigma.com/:
-//
-// Spacewar! was conceived in 1961 by Martin Graetz, Stephen Russell,
-// and Wayne Wiitanen. It was first realized on the PDP-1 in 1962 by
-// Stephen Russell, Peter Samson, Dan Edwards, and Martin Graetz,
-// together with Alan Kotok, Steve Piner, and Robert A Saunders.
-// Spacewar! is in the public domain, but this credit paragraph must
-// accompany all distributed versions of the program.
-//
-// This is the original version! Martin Graetz provided us with a
-// printed version of the source. We typed in in again - it was about
-// 40 pages long - and re-assembled it with a PDP-1 assembler written
-// in PERL. The resulting binary runs on a PDP-1 emulator written as
-// a Java applet. The code is extremely faithful to the original. There
-// are only two changes. 1)The spaceships have been made bigger and
-// 2) The overall timing has been special cased to deal with varying
-// machine speeds.
-//
-// The "a", "s", "d", "f" keys control one of the spaceships. The "k",
-// "l", ";", "'" keys control the other. The controls are spin one
-// way, spin the other, thrust, and fire.
-//
-// Barry Silverman
-// Brian Silverman
-// Vadim Gerasimov
-//
-
-package main
-
-const spacewarCode = `
--/macro fio-dec system, june 1963
- 007652 640500 szm=sza sma-szf
- 007652 650500 spq=szm i
- 007652 761200 clc=cma+cla-opr
-- define senseswitch A
-- repeat 3, A=A+A
-- szs A
-- term
-- define init A,B
-- law B
-- dap A
-- term
-- define index A,B,C
-- idx A
-- sas B
-- jmp C
-- term
-- define listen
-- cla+cli+clf 1-opr-opr
-- szf i 1
-- jmp .-1
-- tyi
-- term
-- define swap
-- rcl 9s
-- rcl 9s
-- term
-- define load A,B
-- lio (B
-- dio A
-- term
-- define setup A,B
-- law i B
-- dac A
-- term
-- define count A,B
-- isp A
-- jmp B
-- term
-- define move A,B
-- lio A
-- dio B
-- term
-- define clear A,B
-- init .+2, A
-- dzm
-- index .-1, (dzm B+1, .-1
-- term
--/spacewar 3.1 24 sep 62 p1. 1
- 000003 3/
- 000003 600061 jmp sbf / ignore seq. break
- 000004 601561 jmp a40
- 000005 601556 jmp a1 / use test word for control, note iot 11 00
--/ interesting and often changed constants
--/symb loc usual value (all instructions are executed,
--/ and may be replaced by jda or jsp)
- 000006 tno,
- 000006 6,
- 000006 710041 law i 41 / number of torps + 1
- 000007 tvl,
- 000007 7,
- 000007 675017 sar 4s / torpedo velocity
- 000010 rlt,
- 000010 10,
- 000010 710020 law i 20 / torpedo reload time
- 000011 tlf,
- 000011 11,
- 000011 710140 law i 140 / torpedo life
- 000012 foo,
- 000012 12,
- 000012 757777 -20000 / fuel supply
- 000013 maa,
- 000013 13,
- 000013 000010 10 / spaceship angular acceleration
- 000014 sac,
- 000014 14,
- 000014 675017 sar 4s / spaceship acceleration
- 000015 str,
- 000015 15,
- 000015 000001 1 / star capture radius
- 000016 me1,
- 000016 16,
- 000016 006000 6000 / collision "radius"
- 000017 me2,
- 000017 17,
- 000017 003000 3000 / above/2
- 000020 ddd,
- 000020 20,
- 000020 777777 777777 / 0 to save space for ddt
- 000021 the,
- 000021 21,
- 000021 675777 sar 9s / amount of torpedo space warpage
- 000022 mhs,
- 000022 22,
- 000022 710010 law i 10 / number of hyperspace shots
- 000023 hd1,
- 000023 23,
- 000023 710040 law i 40 / time in hyperspace before breakout
- 000024 hd2,
- 000024 24,
- 000024 710100 law i 100 / time in hyperspace breakout
- 000025 hd3,
- 000025 25,
- 000025 710200 law i 200 / time to recharge hyperfield generator
- 000026 hr1,
- 000026 26,
- 000026 667777 scl 9s / scale on hyperspatial displacement
- 000027 hr2,
- 000027 27,
- 000027 667017 scl 4s / scale on hyperspatially induced velocity
- 000030 hur,
- 000030 30,
- 000030 040000 40000 / hyperspatial uncertancy
- 000031 ran,
- 000031 31,
- 000031 000000 0 / random number
--/ place to build a private control word routine.
--/ it should leave the control word in the io as follows.
--/ high order 4 bits, rotate ccw, rotate cw, (both mean hyperspace)
--/ fire rocket, and fire torpedo. low order 4 bits, same for
--/ other ship. routine is entered by jsp cwg.
- 000040 40/
- 000040 cwr,
- 000040 601672 jmp mg1 / normally iot 11 control
- 000061 . 20/ / space
--////
--/ routine to flush sequence breaks, if they occur.
- 000061 sbf,
- 000061 720004 tyi
- 000062 220002 lio 2
- 000063 200000 lac 0
- 000064 720054 lsm
- 000065 610001 jmp i 1
-- define xincr X,Y,INS
-- lac Y
-- INS ~ssn
-- dac Y
-- lac X
-- INS ~scn
-- dac X
-- term
-- define yincr X,Y,INS
-- lac Y
-- INS ~scn
-- dac Y
-- lac X
-- -INS+add+sub ~ssn
-- dac X
-- term
--////
-- define dispatch
-- add (a+r
-- dap . 1
-- jmp .
--a,
-- term
-- define dispt A,Y,B
-- repeat 6, B=B+B
-- lio Y
-- dpy-A+B
-- term
-- define scale A,B,C
-- lac A
-- sar B
-- dac C
-- term
-- define diff V,S,QF
-- add i V
-- dac i V
-- xct QF
-- add i S
-- dac i S
-- term
-- define random
-- lac ran
-- rar 1s
-- xor (355760
-- add (355670
-- dac ran
-- term
-- define ranct S,X,C
-- random
-- S
-- X
-- sma
-- cma
-- dac C
-- term
--////
--/sine-cosine subroutine. adams associates
--/calling sequence= number in ac, jda jda sin or jdacos.
--/argument is between q+2 pi, with binary point to right of bit 3.
--/anser has binary point to right of bit 0. time = 2.35 ms.
-- define mult Z
-- jda mpy
-- lac Z
-- term
- 000066 cos,
- 000066 000000 0
- 000067 260142 dap csx
- 000070 202760 lac (62210
- 000071 400066 add cos
- 000072 240074 dac sin
- 000073 600077 jmp .+4
- 000074 sin,
- 000074 000000 0
- 000075 260142 dap csx
- 000076 200074 lac sin
- 000077 640200 spa
- 000100 si1,
- 000100 402761 add (311040
- 000101 422760 sub (62210
- 000102 640400 sma
- 000103 600143 jmp si2
- 000104 402760 add (62210
- 000105 si3,
- 000105 661003 ral 2s
-- mult (242763
-+000106 170171 jda mpy
-+000107 202762 lac ZZ11
- 000110 240074 dac sin
-- mult sin
-+000111 170171 jda mpy
-+000112 200074 lac ZZ12
- 000113 240066 dac cos
-- mult (756103
-+000114 170171 jda mpy
-+000115 202763 lac ZZ13
- 000116 402764 add (121312
-- mult cos
-+000117 170171 jda mpy
-+000120 200066 lac ZZ14
- 000121 402765 add (532511
-- mult cos
-+000122 170171 jda mpy
-+000123 200066 lac ZZ15
- 000124 402766 add (144417
-- mult sin
-+000125 170171 jda mpy
-+000126 200074 lac ZZ16
- 000127 667007 scl 3s
- 000130 240066 dac cos
- 000131 060074 xor sin
- 000132 640400 sma
- 000133 600141 jmp csx-1
- 000134 202767 lac (377777
- 000135 220074 lio sin
- 000136 642000 spi
- 000137 761000 cma
- 000140 600142 jmp csx
- 000141 200066 lac cos
- 000142 csx,
- 000142 600142 jmp .
- 000143 si2,
- 000143 761000 cma
- 000144 402760 add (62210
- 000145 640400 sma
- 000146 600105 jmp si3
- 000147 402760 add (62210
- 000150 640200 spa
- 000151 600154 jmp .+3
- 000152 422760 sub (62210
- 000153 600105 jmp si3
- 000154 422760 sub (62210
- 000155 600100 jmp si1
--////
--/bbn multiply subroutine
--/call.. lac one factor, jdy mpy or imp, lac other factor.
- 000156 imp,
- 000156 000000 0 /returns low 17 bits and sign in ac
- 000157 260160 dap im1
- 000160 im1,
- 000160 100000 xct
- 000161 170171 jda mpy
- 000162 200156 lac imp
- 000163 440160 idx im1
- 000164 672001 rir 1s
- 000165 673777 rcr 9s
- 000166 673777 rcr 9s
- 000167 610160 jmp i im1
- 000170 mp2,
- 000170 000000 0
- 000171 mpy,
- 000171 000000 0 /return 34 bits and 2 signs
- 000172 260200 dap mp1
- 000173 200171 lac mpy
- 000174 640200 spa
- 000175 761000 cma
- 000176 673777 rcr 9s
- 000177 673777 rcr 9s
- 000200 mp1,
- 000200 100000 xct
- 000201 640200 spa
- 000202 761000 cma
- 000203 240170 dac mp2
- 000204 760200 cla
- 000205 540170 mus mp2
-+000206 540170 mus mp2
-+000207 540170 mus mp2
-+000210 540170 mus mp2
-+000211 540170 mus mp2
-+000212 540170 mus mp2
-+000213 540170 mus mp2
-+000214 540170 mus mp2
-+000215 540170 mus mp2
-+000216 540170 mus mp2
-+000217 540170 mus mp2
-+000220 540170 mus mp2
-+000221 540170 mus mp2
-+000222 540170 mus mp2
-+000223 540170 mus mp2
-+000224 540170 mus mp2
-+000225 540170 mus mp2
- 000226 240170 dac mp2
- 000227 100200 xct mp1
- 000230 060171 xor mpy
- 000231 640400 sma
- 000232 600243 jmp mp3
- 000233 200170 lac mp2
- 000234 761000 cma
- 000235 673777 rcr 9s
- 000236 673777 rcr 9s
- 000237 761000 cma
- 000240 673777 rcr 9s
- 000241 673777 rcr 9s
- 000242 240170 dac mp2
- 000243 mp3,
- 000243 440200 idx mp1
- 000244 200170 lac mp2
- 000245 610200 jmp i mp1
--////
--/integer square root
--/input in ac, binary point to right of bit 17, jda sqt
--/answer in ac with binary point between 8 and 9
--/largest input number = 177777
- 000246 sqt,
- 000246 000000 0
- 000247 260260 dap sqx
- 000250 710023 law i 23
- 000251 240304 dac sq1
- 000252 340305 dzm sq2
- 000253 220246 lio sqt
- 000254 340246 dzm sqt
- 000255 sq3,
- 000255 460304 isp sq1
- 000256 600261 jmp .+3
- 000257 200305 lac sq2
- 000260 sqx,
- 000260 600260 jmp .
- 000261 200305 lac sq2
- 000262 665001 sal 1s
- 000263 240305 dac sq2
- 000264 200246 lac sqt
- 000265 663003 rcl 2s
- 000266 650100 sza i
- 000267 600255 jmp sq3
- 000270 240246 dac sqt
- 000271 200305 lac sq2
- 000272 665001 sal 1s
- 000273 402770 add (1
- 000274 420246 sub sqt
- 000275 640500 sma+sza-skip
- 000276 600255 jmp sq3
- 000277 640200 spa
- 000300 761000 cma
- 000301 240246 dac sqt
- 000302 440305 idx sq2
- 000303 600255 jmp sq3
- 000304 sq1,
- 000304 000000 0
- 000305 sq2,
- 000305 000000 0
--////
--/bbn divide subroutine
--/calling sequence.. lac hi-dividend, lio lo-dividend, jda dvd, lac divisor.
--/returns quot in ac, rem in io.
- 000306 idv,
- 000306 000000 0 /integer divide, dividend in ac.
- 000307 260317 dap dv1
- 000310 200306 lac idv
- 000311 677777 scr 9s
- 000312 677377 scr 8s
- 000313 240315 dac dvd
- 000314 600317 jmp dv1
- 000315 dvd,
- 000315 000000 0
- 000316 260317 dap dv1
- 000317 dv1,
- 000317 100000 xct
- 000320 640200 spa
- 000321 761000 cma
- 000322 240306 dac idv
- 000323 200315 lac dvd
- 000324 640400 sma
- 000325 600334 jmp dv2
- 000326 761000 cma
- 000327 673777 rcr 9s
- 000330 673777 rcr 9s
- 000331 761000 cma
- 000332 673777 rcr 9s
- 000333 673777 rcr 9s
- 000334 dv2,
- 000334 420306 sub idv
- 000335 640400 sma
- 000336 600376 jmp dve
- 000337 560306 dis idv
-+000340 560306 dis idv
-+000341 560306 dis idv
-+000342 560306 dis idv
-+000343 560306 dis idv
-+000344 560306 dis idv
-+000345 560306 dis idv
-+000346 560306 dis idv
-+000347 560306 dis idv
-+000350 560306 dis idv
-+000351 560306 dis idv
-+000352 560306 dis idv
-+000353 560306 dis idv
-+000354 560306 dis idv
-+000355 560306 dis idv
-+000356 560306 dis idv
-+000357 560306 dis idv
-+000360 560306 dis idv
- 000361 400306 add idv
- 000362 320306 dio idv
- 000363 764000 cli
- 000364 673001 rcr 1s
- 000365 220315 lio dvd
- 000366 642000 spi
- 000367 761000 cma
- 000370 240315 dac dvd
- 000371 100317 xct dv1
- 000372 060315 xor dvd
- 000373 673777 rcr 9s
- 000374 673777 rcr 9s
- 000375 440317 idx dv1
- 000376 dve,
- 000376 440317 idx dv1
- 000377 200306 lac idv
- 000400 642000 spi
- 000401 761000 cma
- 000402 220315 lio dvd
- 000403 610317 jmp i dv1
--////
--/outline compiler
--/ac=where to compile to, call oc
--/ot=address of outline table
-- define plinst A
-- lac A
-- dac i oc
-- idx oc
-- terminate
-- define comtab A, B
-- plinst A
-- jsp ocs
-- lac B
-- jmp oce
-- terminate
- 000404 ocs,
- 000404 260411 dap ocz /puts in swap
- 000405 330412 dio i oc
- 000406 440412 idx oc
- 000407 330412 dio i oc
- 000410 440412 idx oc
- 000411 ocz,
- 000411 600411 jmp .
- 000412 oc,
- 000412 000000 0
- 000413 260554 dap ocx
- 000414 210554 lac i ocx
- 000415 260434 dap ocg
-- plinst (stf 5
-+000416 202771 lac ZZ17
-+000417 250412 dac i oc
-+000420 440412 idx oc
- 000421 260555 dap ocm
- 000422 440554 idx ocx
- 000423 ock,
-- plinst (lac ~sx1
-+000423 202772 lac ZZ18
-+000424 250412 dac i oc
-+000425 440412 idx oc
-- plinst (lio ~sy1
-+000426 202773 lac ZZ19
-+000427 250412 dac i oc
-+000430 440412 idx oc
- 000431 760006 clf 6
- 000432 ocj,
-- setup ~occ,6
-+000432 710006 law i ZZ210
-+000433 243112 dac ZZ110
- 000434 ocg,
- 000434 220434 lio .
- 000435 och,
- 000435 760200 cla
- 000436 663007 rcl 3s
- 000437 323113 dio ~oci
- 000440 222774 lio (rcl 9s
-- dispatch
-+000441 402775 add (a11
-+000442 260443 dap . 1
-+000443 600443 jmp .
-+000444 a11,
- 000444 760000 opr
- 000445 600557 jmp oc1
- 000446 oco,
- 000446 600602 jmp oc2
- 000447 ocq,
- 000447 600610 jmp oc3
- 000450 ocp,
- 000450 600616 jmp oc4
- 000451 ocr,
- 000451 600624 jmp oc5
- 000452 600632 jmp oc6
--////
-- plinst (szf 5 //code
-+000453 202776 lac ZZ112
-+000454 250412 dac i oc
-+000455 440412 idx oc
- 000456 402777 add (4
- 000457 260556 dap ocn
-- plinst ocn
-+000460 200556 lac ZZ113
-+000461 250412 dac i oc
-+000462 440412 idx oc
-- plinst (dac ~sx1
-+000463 203000 lac ZZ114
-+000464 250412 dac i oc
-+000465 440412 idx oc
-- plinst (dio ~sy1
-+000466 203001 lac ZZ115
-+000467 250412 dac i oc
-+000470 440412 idx oc
-- plinst (jmp sq6
-+000471 203002 lac ZZ116
-+000472 250412 dac i oc
-+000473 440412 idx oc
-- plinst (clf 5
-+000474 203003 lac ZZ117
-+000475 250412 dac i oc
-+000476 440412 idx oc
-- plinst (lac ~scm
-+000477 203004 lac ZZ118
-+000500 250412 dac i oc
-+000501 440412 idx oc
-- plinst (cma
-+000502 203005 lac ZZ119
-+000503 250412 dac i oc
-+000504 440412 idx oc
-- plinst (dac ~scm
-+000505 203006 lac ZZ120
-+000506 250412 dac i oc
-+000507 440412 idx oc
-- plinst (lac ~ssm
-+000510 203007 lac ZZ121
-+000511 250412 dac i oc
-+000512 440412 idx oc
-- plinst (cma
-+000513 203005 lac ZZ122
-+000514 250412 dac i oc
-+000515 440412 idx oc
-- plinst (dac ~ssm
-+000516 203010 lac ZZ123
-+000517 250412 dac i oc
-+000520 440412 idx oc
-- plinst (lac ~csm
-+000521 203011 lac ZZ124
-+000522 250412 dac i oc
-+000523 440412 idx oc
-- plinst (lio ~ssd
-+000524 203012 lac ZZ125
-+000525 250412 dac i oc
-+000526 440412 idx oc
-- plinst (dac ~ssd
-+000527 203013 lac ZZ126
-+000530 250412 dac i oc
-+000531 440412 idx oc
-- plinst (dio ~csm
-+000532 203014 lac ZZ127
-+000533 250412 dac i oc
-+000534 440412 idx oc
-- plinst (lac ~ssc
-+000535 203015 lac ZZ128
-+000536 250412 dac i oc
-+000537 440412 idx oc
-- plinst (lio ~csn
-+000540 203016 lac ZZ129
-+000541 250412 dac i oc
-+000542 440412 idx oc
-- plinst (dac ~csn
-+000543 203017 lac ZZ130
-+000544 250412 dac i oc
-+000545 440412 idx oc
-- plinst (dio ~ssc
-+000546 203020 lac ZZ131
-+000547 250412 dac i oc
-+000550 440412 idx oc
-- plinst ocm
-+000551 200555 lac ZZ132
-+000552 250412 dac i oc
-+000553 440412 idx oc
- 000554 ocx,
- 000554 600554 jmp .
- 000555 ocm,
- 000555 600555 jmp .
- 000556 ocn,
- 000556 600556 jmp .
- 000557 oc1,
-- plinst (add ~ssn
-+000557 203021 lac ZZ133
-+000560 250412 dac i oc
-+000561 440412 idx oc
- 000562 620404 jsp ocs
- 000563 203022 lac (sub ~scn
- 000564 oce,
- 000564 250412 dac i oc
- 000565 440412 idx oc
- 000566 620404 jsp ocs
-- plinst (ioh
-+000567 203023 lac ZZ134
-+000570 250412 dac i oc
-+000571 440412 idx oc
- 000572 203024 lac (dpy-4000
- 000573 ocd,
- 000573 250412 dac i oc
- 000574 440412 idx oc
- 000575 223113 lio ~oci
-- count ~occ, och
-+000576 463112 isp ZZ135
-+000577 600435 jmp ZZ235
- 000600 440434 idx ocg
- 000601 600432 jmp ocj
- 000602 oc2,
-- comtab (add ~scm, (add ~ssm
-- plinst ZZ136
-+000602 203025 lac ZZ137
-+000603 250412 dac i oc
-+000604 440412 idx oc
-+000605 620404 jsp ocs
-+000606 203026 lac ZZ236
-+000607 600564 jmp oce
- 000610 oc3,
-- comtab (add ~ssc, (sub ~csm
-- plinst ZZ138
-+000610 203027 lac ZZ139
-+000611 250412 dac i oc
-+000612 440412 idx oc
-+000613 620404 jsp ocs
-+000614 203030 lac ZZ238
-+000615 600564 jmp oce
- 000616 oc4,
-- comtab (sub ~scm, (sub ~ssm
-- plinst ZZ140
-+000616 203031 lac ZZ141
-+000617 250412 dac i oc
-+000620 440412 idx oc
-+000621 620404 jsp ocs
-+000622 203032 lac ZZ240
-+000623 600564 jmp oce
- 000624 oc5,
-- comtab (add ~csn, (sub ~ssd
-- plinst ZZ142
-+000624 203033 lac ZZ143
-+000625 250412 dac i oc
-+000626 440412 idx oc
-+000627 620404 jsp ocs
-+000630 203034 lac ZZ242
-+000631 600564 jmp oce
- 000632 oc6,
- 000632 640006 szf 6
- 000633 600642 jmp oc9
- 000634 760016 stf 6
-- plinst (dac ~ssa
-+000635 203035 lac ZZ144
-+000636 250412 dac i oc
-+000637 440412 idx oc
- 000640 203036 lac (dio ~ssi
- 000641 600573 jmp ocd
- 000642 oc9,
- 000642 760006 clf 6
-- plinst (lac ~ssa
-+000643 203037 lac ZZ145
-+000644 250412 dac i oc
-+000645 440412 idx oc
- 000646 203040 lac (lio ~ssi
- 000647 600573 jmp ocd
--////
--/ display a star
-- define starp
-- add ~bx
-- swap
-- add ~by
-- swap
-- ioh
-- dpy-4000
-- terminate
-- /star
- 000650 blp,
- 000650 260675 dap blx
- 000651 640060 szs 60
- 000652 600675 jmp blx
-- random
-+000653 200031 lac ran
-+000654 671001 rar 1s
-+000655 063041 xor (355760
-+000656 403042 add (355670
-+000657 240031 dac ran
- 000660 671777 rar 9s
- 000661 023043 and (add 340
- 000662 640200 spa
- 000663 062767 xor (377777
- 000664 243116 dac ~bx
- 000665 200031 lac ran
- 000666 661017 ral 4s
- 000667 023043 and (add 340
- 000670 640200 spa
- 000671 062767 xor (377777
- 000672 243117 dac ~by
- 000673 620676 jsp bpt
- 000674 730000 ioh
- 000675 blx,
- 000675 600675 jmp .
- 000676 bpt,
- 000676 261117 dap bpx
-- random
-+000677 200031 lac ran
-+000700 671001 rar 1s
-+000701 063041 xor (355760
-+000702 403042 add (355670
-+000703 240031 dac ran
- 000704 675777 sar 9s
- 000705 675037 sar 5s
- 000706 640200 spa
- 000707 761000 cma
- 000710 665007 sal 3s
- 000711 403044 add (bds
- 000712 260715 dap bjm
- 000713 764206 cla cli clf 6-opr-opr
- 000714 724007 dpy-4000
- 000715 bjm,
- 000715 600715 jmp .
- 000716 bds,
-- starp
-+000716 403116 add ~bx
-- swap
-+000717 663777 rcl 9s
-+000720 663777 rcl 9s
-+000721 403117 add ~by
-- swap
-+000722 663777 rcl 9s
-+000723 663777 rcl 9s
-+000724 730000 ioh
-+000725 724007 dpy-4000
-- starp
-+000726 403116 add ~bx
-- swap
-+000727 663777 rcl 9s
-+000730 663777 rcl 9s
-+000731 403117 add ~by
-- swap
-+000732 663777 rcl 9s
-+000733 663777 rcl 9s
-+000734 730000 ioh
-+000735 724007 dpy-4000
-- starp
-+000736 403116 add ~bx
-- swap
-+000737 663777 rcl 9s
-+000740 663777 rcl 9s
-+000741 403117 add ~by
-- swap
-+000742 663777 rcl 9s
-+000743 663777 rcl 9s
-+000744 730000 ioh
-+000745 724007 dpy-4000
-- starp
-+000746 403116 add ~bx
-- swap
-+000747 663777 rcl 9s
-+000750 663777 rcl 9s
-+000751 403117 add ~by
-- swap
-+000752 663777 rcl 9s
-+000753 663777 rcl 9s
-+000754 730000 ioh
-+000755 724007 dpy-4000
-- starp
-+000756 403116 add ~bx
-- swap
-+000757 663777 rcl 9s
-+000760 663777 rcl 9s
-+000761 403117 add ~by
-- swap
-+000762 663777 rcl 9s
-+000763 663777 rcl 9s
-+000764 730000 ioh
-+000765 724007 dpy-4000
-- starp
-+000766 403116 add ~bx
-- swap
-+000767 663777 rcl 9s
-+000770 663777 rcl 9s
-+000771 403117 add ~by
-- swap
-+000772 663777 rcl 9s
-+000773 663777 rcl 9s
-+000774 730000 ioh
-+000775 724007 dpy-4000
-- starp
-+000776 403116 add ~bx
-- swap
-+000777 663777 rcl 9s
-+001000 663777 rcl 9s
-+001001 403117 add ~by
-- swap
-+001002 663777 rcl 9s
-+001003 663777 rcl 9s
-+001004 730000 ioh
-+001005 724007 dpy-4000
-- starp
-+001006 403116 add ~bx
-- swap
-+001007 663777 rcl 9s
-+001010 663777 rcl 9s
-+001011 403117 add ~by
-- swap
-+001012 663777 rcl 9s
-+001013 663777 rcl 9s
-+001014 730000 ioh
-+001015 724007 dpy-4000
-- starp
-+001016 403116 add ~bx
-- swap
-+001017 663777 rcl 9s
-+001020 663777 rcl 9s
-+001021 403117 add ~by
-- swap
-+001022 663777 rcl 9s
-+001023 663777 rcl 9s
-+001024 730000 ioh
-+001025 724007 dpy-4000
-- starp
-+001026 403116 add ~bx
-- swap
-+001027 663777 rcl 9s
-+001030 663777 rcl 9s
-+001031 403117 add ~by
-- swap
-+001032 663777 rcl 9s
-+001033 663777 rcl 9s
-+001034 730000 ioh
-+001035 724007 dpy-4000
-- starp
-+001036 403116 add ~bx
-- swap
-+001037 663777 rcl 9s
-+001040 663777 rcl 9s
-+001041 403117 add ~by
-- swap
-+001042 663777 rcl 9s
-+001043 663777 rcl 9s
-+001044 730000 ioh
-+001045 724007 dpy-4000
-- starp
-+001046 403116 add ~bx
-- swap
-+001047 663777 rcl 9s
-+001050 663777 rcl 9s
-+001051 403117 add ~by
-- swap
-+001052 663777 rcl 9s
-+001053 663777 rcl 9s
-+001054 730000 ioh
-+001055 724007 dpy-4000
-- starp
-+001056 403116 add ~bx
-- swap
-+001057 663777 rcl 9s
-+001060 663777 rcl 9s
-+001061 403117 add ~by
-- swap
-+001062 663777 rcl 9s
-+001063 663777 rcl 9s
-+001064 730000 ioh
-+001065 724007 dpy-4000
-- starp
-+001066 403116 add ~bx
-- swap
-+001067 663777 rcl 9s
-+001070 663777 rcl 9s
-+001071 403117 add ~by
-- swap
-+001072 663777 rcl 9s
-+001073 663777 rcl 9s
-+001074 730000 ioh
-+001075 724007 dpy-4000
-- starp
-+001076 403116 add ~bx
-- swap
-+001077 663777 rcl 9s
-+001100 663777 rcl 9s
-+001101 403117 add ~by
-- swap
-+001102 663777 rcl 9s
-+001103 663777 rcl 9s
-+001104 730000 ioh
-+001105 724007 dpy-4000
-- starp
-+001106 403116 add ~bx
-- swap
-+001107 663777 rcl 9s
-+001110 663777 rcl 9s
-+001111 403117 add ~by
-- swap
-+001112 663777 rcl 9s
-+001113 663777 rcl 9s
-+001114 730000 ioh
-+001115 724007 dpy-4000
- 001116 640006 szf 6
- 001117 bpx,
- 001117 601117 jmp .
- 001120 760016 stf 6
- 001121 761000 cma
-- swap
-+001122 663777 rcl 9s
-+001123 663777 rcl 9s
- 001124 761000 cma
-- swap
-+001125 663777 rcl 9s
-+001126 663777 rcl 9s
- 001127 600715 jmp bjm
--////
--/background display . 3/13/62, prs.
-- define dislis J, Q, B
-- repeat 6, B=B+B
-- clf 5
-- lac flo+r
-- dap fpo+r
--fs,
-- dap fin+r
-- dap fyn+r
-- idx fyn+r
--fin,
-- lac /lac x
-- sub fpr /right margin
-- sma
-- jmp fgr+r
-- add (2000
--frr,
-- spq
--fou,
-- jmp fuu+r
--fie,
-- sub (1000
-- sal 8s
--fyn,
-- lio /lio y
-- dpy-i+B
-- stf 5
--fid,
-- idx fyn+r
-- sad (lio Q+2
-- jmp flp+r
-- sad fpo+r
-- jmp fx+r
-- dap fin+r
-- idx fyn+r
-- jmp fin+r
--fgr,
-- add (2000 -20000
-- jmp frr+r
--fuu,
-- szf 5
--fx,
-- jmp flo+r+1 /return
-- idx flo+r
-- idx flo+r
-- sas (Q+2
-- jmp fid+r
-- law J
-- dac flo+r
-- jmp fid+r
--flp,
-- lac (lio J
-- sad fpo+r
-- jmp fx+r
-- dap fin+r
-- law J+1
-- dap fyn+r
-- jmp fin+r
--fpo,
-- lio
--flo,
-- J
-- terminate
--////
-- define background
-- jsp bck
-- termin
- 001130 bck,
- 001130 261134 dap bcx
- 001131 640040 szs 40
- 001132 601134 jmp bcx
- 001133 461441 isp bcc
- 001134 bcx,
- 001134 601134 jmp .
- 001135 710002 law i 2
- 001136 241441 dac bcc
-- dislis 1j,1q,3
-+001137 000006 ZZ398=ZZ398+ZZ398
-+001137 000014 ZZ398=ZZ398+ZZ398
-+001137 000030 ZZ398=ZZ398+ZZ398
-+001137 000060 ZZ398=ZZ398+ZZ398
-+001137 000140 ZZ398=ZZ398+ZZ398
-+001137 000300 ZZ398=ZZ398+ZZ398
-+001137 760005 clf 5
-+001140 201214 lac flo98
-+001141 261213 dap fpo98
-+001142 fs98,
-+001142 261145 dap fin98
-+001143 261156 dap fyn98
-+001144 441156 idx fyn98
-+001145 fin98,
-+001145 200000 lac
-+001146 421443 sub fpr
-+001147 640400 sma
-+001150 601171 jmp fgr98
-+001151 403045 add (2000
-+001152 frr98,
-+001152 650500 spq
-+001153 fou98,
-+001153 601173 jmp fuu98
-+001154 fie98,
-+001154 423046 sub (1000
-+001155 665377 sal 8s
-+001156 fyn98,
-+001156 220000 lio
-+001157 720307 dpy-i+ZZ398
-+001160 760015 stf 5
-+001161 fid98,
-+001161 441156 idx fyn98
-+001162 503047 sad (lio ZZ298+2
-+001163 601204 jmp flp98
-+001164 501213 sad fpo98
-+001165 601174 jmp fx98
-+001166 261145 dap fin98
-+001167 441156 idx fyn98
-+001170 601145 jmp fin98
-+001171 fgr98,
-+001171 403050 add (2000 -20000
-+001172 601152 jmp frr98
-+001173 fuu98,
-+001173 640005 szf 5
-+001174 fx98,
-+001174 601215 jmp flo98+1
-+001175 441214 idx flo98
-+001176 441214 idx flo98
-+001177 523051 sas (ZZ298+2
-+001200 601161 jmp fid98
-+001201 706000 law ZZ198
-+001202 241214 dac flo98
-+001203 601161 jmp fid98
-+001204 flp98,
-+001204 203052 lac (lio ZZ198
-+001205 501213 sad fpo98
-+001206 601174 jmp fx98
-+001207 261145 dap fin98
-+001210 706001 law ZZ198+1
-+001211 261156 dap fyn98
-+001212 601145 jmp fin98
-+001213 fpo98,
-+001213 220000 lio
-+001214 flo98,
-+001214 006000 ZZ198
-- dislis 2j,2q,2
-+001215 000004 ZZ399=ZZ399+ZZ399
-+001215 000010 ZZ399=ZZ399+ZZ399
-+001215 000020 ZZ399=ZZ399+ZZ399
-+001215 000040 ZZ399=ZZ399+ZZ399
-+001215 000100 ZZ399=ZZ399+ZZ399
-+001215 000200 ZZ399=ZZ399+ZZ399
-+001215 760005 clf 5
-+001216 201272 lac flo99
-+001217 261271 dap fpo99
-+001220 fs99,
-+001220 261223 dap fin99
-+001221 261234 dap fyn99
-+001222 441234 idx fyn99
-+001223 fin99,
-+001223 200000 lac
-+001224 421443 sub fpr
-+001225 640400 sma
-+001226 601247 jmp fgr99
-+001227 403045 add (2000
-+001230 frr99,
-+001230 650500 spq
-+001231 fou99,
-+001231 601251 jmp fuu99
-+001232 fie99,
-+001232 423046 sub (1000
-+001233 665377 sal 8s
-+001234 fyn99,
-+001234 220000 lio
-+001235 720207 dpy-i+ZZ399
-+001236 760015 stf 5
-+001237 fid99,
-+001237 441234 idx fyn99
-+001240 503053 sad (lio ZZ299+2
-+001241 601262 jmp flp99
-+001242 501271 sad fpo99
-+001243 601252 jmp fx99
-+001244 261223 dap fin99
-+001245 441234 idx fyn99
-+001246 601223 jmp fin99
-+001247 fgr99,
-+001247 403050 add (2000 -20000
-+001250 601230 jmp frr99
-+001251 fuu99,
-+001251 640005 szf 5
-+001252 fx99,
-+001252 601273 jmp flo99+1
-+001253 441272 idx flo99
-+001254 441272 idx flo99
-+001255 523054 sas (ZZ299+2
-+001256 601237 jmp fid99
-+001257 706022 law ZZ199
-+001260 241272 dac flo99
-+001261 601237 jmp fid99
-+001262 flp99,
-+001262 203055 lac (lio ZZ199
-+001263 501271 sad fpo99
-+001264 601252 jmp fx99
-+001265 261223 dap fin99
-+001266 706023 law ZZ199+1
-+001267 261234 dap fyn99
-+001270 601223 jmp fin99
-+001271 fpo99,
-+001271 220000 lio
-+001272 flo99,
-+001272 006022 ZZ199
-- dislis 3j,3q,1
-+001273 000002 ZZ3100=ZZ3100+ZZ3100
-+001273 000004 ZZ3100=ZZ3100+ZZ3100
-+001273 000010 ZZ3100=ZZ3100+ZZ3100
-+001273 000020 ZZ3100=ZZ3100+ZZ3100
-+001273 000040 ZZ3100=ZZ3100+ZZ3100
-+001273 000100 ZZ3100=ZZ3100+ZZ3100
-+001273 760005 clf 5
-+001274 201350 lac flo100
-+001275 261347 dap fpo100
-+001276 fs100,
-+001276 261301 dap fin100
-+001277 261312 dap fyn100
-+001300 441312 idx fyn100
-+001301 fin100,
-+001301 200000 lac
-+001302 421443 sub fpr
-+001303 640400 sma
-+001304 601325 jmp fgr100
-+001305 403045 add (2000
-+001306 frr100,
-+001306 650500 spq
-+001307 fou100,
-+001307 601327 jmp fuu100
-+001310 fie100,
-+001310 423046 sub (1000
-+001311 665377 sal 8s
-+001312 fyn100,
-+001312 220000 lio
-+001313 720107 dpy-i+ZZ3100
-+001314 760015 stf 5
-+001315 fid100,
-+001315 441312 idx fyn100
-+001316 503056 sad (lio ZZ2100+2
-+001317 601340 jmp flp100
-+001320 501347 sad fpo100
-+001321 601330 jmp fx100
-+001322 261301 dap fin100
-+001323 441312 idx fyn100
-+001324 601301 jmp fin100
-+001325 fgr100,
-+001325 403050 add (2000 -20000
-+001326 601306 jmp frr100
-+001327 fuu100,
-+001327 640005 szf 5
-+001330 fx100,
-+001330 601351 jmp flo100+1
-+001331 441350 idx flo100
-+001332 441350 idx flo100
-+001333 523057 sas (ZZ2100+2
-+001334 601315 jmp fid100
-+001335 706044 law ZZ1100
-+001336 241350 dac flo100
-+001337 601315 jmp fid100
-+001340 flp100,
-+001340 203060 lac (lio ZZ1100
-+001341 501347 sad fpo100
-+001342 601330 jmp fx100
-+001343 261301 dap fin100
-+001344 706045 law ZZ1100+1
-+001345 261312 dap fyn100
-+001346 601301 jmp fin100
-+001347 fpo100,
-+001347 220000 lio
-+001350 flo100,
-+001350 006044 ZZ1100
-- dislis 4j,4q,0
-+001351 000000 ZZ3101=ZZ3101+ZZ3101
-+001351 000000 ZZ3101=ZZ3101+ZZ3101
-+001351 000000 ZZ3101=ZZ3101+ZZ3101
-+001351 000000 ZZ3101=ZZ3101+ZZ3101
-+001351 000000 ZZ3101=ZZ3101+ZZ3101
-+001351 000000 ZZ3101=ZZ3101+ZZ3101
-+001351 760005 clf 5
-+001352 201426 lac flo101
-+001353 261425 dap fpo101
-+001354 fs101,
-+001354 261357 dap fin101
-+001355 261370 dap fyn101
-+001356 441370 idx fyn101
-+001357 fin101,
-+001357 200000 lac
-+001360 421443 sub fpr
-+001361 640400 sma
-+001362 601403 jmp fgr101
-+001363 403045 add (2000
-+001364 frr101,
-+001364 650500 spq
-+001365 fou101,
-+001365 601405 jmp fuu101
-+001366 fie101,
-+001366 423046 sub (1000
-+001367 665377 sal 8s
-+001370 fyn101,
-+001370 220000 lio
-+001371 720007 dpy-i+ZZ3101
-+001372 760015 stf 5
-+001373 fid101,
-+001373 441370 idx fyn101
-+001374 503061 sad (lio ZZ2101+2
-+001375 601416 jmp flp101
-+001376 501425 sad fpo101
-+001377 601406 jmp fx101
-+001400 261357 dap fin101
-+001401 441370 idx fyn101
-+001402 601357 jmp fin101
-+001403 fgr101,
-+001403 403050 add (2000 -20000
-+001404 601364 jmp frr101
-+001405 fuu101,
-+001405 640005 szf 5
-+001406 fx101,
-+001406 601427 jmp flo101+1
-+001407 441426 idx flo101
-+001410 441426 idx flo101
-+001411 523062 sas (ZZ2101+2
-+001412 601373 jmp fid101
-+001413 706306 law ZZ1101
-+001414 241426 dac flo101
-+001415 601373 jmp fid101
-+001416 flp101,
-+001416 203063 lac (lio ZZ1101
-+001417 501425 sad fpo101
-+001420 601406 jmp fx101
-+001421 261357 dap fin101
-+001422 706307 law ZZ1101+1
-+001423 261370 dap fyn101
-+001424 601357 jmp fin101
-+001425 fpo101,
-+001425 220000 lio
-+001426 flo101,
-+001426 006306 ZZ1101
- 001427 461442 isp bkc
- 001430 601134 jmp bcx
- 001431 710020 law i 20
- 001432 241442 dac bkc
- 001433 710001 law i 1
- 001434 401443 add fpr
- 001435 640200 spa
- 001436 403064 add (20000
- 001437 241443 dac fpr
- 001440 601134 jmp bcx
- 001441 bcc,
- 001441 000000 0
- 001442 bkc,
- 001442 000000 0
- 001443 fpr,
- 001443 010000 10000
--////
--/spacewar 3.1 24 sep 62 pt. 2
--/main control for spaceships
- 001444 000030 nob=30 /total number of colliding objects
- 001444 ml0,
-- load ~mtc, -4000 /delay for loop
-+001444 223065 lio (ZZ2102
-+001445 323120 dio ZZ1102
-- init ml1, mtb /loc of calc routines
-+001446 703365 law ZZ2103
-+001447 261703 dap ZZ1103
- 001450 403066 add (nob
- 001451 261737 dap mx1 /x
- 001452 003415 nx1=mtb nob
- 001452 403066 add (nob
- 001453 261747 dap my1 /y
- 001454 003445 ny1=nx1 nob
- 001454 403066 add (nob
- 001455 261772 dap ma1 / count for length of explosion or torp
- 001456 003475 na1=ny1 nob
- 001456 403066 add (nob
- 001457 262006 dap mb1 / count of instructions taken by calc routine
- 001460 003525 nb1=na1 nob
- 001460 403066 add (nob
- 001461 243121 dac ~mdx / dx
- 001462 003555 ndx=nb1 nob
- 001462 403066 add (nob
- 001463 243122 dac ~mdy / dy
- 001464 003605 ndy=ndx nob
- 001464 403066 add (nob
- 001465 262327 dap mom /angular velocity
- 001466 003635 nom=ndy nob
- 001466 403067 add (2
- 001467 262343 dap mth / angle
- 001470 003637 nth=nom 2
- 001470 403067 add (2
- 001471 243123 dac ~mfu /fuel
- 001472 003641 nfu=nth 2
- 001472 403067 add (2
- 001473 243124 dac ~mtr / no torps remaining
- 001474 003643 ntr=nfu 2
- 001474 403067 add (2
- 001475 261732 dap mot / outline of spaceship
- 001476 003645 not=ntr 2
- 001476 403067 add (2
- 001477 262577 dap mco / old control word
- 001500 003647 nco=not 2
- 001500 403067 add (2
- 001501 243125 dac ~mh1
- 001502 003651 nh1=nco 2
- 001502 403067 add (2
- 001503 243126 dac ~mh2
- 001504 003653 nh2=nh1 2
- 001504 403067 add (2
- 001505 243127 dac ~mh3
- 001506 003655 nh3=nh2 2
- 001506 403067 add (2
- 001507 243130 dac ~mh4
- 001510 003657 nh4=nh3 2
- 001510 003661 nnn=nh4 2
--////
- 001510 702310 law ss1
- 001511 063365 xor mtb
- 001512 640100 sza
- 001513 601534 jmp mdn
- 001514 702314 law ss2
- 001515 063366 xor mtb 1
- 001516 640100 sza
- 001517 601534 jmp mdn
- 001520 700001 law 1 / test if both ships out of torps
- 001521 403643 add ntr
- 001522 640200 spa
- 001523 601530 jmp md1
- 001524 700001 law 1
- 001525 403644 add ntr 1
- 001526 650200 spa i
- 001527 601534 jmp mdn
- 001530 md1,
- 001530 100011 xct tlf / restart delay is 2x torpedo life
- 001531 665001 sal 1s
- 001532 243131 dac ~ntd
- 001533 601703 jmp ml1
- 001534 mdn,
-- count ~ntd,ml1
-+001534 463131 isp ZZ1104
-+001535 601703 jmp ZZ2104
- 001536 760011 stf 1
- 001537 760012 stf 2
- 001540 702310 law ss1
- 001541 063365 xor mtb
- 001542 640100 sza
- 001543 760001 clf 1
- 001544 650100 sza i
- 001545 443132 idx ~1sc
- 001546 702314 law ss2
- 001547 063366 xor mtb 1
- 001550 640100 sza
- 001551 760002 clf 2
- 001552 650100 sza i
- 001553 443133 idx ~2sc
- 001554 760002 clf 2
- 001555 601564 jmp a
--////
- 001556 a1,
- 001556 701676 law mg2 / test word control
- 001557 243134 dac ~cwg
- 001560 601564 jmp a
- 001561 a40,
- 001561 700040 law cwr / here from start at 4
- 001562 243134 dac ~cwg
- 001563 601613 jmp a6
- 001564 a,
- 001564 203135 lac ~gct
- 001565 640400 sma
- 001566 601576 jmp a5
-- count ~gct, a5
-+001567 463135 isp ZZ1105
-+001570 601576 jmp ZZ2105
- 001571 203132 lac ~1sc
- 001572 523133 sas ~2sc
- 001573 601602 jmp a4
- 001574 710001 law i 1
- 001575 243135 dac ~gct
- 001576 a5,
- 001576 762200 lat
- 001577 023070 and (40
- 001600 650100 sza i
- 001601 601621 jmp a2
- 001602 a4,
- 001602 203132 lac ~1sc
- 001603 223133 lio ~2sc
- 001604 760400 hlt
- 001605 762200 lat
- 001606 023070 and (40
- 001607 640100 sza
- 001610 601621 jmp a2
- 001611 343132 dzm ~1sc
- 001612 343133 dzm ~2sc
- 001613 a6,
- 001613 762200 lat
- 001614 671077 rar 6s
- 001615 023071 and (37
- 001616 640100 sza
- 001617 761000 cma
- 001620 243135 dac ~gct
- 001621 a2,
-- clear mtb, nnn-1 / clear out all tables
-- init .+2, ZZ1106
-+001621 703365 law ZZ2107
-+001622 261623 dap ZZ1107
-+001623 340000 dzm
-- index .-1, (dzm ZZ2106+1, .-1
-+001624 441623 idx ZZ1108
-+001625 523072 sas ZZ2108
-+001626 601623 jmp ZZ3108
- 001627 702310 law ss1
- 001630 243365 dac mtb
- 001631 702314 law ss2
- 001632 243366 dac mtb 1
- 001633 203073 lac (200000
- 001634 243415 dac nx1
- 001635 243445 dac ny1
- 001636 761000 cma
- 001637 243416 dac nx1 1
- 001640 243446 dac ny1 1
- 001641 203074 lac (144420
- 001642 243637 dac nth
--////
- 001643 703661 law nnn / start of outline problem
- 001644 243645 dac not
- 001645 220020 lio ddd
- 001646 652000 spi i
- 001647 601652 jmp a3
- 001650 170412 jda oc
- 001651 002735 ot1
- 001652 a3,
- 001652 243646 dac not 1
- 001653 170412 jda oc
- 001654 002746 ot2
- 001655 100006 xct tno
- 001656 243643 dac ntr
- 001657 243644 dac ntr 1
- 001660 200012 lac foo
- 001661 243641 dac nfu
- 001662 243642 dac nfu 1
- 001663 702000 law 2000
- 001664 243525 dac nb1
- 001665 243526 dac nb1 1
- 001666 100022 xct mhs
- 001667 243653 dac nh2
- 001670 243654 dac nh2 1
- 001671 601444 jmp ml0
--/ control word get routines
- 001672 mg1,
- 001672 261675 dap mg3
- 001673 764000 cli
- 001674 720011 iot 11
- 001675 mg3,
- 001675 601675 jmp .
- 001676 mg2,
- 001676 261702 dap mg4
- 001677 762200 lat
-- swap
-+001700 663777 rcl 9s
-+001701 663777 rcl 9s
- 001702 mg4,
- 001702 601702 jmp .
--////
- 001703 ml1,
- 001703 201703 lac . / 1st control word
- 001704 650100 sza i / zero if not active
- 001705 602011 jmp mq1 / not active
-- swap
-+001706 663777 rcl 9s
-+001707 663777 rcl 9s
- 001710 443136 idx ~moc
- 001711 642000 spi
- 001712 602003 jmp mq4
- 001713 700001 law 1
- 001714 401703 add ml1
- 001715 261734 dap ml2
- 001716 700001 law 1
- 001717 401737 add mx1
- 001720 261740 dap mx2
- 001721 700001 law 1
- 001722 401747 add my1
- 001723 261750 dap my2
- 001724 700001 law 1
- 001725 401772 add ma1
- 001726 261773 dap ma2
- 001727 700001 law 1
- 001730 402006 add mb1
- 001731 261766 dap mb2
- 001732 mot,
- 001732 201732 lac .
- 001733 262530 dap sp5
- 001734 ml2,
- 001734 201734 lac . / 2nd control word
- 001735 650500 spq / can it collide?
- 001736 601774 jmp mq2 / no
- 001737 mx1,
- 001737 201737 lac . / calc if collision
- 001740 mx2,
- 001740 421740 sub . / delta x
- 001741 640200 spa / take abs value
- 001742 761000 cma
- 001743 243137 dac ~mt1
- 001744 420016 sub me1 / < epsilon ?
- 001745 640400 sma
- 001746 601774 jmp mq2 / no
- 001747 my1,
- 001747 201747 lac .
- 001750 my2,
- 001750 421750 sub .
- 001751 640200 spa
- 001752 761000 cma
- 001753 420016 sub me1 / < epsilon ?
- 001754 640400 sma
- 001755 601774 jmp mq2 / no
- 001756 403137 add ~mt1
- 001757 420017 sub me2
- 001760 640400 sma
- 001761 601774 jmp mq2
- 001762 203103 lac (mex 400000 / yes, explode
- 001763 251703 dac i ml1 / replace calc routine with explosion
- 001764 251734 dac i ml2
- 001765 212006 lac i mb1 / duration of explosion
- 001766 mb2,
- 001766 401766 add .
- 001767 761000 cma
- 001770 675377 sar 8s
- 001771 402770 add (1
- 001772 ma1,
- 001772 241772 dac .
- 001773 ma2,
- 001773 241773 dac .
- 001774 mq2,
- 001774 441740 idx mx2 / end of comparion loop
- 001775 441750 idx my2
- 001776 441773 idx ma2
- 001777 441766 idx mb2
-- index ml2, (lac mtb nob, ml2
-+002000 441734 idx ZZ1111
-+002001 523075 sas ZZ2111
-+002002 601734 jmp ZZ3111
--////
- 002003 mq4,
- 002003 211703 lac i ml1 / routine for calculating spaceship
- 002004 262005 dap . 1 / or other object and displaying it
- 002005 622005 jsp .
- 002006 mb1,
- 002006 202006 lac . / alter count of number of instructions
- 002007 403120 add ~mtc
- 002010 243120 dac ~mtc
- 002011 mq1,
- 002011 441737 idx mx1 / end of comparison and display loop
- 002012 441747 idx my1
- 002013 441772 idx ma1
- 002014 442006 idx mb1
- 002015 443121 idx ~mdx
- 002016 443122 idx ~mdy
- 002017 442327 idx mom
- 002020 442343 idx mth
- 002021 443140 idx ~mas
- 002022 443123 idx ~mfu
- 002023 443124 idx ~mtr
- 002024 441732 idx mot
- 002025 442577 idx mco
- 002026 443125 idx ~mh1
- 002027 443126 idx ~mh2
- 002030 443127 idx ~mh3
- 002031 443130 idx ~mh4
-- index ml1, (lac mtb nob-1, ml1
-+002032 441703 idx ZZ1112
-+002033 523076 sas ZZ2112
-+002034 601703 jmp ZZ3112
- 002035 211703 lac i ml1 / display and compute last point
- 002036 650100 sza i / if active
- 002037 602045 jmp mq3
- 002040 262041 dap . 1
- 002041 622041 jsp .
- 002042 212006 lac i mb1
- 002043 403120 add ~mtc
- 002044 243120 dac ~mtc
- 002045 mq3,
-- background / display stars of the heavens
-+002045 621130 jsp bck
- 002046 620650 jsp blp / display massive star
-- count ~mtc, . / use the rest of time of main loop
-+002047 463120 isp ZZ1114
-+002050 602047 jmp ZZ2114
- 002051 601444 jmp ml0 / repeat whole works
--////
--/ misc calculation routines
-- / explosion
- 002052 mex,
- 002052 262133 dap mxr
- 002053 760200 cla
-- diff ~mdx, mx1, (sar 3s
-+002054 413121 add i ZZ1115
-+002055 253121 dac i ZZ1115
-+002056 103077 xct ZZ3115
-+002057 411737 add i ZZ2115
-+002060 251737 dac i ZZ2115
- 002061 760200 cla
-- diff ~mdy, my1, (sar 3s
-+002062 413122 add i ZZ1116
-+002063 253122 dac i ZZ1116
-+002064 103077 xct ZZ3116
-+002065 411747 add i ZZ2116
-+002066 251747 dac i ZZ2116
- 002067 702134 law ms2
- 002070 262117 dap msh
- 002071 212006 lac i mb1 / time involved
- 002072 765000 cma cli-opr
- 002073 675007 sar 3s
- 002074 243141 dac ~mxc
- 002075 ms1,
- 002075 423100 sub (140
- 002076 640400 sma
- 002077 442117 idx msh
- 002100 mz1,
-- random
-+002100 200031 lac ran
-+002101 671001 rar 1s
-+002102 063041 xor (355760
-+002103 403042 add (355670
-+002104 240031 dac ran
- 002105 023101 and (777
- 002106 043102 ior (scl
- 002107 242120 dac mi1
-- random
-+002110 200031 lac ran
-+002111 671001 rar 1s
-+002112 063041 xor (355760
-+002113 403042 add (355670
-+002114 240031 dac ran
- 002115 677777 scr 9s
- 002116 676777 sir 9s
- 002117 msh,
- 002117 102117 xct .
- 002120 mi1,
- 002120 760400 hlt
- 002121 411747 add i my1
-- swap
-+002122 663777 rcl 9s
-+002123 663777 rcl 9s
- 002124 411737 add i mx1
- 002125 720307 dpy-i 300
-- count ~mxc, mz1
-+002126 463141 isp ZZ1120
-+002127 602100 jmp ZZ2120
-- count i ma1, mxr
-+002130 471772 isp ZZ1121
-+002131 602133 jmp ZZ2121
- 002132 351703 dzm i ml1
- 002133 mxr,
- 002133 602133 jmp .
- 002134 ms2,
- 002134 677001 scr 1s
- 002135 677007 scr 3s
--/ torpedo calc routine
- 002136 tcr,
- 002136 262167 dap trc
-- count i ma1, tc1
-+002137 471772 isp ZZ1122
-+002140 602146 jmp ZZ2122
- 002141 203103 lac (mex 400000
- 002142 251703 dac i ml1
- 002143 710002 law i 2
- 002144 251772 dac i ma1
- 002145 602167 jmp trc
- 002146 tc1,
- 002146 211737 lac i mx1
- 002147 675777 sar 9s
- 002150 100021 xct the
-- diff ~mdy, my1, (sar 3s
-+002151 413122 add i ZZ1123
-+002152 253122 dac i ZZ1123
-+002153 103077 xct ZZ3123
-+002154 411747 add i ZZ2123
-+002155 251747 dac i ZZ2123
- 002156 675777 sar 9s
- 002157 100021 xct the
-- diff ~mdx, mx1, (sar 3s
-+002160 413121 add i ZZ1124
-+002161 253121 dac i ZZ1124
-+002162 103077 xct ZZ3124
-+002163 411737 add i ZZ2124
-+002164 251737 dac i ZZ2124
-- dispt i, i my1, 1
-+002165 000002 ZZ3125=ZZ3125+ZZ3125
-+002165 000004 ZZ3125=ZZ3125+ZZ3125
-+002165 000010 ZZ3125=ZZ3125+ZZ3125
-+002165 000020 ZZ3125=ZZ3125+ZZ3125
-+002165 000040 ZZ3125=ZZ3125+ZZ3125
-+002165 000100 ZZ3125=ZZ3125+ZZ3125
-+002165 231747 lio ZZ2125
-+002166 720107 dpy-ZZ1125+ZZ3125
- 002167 trc,
- 002167 602167 jmp .
--////
--/ hyperspace routines
--/ this routine handles a non-colliding ship invisibly
--/ in hyperspace
- 002170 hp1,
- 002170 262245 dap hp2
-- count i ma1, hp2
-+002171 471772 isp ZZ1126
-+002172 602245 jmp ZZ2126
- 002173 702246 law hp3 / next step
- 002174 251703 dac i ml1
- 002175 700007 law 7
- 002176 252006 dac i mb1
-- random
-+002177 200031 lac ran
-+002200 671001 rar 1s
-+002201 063041 xor (355760
-+002202 403042 add (355670
-+002203 240031 dac ran
- 002204 677777 scr 9s
- 002205 676777 sir 9s
- 002206 100026 xct hr1
- 002207 411737 add i mx1
- 002210 251737 dac i mx1
-- swap
-+002211 663777 rcl 9s
-+002212 663777 rcl 9s
- 002213 411747 add i my1
- 002214 251747 dac i my1
-- random
-+002215 200031 lac ran
-+002216 671001 rar 1s
-+002217 063041 xor (355760
-+002220 403042 add (355670
-+002221 240031 dac ran
- 002222 677777 scr 9s
- 002223 676777 sir 9s
- 002224 100027 xct hr2
- 002225 253122 dac i ~mdy
- 002226 333121 dio i ~mdx
-- setup ~hpt,3
-+002227 710003 law i ZZ2130
-+002230 243142 dac ZZ1130
- 002231 200031 lac ran
- 002232 252343 dac i mth
- 002233 hp4,
- 002233 212343 lac i mth
- 002234 640400 sma
- 002235 422761 sub (311040
- 002236 640200 spa
- 002237 402761 add (311040
- 002240 252343 dac i mth
-- count ~hpt,hp4
-+002241 463142 isp ZZ1131
-+002242 602233 jmp ZZ2131
- 002243 100024 xct hd2
- 002244 251772 dac i ma1
- 002245 hp2,
- 002245 602245 jmp .
--/ this routine handles a ship breaking out of
--/ hyperspace
- 002246 hp3,
- 002246 262307 dap hp5
-- count i ma1,hp6
-+002247 471772 isp ZZ1132
-+002250 602304 jmp ZZ2132
- 002251 213125 lac i ~mh1
- 002252 251703 dac i ml1
- 002253 702000 law 2000
- 002254 252006 dac i mb1
-- count i ~mh2,hp7
-+002255 473126 isp ZZ1133
-+002256 602260 jmp ZZ2133
- 002257 353126 dzm i ~mh2
--////
- 002260 hp7,
- 002260 100025 xct hd3
- 002261 253127 dac i ~mh3
- 002262 213130 lac i ~mh4
- 002263 400030 add hur
- 002264 253130 dac i ~mh4
-- random
-+002265 200031 lac ran
-+002266 671001 rar 1s
-+002267 063041 xor (355760
-+002270 403042 add (355670
-+002271 240031 dac ran
- 002272 043104 ior (400000
- 002273 413130 add i ~mh4
- 002274 640200 spa
- 002275 602307 jmp hp5
- 002276 203103 lac (mex 400000
- 002277 251703 dac i ml1
- 002300 710010 law i 10
- 002301 251772 dac i ma1
- 002302 702000 law 2000
- 002303 252006 dac i mb1
- 002304 hp6,
- 002304 211737 lac i mx1
-- dispt i, i my1, 2
-+002305 000004 ZZ3135=ZZ3135+ZZ3135
-+002305 000010 ZZ3135=ZZ3135+ZZ3135
-+002305 000020 ZZ3135=ZZ3135+ZZ3135
-+002305 000040 ZZ3135=ZZ3135+ZZ3135
-+002305 000100 ZZ3135=ZZ3135+ZZ3135
-+002305 000200 ZZ3135=ZZ3135+ZZ3135
-+002305 231747 lio ZZ2135
-+002306 720207 dpy-ZZ1135+ZZ3135
- 002307 hp5,
- 002307 602307 jmp .
--////
--/ spaceship calc
- 002310 ss1,
- 002310 262713 dap srt / first spaceship
- 002311 633134 jsp i ~cwg
- 002312 323143 dio ~scw
- 002313 602320 jmp sr0
- 002314 ss2,
- 002314 262713 dap srt
- 002315 633134 jsp i ~cwg
- 002316 672017 rir 4s
- 002317 323143 dio ~scw
- 002320 sr0,
- 002320 sc1,
- 002320 223143 lio ~scw /control word
- 002321 760206 clf 6 cla-opr /update angle
- 002322 642000 spi
- 002323 400013 add maa
- 002324 662001 ril 1s
- 002325 642000 spi
- 002326 420013 sub maa
- 002327 mom,
- 002327 402327 add .
- 002330 252327 dac i mom
- 002331 640010 szs 10
- 002332 602335 jmp sr8
- 002333 352327 dzm i mom
- 002334 661177 ral 7s
- 002335 sr8,
- 002335 662001 ril 1s
- 002336 642000 spi
- 002337 760016 stf 6
- 002340 233123 lio i ~mfu
- 002341 652000 spi i
- 002342 760006 clf 6
- 002343 mth,
- 002343 402343 add .
- 002344 640400 sma
- 002345 422761 sub (311040
- 002346 640200 spa
- 002347 402761 add (311040
- 002350 252343 dac i mth
- 002351 170074 jda sin
- 002352 243144 dac ~sn
- 002353 343116 dzm ~bx
- 002354 343117 dzm ~by
- 002355 640060 szs 60
- 002356 602430 jmp bsg
- 002357 211737 lac i mx1
- 002360 675777 sar 9s
- 002361 675003 sar 2s
- 002362 243145 dac ~t1
- 002363 170156 jda imp
- 002364 203145 lac ~t1
- 002365 243146 dac ~t2
- 002366 211747 lac i my1
--////
- 002367 675777 sar 9s
- 002370 675003 sar 2s
- 002371 243145 dac ~t1
- 002372 170156 jda imp
- 002373 203145 lac ~t1
- 002374 403146 add ~t2
- 002375 420015 sub str
- 002376 650500 sma i sza-skp
- 002377 602714 jmp poh
- 002400 400015 add str
- 002401 243145 dac ~t1
- 002402 170246 jda sqt
- 002403 675777 sar 9s
- 002404 170171 jda mpy
- 002405 203145 lac ~t1
- 002406 677003 scr 2s
- 002407 650020 szs i 20 / switch 2 for light star
- 002410 677003 scr 2s
- 002411 640100 sza
- 002412 602430 jmp bsg
- 002413 323145 dio ~t1
- 002414 211737 lac i mx1
- 002415 761000 cma
- 002416 170306 jda idv
- 002417 203145 lac ~t1
- 002420 760000 opr
- 002421 243116 dac ~bx
- 002422 211747 lac i my1
- 002423 761000 cma
- 002424 170306 jda idv
- 002425 203145 lac ~t1
- 002426 760000 opr
- 002427 243117 dac ~by
- 002430 bsg,
- 002430 760200 cla
- 002431 513123 sad i ~mfu
- 002432 760006 clf 6
- 002433 212343 lac i mth
- 002434 170066 jda cos
- 002435 243147 dac ~cs
- 002436 675777 sar 9s
- 002437 100014 xct sac
- 002440 650006 szf i 6
- 002441 760200 cla
- 002442 403117 add ~by
-- diff ~mdy, my1, (sar 3s
-+002443 413122 add i ZZ1136
-+002444 253122 dac i ZZ1136
-+002445 103077 xct ZZ3136
-+002446 411747 add i ZZ2136
-+002447 251747 dac i ZZ2136
- 002450 203144 lac ~sn
- 002451 675777 sar 9s
- 002452 100014 xct sac
- 002453 761000 cma
- 002454 650006 szf i 6
- 002455 760200 cla
- 002456 403116 add ~bx
-- diff ~mdx, mx1, (sar 3s
-+002457 413121 add i ZZ1137
-+002460 253121 dac i ZZ1137
-+002461 103077 xct ZZ3137
-+002462 411737 add i ZZ2137
-+002463 251737 dac i ZZ2137
- 002464 sp1,
-- scale ~sn, 5s, ~ssn
-+002464 203144 lac ZZ1138
-+002465 675037 sar ZZ2138
-+002466 243150 dac ZZ3138
- 002467 sp2,
-- scale ~cs, 5s, ~scn
-+002467 203147 lac ZZ1139
-+002470 675037 sar ZZ2139
-+002471 243114 dac ZZ3139
- 002472 211737 lac i mx1
--////
- 002473 423150 sub ~ssn
- 002474 243151 dac ~sx1
- 002475 423150 sub ~ssn
- 002476 243152 dac ~stx
- 002477 211747 lac i my1
- 002500 403114 add ~scn
- 002501 243153 dac ~sy1
- 002502 403114 add ~scn
- 002503 243154 dac ~sty
--/ Modified for Smaller Laptop screens - BDS
--// scale ~sn, 9s, ~ssn
--// scale ~cs, 9s, ~scn
-- scale ~sn, 8s, ~ssn
-+002504 203144 lac ZZ1140
-+002505 675377 sar ZZ2140
-+002506 243150 dac ZZ3140
-- scale ~cs, 8s, ~scn
-+002507 203147 lac ZZ1141
-+002510 675377 sar ZZ2141
-+002511 243114 dac ZZ3141
- 002512 203150 lac ~ssn
- 002513 243155 dac ~ssm
- 002514 403114 add ~scn
- 002515 243156 dac ~ssc
- 002516 243157 dac ~ssd
- 002517 203150 lac ~ssn
- 002520 423114 sub ~scn
- 002521 243160 dac ~csn
- 002522 761000 cma
- 002523 243161 dac ~csm
- 002524 203114 lac ~scn
- 002525 243162 dac ~scm
- 002526 764200 cla cli-opr
- 002527 724007 dpy-4000
- 002530 sp5,
- 002530 602530 jmp .
- 002531 sq6,
- 002531 730000 ioh
-- ranct sar 9s, sar 4s, ~src
-- random
-+002532 200031 lac ran
-+002533 671001 rar 1s
-+002534 063041 xor (355760
-+002535 403042 add (355670
-+002536 240031 dac ran
-+002537 675777 ZZ1142
-+002540 675017 ZZ2142
-+002541 640400 sma
-+002542 761000 cma
-+002543 243163 dac ZZ3142
- 002544 223143 lio ~scw
- 002545 662003 ril 2s
- 002546 652000 spi i / not blasting
- 002547 602574 jmp sq9 / no tail
- 002550 sq7,
-- scale ~sn, 8s, ~ssn
-+002550 203144 lac ZZ1144
-+002551 675377 sar ZZ2144
-+002552 243150 dac ZZ3144
-- scale ~cs, 8s, ~scn
-+002553 203147 lac ZZ1145
-+002554 675377 sar ZZ2145
-+002555 243114 dac ZZ3145
-- count i ~mfu, st2
-+002556 473123 isp ZZ1146
-+002557 602562 jmp ZZ2146
- 002560 353123 dzm i ~mfu
- 002561 602574 jmp sq9
- 002562 st2,
-- yincr ~sx1, ~sy1, sub
-+002562 203153 lac ZZ2147
-+002563 423114 ZZ3147 ~scn
-+002564 243153 dac ZZ2147
-+002565 203151 lac ZZ1147
-+002566 403150 -ZZ3147+add+sub ~ssn
-+002567 243151 dac ZZ1147
-- dispt i, ~sy1
-+002570 000000 ZZ3148=ZZ3148+ZZ3148
-+002570 000000 ZZ3148=ZZ3148+ZZ3148
-+002570 000000 ZZ3148=ZZ3148+ZZ3148
-+002570 000000 ZZ3148=ZZ3148+ZZ3148
-+002570 000000 ZZ3148=ZZ3148+ZZ3148
-+002570 000000 ZZ3148=ZZ3148+ZZ3148
-+002570 223153 lio ZZ2148
-+002571 720007 dpy-ZZ1148+ZZ3148
-- count ~src,sq7
-+002572 463163 isp ZZ1149
-+002573 602550 jmp ZZ2149
- 002574 sq9,
-- count i ma1, sr5 / check if torp tube reloaded
-+002574 471772 isp ZZ1150
-+002575 602667 jmp ZZ2150
- 002576 351772 dzm i ma1 / prevent count around
- 002577 mco,
- 002577 202577 lac . / previous control word
- 002600 761000 cma
- 002601 650030 szs i 30
- 002602 761200 clc
- 002603 023143 and ~scw / present control word
- 002604 661007 ral 3s / torpedo bit to bit 0
- 002605 640400 sma
- 002606 602667 jmp sr5 / no launch
-- count i ~mtr, st1 / check if torpedos exhausted
-+002607 473124 isp ZZ1151
-+002610 602613 jmp ZZ2151
- 002611 353124 dzm i ~mtr / prevent count around
- 002612 602667 jmp sr5
- 002613 st1,
-- init sr1, mtb / search for unused object
-+002613 703365 law ZZ2152
-+002614 262615 dap ZZ1152
- 002615 sr1,
- 002615 202615 lac .
- 002616 650100 sza i / 0 if unused
- 002617 602625 jmp sr2
-- index sr1, (lac mtb+nob, sr1
-+002620 442615 idx ZZ1153
-+002621 523105 sas ZZ2153
-+002622 602615 jmp ZZ3153
- 002623 760400 hlt / no space for new objects
- 002624 602623 jmp .-1
--////
- 002625 sr2,
- 002625 203106 lac (tcr
- 002626 252615 dac i sr1
- 002627 700030 law nob
- 002630 402615 add sr1
- 002631 262633 dap ss3
- 002632 223152 lio ~stx
- 002633 ss3,
- 002633 322633 dio .
- 002634 403066 add (nob
- 002635 262637 dap ss4
- 002636 223154 lio ~sty
- 002637 ss4,
- 002637 322637 dio .
- 002640 403066 add (nob
- 002641 262664 dap sr6
- 002642 403066 add (nob
- 002643 262666 dap sr7
- 002644 403066 add (nob
- 002645 262654 dap sr3
- 002646 403066 add (nob
- 002647 262660 dap sr4
- 002650 203144 lac ~sn
- 002651 100007 xct tvl
- 002652 761000 cma
- 002653 413121 add i ~mdx
- 002654 sr3,
- 002654 242654 dac .
- 002655 203147 lac ~cs
- 002656 100007 xct tvl
- 002657 413122 add i ~mdy
- 002660 sr4,
- 002660 242660 dac .
- 002661 100010 xct rlt
- 002662 251772 dac i ma1 / permit torp tubes to cool
- 002663 trp,
- 002663 100011 xct tlf / life of torpedo
- 002664 sr6,
- 002664 242664 dac .
- 002665 700020 law 20
- 002666 sr7,
- 002666 262666 dap . / length of torp calc
- 002667 sr5,
-- count i ~mh3, st3 / hyperbutton active?
-+002667 473127 isp ZZ1154
-+002670 602713 jmp ZZ2154
- 002671 353127 dzm i ~mh3
- 002672 213126 lac i ~mh2
- 002673 650100 sza i
- 002674 602713 jmp st3
- 002675 203143 lac ~scw
- 002676 761000 cma
- 002677 052577 ior i mco
- 002700 023107 and (600000
- 002701 640100 sza
- 002702 602713 jmp st3
- 002703 211703 lac i ml1
- 002704 253125 dac i ~mh1
- 002705 203110 lac (hp1 400000
- 002706 251703 dac i ml1
- 002707 100023 xct hd1
- 002710 251772 dac i ma1
- 002711 700003 law 3
- 002712 252006 dac i mb1
- 002713 st3,
- 002713 srt,
- 002713 602713 jmp .
--////
--/ here to handle spaceships into star
--/ spaceship in star
- 002714 poh,
- 002714 353121 dzm i ~mdx
- 002715 353122 dzm i ~mdy
- 002716 640050 szs 50
- 002717 602730 jmp po1
- 002720 202767 lac (377777
- 002721 251737 dac i mx1
- 002722 251747 dac i my1
- 002723 212006 lac i mb1
- 002724 243150 dac ~ssn
-- count ~ssn, .
-+002725 463150 isp ZZ1155
-+002726 602725 jmp ZZ2155
- 002727 602713 jmp srt
- 002730 po1,
- 002730 203103 lac (mex 400000 / now go bang
- 002731 251703 dac i ml1
- 002732 710010 law i 10
- 002733 251772 dac i ma1
- 002734 602713 jmp srt
--////
--/ outlines of spaceships
- 002735 ot1,
- 002735 111131 111131
- 002736 111111 111111
- 002737 111111 111111
- 002740 111163 111163
- 002741 311111 311111
- 002742 146111 146111
- 002743 111114 111114
- 002744 700000 700000
- 002745 000005 . 5/
- 002746 ot2,
- 002746 013113 013113
- 002747 113111 113111
- 002750 116313 116313
- 002751 131111 131111
- 002752 161151 161151
- 002753 111633 111633
- 002754 365114 365114
- 002755 700000 700000
- 002756 000005 . 5/
- 002757 203164 lac ~ssa / To fix assembler bug - ~ssa only referenced in lit
- 002760 constants
-+002760 062210 62210
-+002761 311040 311040
-+002762 242763 242763
-+002763 756103 756103
-+002764 121312 121312
-+002765 532511 532511
-+002766 144417 144417
-+002767 377777 377777
-+002770 000001 1
-+002771 760015 stf 5
-+002772 203151 lac ~sx1
-+002773 223153 lio ~sy1
-+002774 663777 rcl 9s
-+002775 000444 a11
-+002776 640005 szf 5
-+002777 000004 4
-+003000 243151 dac ~sx1
-+003001 323153 dio ~sy1
-+003002 602531 jmp sq6
-+003003 760005 clf 5
-+003004 203162 lac ~scm
-+003005 761000 cma
-+003006 243162 dac ~scm
-+003007 203155 lac ~ssm
-+003010 243155 dac ~ssm
-+003011 203161 lac ~csm
-+003012 223157 lio ~ssd
-+003013 243157 dac ~ssd
-+003014 323161 dio ~csm
-+003015 203156 lac ~ssc
-+003016 223160 lio ~csn
-+003017 243160 dac ~csn
-+003020 323156 dio ~ssc
-+003021 403150 add ~ssn
-+003022 423114 sub ~scn
-+003023 730000 ioh
-+003024 724007 dpy-4000
-+003025 403162 add ~scm
-+003026 403155 add ~ssm
-+003027 403156 add ~ssc
-+003030 423161 sub ~csm
-+003031 423162 sub ~scm
-+003032 423155 sub ~ssm
-+003033 403160 add ~csn
-+003034 423157 sub ~ssd
-+003035 243164 dac ~ssa
-+003036 323115 dio ~ssi
-+003037 203164 lac ~ssa
-+003040 223115 lio ~ssi
-+003041 355760 355760
-+003042 355670 355670
-+003043 400340 add 340
-+003044 000716 bds
-+003045 002000 2000
-+003046 001000 1000
-+003047 226022 lio ZZ298+2
-+003050 761777 2000 -20000
-+003051 006022 ZZ298+2
-+003052 226000 lio ZZ198
-+003053 226044 lio ZZ299+2
-+003054 006044 ZZ299+2
-+003055 226022 lio ZZ199
-+003056 226306 lio ZZ2100+2
-+003057 006306 ZZ2100+2
-+003060 226044 lio ZZ1100
-+003061 227652 lio ZZ2101+2
-+003062 007652 ZZ2101+2
-+003063 226306 lio ZZ1101
-+003064 020000 20000
-+003065 773777 ZZ2102
-+003066 000030 nob
-+003067 000002 2
-+003070 000040 40
-+003071 000037 37
-+003072 343661 dzm ZZ2106+1
-+003073 200000 200000
-+003074 144420 144420
-+003075 203415 lac mtb nob
-+003076 203414 lac mtb nob-1
-+003077 675007 sar 3s
-+003100 000140 140
-+003101 000777 777
-+003102 667000 scl
-+003103 402052 mex 400000
-+003104 400000 400000
-+003105 203415 lac mtb+nob
-+003106 002136 tcr
-+003107 600000 600000
-+003110 402170 hp1 400000
- 003111 000000 0
- 003112 variables
-+003112 000000 occ
-+003113 000000 oci
-+003114 000000 scn
-+003115 000000 ssi
-+003116 000000 bx
-+003117 000000 by
-+003120 000000 mtc
-+003121 000000 mdx
-+003122 000000 mdy
-+003123 000000 mfu
-+003124 000000 mtr
-+003125 000000 mh1
-+003126 000000 mh2
-+003127 000000 mh3
-+003130 000000 mh4
-+003131 000000 ntd
-+003132 000000 1sc
-+003133 000000 2sc
-+003134 000000 cwg
-+003135 000000 gct
-+003136 000000 moc
-+003137 000000 mt1
-+003140 000000 mas
-+003141 000000 mxc
-+003142 000000 hpt
-+003143 000000 scw
-+003144 000000 sn
-+003145 000000 t1
-+003146 000000 t2
-+003147 000000 cs
-+003150 000000 ssn
-+003151 000000 sx1
-+003152 000000 stx
-+003153 000000 sy1
-+003154 000000 sty
-+003155 000000 ssm
-+003156 000000 ssc
-+003157 000000 ssd
-+003160 000000 csn
-+003161 000000 csm
-+003162 000000 scm
-+003163 000000 src
-+003164 000000 ssa
- 003165 p,
- 003365 . 200/ / space for patches
- 003365 mtb,
-- / table of objects and their properties
- 006000 6000/
--/stars 1 3/13/62 prs.
- 006000 decimal
-- define mark X, Y
-- repeat 10, Y=Y+Y
-- 0 8192 -X
-- 0 Y
-- terminate
- 006000 1j,
-- mark 1537, 371 /87 taur, aldebaran
-+006000 001346 ZZ2156=ZZ2156+ZZ2156
-+006000 002714 ZZ2156=ZZ2156+ZZ2156
-+006000 005630 ZZ2156=ZZ2156+ZZ2156
-+006000 013460 ZZ2156=ZZ2156+ZZ2156
-+006000 027140 ZZ2156=ZZ2156+ZZ2156
-+006000 056300 ZZ2156=ZZ2156+ZZ2156
-+006000 134600 ZZ2156=ZZ2156+ZZ2156
-+006000 271400 ZZ2156=ZZ2156+ZZ2156
-+006000 014777 0 8192 -ZZ1156
-+006001 271400 0 ZZ2156
-- mark 1762, -189 /19 orio, rigel
-+006002 777204 ZZ2157=ZZ2157+ZZ2157
-+006002 776410 ZZ2157=ZZ2157+ZZ2157
-+006002 775020 ZZ2157=ZZ2157+ZZ2157
-+006002 772040 ZZ2157=ZZ2157+ZZ2157
-+006002 764100 ZZ2157=ZZ2157+ZZ2157
-+006002 750200 ZZ2157=ZZ2157+ZZ2157
-+006002 720400 ZZ2157=ZZ2157+ZZ2157
-+006002 641000 ZZ2157=ZZ2157+ZZ2157
-+006002 014436 0 8192 -ZZ1157
-+006003 641000 0 ZZ2157
-- mark 1990, 168 /58 orio, betelgeuze
-+006004 000520 ZZ2158=ZZ2158+ZZ2158
-+006004 001240 ZZ2158=ZZ2158+ZZ2158
-+006004 002500 ZZ2158=ZZ2158+ZZ2158
-+006004 005200 ZZ2158=ZZ2158+ZZ2158
-+006004 012400 ZZ2158=ZZ2158+ZZ2158
-+006004 025000 ZZ2158=ZZ2158+ZZ2158
-+006004 052000 ZZ2158=ZZ2158+ZZ2158
-+006004 124000 ZZ2158=ZZ2158+ZZ2158
-+006004 014072 0 8192 -ZZ1158
-+006005 124000 0 ZZ2158
-- mark 2280, -377 /9 cmaj, sirius
-+006006 776414 ZZ2159=ZZ2159+ZZ2159
-+006006 775030 ZZ2159=ZZ2159+ZZ2159
-+006006 772060 ZZ2159=ZZ2159+ZZ2159
-+006006 764140 ZZ2159=ZZ2159+ZZ2159
-+006006 750300 ZZ2159=ZZ2159+ZZ2159
-+006006 720600 ZZ2159=ZZ2159+ZZ2159
-+006006 641400 ZZ2159=ZZ2159+ZZ2159
-+006006 503000 ZZ2159=ZZ2159+ZZ2159
-+006006 013430 0 8192 -ZZ1159
-+006007 503000 0 ZZ2159
-- mark 2583, 125 /25 cmin, procyon
-+006010 000372 ZZ2160=ZZ2160+ZZ2160
-+006010 000764 ZZ2160=ZZ2160+ZZ2160
-+006010 001750 ZZ2160=ZZ2160+ZZ2160
-+006010 003720 ZZ2160=ZZ2160+ZZ2160
-+006010 007640 ZZ2160=ZZ2160+ZZ2160
-+006010 017500 ZZ2160=ZZ2160+ZZ2160
-+006010 037200 ZZ2160=ZZ2160+ZZ2160
-+006010 076400 ZZ2160=ZZ2160+ZZ2160
-+006010 012751 0 8192 -ZZ1160
-+006011 076400 0 ZZ2160
-- mark 3431, 283 /32 leon, regulus
-+006012 001066 ZZ2161=ZZ2161+ZZ2161
-+006012 002154 ZZ2161=ZZ2161+ZZ2161
-+006012 004330 ZZ2161=ZZ2161+ZZ2161
-+006012 010660 ZZ2161=ZZ2161+ZZ2161
-+006012 021540 ZZ2161=ZZ2161+ZZ2161
-+006012 043300 ZZ2161=ZZ2161+ZZ2161
-+006012 106600 ZZ2161=ZZ2161+ZZ2161
-+006012 215400 ZZ2161=ZZ2161+ZZ2161
-+006012 011231 0 8192 -ZZ1161
-+006013 215400 0 ZZ2161
-- mark 4551, -242 /67 virg, spica
-+006014 777032 ZZ2162=ZZ2162+ZZ2162
-+006014 776064 ZZ2162=ZZ2162+ZZ2162
-+006014 774150 ZZ2162=ZZ2162+ZZ2162
-+006014 770320 ZZ2162=ZZ2162+ZZ2162
-+006014 760640 ZZ2162=ZZ2162+ZZ2162
-+006014 741500 ZZ2162=ZZ2162+ZZ2162
-+006014 703200 ZZ2162=ZZ2162+ZZ2162
-+006014 606400 ZZ2162=ZZ2162+ZZ2162
-+006014 007071 0 8192 -ZZ1162
-+006015 606400 0 ZZ2162
-- mark 4842, 448 /16 boot, arcturus
-+006016 001600 ZZ2163=ZZ2163+ZZ2163
-+006016 003400 ZZ2163=ZZ2163+ZZ2163
-+006016 007000 ZZ2163=ZZ2163+ZZ2163
-+006016 016000 ZZ2163=ZZ2163+ZZ2163
-+006016 034000 ZZ2163=ZZ2163+ZZ2163
-+006016 070000 ZZ2163=ZZ2163+ZZ2163
-+006016 160000 ZZ2163=ZZ2163+ZZ2163
-+006016 340000 ZZ2163=ZZ2163+ZZ2163
-+006016 006426 0 8192 -ZZ1163
-+006017 340000 0 ZZ2163
- 006020 1q,
-- mark 6747, 196 /53 aqil, altair
-+006020 000610 ZZ2164=ZZ2164+ZZ2164
-+006020 001420 ZZ2164=ZZ2164+ZZ2164
-+006020 003040 ZZ2164=ZZ2164+ZZ2164
-+006020 006100 ZZ2164=ZZ2164+ZZ2164
-+006020 014200 ZZ2164=ZZ2164+ZZ2164
-+006020 030400 ZZ2164=ZZ2164+ZZ2164
-+006020 061000 ZZ2164=ZZ2164+ZZ2164
-+006020 142000 ZZ2164=ZZ2164+ZZ2164
-+006020 002645 0 8192 -ZZ1164
-+006021 142000 0 ZZ2164
- 006022 2j,
-- mark 1819, 143 /24 orio, bellatrix
-+006022 000436 ZZ2165=ZZ2165+ZZ2165
-+006022 001074 ZZ2165=ZZ2165+ZZ2165
-+006022 002170 ZZ2165=ZZ2165+ZZ2165
-+006022 004360 ZZ2165=ZZ2165+ZZ2165
-+006022 010740 ZZ2165=ZZ2165+ZZ2165
-+006022 021700 ZZ2165=ZZ2165+ZZ2165
-+006022 043600 ZZ2165=ZZ2165+ZZ2165
-+006022 107400 ZZ2165=ZZ2165+ZZ2165
-+006022 014345 0 8192 -ZZ1165
-+006023 107400 0 ZZ2165
-- mark 1884, -29 /46 orio
-+006024 777704 ZZ2166=ZZ2166+ZZ2166
-+006024 777610 ZZ2166=ZZ2166+ZZ2166
-+006024 777420 ZZ2166=ZZ2166+ZZ2166
-+006024 777040 ZZ2166=ZZ2166+ZZ2166
-+006024 776100 ZZ2166=ZZ2166+ZZ2166
-+006024 774200 ZZ2166=ZZ2166+ZZ2166
-+006024 770400 ZZ2166=ZZ2166+ZZ2166
-+006024 761000 ZZ2166=ZZ2166+ZZ2166
-+006024 014244 0 8192 -ZZ1166
-+006025 761000 0 ZZ2166
-- mark 1910, -46 /50 orio
-+006026 777642 ZZ2167=ZZ2167+ZZ2167
-+006026 777504 ZZ2167=ZZ2167+ZZ2167
-+006026 777210 ZZ2167=ZZ2167+ZZ2167
-+006026 776420 ZZ2167=ZZ2167+ZZ2167
-+006026 775040 ZZ2167=ZZ2167+ZZ2167
-+006026 772100 ZZ2167=ZZ2167+ZZ2167
-+006026 764200 ZZ2167=ZZ2167+ZZ2167
-+006026 750400 ZZ2167=ZZ2167+ZZ2167
-+006026 014212 0 8192 -ZZ1167
-+006027 750400 0 ZZ2167
-- mark 1951, -221 /53 orio
-+006030 777104 ZZ2168=ZZ2168+ZZ2168
-+006030 776210 ZZ2168=ZZ2168+ZZ2168
-+006030 774420 ZZ2168=ZZ2168+ZZ2168
-+006030 771040 ZZ2168=ZZ2168+ZZ2168
-+006030 762100 ZZ2168=ZZ2168+ZZ2168
-+006030 744200 ZZ2168=ZZ2168+ZZ2168
-+006030 710400 ZZ2168=ZZ2168+ZZ2168
-+006030 621000 ZZ2168=ZZ2168+ZZ2168
-+006030 014141 0 8192 -ZZ1168
-+006031 621000 0 ZZ2168
-- mark 2152, -407 / 2 cmaj
-+006032 776320 ZZ2169=ZZ2169+ZZ2169
-+006032 774640 ZZ2169=ZZ2169+ZZ2169
-+006032 771500 ZZ2169=ZZ2169+ZZ2169
-+006032 763200 ZZ2169=ZZ2169+ZZ2169
-+006032 746400 ZZ2169=ZZ2169+ZZ2169
-+006032 715000 ZZ2169=ZZ2169+ZZ2169
-+006032 632000 ZZ2169=ZZ2169+ZZ2169
-+006032 464000 ZZ2169=ZZ2169+ZZ2169
-+006032 013630 0 8192 -ZZ1169
-+006033 464000 0 ZZ2169
-- mark 2230, 375 /24 gemi
-+006034 001356 ZZ2170=ZZ2170+ZZ2170
-+006034 002734 ZZ2170=ZZ2170+ZZ2170
-+006034 005670 ZZ2170=ZZ2170+ZZ2170
-+006034 013560 ZZ2170=ZZ2170+ZZ2170
-+006034 027340 ZZ2170=ZZ2170+ZZ2170
-+006034 056700 ZZ2170=ZZ2170+ZZ2170
-+006034 135600 ZZ2170=ZZ2170+ZZ2170
-+006034 273400 ZZ2170=ZZ2170+ZZ2170
-+006034 013512 0 8192 -ZZ1170
-+006035 273400 0 ZZ2170
-- mark 3201, -187 /30 hyda, alphard
-+006036 777210 ZZ2171=ZZ2171+ZZ2171
-+006036 776420 ZZ2171=ZZ2171+ZZ2171
-+006036 775040 ZZ2171=ZZ2171+ZZ2171
-+006036 772100 ZZ2171=ZZ2171+ZZ2171
-+006036 764200 ZZ2171=ZZ2171+ZZ2171
-+006036 750400 ZZ2171=ZZ2171+ZZ2171
-+006036 721000 ZZ2171=ZZ2171+ZZ2171
-+006036 642000 ZZ2171=ZZ2171+ZZ2171
-+006036 011577 0 8192 -ZZ1171
-+006037 642000 0 ZZ2171
-- mark 4005, 344 /94 leon, denebola
-+006040 001260 ZZ2172=ZZ2172+ZZ2172
-+006040 002540 ZZ2172=ZZ2172+ZZ2172
-+006040 005300 ZZ2172=ZZ2172+ZZ2172
-+006040 012600 ZZ2172=ZZ2172+ZZ2172
-+006040 025400 ZZ2172=ZZ2172+ZZ2172
-+006040 053000 ZZ2172=ZZ2172+ZZ2172
-+006040 126000 ZZ2172=ZZ2172+ZZ2172
-+006040 254000 ZZ2172=ZZ2172+ZZ2172
-+006040 010133 0 8192 -ZZ1172
-+006041 254000 0 ZZ2172
- 006042 2q,
-- mark 5975, 288 /55 ophi
-+006042 001100 ZZ2173=ZZ2173+ZZ2173
-+006042 002200 ZZ2173=ZZ2173+ZZ2173
-+006042 004400 ZZ2173=ZZ2173+ZZ2173
-+006042 011000 ZZ2173=ZZ2173+ZZ2173
-+006042 022000 ZZ2173=ZZ2173+ZZ2173
-+006042 044000 ZZ2173=ZZ2173+ZZ2173
-+006042 110000 ZZ2173=ZZ2173+ZZ2173
-+006042 220000 ZZ2173=ZZ2173+ZZ2173
-+006042 004251 0 8192 -ZZ1173
-+006043 220000 0 ZZ2173
- 006044 3j,
-- mark 46, 333 /88 pegs, algenib
-+006044 001232 ZZ2174=ZZ2174+ZZ2174
-+006044 002464 ZZ2174=ZZ2174+ZZ2174
-+006044 005150 ZZ2174=ZZ2174+ZZ2174
-+006044 012320 ZZ2174=ZZ2174+ZZ2174
-+006044 024640 ZZ2174=ZZ2174+ZZ2174
-+006044 051500 ZZ2174=ZZ2174+ZZ2174
-+006044 123200 ZZ2174=ZZ2174+ZZ2174
-+006044 246400 ZZ2174=ZZ2174+ZZ2174
-+006044 017722 0 8192 -ZZ1174
-+006045 246400 0 ZZ2174
-- mark 362, -244 /31 ceti
-+006046 777026 ZZ2175=ZZ2175+ZZ2175
-+006046 776054 ZZ2175=ZZ2175+ZZ2175
-+006046 774130 ZZ2175=ZZ2175+ZZ2175
-+006046 770260 ZZ2175=ZZ2175+ZZ2175
-+006046 760540 ZZ2175=ZZ2175+ZZ2175
-+006046 741300 ZZ2175=ZZ2175+ZZ2175
-+006046 702600 ZZ2175=ZZ2175+ZZ2175
-+006046 605400 ZZ2175=ZZ2175+ZZ2175
-+006046 017226 0 8192 -ZZ1175
-+006047 605400 0 ZZ2175
-- mark 490, 338 /99 pisc
-+006050 001244 ZZ2176=ZZ2176+ZZ2176
-+006050 002510 ZZ2176=ZZ2176+ZZ2176
-+006050 005220 ZZ2176=ZZ2176+ZZ2176
-+006050 012440 ZZ2176=ZZ2176+ZZ2176
-+006050 025100 ZZ2176=ZZ2176+ZZ2176
-+006050 052200 ZZ2176=ZZ2176+ZZ2176
-+006050 124400 ZZ2176=ZZ2176+ZZ2176
-+006050 251000 ZZ2176=ZZ2176+ZZ2176
-+006050 017026 0 8192 -ZZ1176
-+006051 251000 0 ZZ2176
-- mark 566, -375 /52 ceti
-+006052 776420 ZZ2177=ZZ2177+ZZ2177
-+006052 775040 ZZ2177=ZZ2177+ZZ2177
-+006052 772100 ZZ2177=ZZ2177+ZZ2177
-+006052 764200 ZZ2177=ZZ2177+ZZ2177
-+006052 750400 ZZ2177=ZZ2177+ZZ2177
-+006052 721000 ZZ2177=ZZ2177+ZZ2177
-+006052 642000 ZZ2177=ZZ2177+ZZ2177
-+006052 504000 ZZ2177=ZZ2177+ZZ2177
-+006052 016712 0 8192 -ZZ1177
-+006053 504000 0 ZZ2177
-- mark 621, 462 / 6 arie
-+006054 001634 ZZ2178=ZZ2178+ZZ2178
-+006054 003470 ZZ2178=ZZ2178+ZZ2178
-+006054 007160 ZZ2178=ZZ2178+ZZ2178
-+006054 016340 ZZ2178=ZZ2178+ZZ2178
-+006054 034700 ZZ2178=ZZ2178+ZZ2178
-+006054 071600 ZZ2178=ZZ2178+ZZ2178
-+006054 163400 ZZ2178=ZZ2178+ZZ2178
-+006054 347000 ZZ2178=ZZ2178+ZZ2178
-+006054 016623 0 8192 -ZZ1178
-+006055 347000 0 ZZ2178
-- mark 764, -78 /68 ceti, mira
-+006056 777542 ZZ2179=ZZ2179+ZZ2179
-+006056 777304 ZZ2179=ZZ2179+ZZ2179
-+006056 776610 ZZ2179=ZZ2179+ZZ2179
-+006056 775420 ZZ2179=ZZ2179+ZZ2179
-+006056 773040 ZZ2179=ZZ2179+ZZ2179
-+006056 766100 ZZ2179=ZZ2179+ZZ2179
-+006056 754200 ZZ2179=ZZ2179+ZZ2179
-+006056 730400 ZZ2179=ZZ2179+ZZ2179
-+006056 016404 0 8192 -ZZ1179
-+006057 730400 0 ZZ2179
-- mark 900, 64 /86 ceti
-+006060 000200 ZZ2180=ZZ2180+ZZ2180
-+006060 000400 ZZ2180=ZZ2180+ZZ2180
-+006060 001000 ZZ2180=ZZ2180+ZZ2180
-+006060 002000 ZZ2180=ZZ2180+ZZ2180
-+006060 004000 ZZ2180=ZZ2180+ZZ2180
-+006060 010000 ZZ2180=ZZ2180+ZZ2180
-+006060 020000 ZZ2180=ZZ2180+ZZ2180
-+006060 040000 ZZ2180=ZZ2180+ZZ2180
-+006060 016174 0 8192 -ZZ1180
-+006061 040000 0 ZZ2180
-- mark 1007, 84 /92 ceti
-+006062 000250 ZZ2181=ZZ2181+ZZ2181
-+006062 000520 ZZ2181=ZZ2181+ZZ2181
-+006062 001240 ZZ2181=ZZ2181+ZZ2181
-+006062 002500 ZZ2181=ZZ2181+ZZ2181
-+006062 005200 ZZ2181=ZZ2181+ZZ2181
-+006062 012400 ZZ2181=ZZ2181+ZZ2181
-+006062 025000 ZZ2181=ZZ2181+ZZ2181
-+006062 052000 ZZ2181=ZZ2181+ZZ2181
-+006062 016021 0 8192 -ZZ1181
-+006063 052000 0 ZZ2181
-- mark 1243, -230 /23 erid
-+006064 777062 ZZ2182=ZZ2182+ZZ2182
-+006064 776144 ZZ2182=ZZ2182+ZZ2182
-+006064 774310 ZZ2182=ZZ2182+ZZ2182
-+006064 770620 ZZ2182=ZZ2182+ZZ2182
-+006064 761440 ZZ2182=ZZ2182+ZZ2182
-+006064 743100 ZZ2182=ZZ2182+ZZ2182
-+006064 706200 ZZ2182=ZZ2182+ZZ2182
-+006064 614400 ZZ2182=ZZ2182+ZZ2182
-+006064 015445 0 8192 -ZZ1182
-+006065 614400 0 ZZ2182
-- mark 1328, -314 /34 erid
-+006066 776612 ZZ2183=ZZ2183+ZZ2183
-+006066 775424 ZZ2183=ZZ2183+ZZ2183
-+006066 773050 ZZ2183=ZZ2183+ZZ2183
-+006066 766120 ZZ2183=ZZ2183+ZZ2183
-+006066 754240 ZZ2183=ZZ2183+ZZ2183
-+006066 730500 ZZ2183=ZZ2183+ZZ2183
-+006066 661200 ZZ2183=ZZ2183+ZZ2183
-+006066 542400 ZZ2183=ZZ2183+ZZ2183
-+006066 015320 0 8192 -ZZ1183
-+006067 542400 0 ZZ2183
-- mark 1495, 432 /74 taur
-+006070 001540 ZZ2184=ZZ2184+ZZ2184
-+006070 003300 ZZ2184=ZZ2184+ZZ2184
-+006070 006600 ZZ2184=ZZ2184+ZZ2184
-+006070 015400 ZZ2184=ZZ2184+ZZ2184
-+006070 033000 ZZ2184=ZZ2184+ZZ2184
-+006070 066000 ZZ2184=ZZ2184+ZZ2184
-+006070 154000 ZZ2184=ZZ2184+ZZ2184
-+006070 330000 ZZ2184=ZZ2184+ZZ2184
-+006070 015051 0 8192 -ZZ1184
-+006071 330000 0 ZZ2184
-- mark 1496, 356 /78 taur
-+006072 001310 ZZ2185=ZZ2185+ZZ2185
-+006072 002620 ZZ2185=ZZ2185+ZZ2185
-+006072 005440 ZZ2185=ZZ2185+ZZ2185
-+006072 013100 ZZ2185=ZZ2185+ZZ2185
-+006072 026200 ZZ2185=ZZ2185+ZZ2185
-+006072 054400 ZZ2185=ZZ2185+ZZ2185
-+006072 131000 ZZ2185=ZZ2185+ZZ2185
-+006072 262000 ZZ2185=ZZ2185+ZZ2185
-+006072 015050 0 8192 -ZZ1185
-+006073 262000 0 ZZ2185
-- mark 1618, 154 / 1 orio
-+006074 000464 ZZ2186=ZZ2186+ZZ2186
-+006074 001150 ZZ2186=ZZ2186+ZZ2186
-+006074 002320 ZZ2186=ZZ2186+ZZ2186
-+006074 004640 ZZ2186=ZZ2186+ZZ2186
-+006074 011500 ZZ2186=ZZ2186+ZZ2186
-+006074 023200 ZZ2186=ZZ2186+ZZ2186
-+006074 046400 ZZ2186=ZZ2186+ZZ2186
-+006074 115000 ZZ2186=ZZ2186+ZZ2186
-+006074 014656 0 8192 -ZZ1186
-+006075 115000 0 ZZ2186
-- mark 1644, 52 / 8 orio
-+006076 000150 ZZ2187=ZZ2187+ZZ2187
-+006076 000320 ZZ2187=ZZ2187+ZZ2187
-+006076 000640 ZZ2187=ZZ2187+ZZ2187
-+006076 001500 ZZ2187=ZZ2187+ZZ2187
-+006076 003200 ZZ2187=ZZ2187+ZZ2187
-+006076 006400 ZZ2187=ZZ2187+ZZ2187
-+006076 015000 ZZ2187=ZZ2187+ZZ2187
-+006076 032000 ZZ2187=ZZ2187+ZZ2187
-+006076 014624 0 8192 -ZZ1187
-+006077 032000 0 ZZ2187
-- mark 1723, -119 /67 erid
-+006100 777420 ZZ2188=ZZ2188+ZZ2188
-+006100 777040 ZZ2188=ZZ2188+ZZ2188
-+006100 776100 ZZ2188=ZZ2188+ZZ2188
-+006100 774200 ZZ2188=ZZ2188+ZZ2188
-+006100 770400 ZZ2188=ZZ2188+ZZ2188
-+006100 761000 ZZ2188=ZZ2188+ZZ2188
-+006100 742000 ZZ2188=ZZ2188+ZZ2188
-+006100 704000 ZZ2188=ZZ2188+ZZ2188
-+006100 014505 0 8192 -ZZ1188
-+006101 704000 0 ZZ2188
-- mark 1755, -371 / 5 leps
-+006102 776430 ZZ2189=ZZ2189+ZZ2189
-+006102 775060 ZZ2189=ZZ2189+ZZ2189
-+006102 772140 ZZ2189=ZZ2189+ZZ2189
-+006102 764300 ZZ2189=ZZ2189+ZZ2189
-+006102 750600 ZZ2189=ZZ2189+ZZ2189
-+006102 721400 ZZ2189=ZZ2189+ZZ2189
-+006102 643000 ZZ2189=ZZ2189+ZZ2189
-+006102 506000 ZZ2189=ZZ2189+ZZ2189
-+006102 014445 0 8192 -ZZ1189
-+006103 506000 0 ZZ2189
-- mark 1779, -158 /20 orio
-+006104 777302 ZZ2190=ZZ2190+ZZ2190
-+006104 776604 ZZ2190=ZZ2190+ZZ2190
-+006104 775410 ZZ2190=ZZ2190+ZZ2190
-+006104 773020 ZZ2190=ZZ2190+ZZ2190
-+006104 766040 ZZ2190=ZZ2190+ZZ2190
-+006104 754100 ZZ2190=ZZ2190+ZZ2190
-+006104 730200 ZZ2190=ZZ2190+ZZ2190
-+006104 660400 ZZ2190=ZZ2190+ZZ2190
-+006104 014415 0 8192 -ZZ1190
-+006105 660400 0 ZZ2190
-- mark 1817, -57 /28 orio
-+006106 777614 ZZ2191=ZZ2191+ZZ2191
-+006106 777430 ZZ2191=ZZ2191+ZZ2191
-+006106 777060 ZZ2191=ZZ2191+ZZ2191
-+006106 776140 ZZ2191=ZZ2191+ZZ2191
-+006106 774300 ZZ2191=ZZ2191+ZZ2191
-+006106 770600 ZZ2191=ZZ2191+ZZ2191
-+006106 761400 ZZ2191=ZZ2191+ZZ2191
-+006106 743000 ZZ2191=ZZ2191+ZZ2191
-+006106 014347 0 8192 -ZZ1191
-+006107 743000 0 ZZ2191
-- mark 1843, -474 / 9 leps
-+006110 776112 ZZ2192=ZZ2192+ZZ2192
-+006110 774224 ZZ2192=ZZ2192+ZZ2192
-+006110 770450 ZZ2192=ZZ2192+ZZ2192
-+006110 761120 ZZ2192=ZZ2192+ZZ2192
-+006110 742240 ZZ2192=ZZ2192+ZZ2192
-+006110 704500 ZZ2192=ZZ2192+ZZ2192
-+006110 611200 ZZ2192=ZZ2192+ZZ2192
-+006110 422400 ZZ2192=ZZ2192+ZZ2192
-+006110 014315 0 8192 -ZZ1192
-+006111 422400 0 ZZ2192
-- mark 1860, -8 /34 orio
-+006112 777756 ZZ2193=ZZ2193+ZZ2193
-+006112 777734 ZZ2193=ZZ2193+ZZ2193
-+006112 777670 ZZ2193=ZZ2193+ZZ2193
-+006112 777560 ZZ2193=ZZ2193+ZZ2193
-+006112 777340 ZZ2193=ZZ2193+ZZ2193
-+006112 776700 ZZ2193=ZZ2193+ZZ2193
-+006112 775600 ZZ2193=ZZ2193+ZZ2193
-+006112 773400 ZZ2193=ZZ2193+ZZ2193
-+006112 014274 0 8192 -ZZ1193
-+006113 773400 0 ZZ2193
-- mark 1868, -407 /11 leps
-+006114 776320 ZZ2194=ZZ2194+ZZ2194
-+006114 774640 ZZ2194=ZZ2194+ZZ2194
-+006114 771500 ZZ2194=ZZ2194+ZZ2194
-+006114 763200 ZZ2194=ZZ2194+ZZ2194
-+006114 746400 ZZ2194=ZZ2194+ZZ2194
-+006114 715000 ZZ2194=ZZ2194+ZZ2194
-+006114 632000 ZZ2194=ZZ2194+ZZ2194
-+006114 464000 ZZ2194=ZZ2194+ZZ2194
-+006114 014264 0 8192 -ZZ1194
-+006115 464000 0 ZZ2194
-- mark 1875, 225 /39 orio
-+006116 000702 ZZ2195=ZZ2195+ZZ2195
-+006116 001604 ZZ2195=ZZ2195+ZZ2195
-+006116 003410 ZZ2195=ZZ2195+ZZ2195
-+006116 007020 ZZ2195=ZZ2195+ZZ2195
-+006116 016040 ZZ2195=ZZ2195+ZZ2195
-+006116 034100 ZZ2195=ZZ2195+ZZ2195
-+006116 070200 ZZ2195=ZZ2195+ZZ2195
-+006116 160400 ZZ2195=ZZ2195+ZZ2195
-+006116 014255 0 8192 -ZZ1195
-+006117 160400 0 ZZ2195
-- mark 1880, -136 /44 orio
-+006120 777356 ZZ2196=ZZ2196+ZZ2196
-+006120 776734 ZZ2196=ZZ2196+ZZ2196
-+006120 775670 ZZ2196=ZZ2196+ZZ2196
-+006120 773560 ZZ2196=ZZ2196+ZZ2196
-+006120 767340 ZZ2196=ZZ2196+ZZ2196
-+006120 756700 ZZ2196=ZZ2196+ZZ2196
-+006120 735600 ZZ2196=ZZ2196+ZZ2196
-+006120 673400 ZZ2196=ZZ2196+ZZ2196
-+006120 014250 0 8192 -ZZ1196
-+006121 673400 0 ZZ2196
-- mark 1887, 480 /123 taur
-+006122 001700 ZZ2197=ZZ2197+ZZ2197
-+006122 003600 ZZ2197=ZZ2197+ZZ2197
-+006122 007400 ZZ2197=ZZ2197+ZZ2197
-+006122 017000 ZZ2197=ZZ2197+ZZ2197
-+006122 036000 ZZ2197=ZZ2197+ZZ2197
-+006122 074000 ZZ2197=ZZ2197+ZZ2197
-+006122 170000 ZZ2197=ZZ2197+ZZ2197
-+006122 360000 ZZ2197=ZZ2197+ZZ2197
-+006122 014241 0 8192 -ZZ1197
-+006123 360000 0 ZZ2197
-- mark 1948, -338 /14 leps
-+006124 776532 ZZ2198=ZZ2198+ZZ2198
-+006124 775264 ZZ2198=ZZ2198+ZZ2198
-+006124 772550 ZZ2198=ZZ2198+ZZ2198
-+006124 765320 ZZ2198=ZZ2198+ZZ2198
-+006124 752640 ZZ2198=ZZ2198+ZZ2198
-+006124 725500 ZZ2198=ZZ2198+ZZ2198
-+006124 653200 ZZ2198=ZZ2198+ZZ2198
-+006124 526400 ZZ2198=ZZ2198+ZZ2198
-+006124 014144 0 8192 -ZZ1198
-+006125 526400 0 ZZ2198
-- mark 2274, 296 /31 gemi
-+006126 001120 ZZ2199=ZZ2199+ZZ2199
-+006126 002240 ZZ2199=ZZ2199+ZZ2199
-+006126 004500 ZZ2199=ZZ2199+ZZ2199
-+006126 011200 ZZ2199=ZZ2199+ZZ2199
-+006126 022400 ZZ2199=ZZ2199+ZZ2199
-+006126 045000 ZZ2199=ZZ2199+ZZ2199
-+006126 112000 ZZ2199=ZZ2199+ZZ2199
-+006126 224000 ZZ2199=ZZ2199+ZZ2199
-+006126 013436 0 8192 -ZZ1199
-+006127 224000 0 ZZ2199
-- mark 2460, 380 /54 gemi
-+006130 001370 ZZ2200=ZZ2200+ZZ2200
-+006130 002760 ZZ2200=ZZ2200+ZZ2200
-+006130 005740 ZZ2200=ZZ2200+ZZ2200
-+006130 013700 ZZ2200=ZZ2200+ZZ2200
-+006130 027600 ZZ2200=ZZ2200+ZZ2200
-+006130 057400 ZZ2200=ZZ2200+ZZ2200
-+006130 137000 ZZ2200=ZZ2200+ZZ2200
-+006130 276000 ZZ2200=ZZ2200+ZZ2200
-+006130 013144 0 8192 -ZZ1200
-+006131 276000 0 ZZ2200
-- mark 2470, 504 /55 gemi
-+006132 001760 ZZ2201=ZZ2201+ZZ2201
-+006132 003740 ZZ2201=ZZ2201+ZZ2201
-+006132 007700 ZZ2201=ZZ2201+ZZ2201
-+006132 017600 ZZ2201=ZZ2201+ZZ2201
-+006132 037400 ZZ2201=ZZ2201+ZZ2201
-+006132 077000 ZZ2201=ZZ2201+ZZ2201
-+006132 176000 ZZ2201=ZZ2201+ZZ2201
-+006132 374000 ZZ2201=ZZ2201+ZZ2201
-+006132 013132 0 8192 -ZZ1201
-+006133 374000 0 ZZ2201
-- mark 2513, 193 / 3 cmin
-+006134 000602 ZZ2202=ZZ2202+ZZ2202
-+006134 001404 ZZ2202=ZZ2202+ZZ2202
-+006134 003010 ZZ2202=ZZ2202+ZZ2202
-+006134 006020 ZZ2202=ZZ2202+ZZ2202
-+006134 014040 ZZ2202=ZZ2202+ZZ2202
-+006134 030100 ZZ2202=ZZ2202+ZZ2202
-+006134 060200 ZZ2202=ZZ2202+ZZ2202
-+006134 140400 ZZ2202=ZZ2202+ZZ2202
-+006134 013057 0 8192 -ZZ1202
-+006135 140400 0 ZZ2202
-- mark 2967, 154 /11 hyda
-+006136 000464 ZZ2203=ZZ2203+ZZ2203
-+006136 001150 ZZ2203=ZZ2203+ZZ2203
-+006136 002320 ZZ2203=ZZ2203+ZZ2203
-+006136 004640 ZZ2203=ZZ2203+ZZ2203
-+006136 011500 ZZ2203=ZZ2203+ZZ2203
-+006136 023200 ZZ2203=ZZ2203+ZZ2203
-+006136 046400 ZZ2203=ZZ2203+ZZ2203
-+006136 115000 ZZ2203=ZZ2203+ZZ2203
-+006136 012151 0 8192 -ZZ1203
-+006137 115000 0 ZZ2203
-- mark 3016, 144 /16 hyda
-+006140 000440 ZZ2204=ZZ2204+ZZ2204
-+006140 001100 ZZ2204=ZZ2204+ZZ2204
-+006140 002200 ZZ2204=ZZ2204+ZZ2204
-+006140 004400 ZZ2204=ZZ2204+ZZ2204
-+006140 011000 ZZ2204=ZZ2204+ZZ2204
-+006140 022000 ZZ2204=ZZ2204+ZZ2204
-+006140 044000 ZZ2204=ZZ2204+ZZ2204
-+006140 110000 ZZ2204=ZZ2204+ZZ2204
-+006140 012070 0 8192 -ZZ1204
-+006141 110000 0 ZZ2204
-- mark 3424, 393 /30 leon
-+006142 001422 ZZ2205=ZZ2205+ZZ2205
-+006142 003044 ZZ2205=ZZ2205+ZZ2205
-+006142 006110 ZZ2205=ZZ2205+ZZ2205
-+006142 014220 ZZ2205=ZZ2205+ZZ2205
-+006142 030440 ZZ2205=ZZ2205+ZZ2205
-+006142 061100 ZZ2205=ZZ2205+ZZ2205
-+006142 142200 ZZ2205=ZZ2205+ZZ2205
-+006142 304400 ZZ2205=ZZ2205+ZZ2205
-+006142 011240 0 8192 -ZZ1205
-+006143 304400 0 ZZ2205
-- mark 3496, 463 /41 leon, algieba
-+006144 001636 ZZ2206=ZZ2206+ZZ2206
-+006144 003474 ZZ2206=ZZ2206+ZZ2206
-+006144 007170 ZZ2206=ZZ2206+ZZ2206
-+006144 016360 ZZ2206=ZZ2206+ZZ2206
-+006144 034740 ZZ2206=ZZ2206+ZZ2206
-+006144 071700 ZZ2206=ZZ2206+ZZ2206
-+006144 163600 ZZ2206=ZZ2206+ZZ2206
-+006144 347400 ZZ2206=ZZ2206+ZZ2206
-+006144 011130 0 8192 -ZZ1206
-+006145 347400 0 ZZ2206
-- mark 3668, -357 /nu hyda
-+006146 776464 ZZ2207=ZZ2207+ZZ2207
-+006146 775150 ZZ2207=ZZ2207+ZZ2207
-+006146 772320 ZZ2207=ZZ2207+ZZ2207
-+006146 764640 ZZ2207=ZZ2207+ZZ2207
-+006146 751500 ZZ2207=ZZ2207+ZZ2207
-+006146 723200 ZZ2207=ZZ2207+ZZ2207
-+006146 646400 ZZ2207=ZZ2207+ZZ2207
-+006146 515000 ZZ2207=ZZ2207+ZZ2207
-+006146 010654 0 8192 -ZZ1207
-+006147 515000 0 ZZ2207
-- mark 3805, 479 /68 leon
-+006150 001676 ZZ2208=ZZ2208+ZZ2208
-+006150 003574 ZZ2208=ZZ2208+ZZ2208
-+006150 007370 ZZ2208=ZZ2208+ZZ2208
-+006150 016760 ZZ2208=ZZ2208+ZZ2208
-+006150 035740 ZZ2208=ZZ2208+ZZ2208
-+006150 073700 ZZ2208=ZZ2208+ZZ2208
-+006150 167600 ZZ2208=ZZ2208+ZZ2208
-+006150 357400 ZZ2208=ZZ2208+ZZ2208
-+006150 010443 0 8192 -ZZ1208
-+006151 357400 0 ZZ2208
-- mark 3806, 364 /10 leon
-+006152 001330 ZZ2209=ZZ2209+ZZ2209
-+006152 002660 ZZ2209=ZZ2209+ZZ2209
-+006152 005540 ZZ2209=ZZ2209+ZZ2209
-+006152 013300 ZZ2209=ZZ2209+ZZ2209
-+006152 026600 ZZ2209=ZZ2209+ZZ2209
-+006152 055400 ZZ2209=ZZ2209+ZZ2209
-+006152 133000 ZZ2209=ZZ2209+ZZ2209
-+006152 266000 ZZ2209=ZZ2209+ZZ2209
-+006152 010442 0 8192 -ZZ1209
-+006153 266000 0 ZZ2209
-- mark 4124, -502 / 2 corv
-+006154 776022 ZZ2210=ZZ2210+ZZ2210
-+006154 774044 ZZ2210=ZZ2210+ZZ2210
-+006154 770110 ZZ2210=ZZ2210+ZZ2210
-+006154 760220 ZZ2210=ZZ2210+ZZ2210
-+006154 740440 ZZ2210=ZZ2210+ZZ2210
-+006154 701100 ZZ2210=ZZ2210+ZZ2210
-+006154 602200 ZZ2210=ZZ2210+ZZ2210
-+006154 404400 ZZ2210=ZZ2210+ZZ2210
-+006154 007744 0 8192 -ZZ1210
-+006155 404400 0 ZZ2210
-- mark 4157, -387 / 4 corv
-+006156 776370 ZZ2211=ZZ2211+ZZ2211
-+006156 774760 ZZ2211=ZZ2211+ZZ2211
-+006156 771740 ZZ2211=ZZ2211+ZZ2211
-+006156 763700 ZZ2211=ZZ2211+ZZ2211
-+006156 747600 ZZ2211=ZZ2211+ZZ2211
-+006156 717400 ZZ2211=ZZ2211+ZZ2211
-+006156 637000 ZZ2211=ZZ2211+ZZ2211
-+006156 476000 ZZ2211=ZZ2211+ZZ2211
-+006156 007703 0 8192 -ZZ1211
-+006157 476000 0 ZZ2211
-- mark 4236, -363 / 7 corv
-+006160 776450 ZZ2212=ZZ2212+ZZ2212
-+006160 775120 ZZ2212=ZZ2212+ZZ2212
-+006160 772240 ZZ2212=ZZ2212+ZZ2212
-+006160 764500 ZZ2212=ZZ2212+ZZ2212
-+006160 751200 ZZ2212=ZZ2212+ZZ2212
-+006160 722400 ZZ2212=ZZ2212+ZZ2212
-+006160 645000 ZZ2212=ZZ2212+ZZ2212
-+006160 512000 ZZ2212=ZZ2212+ZZ2212
-+006160 007564 0 8192 -ZZ1212
-+006161 512000 0 ZZ2212
-- mark 4304, -21 /29 virg
-+006162 777724 ZZ2213=ZZ2213+ZZ2213
-+006162 777650 ZZ2213=ZZ2213+ZZ2213
-+006162 777520 ZZ2213=ZZ2213+ZZ2213
-+006162 777240 ZZ2213=ZZ2213+ZZ2213
-+006162 776500 ZZ2213=ZZ2213+ZZ2213
-+006162 775200 ZZ2213=ZZ2213+ZZ2213
-+006162 772400 ZZ2213=ZZ2213+ZZ2213
-+006162 765000 ZZ2213=ZZ2213+ZZ2213
-+006162 007460 0 8192 -ZZ1213
-+006163 765000 0 ZZ2213
-- mark 4384, 90 /43 virg
-+006164 000264 ZZ2214=ZZ2214+ZZ2214
-+006164 000550 ZZ2214=ZZ2214+ZZ2214
-+006164 001320 ZZ2214=ZZ2214+ZZ2214
-+006164 002640 ZZ2214=ZZ2214+ZZ2214
-+006164 005500 ZZ2214=ZZ2214+ZZ2214
-+006164 013200 ZZ2214=ZZ2214+ZZ2214
-+006164 026400 ZZ2214=ZZ2214+ZZ2214
-+006164 055000 ZZ2214=ZZ2214+ZZ2214
-+006164 007340 0 8192 -ZZ1214
-+006165 055000 0 ZZ2214
-- mark 4421, 262 /47 virg
-+006166 001014 ZZ2215=ZZ2215+ZZ2215
-+006166 002030 ZZ2215=ZZ2215+ZZ2215
-+006166 004060 ZZ2215=ZZ2215+ZZ2215
-+006166 010140 ZZ2215=ZZ2215+ZZ2215
-+006166 020300 ZZ2215=ZZ2215+ZZ2215
-+006166 040600 ZZ2215=ZZ2215+ZZ2215
-+006166 101400 ZZ2215=ZZ2215+ZZ2215
-+006166 203000 ZZ2215=ZZ2215+ZZ2215
-+006166 007273 0 8192 -ZZ1215
-+006167 203000 0 ZZ2215
-- mark 4606, -2 /79 virg
-+006170 777772 ZZ2216=ZZ2216+ZZ2216
-+006170 777764 ZZ2216=ZZ2216+ZZ2216
-+006170 777750 ZZ2216=ZZ2216+ZZ2216
-+006170 777720 ZZ2216=ZZ2216+ZZ2216
-+006170 777640 ZZ2216=ZZ2216+ZZ2216
-+006170 777500 ZZ2216=ZZ2216+ZZ2216
-+006170 777200 ZZ2216=ZZ2216+ZZ2216
-+006170 776400 ZZ2216=ZZ2216+ZZ2216
-+006170 007002 0 8192 -ZZ1216
-+006171 776400 0 ZZ2216
-- mark 4721, 430 / 8 boot
-+006172 001534 ZZ2217=ZZ2217+ZZ2217
-+006172 003270 ZZ2217=ZZ2217+ZZ2217
-+006172 006560 ZZ2217=ZZ2217+ZZ2217
-+006172 015340 ZZ2217=ZZ2217+ZZ2217
-+006172 032700 ZZ2217=ZZ2217+ZZ2217
-+006172 065600 ZZ2217=ZZ2217+ZZ2217
-+006172 153400 ZZ2217=ZZ2217+ZZ2217
-+006172 327000 ZZ2217=ZZ2217+ZZ2217
-+006172 006617 0 8192 -ZZ1217
-+006173 327000 0 ZZ2217
-- mark 5037, -356 / 9 libr
-+006174 776466 ZZ2218=ZZ2218+ZZ2218
-+006174 775154 ZZ2218=ZZ2218+ZZ2218
-+006174 772330 ZZ2218=ZZ2218+ZZ2218
-+006174 764660 ZZ2218=ZZ2218+ZZ2218
-+006174 751540 ZZ2218=ZZ2218+ZZ2218
-+006174 723300 ZZ2218=ZZ2218+ZZ2218
-+006174 646600 ZZ2218=ZZ2218+ZZ2218
-+006174 515400 ZZ2218=ZZ2218+ZZ2218
-+006174 006123 0 8192 -ZZ1218
-+006175 515400 0 ZZ2218
-- mark 5186, -205 /27 libr
-+006176 777144 ZZ2219=ZZ2219+ZZ2219
-+006176 776310 ZZ2219=ZZ2219+ZZ2219
-+006176 774620 ZZ2219=ZZ2219+ZZ2219
-+006176 771440 ZZ2219=ZZ2219+ZZ2219
-+006176 763100 ZZ2219=ZZ2219+ZZ2219
-+006176 746200 ZZ2219=ZZ2219+ZZ2219
-+006176 714400 ZZ2219=ZZ2219+ZZ2219
-+006176 631000 ZZ2219=ZZ2219+ZZ2219
-+006176 005676 0 8192 -ZZ1219
-+006177 631000 0 ZZ2219
-- mark 5344, 153 /24 serp
-+006200 000462 ZZ2220=ZZ2220+ZZ2220
-+006200 001144 ZZ2220=ZZ2220+ZZ2220
-+006200 002310 ZZ2220=ZZ2220+ZZ2220
-+006200 004620 ZZ2220=ZZ2220+ZZ2220
-+006200 011440 ZZ2220=ZZ2220+ZZ2220
-+006200 023100 ZZ2220=ZZ2220+ZZ2220
-+006200 046200 ZZ2220=ZZ2220+ZZ2220
-+006200 114400 ZZ2220=ZZ2220+ZZ2220
-+006200 005440 0 8192 -ZZ1220
-+006201 114400 0 ZZ2220
-- mark 5357, 358 /28 serp
-+006202 001314 ZZ2221=ZZ2221+ZZ2221
-+006202 002630 ZZ2221=ZZ2221+ZZ2221
-+006202 005460 ZZ2221=ZZ2221+ZZ2221
-+006202 013140 ZZ2221=ZZ2221+ZZ2221
-+006202 026300 ZZ2221=ZZ2221+ZZ2221
-+006202 054600 ZZ2221=ZZ2221+ZZ2221
-+006202 131400 ZZ2221=ZZ2221+ZZ2221
-+006202 263000 ZZ2221=ZZ2221+ZZ2221
-+006202 005423 0 8192 -ZZ1221
-+006203 263000 0 ZZ2221
-- mark 5373, -71 /32 serp
-+006204 777560 ZZ2222=ZZ2222+ZZ2222
-+006204 777340 ZZ2222=ZZ2222+ZZ2222
-+006204 776700 ZZ2222=ZZ2222+ZZ2222
-+006204 775600 ZZ2222=ZZ2222+ZZ2222
-+006204 773400 ZZ2222=ZZ2222+ZZ2222
-+006204 767000 ZZ2222=ZZ2222+ZZ2222
-+006204 756000 ZZ2222=ZZ2222+ZZ2222
-+006204 734000 ZZ2222=ZZ2222+ZZ2222
-+006204 005403 0 8192 -ZZ1222
-+006205 734000 0 ZZ2222
-- mark 5430, -508 / 7 scor
-+006206 776006 ZZ2223=ZZ2223+ZZ2223
-+006206 774014 ZZ2223=ZZ2223+ZZ2223
-+006206 770030 ZZ2223=ZZ2223+ZZ2223
-+006206 760060 ZZ2223=ZZ2223+ZZ2223
-+006206 740140 ZZ2223=ZZ2223+ZZ2223
-+006206 700300 ZZ2223=ZZ2223+ZZ2223
-+006206 600600 ZZ2223=ZZ2223+ZZ2223
-+006206 401400 ZZ2223=ZZ2223+ZZ2223
-+006206 005312 0 8192 -ZZ1223
-+006207 401400 0 ZZ2223
-- mark 5459, -445 / 8 scor
-+006210 776204 ZZ2224=ZZ2224+ZZ2224
-+006210 774410 ZZ2224=ZZ2224+ZZ2224
-+006210 771020 ZZ2224=ZZ2224+ZZ2224
-+006210 762040 ZZ2224=ZZ2224+ZZ2224
-+006210 744100 ZZ2224=ZZ2224+ZZ2224
-+006210 710200 ZZ2224=ZZ2224+ZZ2224
-+006210 620400 ZZ2224=ZZ2224+ZZ2224
-+006210 441000 ZZ2224=ZZ2224+ZZ2224
-+006210 005255 0 8192 -ZZ1224
-+006211 441000 0 ZZ2224
-- mark 5513, -78 / 1 ophi
-+006212 777542 ZZ2225=ZZ2225+ZZ2225
-+006212 777304 ZZ2225=ZZ2225+ZZ2225
-+006212 776610 ZZ2225=ZZ2225+ZZ2225
-+006212 775420 ZZ2225=ZZ2225+ZZ2225
-+006212 773040 ZZ2225=ZZ2225+ZZ2225
-+006212 766100 ZZ2225=ZZ2225+ZZ2225
-+006212 754200 ZZ2225=ZZ2225+ZZ2225
-+006212 730400 ZZ2225=ZZ2225+ZZ2225
-+006212 005167 0 8192 -ZZ1225
-+006213 730400 0 ZZ2225
-- mark 5536, -101 / 2 ophi
-+006214 777464 ZZ2226=ZZ2226+ZZ2226
-+006214 777150 ZZ2226=ZZ2226+ZZ2226
-+006214 776320 ZZ2226=ZZ2226+ZZ2226
-+006214 774640 ZZ2226=ZZ2226+ZZ2226
-+006214 771500 ZZ2226=ZZ2226+ZZ2226
-+006214 763200 ZZ2226=ZZ2226+ZZ2226
-+006214 746400 ZZ2226=ZZ2226+ZZ2226
-+006214 715000 ZZ2226=ZZ2226+ZZ2226
-+006214 005140 0 8192 -ZZ1226
-+006215 715000 0 ZZ2226
-- mark 5609, 494 /27 herc
-+006216 001734 ZZ2227=ZZ2227+ZZ2227
-+006216 003670 ZZ2227=ZZ2227+ZZ2227
-+006216 007560 ZZ2227=ZZ2227+ZZ2227
-+006216 017340 ZZ2227=ZZ2227+ZZ2227
-+006216 036700 ZZ2227=ZZ2227+ZZ2227
-+006216 075600 ZZ2227=ZZ2227+ZZ2227
-+006216 173400 ZZ2227=ZZ2227+ZZ2227
-+006216 367000 ZZ2227=ZZ2227+ZZ2227
-+006216 005027 0 8192 -ZZ1227
-+006217 367000 0 ZZ2227
-- mark 5641, -236 /13 ophi
-+006220 777046 ZZ2228=ZZ2228+ZZ2228
-+006220 776114 ZZ2228=ZZ2228+ZZ2228
-+006220 774230 ZZ2228=ZZ2228+ZZ2228
-+006220 770460 ZZ2228=ZZ2228+ZZ2228
-+006220 761140 ZZ2228=ZZ2228+ZZ2228
-+006220 742300 ZZ2228=ZZ2228+ZZ2228
-+006220 704600 ZZ2228=ZZ2228+ZZ2228
-+006220 611400 ZZ2228=ZZ2228+ZZ2228
-+006220 004767 0 8192 -ZZ1228
-+006221 611400 0 ZZ2228
-- mark 5828, -355 /35 ophi
-+006222 776470 ZZ2229=ZZ2229+ZZ2229
-+006222 775160 ZZ2229=ZZ2229+ZZ2229
-+006222 772340 ZZ2229=ZZ2229+ZZ2229
-+006222 764700 ZZ2229=ZZ2229+ZZ2229
-+006222 751600 ZZ2229=ZZ2229+ZZ2229
-+006222 723400 ZZ2229=ZZ2229+ZZ2229
-+006222 647000 ZZ2229=ZZ2229+ZZ2229
-+006222 516000 ZZ2229=ZZ2229+ZZ2229
-+006222 004474 0 8192 -ZZ1229
-+006223 516000 0 ZZ2229
-- mark 5860, 330 /64 herc
-+006224 001224 ZZ2230=ZZ2230+ZZ2230
-+006224 002450 ZZ2230=ZZ2230+ZZ2230
-+006224 005120 ZZ2230=ZZ2230+ZZ2230
-+006224 012240 ZZ2230=ZZ2230+ZZ2230
-+006224 024500 ZZ2230=ZZ2230+ZZ2230
-+006224 051200 ZZ2230=ZZ2230+ZZ2230
-+006224 122400 ZZ2230=ZZ2230+ZZ2230
-+006224 245000 ZZ2230=ZZ2230+ZZ2230
-+006224 004434 0 8192 -ZZ1230
-+006225 245000 0 ZZ2230
-- mark 5984, -349 /55 serp
-+006226 776504 ZZ2231=ZZ2231+ZZ2231
-+006226 775210 ZZ2231=ZZ2231+ZZ2231
-+006226 772420 ZZ2231=ZZ2231+ZZ2231
-+006226 765040 ZZ2231=ZZ2231+ZZ2231
-+006226 752100 ZZ2231=ZZ2231+ZZ2231
-+006226 724200 ZZ2231=ZZ2231+ZZ2231
-+006226 650400 ZZ2231=ZZ2231+ZZ2231
-+006226 521000 ZZ2231=ZZ2231+ZZ2231
-+006226 004240 0 8192 -ZZ1231
-+006227 521000 0 ZZ2231
-- mark 6047, 63 /62 ophi
-+006230 000176 ZZ2232=ZZ2232+ZZ2232
-+006230 000374 ZZ2232=ZZ2232+ZZ2232
-+006230 000770 ZZ2232=ZZ2232+ZZ2232
-+006230 001760 ZZ2232=ZZ2232+ZZ2232
-+006230 003740 ZZ2232=ZZ2232+ZZ2232
-+006230 007700 ZZ2232=ZZ2232+ZZ2232
-+006230 017600 ZZ2232=ZZ2232+ZZ2232
-+006230 037400 ZZ2232=ZZ2232+ZZ2232
-+006230 004141 0 8192 -ZZ1232
-+006231 037400 0 ZZ2232
-- mark 6107, -222 /64 ophi
-+006232 777102 ZZ2233=ZZ2233+ZZ2233
-+006232 776204 ZZ2233=ZZ2233+ZZ2233
-+006232 774410 ZZ2233=ZZ2233+ZZ2233
-+006232 771020 ZZ2233=ZZ2233+ZZ2233
-+006232 762040 ZZ2233=ZZ2233+ZZ2233
-+006232 744100 ZZ2233=ZZ2233+ZZ2233
-+006232 710200 ZZ2233=ZZ2233+ZZ2233
-+006232 620400 ZZ2233=ZZ2233+ZZ2233
-+006232 004045 0 8192 -ZZ1233
-+006233 620400 0 ZZ2233
-- mark 6159, 217 /72 ophi
-+006234 000662 ZZ2234=ZZ2234+ZZ2234
-+006234 001544 ZZ2234=ZZ2234+ZZ2234
-+006234 003310 ZZ2234=ZZ2234+ZZ2234
-+006234 006620 ZZ2234=ZZ2234+ZZ2234
-+006234 015440 ZZ2234=ZZ2234+ZZ2234
-+006234 033100 ZZ2234=ZZ2234+ZZ2234
-+006234 066200 ZZ2234=ZZ2234+ZZ2234
-+006234 154400 ZZ2234=ZZ2234+ZZ2234
-+006234 003761 0 8192 -ZZ1234
-+006235 154400 0 ZZ2234
-- mark 6236, -66 /58 serp
-+006236 777572 ZZ2235=ZZ2235+ZZ2235
-+006236 777364 ZZ2235=ZZ2235+ZZ2235
-+006236 776750 ZZ2235=ZZ2235+ZZ2235
-+006236 775720 ZZ2235=ZZ2235+ZZ2235
-+006236 773640 ZZ2235=ZZ2235+ZZ2235
-+006236 767500 ZZ2235=ZZ2235+ZZ2235
-+006236 757200 ZZ2235=ZZ2235+ZZ2235
-+006236 736400 ZZ2235=ZZ2235+ZZ2235
-+006236 003644 0 8192 -ZZ1235
-+006237 736400 0 ZZ2235
-- mark 6439, -483 /37 sgtr
-+006240 776070 ZZ2236=ZZ2236+ZZ2236
-+006240 774160 ZZ2236=ZZ2236+ZZ2236
-+006240 770340 ZZ2236=ZZ2236+ZZ2236
-+006240 760700 ZZ2236=ZZ2236+ZZ2236
-+006240 741600 ZZ2236=ZZ2236+ZZ2236
-+006240 703400 ZZ2236=ZZ2236+ZZ2236
-+006240 607000 ZZ2236=ZZ2236+ZZ2236
-+006240 416000 ZZ2236=ZZ2236+ZZ2236
-+006240 003331 0 8192 -ZZ1236
-+006241 416000 0 ZZ2236
-- mark 6490, 312 /17 aqil
-+006242 001160 ZZ2237=ZZ2237+ZZ2237
-+006242 002340 ZZ2237=ZZ2237+ZZ2237
-+006242 004700 ZZ2237=ZZ2237+ZZ2237
-+006242 011600 ZZ2237=ZZ2237+ZZ2237
-+006242 023400 ZZ2237=ZZ2237+ZZ2237
-+006242 047000 ZZ2237=ZZ2237+ZZ2237
-+006242 116000 ZZ2237=ZZ2237+ZZ2237
-+006242 234000 ZZ2237=ZZ2237+ZZ2237
-+006242 003246 0 8192 -ZZ1237
-+006243 234000 0 ZZ2237
-- mark 6491, -115 /16 aqil
-+006244 777430 ZZ2238=ZZ2238+ZZ2238
-+006244 777060 ZZ2238=ZZ2238+ZZ2238
-+006244 776140 ZZ2238=ZZ2238+ZZ2238
-+006244 774300 ZZ2238=ZZ2238+ZZ2238
-+006244 770600 ZZ2238=ZZ2238+ZZ2238
-+006244 761400 ZZ2238=ZZ2238+ZZ2238
-+006244 743000 ZZ2238=ZZ2238+ZZ2238
-+006244 706000 ZZ2238=ZZ2238+ZZ2238
-+006244 003245 0 8192 -ZZ1238
-+006245 706000 0 ZZ2238
-- mark 6507, -482 /41 sgtr
-+006246 776072 ZZ2239=ZZ2239+ZZ2239
-+006246 774164 ZZ2239=ZZ2239+ZZ2239
-+006246 770350 ZZ2239=ZZ2239+ZZ2239
-+006246 760720 ZZ2239=ZZ2239+ZZ2239
-+006246 741640 ZZ2239=ZZ2239+ZZ2239
-+006246 703500 ZZ2239=ZZ2239+ZZ2239
-+006246 607200 ZZ2239=ZZ2239+ZZ2239
-+006246 416400 ZZ2239=ZZ2239+ZZ2239
-+006246 003225 0 8192 -ZZ1239
-+006247 416400 0 ZZ2239
-- mark 6602, 66 /30 aqil
-+006250 000204 ZZ2240=ZZ2240+ZZ2240
-+006250 000410 ZZ2240=ZZ2240+ZZ2240
-+006250 001020 ZZ2240=ZZ2240+ZZ2240
-+006250 002040 ZZ2240=ZZ2240+ZZ2240
-+006250 004100 ZZ2240=ZZ2240+ZZ2240
-+006250 010200 ZZ2240=ZZ2240+ZZ2240
-+006250 020400 ZZ2240=ZZ2240+ZZ2240
-+006250 041000 ZZ2240=ZZ2240+ZZ2240
-+006250 003066 0 8192 -ZZ1240
-+006251 041000 0 ZZ2240
-- mark 6721, 236 /50 aqil
-+006252 000730 ZZ2241=ZZ2241+ZZ2241
-+006252 001660 ZZ2241=ZZ2241+ZZ2241
-+006252 003540 ZZ2241=ZZ2241+ZZ2241
-+006252 007300 ZZ2241=ZZ2241+ZZ2241
-+006252 016600 ZZ2241=ZZ2241+ZZ2241
-+006252 035400 ZZ2241=ZZ2241+ZZ2241
-+006252 073000 ZZ2241=ZZ2241+ZZ2241
-+006252 166000 ZZ2241=ZZ2241+ZZ2241
-+006252 002677 0 8192 -ZZ1241
-+006253 166000 0 ZZ2241
-- mark 6794, 437 /12 sgte
-+006254 001552 ZZ2242=ZZ2242+ZZ2242
-+006254 003324 ZZ2242=ZZ2242+ZZ2242
-+006254 006650 ZZ2242=ZZ2242+ZZ2242
-+006254 015520 ZZ2242=ZZ2242+ZZ2242
-+006254 033240 ZZ2242=ZZ2242+ZZ2242
-+006254 066500 ZZ2242=ZZ2242+ZZ2242
-+006254 155200 ZZ2242=ZZ2242+ZZ2242
-+006254 332400 ZZ2242=ZZ2242+ZZ2242
-+006254 002566 0 8192 -ZZ1242
-+006255 332400 0 ZZ2242
-- mark 6862, -25 /65 aqil
-+006256 777714 ZZ2243=ZZ2243+ZZ2243
-+006256 777630 ZZ2243=ZZ2243+ZZ2243
-+006256 777460 ZZ2243=ZZ2243+ZZ2243
-+006256 777140 ZZ2243=ZZ2243+ZZ2243
-+006256 776300 ZZ2243=ZZ2243+ZZ2243
-+006256 774600 ZZ2243=ZZ2243+ZZ2243
-+006256 771400 ZZ2243=ZZ2243+ZZ2243
-+006256 763000 ZZ2243=ZZ2243+ZZ2243
-+006256 002462 0 8192 -ZZ1243
-+006257 763000 0 ZZ2243
-- mark 6914, -344 / 9 capr
-+006260 776516 ZZ2244=ZZ2244+ZZ2244
-+006260 775234 ZZ2244=ZZ2244+ZZ2244
-+006260 772470 ZZ2244=ZZ2244+ZZ2244
-+006260 765160 ZZ2244=ZZ2244+ZZ2244
-+006260 752340 ZZ2244=ZZ2244+ZZ2244
-+006260 724700 ZZ2244=ZZ2244+ZZ2244
-+006260 651600 ZZ2244=ZZ2244+ZZ2244
-+006260 523400 ZZ2244=ZZ2244+ZZ2244
-+006260 002376 0 8192 -ZZ1244
-+006261 523400 0 ZZ2244
-- mark 7014, 324 / 6 dlph
-+006262 001210 ZZ2245=ZZ2245+ZZ2245
-+006262 002420 ZZ2245=ZZ2245+ZZ2245
-+006262 005040 ZZ2245=ZZ2245+ZZ2245
-+006262 012100 ZZ2245=ZZ2245+ZZ2245
-+006262 024200 ZZ2245=ZZ2245+ZZ2245
-+006262 050400 ZZ2245=ZZ2245+ZZ2245
-+006262 121000 ZZ2245=ZZ2245+ZZ2245
-+006262 242000 ZZ2245=ZZ2245+ZZ2245
-+006262 002232 0 8192 -ZZ1245
-+006263 242000 0 ZZ2245
-- mark 7318, -137 /22 aqar
-+006264 777354 ZZ2246=ZZ2246+ZZ2246
-+006264 776730 ZZ2246=ZZ2246+ZZ2246
-+006264 775660 ZZ2246=ZZ2246+ZZ2246
-+006264 773540 ZZ2246=ZZ2246+ZZ2246
-+006264 767300 ZZ2246=ZZ2246+ZZ2246
-+006264 756600 ZZ2246=ZZ2246+ZZ2246
-+006264 735400 ZZ2246=ZZ2246+ZZ2246
-+006264 673000 ZZ2246=ZZ2246+ZZ2246
-+006264 001552 0 8192 -ZZ1246
-+006265 673000 0 ZZ2246
-- mark 7391, 214 / 8 pegs
-+006266 000654 ZZ2247=ZZ2247+ZZ2247
-+006266 001530 ZZ2247=ZZ2247+ZZ2247
-+006266 003260 ZZ2247=ZZ2247+ZZ2247
-+006266 006540 ZZ2247=ZZ2247+ZZ2247
-+006266 015300 ZZ2247=ZZ2247+ZZ2247
-+006266 032600 ZZ2247=ZZ2247+ZZ2247
-+006266 065400 ZZ2247=ZZ2247+ZZ2247
-+006266 153000 ZZ2247=ZZ2247+ZZ2247
-+006266 001441 0 8192 -ZZ1247
-+006267 153000 0 ZZ2247
-- mark 7404, -377 /49 capr
-+006270 776414 ZZ2248=ZZ2248+ZZ2248
-+006270 775030 ZZ2248=ZZ2248+ZZ2248
-+006270 772060 ZZ2248=ZZ2248+ZZ2248
-+006270 764140 ZZ2248=ZZ2248+ZZ2248
-+006270 750300 ZZ2248=ZZ2248+ZZ2248
-+006270 720600 ZZ2248=ZZ2248+ZZ2248
-+006270 641400 ZZ2248=ZZ2248+ZZ2248
-+006270 503000 ZZ2248=ZZ2248+ZZ2248
-+006270 001424 0 8192 -ZZ1248
-+006271 503000 0 ZZ2248
-- mark 7513, -18 /34 aqar
-+006272 777732 ZZ2249=ZZ2249+ZZ2249
-+006272 777664 ZZ2249=ZZ2249+ZZ2249
-+006272 777550 ZZ2249=ZZ2249+ZZ2249
-+006272 777320 ZZ2249=ZZ2249+ZZ2249
-+006272 776640 ZZ2249=ZZ2249+ZZ2249
-+006272 775500 ZZ2249=ZZ2249+ZZ2249
-+006272 773200 ZZ2249=ZZ2249+ZZ2249
-+006272 766400 ZZ2249=ZZ2249+ZZ2249
-+006272 001247 0 8192 -ZZ1249
-+006273 766400 0 ZZ2249
-- mark 7539, 130 /26 pegs
-+006274 000404 ZZ2250=ZZ2250+ZZ2250
-+006274 001010 ZZ2250=ZZ2250+ZZ2250
-+006274 002020 ZZ2250=ZZ2250+ZZ2250
-+006274 004040 ZZ2250=ZZ2250+ZZ2250
-+006274 010100 ZZ2250=ZZ2250+ZZ2250
-+006274 020200 ZZ2250=ZZ2250+ZZ2250
-+006274 040400 ZZ2250=ZZ2250+ZZ2250
-+006274 101000 ZZ2250=ZZ2250+ZZ2250
-+006274 001215 0 8192 -ZZ1250
-+006275 101000 0 ZZ2250
-- mark 7644, -12 /55 aqar
-+006276 777746 ZZ2251=ZZ2251+ZZ2251
-+006276 777714 ZZ2251=ZZ2251+ZZ2251
-+006276 777630 ZZ2251=ZZ2251+ZZ2251
-+006276 777460 ZZ2251=ZZ2251+ZZ2251
-+006276 777140 ZZ2251=ZZ2251+ZZ2251
-+006276 776300 ZZ2251=ZZ2251+ZZ2251
-+006276 774600 ZZ2251=ZZ2251+ZZ2251
-+006276 771400 ZZ2251=ZZ2251+ZZ2251
-+006276 001044 0 8192 -ZZ1251
-+006277 771400 0 ZZ2251
-- mark 7717, 235 /42 pegs
-+006300 000726 ZZ2252=ZZ2252+ZZ2252
-+006300 001654 ZZ2252=ZZ2252+ZZ2252
-+006300 003530 ZZ2252=ZZ2252+ZZ2252
-+006300 007260 ZZ2252=ZZ2252+ZZ2252
-+006300 016540 ZZ2252=ZZ2252+ZZ2252
-+006300 035300 ZZ2252=ZZ2252+ZZ2252
-+006300 072600 ZZ2252=ZZ2252+ZZ2252
-+006300 165400 ZZ2252=ZZ2252+ZZ2252
-+006300 000733 0 8192 -ZZ1252
-+006301 165400 0 ZZ2252
-- mark 7790, -372 /76 aqar
-+006302 776426 ZZ2253=ZZ2253+ZZ2253
-+006302 775054 ZZ2253=ZZ2253+ZZ2253
-+006302 772130 ZZ2253=ZZ2253+ZZ2253
-+006302 764260 ZZ2253=ZZ2253+ZZ2253
-+006302 750540 ZZ2253=ZZ2253+ZZ2253
-+006302 721300 ZZ2253=ZZ2253+ZZ2253
-+006302 642600 ZZ2253=ZZ2253+ZZ2253
-+006302 505400 ZZ2253=ZZ2253+ZZ2253
-+006302 000622 0 8192 -ZZ1253
-+006303 505400 0 ZZ2253
- 006304 3q,
-- mark 7849, 334 /54 pegs, markab
-+006304 001234 ZZ2254=ZZ2254+ZZ2254
-+006304 002470 ZZ2254=ZZ2254+ZZ2254
-+006304 005160 ZZ2254=ZZ2254+ZZ2254
-+006304 012340 ZZ2254=ZZ2254+ZZ2254
-+006304 024700 ZZ2254=ZZ2254+ZZ2254
-+006304 051600 ZZ2254=ZZ2254+ZZ2254
-+006304 123400 ZZ2254=ZZ2254+ZZ2254
-+006304 247000 ZZ2254=ZZ2254+ZZ2254
-+006304 000527 0 8192 -ZZ1254
-+006305 247000 0 ZZ2254
- 006306 4j,
-- mark 1, -143 /33 pisc
-+006306 777340 ZZ2255=ZZ2255+ZZ2255
-+006306 776700 ZZ2255=ZZ2255+ZZ2255
-+006306 775600 ZZ2255=ZZ2255+ZZ2255
-+006306 773400 ZZ2255=ZZ2255+ZZ2255
-+006306 767000 ZZ2255=ZZ2255+ZZ2255
-+006306 756000 ZZ2255=ZZ2255+ZZ2255
-+006306 734000 ZZ2255=ZZ2255+ZZ2255
-+006306 670000 ZZ2255=ZZ2255+ZZ2255
-+006306 017777 0 8192 -ZZ1255
-+006307 670000 0 ZZ2255
-- mark 54, 447 /89 pegs
-+006310 001576 ZZ2256=ZZ2256+ZZ2256
-+006310 003374 ZZ2256=ZZ2256+ZZ2256
-+006310 006770 ZZ2256=ZZ2256+ZZ2256
-+006310 015760 ZZ2256=ZZ2256+ZZ2256
-+006310 033740 ZZ2256=ZZ2256+ZZ2256
-+006310 067700 ZZ2256=ZZ2256+ZZ2256
-+006310 157600 ZZ2256=ZZ2256+ZZ2256
-+006310 337400 ZZ2256=ZZ2256+ZZ2256
-+006310 017712 0 8192 -ZZ1256
-+006311 337400 0 ZZ2256
-- mark 54, -443 /7 ceti
-+006312 776210 ZZ2257=ZZ2257+ZZ2257
-+006312 774420 ZZ2257=ZZ2257+ZZ2257
-+006312 771040 ZZ2257=ZZ2257+ZZ2257
-+006312 762100 ZZ2257=ZZ2257+ZZ2257
-+006312 744200 ZZ2257=ZZ2257+ZZ2257
-+006312 710400 ZZ2257=ZZ2257+ZZ2257
-+006312 621000 ZZ2257=ZZ2257+ZZ2257
-+006312 442000 ZZ2257=ZZ2257+ZZ2257
-+006312 017712 0 8192 -ZZ1257
-+006313 442000 0 ZZ2257
-- mark 82, -214 /8 ceti
-+006314 777122 ZZ2258=ZZ2258+ZZ2258
-+006314 776244 ZZ2258=ZZ2258+ZZ2258
-+006314 774510 ZZ2258=ZZ2258+ZZ2258
-+006314 771220 ZZ2258=ZZ2258+ZZ2258
-+006314 762440 ZZ2258=ZZ2258+ZZ2258
-+006314 745100 ZZ2258=ZZ2258+ZZ2258
-+006314 712200 ZZ2258=ZZ2258+ZZ2258
-+006314 624400 ZZ2258=ZZ2258+ZZ2258
-+006314 017656 0 8192 -ZZ1258
-+006315 624400 0 ZZ2258
-- mark 223, -254 /17 ceti
-+006316 777002 ZZ2259=ZZ2259+ZZ2259
-+006316 776004 ZZ2259=ZZ2259+ZZ2259
-+006316 774010 ZZ2259=ZZ2259+ZZ2259
-+006316 770020 ZZ2259=ZZ2259+ZZ2259
-+006316 760040 ZZ2259=ZZ2259+ZZ2259
-+006316 740100 ZZ2259=ZZ2259+ZZ2259
-+006316 700200 ZZ2259=ZZ2259+ZZ2259
-+006316 600400 ZZ2259=ZZ2259+ZZ2259
-+006316 017441 0 8192 -ZZ1259
-+006317 600400 0 ZZ2259
-- mark 248, 160 /63 pisc
-+006320 000500 ZZ2260=ZZ2260+ZZ2260
-+006320 001200 ZZ2260=ZZ2260+ZZ2260
-+006320 002400 ZZ2260=ZZ2260+ZZ2260
-+006320 005000 ZZ2260=ZZ2260+ZZ2260
-+006320 012000 ZZ2260=ZZ2260+ZZ2260
-+006320 024000 ZZ2260=ZZ2260+ZZ2260
-+006320 050000 ZZ2260=ZZ2260+ZZ2260
-+006320 120000 ZZ2260=ZZ2260+ZZ2260
-+006320 017410 0 8192 -ZZ1260
-+006321 120000 0 ZZ2260
-- mark 273, -38 /20 ceti
-+006322 777662 ZZ2261=ZZ2261+ZZ2261
-+006322 777544 ZZ2261=ZZ2261+ZZ2261
-+006322 777310 ZZ2261=ZZ2261+ZZ2261
-+006322 776620 ZZ2261=ZZ2261+ZZ2261
-+006322 775440 ZZ2261=ZZ2261+ZZ2261
-+006322 773100 ZZ2261=ZZ2261+ZZ2261
-+006322 766200 ZZ2261=ZZ2261+ZZ2261
-+006322 754400 ZZ2261=ZZ2261+ZZ2261
-+006322 017357 0 8192 -ZZ1261
-+006323 754400 0 ZZ2261
-- mark 329, 167 /71 pisc
-+006324 000516 ZZ2262=ZZ2262+ZZ2262
-+006324 001234 ZZ2262=ZZ2262+ZZ2262
-+006324 002470 ZZ2262=ZZ2262+ZZ2262
-+006324 005160 ZZ2262=ZZ2262+ZZ2262
-+006324 012340 ZZ2262=ZZ2262+ZZ2262
-+006324 024700 ZZ2262=ZZ2262+ZZ2262
-+006324 051600 ZZ2262=ZZ2262+ZZ2262
-+006324 123400 ZZ2262=ZZ2262+ZZ2262
-+006324 017267 0 8192 -ZZ1262
-+006325 123400 0 ZZ2262
-- mark 376, 467 /84 pisc
-+006326 001646 ZZ2263=ZZ2263+ZZ2263
-+006326 003514 ZZ2263=ZZ2263+ZZ2263
-+006326 007230 ZZ2263=ZZ2263+ZZ2263
-+006326 016460 ZZ2263=ZZ2263+ZZ2263
-+006326 035140 ZZ2263=ZZ2263+ZZ2263
-+006326 072300 ZZ2263=ZZ2263+ZZ2263
-+006326 164600 ZZ2263=ZZ2263+ZZ2263
-+006326 351400 ZZ2263=ZZ2263+ZZ2263
-+006326 017210 0 8192 -ZZ1263
-+006327 351400 0 ZZ2263
-- mark 450, -198 /45 ceti
-+006330 777162 ZZ2264=ZZ2264+ZZ2264
-+006330 776344 ZZ2264=ZZ2264+ZZ2264
-+006330 774710 ZZ2264=ZZ2264+ZZ2264
-+006330 771620 ZZ2264=ZZ2264+ZZ2264
-+006330 763440 ZZ2264=ZZ2264+ZZ2264
-+006330 747100 ZZ2264=ZZ2264+ZZ2264
-+006330 716200 ZZ2264=ZZ2264+ZZ2264
-+006330 634400 ZZ2264=ZZ2264+ZZ2264
-+006330 017076 0 8192 -ZZ1264
-+006331 634400 0 ZZ2264
-- mark 548, 113 /106 pisc
-+006332 000342 ZZ2265=ZZ2265+ZZ2265
-+006332 000704 ZZ2265=ZZ2265+ZZ2265
-+006332 001610 ZZ2265=ZZ2265+ZZ2265
-+006332 003420 ZZ2265=ZZ2265+ZZ2265
-+006332 007040 ZZ2265=ZZ2265+ZZ2265
-+006332 016100 ZZ2265=ZZ2265+ZZ2265
-+006332 034200 ZZ2265=ZZ2265+ZZ2265
-+006332 070400 ZZ2265=ZZ2265+ZZ2265
-+006332 016734 0 8192 -ZZ1265
-+006333 070400 0 ZZ2265
-- mark 570, 197 /110 pisc
-+006334 000612 ZZ2266=ZZ2266+ZZ2266
-+006334 001424 ZZ2266=ZZ2266+ZZ2266
-+006334 003050 ZZ2266=ZZ2266+ZZ2266
-+006334 006120 ZZ2266=ZZ2266+ZZ2266
-+006334 014240 ZZ2266=ZZ2266+ZZ2266
-+006334 030500 ZZ2266=ZZ2266+ZZ2266
-+006334 061200 ZZ2266=ZZ2266+ZZ2266
-+006334 142400 ZZ2266=ZZ2266+ZZ2266
-+006334 016706 0 8192 -ZZ1266
-+006335 142400 0 ZZ2266
-- mark 595, -255 /53 ceti
-+006336 777000 ZZ2267=ZZ2267+ZZ2267
-+006336 776000 ZZ2267=ZZ2267+ZZ2267
-+006336 774000 ZZ2267=ZZ2267+ZZ2267
-+006336 770000 ZZ2267=ZZ2267+ZZ2267
-+006336 760000 ZZ2267=ZZ2267+ZZ2267
-+006336 740000 ZZ2267=ZZ2267+ZZ2267
-+006336 700000 ZZ2267=ZZ2267+ZZ2267
-+006336 600000 ZZ2267=ZZ2267+ZZ2267
-+006336 016655 0 8192 -ZZ1267
-+006337 600000 0 ZZ2267
-- mark 606, -247 /55 ceti
-+006340 777020 ZZ2268=ZZ2268+ZZ2268
-+006340 776040 ZZ2268=ZZ2268+ZZ2268
-+006340 774100 ZZ2268=ZZ2268+ZZ2268
-+006340 770200 ZZ2268=ZZ2268+ZZ2268
-+006340 760400 ZZ2268=ZZ2268+ZZ2268
-+006340 741000 ZZ2268=ZZ2268+ZZ2268
-+006340 702000 ZZ2268=ZZ2268+ZZ2268
-+006340 604000 ZZ2268=ZZ2268+ZZ2268
-+006340 016642 0 8192 -ZZ1268
-+006341 604000 0 ZZ2268
-- mark 615, 428 / 5 arie
-+006342 001530 ZZ2269=ZZ2269+ZZ2269
-+006342 003260 ZZ2269=ZZ2269+ZZ2269
-+006342 006540 ZZ2269=ZZ2269+ZZ2269
-+006342 015300 ZZ2269=ZZ2269+ZZ2269
-+006342 032600 ZZ2269=ZZ2269+ZZ2269
-+006342 065400 ZZ2269=ZZ2269+ZZ2269
-+006342 153000 ZZ2269=ZZ2269+ZZ2269
-+006342 326000 ZZ2269=ZZ2269+ZZ2269
-+006342 016631 0 8192 -ZZ1269
-+006343 326000 0 ZZ2269
-- mark 617, 61 /14 pisc
-+006344 000172 ZZ2270=ZZ2270+ZZ2270
-+006344 000364 ZZ2270=ZZ2270+ZZ2270
-+006344 000750 ZZ2270=ZZ2270+ZZ2270
-+006344 001720 ZZ2270=ZZ2270+ZZ2270
-+006344 003640 ZZ2270=ZZ2270+ZZ2270
-+006344 007500 ZZ2270=ZZ2270+ZZ2270
-+006344 017200 ZZ2270=ZZ2270+ZZ2270
-+006344 036400 ZZ2270=ZZ2270+ZZ2270
-+006344 016627 0 8192 -ZZ1270
-+006345 036400 0 ZZ2270
-- mark 656, -491 /59 ceti
-+006346 776050 ZZ2271=ZZ2271+ZZ2271
-+006346 774120 ZZ2271=ZZ2271+ZZ2271
-+006346 770240 ZZ2271=ZZ2271+ZZ2271
-+006346 760500 ZZ2271=ZZ2271+ZZ2271
-+006346 741200 ZZ2271=ZZ2271+ZZ2271
-+006346 702400 ZZ2271=ZZ2271+ZZ2271
-+006346 605000 ZZ2271=ZZ2271+ZZ2271
-+006346 412000 ZZ2271=ZZ2271+ZZ2271
-+006346 016560 0 8192 -ZZ1271
-+006347 412000 0 ZZ2271
-- mark 665, 52 /113 pisc
-+006350 000150 ZZ2272=ZZ2272+ZZ2272
-+006350 000320 ZZ2272=ZZ2272+ZZ2272
-+006350 000640 ZZ2272=ZZ2272+ZZ2272
-+006350 001500 ZZ2272=ZZ2272+ZZ2272
-+006350 003200 ZZ2272=ZZ2272+ZZ2272
-+006350 006400 ZZ2272=ZZ2272+ZZ2272
-+006350 015000 ZZ2272=ZZ2272+ZZ2272
-+006350 032000 ZZ2272=ZZ2272+ZZ2272
-+006350 016547 0 8192 -ZZ1272
-+006351 032000 0 ZZ2272
-- mark 727, 191 /65 ceti
-+006352 000576 ZZ2273=ZZ2273+ZZ2273
-+006352 001374 ZZ2273=ZZ2273+ZZ2273
-+006352 002770 ZZ2273=ZZ2273+ZZ2273
-+006352 005760 ZZ2273=ZZ2273+ZZ2273
-+006352 013740 ZZ2273=ZZ2273+ZZ2273
-+006352 027700 ZZ2273=ZZ2273+ZZ2273
-+006352 057600 ZZ2273=ZZ2273+ZZ2273
-+006352 137400 ZZ2273=ZZ2273+ZZ2273
-+006352 016451 0 8192 -ZZ1273
-+006353 137400 0 ZZ2273
-- mark 803, -290 /72 ceti
-+006354 776672 ZZ2274=ZZ2274+ZZ2274
-+006354 775564 ZZ2274=ZZ2274+ZZ2274
-+006354 773350 ZZ2274=ZZ2274+ZZ2274
-+006354 766720 ZZ2274=ZZ2274+ZZ2274
-+006354 755640 ZZ2274=ZZ2274+ZZ2274
-+006354 733500 ZZ2274=ZZ2274+ZZ2274
-+006354 667200 ZZ2274=ZZ2274+ZZ2274
-+006354 556400 ZZ2274=ZZ2274+ZZ2274
-+006354 016335 0 8192 -ZZ1274
-+006355 556400 0 ZZ2274
-- mark 813, 182 /73 ceti
-+006356 000554 ZZ2275=ZZ2275+ZZ2275
-+006356 001330 ZZ2275=ZZ2275+ZZ2275
-+006356 002660 ZZ2275=ZZ2275+ZZ2275
-+006356 005540 ZZ2275=ZZ2275+ZZ2275
-+006356 013300 ZZ2275=ZZ2275+ZZ2275
-+006356 026600 ZZ2275=ZZ2275+ZZ2275
-+006356 055400 ZZ2275=ZZ2275+ZZ2275
-+006356 133000 ZZ2275=ZZ2275+ZZ2275
-+006356 016323 0 8192 -ZZ1275
-+006357 133000 0 ZZ2275
-- mark 838, -357 /76 ceti
-+006360 776464 ZZ2276=ZZ2276+ZZ2276
-+006360 775150 ZZ2276=ZZ2276+ZZ2276
-+006360 772320 ZZ2276=ZZ2276+ZZ2276
-+006360 764640 ZZ2276=ZZ2276+ZZ2276
-+006360 751500 ZZ2276=ZZ2276+ZZ2276
-+006360 723200 ZZ2276=ZZ2276+ZZ2276
-+006360 646400 ZZ2276=ZZ2276+ZZ2276
-+006360 515000 ZZ2276=ZZ2276+ZZ2276
-+006360 016272 0 8192 -ZZ1276
-+006361 515000 0 ZZ2276
-- mark 878, -2 /82 ceti
-+006362 777772 ZZ2277=ZZ2277+ZZ2277
-+006362 777764 ZZ2277=ZZ2277+ZZ2277
-+006362 777750 ZZ2277=ZZ2277+ZZ2277
-+006362 777720 ZZ2277=ZZ2277+ZZ2277
-+006362 777640 ZZ2277=ZZ2277+ZZ2277
-+006362 777500 ZZ2277=ZZ2277+ZZ2277
-+006362 777200 ZZ2277=ZZ2277+ZZ2277
-+006362 776400 ZZ2277=ZZ2277+ZZ2277
-+006362 016222 0 8192 -ZZ1277
-+006363 776400 0 ZZ2277
-- mark 907, -340 /89 ceti
-+006364 776526 ZZ2278=ZZ2278+ZZ2278
-+006364 775254 ZZ2278=ZZ2278+ZZ2278
-+006364 772530 ZZ2278=ZZ2278+ZZ2278
-+006364 765260 ZZ2278=ZZ2278+ZZ2278
-+006364 752540 ZZ2278=ZZ2278+ZZ2278
-+006364 725300 ZZ2278=ZZ2278+ZZ2278
-+006364 652600 ZZ2278=ZZ2278+ZZ2278
-+006364 525400 ZZ2278=ZZ2278+ZZ2278
-+006364 016165 0 8192 -ZZ1278
-+006365 525400 0 ZZ2278
-- mark 908, 221 /87 ceti
-+006366 000672 ZZ2279=ZZ2279+ZZ2279
-+006366 001564 ZZ2279=ZZ2279+ZZ2279
-+006366 003350 ZZ2279=ZZ2279+ZZ2279
-+006366 006720 ZZ2279=ZZ2279+ZZ2279
-+006366 015640 ZZ2279=ZZ2279+ZZ2279
-+006366 033500 ZZ2279=ZZ2279+ZZ2279
-+006366 067200 ZZ2279=ZZ2279+ZZ2279
-+006366 156400 ZZ2279=ZZ2279+ZZ2279
-+006366 016164 0 8192 -ZZ1279
-+006367 156400 0 ZZ2279
-- mark 913, -432 / 1 erid
-+006370 776236 ZZ2280=ZZ2280+ZZ2280
-+006370 774474 ZZ2280=ZZ2280+ZZ2280
-+006370 771170 ZZ2280=ZZ2280+ZZ2280
-+006370 762360 ZZ2280=ZZ2280+ZZ2280
-+006370 744740 ZZ2280=ZZ2280+ZZ2280
-+006370 711700 ZZ2280=ZZ2280+ZZ2280
-+006370 623600 ZZ2280=ZZ2280+ZZ2280
-+006370 447400 ZZ2280=ZZ2280+ZZ2280
-+006370 016157 0 8192 -ZZ1280
-+006371 447400 0 ZZ2280
-- mark 947, -487 / 2 erid
-+006372 776060 ZZ2281=ZZ2281+ZZ2281
-+006372 774140 ZZ2281=ZZ2281+ZZ2281
-+006372 770300 ZZ2281=ZZ2281+ZZ2281
-+006372 760600 ZZ2281=ZZ2281+ZZ2281
-+006372 741400 ZZ2281=ZZ2281+ZZ2281
-+006372 703000 ZZ2281=ZZ2281+ZZ2281
-+006372 606000 ZZ2281=ZZ2281+ZZ2281
-+006372 414000 ZZ2281=ZZ2281+ZZ2281
-+006372 016115 0 8192 -ZZ1281
-+006373 414000 0 ZZ2281
-- mark 976, -212 / 3 erid
-+006374 777126 ZZ2282=ZZ2282+ZZ2282
-+006374 776254 ZZ2282=ZZ2282+ZZ2282
-+006374 774530 ZZ2282=ZZ2282+ZZ2282
-+006374 771260 ZZ2282=ZZ2282+ZZ2282
-+006374 762540 ZZ2282=ZZ2282+ZZ2282
-+006374 745300 ZZ2282=ZZ2282+ZZ2282
-+006374 712600 ZZ2282=ZZ2282+ZZ2282
-+006374 625400 ZZ2282=ZZ2282+ZZ2282
-+006374 016060 0 8192 -ZZ1282
-+006375 625400 0 ZZ2282
-- mark 992, 194 /91 ceti
-+006376 000604 ZZ2283=ZZ2283+ZZ2283
-+006376 001410 ZZ2283=ZZ2283+ZZ2283
-+006376 003020 ZZ2283=ZZ2283+ZZ2283
-+006376 006040 ZZ2283=ZZ2283+ZZ2283
-+006376 014100 ZZ2283=ZZ2283+ZZ2283
-+006376 030200 ZZ2283=ZZ2283+ZZ2283
-+006376 060400 ZZ2283=ZZ2283+ZZ2283
-+006376 141000 ZZ2283=ZZ2283+ZZ2283
-+006376 016040 0 8192 -ZZ1283
-+006377 141000 0 ZZ2283
-- mark 1058, 440 /57 arie
-+006400 001560 ZZ2284=ZZ2284+ZZ2284
-+006400 003340 ZZ2284=ZZ2284+ZZ2284
-+006400 006700 ZZ2284=ZZ2284+ZZ2284
-+006400 015600 ZZ2284=ZZ2284+ZZ2284
-+006400 033400 ZZ2284=ZZ2284+ZZ2284
-+006400 067000 ZZ2284=ZZ2284+ZZ2284
-+006400 156000 ZZ2284=ZZ2284+ZZ2284
-+006400 334000 ZZ2284=ZZ2284+ZZ2284
-+006400 015736 0 8192 -ZZ1284
-+006401 334000 0 ZZ2284
-- mark 1076, 470 /58 arie
-+006402 001654 ZZ2285=ZZ2285+ZZ2285
-+006402 003530 ZZ2285=ZZ2285+ZZ2285
-+006402 007260 ZZ2285=ZZ2285+ZZ2285
-+006402 016540 ZZ2285=ZZ2285+ZZ2285
-+006402 035300 ZZ2285=ZZ2285+ZZ2285
-+006402 072600 ZZ2285=ZZ2285+ZZ2285
-+006402 165400 ZZ2285=ZZ2285+ZZ2285
-+006402 353000 ZZ2285=ZZ2285+ZZ2285
-+006402 015714 0 8192 -ZZ1285
-+006403 353000 0 ZZ2285
-- mark 1087, -209 /13 erid
-+006404 777134 ZZ2286=ZZ2286+ZZ2286
-+006404 776270 ZZ2286=ZZ2286+ZZ2286
-+006404 774560 ZZ2286=ZZ2286+ZZ2286
-+006404 771340 ZZ2286=ZZ2286+ZZ2286
-+006404 762700 ZZ2286=ZZ2286+ZZ2286
-+006404 745600 ZZ2286=ZZ2286+ZZ2286
-+006404 713400 ZZ2286=ZZ2286+ZZ2286
-+006404 627000 ZZ2286=ZZ2286+ZZ2286
-+006404 015701 0 8192 -ZZ1286
-+006405 627000 0 ZZ2286
-- mark 1104, 68 /96 ceti
-+006406 000210 ZZ2287=ZZ2287+ZZ2287
-+006406 000420 ZZ2287=ZZ2287+ZZ2287
-+006406 001040 ZZ2287=ZZ2287+ZZ2287
-+006406 002100 ZZ2287=ZZ2287+ZZ2287
-+006406 004200 ZZ2287=ZZ2287+ZZ2287
-+006406 010400 ZZ2287=ZZ2287+ZZ2287
-+006406 021000 ZZ2287=ZZ2287+ZZ2287
-+006406 042000 ZZ2287=ZZ2287+ZZ2287
-+006406 015660 0 8192 -ZZ1287
-+006407 042000 0 ZZ2287
-- mark 1110, -503 /16 erid
-+006410 776020 ZZ2288=ZZ2288+ZZ2288
-+006410 774040 ZZ2288=ZZ2288+ZZ2288
-+006410 770100 ZZ2288=ZZ2288+ZZ2288
-+006410 760200 ZZ2288=ZZ2288+ZZ2288
-+006410 740400 ZZ2288=ZZ2288+ZZ2288
-+006410 701000 ZZ2288=ZZ2288+ZZ2288
-+006410 602000 ZZ2288=ZZ2288+ZZ2288
-+006410 404000 ZZ2288=ZZ2288+ZZ2288
-+006410 015652 0 8192 -ZZ1288
-+006411 404000 0 ZZ2288
-- mark 1135, 198 / 1 taur
-+006412 000614 ZZ2289=ZZ2289+ZZ2289
-+006412 001430 ZZ2289=ZZ2289+ZZ2289
-+006412 003060 ZZ2289=ZZ2289+ZZ2289
-+006412 006140 ZZ2289=ZZ2289+ZZ2289
-+006412 014300 ZZ2289=ZZ2289+ZZ2289
-+006412 030600 ZZ2289=ZZ2289+ZZ2289
-+006412 061400 ZZ2289=ZZ2289+ZZ2289
-+006412 143000 ZZ2289=ZZ2289+ZZ2289
-+006412 015621 0 8192 -ZZ1289
-+006413 143000 0 ZZ2289
-- mark 1148, 214 / 2 taur
-+006414 000654 ZZ2290=ZZ2290+ZZ2290
-+006414 001530 ZZ2290=ZZ2290+ZZ2290
-+006414 003260 ZZ2290=ZZ2290+ZZ2290
-+006414 006540 ZZ2290=ZZ2290+ZZ2290
-+006414 015300 ZZ2290=ZZ2290+ZZ2290
-+006414 032600 ZZ2290=ZZ2290+ZZ2290
-+006414 065400 ZZ2290=ZZ2290+ZZ2290
-+006414 153000 ZZ2290=ZZ2290+ZZ2290
-+006414 015604 0 8192 -ZZ1290
-+006415 153000 0 ZZ2290
-- mark 1168, 287 / 5 taur
-+006416 001076 ZZ2291=ZZ2291+ZZ2291
-+006416 002174 ZZ2291=ZZ2291+ZZ2291
-+006416 004370 ZZ2291=ZZ2291+ZZ2291
-+006416 010760 ZZ2291=ZZ2291+ZZ2291
-+006416 021740 ZZ2291=ZZ2291+ZZ2291
-+006416 043700 ZZ2291=ZZ2291+ZZ2291
-+006416 107600 ZZ2291=ZZ2291+ZZ2291
-+006416 217400 ZZ2291=ZZ2291+ZZ2291
-+006416 015560 0 8192 -ZZ1291
-+006417 217400 0 ZZ2291
-- mark 1170, -123 /17 erid
-+006420 777410 ZZ2292=ZZ2292+ZZ2292
-+006420 777020 ZZ2292=ZZ2292+ZZ2292
-+006420 776040 ZZ2292=ZZ2292+ZZ2292
-+006420 774100 ZZ2292=ZZ2292+ZZ2292
-+006420 770200 ZZ2292=ZZ2292+ZZ2292
-+006420 760400 ZZ2292=ZZ2292+ZZ2292
-+006420 741000 ZZ2292=ZZ2292+ZZ2292
-+006420 702000 ZZ2292=ZZ2292+ZZ2292
-+006420 015556 0 8192 -ZZ1292
-+006421 702000 0 ZZ2292
-- mark 1185, -223 /18 erid
-+006422 777100 ZZ2293=ZZ2293+ZZ2293
-+006422 776200 ZZ2293=ZZ2293+ZZ2293
-+006422 774400 ZZ2293=ZZ2293+ZZ2293
-+006422 771000 ZZ2293=ZZ2293+ZZ2293
-+006422 762000 ZZ2293=ZZ2293+ZZ2293
-+006422 744000 ZZ2293=ZZ2293+ZZ2293
-+006422 710000 ZZ2293=ZZ2293+ZZ2293
-+006422 620000 ZZ2293=ZZ2293+ZZ2293
-+006422 015537 0 8192 -ZZ1293
-+006423 620000 0 ZZ2293
-- mark 1191, -500 /19 erid
-+006424 776026 ZZ2294=ZZ2294+ZZ2294
-+006424 774054 ZZ2294=ZZ2294+ZZ2294
-+006424 770130 ZZ2294=ZZ2294+ZZ2294
-+006424 760260 ZZ2294=ZZ2294+ZZ2294
-+006424 740540 ZZ2294=ZZ2294+ZZ2294
-+006424 701300 ZZ2294=ZZ2294+ZZ2294
-+006424 602600 ZZ2294=ZZ2294+ZZ2294
-+006424 405400 ZZ2294=ZZ2294+ZZ2294
-+006424 015531 0 8192 -ZZ1294
-+006425 405400 0 ZZ2294
-- mark 1205, 2 /10 taur
-+006426 000004 ZZ2295=ZZ2295+ZZ2295
-+006426 000010 ZZ2295=ZZ2295+ZZ2295
-+006426 000020 ZZ2295=ZZ2295+ZZ2295
-+006426 000040 ZZ2295=ZZ2295+ZZ2295
-+006426 000100 ZZ2295=ZZ2295+ZZ2295
-+006426 000200 ZZ2295=ZZ2295+ZZ2295
-+006426 000400 ZZ2295=ZZ2295+ZZ2295
-+006426 001000 ZZ2295=ZZ2295+ZZ2295
-+006426 015513 0 8192 -ZZ1295
-+006427 001000 0 ZZ2295
-- mark 1260, -283 /26 erid
-+006430 776710 ZZ2296=ZZ2296+ZZ2296
-+006430 775620 ZZ2296=ZZ2296+ZZ2296
-+006430 773440 ZZ2296=ZZ2296+ZZ2296
-+006430 767100 ZZ2296=ZZ2296+ZZ2296
-+006430 756200 ZZ2296=ZZ2296+ZZ2296
-+006430 734400 ZZ2296=ZZ2296+ZZ2296
-+006430 671000 ZZ2296=ZZ2296+ZZ2296
-+006430 562000 ZZ2296=ZZ2296+ZZ2296
-+006430 015424 0 8192 -ZZ1296
-+006431 562000 0 ZZ2296
-- mark 1304, -74 /32 erid
-+006432 777552 ZZ2297=ZZ2297+ZZ2297
-+006432 777324 ZZ2297=ZZ2297+ZZ2297
-+006432 776650 ZZ2297=ZZ2297+ZZ2297
-+006432 775520 ZZ2297=ZZ2297+ZZ2297
-+006432 773240 ZZ2297=ZZ2297+ZZ2297
-+006432 766500 ZZ2297=ZZ2297+ZZ2297
-+006432 755200 ZZ2297=ZZ2297+ZZ2297
-+006432 732400 ZZ2297=ZZ2297+ZZ2297
-+006432 015350 0 8192 -ZZ1297
-+006433 732400 0 ZZ2297
-- mark 1338, 278 /35 taur
-+006434 001054 ZZ2298=ZZ2298+ZZ2298
-+006434 002130 ZZ2298=ZZ2298+ZZ2298
-+006434 004260 ZZ2298=ZZ2298+ZZ2298
-+006434 010540 ZZ2298=ZZ2298+ZZ2298
-+006434 021300 ZZ2298=ZZ2298+ZZ2298
-+006434 042600 ZZ2298=ZZ2298+ZZ2298
-+006434 105400 ZZ2298=ZZ2298+ZZ2298
-+006434 213000 ZZ2298=ZZ2298+ZZ2298
-+006434 015306 0 8192 -ZZ1298
-+006435 213000 0 ZZ2298
-- mark 1353, 130 /38 taur
-+006436 000404 ZZ2299=ZZ2299+ZZ2299
-+006436 001010 ZZ2299=ZZ2299+ZZ2299
-+006436 002020 ZZ2299=ZZ2299+ZZ2299
-+006436 004040 ZZ2299=ZZ2299+ZZ2299
-+006436 010100 ZZ2299=ZZ2299+ZZ2299
-+006436 020200 ZZ2299=ZZ2299+ZZ2299
-+006436 040400 ZZ2299=ZZ2299+ZZ2299
-+006436 101000 ZZ2299=ZZ2299+ZZ2299
-+006436 015267 0 8192 -ZZ1299
-+006437 101000 0 ZZ2299
-- mark 1358, 497 /37 taur
-+006440 001742 ZZ2300=ZZ2300+ZZ2300
-+006440 003704 ZZ2300=ZZ2300+ZZ2300
-+006440 007610 ZZ2300=ZZ2300+ZZ2300
-+006440 017420 ZZ2300=ZZ2300+ZZ2300
-+006440 037040 ZZ2300=ZZ2300+ZZ2300
-+006440 076100 ZZ2300=ZZ2300+ZZ2300
-+006440 174200 ZZ2300=ZZ2300+ZZ2300
-+006440 370400 ZZ2300=ZZ2300+ZZ2300
-+006440 015262 0 8192 -ZZ1300
-+006441 370400 0 ZZ2300
-- mark 1405, -162 /38 erid
-+006442 777272 ZZ2301=ZZ2301+ZZ2301
-+006442 776564 ZZ2301=ZZ2301+ZZ2301
-+006442 775350 ZZ2301=ZZ2301+ZZ2301
-+006442 772720 ZZ2301=ZZ2301+ZZ2301
-+006442 765640 ZZ2301=ZZ2301+ZZ2301
-+006442 753500 ZZ2301=ZZ2301+ZZ2301
-+006442 727200 ZZ2301=ZZ2301+ZZ2301
-+006442 656400 ZZ2301=ZZ2301+ZZ2301
-+006442 015203 0 8192 -ZZ1301
-+006443 656400 0 ZZ2301
-- mark 1414, 205 /47 taur
-+006444 000632 ZZ2302=ZZ2302+ZZ2302
-+006444 001464 ZZ2302=ZZ2302+ZZ2302
-+006444 003150 ZZ2302=ZZ2302+ZZ2302
-+006444 006320 ZZ2302=ZZ2302+ZZ2302
-+006444 014640 ZZ2302=ZZ2302+ZZ2302
-+006444 031500 ZZ2302=ZZ2302+ZZ2302
-+006444 063200 ZZ2302=ZZ2302+ZZ2302
-+006444 146400 ZZ2302=ZZ2302+ZZ2302
-+006444 015172 0 8192 -ZZ1302
-+006445 146400 0 ZZ2302
-- mark 1423, 197 /49 taur
-+006446 000612 ZZ2303=ZZ2303+ZZ2303
-+006446 001424 ZZ2303=ZZ2303+ZZ2303
-+006446 003050 ZZ2303=ZZ2303+ZZ2303
-+006446 006120 ZZ2303=ZZ2303+ZZ2303
-+006446 014240 ZZ2303=ZZ2303+ZZ2303
-+006446 030500 ZZ2303=ZZ2303+ZZ2303
-+006446 061200 ZZ2303=ZZ2303+ZZ2303
-+006446 142400 ZZ2303=ZZ2303+ZZ2303
-+006446 015161 0 8192 -ZZ1303
-+006447 142400 0 ZZ2303
-- mark 1426, -178 /40 erid
-+006450 777232 ZZ2304=ZZ2304+ZZ2304
-+006450 776464 ZZ2304=ZZ2304+ZZ2304
-+006450 775150 ZZ2304=ZZ2304+ZZ2304
-+006450 772320 ZZ2304=ZZ2304+ZZ2304
-+006450 764640 ZZ2304=ZZ2304+ZZ2304
-+006450 751500 ZZ2304=ZZ2304+ZZ2304
-+006450 723200 ZZ2304=ZZ2304+ZZ2304
-+006450 646400 ZZ2304=ZZ2304+ZZ2304
-+006450 015156 0 8192 -ZZ1304
-+006451 646400 0 ZZ2304
-- mark 1430, 463 /50 taur
-+006452 001636 ZZ2305=ZZ2305+ZZ2305
-+006452 003474 ZZ2305=ZZ2305+ZZ2305
-+006452 007170 ZZ2305=ZZ2305+ZZ2305
-+006452 016360 ZZ2305=ZZ2305+ZZ2305
-+006452 034740 ZZ2305=ZZ2305+ZZ2305
-+006452 071700 ZZ2305=ZZ2305+ZZ2305
-+006452 163600 ZZ2305=ZZ2305+ZZ2305
-+006452 347400 ZZ2305=ZZ2305+ZZ2305
-+006452 015152 0 8192 -ZZ1305
-+006453 347400 0 ZZ2305
-- mark 1446, 350 /54 taur
-+006454 001274 ZZ2306=ZZ2306+ZZ2306
-+006454 002570 ZZ2306=ZZ2306+ZZ2306
-+006454 005360 ZZ2306=ZZ2306+ZZ2306
-+006454 012740 ZZ2306=ZZ2306+ZZ2306
-+006454 025700 ZZ2306=ZZ2306+ZZ2306
-+006454 053600 ZZ2306=ZZ2306+ZZ2306
-+006454 127400 ZZ2306=ZZ2306+ZZ2306
-+006454 257000 ZZ2306=ZZ2306+ZZ2306
-+006454 015132 0 8192 -ZZ1306
-+006455 257000 0 ZZ2306
-- mark 1463, 394 /61 taur
-+006456 001424 ZZ2307=ZZ2307+ZZ2307
-+006456 003050 ZZ2307=ZZ2307+ZZ2307
-+006456 006120 ZZ2307=ZZ2307+ZZ2307
-+006456 014240 ZZ2307=ZZ2307+ZZ2307
-+006456 030500 ZZ2307=ZZ2307+ZZ2307
-+006456 061200 ZZ2307=ZZ2307+ZZ2307
-+006456 142400 ZZ2307=ZZ2307+ZZ2307
-+006456 305000 ZZ2307=ZZ2307+ZZ2307
-+006456 015111 0 8192 -ZZ1307
-+006457 305000 0 ZZ2307
-- mark 1470, 392 /64 taur
-+006460 001420 ZZ2308=ZZ2308+ZZ2308
-+006460 003040 ZZ2308=ZZ2308+ZZ2308
-+006460 006100 ZZ2308=ZZ2308+ZZ2308
-+006460 014200 ZZ2308=ZZ2308+ZZ2308
-+006460 030400 ZZ2308=ZZ2308+ZZ2308
-+006460 061000 ZZ2308=ZZ2308+ZZ2308
-+006460 142000 ZZ2308=ZZ2308+ZZ2308
-+006460 304000 ZZ2308=ZZ2308+ZZ2308
-+006460 015102 0 8192 -ZZ1308
-+006461 304000 0 ZZ2308
-- mark 1476, 502 /65 taur
-+006462 001754 ZZ2309=ZZ2309+ZZ2309
-+006462 003730 ZZ2309=ZZ2309+ZZ2309
-+006462 007660 ZZ2309=ZZ2309+ZZ2309
-+006462 017540 ZZ2309=ZZ2309+ZZ2309
-+006462 037300 ZZ2309=ZZ2309+ZZ2309
-+006462 076600 ZZ2309=ZZ2309+ZZ2309
-+006462 175400 ZZ2309=ZZ2309+ZZ2309
-+006462 373000 ZZ2309=ZZ2309+ZZ2309
-+006462 015074 0 8192 -ZZ1309
-+006463 373000 0 ZZ2309
-- mark 1477, 403 /68 taur
-+006464 001446 ZZ2310=ZZ2310+ZZ2310
-+006464 003114 ZZ2310=ZZ2310+ZZ2310
-+006464 006230 ZZ2310=ZZ2310+ZZ2310
-+006464 014460 ZZ2310=ZZ2310+ZZ2310
-+006464 031140 ZZ2310=ZZ2310+ZZ2310
-+006464 062300 ZZ2310=ZZ2310+ZZ2310
-+006464 144600 ZZ2310=ZZ2310+ZZ2310
-+006464 311400 ZZ2310=ZZ2310+ZZ2310
-+006464 015073 0 8192 -ZZ1310
-+006465 311400 0 ZZ2310
-- mark 1483, 350 /71 taur
-+006466 001274 ZZ2311=ZZ2311+ZZ2311
-+006466 002570 ZZ2311=ZZ2311+ZZ2311
-+006466 005360 ZZ2311=ZZ2311+ZZ2311
-+006466 012740 ZZ2311=ZZ2311+ZZ2311
-+006466 025700 ZZ2311=ZZ2311+ZZ2311
-+006466 053600 ZZ2311=ZZ2311+ZZ2311
-+006466 127400 ZZ2311=ZZ2311+ZZ2311
-+006466 257000 ZZ2311=ZZ2311+ZZ2311
-+006466 015065 0 8192 -ZZ1311
-+006467 257000 0 ZZ2311
-- mark 1485, 330 /73 taur
-+006470 001224 ZZ2312=ZZ2312+ZZ2312
-+006470 002450 ZZ2312=ZZ2312+ZZ2312
-+006470 005120 ZZ2312=ZZ2312+ZZ2312
-+006470 012240 ZZ2312=ZZ2312+ZZ2312
-+006470 024500 ZZ2312=ZZ2312+ZZ2312
-+006470 051200 ZZ2312=ZZ2312+ZZ2312
-+006470 122400 ZZ2312=ZZ2312+ZZ2312
-+006470 245000 ZZ2312=ZZ2312+ZZ2312
-+006470 015063 0 8192 -ZZ1312
-+006471 245000 0 ZZ2312
-- mark 1495, 358 /77 taur
-+006472 001314 ZZ2313=ZZ2313+ZZ2313
-+006472 002630 ZZ2313=ZZ2313+ZZ2313
-+006472 005460 ZZ2313=ZZ2313+ZZ2313
-+006472 013140 ZZ2313=ZZ2313+ZZ2313
-+006472 026300 ZZ2313=ZZ2313+ZZ2313
-+006472 054600 ZZ2313=ZZ2313+ZZ2313
-+006472 131400 ZZ2313=ZZ2313+ZZ2313
-+006472 263000 ZZ2313=ZZ2313+ZZ2313
-+006472 015051 0 8192 -ZZ1313
-+006473 263000 0 ZZ2313
-- mark 1507, 364 /
-+006474 001330 ZZ2314=ZZ2314+ZZ2314
-+006474 002660 ZZ2314=ZZ2314+ZZ2314
-+006474 005540 ZZ2314=ZZ2314+ZZ2314
-+006474 013300 ZZ2314=ZZ2314+ZZ2314
-+006474 026600 ZZ2314=ZZ2314+ZZ2314
-+006474 055400 ZZ2314=ZZ2314+ZZ2314
-+006474 133000 ZZ2314=ZZ2314+ZZ2314
-+006474 266000 ZZ2314=ZZ2314+ZZ2314
-+006474 015035 0 8192 -ZZ1314
-+006475 266000 0 ZZ2314
-- mark 1518, -6 /45 erid
-+006476 777762 ZZ2315=ZZ2315+ZZ2315
-+006476 777744 ZZ2315=ZZ2315+ZZ2315
-+006476 777710 ZZ2315=ZZ2315+ZZ2315
-+006476 777620 ZZ2315=ZZ2315+ZZ2315
-+006476 777440 ZZ2315=ZZ2315+ZZ2315
-+006476 777100 ZZ2315=ZZ2315+ZZ2315
-+006476 776200 ZZ2315=ZZ2315+ZZ2315
-+006476 774400 ZZ2315=ZZ2315+ZZ2315
-+006476 015022 0 8192 -ZZ1315
-+006477 774400 0 ZZ2315
-- mark 1526, 333 /86 taur
-+006500 001232 ZZ2316=ZZ2316+ZZ2316
-+006500 002464 ZZ2316=ZZ2316+ZZ2316
-+006500 005150 ZZ2316=ZZ2316+ZZ2316
-+006500 012320 ZZ2316=ZZ2316+ZZ2316
-+006500 024640 ZZ2316=ZZ2316+ZZ2316
-+006500 051500 ZZ2316=ZZ2316+ZZ2316
-+006500 123200 ZZ2316=ZZ2316+ZZ2316
-+006500 246400 ZZ2316=ZZ2316+ZZ2316
-+006500 015012 0 8192 -ZZ1316
-+006501 246400 0 ZZ2316
-- mark 1537, 226 /88 taur
-+006502 000704 ZZ2317=ZZ2317+ZZ2317
-+006502 001610 ZZ2317=ZZ2317+ZZ2317
-+006502 003420 ZZ2317=ZZ2317+ZZ2317
-+006502 007040 ZZ2317=ZZ2317+ZZ2317
-+006502 016100 ZZ2317=ZZ2317+ZZ2317
-+006502 034200 ZZ2317=ZZ2317+ZZ2317
-+006502 070400 ZZ2317=ZZ2317+ZZ2317
-+006502 161000 ZZ2317=ZZ2317+ZZ2317
-+006502 014777 0 8192 -ZZ1317
-+006503 161000 0 ZZ2317
-- mark 1544, -81 /48 erid
-+006504 777534 ZZ2318=ZZ2318+ZZ2318
-+006504 777270 ZZ2318=ZZ2318+ZZ2318
-+006504 776560 ZZ2318=ZZ2318+ZZ2318
-+006504 775340 ZZ2318=ZZ2318+ZZ2318
-+006504 772700 ZZ2318=ZZ2318+ZZ2318
-+006504 765600 ZZ2318=ZZ2318+ZZ2318
-+006504 753400 ZZ2318=ZZ2318+ZZ2318
-+006504 727000 ZZ2318=ZZ2318+ZZ2318
-+006504 014770 0 8192 -ZZ1318
-+006505 727000 0 ZZ2318
-- mark 1551, 280 /90 taur
-+006506 001060 ZZ2319=ZZ2319+ZZ2319
-+006506 002140 ZZ2319=ZZ2319+ZZ2319
-+006506 004300 ZZ2319=ZZ2319+ZZ2319
-+006506 010600 ZZ2319=ZZ2319+ZZ2319
-+006506 021400 ZZ2319=ZZ2319+ZZ2319
-+006506 043000 ZZ2319=ZZ2319+ZZ2319
-+006506 106000 ZZ2319=ZZ2319+ZZ2319
-+006506 214000 ZZ2319=ZZ2319+ZZ2319
-+006506 014761 0 8192 -ZZ1319
-+006507 214000 0 ZZ2319
-- mark 1556, 358 /92 taur
-+006510 001314 ZZ2320=ZZ2320+ZZ2320
-+006510 002630 ZZ2320=ZZ2320+ZZ2320
-+006510 005460 ZZ2320=ZZ2320+ZZ2320
-+006510 013140 ZZ2320=ZZ2320+ZZ2320
-+006510 026300 ZZ2320=ZZ2320+ZZ2320
-+006510 054600 ZZ2320=ZZ2320+ZZ2320
-+006510 131400 ZZ2320=ZZ2320+ZZ2320
-+006510 263000 ZZ2320=ZZ2320+ZZ2320
-+006510 014754 0 8192 -ZZ1320
-+006511 263000 0 ZZ2320
-- mark 1557, -330 /53 erid
-+006512 776552 ZZ2321=ZZ2321+ZZ2321
-+006512 775324 ZZ2321=ZZ2321+ZZ2321
-+006512 772650 ZZ2321=ZZ2321+ZZ2321
-+006512 765520 ZZ2321=ZZ2321+ZZ2321
-+006512 753240 ZZ2321=ZZ2321+ZZ2321
-+006512 726500 ZZ2321=ZZ2321+ZZ2321
-+006512 655200 ZZ2321=ZZ2321+ZZ2321
-+006512 532400 ZZ2321=ZZ2321+ZZ2321
-+006512 014753 0 8192 -ZZ1321
-+006513 532400 0 ZZ2321
-- mark 1571, -452 /54 erid
-+006514 776166 ZZ2322=ZZ2322+ZZ2322
-+006514 774354 ZZ2322=ZZ2322+ZZ2322
-+006514 770730 ZZ2322=ZZ2322+ZZ2322
-+006514 761660 ZZ2322=ZZ2322+ZZ2322
-+006514 743540 ZZ2322=ZZ2322+ZZ2322
-+006514 707300 ZZ2322=ZZ2322+ZZ2322
-+006514 616600 ZZ2322=ZZ2322+ZZ2322
-+006514 435400 ZZ2322=ZZ2322+ZZ2322
-+006514 014735 0 8192 -ZZ1322
-+006515 435400 0 ZZ2322
-- mark 1596, -78 /57 erid
-+006516 777542 ZZ2323=ZZ2323+ZZ2323
-+006516 777304 ZZ2323=ZZ2323+ZZ2323
-+006516 776610 ZZ2323=ZZ2323+ZZ2323
-+006516 775420 ZZ2323=ZZ2323+ZZ2323
-+006516 773040 ZZ2323=ZZ2323+ZZ2323
-+006516 766100 ZZ2323=ZZ2323+ZZ2323
-+006516 754200 ZZ2323=ZZ2323+ZZ2323
-+006516 730400 ZZ2323=ZZ2323+ZZ2323
-+006516 014704 0 8192 -ZZ1323
-+006517 730400 0 ZZ2323
-- mark 1622, 199 / 2 orio
-+006520 000616 ZZ2324=ZZ2324+ZZ2324
-+006520 001434 ZZ2324=ZZ2324+ZZ2324
-+006520 003070 ZZ2324=ZZ2324+ZZ2324
-+006520 006160 ZZ2324=ZZ2324+ZZ2324
-+006520 014340 ZZ2324=ZZ2324+ZZ2324
-+006520 030700 ZZ2324=ZZ2324+ZZ2324
-+006520 061600 ZZ2324=ZZ2324+ZZ2324
-+006520 143400 ZZ2324=ZZ2324+ZZ2324
-+006520 014652 0 8192 -ZZ1324
-+006521 143400 0 ZZ2324
-- mark 1626, 124 / 3 orio
-+006522 000370 ZZ2325=ZZ2325+ZZ2325
-+006522 000760 ZZ2325=ZZ2325+ZZ2325
-+006522 001740 ZZ2325=ZZ2325+ZZ2325
-+006522 003700 ZZ2325=ZZ2325+ZZ2325
-+006522 007600 ZZ2325=ZZ2325+ZZ2325
-+006522 017400 ZZ2325=ZZ2325+ZZ2325
-+006522 037000 ZZ2325=ZZ2325+ZZ2325
-+006522 076000 ZZ2325=ZZ2325+ZZ2325
-+006522 014646 0 8192 -ZZ1325
-+006523 076000 0 ZZ2325
-- mark 1638, -128 /61 erid
-+006524 777376 ZZ2326=ZZ2326+ZZ2326
-+006524 776774 ZZ2326=ZZ2326+ZZ2326
-+006524 775770 ZZ2326=ZZ2326+ZZ2326
-+006524 773760 ZZ2326=ZZ2326+ZZ2326
-+006524 767740 ZZ2326=ZZ2326+ZZ2326
-+006524 757700 ZZ2326=ZZ2326+ZZ2326
-+006524 737600 ZZ2326=ZZ2326+ZZ2326
-+006524 677400 ZZ2326=ZZ2326+ZZ2326
-+006524 014632 0 8192 -ZZ1326
-+006525 677400 0 ZZ2326
-- mark 1646, 228 / 7 orio
-+006526 000710 ZZ2327=ZZ2327+ZZ2327
-+006526 001620 ZZ2327=ZZ2327+ZZ2327
-+006526 003440 ZZ2327=ZZ2327+ZZ2327
-+006526 007100 ZZ2327=ZZ2327+ZZ2327
-+006526 016200 ZZ2327=ZZ2327+ZZ2327
-+006526 034400 ZZ2327=ZZ2327+ZZ2327
-+006526 071000 ZZ2327=ZZ2327+ZZ2327
-+006526 162000 ZZ2327=ZZ2327+ZZ2327
-+006526 014622 0 8192 -ZZ1327
-+006527 162000 0 ZZ2327
-- mark 1654, 304 / 9 orio
-+006530 001140 ZZ2328=ZZ2328+ZZ2328
-+006530 002300 ZZ2328=ZZ2328+ZZ2328
-+006530 004600 ZZ2328=ZZ2328+ZZ2328
-+006530 011400 ZZ2328=ZZ2328+ZZ2328
-+006530 023000 ZZ2328=ZZ2328+ZZ2328
-+006530 046000 ZZ2328=ZZ2328+ZZ2328
-+006530 114000 ZZ2328=ZZ2328+ZZ2328
-+006530 230000 ZZ2328=ZZ2328+ZZ2328
-+006530 014612 0 8192 -ZZ1328
-+006531 230000 0 ZZ2328
-- mark 1669, 36 /10 orio
-+006532 000110 ZZ2329=ZZ2329+ZZ2329
-+006532 000220 ZZ2329=ZZ2329+ZZ2329
-+006532 000440 ZZ2329=ZZ2329+ZZ2329
-+006532 001100 ZZ2329=ZZ2329+ZZ2329
-+006532 002200 ZZ2329=ZZ2329+ZZ2329
-+006532 004400 ZZ2329=ZZ2329+ZZ2329
-+006532 011000 ZZ2329=ZZ2329+ZZ2329
-+006532 022000 ZZ2329=ZZ2329+ZZ2329
-+006532 014573 0 8192 -ZZ1329
-+006533 022000 0 ZZ2329
-- mark 1680, -289 /64 erid
-+006534 776674 ZZ2330=ZZ2330+ZZ2330
-+006534 775570 ZZ2330=ZZ2330+ZZ2330
-+006534 773360 ZZ2330=ZZ2330+ZZ2330
-+006534 766740 ZZ2330=ZZ2330+ZZ2330
-+006534 755700 ZZ2330=ZZ2330+ZZ2330
-+006534 733600 ZZ2330=ZZ2330+ZZ2330
-+006534 667400 ZZ2330=ZZ2330+ZZ2330
-+006534 557000 ZZ2330=ZZ2330+ZZ2330
-+006534 014560 0 8192 -ZZ1330
-+006535 557000 0 ZZ2330
-- mark 1687, -167 /65 erid
-+006536 777260 ZZ2331=ZZ2331+ZZ2331
-+006536 776540 ZZ2331=ZZ2331+ZZ2331
-+006536 775300 ZZ2331=ZZ2331+ZZ2331
-+006536 772600 ZZ2331=ZZ2331+ZZ2331
-+006536 765400 ZZ2331=ZZ2331+ZZ2331
-+006536 753000 ZZ2331=ZZ2331+ZZ2331
-+006536 726000 ZZ2331=ZZ2331+ZZ2331
-+006536 654000 ZZ2331=ZZ2331+ZZ2331
-+006536 014551 0 8192 -ZZ1331
-+006537 654000 0 ZZ2331
-- mark 1690, -460 /
-+006540 776146 ZZ2332=ZZ2332+ZZ2332
-+006540 774314 ZZ2332=ZZ2332+ZZ2332
-+006540 770630 ZZ2332=ZZ2332+ZZ2332
-+006540 761460 ZZ2332=ZZ2332+ZZ2332
-+006540 743140 ZZ2332=ZZ2332+ZZ2332
-+006540 706300 ZZ2332=ZZ2332+ZZ2332
-+006540 614600 ZZ2332=ZZ2332+ZZ2332
-+006540 431400 ZZ2332=ZZ2332+ZZ2332
-+006540 014546 0 8192 -ZZ1332
-+006541 431400 0 ZZ2332
-- mark 1690, 488 /102 taur
-+006542 001720 ZZ2333=ZZ2333+ZZ2333
-+006542 003640 ZZ2333=ZZ2333+ZZ2333
-+006542 007500 ZZ2333=ZZ2333+ZZ2333
-+006542 017200 ZZ2333=ZZ2333+ZZ2333
-+006542 036400 ZZ2333=ZZ2333+ZZ2333
-+006542 075000 ZZ2333=ZZ2333+ZZ2333
-+006542 172000 ZZ2333=ZZ2333+ZZ2333
-+006542 364000 ZZ2333=ZZ2333+ZZ2333
-+006542 014546 0 8192 -ZZ1333
-+006543 364000 0 ZZ2333
-- mark 1700, 347 /11 orio
-+006544 001266 ZZ2334=ZZ2334+ZZ2334
-+006544 002554 ZZ2334=ZZ2334+ZZ2334
-+006544 005330 ZZ2334=ZZ2334+ZZ2334
-+006544 012660 ZZ2334=ZZ2334+ZZ2334
-+006544 025540 ZZ2334=ZZ2334+ZZ2334
-+006544 053300 ZZ2334=ZZ2334+ZZ2334
-+006544 126600 ZZ2334=ZZ2334+ZZ2334
-+006544 255400 ZZ2334=ZZ2334+ZZ2334
-+006544 014534 0 8192 -ZZ1334
-+006545 255400 0 ZZ2334
-- mark 1729, 352 /15 orio
-+006546 001300 ZZ2335=ZZ2335+ZZ2335
-+006546 002600 ZZ2335=ZZ2335+ZZ2335
-+006546 005400 ZZ2335=ZZ2335+ZZ2335
-+006546 013000 ZZ2335=ZZ2335+ZZ2335
-+006546 026000 ZZ2335=ZZ2335+ZZ2335
-+006546 054000 ZZ2335=ZZ2335+ZZ2335
-+006546 130000 ZZ2335=ZZ2335+ZZ2335
-+006546 260000 ZZ2335=ZZ2335+ZZ2335
-+006546 014477 0 8192 -ZZ1335
-+006547 260000 0 ZZ2335
-- mark 1732, -202 /69 erid
-+006550 777152 ZZ2336=ZZ2336+ZZ2336
-+006550 776324 ZZ2336=ZZ2336+ZZ2336
-+006550 774650 ZZ2336=ZZ2336+ZZ2336
-+006550 771520 ZZ2336=ZZ2336+ZZ2336
-+006550 763240 ZZ2336=ZZ2336+ZZ2336
-+006550 746500 ZZ2336=ZZ2336+ZZ2336
-+006550 715200 ZZ2336=ZZ2336+ZZ2336
-+006550 632400 ZZ2336=ZZ2336+ZZ2336
-+006550 014474 0 8192 -ZZ1336
-+006551 632400 0 ZZ2336
-- mark 1750, -273 / 3 leps
-+006552 776734 ZZ2337=ZZ2337+ZZ2337
-+006552 775670 ZZ2337=ZZ2337+ZZ2337
-+006552 773560 ZZ2337=ZZ2337+ZZ2337
-+006552 767340 ZZ2337=ZZ2337+ZZ2337
-+006552 756700 ZZ2337=ZZ2337+ZZ2337
-+006552 735600 ZZ2337=ZZ2337+ZZ2337
-+006552 673400 ZZ2337=ZZ2337+ZZ2337
-+006552 567000 ZZ2337=ZZ2337+ZZ2337
-+006552 014452 0 8192 -ZZ1337
-+006553 567000 0 ZZ2337
-- mark 1753, 63 /17 orio
-+006554 000176 ZZ2338=ZZ2338+ZZ2338
-+006554 000374 ZZ2338=ZZ2338+ZZ2338
-+006554 000770 ZZ2338=ZZ2338+ZZ2338
-+006554 001760 ZZ2338=ZZ2338+ZZ2338
-+006554 003740 ZZ2338=ZZ2338+ZZ2338
-+006554 007700 ZZ2338=ZZ2338+ZZ2338
-+006554 017600 ZZ2338=ZZ2338+ZZ2338
-+006554 037400 ZZ2338=ZZ2338+ZZ2338
-+006554 014447 0 8192 -ZZ1338
-+006555 037400 0 ZZ2338
-- mark 1756, -297 / 4 leps
-+006556 776654 ZZ2339=ZZ2339+ZZ2339
-+006556 775530 ZZ2339=ZZ2339+ZZ2339
-+006556 773260 ZZ2339=ZZ2339+ZZ2339
-+006556 766540 ZZ2339=ZZ2339+ZZ2339
-+006556 755300 ZZ2339=ZZ2339+ZZ2339
-+006556 732600 ZZ2339=ZZ2339+ZZ2339
-+006556 665400 ZZ2339=ZZ2339+ZZ2339
-+006556 553000 ZZ2339=ZZ2339+ZZ2339
-+006556 014444 0 8192 -ZZ1339
-+006557 553000 0 ZZ2339
-- mark 1792, -302 / 6 leps
-+006560 776642 ZZ2340=ZZ2340+ZZ2340
-+006560 775504 ZZ2340=ZZ2340+ZZ2340
-+006560 773210 ZZ2340=ZZ2340+ZZ2340
-+006560 766420 ZZ2340=ZZ2340+ZZ2340
-+006560 755040 ZZ2340=ZZ2340+ZZ2340
-+006560 732100 ZZ2340=ZZ2340+ZZ2340
-+006560 664200 ZZ2340=ZZ2340+ZZ2340
-+006560 550400 ZZ2340=ZZ2340+ZZ2340
-+006560 014400 0 8192 -ZZ1340
-+006561 550400 0 ZZ2340
-- mark 1799, -486 /
-+006562 776062 ZZ2341=ZZ2341+ZZ2341
-+006562 774144 ZZ2341=ZZ2341+ZZ2341
-+006562 770310 ZZ2341=ZZ2341+ZZ2341
-+006562 760620 ZZ2341=ZZ2341+ZZ2341
-+006562 741440 ZZ2341=ZZ2341+ZZ2341
-+006562 703100 ZZ2341=ZZ2341+ZZ2341
-+006562 606200 ZZ2341=ZZ2341+ZZ2341
-+006562 414400 ZZ2341=ZZ2341+ZZ2341
-+006562 014371 0 8192 -ZZ1341
-+006563 414400 0 ZZ2341
-- mark 1801, -11 /22 orio
-+006564 777750 ZZ2342=ZZ2342+ZZ2342
-+006564 777720 ZZ2342=ZZ2342+ZZ2342
-+006564 777640 ZZ2342=ZZ2342+ZZ2342
-+006564 777500 ZZ2342=ZZ2342+ZZ2342
-+006564 777200 ZZ2342=ZZ2342+ZZ2342
-+006564 776400 ZZ2342=ZZ2342+ZZ2342
-+006564 775000 ZZ2342=ZZ2342+ZZ2342
-+006564 772000 ZZ2342=ZZ2342+ZZ2342
-+006564 014367 0 8192 -ZZ1342
-+006565 772000 0 ZZ2342
-- mark 1807, 79 /23 orio
-+006566 000236 ZZ2343=ZZ2343+ZZ2343
-+006566 000474 ZZ2343=ZZ2343+ZZ2343
-+006566 001170 ZZ2343=ZZ2343+ZZ2343
-+006566 002360 ZZ2343=ZZ2343+ZZ2343
-+006566 004740 ZZ2343=ZZ2343+ZZ2343
-+006566 011700 ZZ2343=ZZ2343+ZZ2343
-+006566 023600 ZZ2343=ZZ2343+ZZ2343
-+006566 047400 ZZ2343=ZZ2343+ZZ2343
-+006566 014361 0 8192 -ZZ1343
-+006567 047400 0 ZZ2343
-- mark 1816, -180 /29 orio
-+006570 777226 ZZ2344=ZZ2344+ZZ2344
-+006570 776454 ZZ2344=ZZ2344+ZZ2344
-+006570 775130 ZZ2344=ZZ2344+ZZ2344
-+006570 772260 ZZ2344=ZZ2344+ZZ2344
-+006570 764540 ZZ2344=ZZ2344+ZZ2344
-+006570 751300 ZZ2344=ZZ2344+ZZ2344
-+006570 722600 ZZ2344=ZZ2344+ZZ2344
-+006570 645400 ZZ2344=ZZ2344+ZZ2344
-+006570 014350 0 8192 -ZZ1344
-+006571 645400 0 ZZ2344
-- mark 1818, 40 /25 orio
-+006572 000120 ZZ2345=ZZ2345+ZZ2345
-+006572 000240 ZZ2345=ZZ2345+ZZ2345
-+006572 000500 ZZ2345=ZZ2345+ZZ2345
-+006572 001200 ZZ2345=ZZ2345+ZZ2345
-+006572 002400 ZZ2345=ZZ2345+ZZ2345
-+006572 005000 ZZ2345=ZZ2345+ZZ2345
-+006572 012000 ZZ2345=ZZ2345+ZZ2345
-+006572 024000 ZZ2345=ZZ2345+ZZ2345
-+006572 014346 0 8192 -ZZ1345
-+006573 024000 0 ZZ2345
-- mark 1830, 497 /114 taur
-+006574 001742 ZZ2346=ZZ2346+ZZ2346
-+006574 003704 ZZ2346=ZZ2346+ZZ2346
-+006574 007610 ZZ2346=ZZ2346+ZZ2346
-+006574 017420 ZZ2346=ZZ2346+ZZ2346
-+006574 037040 ZZ2346=ZZ2346+ZZ2346
-+006574 076100 ZZ2346=ZZ2346+ZZ2346
-+006574 174200 ZZ2346=ZZ2346+ZZ2346
-+006574 370400 ZZ2346=ZZ2346+ZZ2346
-+006574 014332 0 8192 -ZZ1346
-+006575 370400 0 ZZ2346
-- mark 1830, 69 /30 orio
-+006576 000212 ZZ2347=ZZ2347+ZZ2347
-+006576 000424 ZZ2347=ZZ2347+ZZ2347
-+006576 001050 ZZ2347=ZZ2347+ZZ2347
-+006576 002120 ZZ2347=ZZ2347+ZZ2347
-+006576 004240 ZZ2347=ZZ2347+ZZ2347
-+006576 010500 ZZ2347=ZZ2347+ZZ2347
-+006576 021200 ZZ2347=ZZ2347+ZZ2347
-+006576 042400 ZZ2347=ZZ2347+ZZ2347
-+006576 014332 0 8192 -ZZ1347
-+006577 042400 0 ZZ2347
-- mark 1851, 134 /32 orio
-+006600 000414 ZZ2348=ZZ2348+ZZ2348
-+006600 001030 ZZ2348=ZZ2348+ZZ2348
-+006600 002060 ZZ2348=ZZ2348+ZZ2348
-+006600 004140 ZZ2348=ZZ2348+ZZ2348
-+006600 010300 ZZ2348=ZZ2348+ZZ2348
-+006600 020600 ZZ2348=ZZ2348+ZZ2348
-+006600 041400 ZZ2348=ZZ2348+ZZ2348
-+006600 103000 ZZ2348=ZZ2348+ZZ2348
-+006600 014305 0 8192 -ZZ1348
-+006601 103000 0 ZZ2348
-- mark 1857, 421 /119 taur
-+006602 001512 ZZ2349=ZZ2349+ZZ2349
-+006602 003224 ZZ2349=ZZ2349+ZZ2349
-+006602 006450 ZZ2349=ZZ2349+ZZ2349
-+006602 015120 ZZ2349=ZZ2349+ZZ2349
-+006602 032240 ZZ2349=ZZ2349+ZZ2349
-+006602 064500 ZZ2349=ZZ2349+ZZ2349
-+006602 151200 ZZ2349=ZZ2349+ZZ2349
-+006602 322400 ZZ2349=ZZ2349+ZZ2349
-+006602 014277 0 8192 -ZZ1349
-+006603 322400 0 ZZ2349
-- mark 1861, -168 /36 orio
-+006604 777256 ZZ2350=ZZ2350+ZZ2350
-+006604 776534 ZZ2350=ZZ2350+ZZ2350
-+006604 775270 ZZ2350=ZZ2350+ZZ2350
-+006604 772560 ZZ2350=ZZ2350+ZZ2350
-+006604 765340 ZZ2350=ZZ2350+ZZ2350
-+006604 752700 ZZ2350=ZZ2350+ZZ2350
-+006604 725600 ZZ2350=ZZ2350+ZZ2350
-+006604 653400 ZZ2350=ZZ2350+ZZ2350
-+006604 014273 0 8192 -ZZ1350
-+006605 653400 0 ZZ2350
-- mark 1874, 214 /37 orio
-+006606 000654 ZZ2351=ZZ2351+ZZ2351
-+006606 001530 ZZ2351=ZZ2351+ZZ2351
-+006606 003260 ZZ2351=ZZ2351+ZZ2351
-+006606 006540 ZZ2351=ZZ2351+ZZ2351
-+006606 015300 ZZ2351=ZZ2351+ZZ2351
-+006606 032600 ZZ2351=ZZ2351+ZZ2351
-+006606 065400 ZZ2351=ZZ2351+ZZ2351
-+006606 153000 ZZ2351=ZZ2351+ZZ2351
-+006606 014256 0 8192 -ZZ1351
-+006607 153000 0 ZZ2351
-- mark 1878, -132 /
-+006610 777366 ZZ2352=ZZ2352+ZZ2352
-+006610 776754 ZZ2352=ZZ2352+ZZ2352
-+006610 775730 ZZ2352=ZZ2352+ZZ2352
-+006610 773660 ZZ2352=ZZ2352+ZZ2352
-+006610 767540 ZZ2352=ZZ2352+ZZ2352
-+006610 757300 ZZ2352=ZZ2352+ZZ2352
-+006610 736600 ZZ2352=ZZ2352+ZZ2352
-+006610 675400 ZZ2352=ZZ2352+ZZ2352
-+006610 014252 0 8192 -ZZ1352
-+006611 675400 0 ZZ2352
-- mark 1880, -112 /42 orio
-+006612 777436 ZZ2353=ZZ2353+ZZ2353
-+006612 777074 ZZ2353=ZZ2353+ZZ2353
-+006612 776170 ZZ2353=ZZ2353+ZZ2353
-+006612 774360 ZZ2353=ZZ2353+ZZ2353
-+006612 770740 ZZ2353=ZZ2353+ZZ2353
-+006612 761700 ZZ2353=ZZ2353+ZZ2353
-+006612 743600 ZZ2353=ZZ2353+ZZ2353
-+006612 707400 ZZ2353=ZZ2353+ZZ2353
-+006612 014250 0 8192 -ZZ1353
-+006613 707400 0 ZZ2353
-- mark 1885, 210 /40 orio
-+006614 000644 ZZ2354=ZZ2354+ZZ2354
-+006614 001510 ZZ2354=ZZ2354+ZZ2354
-+006614 003220 ZZ2354=ZZ2354+ZZ2354
-+006614 006440 ZZ2354=ZZ2354+ZZ2354
-+006614 015100 ZZ2354=ZZ2354+ZZ2354
-+006614 032200 ZZ2354=ZZ2354+ZZ2354
-+006614 064400 ZZ2354=ZZ2354+ZZ2354
-+006614 151000 ZZ2354=ZZ2354+ZZ2354
-+006614 014243 0 8192 -ZZ1354
-+006615 151000 0 ZZ2354
-- mark 1899,-60 /48 orio
-+006616 777606 ZZ2355=ZZ2355+ZZ2355
-+006616 777414 ZZ2355=ZZ2355+ZZ2355
-+006616 777030 ZZ2355=ZZ2355+ZZ2355
-+006616 776060 ZZ2355=ZZ2355+ZZ2355
-+006616 774140 ZZ2355=ZZ2355+ZZ2355
-+006616 770300 ZZ2355=ZZ2355+ZZ2355
-+006616 760600 ZZ2355=ZZ2355+ZZ2355
-+006616 741400 ZZ2355=ZZ2355+ZZ2355
-+006616 014225 0 8192 -ZZ1355
-+006617 741400 0 ZZ2355
-- mark 1900, 93 /47 orio
-+006620 000272 ZZ2356=ZZ2356+ZZ2356
-+006620 000564 ZZ2356=ZZ2356+ZZ2356
-+006620 001350 ZZ2356=ZZ2356+ZZ2356
-+006620 002720 ZZ2356=ZZ2356+ZZ2356
-+006620 005640 ZZ2356=ZZ2356+ZZ2356
-+006620 013500 ZZ2356=ZZ2356+ZZ2356
-+006620 027200 ZZ2356=ZZ2356+ZZ2356
-+006620 056400 ZZ2356=ZZ2356+ZZ2356
-+006620 014224 0 8192 -ZZ1356
-+006621 056400 0 ZZ2356
-- mark 1900, -165 /49 orio
-+006622 777264 ZZ2357=ZZ2357+ZZ2357
-+006622 776550 ZZ2357=ZZ2357+ZZ2357
-+006622 775320 ZZ2357=ZZ2357+ZZ2357
-+006622 772640 ZZ2357=ZZ2357+ZZ2357
-+006622 765500 ZZ2357=ZZ2357+ZZ2357
-+006622 753200 ZZ2357=ZZ2357+ZZ2357
-+006622 726400 ZZ2357=ZZ2357+ZZ2357
-+006622 655000 ZZ2357=ZZ2357+ZZ2357
-+006622 014224 0 8192 -ZZ1357
-+006623 655000 0 ZZ2357
-- mark 1909, 375 /126 taur
-+006624 001356 ZZ2358=ZZ2358+ZZ2358
-+006624 002734 ZZ2358=ZZ2358+ZZ2358
-+006624 005670 ZZ2358=ZZ2358+ZZ2358
-+006624 013560 ZZ2358=ZZ2358+ZZ2358
-+006624 027340 ZZ2358=ZZ2358+ZZ2358
-+006624 056700 ZZ2358=ZZ2358+ZZ2358
-+006624 135600 ZZ2358=ZZ2358+ZZ2358
-+006624 273400 ZZ2358=ZZ2358+ZZ2358
-+006624 014213 0 8192 -ZZ1358
-+006625 273400 0 ZZ2358
-- mark 1936, -511 /13 leps
-+006626 776000 ZZ2359=ZZ2359+ZZ2359
-+006626 774000 ZZ2359=ZZ2359+ZZ2359
-+006626 770000 ZZ2359=ZZ2359+ZZ2359
-+006626 760000 ZZ2359=ZZ2359+ZZ2359
-+006626 740000 ZZ2359=ZZ2359+ZZ2359
-+006626 700000 ZZ2359=ZZ2359+ZZ2359
-+006626 600000 ZZ2359=ZZ2359+ZZ2359
-+006626 400000 ZZ2359=ZZ2359+ZZ2359
-+006626 014160 0 8192 -ZZ1359
-+006627 400000 0 ZZ2359
-- mark 1957, 287 /134 taur
-+006630 001076 ZZ2360=ZZ2360+ZZ2360
-+006630 002174 ZZ2360=ZZ2360+ZZ2360
-+006630 004370 ZZ2360=ZZ2360+ZZ2360
-+006630 010760 ZZ2360=ZZ2360+ZZ2360
-+006630 021740 ZZ2360=ZZ2360+ZZ2360
-+006630 043700 ZZ2360=ZZ2360+ZZ2360
-+006630 107600 ZZ2360=ZZ2360+ZZ2360
-+006630 217400 ZZ2360=ZZ2360+ZZ2360
-+006630 014133 0 8192 -ZZ1360
-+006631 217400 0 ZZ2360
-- mark 1974, -475 /15 leps
-+006632 776110 ZZ2361=ZZ2361+ZZ2361
-+006632 774220 ZZ2361=ZZ2361+ZZ2361
-+006632 770440 ZZ2361=ZZ2361+ZZ2361
-+006632 761100 ZZ2361=ZZ2361+ZZ2361
-+006632 742200 ZZ2361=ZZ2361+ZZ2361
-+006632 704400 ZZ2361=ZZ2361+ZZ2361
-+006632 611000 ZZ2361=ZZ2361+ZZ2361
-+006632 422000 ZZ2361=ZZ2361+ZZ2361
-+006632 014112 0 8192 -ZZ1361
-+006633 422000 0 ZZ2361
-- mark 1982, 461 /54 orio
-+006634 001632 ZZ2362=ZZ2362+ZZ2362
-+006634 003464 ZZ2362=ZZ2362+ZZ2362
-+006634 007150 ZZ2362=ZZ2362+ZZ2362
-+006634 016320 ZZ2362=ZZ2362+ZZ2362
-+006634 034640 ZZ2362=ZZ2362+ZZ2362
-+006634 071500 ZZ2362=ZZ2362+ZZ2362
-+006634 163200 ZZ2362=ZZ2362+ZZ2362
-+006634 346400 ZZ2362=ZZ2362+ZZ2362
-+006634 014102 0 8192 -ZZ1362
-+006635 346400 0 ZZ2362
-- mark 2002, -323 /16 leps
-+006636 776570 ZZ2363=ZZ2363+ZZ2363
-+006636 775360 ZZ2363=ZZ2363+ZZ2363
-+006636 772740 ZZ2363=ZZ2363+ZZ2363
-+006636 765700 ZZ2363=ZZ2363+ZZ2363
-+006636 753600 ZZ2363=ZZ2363+ZZ2363
-+006636 727400 ZZ2363=ZZ2363+ZZ2363
-+006636 657000 ZZ2363=ZZ2363+ZZ2363
-+006636 536000 ZZ2363=ZZ2363+ZZ2363
-+006636 014056 0 8192 -ZZ1363
-+006637 536000 0 ZZ2363
-- mark 2020, -70 /
-+006640 777562 ZZ2364=ZZ2364+ZZ2364
-+006640 777344 ZZ2364=ZZ2364+ZZ2364
-+006640 776710 ZZ2364=ZZ2364+ZZ2364
-+006640 775620 ZZ2364=ZZ2364+ZZ2364
-+006640 773440 ZZ2364=ZZ2364+ZZ2364
-+006640 767100 ZZ2364=ZZ2364+ZZ2364
-+006640 756200 ZZ2364=ZZ2364+ZZ2364
-+006640 734400 ZZ2364=ZZ2364+ZZ2364
-+006640 014034 0 8192 -ZZ1364
-+006641 734400 0 ZZ2364
-- mark 2030, 220 /61 orio
-+006642 000670 ZZ2365=ZZ2365+ZZ2365
-+006642 001560 ZZ2365=ZZ2365+ZZ2365
-+006642 003340 ZZ2365=ZZ2365+ZZ2365
-+006642 006700 ZZ2365=ZZ2365+ZZ2365
-+006642 015600 ZZ2365=ZZ2365+ZZ2365
-+006642 033400 ZZ2365=ZZ2365+ZZ2365
-+006642 067000 ZZ2365=ZZ2365+ZZ2365
-+006642 156000 ZZ2365=ZZ2365+ZZ2365
-+006642 014022 0 8192 -ZZ1365
-+006643 156000 0 ZZ2365
-- mark 2032, -241 / 3 mono
-+006644 777034 ZZ2366=ZZ2366+ZZ2366
-+006644 776070 ZZ2366=ZZ2366+ZZ2366
-+006644 774160 ZZ2366=ZZ2366+ZZ2366
-+006644 770340 ZZ2366=ZZ2366+ZZ2366
-+006644 760700 ZZ2366=ZZ2366+ZZ2366
-+006644 741600 ZZ2366=ZZ2366+ZZ2366
-+006644 703400 ZZ2366=ZZ2366+ZZ2366
-+006644 607000 ZZ2366=ZZ2366+ZZ2366
-+006644 014020 0 8192 -ZZ1366
-+006645 607000 0 ZZ2366
-- mark 2037, 458 /62 orio
-+006646 001624 ZZ2367=ZZ2367+ZZ2367
-+006646 003450 ZZ2367=ZZ2367+ZZ2367
-+006646 007120 ZZ2367=ZZ2367+ZZ2367
-+006646 016240 ZZ2367=ZZ2367+ZZ2367
-+006646 034500 ZZ2367=ZZ2367+ZZ2367
-+006646 071200 ZZ2367=ZZ2367+ZZ2367
-+006646 162400 ZZ2367=ZZ2367+ZZ2367
-+006646 345000 ZZ2367=ZZ2367+ZZ2367
-+006646 014013 0 8192 -ZZ1367
-+006647 345000 0 ZZ2367
-- mark 2057, -340 /18 leps
-+006650 776526 ZZ2368=ZZ2368+ZZ2368
-+006650 775254 ZZ2368=ZZ2368+ZZ2368
-+006650 772530 ZZ2368=ZZ2368+ZZ2368
-+006650 765260 ZZ2368=ZZ2368+ZZ2368
-+006650 752540 ZZ2368=ZZ2368+ZZ2368
-+006650 725300 ZZ2368=ZZ2368+ZZ2368
-+006650 652600 ZZ2368=ZZ2368+ZZ2368
-+006650 525400 ZZ2368=ZZ2368+ZZ2368
-+006650 013767 0 8192 -ZZ1368
-+006651 525400 0 ZZ2368
-- mark 2059, 336 /67 orio
-+006652 001240 ZZ2369=ZZ2369+ZZ2369
-+006652 002500 ZZ2369=ZZ2369+ZZ2369
-+006652 005200 ZZ2369=ZZ2369+ZZ2369
-+006652 012400 ZZ2369=ZZ2369+ZZ2369
-+006652 025000 ZZ2369=ZZ2369+ZZ2369
-+006652 052000 ZZ2369=ZZ2369+ZZ2369
-+006652 124000 ZZ2369=ZZ2369+ZZ2369
-+006652 250000 ZZ2369=ZZ2369+ZZ2369
-+006652 013765 0 8192 -ZZ1369
-+006653 250000 0 ZZ2369
-- mark 2084, 368 /69 orio
-+006654 001340 ZZ2370=ZZ2370+ZZ2370
-+006654 002700 ZZ2370=ZZ2370+ZZ2370
-+006654 005600 ZZ2370=ZZ2370+ZZ2370
-+006654 013400 ZZ2370=ZZ2370+ZZ2370
-+006654 027000 ZZ2370=ZZ2370+ZZ2370
-+006654 056000 ZZ2370=ZZ2370+ZZ2370
-+006654 134000 ZZ2370=ZZ2370+ZZ2370
-+006654 270000 ZZ2370=ZZ2370+ZZ2370
-+006654 013734 0 8192 -ZZ1370
-+006655 270000 0 ZZ2370
-- mark 2084, 324 /70 orio
-+006656 001210 ZZ2371=ZZ2371+ZZ2371
-+006656 002420 ZZ2371=ZZ2371+ZZ2371
-+006656 005040 ZZ2371=ZZ2371+ZZ2371
-+006656 012100 ZZ2371=ZZ2371+ZZ2371
-+006656 024200 ZZ2371=ZZ2371+ZZ2371
-+006656 050400 ZZ2371=ZZ2371+ZZ2371
-+006656 121000 ZZ2371=ZZ2371+ZZ2371
-+006656 242000 ZZ2371=ZZ2371+ZZ2371
-+006656 013734 0 8192 -ZZ1371
-+006657 242000 0 ZZ2371
-- mark 2105, -142 / 5 mono
-+006660 777342 ZZ2372=ZZ2372+ZZ2372
-+006660 776704 ZZ2372=ZZ2372+ZZ2372
-+006660 775610 ZZ2372=ZZ2372+ZZ2372
-+006660 773420 ZZ2372=ZZ2372+ZZ2372
-+006660 767040 ZZ2372=ZZ2372+ZZ2372
-+006660 756100 ZZ2372=ZZ2372+ZZ2372
-+006660 734200 ZZ2372=ZZ2372+ZZ2372
-+006660 670400 ZZ2372=ZZ2372+ZZ2372
-+006660 013707 0 8192 -ZZ1372
-+006661 670400 0 ZZ2372
-- mark 2112, -311 /
-+006662 776620 ZZ2373=ZZ2373+ZZ2373
-+006662 775440 ZZ2373=ZZ2373+ZZ2373
-+006662 773100 ZZ2373=ZZ2373+ZZ2373
-+006662 766200 ZZ2373=ZZ2373+ZZ2373
-+006662 754400 ZZ2373=ZZ2373+ZZ2373
-+006662 731000 ZZ2373=ZZ2373+ZZ2373
-+006662 662000 ZZ2373=ZZ2373+ZZ2373
-+006662 544000 ZZ2373=ZZ2373+ZZ2373
-+006662 013700 0 8192 -ZZ1373
-+006663 544000 0 ZZ2373
-- mark 2153, 106 / 8 mono
-+006664 000324 ZZ2374=ZZ2374+ZZ2374
-+006664 000650 ZZ2374=ZZ2374+ZZ2374
-+006664 001520 ZZ2374=ZZ2374+ZZ2374
-+006664 003240 ZZ2374=ZZ2374+ZZ2374
-+006664 006500 ZZ2374=ZZ2374+ZZ2374
-+006664 015200 ZZ2374=ZZ2374+ZZ2374
-+006664 032400 ZZ2374=ZZ2374+ZZ2374
-+006664 065000 ZZ2374=ZZ2374+ZZ2374
-+006664 013627 0 8192 -ZZ1374
-+006665 065000 0 ZZ2374
-- mark 2179, 462 /18 gemi
-+006666 001634 ZZ2375=ZZ2375+ZZ2375
-+006666 003470 ZZ2375=ZZ2375+ZZ2375
-+006666 007160 ZZ2375=ZZ2375+ZZ2375
-+006666 016340 ZZ2375=ZZ2375+ZZ2375
-+006666 034700 ZZ2375=ZZ2375+ZZ2375
-+006666 071600 ZZ2375=ZZ2375+ZZ2375
-+006666 163400 ZZ2375=ZZ2375+ZZ2375
-+006666 347000 ZZ2375=ZZ2375+ZZ2375
-+006666 013575 0 8192 -ZZ1375
-+006667 347000 0 ZZ2375
-- mark 2179, -107 /10 mono
-+006670 777450 ZZ2376=ZZ2376+ZZ2376
-+006670 777120 ZZ2376=ZZ2376+ZZ2376
-+006670 776240 ZZ2376=ZZ2376+ZZ2376
-+006670 774500 ZZ2376=ZZ2376+ZZ2376
-+006670 771200 ZZ2376=ZZ2376+ZZ2376
-+006670 762400 ZZ2376=ZZ2376+ZZ2376
-+006670 745000 ZZ2376=ZZ2376+ZZ2376
-+006670 712000 ZZ2376=ZZ2376+ZZ2376
-+006670 013575 0 8192 -ZZ1376
-+006671 712000 0 ZZ2376
-- mark 2184, -159 /11 mono
-+006672 777300 ZZ2377=ZZ2377+ZZ2377
-+006672 776600 ZZ2377=ZZ2377+ZZ2377
-+006672 775400 ZZ2377=ZZ2377+ZZ2377
-+006672 773000 ZZ2377=ZZ2377+ZZ2377
-+006672 766000 ZZ2377=ZZ2377+ZZ2377
-+006672 754000 ZZ2377=ZZ2377+ZZ2377
-+006672 730000 ZZ2377=ZZ2377+ZZ2377
-+006672 660000 ZZ2377=ZZ2377+ZZ2377
-+006672 013570 0 8192 -ZZ1377
-+006673 660000 0 ZZ2377
-- mark 2204, 168 /13 mono
-+006674 000520 ZZ2378=ZZ2378+ZZ2378
-+006674 001240 ZZ2378=ZZ2378+ZZ2378
-+006674 002500 ZZ2378=ZZ2378+ZZ2378
-+006674 005200 ZZ2378=ZZ2378+ZZ2378
-+006674 012400 ZZ2378=ZZ2378+ZZ2378
-+006674 025000 ZZ2378=ZZ2378+ZZ2378
-+006674 052000 ZZ2378=ZZ2378+ZZ2378
-+006674 124000 ZZ2378=ZZ2378+ZZ2378
-+006674 013544 0 8192 -ZZ1378
-+006675 124000 0 ZZ2378
-- mark 2232, -436 / 7 cmaj
-+006676 776226 ZZ2379=ZZ2379+ZZ2379
-+006676 774454 ZZ2379=ZZ2379+ZZ2379
-+006676 771130 ZZ2379=ZZ2379+ZZ2379
-+006676 762260 ZZ2379=ZZ2379+ZZ2379
-+006676 744540 ZZ2379=ZZ2379+ZZ2379
-+006676 711300 ZZ2379=ZZ2379+ZZ2379
-+006676 622600 ZZ2379=ZZ2379+ZZ2379
-+006676 445400 ZZ2379=ZZ2379+ZZ2379
-+006676 013510 0 8192 -ZZ1379
-+006677 445400 0 ZZ2379
-- mark 2239, -413 / 8 cmaj
-+006700 776304 ZZ2380=ZZ2380+ZZ2380
-+006700 774610 ZZ2380=ZZ2380+ZZ2380
-+006700 771420 ZZ2380=ZZ2380+ZZ2380
-+006700 763040 ZZ2380=ZZ2380+ZZ2380
-+006700 746100 ZZ2380=ZZ2380+ZZ2380
-+006700 714200 ZZ2380=ZZ2380+ZZ2380
-+006700 630400 ZZ2380=ZZ2380+ZZ2380
-+006700 461000 ZZ2380=ZZ2380+ZZ2380
-+006700 013501 0 8192 -ZZ1380
-+006701 461000 0 ZZ2380
-- mark 2245, -320 /
-+006702 776576 ZZ2381=ZZ2381+ZZ2381
-+006702 775374 ZZ2381=ZZ2381+ZZ2381
-+006702 772770 ZZ2381=ZZ2381+ZZ2381
-+006702 765760 ZZ2381=ZZ2381+ZZ2381
-+006702 753740 ZZ2381=ZZ2381+ZZ2381
-+006702 727700 ZZ2381=ZZ2381+ZZ2381
-+006702 657600 ZZ2381=ZZ2381+ZZ2381
-+006702 537400 ZZ2381=ZZ2381+ZZ2381
-+006702 013473 0 8192 -ZZ1381
-+006703 537400 0 ZZ2381
-- mark 2250, 227 /15 mono
-+006704 000706 ZZ2382=ZZ2382+ZZ2382
-+006704 001614 ZZ2382=ZZ2382+ZZ2382
-+006704 003430 ZZ2382=ZZ2382+ZZ2382
-+006704 007060 ZZ2382=ZZ2382+ZZ2382
-+006704 016140 ZZ2382=ZZ2382+ZZ2382
-+006704 034300 ZZ2382=ZZ2382+ZZ2382
-+006704 070600 ZZ2382=ZZ2382+ZZ2382
-+006704 161400 ZZ2382=ZZ2382+ZZ2382
-+006704 013466 0 8192 -ZZ1382
-+006705 161400 0 ZZ2382
-- mark 2266, 303 /30 gemi
-+006706 001136 ZZ2383=ZZ2383+ZZ2383
-+006706 002274 ZZ2383=ZZ2383+ZZ2383
-+006706 004570 ZZ2383=ZZ2383+ZZ2383
-+006706 011360 ZZ2383=ZZ2383+ZZ2383
-+006706 022740 ZZ2383=ZZ2383+ZZ2383
-+006706 045700 ZZ2383=ZZ2383+ZZ2383
-+006706 113600 ZZ2383=ZZ2383+ZZ2383
-+006706 227400 ZZ2383=ZZ2383+ZZ2383
-+006706 013446 0 8192 -ZZ1383
-+006707 227400 0 ZZ2383
-- mark 2291, 57 /18 mono
-+006710 000162 ZZ2384=ZZ2384+ZZ2384
-+006710 000344 ZZ2384=ZZ2384+ZZ2384
-+006710 000710 ZZ2384=ZZ2384+ZZ2384
-+006710 001620 ZZ2384=ZZ2384+ZZ2384
-+006710 003440 ZZ2384=ZZ2384+ZZ2384
-+006710 007100 ZZ2384=ZZ2384+ZZ2384
-+006710 016200 ZZ2384=ZZ2384+ZZ2384
-+006710 034400 ZZ2384=ZZ2384+ZZ2384
-+006710 013415 0 8192 -ZZ1384
-+006711 034400 0 ZZ2384
-- mark 2327, 303 /38 gemi
-+006712 001136 ZZ2385=ZZ2385+ZZ2385
-+006712 002274 ZZ2385=ZZ2385+ZZ2385
-+006712 004570 ZZ2385=ZZ2385+ZZ2385
-+006712 011360 ZZ2385=ZZ2385+ZZ2385
-+006712 022740 ZZ2385=ZZ2385+ZZ2385
-+006712 045700 ZZ2385=ZZ2385+ZZ2385
-+006712 113600 ZZ2385=ZZ2385+ZZ2385
-+006712 227400 ZZ2385=ZZ2385+ZZ2385
-+006712 013351 0 8192 -ZZ1385
-+006713 227400 0 ZZ2385
-- mark 2328, -457 /15 cmaj
-+006714 776154 ZZ2386=ZZ2386+ZZ2386
-+006714 774330 ZZ2386=ZZ2386+ZZ2386
-+006714 770660 ZZ2386=ZZ2386+ZZ2386
-+006714 761540 ZZ2386=ZZ2386+ZZ2386
-+006714 743300 ZZ2386=ZZ2386+ZZ2386
-+006714 706600 ZZ2386=ZZ2386+ZZ2386
-+006714 615400 ZZ2386=ZZ2386+ZZ2386
-+006714 433000 ZZ2386=ZZ2386+ZZ2386
-+006714 013350 0 8192 -ZZ1386
-+006715 433000 0 ZZ2386
-- mark 2330, -271 /14 cmaj
-+006716 776740 ZZ2387=ZZ2387+ZZ2387
-+006716 775700 ZZ2387=ZZ2387+ZZ2387
-+006716 773600 ZZ2387=ZZ2387+ZZ2387
-+006716 767400 ZZ2387=ZZ2387+ZZ2387
-+006716 757000 ZZ2387=ZZ2387+ZZ2387
-+006716 736000 ZZ2387=ZZ2387+ZZ2387
-+006716 674000 ZZ2387=ZZ2387+ZZ2387
-+006716 570000 ZZ2387=ZZ2387+ZZ2387
-+006716 013346 0 8192 -ZZ1387
-+006717 570000 0 ZZ2387
-- mark 2340, -456 /19 cmaj
-+006720 776156 ZZ2388=ZZ2388+ZZ2388
-+006720 774334 ZZ2388=ZZ2388+ZZ2388
-+006720 770670 ZZ2388=ZZ2388+ZZ2388
-+006720 761560 ZZ2388=ZZ2388+ZZ2388
-+006720 743340 ZZ2388=ZZ2388+ZZ2388
-+006720 706700 ZZ2388=ZZ2388+ZZ2388
-+006720 615600 ZZ2388=ZZ2388+ZZ2388
-+006720 433400 ZZ2388=ZZ2388+ZZ2388
-+006720 013334 0 8192 -ZZ1388
-+006721 433400 0 ZZ2388
-- mark 2342, -385 /20 cmaj
-+006722 776374 ZZ2389=ZZ2389+ZZ2389
-+006722 774770 ZZ2389=ZZ2389+ZZ2389
-+006722 771760 ZZ2389=ZZ2389+ZZ2389
-+006722 763740 ZZ2389=ZZ2389+ZZ2389
-+006722 747700 ZZ2389=ZZ2389+ZZ2389
-+006722 717600 ZZ2389=ZZ2389+ZZ2389
-+006722 637400 ZZ2389=ZZ2389+ZZ2389
-+006722 477000 ZZ2389=ZZ2389+ZZ2389
-+006722 013332 0 8192 -ZZ1389
-+006723 477000 0 ZZ2389
-- mark 2378, -93 /19 mono
-+006724 777504 ZZ2390=ZZ2390+ZZ2390
-+006724 777210 ZZ2390=ZZ2390+ZZ2390
-+006724 776420 ZZ2390=ZZ2390+ZZ2390
-+006724 775040 ZZ2390=ZZ2390+ZZ2390
-+006724 772100 ZZ2390=ZZ2390+ZZ2390
-+006724 764200 ZZ2390=ZZ2390+ZZ2390
-+006724 750400 ZZ2390=ZZ2390+ZZ2390
-+006724 721000 ZZ2390=ZZ2390+ZZ2390
-+006724 013266 0 8192 -ZZ1390
-+006725 721000 0 ZZ2390
-- mark 2379, 471 /43 gemi
-+006726 001656 ZZ2391=ZZ2391+ZZ2391
-+006726 003534 ZZ2391=ZZ2391+ZZ2391
-+006726 007270 ZZ2391=ZZ2391+ZZ2391
-+006726 016560 ZZ2391=ZZ2391+ZZ2391
-+006726 035340 ZZ2391=ZZ2391+ZZ2391
-+006726 072700 ZZ2391=ZZ2391+ZZ2391
-+006726 165600 ZZ2391=ZZ2391+ZZ2391
-+006726 353400 ZZ2391=ZZ2391+ZZ2391
-+006726 013265 0 8192 -ZZ1391
-+006727 353400 0 ZZ2391
-- mark 2385, -352 /23 cmaj
-+006730 776476 ZZ2392=ZZ2392+ZZ2392
-+006730 775174 ZZ2392=ZZ2392+ZZ2392
-+006730 772370 ZZ2392=ZZ2392+ZZ2392
-+006730 764760 ZZ2392=ZZ2392+ZZ2392
-+006730 751740 ZZ2392=ZZ2392+ZZ2392
-+006730 723700 ZZ2392=ZZ2392+ZZ2392
-+006730 647600 ZZ2392=ZZ2392+ZZ2392
-+006730 517400 ZZ2392=ZZ2392+ZZ2392
-+006730 013257 0 8192 -ZZ1392
-+006731 517400 0 ZZ2392
-- mark 2428, -8 /22 mono
-+006732 777756 ZZ2393=ZZ2393+ZZ2393
-+006732 777734 ZZ2393=ZZ2393+ZZ2393
-+006732 777670 ZZ2393=ZZ2393+ZZ2393
-+006732 777560 ZZ2393=ZZ2393+ZZ2393
-+006732 777340 ZZ2393=ZZ2393+ZZ2393
-+006732 776700 ZZ2393=ZZ2393+ZZ2393
-+006732 775600 ZZ2393=ZZ2393+ZZ2393
-+006732 773400 ZZ2393=ZZ2393+ZZ2393
-+006732 013204 0 8192 -ZZ1393
-+006733 773400 0 ZZ2393
-- mark 2491, -429 /
-+006734 776244 ZZ2394=ZZ2394+ZZ2394
-+006734 774510 ZZ2394=ZZ2394+ZZ2394
-+006734 771220 ZZ2394=ZZ2394+ZZ2394
-+006734 762440 ZZ2394=ZZ2394+ZZ2394
-+006734 745100 ZZ2394=ZZ2394+ZZ2394
-+006734 712200 ZZ2394=ZZ2394+ZZ2394
-+006734 624400 ZZ2394=ZZ2394+ZZ2394
-+006734 451000 ZZ2394=ZZ2394+ZZ2394
-+006734 013105 0 8192 -ZZ1394
-+006735 451000 0 ZZ2394
-- mark 2519, 208 / 4 cmin
-+006736 000640 ZZ2395=ZZ2395+ZZ2395
-+006736 001500 ZZ2395=ZZ2395+ZZ2395
-+006736 003200 ZZ2395=ZZ2395+ZZ2395
-+006736 006400 ZZ2395=ZZ2395+ZZ2395
-+006736 015000 ZZ2395=ZZ2395+ZZ2395
-+006736 032000 ZZ2395=ZZ2395+ZZ2395
-+006736 064000 ZZ2395=ZZ2395+ZZ2395
-+006736 150000 ZZ2395=ZZ2395+ZZ2395
-+006736 013051 0 8192 -ZZ1395
-+006737 150000 0 ZZ2395
-- mark 2527, 278 / 6 cmin
-+006740 001054 ZZ2396=ZZ2396+ZZ2396
-+006740 002130 ZZ2396=ZZ2396+ZZ2396
-+006740 004260 ZZ2396=ZZ2396+ZZ2396
-+006740 010540 ZZ2396=ZZ2396+ZZ2396
-+006740 021300 ZZ2396=ZZ2396+ZZ2396
-+006740 042600 ZZ2396=ZZ2396+ZZ2396
-+006740 105400 ZZ2396=ZZ2396+ZZ2396
-+006740 213000 ZZ2396=ZZ2396+ZZ2396
-+006740 013041 0 8192 -ZZ1396
-+006741 213000 0 ZZ2396
-- mark 2559, -503 /
-+006742 776020 ZZ2397=ZZ2397+ZZ2397
-+006742 774040 ZZ2397=ZZ2397+ZZ2397
-+006742 770100 ZZ2397=ZZ2397+ZZ2397
-+006742 760200 ZZ2397=ZZ2397+ZZ2397
-+006742 740400 ZZ2397=ZZ2397+ZZ2397
-+006742 701000 ZZ2397=ZZ2397+ZZ2397
-+006742 602000 ZZ2397=ZZ2397+ZZ2397
-+006742 404000 ZZ2397=ZZ2397+ZZ2397
-+006742 013001 0 8192 -ZZ1397
-+006743 404000 0 ZZ2397
-- mark 2597, -212 /26 mono
-+006744 777126 ZZ2398=ZZ2398+ZZ2398
-+006744 776254 ZZ2398=ZZ2398+ZZ2398
-+006744 774530 ZZ2398=ZZ2398+ZZ2398
-+006744 771260 ZZ2398=ZZ2398+ZZ2398
-+006744 762540 ZZ2398=ZZ2398+ZZ2398
-+006744 745300 ZZ2398=ZZ2398+ZZ2398
-+006744 712600 ZZ2398=ZZ2398+ZZ2398
-+006744 625400 ZZ2398=ZZ2398+ZZ2398
-+006744 012733 0 8192 -ZZ1398
-+006745 625400 0 ZZ2398
-- mark 2704, -412 /
-+006746 776306 ZZ2399=ZZ2399+ZZ2399
-+006746 774614 ZZ2399=ZZ2399+ZZ2399
-+006746 771430 ZZ2399=ZZ2399+ZZ2399
-+006746 763060 ZZ2399=ZZ2399+ZZ2399
-+006746 746140 ZZ2399=ZZ2399+ZZ2399
-+006746 714300 ZZ2399=ZZ2399+ZZ2399
-+006746 630600 ZZ2399=ZZ2399+ZZ2399
-+006746 461400 ZZ2399=ZZ2399+ZZ2399
-+006746 012560 0 8192 -ZZ1399
-+006747 461400 0 ZZ2399
-- mark 2709, -25 /28 mono
-+006750 777714 ZZ2400=ZZ2400+ZZ2400
-+006750 777630 ZZ2400=ZZ2400+ZZ2400
-+006750 777460 ZZ2400=ZZ2400+ZZ2400
-+006750 777140 ZZ2400=ZZ2400+ZZ2400
-+006750 776300 ZZ2400=ZZ2400+ZZ2400
-+006750 774600 ZZ2400=ZZ2400+ZZ2400
-+006750 771400 ZZ2400=ZZ2400+ZZ2400
-+006750 763000 ZZ2400=ZZ2400+ZZ2400
-+006750 012553 0 8192 -ZZ1400
-+006751 763000 0 ZZ2400
-- mark 2714, 60 /
-+006752 000170 ZZ2401=ZZ2401+ZZ2401
-+006752 000360 ZZ2401=ZZ2401+ZZ2401
-+006752 000740 ZZ2401=ZZ2401+ZZ2401
-+006752 001700 ZZ2401=ZZ2401+ZZ2401
-+006752 003600 ZZ2401=ZZ2401+ZZ2401
-+006752 007400 ZZ2401=ZZ2401+ZZ2401
-+006752 017000 ZZ2401=ZZ2401+ZZ2401
-+006752 036000 ZZ2401=ZZ2401+ZZ2401
-+006752 012546 0 8192 -ZZ1401
-+006753 036000 0 ZZ2401
-- mark 2751, -61 /29 mono
-+006754 777604 ZZ2402=ZZ2402+ZZ2402
-+006754 777410 ZZ2402=ZZ2402+ZZ2402
-+006754 777020 ZZ2402=ZZ2402+ZZ2402
-+006754 776040 ZZ2402=ZZ2402+ZZ2402
-+006754 774100 ZZ2402=ZZ2402+ZZ2402
-+006754 770200 ZZ2402=ZZ2402+ZZ2402
-+006754 760400 ZZ2402=ZZ2402+ZZ2402
-+006754 741000 ZZ2402=ZZ2402+ZZ2402
-+006754 012501 0 8192 -ZZ1402
-+006755 741000 0 ZZ2402
-- mark 2757, -431 /16 pupp
-+006756 776240 ZZ2403=ZZ2403+ZZ2403
-+006756 774500 ZZ2403=ZZ2403+ZZ2403
-+006756 771200 ZZ2403=ZZ2403+ZZ2403
-+006756 762400 ZZ2403=ZZ2403+ZZ2403
-+006756 745000 ZZ2403=ZZ2403+ZZ2403
-+006756 712000 ZZ2403=ZZ2403+ZZ2403
-+006756 624000 ZZ2403=ZZ2403+ZZ2403
-+006756 450000 ZZ2403=ZZ2403+ZZ2403
-+006756 012473 0 8192 -ZZ1403
-+006757 450000 0 ZZ2403
-- mark 2768, -288 /19 pupp
-+006760 776676 ZZ2404=ZZ2404+ZZ2404
-+006760 775574 ZZ2404=ZZ2404+ZZ2404
-+006760 773370 ZZ2404=ZZ2404+ZZ2404
-+006760 766760 ZZ2404=ZZ2404+ZZ2404
-+006760 755740 ZZ2404=ZZ2404+ZZ2404
-+006760 733700 ZZ2404=ZZ2404+ZZ2404
-+006760 667600 ZZ2404=ZZ2404+ZZ2404
-+006760 557400 ZZ2404=ZZ2404+ZZ2404
-+006760 012460 0 8192 -ZZ1404
-+006761 557400 0 ZZ2404
-- mark 2794, 216 /17 canc
-+006762 000660 ZZ2405=ZZ2405+ZZ2405
-+006762 001540 ZZ2405=ZZ2405+ZZ2405
-+006762 003300 ZZ2405=ZZ2405+ZZ2405
-+006762 006600 ZZ2405=ZZ2405+ZZ2405
-+006762 015400 ZZ2405=ZZ2405+ZZ2405
-+006762 033000 ZZ2405=ZZ2405+ZZ2405
-+006762 066000 ZZ2405=ZZ2405+ZZ2405
-+006762 154000 ZZ2405=ZZ2405+ZZ2405
-+006762 012426 0 8192 -ZZ1405
-+006763 154000 0 ZZ2405
-- mark 2848, -82 /
-+006764 777532 ZZ2406=ZZ2406+ZZ2406
-+006764 777264 ZZ2406=ZZ2406+ZZ2406
-+006764 776550 ZZ2406=ZZ2406+ZZ2406
-+006764 775320 ZZ2406=ZZ2406+ZZ2406
-+006764 772640 ZZ2406=ZZ2406+ZZ2406
-+006764 765500 ZZ2406=ZZ2406+ZZ2406
-+006764 753200 ZZ2406=ZZ2406+ZZ2406
-+006764 726400 ZZ2406=ZZ2406+ZZ2406
-+006764 012340 0 8192 -ZZ1406
-+006765 726400 0 ZZ2406
-- mark 2915, 138 / 4 hyda
-+006766 000424 ZZ2407=ZZ2407+ZZ2407
-+006766 001050 ZZ2407=ZZ2407+ZZ2407
-+006766 002120 ZZ2407=ZZ2407+ZZ2407
-+006766 004240 ZZ2407=ZZ2407+ZZ2407
-+006766 010500 ZZ2407=ZZ2407+ZZ2407
-+006766 021200 ZZ2407=ZZ2407+ZZ2407
-+006766 042400 ZZ2407=ZZ2407+ZZ2407
-+006766 105000 ZZ2407=ZZ2407+ZZ2407
-+006766 012235 0 8192 -ZZ1407
-+006767 105000 0 ZZ2407
-- mark 2921, 84 / 5 hyda
-+006770 000250 ZZ2408=ZZ2408+ZZ2408
-+006770 000520 ZZ2408=ZZ2408+ZZ2408
-+006770 001240 ZZ2408=ZZ2408+ZZ2408
-+006770 002500 ZZ2408=ZZ2408+ZZ2408
-+006770 005200 ZZ2408=ZZ2408+ZZ2408
-+006770 012400 ZZ2408=ZZ2408+ZZ2408
-+006770 025000 ZZ2408=ZZ2408+ZZ2408
-+006770 052000 ZZ2408=ZZ2408+ZZ2408
-+006770 012227 0 8192 -ZZ1408
-+006771 052000 0 ZZ2408
-- mark 2942, -355 / 9 hyda
-+006772 776470 ZZ2409=ZZ2409+ZZ2409
-+006772 775160 ZZ2409=ZZ2409+ZZ2409
-+006772 772340 ZZ2409=ZZ2409+ZZ2409
-+006772 764700 ZZ2409=ZZ2409+ZZ2409
-+006772 751600 ZZ2409=ZZ2409+ZZ2409
-+006772 723400 ZZ2409=ZZ2409+ZZ2409
-+006772 647000 ZZ2409=ZZ2409+ZZ2409
-+006772 516000 ZZ2409=ZZ2409+ZZ2409
-+006772 012202 0 8192 -ZZ1409
-+006773 516000 0 ZZ2409
-- mark 2944, 497 /43 canc
-+006774 001742 ZZ2410=ZZ2410+ZZ2410
-+006774 003704 ZZ2410=ZZ2410+ZZ2410
-+006774 007610 ZZ2410=ZZ2410+ZZ2410
-+006774 017420 ZZ2410=ZZ2410+ZZ2410
-+006774 037040 ZZ2410=ZZ2410+ZZ2410
-+006774 076100 ZZ2410=ZZ2410+ZZ2410
-+006774 174200 ZZ2410=ZZ2410+ZZ2410
-+006774 370400 ZZ2410=ZZ2410+ZZ2410
-+006774 012200 0 8192 -ZZ1410
-+006775 370400 0 ZZ2410
-- mark 2947, 85 / 7 hyda
-+006776 000252 ZZ2411=ZZ2411+ZZ2411
-+006776 000524 ZZ2411=ZZ2411+ZZ2411
-+006776 001250 ZZ2411=ZZ2411+ZZ2411
-+006776 002520 ZZ2411=ZZ2411+ZZ2411
-+006776 005240 ZZ2411=ZZ2411+ZZ2411
-+006776 012500 ZZ2411=ZZ2411+ZZ2411
-+006776 025200 ZZ2411=ZZ2411+ZZ2411
-+006776 052400 ZZ2411=ZZ2411+ZZ2411
-+006776 012175 0 8192 -ZZ1411
-+006777 052400 0 ZZ2411
-- mark 2951, -156 /
-+007000 777306 ZZ2412=ZZ2412+ZZ2412
-+007000 776614 ZZ2412=ZZ2412+ZZ2412
-+007000 775430 ZZ2412=ZZ2412+ZZ2412
-+007000 773060 ZZ2412=ZZ2412+ZZ2412
-+007000 766140 ZZ2412=ZZ2412+ZZ2412
-+007000 754300 ZZ2412=ZZ2412+ZZ2412
-+007000 730600 ZZ2412=ZZ2412+ZZ2412
-+007000 661400 ZZ2412=ZZ2412+ZZ2412
-+007000 012171 0 8192 -ZZ1412
-+007001 661400 0 ZZ2412
-- mark 2953, 421 /47 canc
-+007002 001512 ZZ2413=ZZ2413+ZZ2413
-+007002 003224 ZZ2413=ZZ2413+ZZ2413
-+007002 006450 ZZ2413=ZZ2413+ZZ2413
-+007002 015120 ZZ2413=ZZ2413+ZZ2413
-+007002 032240 ZZ2413=ZZ2413+ZZ2413
-+007002 064500 ZZ2413=ZZ2413+ZZ2413
-+007002 151200 ZZ2413=ZZ2413+ZZ2413
-+007002 322400 ZZ2413=ZZ2413+ZZ2413
-+007002 012167 0 8192 -ZZ1413
-+007003 322400 0 ZZ2413
-- mark 2968, -300 /12 hyda
-+007004 776646 ZZ2414=ZZ2414+ZZ2414
-+007004 775514 ZZ2414=ZZ2414+ZZ2414
-+007004 773230 ZZ2414=ZZ2414+ZZ2414
-+007004 766460 ZZ2414=ZZ2414+ZZ2414
-+007004 755140 ZZ2414=ZZ2414+ZZ2414
-+007004 732300 ZZ2414=ZZ2414+ZZ2414
-+007004 664600 ZZ2414=ZZ2414+ZZ2414
-+007004 551400 ZZ2414=ZZ2414+ZZ2414
-+007004 012150 0 8192 -ZZ1414
-+007005 551400 0 ZZ2414
-- mark 2976, 141 /13 hyda
-+007006 000432 ZZ2415=ZZ2415+ZZ2415
-+007006 001064 ZZ2415=ZZ2415+ZZ2415
-+007006 002150 ZZ2415=ZZ2415+ZZ2415
-+007006 004320 ZZ2415=ZZ2415+ZZ2415
-+007006 010640 ZZ2415=ZZ2415+ZZ2415
-+007006 021500 ZZ2415=ZZ2415+ZZ2415
-+007006 043200 ZZ2415=ZZ2415+ZZ2415
-+007006 106400 ZZ2415=ZZ2415+ZZ2415
-+007006 012140 0 8192 -ZZ1415
-+007007 106400 0 ZZ2415
-- mark 3032, 279 /65 canc
-+007010 001056 ZZ2416=ZZ2416+ZZ2416
-+007010 002134 ZZ2416=ZZ2416+ZZ2416
-+007010 004270 ZZ2416=ZZ2416+ZZ2416
-+007010 010560 ZZ2416=ZZ2416+ZZ2416
-+007010 021340 ZZ2416=ZZ2416+ZZ2416
-+007010 042700 ZZ2416=ZZ2416+ZZ2416
-+007010 105600 ZZ2416=ZZ2416+ZZ2416
-+007010 213400 ZZ2416=ZZ2416+ZZ2416
-+007010 012050 0 8192 -ZZ1416
-+007011 213400 0 ZZ2416
-- mark 3124, 62 /22 hyda
-+007012 000174 ZZ2417=ZZ2417+ZZ2417
-+007012 000370 ZZ2417=ZZ2417+ZZ2417
-+007012 000760 ZZ2417=ZZ2417+ZZ2417
-+007012 001740 ZZ2417=ZZ2417+ZZ2417
-+007012 003700 ZZ2417=ZZ2417+ZZ2417
-+007012 007600 ZZ2417=ZZ2417+ZZ2417
-+007012 017400 ZZ2417=ZZ2417+ZZ2417
-+007012 037000 ZZ2417=ZZ2417+ZZ2417
-+007012 011714 0 8192 -ZZ1417
-+007013 037000 0 ZZ2417
-- mark 3157, -263 /26 hyda
-+007014 776760 ZZ2418=ZZ2418+ZZ2418
-+007014 775740 ZZ2418=ZZ2418+ZZ2418
-+007014 773700 ZZ2418=ZZ2418+ZZ2418
-+007014 767600 ZZ2418=ZZ2418+ZZ2418
-+007014 757400 ZZ2418=ZZ2418+ZZ2418
-+007014 737000 ZZ2418=ZZ2418+ZZ2418
-+007014 676000 ZZ2418=ZZ2418+ZZ2418
-+007014 574000 ZZ2418=ZZ2418+ZZ2418
-+007014 011653 0 8192 -ZZ1418
-+007015 574000 0 ZZ2418
-- mark 3161, -208 /27 hyda
-+007016 777136 ZZ2419=ZZ2419+ZZ2419
-+007016 776274 ZZ2419=ZZ2419+ZZ2419
-+007016 774570 ZZ2419=ZZ2419+ZZ2419
-+007016 771360 ZZ2419=ZZ2419+ZZ2419
-+007016 762740 ZZ2419=ZZ2419+ZZ2419
-+007016 745700 ZZ2419=ZZ2419+ZZ2419
-+007016 713600 ZZ2419=ZZ2419+ZZ2419
-+007016 627400 ZZ2419=ZZ2419+ZZ2419
-+007016 011647 0 8192 -ZZ1419
-+007017 627400 0 ZZ2419
-- mark 3209, -53 /31 hyda
-+007020 777624 ZZ2420=ZZ2420+ZZ2420
-+007020 777450 ZZ2420=ZZ2420+ZZ2420
-+007020 777120 ZZ2420=ZZ2420+ZZ2420
-+007020 776240 ZZ2420=ZZ2420+ZZ2420
-+007020 774500 ZZ2420=ZZ2420+ZZ2420
-+007020 771200 ZZ2420=ZZ2420+ZZ2420
-+007020 762400 ZZ2420=ZZ2420+ZZ2420
-+007020 745000 ZZ2420=ZZ2420+ZZ2420
-+007020 011567 0 8192 -ZZ1420
-+007021 745000 0 ZZ2420
-- mark 3225, -17 /32 hyda
-+007022 777734 ZZ2421=ZZ2421+ZZ2421
-+007022 777670 ZZ2421=ZZ2421+ZZ2421
-+007022 777560 ZZ2421=ZZ2421+ZZ2421
-+007022 777340 ZZ2421=ZZ2421+ZZ2421
-+007022 776700 ZZ2421=ZZ2421+ZZ2421
-+007022 775600 ZZ2421=ZZ2421+ZZ2421
-+007022 773400 ZZ2421=ZZ2421+ZZ2421
-+007022 767000 ZZ2421=ZZ2421+ZZ2421
-+007022 011547 0 8192 -ZZ1421
-+007023 767000 0 ZZ2421
-- mark 3261, 116 /
-+007024 000350 ZZ2422=ZZ2422+ZZ2422
-+007024 000720 ZZ2422=ZZ2422+ZZ2422
-+007024 001640 ZZ2422=ZZ2422+ZZ2422
-+007024 003500 ZZ2422=ZZ2422+ZZ2422
-+007024 007200 ZZ2422=ZZ2422+ZZ2422
-+007024 016400 ZZ2422=ZZ2422+ZZ2422
-+007024 035000 ZZ2422=ZZ2422+ZZ2422
-+007024 072000 ZZ2422=ZZ2422+ZZ2422
-+007024 011503 0 8192 -ZZ1422
-+007025 072000 0 ZZ2422
-- mark 3270, -16 /35 hyda
-+007026 777736 ZZ2423=ZZ2423+ZZ2423
-+007026 777674 ZZ2423=ZZ2423+ZZ2423
-+007026 777570 ZZ2423=ZZ2423+ZZ2423
-+007026 777360 ZZ2423=ZZ2423+ZZ2423
-+007026 776740 ZZ2423=ZZ2423+ZZ2423
-+007026 775700 ZZ2423=ZZ2423+ZZ2423
-+007026 773600 ZZ2423=ZZ2423+ZZ2423
-+007026 767400 ZZ2423=ZZ2423+ZZ2423
-+007026 011472 0 8192 -ZZ1423
-+007027 767400 0 ZZ2423
-- mark 3274, -316 /38 hyda
-+007030 776606 ZZ2424=ZZ2424+ZZ2424
-+007030 775414 ZZ2424=ZZ2424+ZZ2424
-+007030 773030 ZZ2424=ZZ2424+ZZ2424
-+007030 766060 ZZ2424=ZZ2424+ZZ2424
-+007030 754140 ZZ2424=ZZ2424+ZZ2424
-+007030 730300 ZZ2424=ZZ2424+ZZ2424
-+007030 660600 ZZ2424=ZZ2424+ZZ2424
-+007030 541400 ZZ2424=ZZ2424+ZZ2424
-+007030 011466 0 8192 -ZZ1424
-+007031 541400 0 ZZ2424
-- mark 3276, 236 /14 leon
-+007032 000730 ZZ2425=ZZ2425+ZZ2425
-+007032 001660 ZZ2425=ZZ2425+ZZ2425
-+007032 003540 ZZ2425=ZZ2425+ZZ2425
-+007032 007300 ZZ2425=ZZ2425+ZZ2425
-+007032 016600 ZZ2425=ZZ2425+ZZ2425
-+007032 035400 ZZ2425=ZZ2425+ZZ2425
-+007032 073000 ZZ2425=ZZ2425+ZZ2425
-+007032 166000 ZZ2425=ZZ2425+ZZ2425
-+007032 011464 0 8192 -ZZ1425
-+007033 166000 0 ZZ2425
-- mark 3338, -327 /39 hyda
-+007034 776560 ZZ2426=ZZ2426+ZZ2426
-+007034 775340 ZZ2426=ZZ2426+ZZ2426
-+007034 772700 ZZ2426=ZZ2426+ZZ2426
-+007034 765600 ZZ2426=ZZ2426+ZZ2426
-+007034 753400 ZZ2426=ZZ2426+ZZ2426
-+007034 727000 ZZ2426=ZZ2426+ZZ2426
-+007034 656000 ZZ2426=ZZ2426+ZZ2426
-+007034 534000 ZZ2426=ZZ2426+ZZ2426
-+007034 011366 0 8192 -ZZ1426
-+007035 534000 0 ZZ2426
-- mark 3385, 194 /29 leon
-+007036 000604 ZZ2427=ZZ2427+ZZ2427
-+007036 001410 ZZ2427=ZZ2427+ZZ2427
-+007036 003020 ZZ2427=ZZ2427+ZZ2427
-+007036 006040 ZZ2427=ZZ2427+ZZ2427
-+007036 014100 ZZ2427=ZZ2427+ZZ2427
-+007036 030200 ZZ2427=ZZ2427+ZZ2427
-+007036 060400 ZZ2427=ZZ2427+ZZ2427
-+007036 141000 ZZ2427=ZZ2427+ZZ2427
-+007036 011307 0 8192 -ZZ1427
-+007037 141000 0 ZZ2427
-- mark 3415, -286 /40 hyda
-+007040 776702 ZZ2428=ZZ2428+ZZ2428
-+007040 775604 ZZ2428=ZZ2428+ZZ2428
-+007040 773410 ZZ2428=ZZ2428+ZZ2428
-+007040 767020 ZZ2428=ZZ2428+ZZ2428
-+007040 756040 ZZ2428=ZZ2428+ZZ2428
-+007040 734100 ZZ2428=ZZ2428+ZZ2428
-+007040 670200 ZZ2428=ZZ2428+ZZ2428
-+007040 560400 ZZ2428=ZZ2428+ZZ2428
-+007040 011251 0 8192 -ZZ1428
-+007041 560400 0 ZZ2428
-- mark 3428, 239 /31 leon
-+007042 000736 ZZ2429=ZZ2429+ZZ2429
-+007042 001674 ZZ2429=ZZ2429+ZZ2429
-+007042 003570 ZZ2429=ZZ2429+ZZ2429
-+007042 007360 ZZ2429=ZZ2429+ZZ2429
-+007042 016740 ZZ2429=ZZ2429+ZZ2429
-+007042 035700 ZZ2429=ZZ2429+ZZ2429
-+007042 073600 ZZ2429=ZZ2429+ZZ2429
-+007042 167400 ZZ2429=ZZ2429+ZZ2429
-+007042 011234 0 8192 -ZZ1429
-+007043 167400 0 ZZ2429
-- mark 3429, 3 /15 sext
-+007044 000006 ZZ2430=ZZ2430+ZZ2430
-+007044 000014 ZZ2430=ZZ2430+ZZ2430
-+007044 000030 ZZ2430=ZZ2430+ZZ2430
-+007044 000060 ZZ2430=ZZ2430+ZZ2430
-+007044 000140 ZZ2430=ZZ2430+ZZ2430
-+007044 000300 ZZ2430=ZZ2430+ZZ2430
-+007044 000600 ZZ2430=ZZ2430+ZZ2430
-+007044 001400 ZZ2430=ZZ2430+ZZ2430
-+007044 011233 0 8192 -ZZ1430
-+007045 001400 0 ZZ2430
-- mark 3446, -270 /41 hyda
-+007046 776742 ZZ2431=ZZ2431+ZZ2431
-+007046 775704 ZZ2431=ZZ2431+ZZ2431
-+007046 773610 ZZ2431=ZZ2431+ZZ2431
-+007046 767420 ZZ2431=ZZ2431+ZZ2431
-+007046 757040 ZZ2431=ZZ2431+ZZ2431
-+007046 736100 ZZ2431=ZZ2431+ZZ2431
-+007046 674200 ZZ2431=ZZ2431+ZZ2431
-+007046 570400 ZZ2431=ZZ2431+ZZ2431
-+007046 011212 0 8192 -ZZ1431
-+007047 570400 0 ZZ2431
-- mark 3495, 455 /40 leon
-+007050 001616 ZZ2432=ZZ2432+ZZ2432
-+007050 003434 ZZ2432=ZZ2432+ZZ2432
-+007050 007070 ZZ2432=ZZ2432+ZZ2432
-+007050 016160 ZZ2432=ZZ2432+ZZ2432
-+007050 034340 ZZ2432=ZZ2432+ZZ2432
-+007050 070700 ZZ2432=ZZ2432+ZZ2432
-+007050 161600 ZZ2432=ZZ2432+ZZ2432
-+007050 343400 ZZ2432=ZZ2432+ZZ2432
-+007050 011131 0 8192 -ZZ1432
-+007051 343400 0 ZZ2432
-- mark 3534, -372 /42 hyda
-+007052 776426 ZZ2433=ZZ2433+ZZ2433
-+007052 775054 ZZ2433=ZZ2433+ZZ2433
-+007052 772130 ZZ2433=ZZ2433+ZZ2433
-+007052 764260 ZZ2433=ZZ2433+ZZ2433
-+007052 750540 ZZ2433=ZZ2433+ZZ2433
-+007052 721300 ZZ2433=ZZ2433+ZZ2433
-+007052 642600 ZZ2433=ZZ2433+ZZ2433
-+007052 505400 ZZ2433=ZZ2433+ZZ2433
-+007052 011062 0 8192 -ZZ1433
-+007053 505400 0 ZZ2433
-- mark 3557, -3 /30 sext
-+007054 777770 ZZ2434=ZZ2434+ZZ2434
-+007054 777760 ZZ2434=ZZ2434+ZZ2434
-+007054 777740 ZZ2434=ZZ2434+ZZ2434
-+007054 777700 ZZ2434=ZZ2434+ZZ2434
-+007054 777600 ZZ2434=ZZ2434+ZZ2434
-+007054 777400 ZZ2434=ZZ2434+ZZ2434
-+007054 777000 ZZ2434=ZZ2434+ZZ2434
-+007054 776000 ZZ2434=ZZ2434+ZZ2434
-+007054 011033 0 8192 -ZZ1434
-+007055 776000 0 ZZ2434
-- mark 3570, 223 /47 leon
-+007056 000676 ZZ2435=ZZ2435+ZZ2435
-+007056 001574 ZZ2435=ZZ2435+ZZ2435
-+007056 003370 ZZ2435=ZZ2435+ZZ2435
-+007056 006760 ZZ2435=ZZ2435+ZZ2435
-+007056 015740 ZZ2435=ZZ2435+ZZ2435
-+007056 033700 ZZ2435=ZZ2435+ZZ2435
-+007056 067600 ZZ2435=ZZ2435+ZZ2435
-+007056 157400 ZZ2435=ZZ2435+ZZ2435
-+007056 011016 0 8192 -ZZ1435
-+007057 157400 0 ZZ2435
-- mark 3726, -404 /al crat
-+007060 776326 ZZ2436=ZZ2436+ZZ2436
-+007060 774654 ZZ2436=ZZ2436+ZZ2436
-+007060 771530 ZZ2436=ZZ2436+ZZ2436
-+007060 763260 ZZ2436=ZZ2436+ZZ2436
-+007060 746540 ZZ2436=ZZ2436+ZZ2436
-+007060 715300 ZZ2436=ZZ2436+ZZ2436
-+007060 632600 ZZ2436=ZZ2436+ZZ2436
-+007060 465400 ZZ2436=ZZ2436+ZZ2436
-+007060 010562 0 8192 -ZZ1436
-+007061 465400 0 ZZ2436
-- mark 3736, -44 /61 leon
-+007062 777646 ZZ2437=ZZ2437+ZZ2437
-+007062 777514 ZZ2437=ZZ2437+ZZ2437
-+007062 777230 ZZ2437=ZZ2437+ZZ2437
-+007062 776460 ZZ2437=ZZ2437+ZZ2437
-+007062 775140 ZZ2437=ZZ2437+ZZ2437
-+007062 772300 ZZ2437=ZZ2437+ZZ2437
-+007062 764600 ZZ2437=ZZ2437+ZZ2437
-+007062 751400 ZZ2437=ZZ2437+ZZ2437
-+007062 010550 0 8192 -ZZ1437
-+007063 751400 0 ZZ2437
-- mark 3738, 471 /60 leon
-+007064 001656 ZZ2438=ZZ2438+ZZ2438
-+007064 003534 ZZ2438=ZZ2438+ZZ2438
-+007064 007270 ZZ2438=ZZ2438+ZZ2438
-+007064 016560 ZZ2438=ZZ2438+ZZ2438
-+007064 035340 ZZ2438=ZZ2438+ZZ2438
-+007064 072700 ZZ2438=ZZ2438+ZZ2438
-+007064 165600 ZZ2438=ZZ2438+ZZ2438
-+007064 353400 ZZ2438=ZZ2438+ZZ2438
-+007064 010546 0 8192 -ZZ1438
-+007065 353400 0 ZZ2438
-- mark 3754, 179 /63 leon
-+007066 000546 ZZ2439=ZZ2439+ZZ2439
-+007066 001314 ZZ2439=ZZ2439+ZZ2439
-+007066 002630 ZZ2439=ZZ2439+ZZ2439
-+007066 005460 ZZ2439=ZZ2439+ZZ2439
-+007066 013140 ZZ2439=ZZ2439+ZZ2439
-+007066 026300 ZZ2439=ZZ2439+ZZ2439
-+007066 054600 ZZ2439=ZZ2439+ZZ2439
-+007066 131400 ZZ2439=ZZ2439+ZZ2439
-+007066 010526 0 8192 -ZZ1439
-+007067 131400 0 ZZ2439
-- mark 3793, -507 /11 crat
-+007070 776010 ZZ2440=ZZ2440+ZZ2440
-+007070 774020 ZZ2440=ZZ2440+ZZ2440
-+007070 770040 ZZ2440=ZZ2440+ZZ2440
-+007070 760100 ZZ2440=ZZ2440+ZZ2440
-+007070 740200 ZZ2440=ZZ2440+ZZ2440
-+007070 700400 ZZ2440=ZZ2440+ZZ2440
-+007070 601000 ZZ2440=ZZ2440+ZZ2440
-+007070 402000 ZZ2440=ZZ2440+ZZ2440
-+007070 010457 0 8192 -ZZ1440
-+007071 402000 0 ZZ2440
-- mark 3821, -71 /74 leon
-+007072 777560 ZZ2441=ZZ2441+ZZ2441
-+007072 777340 ZZ2441=ZZ2441+ZZ2441
-+007072 776700 ZZ2441=ZZ2441+ZZ2441
-+007072 775600 ZZ2441=ZZ2441+ZZ2441
-+007072 773400 ZZ2441=ZZ2441+ZZ2441
-+007072 767000 ZZ2441=ZZ2441+ZZ2441
-+007072 756000 ZZ2441=ZZ2441+ZZ2441
-+007072 734000 ZZ2441=ZZ2441+ZZ2441
-+007072 010423 0 8192 -ZZ1441
-+007073 734000 0 ZZ2441
-- mark 3836, -324 /12 crat
-+007074 776566 ZZ2442=ZZ2442+ZZ2442
-+007074 775354 ZZ2442=ZZ2442+ZZ2442
-+007074 772730 ZZ2442=ZZ2442+ZZ2442
-+007074 765660 ZZ2442=ZZ2442+ZZ2442
-+007074 753540 ZZ2442=ZZ2442+ZZ2442
-+007074 727300 ZZ2442=ZZ2442+ZZ2442
-+007074 656600 ZZ2442=ZZ2442+ZZ2442
-+007074 535400 ZZ2442=ZZ2442+ZZ2442
-+007074 010404 0 8192 -ZZ1442
-+007075 535400 0 ZZ2442
-- mark 3846, 150 /77 leon
-+007076 000454 ZZ2443=ZZ2443+ZZ2443
-+007076 001130 ZZ2443=ZZ2443+ZZ2443
-+007076 002260 ZZ2443=ZZ2443+ZZ2443
-+007076 004540 ZZ2443=ZZ2443+ZZ2443
-+007076 011300 ZZ2443=ZZ2443+ZZ2443
-+007076 022600 ZZ2443=ZZ2443+ZZ2443
-+007076 045400 ZZ2443=ZZ2443+ZZ2443
-+007076 113000 ZZ2443=ZZ2443+ZZ2443
-+007076 010372 0 8192 -ZZ1443
-+007077 113000 0 ZZ2443
-- mark 3861, 252 /78 leon
-+007100 000770 ZZ2444=ZZ2444+ZZ2444
-+007100 001760 ZZ2444=ZZ2444+ZZ2444
-+007100 003740 ZZ2444=ZZ2444+ZZ2444
-+007100 007700 ZZ2444=ZZ2444+ZZ2444
-+007100 017600 ZZ2444=ZZ2444+ZZ2444
-+007100 037400 ZZ2444=ZZ2444+ZZ2444
-+007100 077000 ZZ2444=ZZ2444+ZZ2444
-+007100 176000 ZZ2444=ZZ2444+ZZ2444
-+007100 010353 0 8192 -ZZ1444
-+007101 176000 0 ZZ2444
-- mark 3868, -390 /15 crat
-+007102 776362 ZZ2445=ZZ2445+ZZ2445
-+007102 774744 ZZ2445=ZZ2445+ZZ2445
-+007102 771710 ZZ2445=ZZ2445+ZZ2445
-+007102 763620 ZZ2445=ZZ2445+ZZ2445
-+007102 747440 ZZ2445=ZZ2445+ZZ2445
-+007102 717100 ZZ2445=ZZ2445+ZZ2445
-+007102 636200 ZZ2445=ZZ2445+ZZ2445
-+007102 474400 ZZ2445=ZZ2445+ZZ2445
-+007102 010344 0 8192 -ZZ1445
-+007103 474400 0 ZZ2445
-- mark 3935, -211 /21 crat
-+007104 777130 ZZ2446=ZZ2446+ZZ2446
-+007104 776260 ZZ2446=ZZ2446+ZZ2446
-+007104 774540 ZZ2446=ZZ2446+ZZ2446
-+007104 771300 ZZ2446=ZZ2446+ZZ2446
-+007104 762600 ZZ2446=ZZ2446+ZZ2446
-+007104 745400 ZZ2446=ZZ2446+ZZ2446
-+007104 713000 ZZ2446=ZZ2446+ZZ2446
-+007104 626000 ZZ2446=ZZ2446+ZZ2446
-+007104 010241 0 8192 -ZZ1446
-+007105 626000 0 ZZ2446
-- mark 3936, -6 /91 leon
-+007106 777762 ZZ2447=ZZ2447+ZZ2447
-+007106 777744 ZZ2447=ZZ2447+ZZ2447
-+007106 777710 ZZ2447=ZZ2447+ZZ2447
-+007106 777620 ZZ2447=ZZ2447+ZZ2447
-+007106 777440 ZZ2447=ZZ2447+ZZ2447
-+007106 777100 ZZ2447=ZZ2447+ZZ2447
-+007106 776200 ZZ2447=ZZ2447+ZZ2447
-+007106 774400 ZZ2447=ZZ2447+ZZ2447
-+007106 010240 0 8192 -ZZ1447
-+007107 774400 0 ZZ2447
-- mark 3981, -405 /27 crat
-+007110 776324 ZZ2448=ZZ2448+ZZ2448
-+007110 774650 ZZ2448=ZZ2448+ZZ2448
-+007110 771520 ZZ2448=ZZ2448+ZZ2448
-+007110 763240 ZZ2448=ZZ2448+ZZ2448
-+007110 746500 ZZ2448=ZZ2448+ZZ2448
-+007110 715200 ZZ2448=ZZ2448+ZZ2448
-+007110 632400 ZZ2448=ZZ2448+ZZ2448
-+007110 465000 ZZ2448=ZZ2448+ZZ2448
-+007110 010163 0 8192 -ZZ1448
-+007111 465000 0 ZZ2448
-- mark 3986, 161 / 3 virg
-+007112 000502 ZZ2449=ZZ2449+ZZ2449
-+007112 001204 ZZ2449=ZZ2449+ZZ2449
-+007112 002410 ZZ2449=ZZ2449+ZZ2449
-+007112 005020 ZZ2449=ZZ2449+ZZ2449
-+007112 012040 ZZ2449=ZZ2449+ZZ2449
-+007112 024100 ZZ2449=ZZ2449+ZZ2449
-+007112 050200 ZZ2449=ZZ2449+ZZ2449
-+007112 120400 ZZ2449=ZZ2449+ZZ2449
-+007112 010156 0 8192 -ZZ1449
-+007113 120400 0 ZZ2449
-- mark 3998, 473 /93 leon
-+007114 001662 ZZ2450=ZZ2450+ZZ2450
-+007114 003544 ZZ2450=ZZ2450+ZZ2450
-+007114 007310 ZZ2450=ZZ2450+ZZ2450
-+007114 016620 ZZ2450=ZZ2450+ZZ2450
-+007114 035440 ZZ2450=ZZ2450+ZZ2450
-+007114 073100 ZZ2450=ZZ2450+ZZ2450
-+007114 166200 ZZ2450=ZZ2450+ZZ2450
-+007114 354400 ZZ2450=ZZ2450+ZZ2450
-+007114 010142 0 8192 -ZZ1450
-+007115 354400 0 ZZ2450
-- mark 4013, 53 / 5 virg
-+007116 000152 ZZ2451=ZZ2451+ZZ2451
-+007116 000324 ZZ2451=ZZ2451+ZZ2451
-+007116 000650 ZZ2451=ZZ2451+ZZ2451
-+007116 001520 ZZ2451=ZZ2451+ZZ2451
-+007116 003240 ZZ2451=ZZ2451+ZZ2451
-+007116 006500 ZZ2451=ZZ2451+ZZ2451
-+007116 015200 ZZ2451=ZZ2451+ZZ2451
-+007116 032400 ZZ2451=ZZ2451+ZZ2451
-+007116 010123 0 8192 -ZZ1451
-+007117 032400 0 ZZ2451
-- mark 4072, 163 / 8 virg
-+007120 000506 ZZ2452=ZZ2452+ZZ2452
-+007120 001214 ZZ2452=ZZ2452+ZZ2452
-+007120 002430 ZZ2452=ZZ2452+ZZ2452
-+007120 005060 ZZ2452=ZZ2452+ZZ2452
-+007120 012140 ZZ2452=ZZ2452+ZZ2452
-+007120 024300 ZZ2452=ZZ2452+ZZ2452
-+007120 050600 ZZ2452=ZZ2452+ZZ2452
-+007120 121400 ZZ2452=ZZ2452+ZZ2452
-+007120 010030 0 8192 -ZZ1452
-+007121 121400 0 ZZ2452
-- mark 4097, 211 / 9 virg
-+007122 000646 ZZ2453=ZZ2453+ZZ2453
-+007122 001514 ZZ2453=ZZ2453+ZZ2453
-+007122 003230 ZZ2453=ZZ2453+ZZ2453
-+007122 006460 ZZ2453=ZZ2453+ZZ2453
-+007122 015140 ZZ2453=ZZ2453+ZZ2453
-+007122 032300 ZZ2453=ZZ2453+ZZ2453
-+007122 064600 ZZ2453=ZZ2453+ZZ2453
-+007122 151400 ZZ2453=ZZ2453+ZZ2453
-+007122 007777 0 8192 -ZZ1453
-+007123 151400 0 ZZ2453
-- mark 4180, -3 /15 virg
-+007124 777770 ZZ2454=ZZ2454+ZZ2454
-+007124 777760 ZZ2454=ZZ2454+ZZ2454
-+007124 777740 ZZ2454=ZZ2454+ZZ2454
-+007124 777700 ZZ2454=ZZ2454+ZZ2454
-+007124 777600 ZZ2454=ZZ2454+ZZ2454
-+007124 777400 ZZ2454=ZZ2454+ZZ2454
-+007124 777000 ZZ2454=ZZ2454+ZZ2454
-+007124 776000 ZZ2454=ZZ2454+ZZ2454
-+007124 007654 0 8192 -ZZ1454
-+007125 776000 0 ZZ2454
-- mark 4185, 418 /11 coma
-+007126 001504 ZZ2455=ZZ2455+ZZ2455
-+007126 003210 ZZ2455=ZZ2455+ZZ2455
-+007126 006420 ZZ2455=ZZ2455+ZZ2455
-+007126 015040 ZZ2455=ZZ2455+ZZ2455
-+007126 032100 ZZ2455=ZZ2455+ZZ2455
-+007126 064200 ZZ2455=ZZ2455+ZZ2455
-+007126 150400 ZZ2455=ZZ2455+ZZ2455
-+007126 321000 ZZ2455=ZZ2455+ZZ2455
-+007126 007647 0 8192 -ZZ1455
-+007127 321000 0 ZZ2455
-- mark 4249, -356 / 8 corv
-+007130 776466 ZZ2456=ZZ2456+ZZ2456
-+007130 775154 ZZ2456=ZZ2456+ZZ2456
-+007130 772330 ZZ2456=ZZ2456+ZZ2456
-+007130 764660 ZZ2456=ZZ2456+ZZ2456
-+007130 751540 ZZ2456=ZZ2456+ZZ2456
-+007130 723300 ZZ2456=ZZ2456+ZZ2456
-+007130 646600 ZZ2456=ZZ2456+ZZ2456
-+007130 515400 ZZ2456=ZZ2456+ZZ2456
-+007130 007547 0 8192 -ZZ1456
-+007131 515400 0 ZZ2456
-- mark 4290, -170 /26 virg
-+007132 777252 ZZ2457=ZZ2457+ZZ2457
-+007132 776524 ZZ2457=ZZ2457+ZZ2457
-+007132 775250 ZZ2457=ZZ2457+ZZ2457
-+007132 772520 ZZ2457=ZZ2457+ZZ2457
-+007132 765240 ZZ2457=ZZ2457+ZZ2457
-+007132 752500 ZZ2457=ZZ2457+ZZ2457
-+007132 725200 ZZ2457=ZZ2457+ZZ2457
-+007132 652400 ZZ2457=ZZ2457+ZZ2457
-+007132 007476 0 8192 -ZZ1457
-+007133 652400 0 ZZ2457
-- mark 4305, 245 /30 virg
-+007134 000752 ZZ2458=ZZ2458+ZZ2458
-+007134 001724 ZZ2458=ZZ2458+ZZ2458
-+007134 003650 ZZ2458=ZZ2458+ZZ2458
-+007134 007520 ZZ2458=ZZ2458+ZZ2458
-+007134 017240 ZZ2458=ZZ2458+ZZ2458
-+007134 036500 ZZ2458=ZZ2458+ZZ2458
-+007134 075200 ZZ2458=ZZ2458+ZZ2458
-+007134 172400 ZZ2458=ZZ2458+ZZ2458
-+007134 007457 0 8192 -ZZ1458
-+007135 172400 0 ZZ2458
-- mark 4376, -205 /40 virg
-+007136 777144 ZZ2459=ZZ2459+ZZ2459
-+007136 776310 ZZ2459=ZZ2459+ZZ2459
-+007136 774620 ZZ2459=ZZ2459+ZZ2459
-+007136 771440 ZZ2459=ZZ2459+ZZ2459
-+007136 763100 ZZ2459=ZZ2459+ZZ2459
-+007136 746200 ZZ2459=ZZ2459+ZZ2459
-+007136 714400 ZZ2459=ZZ2459+ZZ2459
-+007136 631000 ZZ2459=ZZ2459+ZZ2459
-+007136 007350 0 8192 -ZZ1459
-+007137 631000 0 ZZ2459
-- mark 4403, 409 /36 coma
-+007140 001462 ZZ2460=ZZ2460+ZZ2460
-+007140 003144 ZZ2460=ZZ2460+ZZ2460
-+007140 006310 ZZ2460=ZZ2460+ZZ2460
-+007140 014620 ZZ2460=ZZ2460+ZZ2460
-+007140 031440 ZZ2460=ZZ2460+ZZ2460
-+007140 063100 ZZ2460=ZZ2460+ZZ2460
-+007140 146200 ZZ2460=ZZ2460+ZZ2460
-+007140 314400 ZZ2460=ZZ2460+ZZ2460
-+007140 007315 0 8192 -ZZ1460
-+007141 314400 0 ZZ2460
-- mark 4465, -114 /51 virg
-+007142 777432 ZZ2461=ZZ2461+ZZ2461
-+007142 777064 ZZ2461=ZZ2461+ZZ2461
-+007142 776150 ZZ2461=ZZ2461+ZZ2461
-+007142 774320 ZZ2461=ZZ2461+ZZ2461
-+007142 770640 ZZ2461=ZZ2461+ZZ2461
-+007142 761500 ZZ2461=ZZ2461+ZZ2461
-+007142 743200 ZZ2461=ZZ2461+ZZ2461
-+007142 706400 ZZ2461=ZZ2461+ZZ2461
-+007142 007217 0 8192 -ZZ1461
-+007143 706400 0 ZZ2461
-- mark 4466, 411 /42 coma
-+007144 001466 ZZ2462=ZZ2462+ZZ2462
-+007144 003154 ZZ2462=ZZ2462+ZZ2462
-+007144 006330 ZZ2462=ZZ2462+ZZ2462
-+007144 014660 ZZ2462=ZZ2462+ZZ2462
-+007144 031540 ZZ2462=ZZ2462+ZZ2462
-+007144 063300 ZZ2462=ZZ2462+ZZ2462
-+007144 146600 ZZ2462=ZZ2462+ZZ2462
-+007144 315400 ZZ2462=ZZ2462+ZZ2462
-+007144 007216 0 8192 -ZZ1462
-+007145 315400 0 ZZ2462
-- mark 4512, -404 /61 virg
-+007146 776326 ZZ2463=ZZ2463+ZZ2463
-+007146 774654 ZZ2463=ZZ2463+ZZ2463
-+007146 771530 ZZ2463=ZZ2463+ZZ2463
-+007146 763260 ZZ2463=ZZ2463+ZZ2463
-+007146 746540 ZZ2463=ZZ2463+ZZ2463
-+007146 715300 ZZ2463=ZZ2463+ZZ2463
-+007146 632600 ZZ2463=ZZ2463+ZZ2463
-+007146 465400 ZZ2463=ZZ2463+ZZ2463
-+007146 007140 0 8192 -ZZ1463
-+007147 465400 0 ZZ2463
-- mark 4563, -352 /69 virg
-+007150 776476 ZZ2464=ZZ2464+ZZ2464
-+007150 775174 ZZ2464=ZZ2464+ZZ2464
-+007150 772370 ZZ2464=ZZ2464+ZZ2464
-+007150 764760 ZZ2464=ZZ2464+ZZ2464
-+007150 751740 ZZ2464=ZZ2464+ZZ2464
-+007150 723700 ZZ2464=ZZ2464+ZZ2464
-+007150 647600 ZZ2464=ZZ2464+ZZ2464
-+007150 517400 ZZ2464=ZZ2464+ZZ2464
-+007150 007055 0 8192 -ZZ1464
-+007151 517400 0 ZZ2464
-- mark 4590, -131 /74 virg
-+007152 777370 ZZ2465=ZZ2465+ZZ2465
-+007152 776760 ZZ2465=ZZ2465+ZZ2465
-+007152 775740 ZZ2465=ZZ2465+ZZ2465
-+007152 773700 ZZ2465=ZZ2465+ZZ2465
-+007152 767600 ZZ2465=ZZ2465+ZZ2465
-+007152 757400 ZZ2465=ZZ2465+ZZ2465
-+007152 737000 ZZ2465=ZZ2465+ZZ2465
-+007152 676000 ZZ2465=ZZ2465+ZZ2465
-+007152 007022 0 8192 -ZZ1465
-+007153 676000 0 ZZ2465
-- mark 4603, 95 /78 virg
-+007154 000276 ZZ2466=ZZ2466+ZZ2466
-+007154 000574 ZZ2466=ZZ2466+ZZ2466
-+007154 001370 ZZ2466=ZZ2466+ZZ2466
-+007154 002760 ZZ2466=ZZ2466+ZZ2466
-+007154 005740 ZZ2466=ZZ2466+ZZ2466
-+007154 013700 ZZ2466=ZZ2466+ZZ2466
-+007154 027600 ZZ2466=ZZ2466+ZZ2466
-+007154 057400 ZZ2466=ZZ2466+ZZ2466
-+007154 007005 0 8192 -ZZ1466
-+007155 057400 0 ZZ2466
-- mark 4679, 409 / 4 boot
-+007156 001462 ZZ2467=ZZ2467+ZZ2467
-+007156 003144 ZZ2467=ZZ2467+ZZ2467
-+007156 006310 ZZ2467=ZZ2467+ZZ2467
-+007156 014620 ZZ2467=ZZ2467+ZZ2467
-+007156 031440 ZZ2467=ZZ2467+ZZ2467
-+007156 063100 ZZ2467=ZZ2467+ZZ2467
-+007156 146200 ZZ2467=ZZ2467+ZZ2467
-+007156 314400 ZZ2467=ZZ2467+ZZ2467
-+007156 006671 0 8192 -ZZ1467
-+007157 314400 0 ZZ2467
-- mark 4691, 371 / 5 boot
-+007160 001346 ZZ2468=ZZ2468+ZZ2468
-+007160 002714 ZZ2468=ZZ2468+ZZ2468
-+007160 005630 ZZ2468=ZZ2468+ZZ2468
-+007160 013460 ZZ2468=ZZ2468+ZZ2468
-+007160 027140 ZZ2468=ZZ2468+ZZ2468
-+007160 056300 ZZ2468=ZZ2468+ZZ2468
-+007160 134600 ZZ2468=ZZ2468+ZZ2468
-+007160 271400 ZZ2468=ZZ2468+ZZ2468
-+007160 006655 0 8192 -ZZ1468
-+007161 271400 0 ZZ2468
-- mark 4759, 46 /93 virg
-+007162 000134 ZZ2469=ZZ2469+ZZ2469
-+007162 000270 ZZ2469=ZZ2469+ZZ2469
-+007162 000560 ZZ2469=ZZ2469+ZZ2469
-+007162 001340 ZZ2469=ZZ2469+ZZ2469
-+007162 002700 ZZ2469=ZZ2469+ZZ2469
-+007162 005600 ZZ2469=ZZ2469+ZZ2469
-+007162 013400 ZZ2469=ZZ2469+ZZ2469
-+007162 027000 ZZ2469=ZZ2469+ZZ2469
-+007162 006551 0 8192 -ZZ1469
-+007163 027000 0 ZZ2469
-- mark 4820, 66 /
-+007164 000204 ZZ2470=ZZ2470+ZZ2470
-+007164 000410 ZZ2470=ZZ2470+ZZ2470
-+007164 001020 ZZ2470=ZZ2470+ZZ2470
-+007164 002040 ZZ2470=ZZ2470+ZZ2470
-+007164 004100 ZZ2470=ZZ2470+ZZ2470
-+007164 010200 ZZ2470=ZZ2470+ZZ2470
-+007164 020400 ZZ2470=ZZ2470+ZZ2470
-+007164 041000 ZZ2470=ZZ2470+ZZ2470
-+007164 006454 0 8192 -ZZ1470
-+007165 041000 0 ZZ2470
-- mark 4822, -223 /98 virg
-+007166 777100 ZZ2471=ZZ2471+ZZ2471
-+007166 776200 ZZ2471=ZZ2471+ZZ2471
-+007166 774400 ZZ2471=ZZ2471+ZZ2471
-+007166 771000 ZZ2471=ZZ2471+ZZ2471
-+007166 762000 ZZ2471=ZZ2471+ZZ2471
-+007166 744000 ZZ2471=ZZ2471+ZZ2471
-+007166 710000 ZZ2471=ZZ2471+ZZ2471
-+007166 620000 ZZ2471=ZZ2471+ZZ2471
-+007166 006452 0 8192 -ZZ1471
-+007167 620000 0 ZZ2471
-- mark 4840, -126 /99 virg
-+007170 777402 ZZ2472=ZZ2472+ZZ2472
-+007170 777004 ZZ2472=ZZ2472+ZZ2472
-+007170 776010 ZZ2472=ZZ2472+ZZ2472
-+007170 774020 ZZ2472=ZZ2472+ZZ2472
-+007170 770040 ZZ2472=ZZ2472+ZZ2472
-+007170 760100 ZZ2472=ZZ2472+ZZ2472
-+007170 740200 ZZ2472=ZZ2472+ZZ2472
-+007170 700400 ZZ2472=ZZ2472+ZZ2472
-+007170 006430 0 8192 -ZZ1472
-+007171 700400 0 ZZ2472
-- mark 4857, -294 /100 virg
-+007172 776662 ZZ2473=ZZ2473+ZZ2473
-+007172 775544 ZZ2473=ZZ2473+ZZ2473
-+007172 773310 ZZ2473=ZZ2473+ZZ2473
-+007172 766620 ZZ2473=ZZ2473+ZZ2473
-+007172 755440 ZZ2473=ZZ2473+ZZ2473
-+007172 733100 ZZ2473=ZZ2473+ZZ2473
-+007172 666200 ZZ2473=ZZ2473+ZZ2473
-+007172 554400 ZZ2473=ZZ2473+ZZ2473
-+007172 006407 0 8192 -ZZ1473
-+007173 554400 0 ZZ2473
-- mark 4864, 382 /20 boot
-+007174 001374 ZZ2474=ZZ2474+ZZ2474
-+007174 002770 ZZ2474=ZZ2474+ZZ2474
-+007174 005760 ZZ2474=ZZ2474+ZZ2474
-+007174 013740 ZZ2474=ZZ2474+ZZ2474
-+007174 027700 ZZ2474=ZZ2474+ZZ2474
-+007174 057600 ZZ2474=ZZ2474+ZZ2474
-+007174 137400 ZZ2474=ZZ2474+ZZ2474
-+007174 277000 ZZ2474=ZZ2474+ZZ2474
-+007174 006400 0 8192 -ZZ1474
-+007175 277000 0 ZZ2474
-- mark 4910, -41 /105 virg
-+007176 777654 ZZ2475=ZZ2475+ZZ2475
-+007176 777530 ZZ2475=ZZ2475+ZZ2475
-+007176 777260 ZZ2475=ZZ2475+ZZ2475
-+007176 776540 ZZ2475=ZZ2475+ZZ2475
-+007176 775300 ZZ2475=ZZ2475+ZZ2475
-+007176 772600 ZZ2475=ZZ2475+ZZ2475
-+007176 765400 ZZ2475=ZZ2475+ZZ2475
-+007176 753000 ZZ2475=ZZ2475+ZZ2475
-+007176 006322 0 8192 -ZZ1475
-+007177 753000 0 ZZ2475
-- mark 4984, 383 /29 boot
-+007200 001376 ZZ2476=ZZ2476+ZZ2476
-+007200 002774 ZZ2476=ZZ2476+ZZ2476
-+007200 005770 ZZ2476=ZZ2476+ZZ2476
-+007200 013760 ZZ2476=ZZ2476+ZZ2476
-+007200 027740 ZZ2476=ZZ2476+ZZ2476
-+007200 057700 ZZ2476=ZZ2476+ZZ2476
-+007200 137600 ZZ2476=ZZ2476+ZZ2476
-+007200 277400 ZZ2476=ZZ2476+ZZ2476
-+007200 006210 0 8192 -ZZ1476
-+007201 277400 0 ZZ2476
-- mark 4986, 322 /30 boot
-+007202 001204 ZZ2477=ZZ2477+ZZ2477
-+007202 002410 ZZ2477=ZZ2477+ZZ2477
-+007202 005020 ZZ2477=ZZ2477+ZZ2477
-+007202 012040 ZZ2477=ZZ2477+ZZ2477
-+007202 024100 ZZ2477=ZZ2477+ZZ2477
-+007202 050200 ZZ2477=ZZ2477+ZZ2477
-+007202 120400 ZZ2477=ZZ2477+ZZ2477
-+007202 241000 ZZ2477=ZZ2477+ZZ2477
-+007202 006206 0 8192 -ZZ1477
-+007203 241000 0 ZZ2477
-- mark 4994, -119 /107 virg
-+007204 777420 ZZ2478=ZZ2478+ZZ2478
-+007204 777040 ZZ2478=ZZ2478+ZZ2478
-+007204 776100 ZZ2478=ZZ2478+ZZ2478
-+007204 774200 ZZ2478=ZZ2478+ZZ2478
-+007204 770400 ZZ2478=ZZ2478+ZZ2478
-+007204 761000 ZZ2478=ZZ2478+ZZ2478
-+007204 742000 ZZ2478=ZZ2478+ZZ2478
-+007204 704000 ZZ2478=ZZ2478+ZZ2478
-+007204 006176 0 8192 -ZZ1478
-+007205 704000 0 ZZ2478
-- mark 5009, 396 /35 boot
-+007206 001430 ZZ2479=ZZ2479+ZZ2479
-+007206 003060 ZZ2479=ZZ2479+ZZ2479
-+007206 006140 ZZ2479=ZZ2479+ZZ2479
-+007206 014300 ZZ2479=ZZ2479+ZZ2479
-+007206 030600 ZZ2479=ZZ2479+ZZ2479
-+007206 061400 ZZ2479=ZZ2479+ZZ2479
-+007206 143000 ZZ2479=ZZ2479+ZZ2479
-+007206 306000 ZZ2479=ZZ2479+ZZ2479
-+007206 006157 0 8192 -ZZ1479
-+007207 306000 0 ZZ2479
-- mark 5013, 53 /109 virg
-+007210 000152 ZZ2480=ZZ2480+ZZ2480
-+007210 000324 ZZ2480=ZZ2480+ZZ2480
-+007210 000650 ZZ2480=ZZ2480+ZZ2480
-+007210 001520 ZZ2480=ZZ2480+ZZ2480
-+007210 003240 ZZ2480=ZZ2480+ZZ2480
-+007210 006500 ZZ2480=ZZ2480+ZZ2480
-+007210 015200 ZZ2480=ZZ2480+ZZ2480
-+007210 032400 ZZ2480=ZZ2480+ZZ2480
-+007210 006153 0 8192 -ZZ1480
-+007211 032400 0 ZZ2480
-- mark 5045, 444 /37 boot
-+007212 001570 ZZ2481=ZZ2481+ZZ2481
-+007212 003360 ZZ2481=ZZ2481+ZZ2481
-+007212 006740 ZZ2481=ZZ2481+ZZ2481
-+007212 015700 ZZ2481=ZZ2481+ZZ2481
-+007212 033600 ZZ2481=ZZ2481+ZZ2481
-+007212 067400 ZZ2481=ZZ2481+ZZ2481
-+007212 157000 ZZ2481=ZZ2481+ZZ2481
-+007212 336000 ZZ2481=ZZ2481+ZZ2481
-+007212 006113 0 8192 -ZZ1481
-+007213 336000 0 ZZ2481
-- mark 5074, -90 /16 libr
-+007214 777512 ZZ2482=ZZ2482+ZZ2482
-+007214 777224 ZZ2482=ZZ2482+ZZ2482
-+007214 776450 ZZ2482=ZZ2482+ZZ2482
-+007214 775120 ZZ2482=ZZ2482+ZZ2482
-+007214 772240 ZZ2482=ZZ2482+ZZ2482
-+007214 764500 ZZ2482=ZZ2482+ZZ2482
-+007214 751200 ZZ2482=ZZ2482+ZZ2482
-+007214 722400 ZZ2482=ZZ2482+ZZ2482
-+007214 006056 0 8192 -ZZ1482
-+007215 722400 0 ZZ2482
-- mark 5108, 57 /110 virg
-+007216 000162 ZZ2483=ZZ2483+ZZ2483
-+007216 000344 ZZ2483=ZZ2483+ZZ2483
-+007216 000710 ZZ2483=ZZ2483+ZZ2483
-+007216 001620 ZZ2483=ZZ2483+ZZ2483
-+007216 003440 ZZ2483=ZZ2483+ZZ2483
-+007216 007100 ZZ2483=ZZ2483+ZZ2483
-+007216 016200 ZZ2483=ZZ2483+ZZ2483
-+007216 034400 ZZ2483=ZZ2483+ZZ2483
-+007216 006014 0 8192 -ZZ1483
-+007217 034400 0 ZZ2483
-- mark 5157, -442 /24 libr
-+007220 776212 ZZ2484=ZZ2484+ZZ2484
-+007220 774424 ZZ2484=ZZ2484+ZZ2484
-+007220 771050 ZZ2484=ZZ2484+ZZ2484
-+007220 762120 ZZ2484=ZZ2484+ZZ2484
-+007220 744240 ZZ2484=ZZ2484+ZZ2484
-+007220 710500 ZZ2484=ZZ2484+ZZ2484
-+007220 621200 ZZ2484=ZZ2484+ZZ2484
-+007220 442400 ZZ2484=ZZ2484+ZZ2484
-+007220 005733 0 8192 -ZZ1484
-+007221 442400 0 ZZ2484
-- mark 5283, -221 /37 libr
-+007222 777104 ZZ2485=ZZ2485+ZZ2485
-+007222 776210 ZZ2485=ZZ2485+ZZ2485
-+007222 774420 ZZ2485=ZZ2485+ZZ2485
-+007222 771040 ZZ2485=ZZ2485+ZZ2485
-+007222 762100 ZZ2485=ZZ2485+ZZ2485
-+007222 744200 ZZ2485=ZZ2485+ZZ2485
-+007222 710400 ZZ2485=ZZ2485+ZZ2485
-+007222 621000 ZZ2485=ZZ2485+ZZ2485
-+007222 005535 0 8192 -ZZ1485
-+007223 621000 0 ZZ2485
-- mark 5290, -329 /38 libr
-+007224 776554 ZZ2486=ZZ2486+ZZ2486
-+007224 775330 ZZ2486=ZZ2486+ZZ2486
-+007224 772660 ZZ2486=ZZ2486+ZZ2486
-+007224 765540 ZZ2486=ZZ2486+ZZ2486
-+007224 753300 ZZ2486=ZZ2486+ZZ2486
-+007224 726600 ZZ2486=ZZ2486+ZZ2486
-+007224 655400 ZZ2486=ZZ2486+ZZ2486
-+007224 533000 ZZ2486=ZZ2486+ZZ2486
-+007224 005526 0 8192 -ZZ1486
-+007225 533000 0 ZZ2486
-- mark 5291, 247 /13 serp
-+007226 000756 ZZ2487=ZZ2487+ZZ2487
-+007226 001734 ZZ2487=ZZ2487+ZZ2487
-+007226 003670 ZZ2487=ZZ2487+ZZ2487
-+007226 007560 ZZ2487=ZZ2487+ZZ2487
-+007226 017340 ZZ2487=ZZ2487+ZZ2487
-+007226 036700 ZZ2487=ZZ2487+ZZ2487
-+007226 075600 ZZ2487=ZZ2487+ZZ2487
-+007226 173400 ZZ2487=ZZ2487+ZZ2487
-+007226 005525 0 8192 -ZZ1487
-+007227 173400 0 ZZ2487
-- mark 5326, -440 /43 libr
-+007230 776216 ZZ2488=ZZ2488+ZZ2488
-+007230 774434 ZZ2488=ZZ2488+ZZ2488
-+007230 771070 ZZ2488=ZZ2488+ZZ2488
-+007230 762160 ZZ2488=ZZ2488+ZZ2488
-+007230 744340 ZZ2488=ZZ2488+ZZ2488
-+007230 710700 ZZ2488=ZZ2488+ZZ2488
-+007230 621600 ZZ2488=ZZ2488+ZZ2488
-+007230 443400 ZZ2488=ZZ2488+ZZ2488
-+007230 005462 0 8192 -ZZ1488
-+007231 443400 0 ZZ2488
-- mark 5331, 455 /21 serp
-+007232 001616 ZZ2489=ZZ2489+ZZ2489
-+007232 003434 ZZ2489=ZZ2489+ZZ2489
-+007232 007070 ZZ2489=ZZ2489+ZZ2489
-+007232 016160 ZZ2489=ZZ2489+ZZ2489
-+007232 034340 ZZ2489=ZZ2489+ZZ2489
-+007232 070700 ZZ2489=ZZ2489+ZZ2489
-+007232 161600 ZZ2489=ZZ2489+ZZ2489
-+007232 343400 ZZ2489=ZZ2489+ZZ2489
-+007232 005455 0 8192 -ZZ1489
-+007233 343400 0 ZZ2489
-- mark 5357, 175 /27 serp
-+007234 000536 ZZ2490=ZZ2490+ZZ2490
-+007234 001274 ZZ2490=ZZ2490+ZZ2490
-+007234 002570 ZZ2490=ZZ2490+ZZ2490
-+007234 005360 ZZ2490=ZZ2490+ZZ2490
-+007234 012740 ZZ2490=ZZ2490+ZZ2490
-+007234 025700 ZZ2490=ZZ2490+ZZ2490
-+007234 053600 ZZ2490=ZZ2490+ZZ2490
-+007234 127400 ZZ2490=ZZ2490+ZZ2490
-+007234 005423 0 8192 -ZZ1490
-+007235 127400 0 ZZ2490
-- mark 5372, 420 /35 serp
-+007236 001510 ZZ2491=ZZ2491+ZZ2491
-+007236 003220 ZZ2491=ZZ2491+ZZ2491
-+007236 006440 ZZ2491=ZZ2491+ZZ2491
-+007236 015100 ZZ2491=ZZ2491+ZZ2491
-+007236 032200 ZZ2491=ZZ2491+ZZ2491
-+007236 064400 ZZ2491=ZZ2491+ZZ2491
-+007236 151000 ZZ2491=ZZ2491+ZZ2491
-+007236 322000 ZZ2491=ZZ2491+ZZ2491
-+007236 005404 0 8192 -ZZ1491
-+007237 322000 0 ZZ2491
-- mark 5381, 109 /37 serp
-+007240 000332 ZZ2492=ZZ2492+ZZ2492
-+007240 000664 ZZ2492=ZZ2492+ZZ2492
-+007240 001550 ZZ2492=ZZ2492+ZZ2492
-+007240 003320 ZZ2492=ZZ2492+ZZ2492
-+007240 006640 ZZ2492=ZZ2492+ZZ2492
-+007240 015500 ZZ2492=ZZ2492+ZZ2492
-+007240 033200 ZZ2492=ZZ2492+ZZ2492
-+007240 066400 ZZ2492=ZZ2492+ZZ2492
-+007240 005373 0 8192 -ZZ1492
-+007241 066400 0 ZZ2492
-- mark 5387, 484 /38 serp
-+007242 001710 ZZ2493=ZZ2493+ZZ2493
-+007242 003620 ZZ2493=ZZ2493+ZZ2493
-+007242 007440 ZZ2493=ZZ2493+ZZ2493
-+007242 017100 ZZ2493=ZZ2493+ZZ2493
-+007242 036200 ZZ2493=ZZ2493+ZZ2493
-+007242 074400 ZZ2493=ZZ2493+ZZ2493
-+007242 171000 ZZ2493=ZZ2493+ZZ2493
-+007242 362000 ZZ2493=ZZ2493+ZZ2493
-+007242 005365 0 8192 -ZZ1493
-+007243 362000 0 ZZ2493
-- mark 5394, -374 /46 libr
-+007244 776422 ZZ2494=ZZ2494+ZZ2494
-+007244 775044 ZZ2494=ZZ2494+ZZ2494
-+007244 772110 ZZ2494=ZZ2494+ZZ2494
-+007244 764220 ZZ2494=ZZ2494+ZZ2494
-+007244 750440 ZZ2494=ZZ2494+ZZ2494
-+007244 721100 ZZ2494=ZZ2494+ZZ2494
-+007244 642200 ZZ2494=ZZ2494+ZZ2494
-+007244 504400 ZZ2494=ZZ2494+ZZ2494
-+007244 005356 0 8192 -ZZ1494
-+007245 504400 0 ZZ2494
-- mark 5415, 364 /41 serp
-+007246 001330 ZZ2495=ZZ2495+ZZ2495
-+007246 002660 ZZ2495=ZZ2495+ZZ2495
-+007246 005540 ZZ2495=ZZ2495+ZZ2495
-+007246 013300 ZZ2495=ZZ2495+ZZ2495
-+007246 026600 ZZ2495=ZZ2495+ZZ2495
-+007246 055400 ZZ2495=ZZ2495+ZZ2495
-+007246 133000 ZZ2495=ZZ2495+ZZ2495
-+007246 266000 ZZ2495=ZZ2495+ZZ2495
-+007246 005331 0 8192 -ZZ1495
-+007247 266000 0 ZZ2495
-- mark 5419, -318 /48 libr
-+007250 776602 ZZ2496=ZZ2496+ZZ2496
-+007250 775404 ZZ2496=ZZ2496+ZZ2496
-+007250 773010 ZZ2496=ZZ2496+ZZ2496
-+007250 766020 ZZ2496=ZZ2496+ZZ2496
-+007250 754040 ZZ2496=ZZ2496+ZZ2496
-+007250 730100 ZZ2496=ZZ2496+ZZ2496
-+007250 660200 ZZ2496=ZZ2496+ZZ2496
-+007250 540400 ZZ2496=ZZ2496+ZZ2496
-+007250 005325 0 8192 -ZZ1496
-+007251 540400 0 ZZ2496
-- mark 5455, -253 /xi scor
-+007252 777004 ZZ2497=ZZ2497+ZZ2497
-+007252 776010 ZZ2497=ZZ2497+ZZ2497
-+007252 774020 ZZ2497=ZZ2497+ZZ2497
-+007252 770040 ZZ2497=ZZ2497+ZZ2497
-+007252 760100 ZZ2497=ZZ2497+ZZ2497
-+007252 740200 ZZ2497=ZZ2497+ZZ2497
-+007252 700400 ZZ2497=ZZ2497+ZZ2497
-+007252 601000 ZZ2497=ZZ2497+ZZ2497
-+007252 005261 0 8192 -ZZ1497
-+007253 601000 0 ZZ2497
-- mark 5467, -464 / 9 scor
-+007254 776136 ZZ2498=ZZ2498+ZZ2498
-+007254 774274 ZZ2498=ZZ2498+ZZ2498
-+007254 770570 ZZ2498=ZZ2498+ZZ2498
-+007254 761360 ZZ2498=ZZ2498+ZZ2498
-+007254 742740 ZZ2498=ZZ2498+ZZ2498
-+007254 705700 ZZ2498=ZZ2498+ZZ2498
-+007254 613600 ZZ2498=ZZ2498+ZZ2498
-+007254 427400 ZZ2498=ZZ2498+ZZ2498
-+007254 005245 0 8192 -ZZ1498
-+007255 427400 0 ZZ2498
-- mark 5470, -469 /10 scor
-+007256 776124 ZZ2499=ZZ2499+ZZ2499
-+007256 774250 ZZ2499=ZZ2499+ZZ2499
-+007256 770520 ZZ2499=ZZ2499+ZZ2499
-+007256 761240 ZZ2499=ZZ2499+ZZ2499
-+007256 742500 ZZ2499=ZZ2499+ZZ2499
-+007256 705200 ZZ2499=ZZ2499+ZZ2499
-+007256 612400 ZZ2499=ZZ2499+ZZ2499
-+007256 425000 ZZ2499=ZZ2499+ZZ2499
-+007256 005242 0 8192 -ZZ1499
-+007257 425000 0 ZZ2499
-- mark 5497, -437 /14 scor
-+007260 776224 ZZ2500=ZZ2500+ZZ2500
-+007260 774450 ZZ2500=ZZ2500+ZZ2500
-+007260 771120 ZZ2500=ZZ2500+ZZ2500
-+007260 762240 ZZ2500=ZZ2500+ZZ2500
-+007260 744500 ZZ2500=ZZ2500+ZZ2500
-+007260 711200 ZZ2500=ZZ2500+ZZ2500
-+007260 622400 ZZ2500=ZZ2500+ZZ2500
-+007260 445000 ZZ2500=ZZ2500+ZZ2500
-+007260 005207 0 8192 -ZZ1500
-+007261 445000 0 ZZ2500
-- mark 5499, -223 /15 scor
-+007262 777100 ZZ2501=ZZ2501+ZZ2501
-+007262 776200 ZZ2501=ZZ2501+ZZ2501
-+007262 774400 ZZ2501=ZZ2501+ZZ2501
-+007262 771000 ZZ2501=ZZ2501+ZZ2501
-+007262 762000 ZZ2501=ZZ2501+ZZ2501
-+007262 744000 ZZ2501=ZZ2501+ZZ2501
-+007262 710000 ZZ2501=ZZ2501+ZZ2501
-+007262 620000 ZZ2501=ZZ2501+ZZ2501
-+007262 005205 0 8192 -ZZ1501
-+007263 620000 0 ZZ2501
-- mark 5558, 29 /50 serp
-+007264 000072 ZZ2502=ZZ2502+ZZ2502
-+007264 000164 ZZ2502=ZZ2502+ZZ2502
-+007264 000350 ZZ2502=ZZ2502+ZZ2502
-+007264 000720 ZZ2502=ZZ2502+ZZ2502
-+007264 001640 ZZ2502=ZZ2502+ZZ2502
-+007264 003500 ZZ2502=ZZ2502+ZZ2502
-+007264 007200 ZZ2502=ZZ2502+ZZ2502
-+007264 016400 ZZ2502=ZZ2502+ZZ2502
-+007264 005112 0 8192 -ZZ1502
-+007265 016400 0 ZZ2502
-- mark 5561, 441 /20 herc
-+007266 001562 ZZ2503=ZZ2503+ZZ2503
-+007266 003344 ZZ2503=ZZ2503+ZZ2503
-+007266 006710 ZZ2503=ZZ2503+ZZ2503
-+007266 015620 ZZ2503=ZZ2503+ZZ2503
-+007266 033440 ZZ2503=ZZ2503+ZZ2503
-+007266 067100 ZZ2503=ZZ2503+ZZ2503
-+007266 156200 ZZ2503=ZZ2503+ZZ2503
-+007266 334400 ZZ2503=ZZ2503+ZZ2503
-+007266 005107 0 8192 -ZZ1503
-+007267 334400 0 ZZ2503
-- mark 5565, -451 / 4 ophi
-+007270 776170 ZZ2504=ZZ2504+ZZ2504
-+007270 774360 ZZ2504=ZZ2504+ZZ2504
-+007270 770740 ZZ2504=ZZ2504+ZZ2504
-+007270 761700 ZZ2504=ZZ2504+ZZ2504
-+007270 743600 ZZ2504=ZZ2504+ZZ2504
-+007270 707400 ZZ2504=ZZ2504+ZZ2504
-+007270 617000 ZZ2504=ZZ2504+ZZ2504
-+007270 436000 ZZ2504=ZZ2504+ZZ2504
-+007270 005103 0 8192 -ZZ1504
-+007271 436000 0 ZZ2504
-- mark 5580, 325 /24 herc
-+007272 001212 ZZ2505=ZZ2505+ZZ2505
-+007272 002424 ZZ2505=ZZ2505+ZZ2505
-+007272 005050 ZZ2505=ZZ2505+ZZ2505
-+007272 012120 ZZ2505=ZZ2505+ZZ2505
-+007272 024240 ZZ2505=ZZ2505+ZZ2505
-+007272 050500 ZZ2505=ZZ2505+ZZ2505
-+007272 121200 ZZ2505=ZZ2505+ZZ2505
-+007272 242400 ZZ2505=ZZ2505+ZZ2505
-+007272 005064 0 8192 -ZZ1505
-+007273 242400 0 ZZ2505
-- mark 5582, -415 / 7 ophi
-+007274 776300 ZZ2506=ZZ2506+ZZ2506
-+007274 774600 ZZ2506=ZZ2506+ZZ2506
-+007274 771400 ZZ2506=ZZ2506+ZZ2506
-+007274 763000 ZZ2506=ZZ2506+ZZ2506
-+007274 746000 ZZ2506=ZZ2506+ZZ2506
-+007274 714000 ZZ2506=ZZ2506+ZZ2506
-+007274 630000 ZZ2506=ZZ2506+ZZ2506
-+007274 460000 ZZ2506=ZZ2506+ZZ2506
-+007274 005062 0 8192 -ZZ1506
-+007275 460000 0 ZZ2506
-- mark 5589, -186 / 3 ophi
-+007276 777212 ZZ2507=ZZ2507+ZZ2507
-+007276 776424 ZZ2507=ZZ2507+ZZ2507
-+007276 775050 ZZ2507=ZZ2507+ZZ2507
-+007276 772120 ZZ2507=ZZ2507+ZZ2507
-+007276 764240 ZZ2507=ZZ2507+ZZ2507
-+007276 750500 ZZ2507=ZZ2507+ZZ2507
-+007276 721200 ZZ2507=ZZ2507+ZZ2507
-+007276 642400 ZZ2507=ZZ2507+ZZ2507
-+007276 005053 0 8192 -ZZ1507
-+007277 642400 0 ZZ2507
-- mark 5606, -373 / 8 ophi
-+007300 776424 ZZ2508=ZZ2508+ZZ2508
-+007300 775050 ZZ2508=ZZ2508+ZZ2508
-+007300 772120 ZZ2508=ZZ2508+ZZ2508
-+007300 764240 ZZ2508=ZZ2508+ZZ2508
-+007300 750500 ZZ2508=ZZ2508+ZZ2508
-+007300 721200 ZZ2508=ZZ2508+ZZ2508
-+007300 642400 ZZ2508=ZZ2508+ZZ2508
-+007300 505000 ZZ2508=ZZ2508+ZZ2508
-+007300 005032 0 8192 -ZZ1508
-+007301 505000 0 ZZ2508
-- mark 5609, 50 /10 ophi
-+007302 000144 ZZ2509=ZZ2509+ZZ2509
-+007302 000310 ZZ2509=ZZ2509+ZZ2509
-+007302 000620 ZZ2509=ZZ2509+ZZ2509
-+007302 001440 ZZ2509=ZZ2509+ZZ2509
-+007302 003100 ZZ2509=ZZ2509+ZZ2509
-+007302 006200 ZZ2509=ZZ2509+ZZ2509
-+007302 014400 ZZ2509=ZZ2509+ZZ2509
-+007302 031000 ZZ2509=ZZ2509+ZZ2509
-+007302 005027 0 8192 -ZZ1509
-+007303 031000 0 ZZ2509
-- mark 5610, -484 / 9 ophi
-+007304 776066 ZZ2510=ZZ2510+ZZ2510
-+007304 774154 ZZ2510=ZZ2510+ZZ2510
-+007304 770330 ZZ2510=ZZ2510+ZZ2510
-+007304 760660 ZZ2510=ZZ2510+ZZ2510
-+007304 741540 ZZ2510=ZZ2510+ZZ2510
-+007304 703300 ZZ2510=ZZ2510+ZZ2510
-+007304 606600 ZZ2510=ZZ2510+ZZ2510
-+007304 415400 ZZ2510=ZZ2510+ZZ2510
-+007304 005026 0 8192 -ZZ1510
-+007305 415400 0 ZZ2510
-- mark 5620, 266 /29 herc
-+007306 001024 ZZ2511=ZZ2511+ZZ2511
-+007306 002050 ZZ2511=ZZ2511+ZZ2511
-+007306 004120 ZZ2511=ZZ2511+ZZ2511
-+007306 010240 ZZ2511=ZZ2511+ZZ2511
-+007306 020500 ZZ2511=ZZ2511+ZZ2511
-+007306 041200 ZZ2511=ZZ2511+ZZ2511
-+007306 102400 ZZ2511=ZZ2511+ZZ2511
-+007306 205000 ZZ2511=ZZ2511+ZZ2511
-+007306 005014 0 8192 -ZZ1511
-+007307 205000 0 ZZ2511
-- mark 5713, -241 /20 ophi
-+007310 777034 ZZ2512=ZZ2512+ZZ2512
-+007310 776070 ZZ2512=ZZ2512+ZZ2512
-+007310 774160 ZZ2512=ZZ2512+ZZ2512
-+007310 770340 ZZ2512=ZZ2512+ZZ2512
-+007310 760700 ZZ2512=ZZ2512+ZZ2512
-+007310 741600 ZZ2512=ZZ2512+ZZ2512
-+007310 703400 ZZ2512=ZZ2512+ZZ2512
-+007310 607000 ZZ2512=ZZ2512+ZZ2512
-+007310 004657 0 8192 -ZZ1512
-+007311 607000 0 ZZ2512
-- mark 5742, 235 /25 ophi
-+007312 000726 ZZ2513=ZZ2513+ZZ2513
-+007312 001654 ZZ2513=ZZ2513+ZZ2513
-+007312 003530 ZZ2513=ZZ2513+ZZ2513
-+007312 007260 ZZ2513=ZZ2513+ZZ2513
-+007312 016540 ZZ2513=ZZ2513+ZZ2513
-+007312 035300 ZZ2513=ZZ2513+ZZ2513
-+007312 072600 ZZ2513=ZZ2513+ZZ2513
-+007312 165400 ZZ2513=ZZ2513+ZZ2513
-+007312 004622 0 8192 -ZZ1513
-+007313 165400 0 ZZ2513
-- mark 5763, 217 /27 ophi
-+007314 000662 ZZ2514=ZZ2514+ZZ2514
-+007314 001544 ZZ2514=ZZ2514+ZZ2514
-+007314 003310 ZZ2514=ZZ2514+ZZ2514
-+007314 006620 ZZ2514=ZZ2514+ZZ2514
-+007314 015440 ZZ2514=ZZ2514+ZZ2514
-+007314 033100 ZZ2514=ZZ2514+ZZ2514
-+007314 066200 ZZ2514=ZZ2514+ZZ2514
-+007314 154400 ZZ2514=ZZ2514+ZZ2514
-+007314 004575 0 8192 -ZZ1514
-+007315 154400 0 ZZ2514
-- mark 5807, 293 /60 herc
-+007316 001112 ZZ2515=ZZ2515+ZZ2515
-+007316 002224 ZZ2515=ZZ2515+ZZ2515
-+007316 004450 ZZ2515=ZZ2515+ZZ2515
-+007316 011120 ZZ2515=ZZ2515+ZZ2515
-+007316 022240 ZZ2515=ZZ2515+ZZ2515
-+007316 044500 ZZ2515=ZZ2515+ZZ2515
-+007316 111200 ZZ2515=ZZ2515+ZZ2515
-+007316 222400 ZZ2515=ZZ2515+ZZ2515
-+007316 004521 0 8192 -ZZ1515
-+007317 222400 0 ZZ2515
-- mark 5868, -8 /41 ophi
-+007320 777756 ZZ2516=ZZ2516+ZZ2516
-+007320 777734 ZZ2516=ZZ2516+ZZ2516
-+007320 777670 ZZ2516=ZZ2516+ZZ2516
-+007320 777560 ZZ2516=ZZ2516+ZZ2516
-+007320 777340 ZZ2516=ZZ2516+ZZ2516
-+007320 776700 ZZ2516=ZZ2516+ZZ2516
-+007320 775600 ZZ2516=ZZ2516+ZZ2516
-+007320 773400 ZZ2516=ZZ2516+ZZ2516
-+007320 004424 0 8192 -ZZ1516
-+007321 773400 0 ZZ2516
-- mark 5888, -478 /40 ophi
-+007322 776102 ZZ2517=ZZ2517+ZZ2517
-+007322 774204 ZZ2517=ZZ2517+ZZ2517
-+007322 770410 ZZ2517=ZZ2517+ZZ2517
-+007322 761020 ZZ2517=ZZ2517+ZZ2517
-+007322 742040 ZZ2517=ZZ2517+ZZ2517
-+007322 704100 ZZ2517=ZZ2517+ZZ2517
-+007322 610200 ZZ2517=ZZ2517+ZZ2517
-+007322 420400 ZZ2517=ZZ2517+ZZ2517
-+007322 004400 0 8192 -ZZ1517
-+007323 420400 0 ZZ2517
-- mark 5889, -290 /53 serp
-+007324 776672 ZZ2518=ZZ2518+ZZ2518
-+007324 775564 ZZ2518=ZZ2518+ZZ2518
-+007324 773350 ZZ2518=ZZ2518+ZZ2518
-+007324 766720 ZZ2518=ZZ2518+ZZ2518
-+007324 755640 ZZ2518=ZZ2518+ZZ2518
-+007324 733500 ZZ2518=ZZ2518+ZZ2518
-+007324 667200 ZZ2518=ZZ2518+ZZ2518
-+007324 556400 ZZ2518=ZZ2518+ZZ2518
-+007324 004377 0 8192 -ZZ1518
-+007325 556400 0 ZZ2518
-- mark 5924, -114 /
-+007326 777432 ZZ2519=ZZ2519+ZZ2519
-+007326 777064 ZZ2519=ZZ2519+ZZ2519
-+007326 776150 ZZ2519=ZZ2519+ZZ2519
-+007326 774320 ZZ2519=ZZ2519+ZZ2519
-+007326 770640 ZZ2519=ZZ2519+ZZ2519
-+007326 761500 ZZ2519=ZZ2519+ZZ2519
-+007326 743200 ZZ2519=ZZ2519+ZZ2519
-+007326 706400 ZZ2519=ZZ2519+ZZ2519
-+007326 004334 0 8192 -ZZ1519
-+007327 706400 0 ZZ2519
-- mark 5925, 96 /49 ophi
-+007330 000300 ZZ2520=ZZ2520+ZZ2520
-+007330 000600 ZZ2520=ZZ2520+ZZ2520
-+007330 001400 ZZ2520=ZZ2520+ZZ2520
-+007330 003000 ZZ2520=ZZ2520+ZZ2520
-+007330 006000 ZZ2520=ZZ2520+ZZ2520
-+007330 014000 ZZ2520=ZZ2520+ZZ2520
-+007330 030000 ZZ2520=ZZ2520+ZZ2520
-+007330 060000 ZZ2520=ZZ2520+ZZ2520
-+007330 004333 0 8192 -ZZ1520
-+007331 060000 0 ZZ2520
-- mark 5987, -183 /57 ophi
-+007332 777220 ZZ2521=ZZ2521+ZZ2521
-+007332 776440 ZZ2521=ZZ2521+ZZ2521
-+007332 775100 ZZ2521=ZZ2521+ZZ2521
-+007332 772200 ZZ2521=ZZ2521+ZZ2521
-+007332 764400 ZZ2521=ZZ2521+ZZ2521
-+007332 751000 ZZ2521=ZZ2521+ZZ2521
-+007332 722000 ZZ2521=ZZ2521+ZZ2521
-+007332 644000 ZZ2521=ZZ2521+ZZ2521
-+007332 004235 0 8192 -ZZ1521
-+007333 644000 0 ZZ2521
-- mark 6006, -292 /56 serp
-+007334 776666 ZZ2522=ZZ2522+ZZ2522
-+007334 775554 ZZ2522=ZZ2522+ZZ2522
-+007334 773330 ZZ2522=ZZ2522+ZZ2522
-+007334 766660 ZZ2522=ZZ2522+ZZ2522
-+007334 755540 ZZ2522=ZZ2522+ZZ2522
-+007334 733300 ZZ2522=ZZ2522+ZZ2522
-+007334 666600 ZZ2522=ZZ2522+ZZ2522
-+007334 555400 ZZ2522=ZZ2522+ZZ2522
-+007334 004212 0 8192 -ZZ1522
-+007335 555400 0 ZZ2522
-- mark 6016, -492 /58 ophi
-+007336 776046 ZZ2523=ZZ2523+ZZ2523
-+007336 774114 ZZ2523=ZZ2523+ZZ2523
-+007336 770230 ZZ2523=ZZ2523+ZZ2523
-+007336 760460 ZZ2523=ZZ2523+ZZ2523
-+007336 741140 ZZ2523=ZZ2523+ZZ2523
-+007336 702300 ZZ2523=ZZ2523+ZZ2523
-+007336 604600 ZZ2523=ZZ2523+ZZ2523
-+007336 411400 ZZ2523=ZZ2523+ZZ2523
-+007336 004200 0 8192 -ZZ1523
-+007337 411400 0 ZZ2523
-- mark 6117, -84 /57 serp
-+007340 777526 ZZ2524=ZZ2524+ZZ2524
-+007340 777254 ZZ2524=ZZ2524+ZZ2524
-+007340 776530 ZZ2524=ZZ2524+ZZ2524
-+007340 775260 ZZ2524=ZZ2524+ZZ2524
-+007340 772540 ZZ2524=ZZ2524+ZZ2524
-+007340 765300 ZZ2524=ZZ2524+ZZ2524
-+007340 752600 ZZ2524=ZZ2524+ZZ2524
-+007340 725400 ZZ2524=ZZ2524+ZZ2524
-+007340 004033 0 8192 -ZZ1524
-+007341 725400 0 ZZ2524
-- mark 6117, 99 /66 ophi
-+007342 000306 ZZ2525=ZZ2525+ZZ2525
-+007342 000614 ZZ2525=ZZ2525+ZZ2525
-+007342 001430 ZZ2525=ZZ2525+ZZ2525
-+007342 003060 ZZ2525=ZZ2525+ZZ2525
-+007342 006140 ZZ2525=ZZ2525+ZZ2525
-+007342 014300 ZZ2525=ZZ2525+ZZ2525
-+007342 030600 ZZ2525=ZZ2525+ZZ2525
-+007342 061400 ZZ2525=ZZ2525+ZZ2525
-+007342 004033 0 8192 -ZZ1525
-+007343 061400 0 ZZ2525
-- mark 6119, 381 /93 herc
-+007344 001372 ZZ2526=ZZ2526+ZZ2526
-+007344 002764 ZZ2526=ZZ2526+ZZ2526
-+007344 005750 ZZ2526=ZZ2526+ZZ2526
-+007344 013720 ZZ2526=ZZ2526+ZZ2526
-+007344 027640 ZZ2526=ZZ2526+ZZ2526
-+007344 057500 ZZ2526=ZZ2526+ZZ2526
-+007344 137200 ZZ2526=ZZ2526+ZZ2526
-+007344 276400 ZZ2526=ZZ2526+ZZ2526
-+007344 004031 0 8192 -ZZ1526
-+007345 276400 0 ZZ2526
-- mark 6119, 67 /67 ophi
-+007346 000206 ZZ2527=ZZ2527+ZZ2527
-+007346 000414 ZZ2527=ZZ2527+ZZ2527
-+007346 001030 ZZ2527=ZZ2527+ZZ2527
-+007346 002060 ZZ2527=ZZ2527+ZZ2527
-+007346 004140 ZZ2527=ZZ2527+ZZ2527
-+007346 010300 ZZ2527=ZZ2527+ZZ2527
-+007346 020600 ZZ2527=ZZ2527+ZZ2527
-+007346 041400 ZZ2527=ZZ2527+ZZ2527
-+007346 004031 0 8192 -ZZ1527
-+007347 041400 0 ZZ2527
-- mark 6125, 30 /68 ophi
-+007350 000074 ZZ2528=ZZ2528+ZZ2528
-+007350 000170 ZZ2528=ZZ2528+ZZ2528
-+007350 000360 ZZ2528=ZZ2528+ZZ2528
-+007350 000740 ZZ2528=ZZ2528+ZZ2528
-+007350 001700 ZZ2528=ZZ2528+ZZ2528
-+007350 003600 ZZ2528=ZZ2528+ZZ2528
-+007350 007400 ZZ2528=ZZ2528+ZZ2528
-+007350 017000 ZZ2528=ZZ2528+ZZ2528
-+007350 004023 0 8192 -ZZ1528
-+007351 017000 0 ZZ2528
-- mark 6146, 57 /70 ophi
-+007352 000162 ZZ2529=ZZ2529+ZZ2529
-+007352 000344 ZZ2529=ZZ2529+ZZ2529
-+007352 000710 ZZ2529=ZZ2529+ZZ2529
-+007352 001620 ZZ2529=ZZ2529+ZZ2529
-+007352 003440 ZZ2529=ZZ2529+ZZ2529
-+007352 007100 ZZ2529=ZZ2529+ZZ2529
-+007352 016200 ZZ2529=ZZ2529+ZZ2529
-+007352 034400 ZZ2529=ZZ2529+ZZ2529
-+007352 003776 0 8192 -ZZ1529
-+007353 034400 0 ZZ2529
-- mark 6158, 198 /71 ophi
-+007354 000614 ZZ2530=ZZ2530+ZZ2530
-+007354 001430 ZZ2530=ZZ2530+ZZ2530
-+007354 003060 ZZ2530=ZZ2530+ZZ2530
-+007354 006140 ZZ2530=ZZ2530+ZZ2530
-+007354 014300 ZZ2530=ZZ2530+ZZ2530
-+007354 030600 ZZ2530=ZZ2530+ZZ2530
-+007354 061400 ZZ2530=ZZ2530+ZZ2530
-+007354 143000 ZZ2530=ZZ2530+ZZ2530
-+007354 003762 0 8192 -ZZ1530
-+007355 143000 0 ZZ2530
-- mark 6170, 473 /102 herc
-+007356 001662 ZZ2531=ZZ2531+ZZ2531
-+007356 003544 ZZ2531=ZZ2531+ZZ2531
-+007356 007310 ZZ2531=ZZ2531+ZZ2531
-+007356 016620 ZZ2531=ZZ2531+ZZ2531
-+007356 035440 ZZ2531=ZZ2531+ZZ2531
-+007356 073100 ZZ2531=ZZ2531+ZZ2531
-+007356 166200 ZZ2531=ZZ2531+ZZ2531
-+007356 354400 ZZ2531=ZZ2531+ZZ2531
-+007356 003746 0 8192 -ZZ1531
-+007357 354400 0 ZZ2531
-- mark 6188, -480 /13 sgtr
-+007360 776076 ZZ2532=ZZ2532+ZZ2532
-+007360 774174 ZZ2532=ZZ2532+ZZ2532
-+007360 770370 ZZ2532=ZZ2532+ZZ2532
-+007360 760760 ZZ2532=ZZ2532+ZZ2532
-+007360 741740 ZZ2532=ZZ2532+ZZ2532
-+007360 703700 ZZ2532=ZZ2532+ZZ2532
-+007360 607600 ZZ2532=ZZ2532+ZZ2532
-+007360 417400 ZZ2532=ZZ2532+ZZ2532
-+007360 003724 0 8192 -ZZ1532
-+007361 417400 0 ZZ2532
-- mark 6234, 76 /74 ophi
-+007362 000230 ZZ2533=ZZ2533+ZZ2533
-+007362 000460 ZZ2533=ZZ2533+ZZ2533
-+007362 001140 ZZ2533=ZZ2533+ZZ2533
-+007362 002300 ZZ2533=ZZ2533+ZZ2533
-+007362 004600 ZZ2533=ZZ2533+ZZ2533
-+007362 011400 ZZ2533=ZZ2533+ZZ2533
-+007362 023000 ZZ2533=ZZ2533+ZZ2533
-+007362 046000 ZZ2533=ZZ2533+ZZ2533
-+007362 003646 0 8192 -ZZ1533
-+007363 046000 0 ZZ2533
-- mark 6235, 499 /106 herc
-+007364 001746 ZZ2534=ZZ2534+ZZ2534
-+007364 003714 ZZ2534=ZZ2534+ZZ2534
-+007364 007630 ZZ2534=ZZ2534+ZZ2534
-+007364 017460 ZZ2534=ZZ2534+ZZ2534
-+007364 037140 ZZ2534=ZZ2534+ZZ2534
-+007364 076300 ZZ2534=ZZ2534+ZZ2534
-+007364 174600 ZZ2534=ZZ2534+ZZ2534
-+007364 371400 ZZ2534=ZZ2534+ZZ2534
-+007364 003645 0 8192 -ZZ1534
-+007365 371400 0 ZZ2534
-- mark 6247, -204 /xi scut
-+007366 777146 ZZ2535=ZZ2535+ZZ2535
-+007366 776314 ZZ2535=ZZ2535+ZZ2535
-+007366 774630 ZZ2535=ZZ2535+ZZ2535
-+007366 771460 ZZ2535=ZZ2535+ZZ2535
-+007366 763140 ZZ2535=ZZ2535+ZZ2535
-+007366 746300 ZZ2535=ZZ2535+ZZ2535
-+007366 714600 ZZ2535=ZZ2535+ZZ2535
-+007366 631400 ZZ2535=ZZ2535+ZZ2535
-+007366 003631 0 8192 -ZZ1535
-+007367 631400 0 ZZ2535
-- mark 6254, -469 /21 sgtr
-+007370 776124 ZZ2536=ZZ2536+ZZ2536
-+007370 774250 ZZ2536=ZZ2536+ZZ2536
-+007370 770520 ZZ2536=ZZ2536+ZZ2536
-+007370 761240 ZZ2536=ZZ2536+ZZ2536
-+007370 742500 ZZ2536=ZZ2536+ZZ2536
-+007370 705200 ZZ2536=ZZ2536+ZZ2536
-+007370 612400 ZZ2536=ZZ2536+ZZ2536
-+007370 425000 ZZ2536=ZZ2536+ZZ2536
-+007370 003622 0 8192 -ZZ1536
-+007371 425000 0 ZZ2536
-- mark 6255, 494 /109 herc
-+007372 001734 ZZ2537=ZZ2537+ZZ2537
-+007372 003670 ZZ2537=ZZ2537+ZZ2537
-+007372 007560 ZZ2537=ZZ2537+ZZ2537
-+007372 017340 ZZ2537=ZZ2537+ZZ2537
-+007372 036700 ZZ2537=ZZ2537+ZZ2537
-+007372 075600 ZZ2537=ZZ2537+ZZ2537
-+007372 173400 ZZ2537=ZZ2537+ZZ2537
-+007372 367000 ZZ2537=ZZ2537+ZZ2537
-+007372 003621 0 8192 -ZZ1537
-+007373 367000 0 ZZ2537
-- mark 6278, -333 /ga scut
-+007374 776544 ZZ2538=ZZ2538+ZZ2538
-+007374 775310 ZZ2538=ZZ2538+ZZ2538
-+007374 772620 ZZ2538=ZZ2538+ZZ2538
-+007374 765440 ZZ2538=ZZ2538+ZZ2538
-+007374 753100 ZZ2538=ZZ2538+ZZ2538
-+007374 726200 ZZ2538=ZZ2538+ZZ2538
-+007374 654400 ZZ2538=ZZ2538+ZZ2538
-+007374 531000 ZZ2538=ZZ2538+ZZ2538
-+007374 003572 0 8192 -ZZ1538
-+007375 531000 0 ZZ2538
-- mark 6313, -189 /al scut
-+007376 777204 ZZ2539=ZZ2539+ZZ2539
-+007376 776410 ZZ2539=ZZ2539+ZZ2539
-+007376 775020 ZZ2539=ZZ2539+ZZ2539
-+007376 772040 ZZ2539=ZZ2539+ZZ2539
-+007376 764100 ZZ2539=ZZ2539+ZZ2539
-+007376 750200 ZZ2539=ZZ2539+ZZ2539
-+007376 720400 ZZ2539=ZZ2539+ZZ2539
-+007376 641000 ZZ2539=ZZ2539+ZZ2539
-+007376 003527 0 8192 -ZZ1539
-+007377 641000 0 ZZ2539
-- mark 6379, 465 /110 herc
-+007400 001642 ZZ2540=ZZ2540+ZZ2540
-+007400 003504 ZZ2540=ZZ2540+ZZ2540
-+007400 007210 ZZ2540=ZZ2540+ZZ2540
-+007400 016420 ZZ2540=ZZ2540+ZZ2540
-+007400 035040 ZZ2540=ZZ2540+ZZ2540
-+007400 072100 ZZ2540=ZZ2540+ZZ2540
-+007400 164200 ZZ2540=ZZ2540+ZZ2540
-+007400 350400 ZZ2540=ZZ2540+ZZ2540
-+007400 003425 0 8192 -ZZ1540
-+007401 350400 0 ZZ2540
-- mark 6382, -110 /be scut
-+007402 777442 ZZ2541=ZZ2541+ZZ2541
-+007402 777104 ZZ2541=ZZ2541+ZZ2541
-+007402 776210 ZZ2541=ZZ2541+ZZ2541
-+007402 774420 ZZ2541=ZZ2541+ZZ2541
-+007402 771040 ZZ2541=ZZ2541+ZZ2541
-+007402 762100 ZZ2541=ZZ2541+ZZ2541
-+007402 744200 ZZ2541=ZZ2541+ZZ2541
-+007402 710400 ZZ2541=ZZ2541+ZZ2541
-+007402 003422 0 8192 -ZZ1541
-+007403 710400 0 ZZ2541
-- mark 6386, 411 /111 herc
-+007404 001466 ZZ2542=ZZ2542+ZZ2542
-+007404 003154 ZZ2542=ZZ2542+ZZ2542
-+007404 006330 ZZ2542=ZZ2542+ZZ2542
-+007404 014660 ZZ2542=ZZ2542+ZZ2542
-+007404 031540 ZZ2542=ZZ2542+ZZ2542
-+007404 063300 ZZ2542=ZZ2542+ZZ2542
-+007404 146600 ZZ2542=ZZ2542+ZZ2542
-+007404 315400 ZZ2542=ZZ2542+ZZ2542
-+007404 003416 0 8192 -ZZ1542
-+007405 315400 0 ZZ2542
-- mark 6436, 93 /63 serp
-+007406 000272 ZZ2543=ZZ2543+ZZ2543
-+007406 000564 ZZ2543=ZZ2543+ZZ2543
-+007406 001350 ZZ2543=ZZ2543+ZZ2543
-+007406 002720 ZZ2543=ZZ2543+ZZ2543
-+007406 005640 ZZ2543=ZZ2543+ZZ2543
-+007406 013500 ZZ2543=ZZ2543+ZZ2543
-+007406 027200 ZZ2543=ZZ2543+ZZ2543
-+007406 056400 ZZ2543=ZZ2543+ZZ2543
-+007406 003334 0 8192 -ZZ1543
-+007407 056400 0 ZZ2543
-- mark 6457, 340 /13 aqil
-+007410 001250 ZZ2544=ZZ2544+ZZ2544
-+007410 002520 ZZ2544=ZZ2544+ZZ2544
-+007410 005240 ZZ2544=ZZ2544+ZZ2544
-+007410 012500 ZZ2544=ZZ2544+ZZ2544
-+007410 025200 ZZ2544=ZZ2544+ZZ2544
-+007410 052400 ZZ2544=ZZ2544+ZZ2544
-+007410 125000 ZZ2544=ZZ2544+ZZ2544
-+007410 252000 ZZ2544=ZZ2544+ZZ2544
-+007410 003307 0 8192 -ZZ1544
-+007411 252000 0 ZZ2544
-- mark 6465, -134 /12 aqil
-+007412 777362 ZZ2545=ZZ2545+ZZ2545
-+007412 776744 ZZ2545=ZZ2545+ZZ2545
-+007412 775710 ZZ2545=ZZ2545+ZZ2545
-+007412 773620 ZZ2545=ZZ2545+ZZ2545
-+007412 767440 ZZ2545=ZZ2545+ZZ2545
-+007412 757100 ZZ2545=ZZ2545+ZZ2545
-+007412 736200 ZZ2545=ZZ2545+ZZ2545
-+007412 674400 ZZ2545=ZZ2545+ZZ2545
-+007412 003277 0 8192 -ZZ1545
-+007413 674400 0 ZZ2545
-- mark 6478, -498 /39 sgtr
-+007414 776032 ZZ2546=ZZ2546+ZZ2546
-+007414 774064 ZZ2546=ZZ2546+ZZ2546
-+007414 770150 ZZ2546=ZZ2546+ZZ2546
-+007414 760320 ZZ2546=ZZ2546+ZZ2546
-+007414 740640 ZZ2546=ZZ2546+ZZ2546
-+007414 701500 ZZ2546=ZZ2546+ZZ2546
-+007414 603200 ZZ2546=ZZ2546+ZZ2546
-+007414 406400 ZZ2546=ZZ2546+ZZ2546
-+007414 003262 0 8192 -ZZ1546
-+007415 406400 0 ZZ2546
-- mark 6553, 483 / 1 vulp
-+007416 001706 ZZ2547=ZZ2547+ZZ2547
-+007416 003614 ZZ2547=ZZ2547+ZZ2547
-+007416 007430 ZZ2547=ZZ2547+ZZ2547
-+007416 017060 ZZ2547=ZZ2547+ZZ2547
-+007416 036140 ZZ2547=ZZ2547+ZZ2547
-+007416 074300 ZZ2547=ZZ2547+ZZ2547
-+007416 170600 ZZ2547=ZZ2547+ZZ2547
-+007416 361400 ZZ2547=ZZ2547+ZZ2547
-+007416 003147 0 8192 -ZZ1547
-+007417 361400 0 ZZ2547
-- mark 6576, -410 /44 sgtr
-+007420 776312 ZZ2548=ZZ2548+ZZ2548
-+007420 774624 ZZ2548=ZZ2548+ZZ2548
-+007420 771450 ZZ2548=ZZ2548+ZZ2548
-+007420 763120 ZZ2548=ZZ2548+ZZ2548
-+007420 746240 ZZ2548=ZZ2548+ZZ2548
-+007420 714500 ZZ2548=ZZ2548+ZZ2548
-+007420 631200 ZZ2548=ZZ2548+ZZ2548
-+007420 462400 ZZ2548=ZZ2548+ZZ2548
-+007420 003120 0 8192 -ZZ1548
-+007421 462400 0 ZZ2548
-- mark 6576, -368 /46 sgtr
-+007422 776436 ZZ2549=ZZ2549+ZZ2549
-+007422 775074 ZZ2549=ZZ2549+ZZ2549
-+007422 772170 ZZ2549=ZZ2549+ZZ2549
-+007422 764360 ZZ2549=ZZ2549+ZZ2549
-+007422 750740 ZZ2549=ZZ2549+ZZ2549
-+007422 721700 ZZ2549=ZZ2549+ZZ2549
-+007422 643600 ZZ2549=ZZ2549+ZZ2549
-+007422 507400 ZZ2549=ZZ2549+ZZ2549
-+007422 003120 0 8192 -ZZ1549
-+007423 507400 0 ZZ2549
-- mark 6607, 3 /32 aqil
-+007424 000006 ZZ2550=ZZ2550+ZZ2550
-+007424 000014 ZZ2550=ZZ2550+ZZ2550
-+007424 000030 ZZ2550=ZZ2550+ZZ2550
-+007424 000060 ZZ2550=ZZ2550+ZZ2550
-+007424 000140 ZZ2550=ZZ2550+ZZ2550
-+007424 000300 ZZ2550=ZZ2550+ZZ2550
-+007424 000600 ZZ2550=ZZ2550+ZZ2550
-+007424 001400 ZZ2550=ZZ2550+ZZ2550
-+007424 003061 0 8192 -ZZ1550
-+007425 001400 0 ZZ2550
-- mark 6651, 163 /38 aqil
-+007426 000506 ZZ2551=ZZ2551+ZZ2551
-+007426 001214 ZZ2551=ZZ2551+ZZ2551
-+007426 002430 ZZ2551=ZZ2551+ZZ2551
-+007426 005060 ZZ2551=ZZ2551+ZZ2551
-+007426 012140 ZZ2551=ZZ2551+ZZ2551
-+007426 024300 ZZ2551=ZZ2551+ZZ2551
-+007426 050600 ZZ2551=ZZ2551+ZZ2551
-+007426 121400 ZZ2551=ZZ2551+ZZ2551
-+007426 003005 0 8192 -ZZ1551
-+007427 121400 0 ZZ2551
-- mark 6657, 445 / 9 vulp
-+007430 001572 ZZ2552=ZZ2552+ZZ2552
-+007430 003364 ZZ2552=ZZ2552+ZZ2552
-+007430 006750 ZZ2552=ZZ2552+ZZ2552
-+007430 015720 ZZ2552=ZZ2552+ZZ2552
-+007430 033640 ZZ2552=ZZ2552+ZZ2552
-+007430 067500 ZZ2552=ZZ2552+ZZ2552
-+007430 157200 ZZ2552=ZZ2552+ZZ2552
-+007430 336400 ZZ2552=ZZ2552+ZZ2552
-+007430 002777 0 8192 -ZZ1552
-+007431 336400 0 ZZ2552
-- mark 6665, -35 /41 aqil
-+007432 777670 ZZ2553=ZZ2553+ZZ2553
-+007432 777560 ZZ2553=ZZ2553+ZZ2553
-+007432 777340 ZZ2553=ZZ2553+ZZ2553
-+007432 776700 ZZ2553=ZZ2553+ZZ2553
-+007432 775600 ZZ2553=ZZ2553+ZZ2553
-+007432 773400 ZZ2553=ZZ2553+ZZ2553
-+007432 767000 ZZ2553=ZZ2553+ZZ2553
-+007432 756000 ZZ2553=ZZ2553+ZZ2553
-+007432 002767 0 8192 -ZZ1553
-+007433 756000 0 ZZ2553
-- mark 6688, 405 / 5 sgte
-+007434 001452 ZZ2554=ZZ2554+ZZ2554
-+007434 003124 ZZ2554=ZZ2554+ZZ2554
-+007434 006250 ZZ2554=ZZ2554+ZZ2554
-+007434 014520 ZZ2554=ZZ2554+ZZ2554
-+007434 031240 ZZ2554=ZZ2554+ZZ2554
-+007434 062500 ZZ2554=ZZ2554+ZZ2554
-+007434 145200 ZZ2554=ZZ2554+ZZ2554
-+007434 312400 ZZ2554=ZZ2554+ZZ2554
-+007434 002740 0 8192 -ZZ1554
-+007435 312400 0 ZZ2554
-- mark 6693, 393 / 6 sgte
-+007436 001422 ZZ2555=ZZ2555+ZZ2555
-+007436 003044 ZZ2555=ZZ2555+ZZ2555
-+007436 006110 ZZ2555=ZZ2555+ZZ2555
-+007436 014220 ZZ2555=ZZ2555+ZZ2555
-+007436 030440 ZZ2555=ZZ2555+ZZ2555
-+007436 061100 ZZ2555=ZZ2555+ZZ2555
-+007436 142200 ZZ2555=ZZ2555+ZZ2555
-+007436 304400 ZZ2555=ZZ2555+ZZ2555
-+007436 002733 0 8192 -ZZ1555
-+007437 304400 0 ZZ2555
-- mark 6730, 416 / 7 sgte
-+007440 001500 ZZ2556=ZZ2556+ZZ2556
-+007440 003200 ZZ2556=ZZ2556+ZZ2556
-+007440 006400 ZZ2556=ZZ2556+ZZ2556
-+007440 015000 ZZ2556=ZZ2556+ZZ2556
-+007440 032000 ZZ2556=ZZ2556+ZZ2556
-+007440 064000 ZZ2556=ZZ2556+ZZ2556
-+007440 150000 ZZ2556=ZZ2556+ZZ2556
-+007440 320000 ZZ2556=ZZ2556+ZZ2556
-+007440 002666 0 8192 -ZZ1556
-+007441 320000 0 ZZ2556
-- mark 6739, 430 / 8 sgte
-+007442 001534 ZZ2557=ZZ2557+ZZ2557
-+007442 003270 ZZ2557=ZZ2557+ZZ2557
-+007442 006560 ZZ2557=ZZ2557+ZZ2557
-+007442 015340 ZZ2557=ZZ2557+ZZ2557
-+007442 032700 ZZ2557=ZZ2557+ZZ2557
-+007442 065600 ZZ2557=ZZ2557+ZZ2557
-+007442 153400 ZZ2557=ZZ2557+ZZ2557
-+007442 327000 ZZ2557=ZZ2557+ZZ2557
-+007442 002655 0 8192 -ZZ1557
-+007443 327000 0 ZZ2557
-- mark 6755, 17 /55 aqil
-+007444 000042 ZZ2558=ZZ2558+ZZ2558
-+007444 000104 ZZ2558=ZZ2558+ZZ2558
-+007444 000210 ZZ2558=ZZ2558+ZZ2558
-+007444 000420 ZZ2558=ZZ2558+ZZ2558
-+007444 001040 ZZ2558=ZZ2558+ZZ2558
-+007444 002100 ZZ2558=ZZ2558+ZZ2558
-+007444 004200 ZZ2558=ZZ2558+ZZ2558
-+007444 010400 ZZ2558=ZZ2558+ZZ2558
-+007444 002635 0 8192 -ZZ1558
-+007445 010400 0 ZZ2558
-- mark 6766, 187 /59 aqil
-+007446 000566 ZZ2559=ZZ2559+ZZ2559
-+007446 001354 ZZ2559=ZZ2559+ZZ2559
-+007446 002730 ZZ2559=ZZ2559+ZZ2559
-+007446 005660 ZZ2559=ZZ2559+ZZ2559
-+007446 013540 ZZ2559=ZZ2559+ZZ2559
-+007446 027300 ZZ2559=ZZ2559+ZZ2559
-+007446 056600 ZZ2559=ZZ2559+ZZ2559
-+007446 135400 ZZ2559=ZZ2559+ZZ2559
-+007446 002622 0 8192 -ZZ1559
-+007447 135400 0 ZZ2559
-- mark 6772, 140 /60 aqil
-+007450 000430 ZZ2560=ZZ2560+ZZ2560
-+007450 001060 ZZ2560=ZZ2560+ZZ2560
-+007450 002140 ZZ2560=ZZ2560+ZZ2560
-+007450 004300 ZZ2560=ZZ2560+ZZ2560
-+007450 010600 ZZ2560=ZZ2560+ZZ2560
-+007450 021400 ZZ2560=ZZ2560+ZZ2560
-+007450 043000 ZZ2560=ZZ2560+ZZ2560
-+007450 106000 ZZ2560=ZZ2560+ZZ2560
-+007450 002614 0 8192 -ZZ1560
-+007451 106000 0 ZZ2560
-- mark 6882, 339 /67 aqil
-+007452 001246 ZZ2561=ZZ2561+ZZ2561
-+007452 002514 ZZ2561=ZZ2561+ZZ2561
-+007452 005230 ZZ2561=ZZ2561+ZZ2561
-+007452 012460 ZZ2561=ZZ2561+ZZ2561
-+007452 025140 ZZ2561=ZZ2561+ZZ2561
-+007452 052300 ZZ2561=ZZ2561+ZZ2561
-+007452 124600 ZZ2561=ZZ2561+ZZ2561
-+007452 251400 ZZ2561=ZZ2561+ZZ2561
-+007452 002436 0 8192 -ZZ1561
-+007453 251400 0 ZZ2561
-- mark 6896, -292 / 5 capr
-+007454 776666 ZZ2562=ZZ2562+ZZ2562
-+007454 775554 ZZ2562=ZZ2562+ZZ2562
-+007454 773330 ZZ2562=ZZ2562+ZZ2562
-+007454 766660 ZZ2562=ZZ2562+ZZ2562
-+007454 755540 ZZ2562=ZZ2562+ZZ2562
-+007454 733300 ZZ2562=ZZ2562+ZZ2562
-+007454 666600 ZZ2562=ZZ2562+ZZ2562
-+007454 555400 ZZ2562=ZZ2562+ZZ2562
-+007454 002420 0 8192 -ZZ1562
-+007455 555400 0 ZZ2562
-- mark 6898, -292 / 6 capr
-+007456 776666 ZZ2563=ZZ2563+ZZ2563
-+007456 775554 ZZ2563=ZZ2563+ZZ2563
-+007456 773330 ZZ2563=ZZ2563+ZZ2563
-+007456 766660 ZZ2563=ZZ2563+ZZ2563
-+007456 755540 ZZ2563=ZZ2563+ZZ2563
-+007456 733300 ZZ2563=ZZ2563+ZZ2563
-+007456 666600 ZZ2563=ZZ2563+ZZ2563
-+007456 555400 ZZ2563=ZZ2563+ZZ2563
-+007456 002416 0 8192 -ZZ1563
-+007457 555400 0 ZZ2563
-- mark 6913, -297 / 8 capr
-+007460 776654 ZZ2564=ZZ2564+ZZ2564
-+007460 775530 ZZ2564=ZZ2564+ZZ2564
-+007460 773260 ZZ2564=ZZ2564+ZZ2564
-+007460 766540 ZZ2564=ZZ2564+ZZ2564
-+007460 755300 ZZ2564=ZZ2564+ZZ2564
-+007460 732600 ZZ2564=ZZ2564+ZZ2564
-+007460 665400 ZZ2564=ZZ2564+ZZ2564
-+007460 553000 ZZ2564=ZZ2564+ZZ2564
-+007460 002377 0 8192 -ZZ1564
-+007461 553000 0 ZZ2564
-- mark 6958, -413 /11 capr
-+007462 776304 ZZ2565=ZZ2565+ZZ2565
-+007462 774610 ZZ2565=ZZ2565+ZZ2565
-+007462 771420 ZZ2565=ZZ2565+ZZ2565
-+007462 763040 ZZ2565=ZZ2565+ZZ2565
-+007462 746100 ZZ2565=ZZ2565+ZZ2565
-+007462 714200 ZZ2565=ZZ2565+ZZ2565
-+007462 630400 ZZ2565=ZZ2565+ZZ2565
-+007462 461000 ZZ2565=ZZ2565+ZZ2565
-+007462 002322 0 8192 -ZZ1565
-+007463 461000 0 ZZ2565
-- mark 6988, 250 / 2 dlph
-+007464 000764 ZZ2566=ZZ2566+ZZ2566
-+007464 001750 ZZ2566=ZZ2566+ZZ2566
-+007464 003720 ZZ2566=ZZ2566+ZZ2566
-+007464 007640 ZZ2566=ZZ2566+ZZ2566
-+007464 017500 ZZ2566=ZZ2566+ZZ2566
-+007464 037200 ZZ2566=ZZ2566+ZZ2566
-+007464 076400 ZZ2566=ZZ2566+ZZ2566
-+007464 175000 ZZ2566=ZZ2566+ZZ2566
-+007464 002264 0 8192 -ZZ1566
-+007465 175000 0 ZZ2566
-- mark 7001, 326 / 4 dlph
-+007466 001214 ZZ2567=ZZ2567+ZZ2567
-+007466 002430 ZZ2567=ZZ2567+ZZ2567
-+007466 005060 ZZ2567=ZZ2567+ZZ2567
-+007466 012140 ZZ2567=ZZ2567+ZZ2567
-+007466 024300 ZZ2567=ZZ2567+ZZ2567
-+007466 050600 ZZ2567=ZZ2567+ZZ2567
-+007466 121400 ZZ2567=ZZ2567+ZZ2567
-+007466 243000 ZZ2567=ZZ2567+ZZ2567
-+007466 002247 0 8192 -ZZ1567
-+007467 243000 0 ZZ2567
-- mark 7015, -33 /71 aqil
-+007470 777674 ZZ2568=ZZ2568+ZZ2568
-+007470 777570 ZZ2568=ZZ2568+ZZ2568
-+007470 777360 ZZ2568=ZZ2568+ZZ2568
-+007470 776740 ZZ2568=ZZ2568+ZZ2568
-+007470 775700 ZZ2568=ZZ2568+ZZ2568
-+007470 773600 ZZ2568=ZZ2568+ZZ2568
-+007470 767400 ZZ2568=ZZ2568+ZZ2568
-+007470 757000 ZZ2568=ZZ2568+ZZ2568
-+007470 002231 0 8192 -ZZ1568
-+007471 757000 0 ZZ2568
-- mark 7020, 475 /29 vulp
-+007472 001666 ZZ2569=ZZ2569+ZZ2569
-+007472 003554 ZZ2569=ZZ2569+ZZ2569
-+007472 007330 ZZ2569=ZZ2569+ZZ2569
-+007472 016660 ZZ2569=ZZ2569+ZZ2569
-+007472 035540 ZZ2569=ZZ2569+ZZ2569
-+007472 073300 ZZ2569=ZZ2569+ZZ2569
-+007472 166600 ZZ2569=ZZ2569+ZZ2569
-+007472 355400 ZZ2569=ZZ2569+ZZ2569
-+007472 002224 0 8192 -ZZ1569
-+007473 355400 0 ZZ2569
-- mark 7026, 354 / 9 dlph
-+007474 001304 ZZ2570=ZZ2570+ZZ2570
-+007474 002610 ZZ2570=ZZ2570+ZZ2570
-+007474 005420 ZZ2570=ZZ2570+ZZ2570
-+007474 013040 ZZ2570=ZZ2570+ZZ2570
-+007474 026100 ZZ2570=ZZ2570+ZZ2570
-+007474 054200 ZZ2570=ZZ2570+ZZ2570
-+007474 130400 ZZ2570=ZZ2570+ZZ2570
-+007474 261000 ZZ2570=ZZ2570+ZZ2570
-+007474 002216 0 8192 -ZZ1570
-+007475 261000 0 ZZ2570
-- mark 7047, 335 /11 dlph
-+007476 001236 ZZ2571=ZZ2571+ZZ2571
-+007476 002474 ZZ2571=ZZ2571+ZZ2571
-+007476 005170 ZZ2571=ZZ2571+ZZ2571
-+007476 012360 ZZ2571=ZZ2571+ZZ2571
-+007476 024740 ZZ2571=ZZ2571+ZZ2571
-+007476 051700 ZZ2571=ZZ2571+ZZ2571
-+007476 123600 ZZ2571=ZZ2571+ZZ2571
-+007476 247400 ZZ2571=ZZ2571+ZZ2571
-+007476 002171 0 8192 -ZZ1571
-+007477 247400 0 ZZ2571
-- mark 7066, 359 /12 dlph
-+007500 001316 ZZ2572=ZZ2572+ZZ2572
-+007500 002634 ZZ2572=ZZ2572+ZZ2572
-+007500 005470 ZZ2572=ZZ2572+ZZ2572
-+007500 013160 ZZ2572=ZZ2572+ZZ2572
-+007500 026340 ZZ2572=ZZ2572+ZZ2572
-+007500 054700 ZZ2572=ZZ2572+ZZ2572
-+007500 131600 ZZ2572=ZZ2572+ZZ2572
-+007500 263400 ZZ2572=ZZ2572+ZZ2572
-+007500 002146 0 8192 -ZZ1572
-+007501 263400 0 ZZ2572
-- mark 7067, -225 / 2 aqar
-+007502 777074 ZZ2573=ZZ2573+ZZ2573
-+007502 776170 ZZ2573=ZZ2573+ZZ2573
-+007502 774360 ZZ2573=ZZ2573+ZZ2573
-+007502 770740 ZZ2573=ZZ2573+ZZ2573
-+007502 761700 ZZ2573=ZZ2573+ZZ2573
-+007502 743600 ZZ2573=ZZ2573+ZZ2573
-+007502 707400 ZZ2573=ZZ2573+ZZ2573
-+007502 617000 ZZ2573=ZZ2573+ZZ2573
-+007502 002145 0 8192 -ZZ1573
-+007503 617000 0 ZZ2573
-- mark 7068, -123 / 3 aqar
-+007504 777410 ZZ2574=ZZ2574+ZZ2574
-+007504 777020 ZZ2574=ZZ2574+ZZ2574
-+007504 776040 ZZ2574=ZZ2574+ZZ2574
-+007504 774100 ZZ2574=ZZ2574+ZZ2574
-+007504 770200 ZZ2574=ZZ2574+ZZ2574
-+007504 760400 ZZ2574=ZZ2574+ZZ2574
-+007504 741000 ZZ2574=ZZ2574+ZZ2574
-+007504 702000 ZZ2574=ZZ2574+ZZ2574
-+007504 002144 0 8192 -ZZ1574
-+007505 702000 0 ZZ2574
-- mark 7096, -213 / 6 aqar
-+007506 777124 ZZ2575=ZZ2575+ZZ2575
-+007506 776250 ZZ2575=ZZ2575+ZZ2575
-+007506 774520 ZZ2575=ZZ2575+ZZ2575
-+007506 771240 ZZ2575=ZZ2575+ZZ2575
-+007506 762500 ZZ2575=ZZ2575+ZZ2575
-+007506 745200 ZZ2575=ZZ2575+ZZ2575
-+007506 712400 ZZ2575=ZZ2575+ZZ2575
-+007506 625000 ZZ2575=ZZ2575+ZZ2575
-+007506 002110 0 8192 -ZZ1575
-+007507 625000 0 ZZ2575
-- mark 7161, -461 /22 capr
-+007510 776144 ZZ2576=ZZ2576+ZZ2576
-+007510 774310 ZZ2576=ZZ2576+ZZ2576
-+007510 770620 ZZ2576=ZZ2576+ZZ2576
-+007510 761440 ZZ2576=ZZ2576+ZZ2576
-+007510 743100 ZZ2576=ZZ2576+ZZ2576
-+007510 706200 ZZ2576=ZZ2576+ZZ2576
-+007510 614400 ZZ2576=ZZ2576+ZZ2576
-+007510 431000 ZZ2576=ZZ2576+ZZ2576
-+007510 002007 0 8192 -ZZ1576
-+007511 431000 0 ZZ2576
-- mark 7170, -401 /23 capr
-+007512 776334 ZZ2577=ZZ2577+ZZ2577
-+007512 774670 ZZ2577=ZZ2577+ZZ2577
-+007512 771560 ZZ2577=ZZ2577+ZZ2577
-+007512 763340 ZZ2577=ZZ2577+ZZ2577
-+007512 746700 ZZ2577=ZZ2577+ZZ2577
-+007512 715600 ZZ2577=ZZ2577+ZZ2577
-+007512 633400 ZZ2577=ZZ2577+ZZ2577
-+007512 467000 ZZ2577=ZZ2577+ZZ2577
-+007512 001776 0 8192 -ZZ1577
-+007513 467000 0 ZZ2577
-- mark 7192, -268 /13 capr
-+007514 776746 ZZ2578=ZZ2578+ZZ2578
-+007514 775714 ZZ2578=ZZ2578+ZZ2578
-+007514 773630 ZZ2578=ZZ2578+ZZ2578
-+007514 767460 ZZ2578=ZZ2578+ZZ2578
-+007514 757140 ZZ2578=ZZ2578+ZZ2578
-+007514 736300 ZZ2578=ZZ2578+ZZ2578
-+007514 674600 ZZ2578=ZZ2578+ZZ2578
-+007514 571400 ZZ2578=ZZ2578+ZZ2578
-+007514 001750 0 8192 -ZZ1578
-+007515 571400 0 ZZ2578
-- mark 7199, 222 / 5 equl
-+007516 000674 ZZ2579=ZZ2579+ZZ2579
-+007516 001570 ZZ2579=ZZ2579+ZZ2579
-+007516 003360 ZZ2579=ZZ2579+ZZ2579
-+007516 006740 ZZ2579=ZZ2579+ZZ2579
-+007516 015700 ZZ2579=ZZ2579+ZZ2579
-+007516 033600 ZZ2579=ZZ2579+ZZ2579
-+007516 067400 ZZ2579=ZZ2579+ZZ2579
-+007516 157000 ZZ2579=ZZ2579+ZZ2579
-+007516 001741 0 8192 -ZZ1579
-+007517 157000 0 ZZ2579
-- mark 7223, 219 / 7 equl
-+007520 000666 ZZ2580=ZZ2580+ZZ2580
-+007520 001554 ZZ2580=ZZ2580+ZZ2580
-+007520 003330 ZZ2580=ZZ2580+ZZ2580
-+007520 006660 ZZ2580=ZZ2580+ZZ2580
-+007520 015540 ZZ2580=ZZ2580+ZZ2580
-+007520 033300 ZZ2580=ZZ2580+ZZ2580
-+007520 066600 ZZ2580=ZZ2580+ZZ2580
-+007520 155400 ZZ2580=ZZ2580+ZZ2580
-+007520 001711 0 8192 -ZZ1580
-+007521 155400 0 ZZ2580
-- mark 7230, 110 / 8 equl
-+007522 000334 ZZ2581=ZZ2581+ZZ2581
-+007522 000670 ZZ2581=ZZ2581+ZZ2581
-+007522 001560 ZZ2581=ZZ2581+ZZ2581
-+007522 003340 ZZ2581=ZZ2581+ZZ2581
-+007522 006700 ZZ2581=ZZ2581+ZZ2581
-+007522 015600 ZZ2581=ZZ2581+ZZ2581
-+007522 033400 ZZ2581=ZZ2581+ZZ2581
-+007522 067000 ZZ2581=ZZ2581+ZZ2581
-+007522 001702 0 8192 -ZZ1581
-+007523 067000 0 ZZ2581
-- mark 7263, -393 /32 capr
-+007524 776354 ZZ2582=ZZ2582+ZZ2582
-+007524 774730 ZZ2582=ZZ2582+ZZ2582
-+007524 771660 ZZ2582=ZZ2582+ZZ2582
-+007524 763540 ZZ2582=ZZ2582+ZZ2582
-+007524 747300 ZZ2582=ZZ2582+ZZ2582
-+007524 716600 ZZ2582=ZZ2582+ZZ2582
-+007524 635400 ZZ2582=ZZ2582+ZZ2582
-+007524 473000 ZZ2582=ZZ2582+ZZ2582
-+007524 001641 0 8192 -ZZ1582
-+007525 473000 0 ZZ2582
-- mark 7267, 441 / 1 pegs
-+007526 001562 ZZ2583=ZZ2583+ZZ2583
-+007526 003344 ZZ2583=ZZ2583+ZZ2583
-+007526 006710 ZZ2583=ZZ2583+ZZ2583
-+007526 015620 ZZ2583=ZZ2583+ZZ2583
-+007526 033440 ZZ2583=ZZ2583+ZZ2583
-+007526 067100 ZZ2583=ZZ2583+ZZ2583
-+007526 156200 ZZ2583=ZZ2583+ZZ2583
-+007526 334400 ZZ2583=ZZ2583+ZZ2583
-+007526 001635 0 8192 -ZZ1583
-+007527 334400 0 ZZ2583
-- mark 7299, -506 /36 capr
-+007530 776012 ZZ2584=ZZ2584+ZZ2584
-+007530 774024 ZZ2584=ZZ2584+ZZ2584
-+007530 770050 ZZ2584=ZZ2584+ZZ2584
-+007530 760120 ZZ2584=ZZ2584+ZZ2584
-+007530 740240 ZZ2584=ZZ2584+ZZ2584
-+007530 700500 ZZ2584=ZZ2584+ZZ2584
-+007530 601200 ZZ2584=ZZ2584+ZZ2584
-+007530 402400 ZZ2584=ZZ2584+ZZ2584
-+007530 001575 0 8192 -ZZ1584
-+007531 402400 0 ZZ2584
-- mark 7347, -453 /39 capr
-+007532 776164 ZZ2585=ZZ2585+ZZ2585
-+007532 774350 ZZ2585=ZZ2585+ZZ2585
-+007532 770720 ZZ2585=ZZ2585+ZZ2585
-+007532 761640 ZZ2585=ZZ2585+ZZ2585
-+007532 743500 ZZ2585=ZZ2585+ZZ2585
-+007532 707200 ZZ2585=ZZ2585+ZZ2585
-+007532 616400 ZZ2585=ZZ2585+ZZ2585
-+007532 435000 ZZ2585=ZZ2585+ZZ2585
-+007532 001515 0 8192 -ZZ1585
-+007533 435000 0 ZZ2585
-- mark 7353, -189 /23 aqar
-+007534 777204 ZZ2586=ZZ2586+ZZ2586
-+007534 776410 ZZ2586=ZZ2586+ZZ2586
-+007534 775020 ZZ2586=ZZ2586+ZZ2586
-+007534 772040 ZZ2586=ZZ2586+ZZ2586
-+007534 764100 ZZ2586=ZZ2586+ZZ2586
-+007534 750200 ZZ2586=ZZ2586+ZZ2586
-+007534 720400 ZZ2586=ZZ2586+ZZ2586
-+007534 641000 ZZ2586=ZZ2586+ZZ2586
-+007534 001507 0 8192 -ZZ1586
-+007535 641000 0 ZZ2586
-- mark 7365, -390 /40 capr
-+007536 776362 ZZ2587=ZZ2587+ZZ2587
-+007536 774744 ZZ2587=ZZ2587+ZZ2587
-+007536 771710 ZZ2587=ZZ2587+ZZ2587
-+007536 763620 ZZ2587=ZZ2587+ZZ2587
-+007536 747440 ZZ2587=ZZ2587+ZZ2587
-+007536 717100 ZZ2587=ZZ2587+ZZ2587
-+007536 636200 ZZ2587=ZZ2587+ZZ2587
-+007536 474400 ZZ2587=ZZ2587+ZZ2587
-+007536 001473 0 8192 -ZZ1587
-+007537 474400 0 ZZ2587
-- mark 7379, -440 /43 capr
-+007540 776216 ZZ2588=ZZ2588+ZZ2588
-+007540 774434 ZZ2588=ZZ2588+ZZ2588
-+007540 771070 ZZ2588=ZZ2588+ZZ2588
-+007540 762160 ZZ2588=ZZ2588+ZZ2588
-+007540 744340 ZZ2588=ZZ2588+ZZ2588
-+007540 710700 ZZ2588=ZZ2588+ZZ2588
-+007540 621600 ZZ2588=ZZ2588+ZZ2588
-+007540 443400 ZZ2588=ZZ2588+ZZ2588
-+007540 001455 0 8192 -ZZ1588
-+007541 443400 0 ZZ2588
-- mark 7394, 384 / 9 pegs
-+007542 001400 ZZ2589=ZZ2589+ZZ2589
-+007542 003000 ZZ2589=ZZ2589+ZZ2589
-+007542 006000 ZZ2589=ZZ2589+ZZ2589
-+007542 014000 ZZ2589=ZZ2589+ZZ2589
-+007542 030000 ZZ2589=ZZ2589+ZZ2589
-+007542 060000 ZZ2589=ZZ2589+ZZ2589
-+007542 140000 ZZ2589=ZZ2589+ZZ2589
-+007542 300000 ZZ2589=ZZ2589+ZZ2589
-+007542 001436 0 8192 -ZZ1589
-+007543 300000 0 ZZ2589
-- mark 7499, -60 /31 aquar
-+007544 777606 ZZ2590=ZZ2590+ZZ2590
-+007544 777414 ZZ2590=ZZ2590+ZZ2590
-+007544 777030 ZZ2590=ZZ2590+ZZ2590
-+007544 776060 ZZ2590=ZZ2590+ZZ2590
-+007544 774140 ZZ2590=ZZ2590+ZZ2590
-+007544 770300 ZZ2590=ZZ2590+ZZ2590
-+007544 760600 ZZ2590=ZZ2590+ZZ2590
-+007544 741400 ZZ2590=ZZ2590+ZZ2590
-+007544 001265 0 8192 -ZZ1590
-+007545 741400 0 ZZ2590
-- mark 7513, 104 /22 pegs
-+007546 000320 ZZ2591=ZZ2591+ZZ2591
-+007546 000640 ZZ2591=ZZ2591+ZZ2591
-+007546 001500 ZZ2591=ZZ2591+ZZ2591
-+007546 003200 ZZ2591=ZZ2591+ZZ2591
-+007546 006400 ZZ2591=ZZ2591+ZZ2591
-+007546 015000 ZZ2591=ZZ2591+ZZ2591
-+007546 032000 ZZ2591=ZZ2591+ZZ2591
-+007546 064000 ZZ2591=ZZ2591+ZZ2591
-+007546 001247 0 8192 -ZZ1591
-+007547 064000 0 ZZ2591
-- mark 7515, -327 /33 aqar
-+007550 776560 ZZ2592=ZZ2592+ZZ2592
-+007550 775340 ZZ2592=ZZ2592+ZZ2592
-+007550 772700 ZZ2592=ZZ2592+ZZ2592
-+007550 765600 ZZ2592=ZZ2592+ZZ2592
-+007550 753400 ZZ2592=ZZ2592+ZZ2592
-+007550 727000 ZZ2592=ZZ2592+ZZ2592
-+007550 656000 ZZ2592=ZZ2592+ZZ2592
-+007550 534000 ZZ2592=ZZ2592+ZZ2592
-+007550 001245 0 8192 -ZZ1592
-+007551 534000 0 ZZ2592
-- mark 7575, -189 /43 aqar
-+007552 777204 ZZ2593=ZZ2593+ZZ2593
-+007552 776410 ZZ2593=ZZ2593+ZZ2593
-+007552 775020 ZZ2593=ZZ2593+ZZ2593
-+007552 772040 ZZ2593=ZZ2593+ZZ2593
-+007552 764100 ZZ2593=ZZ2593+ZZ2593
-+007552 750200 ZZ2593=ZZ2593+ZZ2593
-+007552 720400 ZZ2593=ZZ2593+ZZ2593
-+007552 641000 ZZ2593=ZZ2593+ZZ2593
-+007552 001151 0 8192 -ZZ1593
-+007553 641000 0 ZZ2593
-- mark 7603, -43 /48 aqar
-+007554 777650 ZZ2594=ZZ2594+ZZ2594
-+007554 777520 ZZ2594=ZZ2594+ZZ2594
-+007554 777240 ZZ2594=ZZ2594+ZZ2594
-+007554 776500 ZZ2594=ZZ2594+ZZ2594
-+007554 775200 ZZ2594=ZZ2594+ZZ2594
-+007554 772400 ZZ2594=ZZ2594+ZZ2594
-+007554 765000 ZZ2594=ZZ2594+ZZ2594
-+007554 752000 ZZ2594=ZZ2594+ZZ2594
-+007554 001115 0 8192 -ZZ1594
-+007555 752000 0 ZZ2594
-- mark 7604, 266 /31 pegs
-+007556 001024 ZZ2595=ZZ2595+ZZ2595
-+007556 002050 ZZ2595=ZZ2595+ZZ2595
-+007556 004120 ZZ2595=ZZ2595+ZZ2595
-+007556 010240 ZZ2595=ZZ2595+ZZ2595
-+007556 020500 ZZ2595=ZZ2595+ZZ2595
-+007556 041200 ZZ2595=ZZ2595+ZZ2595
-+007556 102400 ZZ2595=ZZ2595+ZZ2595
-+007556 205000 ZZ2595=ZZ2595+ZZ2595
-+007556 001114 0 8192 -ZZ1595
-+007557 205000 0 ZZ2595
-- mark 7624, 20 /52 aquar
-+007560 000050 ZZ2596=ZZ2596+ZZ2596
-+007560 000120 ZZ2596=ZZ2596+ZZ2596
-+007560 000240 ZZ2596=ZZ2596+ZZ2596
-+007560 000500 ZZ2596=ZZ2596+ZZ2596
-+007560 001200 ZZ2596=ZZ2596+ZZ2596
-+007560 002400 ZZ2596=ZZ2596+ZZ2596
-+007560 005000 ZZ2596=ZZ2596+ZZ2596
-+007560 012000 ZZ2596=ZZ2596+ZZ2596
-+007560 001070 0 8192 -ZZ1596
-+007561 012000 0 ZZ2596
-- mark 7639, 96 /35 pegs
-+007562 000300 ZZ2597=ZZ2597+ZZ2597
-+007562 000600 ZZ2597=ZZ2597+ZZ2597
-+007562 001400 ZZ2597=ZZ2597+ZZ2597
-+007562 003000 ZZ2597=ZZ2597+ZZ2597
-+007562 006000 ZZ2597=ZZ2597+ZZ2597
-+007562 014000 ZZ2597=ZZ2597+ZZ2597
-+007562 030000 ZZ2597=ZZ2597+ZZ2597
-+007562 060000 ZZ2597=ZZ2597+ZZ2597
-+007562 001051 0 8192 -ZZ1597
-+007563 060000 0 ZZ2597
-- mark 7654, -255 /57 aqar
-+007564 777000 ZZ2598=ZZ2598+ZZ2598
-+007564 776000 ZZ2598=ZZ2598+ZZ2598
-+007564 774000 ZZ2598=ZZ2598+ZZ2598
-+007564 770000 ZZ2598=ZZ2598+ZZ2598
-+007564 760000 ZZ2598=ZZ2598+ZZ2598
-+007564 740000 ZZ2598=ZZ2598+ZZ2598
-+007564 700000 ZZ2598=ZZ2598+ZZ2598
-+007564 600000 ZZ2598=ZZ2598+ZZ2598
-+007564 001032 0 8192 -ZZ1598
-+007565 600000 0 ZZ2598
-- mark 7681, -14 /62 aqar
-+007566 777742 ZZ2599=ZZ2599+ZZ2599
-+007566 777704 ZZ2599=ZZ2599+ZZ2599
-+007566 777610 ZZ2599=ZZ2599+ZZ2599
-+007566 777420 ZZ2599=ZZ2599+ZZ2599
-+007566 777040 ZZ2599=ZZ2599+ZZ2599
-+007566 776100 ZZ2599=ZZ2599+ZZ2599
-+007566 774200 ZZ2599=ZZ2599+ZZ2599
-+007566 770400 ZZ2599=ZZ2599+ZZ2599
-+007566 000777 0 8192 -ZZ1599
-+007567 770400 0 ZZ2599
-- mark 7727, -440 /66 aqar
-+007570 776216 ZZ2600=ZZ2600+ZZ2600
-+007570 774434 ZZ2600=ZZ2600+ZZ2600
-+007570 771070 ZZ2600=ZZ2600+ZZ2600
-+007570 762160 ZZ2600=ZZ2600+ZZ2600
-+007570 744340 ZZ2600=ZZ2600+ZZ2600
-+007570 710700 ZZ2600=ZZ2600+ZZ2600
-+007570 621600 ZZ2600=ZZ2600+ZZ2600
-+007570 443400 ZZ2600=ZZ2600+ZZ2600
-+007570 000721 0 8192 -ZZ1600
-+007571 443400 0 ZZ2600
-- mark 7747, 266 /46 pegs
-+007572 001024 ZZ2601=ZZ2601+ZZ2601
-+007572 002050 ZZ2601=ZZ2601+ZZ2601
-+007572 004120 ZZ2601=ZZ2601+ZZ2601
-+007572 010240 ZZ2601=ZZ2601+ZZ2601
-+007572 020500 ZZ2601=ZZ2601+ZZ2601
-+007572 041200 ZZ2601=ZZ2601+ZZ2601
-+007572 102400 ZZ2601=ZZ2601+ZZ2601
-+007572 205000 ZZ2601=ZZ2601+ZZ2601
-+007572 000675 0 8192 -ZZ1601
-+007573 205000 0 ZZ2601
-- mark 7761, -321 /71 aqar
-+007574 776574 ZZ2602=ZZ2602+ZZ2602
-+007574 775370 ZZ2602=ZZ2602+ZZ2602
-+007574 772760 ZZ2602=ZZ2602+ZZ2602
-+007574 765740 ZZ2602=ZZ2602+ZZ2602
-+007574 753700 ZZ2602=ZZ2602+ZZ2602
-+007574 727600 ZZ2602=ZZ2602+ZZ2602
-+007574 657400 ZZ2602=ZZ2602+ZZ2602
-+007574 537000 ZZ2602=ZZ2602+ZZ2602
-+007574 000657 0 8192 -ZZ1602
-+007575 537000 0 ZZ2602
-- mark 7779, -185 /73 aqar
-+007576 777214 ZZ2603=ZZ2603+ZZ2603
-+007576 776430 ZZ2603=ZZ2603+ZZ2603
-+007576 775060 ZZ2603=ZZ2603+ZZ2603
-+007576 772140 ZZ2603=ZZ2603+ZZ2603
-+007576 764300 ZZ2603=ZZ2603+ZZ2603
-+007576 750600 ZZ2603=ZZ2603+ZZ2603
-+007576 721400 ZZ2603=ZZ2603+ZZ2603
-+007576 643000 ZZ2603=ZZ2603+ZZ2603
-+007576 000635 0 8192 -ZZ1603
-+007577 643000 0 ZZ2603
-- mark 7795, 189 /50 pegs
-+007600 000572 ZZ2604=ZZ2604+ZZ2604
-+007600 001364 ZZ2604=ZZ2604+ZZ2604
-+007600 002750 ZZ2604=ZZ2604+ZZ2604
-+007600 005720 ZZ2604=ZZ2604+ZZ2604
-+007600 013640 ZZ2604=ZZ2604+ZZ2604
-+007600 027500 ZZ2604=ZZ2604+ZZ2604
-+007600 057200 ZZ2604=ZZ2604+ZZ2604
-+007600 136400 ZZ2604=ZZ2604+ZZ2604
-+007600 000615 0 8192 -ZZ1604
-+007601 136400 0 ZZ2604
-- mark 7844, 75 / 4 pisc
-+007602 000226 ZZ2605=ZZ2605+ZZ2605
-+007602 000454 ZZ2605=ZZ2605+ZZ2605
-+007602 001130 ZZ2605=ZZ2605+ZZ2605
-+007602 002260 ZZ2605=ZZ2605+ZZ2605
-+007602 004540 ZZ2605=ZZ2605+ZZ2605
-+007602 011300 ZZ2605=ZZ2605+ZZ2605
-+007602 022600 ZZ2605=ZZ2605+ZZ2605
-+007602 045400 ZZ2605=ZZ2605+ZZ2605
-+007602 000534 0 8192 -ZZ1605
-+007603 045400 0 ZZ2605
-- mark 7862, 202 /55 pegs
-+007604 000624 ZZ2606=ZZ2606+ZZ2606
-+007604 001450 ZZ2606=ZZ2606+ZZ2606
-+007604 003120 ZZ2606=ZZ2606+ZZ2606
-+007604 006240 ZZ2606=ZZ2606+ZZ2606
-+007604 014500 ZZ2606=ZZ2606+ZZ2606
-+007604 031200 ZZ2606=ZZ2606+ZZ2606
-+007604 062400 ZZ2606=ZZ2606+ZZ2606
-+007604 145000 ZZ2606=ZZ2606+ZZ2606
-+007604 000512 0 8192 -ZZ1606
-+007605 145000 0 ZZ2606
-- mark 7874, -494 /88 aqar
-+007606 776042 ZZ2607=ZZ2607+ZZ2607
-+007606 774104 ZZ2607=ZZ2607+ZZ2607
-+007606 770210 ZZ2607=ZZ2607+ZZ2607
-+007606 760420 ZZ2607=ZZ2607+ZZ2607
-+007606 741040 ZZ2607=ZZ2607+ZZ2607
-+007606 702100 ZZ2607=ZZ2607+ZZ2607
-+007606 604200 ZZ2607=ZZ2607+ZZ2607
-+007606 410400 ZZ2607=ZZ2607+ZZ2607
-+007606 000476 0 8192 -ZZ1607
-+007607 410400 0 ZZ2607
-- mark 7903, -150 /90 aqar
-+007610 777322 ZZ2608=ZZ2608+ZZ2608
-+007610 776644 ZZ2608=ZZ2608+ZZ2608
-+007610 775510 ZZ2608=ZZ2608+ZZ2608
-+007610 773220 ZZ2608=ZZ2608+ZZ2608
-+007610 766440 ZZ2608=ZZ2608+ZZ2608
-+007610 755100 ZZ2608=ZZ2608+ZZ2608
-+007610 732200 ZZ2608=ZZ2608+ZZ2608
-+007610 664400 ZZ2608=ZZ2608+ZZ2608
-+007610 000441 0 8192 -ZZ1608
-+007611 664400 0 ZZ2608
-- mark 7911, -219 /91 aqar
-+007612 777110 ZZ2609=ZZ2609+ZZ2609
-+007612 776220 ZZ2609=ZZ2609+ZZ2609
-+007612 774440 ZZ2609=ZZ2609+ZZ2609
-+007612 771100 ZZ2609=ZZ2609+ZZ2609
-+007612 762200 ZZ2609=ZZ2609+ZZ2609
-+007612 744400 ZZ2609=ZZ2609+ZZ2609
-+007612 711000 ZZ2609=ZZ2609+ZZ2609
-+007612 622000 ZZ2609=ZZ2609+ZZ2609
-+007612 000431 0 8192 -ZZ1609
-+007613 622000 0 ZZ2609
-- mark 7919, 62 / 6 pisc
-+007614 000174 ZZ2610=ZZ2610+ZZ2610
-+007614 000370 ZZ2610=ZZ2610+ZZ2610
-+007614 000760 ZZ2610=ZZ2610+ZZ2610
-+007614 001740 ZZ2610=ZZ2610+ZZ2610
-+007614 003700 ZZ2610=ZZ2610+ZZ2610
-+007614 007600 ZZ2610=ZZ2610+ZZ2610
-+007614 017400 ZZ2610=ZZ2610+ZZ2610
-+007614 037000 ZZ2610=ZZ2610+ZZ2610
-+007614 000421 0 8192 -ZZ1610
-+007615 037000 0 ZZ2610
-- mark 7923, -222 /93 aqar
-+007616 777102 ZZ2611=ZZ2611+ZZ2611
-+007616 776204 ZZ2611=ZZ2611+ZZ2611
-+007616 774410 ZZ2611=ZZ2611+ZZ2611
-+007616 771020 ZZ2611=ZZ2611+ZZ2611
-+007616 762040 ZZ2611=ZZ2611+ZZ2611
-+007616 744100 ZZ2611=ZZ2611+ZZ2611
-+007616 710200 ZZ2611=ZZ2611+ZZ2611
-+007616 620400 ZZ2611=ZZ2611+ZZ2611
-+007616 000415 0 8192 -ZZ1611
-+007617 620400 0 ZZ2611
-- mark 7952, -470 /98 aqar
-+007620 776122 ZZ2612=ZZ2612+ZZ2612
-+007620 774244 ZZ2612=ZZ2612+ZZ2612
-+007620 770510 ZZ2612=ZZ2612+ZZ2612
-+007620 761220 ZZ2612=ZZ2612+ZZ2612
-+007620 742440 ZZ2612=ZZ2612+ZZ2612
-+007620 705100 ZZ2612=ZZ2612+ZZ2612
-+007620 612200 ZZ2612=ZZ2612+ZZ2612
-+007620 424400 ZZ2612=ZZ2612+ZZ2612
-+007620 000360 0 8192 -ZZ1612
-+007621 424400 0 ZZ2612
-- mark 7969, -482 /99 aqar
-+007622 776072 ZZ2613=ZZ2613+ZZ2613
-+007622 774164 ZZ2613=ZZ2613+ZZ2613
-+007622 770350 ZZ2613=ZZ2613+ZZ2613
-+007622 760720 ZZ2613=ZZ2613+ZZ2613
-+007622 741640 ZZ2613=ZZ2613+ZZ2613
-+007622 703500 ZZ2613=ZZ2613+ZZ2613
-+007622 607200 ZZ2613=ZZ2613+ZZ2613
-+007622 416400 ZZ2613=ZZ2613+ZZ2613
-+007622 000337 0 8192 -ZZ1613
-+007623 416400 0 ZZ2613
-- mark 7975, 16 / 8 pisc
-+007624 000040 ZZ2614=ZZ2614+ZZ2614
-+007624 000100 ZZ2614=ZZ2614+ZZ2614
-+007624 000200 ZZ2614=ZZ2614+ZZ2614
-+007624 000400 ZZ2614=ZZ2614+ZZ2614
-+007624 001000 ZZ2614=ZZ2614+ZZ2614
-+007624 002000 ZZ2614=ZZ2614+ZZ2614
-+007624 004000 ZZ2614=ZZ2614+ZZ2614
-+007624 010000 ZZ2614=ZZ2614+ZZ2614
-+007624 000331 0 8192 -ZZ1614
-+007625 010000 0 ZZ2614
-- mark 7981, 133 /10 pisc
-+007626 000412 ZZ2615=ZZ2615+ZZ2615
-+007626 001024 ZZ2615=ZZ2615+ZZ2615
-+007626 002050 ZZ2615=ZZ2615+ZZ2615
-+007626 004120 ZZ2615=ZZ2615+ZZ2615
-+007626 010240 ZZ2615=ZZ2615+ZZ2615
-+007626 020500 ZZ2615=ZZ2615+ZZ2615
-+007626 041200 ZZ2615=ZZ2615+ZZ2615
-+007626 102400 ZZ2615=ZZ2615+ZZ2615
-+007626 000323 0 8192 -ZZ1615
-+007627 102400 0 ZZ2615
-- mark 7988, 278 /70 pegs
-+007630 001054 ZZ2616=ZZ2616+ZZ2616
-+007630 002130 ZZ2616=ZZ2616+ZZ2616
-+007630 004260 ZZ2616=ZZ2616+ZZ2616
-+007630 010540 ZZ2616=ZZ2616+ZZ2616
-+007630 021300 ZZ2616=ZZ2616+ZZ2616
-+007630 042600 ZZ2616=ZZ2616+ZZ2616
-+007630 105400 ZZ2616=ZZ2616+ZZ2616
-+007630 213000 ZZ2616=ZZ2616+ZZ2616
-+007630 000314 0 8192 -ZZ1616
-+007631 213000 0 ZZ2616
-- mark 8010, -489 /101 aqar
-+007632 776054 ZZ2617=ZZ2617+ZZ2617
-+007632 774130 ZZ2617=ZZ2617+ZZ2617
-+007632 770260 ZZ2617=ZZ2617+ZZ2617
-+007632 760540 ZZ2617=ZZ2617+ZZ2617
-+007632 741300 ZZ2617=ZZ2617+ZZ2617
-+007632 702600 ZZ2617=ZZ2617+ZZ2617
-+007632 605400 ZZ2617=ZZ2617+ZZ2617
-+007632 413000 ZZ2617=ZZ2617+ZZ2617
-+007632 000266 0 8192 -ZZ1617
-+007633 413000 0 ZZ2617
-- mark 8049, 116 /17 pisc
-+007634 000350 ZZ2618=ZZ2618+ZZ2618
-+007634 000720 ZZ2618=ZZ2618+ZZ2618
-+007634 001640 ZZ2618=ZZ2618+ZZ2618
-+007634 003500 ZZ2618=ZZ2618+ZZ2618
-+007634 007200 ZZ2618=ZZ2618+ZZ2618
-+007634 016400 ZZ2618=ZZ2618+ZZ2618
-+007634 035000 ZZ2618=ZZ2618+ZZ2618
-+007634 072000 ZZ2618=ZZ2618+ZZ2618
-+007634 000217 0 8192 -ZZ1618
-+007635 072000 0 ZZ2618
-- mark 8059, -418 /104 aqar
-+007636 776272 ZZ2619=ZZ2619+ZZ2619
-+007636 774564 ZZ2619=ZZ2619+ZZ2619
-+007636 771350 ZZ2619=ZZ2619+ZZ2619
-+007636 762720 ZZ2619=ZZ2619+ZZ2619
-+007636 745640 ZZ2619=ZZ2619+ZZ2619
-+007636 713500 ZZ2619=ZZ2619+ZZ2619
-+007636 627200 ZZ2619=ZZ2619+ZZ2619
-+007636 456400 ZZ2619=ZZ2619+ZZ2619
-+007636 000205 0 8192 -ZZ1619
-+007637 456400 0 ZZ2619
-- mark 8061, 28 /18 pisc
-+007640 000070 ZZ2620=ZZ2620+ZZ2620
-+007640 000160 ZZ2620=ZZ2620+ZZ2620
-+007640 000340 ZZ2620=ZZ2620+ZZ2620
-+007640 000700 ZZ2620=ZZ2620+ZZ2620
-+007640 001600 ZZ2620=ZZ2620+ZZ2620
-+007640 003400 ZZ2620=ZZ2620+ZZ2620
-+007640 007000 ZZ2620=ZZ2620+ZZ2620
-+007640 016000 ZZ2620=ZZ2620+ZZ2620
-+007640 000203 0 8192 -ZZ1620
-+007641 016000 0 ZZ2620
-- mark 8064, -344 /105 aqar
-+007642 776516 ZZ2621=ZZ2621+ZZ2621
-+007642 775234 ZZ2621=ZZ2621+ZZ2621
-+007642 772470 ZZ2621=ZZ2621+ZZ2621
-+007642 765160 ZZ2621=ZZ2621+ZZ2621
-+007642 752340 ZZ2621=ZZ2621+ZZ2621
-+007642 724700 ZZ2621=ZZ2621+ZZ2621
-+007642 651600 ZZ2621=ZZ2621+ZZ2621
-+007642 523400 ZZ2621=ZZ2621+ZZ2621
-+007642 000200 0 8192 -ZZ1621
-+007643 523400 0 ZZ2621
-- mark 8159, 144 /28 pisc
-+007644 000440 ZZ2622=ZZ2622+ZZ2622
-+007644 001100 ZZ2622=ZZ2622+ZZ2622
-+007644 002200 ZZ2622=ZZ2622+ZZ2622
-+007644 004400 ZZ2622=ZZ2622+ZZ2622
-+007644 011000 ZZ2622=ZZ2622+ZZ2622
-+007644 022000 ZZ2622=ZZ2622+ZZ2622
-+007644 044000 ZZ2622=ZZ2622+ZZ2622
-+007644 110000 ZZ2622=ZZ2622+ZZ2622
-+007644 000041 0 8192 -ZZ1622
-+007645 110000 0 ZZ2622
-- mark 8174, -149 /30 pisc
-+007646 777324 ZZ2623=ZZ2623+ZZ2623
-+007646 776650 ZZ2623=ZZ2623+ZZ2623
-+007646 775520 ZZ2623=ZZ2623+ZZ2623
-+007646 773240 ZZ2623=ZZ2623+ZZ2623
-+007646 766500 ZZ2623=ZZ2623+ZZ2623
-+007646 755200 ZZ2623=ZZ2623+ZZ2623
-+007646 732400 ZZ2623=ZZ2623+ZZ2623
-+007646 665000 ZZ2623=ZZ2623+ZZ2623
-+007646 000022 0 8192 -ZZ1623
-+007647 665000 0 ZZ2623
- 007650 4q,
-- mark 8188, -407 / 2 ceti
-+007650 776320 ZZ2624=ZZ2624+ZZ2624
-+007650 774640 ZZ2624=ZZ2624+ZZ2624
-+007650 771500 ZZ2624=ZZ2624+ZZ2624
-+007650 763200 ZZ2624=ZZ2624+ZZ2624
-+007650 746400 ZZ2624=ZZ2624+ZZ2624
-+007650 715000 ZZ2624=ZZ2624+ZZ2624
-+007650 632000 ZZ2624=ZZ2624+ZZ2624
-+007650 464000 ZZ2624=ZZ2624+ZZ2624
-+007650 000004 0 8192 -ZZ1624
-+007651 464000 0 ZZ2624
- 007652 start 4
-`
diff --git a/src/pkg/exp/spacewar/pdp1.go b/src/pkg/exp/spacewar/pdp1.go
deleted file mode 100644
index e3abd6807f..0000000000
--- a/src/pkg/exp/spacewar/pdp1.go
+++ /dev/null
@@ -1,389 +0,0 @@
-// Copyright (c) 1996 Barry Silverman, Brian Silverman, Vadim Gerasimov.
-// Portions Copyright (c) 2009 The Go Authors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-// This package and spacewar.go implement a simple PDP-1 emulator
-// complete enough to run the original PDP-1 video game Spacewar!
-// See ../../nacl/README for details on running them.
-//
-// They are a translation of the Java emulator pdp1.java in
-// http://spacewar.oversigma.com/sources/sources.zip.
-//
-// See also the PDP-1 handbook at http://www.dbit.com/~greeng3/pdp1/pdp1.html
-//
-// http://spacewar.oversigma.com/readme.html reads:
-//
-// Spacewar! was conceived in 1961 by Martin Graetz, Stephen Russell,
-// and Wayne Wiitanen. It was first realized on the PDP-1 in 1962 by
-// Stephen Russell, Peter Samson, Dan Edwards, and Martin Graetz,
-// together with Alan Kotok, Steve Piner, and Robert A Saunders.
-// Spacewar! is in the public domain, but this credit paragraph must
-// accompany all distributed versions of the program.
-//
-// This is the original version! Martin Graetz provided us with a
-// printed version of the source. We typed in in again - it was about
-// 40 pages long - and re-assembled it with a PDP-1 assembler written
-// in PERL. The resulting binary runs on a PDP-1 emulator written as
-// a Java applet. The code is extremely faithful to the original. There
-// are only two changes. 1)The spaceships have been made bigger and
-// 2) The overall timing has been special cased to deal with varying
-// machine speeds.
-//
-// The "a", "s", "d", "f" keys control one of the spaceships. The "k",
-// "l", ";", "'" keys control the other. The controls are spin one
-// way, spin the other, thrust, and fire.
-//
-// Barry Silverman
-// Brian Silverman
-// Vadim Gerasimov
-//
-package pdp1
-
-import (
- "bufio"
- "fmt"
- "os"
- "io"
-)
-
-type Word uint32
-
-const mask = 0777777
-const sign = 0400000
-
-const (
- _ = iota // 00
- opAND
- opIOR
- opXOR
- opXCT
- _
- _
- opCALJDA
-
- opLAC // 10
- opLIO
- opDAC
- opDAP
- _
- opDIO
- opDZM
- _
-
- opADD // 20
- opSUB
- opIDX
- opISP
- opSAD
- opSAS
- opMUS
- opDIS
-
- opJMP // 30
- opJSP
- opSKP
- opSFT
- opLAW
- opIOT
- _
- opOPR
-)
-
-// A Trapper represents an object with a Trap method.
-// The machine calls the Trap method to implement the
-// PDP-1 IOT instruction.
-type Trapper interface {
- Trap(y Word)
-}
-
-// An M represents the machine state of a PDP-1.
-// Clients can set Display to install an output device.
-type M struct {
- AC, IO, PC, OV Word
- Mem [010000]Word
- Flag [7]bool
- Sense [7]bool
- Halt bool
-}
-
-
-// Step runs a single machine instruction.
-func (m *M) Step(t Trapper) os.Error {
- inst := m.Mem[m.PC]
- m.PC++
- return m.run(inst, t)
-}
-
-// Normalize actual 32-bit integer i to 18-bit ones-complement integer.
-// Interpret mod 0777777, because 0777777 == -0 == +0 == 0000000.
-func norm(i Word) Word {
- i += i >> 18
- i &= mask
- if i == mask {
- i = 0
- }
- return i
-}
-
-type UnknownInstrError struct {
- Inst Word
- PC Word
-}
-
-func (e UnknownInstrError) String() string {
- return fmt.Sprintf("unknown instruction %06o at %06o", e.Inst, e.PC)
-}
-
-type HaltError Word
-
-func (e HaltError) String() string {
- return fmt.Sprintf("executed HLT instruction at %06o", e)
-}
-
-type LoopError Word
-
-func (e LoopError) String() string { return fmt.Sprintf("indirect load looping at %06o", e) }
-
-func (m *M) run(inst Word, t Trapper) os.Error {
- ib, y := (inst>>12)&1, inst&07777
- op := inst >> 13
- if op < opSKP && op != opCALJDA {
- for n := 0; ib != 0; n++ {
- if n > 07777 {
- return LoopError(m.PC - 1)
- }
- ib = (m.Mem[y] >> 12) & 1
- y = m.Mem[y] & 07777
- }
- }
-
- switch op {
- case opAND:
- m.AC &= m.Mem[y]
- case opIOR:
- m.AC |= m.Mem[y]
- case opXOR:
- m.AC ^= m.Mem[y]
- case opXCT:
- m.run(m.Mem[y], t)
- case opCALJDA:
- a := y
- if ib == 0 {
- a = 64
- }
- m.Mem[a] = m.AC
- m.AC = (m.OV << 17) + m.PC
- m.PC = a + 1
- case opLAC:
- m.AC = m.Mem[y]
- case opLIO:
- m.IO = m.Mem[y]
- case opDAC:
- m.Mem[y] = m.AC
- case opDAP:
- m.Mem[y] = m.Mem[y]&0770000 | m.AC&07777
- case opDIO:
- m.Mem[y] = m.IO
- case opDZM:
- m.Mem[y] = 0
- case opADD:
- m.AC += m.Mem[y]
- m.OV = m.AC >> 18
- m.AC = norm(m.AC)
- case opSUB:
- diffSigns := (m.AC^m.Mem[y])>>17 == 1
- m.AC += m.Mem[y] ^ mask
- m.AC = norm(m.AC)
- if diffSigns && m.Mem[y]>>17 == m.AC>>17 {
- m.OV = 1
- }
- case opIDX:
- m.AC = norm(m.Mem[y] + 1)
- m.Mem[y] = m.AC
- case opISP:
- m.AC = norm(m.Mem[y] + 1)
- m.Mem[y] = m.AC
- if m.AC&sign == 0 {
- m.PC++
- }
- case opSAD:
- if m.AC != m.Mem[y] {
- m.PC++
- }
- case opSAS:
- if m.AC == m.Mem[y] {
- m.PC++
- }
- case opMUS:
- if m.IO&1 == 1 {
- m.AC += m.Mem[y]
- m.AC = norm(m.AC)
- }
- m.IO = (m.IO>>1 | m.AC<<17) & mask
- m.AC >>= 1
- case opDIS:
- m.AC, m.IO = (m.AC<<1|m.IO>>17)&mask,
- ((m.IO<<1|m.AC>>17)&mask)^1
- if m.IO&1 == 1 {
- m.AC = m.AC + (m.Mem[y] ^ mask)
- } else {
- m.AC = m.AC + 1 + m.Mem[y]
- }
- m.AC = norm(m.AC)
- case opJMP:
- m.PC = y
- case opJSP:
- m.AC = (m.OV << 17) + m.PC
- m.PC = y
- case opSKP:
- cond := y&0100 == 0100 && m.AC == 0 ||
- y&0200 == 0200 && m.AC>>17 == 0 ||
- y&0400 == 0400 && m.AC>>17 == 1 ||
- y&01000 == 01000 && m.OV == 0 ||
- y&02000 == 02000 && m.IO>>17 == 0 ||
- y&7 != 0 && !m.Flag[y&7] ||
- y&070 != 0 && !m.Sense[(y&070)>>3] ||
- y&070 == 010
- if (ib == 0) == cond {
- m.PC++
- }
- if y&01000 == 01000 {
- m.OV = 0
- }
- case opSFT:
- for count := inst & 0777; count != 0; count >>= 1 {
- if count&1 == 0 {
- continue
- }
- switch (inst >> 9) & 017 {
- case 001: // rotate AC left
- m.AC = (m.AC<<1 | m.AC>>17) & mask
- case 002: // rotate IO left
- m.IO = (m.IO<<1 | m.IO>>17) & mask
- case 003: // rotate AC and IO left.
- w := uint64(m.AC)<<18 | uint64(m.IO)
- w = w<<1 | w>>35
- m.AC = Word(w>>18) & mask
- m.IO = Word(w) & mask
- case 005: // shift AC left (excluding sign bit)
- m.AC = (m.AC<<1|m.AC>>17)&mask&^sign | m.AC&sign
- case 006: // shift IO left (excluding sign bit)
- m.IO = (m.IO<<1|m.IO>>17)&mask&^sign | m.IO&sign
- case 007: // shift AC and IO left (excluding AC's sign bit)
- w := uint64(m.AC)<<18 | uint64(m.IO)
- w = w<<1 | w>>35
- m.AC = Word(w>>18)&mask&^sign | m.AC&sign
- m.IO = Word(w)&mask&^sign | m.AC&sign
- case 011: // rotate AC right
- m.AC = (m.AC>>1 | m.AC<<17) & mask
- case 012: // rotate IO right
- m.IO = (m.IO>>1 | m.IO<<17) & mask
- case 013: // rotate AC and IO right
- w := uint64(m.AC)<<18 | uint64(m.IO)
- w = w>>1 | w<<35
- m.AC = Word(w>>18) & mask
- m.IO = Word(w) & mask
- case 015: // shift AC right (excluding sign bit)
- m.AC = m.AC>>1 | m.AC&sign
- case 016: // shift IO right (excluding sign bit)
- m.IO = m.IO>>1 | m.IO&sign
- case 017: // shift AC and IO right (excluding AC's sign bit)
- w := uint64(m.AC)<<18 | uint64(m.IO)
- w = w >> 1
- m.AC = Word(w>>18) | m.AC&sign
- m.IO = Word(w) & mask
- default:
- goto Unknown
- }
- }
- case opLAW:
- if ib == 0 {
- m.AC = y
- } else {
- m.AC = y ^ mask
- }
- case opIOT:
- t.Trap(y)
- case opOPR:
- if y&0200 == 0200 {
- m.AC = 0
- }
- if y&04000 == 04000 {
- m.IO = 0
- }
- if y&01000 == 01000 {
- m.AC ^= mask
- }
- if y&0400 == 0400 {
- m.PC--
- return HaltError(m.PC)
- }
- switch i, f := y&7, y&010 == 010; {
- case i == 7:
- for i := 2; i < 7; i++ {
- m.Flag[i] = f
- }
- case i >= 2:
- m.Flag[i] = f
- }
- default:
- Unknown:
- return UnknownInstrError{inst, m.PC - 1}
- }
- return nil
-}
-
-// Load loads the machine's memory from a text input file
-// listing octal address-value pairs, one per line, matching the
-// regular expression ^[ +]([0-7]+)\t([0-7]+).
-func (m *M) Load(r io.Reader) os.Error {
- b := bufio.NewReader(r)
- for {
- line, err := b.ReadString('\n')
- if err != nil {
- if err != os.EOF {
- return err
- }
- break
- }
- // look for ^[ +]([0-9]+)\t([0-9]+)
- if line[0] != ' ' && line[0] != '+' {
- continue
- }
- i := 1
- a := Word(0)
- for ; i < len(line) && '0' <= line[i] && line[i] <= '7'; i++ {
- a = a*8 + Word(line[i]-'0')
- }
- if i >= len(line) || line[i] != '\t' || i == 1 {
- continue
- }
- v := Word(0)
- j := i
- for i++; i < len(line) && '0' <= line[i] && line[i] <= '7'; i++ {
- v = v*8 + Word(line[i]-'0')
- }
- if i == j {
- continue
- }
- m.Mem[a] = v
- }
- return nil
-}
diff --git a/src/pkg/exp/spacewar/spacewar.go b/src/pkg/exp/spacewar/spacewar.go
deleted file mode 100644
index 4eb6249d38..0000000000
--- a/src/pkg/exp/spacewar/spacewar.go
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright (c) 1996 Barry Silverman, Brian Silverman, Vadim Gerasimov.
-// Portions Copyright (c) 2009 The Go Authors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-// See ../../nacl/README.
-
-package main
-
-import (
- "bytes"
- "exp/draw"
- "exp/nacl/av"
- "exp/nacl/srpc"
- "image"
- "log"
- "os"
- "runtime"
- "time"
- "./pdp1"
-)
-
-func main() {
- runtime.LockOSThread()
- if srpc.Enabled() {
- go srpc.ServeRuntime()
- }
-
- w, err := av.Init(av.SubsystemVideo, 512, 512)
- if err != nil {
- log.Exitf("av.Init: %s", err)
- }
-
- kc := make(chan int)
- go demuxEvents(w, kc)
-
- var m SpacewarPDP1
- m.Init(w, kc)
- m.PC = 4
- f := bytes.NewBuffer([]byte(spacewarCode))
- if err = m.Load(f); err != nil {
- log.Exitf("loading %s: %s", "spacewar.lst", err)
- }
- for err == nil {
- //fmt.Printf("step PC=%06o ", m.PC);
- //fmt.Printf("inst=%06o AC=%06o IO=%06o OV=%o\n",
- // m.Mem[m.PC], m.AC, m.IO, m.OV);
- err = m.Step()
- }
- log.Exitf("step: %s", err)
-}
-
-func demuxEvents(w draw.Window, kc chan int) {
- for event := range w.EventChan() {
- switch e := event.(type) {
- case draw.KeyEvent:
- kc <- e.Key
- }
- }
- os.Exit(0)
-}
-
-// A SpacewarPDP1 is a PDP-1 machine configured to run Spacewar!
-// It responds to traps by drawing on the display, and it flushes the
-// display and pauses every second time the program counter reaches
-// instruction 02051.
-type SpacewarPDP1 struct {
- pdp1.M
- nframe int
- frameTime int64
- ctxt draw.Window
- dx, dy int
- screen draw.Image
- ctl pdp1.Word
- kc <-chan int
- colorModel image.ColorModel
- cmap []image.Color
- pix [][]uint8
-}
-
-func min(a, b int) int {
- if a < b {
- return a
- }
- return b
-}
-
-func (m *SpacewarPDP1) Init(ctxt draw.Window, kc chan int) {
- m.ctxt = ctxt
- m.kc = kc
- m.screen = ctxt.Screen()
- m.dx = m.screen.Bounds().Dx()
- m.dy = m.screen.Bounds().Dy()
- m.colorModel = m.screen.ColorModel()
- m.pix = make([][]uint8, m.dy)
- for i := range m.pix {
- m.pix[i] = make([]uint8, m.dx)
- }
- m.cmap = make([]image.Color, 256)
- for i := range m.cmap {
- var r, g, b uint8
- r = uint8(min(0, 255))
- g = uint8(min(i*2, 255))
- b = uint8(min(0, 255))
- m.cmap[i] = m.colorModel.Convert(image.RGBAColor{r, g, b, 0xff})
- }
-}
-
-const (
- frameDelay = 56 * 1e6 // 56 ms
-)
-
-var ctlBits = [...]pdp1.Word{
- 'f': 0000001,
- 'd': 0000002,
- 'a': 0000004,
- 's': 0000010,
- '\'': 0040000,
- ';': 0100000,
- 'k': 0200000,
- 'l': 0400000,
-}
-
-func (m *SpacewarPDP1) Step() os.Error {
- if m.PC == 02051 {
- m.pollInput()
- m.nframe++
- if m.nframe&1 == 0 {
- m.flush()
- t := time.Nanoseconds()
- if t >= m.frameTime+3*frameDelay {
- m.frameTime = t
- } else {
- m.frameTime += frameDelay
- for t < m.frameTime {
- time.Sleep(m.frameTime - t)
- t = time.Nanoseconds()
- }
- }
- }
- }
- return m.M.Step(m)
-}
-
-func (m *SpacewarPDP1) Trap(y pdp1.Word) {
- switch y & 077 {
- case 7:
- x := int(m.AC+0400000) & 0777777
- y := int(m.IO+0400000) & 0777777
- x = x * m.dx / 0777777
- y = y * m.dy / 0777777
- if 0 <= x && x < m.dx && 0 <= y && y < m.dy {
- n := uint8(min(int(m.pix[y][x])+128, 255))
- m.pix[y][x] = n
- }
- case 011:
- m.IO = m.ctl
- }
-}
-
-func (m *SpacewarPDP1) flush() {
- // Update screen image; simulate phosphor decay.
- for y := 0; y < m.dy; y++ {
- for x := 0; x < m.dx; x++ {
- m.screen.Set(x, y, m.cmap[m.pix[y][x]])
- m.pix[y][x] >>= 1
- }
- }
- m.ctxt.FlushImage()
-}
-
-func (m *SpacewarPDP1) pollInput() {
- for {
- select {
- case ch := <-m.kc:
- if 0 <= ch && ch < len(ctlBits) {
- m.ctl |= ctlBits[ch]
- }
- if 0 <= -ch && -ch < len(ctlBits) {
- m.ctl &^= ctlBits[-ch]
- }
- default:
- return
- }
- }
-}
diff --git a/src/pkg/exp/spacewar/spacewar.html b/src/pkg/exp/spacewar/spacewar.html
deleted file mode 100644
index 8f49b1c348..0000000000
--- a/src/pkg/exp/spacewar/spacewar.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-<h1>Spacewar</h1>
-<table>
-<tr><td valign=top>
-<embed name="nacl_module" id="pluginobj" src="8.out" type="application/x-nacl-srpc" width=512 height=512>
-<td valign=top>
-This is a Go translation of the Java emulator pdp1.java in
-<a href="http://spacewar.oversigma.com/sources/sources.zip">http://spacewar.oversigma.com/sources/sources.zip</a>.
-See <a href="pdp1.go">pdp1.go</a>, <a href="spacewar.go">spacewar.go</a>,
-and
-<a href="http://spacewar.oversigma.com/readme.html">http://spacewar.oversigma.com/readme.html</a>.
-<br><br>
-The <i>a</i>, <i>s</i>, <i>d</i>, <i>f</i> keys control one of the spaceships. The <i>k</i>,
-<i>l</i>, <i>;</i>, <i>'</i> keys control the other. The controls are spin one
-way, spin the other, thrust, and fire.
-<br>
-<br>
-<b>You may need to click on the game window to
-focus the keyboard on it.</b>
-
-</table>
diff --git a/src/pkg/net/Makefile b/src/pkg/net/Makefile
index 658bc89c75..6b6d7c0e3c 100644
--- a/src/pkg/net/Makefile
+++ b/src/pkg/net/Makefile
@@ -41,13 +41,6 @@ GOFILES_linux=\
dnsconfig.go\
dnsclient.go\
port.go\
-
-GOFILES_nacl=\
- newpollserver.go\
- fd.go\
- dnsconfig.go\
- dnsclient.go\
- port.go\
GOFILES_windows=\
resolv_windows.go\
diff --git a/src/pkg/net/fd_nacl.go b/src/pkg/net/fd_nacl.go
deleted file mode 100644
index d21db8b3a9..0000000000
--- a/src/pkg/net/fd_nacl.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package net
-
-import (
- "os"
- "syscall"
-)
-
-type pollster struct{}
-
-func newpollster() (p *pollster, err os.Error) {
- return nil, os.NewSyscallError("networking", syscall.ENACL)
-}
-
-func (p *pollster) AddFD(fd int, mode int, repeat bool) os.Error {
- _, err := newpollster()
- return err
-}
-
-func (p *pollster) StopWaiting(fd int, bits uint) {
-}
-
-func (p *pollster) DelFD(fd int, mode int) {}
-
-func (p *pollster) WaitFD(nsec int64) (fd int, mode int, err os.Error) {
- _, err = newpollster()
- return
-}
-
-func (p *pollster) Close() os.Error { return nil }
diff --git a/src/pkg/os/Makefile b/src/pkg/os/Makefile
index e4b6fb98dd..f6caf084cc 100644
--- a/src/pkg/os/Makefile
+++ b/src/pkg/os/Makefile
@@ -33,11 +33,6 @@ GOFILES_linux=\
file_unix.go\
sys_linux.go\
-GOFILES_nacl=\
- env_unix.go\
- file_unix.go\
- sys_nacl.go\
-
GOFILES_windows=\
env_windows.go\
file_windows.go\
diff --git a/src/pkg/os/dir_nacl.go b/src/pkg/os/dir_nacl.go
deleted file mode 100644
index 09aad6367d..0000000000
--- a/src/pkg/os/dir_nacl.go
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package os
-
-import (
- "syscall"
- "unsafe"
-)
-
-const (
- blockSize = 4096 // TODO(r): use statfs
-)
-
-func clen(n []byte) int {
- for i := 0; i < len(n); i++ {
- if n[i] == 0 {
- return i
- }
- }
- return len(n)
-}
-
-func (file *File) Readdirnames(count int) (names []string, err Error) {
- // If this file has no dirinfo, create one.
- if file.dirinfo == nil {
- file.dirinfo = new(dirInfo)
- // The buffer must be at least a block long.
- // TODO(r): use fstatfs to find fs block size.
- file.dirinfo.buf = make([]byte, blockSize)
- }
- d := file.dirinfo
- size := count
- if size < 0 {
- size = 100
- }
- names = make([]string, 0, size) // Empty with room to grow.
- for count != 0 {
- // Refill the buffer if necessary
- if d.bufp >= d.nbuf {
- var errno int
- d.nbuf, errno = syscall.Getdents(file.fd, d.buf)
- if errno != 0 {
- return names, NewSyscallError("getdents", errno)
- }
- if d.nbuf <= 0 {
- break // EOF
- }
- d.bufp = 0
- }
- // Drain the buffer
- for count != 0 && d.bufp < d.nbuf {
- dirent := (*syscall.Dirent)(unsafe.Pointer(&d.buf[d.bufp]))
- d.bufp += int(dirent.Reclen)
- if dirent.Ino == 0 { // File absent in directory.
- continue
- }
- bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
- var name = string(bytes[0:clen(bytes[0:])])
- if name == "." || name == ".." { // Useless names
- continue
- }
- count--
- names = append(names, name)
- }
- }
- return names, nil
-}
diff --git a/src/pkg/os/stat_nacl.go b/src/pkg/os/stat_nacl.go
deleted file mode 100644
index a44d0b0b6e..0000000000
--- a/src/pkg/os/stat_nacl.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package os
-
-import "syscall"
-
-func isSymlink(stat *syscall.Stat_t) bool {
- return stat.Mode&syscall.S_IFMT == syscall.S_IFLNK
-}
-
-func fileInfoFromStat(name string, fi *FileInfo, lstat, stat *syscall.Stat_t) *FileInfo {
- fi.Dev = uint64(stat.Dev)
- fi.Ino = uint64(stat.Ino)
- fi.Nlink = uint64(stat.Nlink)
- fi.Mode = stat.Mode
- fi.Uid = int(stat.Uid)
- fi.Gid = int(stat.Gid)
- fi.Rdev = uint64(stat.Rdev)
- fi.Size = int64(stat.Size)
- fi.Blksize = int64(stat.Blksize)
- fi.Blocks = int64(stat.Blocks)
- fi.Atime_ns = int64(stat.Atime) * 1e9
- fi.Mtime_ns = int64(stat.Mtime) * 1e9
- fi.Ctime_ns = int64(stat.Ctime) * 1e9
- for i := len(name) - 1; i >= 0; i-- {
- if name[i] == '/' {
- name = name[i+1:]
- break
- }
- }
- fi.Name = name
- if isSymlink(lstat) && !isSymlink(stat) {
- fi.FollowedSymlink = true
- }
- return fi
-}
diff --git a/src/pkg/os/sys_nacl.go b/src/pkg/os/sys_nacl.go
deleted file mode 100644
index dfcccb3e82..0000000000
--- a/src/pkg/os/sys_nacl.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package os
-
-func Hostname() (name string, err Error) { return "nacl", nil }
diff --git a/src/pkg/path/Makefile b/src/pkg/path/Makefile
index a36d86eb57..4371913e85 100644
--- a/src/pkg/path/Makefile
+++ b/src/pkg/path/Makefile
@@ -18,9 +18,6 @@ GOFILES_darwin=\
GOFILES_linux=\
path_unix.go
-GOFILES_nacl=\
- path_unix.go
-
GOFILES_windows=\
path_windows.go
diff --git a/src/pkg/runtime/386/closure.c b/src/pkg/runtime/386/closure.c
index 8ecb0219b3..b0d4cc41a9 100644
--- a/src/pkg/runtime/386/closure.c
+++ b/src/pkg/runtime/386/closure.c
@@ -15,9 +15,6 @@ runtime·closure(int32 siz, byte *fn, byte *arg0)
int32 i, n;
int32 pcrel;
- if(runtime·goos != nil && runtime·strcmp((uint8*)runtime·goos, (uint8*)"nacl") == 0)
- runtime·throw("no closures in native client yet");
-
if(siz < 0 || siz%4 != 0)
runtime·throw("bad closure size");
diff --git a/src/pkg/runtime/Makefile b/src/pkg/runtime/Makefile
index 5fe756ac89..e62dbe3933 100644
--- a/src/pkg/runtime/Makefile
+++ b/src/pkg/runtime/Makefile
@@ -165,9 +165,3 @@ ifeq ($(GOARCH),386)
traceback.$O: amd64/traceback.c
$(CC) $(CFLAGS) $<
endif
-
-# NaCl closure is special.
-ifeq ($(GOOS),nacl)
-closure.$O: nacl/$(GOARCH)/closure.c
- $(CC) $(CFLAGS) $<
-endif
diff --git a/src/pkg/runtime/malloc.h b/src/pkg/runtime/malloc.h
index f66baef898..0cee6c0ddb 100644
--- a/src/pkg/runtime/malloc.h
+++ b/src/pkg/runtime/malloc.h
@@ -327,10 +327,6 @@ struct MHeap
byte *min;
byte *max;
- // range of addresses we might see in a Native Client closure
- byte *closure_min;
- byte *closure_max;
-
// central free lists for small size classes.
// the union makes sure that the MCentrals are
// spaced 64 bytes apart, so that each MCentral.Lock
diff --git a/src/pkg/runtime/mgc0.c b/src/pkg/runtime/mgc0.c
index 69cc6f5d6a..6dcb61091d 100644
--- a/src/pkg/runtime/mgc0.c
+++ b/src/pkg/runtime/mgc0.c
@@ -76,22 +76,6 @@ scanblock(byte *b, int64 n)
obj = vp[i];
if(obj == nil)
continue;
- if(runtime·mheap.closure_min != nil && runtime·mheap.closure_min <= (byte*)obj && (byte*)obj < runtime·mheap.closure_max) {
- if((((uintptr)obj) & 63) != 0)
- continue;
-
- // Looks like a Native Client closure.
- // Actual pointer is pointed at by address in first instruction.
- // Embedded pointer starts at byte 2.
- // If it is f4f4f4f4 then that space hasn't been
- // used for a closure yet (f4 is the HLT instruction).
- // See nacl/386/closure.c for more.
- void **pp;
- pp = *(void***)((byte*)obj+2);
- if(pp == (void**)0xf4f4f4f4) // HLT... - not a closure after all
- continue;
- obj = *pp;
- }
if(runtime·mheap.min <= (byte*)obj && (byte*)obj < runtime·mheap.max) {
if(runtime·mlookup(obj, &obj, &size, nil, &refp)) {
ref = *refp;
diff --git a/src/pkg/runtime/mheap.c b/src/pkg/runtime/mheap.c
index b6e3307271..4bb7f14e3a 100644
--- a/src/pkg/runtime/mheap.c
+++ b/src/pkg/runtime/mheap.c
@@ -165,7 +165,7 @@ MHeap_Grow(MHeap *h, uintptr npage)
// Ask for a big chunk, to reduce the number of mappings
// the operating system needs to track; also amortizes
// the overhead of an operating system mapping.
- // For Native Client, allocate a multiple of 64kB (16 pages).
+ // Allocate a multiple of 64kB (16 pages).
npage = (npage+15)&~15;
ask = npage<<PageShift;
if(ask < HeapAllocChunk)
diff --git a/src/pkg/runtime/nacl/386/closure.c b/src/pkg/runtime/nacl/386/closure.c
deleted file mode 100644
index c56b35da44..0000000000
--- a/src/pkg/runtime/nacl/386/closure.c
+++ /dev/null
@@ -1,249 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
- * Closure implementation for Native Client.
- * Native Client imposes some interesting restrictions.
- *
- * First, we can only add new code to the code segment
- * through a special system call, and we have to pick the
- * maximum amount of code we're going to add that way
- * at link time (8l reserves 512 kB for us).
- *
- * Second, once we've added the code we can't ever
- * change it or delete it. If we want to garbage collect
- * the memory and then reuse it for another closure,
- * we have to do so without editing the code.
- *
- * To address both of these, we fill the code segment pieces
- * with very stylized closures. Each has the form given below
- * in the comments on the closasm array, with ** replaced by
- * a pointer to a single word of memory. The garbage collector
- * treats a pointer to such a closure as equivalent to the value
- * held in **. This tiled run of closures is called the closure array.
- *
- * The ptr points at a ClosureData structure, defined below,
- * which gives the function, arguments, and size for the
- * closuretramp function. The ClosureData structure has
- * in it a pointer to a ClosureFreeList structure holding the index
- * of the closure in the closure array (but not a pointer to it).
- * That structure has a finalizer: when the garbage collector
- * notices that the ClosureFreeList structure is not referenced
- * anymore, that means the closure is not referenced, so it
- * can be reused. To do that, the ClosureFreeList entry is put
- * onto an actual free list.
- */
-#include "runtime.h"
-#include "malloc.h"
-
-// NaCl system call to copy data into text segment.
-extern int32 runtime·dyncode_copy(void*, void*, int32);
-
-enum{
- // Allocate chunks of 4096 bytes worth of closures:
- // at 64 bytes each, that's 64 closures.
- ClosureChunk = 4096,
- ClosureSize = 64,
-};
-
-typedef struct ClosureFreeList ClosureFreeList;
-struct ClosureFreeList
-{
- ClosureFreeList *next;
- int32 index; // into closure array
-};
-
-// Known to closasm
-typedef struct ClosureData ClosureData;
-struct ClosureData
-{
- ClosureFreeList *free;
- byte *fn;
- int32 siz;
- // then args
-};
-
-// List of the closure data pointer blocks we've allocated
-// and hard-coded in the closure text segments.
-// The list keeps the pointer blocks from getting collected.
-typedef struct ClosureDataList ClosureDataList;
-struct ClosureDataList
-{
- ClosureData **block;
- ClosureDataList *next;
-};
-
-static struct {
- Lock;
- byte *code;
- byte *ecode;
- ClosureFreeList *free;
- ClosureDataList *datalist;
- byte buf[ClosureChunk];
-} clos;
-
-static byte closasm[64] = {
- 0x8b, 0x1d, 0, 0, 0, 0, // MOVL **, BX
- 0x8b, 0x4b, 8, // MOVL 8(BX), CX
- 0x8d, 0x73, 12, // LEAL 12(BX), SI
- 0x29, 0xcc, // SUBL CX, SP
- 0x89, 0xe7, // MOVL SP, DI
- 0xc1, 0xe9, 2, // SHRL $2, CX
- 0xf3, 0xa5, // REP MOVSL
- 0x8b, 0x5b, 4, // MOVL 4(BX), BX
- 0x90, 0x90, 0x90, // NOP...
- 0x83, 0xe3, ~31, // ANDL $~31, BX
- 0xff, 0xd3, // CALL *BX
- // --- 32-byte boundary
- 0x8b, 0x1d, 0, 0, 0, 0, // MOVL **, BX
- 0x03, 0x63, 8, // ADDL 8(BX), SP
- 0x5b, // POPL BX
- 0x83, 0xe3, ~31, // ANDL $~31, BX
- 0xff, 0xe3, // JMP *BX
- 0xf4, // HLT...
- 0xf4, 0xf4, 0xf4, 0xf4,
- 0xf4, 0xf4, 0xf4, 0xf4,
- 0xf4, 0xf4, 0xf4, 0xf4,
- 0xf4, 0xf4, 0xf4, 0xf4,
- // --- 32-byte boundary
-};
-
-// Returns immediate pointer from closure code block.
-// Triple pointer:
-// p is the instruction stream
-// p+2 is the location of the immediate value
-// *(p+2) is the immediate value, a word in the pointer block
-// permanently associated with this closure.
-// **(p+2) is the ClosureData* pointer temporarily associated
-// with this closure.
-//
-#define codeptr(p) *(ClosureData***)((byte*)(p)+2)
-
-void
-runtime·finclosure(void *v)
-{
- byte *p;
- ClosureFreeList *f;
-
- f = v;
- p = clos.code + f->index*ClosureSize;
- *codeptr(p) = nil;
-
- runtime·lock(&clos);
- f->next = clos.free;
- clos.free = f;
- runtime·unlock(&clos);
-}
-
-#pragma textflag 7
-// func closure(siz int32,
-// fn func(arg0, arg1, arg2 *ptr, callerpc uintptr, xxx) yyy,
-// arg0, arg1, arg2 *ptr) (func(xxx) yyy)
-void
-runtime·closure(int32 siz, byte *fn, byte *arg0)
-{
- byte *p, **ret;
- int32 e, i, n, off;
- extern byte rodata[], etext[];
- ClosureData *d, **block;
- ClosureDataList *l;
- ClosureFreeList *f;
-
- if(siz < 0 || siz%4 != 0)
- runtime·throw("bad closure size");
-
- ret = (byte**)((byte*)&arg0 + siz);
-
- if(siz > 100) {
- // TODO(rsc): implement stack growth preamble?
- runtime·throw("closure too big");
- }
-
- runtime·lock(&clos);
- if(clos.free == nil) {
- // Allocate more closures.
- if(clos.code == nil) {
- // First time: find closure space, between end of text
- // segment and beginning of data.
- clos.code = (byte*)(((uintptr)etext + 65535) & ~65535);
- clos.ecode = clos.code;
- runtime·mheap.closure_min = clos.code;
- runtime·mheap.closure_max = rodata;
- }
- if(clos.ecode+ClosureChunk > rodata) {
- // Last ditch effort: garbage collect and hope.
- runtime·unlock(&clos);
- runtime·gc(1);
- runtime·lock(&clos);
- if(clos.free != nil)
- goto alloc;
- runtime·throw("ran out of room for closures in text segment");
- }
-
- n = ClosureChunk/ClosureSize;
-
- // Allocate the pointer block as opaque to the
- // garbage collector. Finalizers will clean up.
- block = runtime·mallocgc(n*sizeof block[0], RefNoPointers, 1, 1);
-
- // Pointers into the pointer block are getting added
- // to the text segment; keep a pointer here in the data
- // segment so that the garbage collector doesn't free
- // the block itself.
- l = runtime·mal(sizeof *l);
- l->block = block;
- l->next = clos.datalist;
- clos.datalist = l;
-
- p = clos.buf;
- off = (clos.ecode - clos.code)/ClosureSize;
- for(i=0; i<n; i++) {
- f = runtime·mal(sizeof *f);
- f->index = off++;
- f->next = clos.free;
- clos.free = f;
-
- // There are two hard-coded immediate values in
- // the assembly that need to be pp+i, one 2 bytes in
- // and one 2 bytes after the 32-byte boundary.
- runtime·mcpy(p, closasm, ClosureSize);
- *(ClosureData***)(p+2) = block+i;
- *(ClosureData***)(p+32+2) = block+i;
- p += ClosureSize;
- }
-
- if(p != clos.buf+sizeof clos.buf)
- runtime·throw("bad buf math in closure");
-
- e = runtime·dyncode_copy(clos.ecode, clos.buf, ClosureChunk);
- if(e != 0) {
- runtime·fd = 2;
- if(e == -22)
- runtime·throw("NaCl running with dyncode_copy disabled; export NACLDYNCODE=1 in your environment");
- runtime·printf("dyncode_copy: error %d\n", e);
- runtime·throw("dyncode_copy");
- }
- clos.ecode += ClosureChunk;
- }
-
-alloc:
- // Grab a free closure and save the data pointer in its indirect pointer.
- f = clos.free;
- clos.free = f->next;
- f->next = nil;
- p = clos.code + f->index*ClosureSize;
-
- d = runtime·mal(sizeof(*d)+siz);
- d->free = f;
- d->fn = fn;
- d->siz = siz;
- runtime·mcpy((byte*)(d+1), (byte*)&arg0, siz);
- *codeptr(p) = d;
- runtime·addfinalizer(f, runtime·finclosure, 0);
- runtime·unlock(&clos);
-
- *ret = p;
-}
-
-
diff --git a/src/pkg/runtime/nacl/386/defs.h b/src/pkg/runtime/nacl/386/defs.h
deleted file mode 100644
index 420b6910b2..0000000000
--- a/src/pkg/runtime/nacl/386/defs.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// godefs -f-m32 -f-I/home/rsc/pub/nacl/native_client/src/third_party/nacl_sdk/linux/sdk/nacl-sdk/nacl/include -f-I/home/rsc/pub/nacl/native_client defs.c
-
-// MACHINE GENERATED - DO NOT EDIT.
-
-// Constants
-enum {
- PROT_NONE = 0,
- PROT_READ = 0x1,
- PROT_WRITE = 0x2,
- PROT_EXEC = 0x4,
- MAP_ANON = 0x20,
- MAP_PRIVATE = 0x2,
-};
-
-// Types
-#pragma pack on
-#pragma pack off
diff --git a/src/pkg/runtime/nacl/386/rt0.s b/src/pkg/runtime/nacl/386/rt0.s
deleted file mode 100644
index 838d139797..0000000000
--- a/src/pkg/runtime/nacl/386/rt0.s
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Native Client and Linux use the same linkage to main
-
-TEXT _rt0_386_nacl(SB),7,$0
- JMP _rt0_386(SB)
diff --git a/src/pkg/runtime/nacl/386/signal.c b/src/pkg/runtime/nacl/386/signal.c
deleted file mode 100644
index 50df77caab..0000000000
--- a/src/pkg/runtime/nacl/386/signal.c
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#include "runtime.h"
-#include "defs.h"
-#include "signals.h"
-#include "os.h"
-
-void
-runtime·initsig(int32 queue)
-{
-}
-
diff --git a/src/pkg/runtime/nacl/386/sys.s b/src/pkg/runtime/nacl/386/sys.s
deleted file mode 100644
index f758f8e658..0000000000
--- a/src/pkg/runtime/nacl/386/sys.s
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//
-// System calls and other sys.stuff for 386, Linux
-//
-
-#include "386/asm.h"
-
-// http://code.google.com/p/nativeclient/source/browse/trunk/src/native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h
-#define SYS_exit 30
-#define SYS_mmap 21
-#define SYS_munmap 22
-#define SYS_thread_create 80
-#define SYS_thread_exit 81
-#define SYS_tls_init 82
-#define SYS_write 13
-#define SYS_close 11
-#define SYS_mutex_create 70
-#define SYS_mutex_lock 71
-#define SYS_mutex_unlock 73
-#define SYS_gettimeofday 40
-#define SYS_dyncode_copy 104
-
-
-#define SYSCALL(x) $(0x10000+SYS_/**/x * 32)
-
-TEXT runtime·exit(SB),7,$4
- MOVL code+0(FP), AX
- MOVL AX, 0(SP)
- CALL SYSCALL(exit)
- INT $3 // not reached
- RET
-
-TEXT runtime·exit1(SB),7,$4
- MOVL code+0(FP), AX
- MOVL AX, 0(SP)
- CALL SYSCALL(thread_exit)
- INT $3 // not reached
- RET
-
-TEXT runtime·write(SB),7,$0
- JMP SYSCALL(write)
-
-TEXT runtime·close(SB),7,$0
- JMP SYSCALL(close)
-
-TEXT runtime·mutex_create(SB),7,$0
- JMP SYSCALL(mutex_create)
-
-TEXT runtime·mutex_lock(SB),7,$0
- JMP SYSCALL(mutex_lock)
-
-TEXT runtime·mutex_unlock(SB),7,$0
- JMP SYSCALL(mutex_unlock)
-
-TEXT runtime·thread_create(SB),7,$0
- JMP SYSCALL(thread_create)
-
-TEXT runtime·dyncode_copy(SB),7,$0
- JMP SYSCALL(dyncode_copy)
-
-// For Native Client: a simple no-op function.
-// Inserting a call to this no-op is a simple way
-// to trigger an alignment.
-TEXT runtime·naclnop(SB),7,$0
- RET
-
-TEXT runtime·mmap(SB),7,$24
- MOVL a1+0(FP), BX
- MOVL a2+4(FP), CX // round up to 64 kB boundary; silences nacl warning
- ADDL $(64*1024-1), CX
- ANDL $~(64*1024-1), CX
- MOVL a3+8(FP), DX
- MOVL a4+12(FP), SI
- MOVL a5+16(FP), DI
- MOVL a6+20(FP), BP
- MOVL BX, 0(SP)
- MOVL CX, 4(SP)
- MOVL DX, 8(SP)
- MOVL SI, 12(SP)
- MOVL DI, 16(SP)
- MOVL BP, 20(SP)
- CALL SYSCALL(mmap)
- CMPL AX, $0xfffff001
- JLS 6(PC)
- MOVL $1, 0(SP)
- MOVL $runtime·mmap_failed(SB), 4(SP)
- MOVL $12, 8(SP) // "mmap failed\n"
- CALL SYSCALL(write)
- INT $3
- RET
-
-TEXT runtime·munmap(SB),7,$0
- JMP SYSCALL(munmap)
-
-TEXT runtime·gettime(SB),7,$32
- LEAL 8(SP), BX
- MOVL BX, 0(SP)
- MOVL $0, 4(SP)
- CALL SYSCALL(gettimeofday)
-
- MOVL 8(SP), BX // sec
- MOVL sec+0(FP), DI
- MOVL BX, (DI)
- MOVL $0, 4(DI) // zero extend 32 -> 64 bits
-
- MOVL 12(SP), BX // usec
- MOVL usec+4(FP), DI
- MOVL BX, (DI)
- RET
-
-// setldt(int entry, int address, int limit)
-TEXT runtime·setldt(SB),7,$32
- // entry is ignored - nacl tells us the
- // segment selector to use and stores it in GS.
- MOVL address+4(FP), BX
- MOVL limit+8(FP), CX
- MOVL BX, 0(SP)
- MOVL CX, 4(SP)
- CALL SYSCALL(tls_init)
- CMPL AX, $0xfffff001
- JLS 6(PC)
- MOVL $1, 0(SP)
- MOVL $runtime·tls_init_failed(SB), 4(SP)
- MOVL $16, 8(SP) // "tls_init failed\n"
- CALL SYSCALL(write)
- INT $3
- RET
-
-// There's no good way (yet?) to get stack traces out of a
-// broken NaCl process, so if something goes wrong,
-// print an error string before dying.
-
-DATA runtime·mmap_failed(SB)/8, $"mmap fai"
-DATA mmap_failed+8(SB)/4, $"led\n"
-GLOBL runtime·mmap_failed(SB), $12
-
-DATA runtime·tls_init_failed(SB)/8, $"tls_init"
-DATA tls_init_failed+8(SB)/8, $" failed\n"
-GLOBL runtime·tls_init_failed(SB), $16
diff --git a/src/pkg/runtime/nacl/defs.c b/src/pkg/runtime/nacl/defs.c
deleted file mode 100644
index bcaddd74fc..0000000000
--- a/src/pkg/runtime/nacl/defs.c
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
-Input to godefs.
-
-godefs -f-m32 -f-I/home/rsc/pub/nacl/native_client/src/third_party/nacl_sdk/linux/sdk/nacl-sdk/nacl/include -f-I/home/rsc/pub/nacl/native_client defs.c >386/defs.h
-*/
-
-#define __native_client__ 1
-
-#define suseconds_t nacl_suseconds_t_1
-#include <sys/types.h>
-#undef suseconds_t
-
-#include <sys/mman.h>
-
-enum {
- $PROT_NONE = PROT_NONE,
- $PROT_READ = PROT_READ,
- $PROT_WRITE = PROT_WRITE,
- $PROT_EXEC = PROT_EXEC,
-
- $MAP_ANON = MAP_ANONYMOUS,
- $MAP_PRIVATE = MAP_PRIVATE,
-};
diff --git a/src/pkg/runtime/nacl/mem.c b/src/pkg/runtime/nacl/mem.c
deleted file mode 100644
index ebe2e9ca37..0000000000
--- a/src/pkg/runtime/nacl/mem.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "runtime.h"
-#include "defs.h"
-#include "os.h"
-#include "malloc.h"
-
-enum {
- NaclPage = 0x10000
-};
-
-void*
-runtime·SysAlloc(uintptr n)
-{
- mstats.sys += n;
- return runtime·mmap(nil, n, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANON|MAP_PRIVATE, -1, 0);
-}
-
-void
-runtime·SysUnused(void *v, uintptr n)
-{
- USED(v);
- USED(n);
- // TODO(rsc): call madvise MADV_DONTNEED
-}
-
-void
-runtime·SysFree(void *v, uintptr n)
-{
- // round to page size or else nacl prints annoying log messages
- mstats.sys -= n;
- n = (n+NaclPage-1) & ~(NaclPage-1);
- runtime·munmap(v, n);
-}
-
-void
-runtime·SysMemInit(void)
-{
-}
diff --git a/src/pkg/runtime/nacl/os.h b/src/pkg/runtime/nacl/os.h
deleted file mode 100644
index ce581831ba..0000000000
--- a/src/pkg/runtime/nacl/os.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-int32 runtime·thread_create(void(*fn)(void), void *stk, void *tls, int32 tlssize);
-void runtime·close(int32);
-int32 runtime·mutex_create(void);
-int32 runtime·mutex_lock(int32);
-int32 runtime·mutex_unlock(int32);
diff --git a/src/pkg/runtime/nacl/runtime_defs.go b/src/pkg/runtime/nacl/runtime_defs.go
deleted file mode 100644
index 86de13316e..0000000000
--- a/src/pkg/runtime/nacl/runtime_defs.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// OS-Specific Go definitions of internal structures. Master is runtime.h
-
-package runtime
-
-type lock struct {
- key uint32
- sema uint32
-}
-
-type note lock
diff --git a/src/pkg/runtime/nacl/signals.h b/src/pkg/runtime/nacl/signals.h
deleted file mode 100644
index e69de29bb2..0000000000
--- a/src/pkg/runtime/nacl/signals.h
+++ /dev/null
diff --git a/src/pkg/runtime/nacl/thread.c b/src/pkg/runtime/nacl/thread.c
deleted file mode 100644
index a0b6fa0199..0000000000
--- a/src/pkg/runtime/nacl/thread.c
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#include "runtime.h"
-#include "defs.h"
-#include "os.h"
-
-int8 *goos = "nacl";
-
-// Thread-safe allocation of a mutex.
-// (The name sema is left over from the Darwin implementation.
-// Native Client implements semaphores too, but it is just a shim
-// over the host implementation, which on some hosts imposes a very
-// low limit on how many semaphores can be created.)
-//
-// Psema points at a mutex descriptor.
-// It starts out zero, meaning no mutex.
-// Fill it in, being careful of others calling initsema
-// simultaneously.
-static void
-initsema(uint32 *psema)
-{
- uint32 sema;
-
- if(*psema != 0) // already have one
- return;
-
- sema = runtime·mutex_create();
- if((int32)sema < 0) {
- runtime·printf("mutex_create failed\n");
- runtime·breakpoint();
- }
- // mutex_create returns a file descriptor;
- // shift it up and add the 1 bit so that can
- // distinguish unintialized from fd 0.
- sema = (sema<<1) | 1;
- if(!cas(psema, 0, sema)){
- // Someone else filled it in. Use theirs.
- runtime·close(sema);
- return;
- }
-}
-
-// Lock and unlock.
-// Defer entirely to Native Client.
-// The expense of a call into Native Client is more like
-// a function call than a system call, so as long as the
-// Native Client lock implementation is good, we can't
-// do better ourselves.
-
-static void
-xlock(int32 fd)
-{
- if(mutex_lock(fd) < 0) {
- runtime·printf("mutex_lock failed\n");
- runtime·breakpoint();
- }
-}
-
-static void
-xunlock(int32 fd)
-{
- if(mutex_unlock(fd) < 0) {
- runtime·printf("mutex_lock failed\n");
- runtime·breakpoint();
- }
-}
-
-void
-runtime·lock(Lock *l)
-{
- if(m->locks < 0)
- runtime·throw("lock count");
- m->locks++;
- if(l->sema == 0)
- runtime·initsema(&l->sema);
- runtime·xlock(l->sema>>1);
-}
-
-void
-runtime·unlock(Lock *l)
-{
- m->locks--;
- if(m->locks < 0)
- runtime·throw("lock count");
- runtime·xunlock(l->sema>>1);
-}
-
-void
-runtime·destroylock(Lock*)
-{
-}
-
-// One-time notifications.
-//
-// Since the lock/unlock implementation already
-// takes care of sleeping in the kernel, we just reuse it.
-// (But it's a weird use, so it gets its own interface.)
-//
-// We use a lock to represent the event:
-// unlocked == event has happened.
-// Thus the lock starts out locked, and to wait for the
-// event you try to lock the lock. To signal the event,
-// you unlock the lock.
-//
-// Native Client does not require that the thread acquiring
-// a lock be the thread that releases the lock, so this is safe.
-
-void
-runtime·noteclear(Note *n)
-{
- if(n->lock.sema == 0)
- runtime·initsema(&n->lock.sema);
- runtime·xlock(n->lock.sema>>1);
-}
-
-void
-runtime·notewakeup(Note *n)
-{
- if(n->lock.sema == 0) {
- runtime·printf("notewakeup without noteclear");
- runtime·breakpoint();
- }
- runtime·xunlock(n->lock.sema>>1);
-}
-
-void
-runtime·notesleep(Note *n)
-{
- if(n->lock.sema == 0) {
- runtime·printf("notesleep without noteclear");
- runtime·breakpoint();
- }
- runtime·xlock(n->lock.sema>>1);
- runtime·xunlock(n->lock.sema>>1); // Let other sleepers find out too.
-}
-
-void
-runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void))
-{
- void **vstk;
-
- // I wish every OS made thread creation this easy.
- m->tls[0] = (uint32)g;
- m->tls[1] = (uint32)m;
- vstk = stk;
- *--vstk = nil;
- if(thread_create(fn, vstk, m->tls, sizeof m->tls) < 0) {
- runtime·printf("thread_create failed\n");
- runtime·breakpoint();
- }
-}
-
-void
-runtime·osinit(void)
-{
-}
-
-// Called to initialize a new m (including the bootstrap m).
-void
-runtime·minit(void)
-{
-}
diff --git a/src/pkg/syscall/Makefile b/src/pkg/syscall/Makefile
index bf9ed1309e..061b0056c6 100644
--- a/src/pkg/syscall/Makefile
+++ b/src/pkg/syscall/Makefile
@@ -30,10 +30,6 @@ GOFILES_linux=\
syscall_unix.go\
exec_unix.go\
-GOFILES_nacl=\
- syscall_unix.go\
- exec_unix.go\
-
GOFILES_windows=\
exec_windows.go
diff --git a/src/pkg/syscall/asm_nacl_386.s b/src/pkg/syscall/asm_nacl_386.s
deleted file mode 100644
index 166d2acf0b..0000000000
--- a/src/pkg/syscall/asm_nacl_386.s
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//
-// System calls for 386, Native Client
-//
-
-#define SYSCALL(x) $(0x10000+x * 32)
-
-// func Syscall(trap uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr);
-// Trap # in AX, args in BX CX DX SI DI, return in AX
-
-TEXT ·Syscall(SB),7,$20
- CALL runtime·entersyscall(SB)
- MOVL trap+0(FP), AX // syscall entry
- MOVL a1+4(FP), BX
- MOVL a2+8(FP), CX
- MOVL a3+12(FP), DX
- MOVL $0, SI
- MOVL $0, DI
-
- MOVL BX, 0(SP)
- MOVL CX, 4(SP)
- MOVL DX, 8(SP)
- MOVL SI, 12(SP)
- MOVL DI, 16(SP)
-
- // Call $(0x10000+32*AX)
- SHLL $5, AX
- ADDL $0x10000, AX
- CALL AX
-
- CMPL AX, $0xfffff001
- JLS ok
- MOVL $-1, r1+16(FP)
- MOVL $0, r2+20(FP)
- NEGL AX
- MOVL AX, errno+24(FP)
- CALL runtime·exitsyscall(SB)
- RET
-ok:
- MOVL AX, r1+16(FP)
- MOVL DX, r2+20(FP)
- MOVL $0, errno+24(FP)
- CALL runtime·exitsyscall(SB)
- RET
-
-// func Syscall6(trap uintptr, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr);
-TEXT ·Syscall6(SB),7,$24
- CALL runtime·entersyscall(SB)
- MOVL a1+4(FP), BX
- MOVL a2+8(FP), CX
- MOVL a3+12(FP), DX
- MOVL a4+16(FP), SI
- MOVL a5+20(FP), DI
- MOVL a6+24(FP), AX
-
- MOVL BX, 0(SP)
- MOVL CX, 4(SP)
- MOVL DX, 8(SP)
- MOVL SI, 12(SP)
- MOVL DI, 16(SP)
- MOVL AX, 20(SP)
-
- // Call $(0x10000+32*trap)
- MOVL trap+0(FP), AX // syscall entry
- SHLL $5, AX
- ADDL $0x10000, AX
- CALL AX
-
- CMPL AX, $0xfffff001
- JLS ok6
- MOVL $-1, r1+28(FP)
- MOVL $0, r2+32(FP)
- NEGL AX
- MOVL AX, errno+36(FP)
- CALL runtime·exitsyscall(SB)
- RET
-ok6:
- MOVL AX, r1+28(FP)
- MOVL DX, r2+32(FP)
- MOVL $0, errno+36(FP)
- CALL runtime·exitsyscall(SB)
- RET
-
-// func RawSyscall(trap uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr);
-TEXT ·RawSyscall(SB),7,$20
- MOVL trap+0(FP), AX // syscall entry
- MOVL a1+4(FP), BX
- MOVL a2+8(FP), CX
- MOVL a3+12(FP), DX
- MOVL $0, SI
- MOVL $0, DI
-
- MOVL BX, 0(SP)
- MOVL CX, 4(SP)
- MOVL DX, 8(SP)
- MOVL SI, 12(SP)
- MOVL DI, 16(SP)
-
- // Call $(0x10000+32*AX)
- SHLL $5, AX
- ADDL $0x10000, AX
- CALL AX
-
- CMPL AX, $0xfffff001
- JLS ok1
- MOVL $-1, r1+16(FP)
- MOVL $0, r2+20(FP)
- NEGL AX
- MOVL AX, errno+24(FP)
- RET
-ok1:
- MOVL AX, r1+16(FP)
- MOVL DX, r2+20(FP)
- MOVL $0, errno+24(FP)
- RET
-
diff --git a/src/pkg/syscall/mkerrors_nacl.sh b/src/pkg/syscall/mkerrors_nacl.sh
deleted file mode 100755
index f8abff9c27..0000000000
--- a/src/pkg/syscall/mkerrors_nacl.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-# Generate Go code listing error values (ENAMETOOLONG etc)
-# for Native Client.
-
-echo '// mkerrors_nacl.sh' "$@"
-echo '// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT'
-echo
-echo 'package syscall'
-echo
-echo 'const ('
-perl -n -e '
- if(/#define\s+NACL_ABI_(\S*)\s+([0-9]+)/) {
- print "\t$1 = $2;\n"
- }
-' $1
-echo ' ENACL = 99; /* otherwise unused */'
-echo ')'
-echo
-echo
-echo '// Error table'
-echo 'var errors = [...]string {'
-perl -n -e '
- if(/#define\s+NACL_ABI_(\S*)\s+([0-9]+)\s+\/\* (.*) \*\//) {
- $err = $1;
- $text = $3;
- if($text =~ /^[A-Z][a-z]/) {
- # lowercase first letter: Bad -> bad, but STREAM -> STREAM.
- $l = substr($text, 0, 1);
- $rest = substr($text, 1);
- $l =~ y/A-Z/a-z/;
- $text = $l . $rest;
- }
- print "\t$err: \"$text\",\n";
- }
-' $1
-echo ' ENACL: "not supported by native client",'
-echo '}'
diff --git a/src/pkg/syscall/mksysnum_nacl.sh b/src/pkg/syscall/mksysnum_nacl.sh
deleted file mode 100755
index f42f450560..0000000000
--- a/src/pkg/syscall/mksysnum_nacl.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/perl
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-my $command = "mksysnum_nacl.sh ". join(' ', @ARGV);
-
-print <<EOF;
-// $command
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-
-package syscall
-
-const(
-EOF
-
-while(<>){
- if(/^#define NACL_sys_(\w+)\s+([0-9]+)/){
- my $name = "SYS_$1";
- my $num = $2;
- $name =~ y/a-z/A-Z/;
- print " $name = $num;\n";
- }
-}
-
-print <<EOF;
-)
-
-EOF
diff --git a/src/pkg/syscall/syscall_nacl.go b/src/pkg/syscall/syscall_nacl.go
deleted file mode 100644
index a9f6787f60..0000000000
--- a/src/pkg/syscall/syscall_nacl.go
+++ /dev/null
@@ -1,357 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Native Client system calls.
-
-package syscall
-
-const OS = "nacl"
-
-var _zero [1]byte // pointer used for zero-length writes
-
-// Auto-generated
-
-//sys Chmod(path string, mode uint32) (errno int)
-//sys Clock() (clock int)
-//sys Close(fd int) (errno int)
-//sys Exit(code int)
-//sys Fstat(fd int, stat *Stat_t) (errno int)
-//sys Getdents(fd int, buf []byte) (n int, errno int)
-//sys Getpid() (pid int)
-//sys Gettimeofday(tv *Timeval) (errno int)
-//sys Open(path string, mode int, perm uint32) (fd int, errno int)
-//sys Read(fd int, p []byte) (n int, errno int)
-//sys read(fd int, buf *byte, nbuf int) (n int, errno int)
-//sys Stat(path string, stat *Stat_t) (errno int)
-//sys Write(fd int, p []byte) (n int, errno int)
-
-//sys MultimediaInit(subsys int) (errno int)
-//sys MultimediaShutdown() (errno int)
-
-//sys CondCreate() (cv int, errno int)
-//sys CondWait(cv int, mutex int) (errno int)
-//sys CondSignal(cv int) (errno int)
-//sys CondBroadcast(cv int) (errno int)
-//sys CondTimedWaitAbs(cv int, mutex int, abstime *Timespec) (errno int)
-//sys MutexCreate() (mutex int, errno int)
-//sys MutexLock(mutex int) (errno int)
-//sys MutexUnlock(mutex int) (errno int)
-//sys MutexTryLock(mutex int) (errno int) = SYS_MUTEX_TRYLOCK
-//sys SemCreate() (sema int, errno int)
-//sys SemWait(sema int) (errno int)
-//sys SemPost(sema int) (errno int)
-//sys VideoInit(dx int, dy int) (errno int)
-//sys VideoUpdate(data *uint32) (errno int)
-//sys VideoPollEvent(ev *byte) (errno int)
-//sys VideoShutdown() (errno int)
-//sys AudioInit(fmt int, nreq int, data *int) (errno int)
-//sys AudioShutdown() (errno int)
-//sys AudioStream(data *uint16, size *uintptr) (errno int)
-
-// Hand-written
-
-func Seek(fd int, offset int64, whence int) (newoffset int64, errno int) {
- // Offset passed to system call is 32 bits. Failure of vision by NaCl.
- if int64(int32(offset)) != offset {
- return 0, ERANGE
- }
- o, _, e := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
- return int64(o), int(e)
-}
-
-// Sleep by waiting on a condition variable that will never be signaled.
-// TODO(rsc): Replace when NaCl adds a proper sleep system call.
-var tcv, tmu int
-
-func init() {
- tmu, _ = MutexCreate()
- tcv, _ = CondCreate()
-}
-
-func Sleep(ns int64) (errno int) {
- ts := NsecToTimespec(ns)
- var tv Timeval
- if errno = Gettimeofday(&tv); errno != 0 {
- return
- }
- ts.Sec += tv.Sec
- ts.Nsec += tv.Usec * 1000
- switch {
- case ts.Nsec >= 1e9:
- ts.Nsec -= 1e9
- ts.Sec++
- case ts.Nsec <= -1e9:
- ts.Nsec += 1e9
- ts.Sec--
- }
- if errno = MutexLock(tmu); errno != 0 {
- return
- }
- errno = CondTimedWaitAbs(tcv, tmu, &ts)
- if e := MutexUnlock(tmu); e != 0 && errno == 0 {
- errno = e
- }
- return
-}
-
-// Implemented in NaCl but not here; maybe later:
-// SYS_IOCTL
-// SYS_IMC_*
-// SYS_MMAP ???
-// SYS_SRPC_*
-// SYS_SYSCONF
-
-// Implemented in NaCl but not here; used by runtime instead:
-// SYS_SYSBRK
-// SYS_MMAP
-// SYS_MUNMAP
-// SYS_THREAD_*
-// SYS_TLS_*
-// SYS_SCHED_YIELD
-
-// #define'd in NaCl but not picked up by mkerrors_nacl.sh.
-
-const EWOULDBLOCK = EAGAIN
-
-// Not implemented in NaCl but needed to compile other packages.
-
-const (
- SIGTRAP = 5
-)
-
-func Pipe(p []int) (errno int) { return ENACL }
-
-func fcntl(fd, cmd, arg int) (val int, errno int) {
- return 0, ENACL
-}
-
-func Pread(fd int, p []byte, offset int64) (n int, errno int) {
- return 0, ENACL
-}
-
-func Pwrite(fd int, p []byte, offset int64) (n int, errno int) {
- return 0, ENACL
-}
-
-func Mkdir(path string, mode uint32) (errno int) { return ENACL }
-
-func Lstat(path string, stat *Stat_t) (errno int) {
- return Stat(path, stat)
-}
-
-func Chdir(path string) (errno int) { return ENACL }
-
-func Fchdir(fd int) (errno int) { return ENACL }
-
-func Unlink(path string) (errno int) { return ENACL }
-
-func Rmdir(path string) (errno int) { return ENACL }
-
-func Link(oldpath, newpath string) (errno int) {
- return ENACL
-}
-
-func Symlink(path, link string) (errno int) { return ENACL }
-
-func Readlink(path string, buf []byte) (n int, errno int) {
- return 0, ENACL
-}
-
-func Rename(oldpath, newpath string) (errno int) {
- return ENACL
-}
-
-func Fchmod(fd int, mode uint32) (errno int) { return ENACL }
-
-func Chown(path string, uid int, gid int) (errno int) {
- return ENACL
-}
-
-func Lchown(path string, uid int, gid int) (errno int) {
- return ENACL
-}
-
-func Fchown(fd int, uid int, gid int) (errno int) {
- return ENACL
-}
-
-func Utimes(path string, tv []Timeval) (errno int) {
- return ENACL
-}
-
-func Futimes(fd int, tv []Timeval) (errno int) {
- return ENACL
-}
-
-func Truncate(name string, size int64) (errno int) {
- return ENACL
-}
-
-func Ftruncate(fd int, length int64) (errno int) {
- return ENACL
-}
-
-// NaCL doesn't actually implement Getwd, but it also
-// don't implement Chdir, so the fallback algorithm
-// fails worse than calling Getwd does.
-
-const ImplementsGetwd = true
-
-func Getwd() (wd string, errno int) { return "", ENACL }
-
-func Getuid() (uid int) { return -1 }
-
-func Geteuid() (euid int) { return -1 }
-
-func Getgid() (gid int) { return -1 }
-
-func Getegid() (egid int) { return -1 }
-
-func Getppid() (ppid int) { return -1 }
-
-func Getgroups() (gids []int, errno int) { return nil, ENACL }
-
-type Sockaddr interface {
- sockaddr()
-}
-
-type SockaddrInet4 struct {
- Port int
- Addr [4]byte
-}
-
-func (*SockaddrInet4) sockaddr() {}
-
-type SockaddrInet6 struct {
- Port int
- Addr [16]byte
-}
-
-func (*SockaddrInet6) sockaddr() {}
-
-type SockaddrUnix struct {
- Name string
-}
-
-func (*SockaddrUnix) sockaddr() {}
-
-const (
- AF_INET = 1 + iota
- AF_INET6
- AF_UNIX
- IPPROTO_TCP
- SOCK_DGRAM
- SOCK_STREAM
- SOCK_RAW
- SOL_SOCKET
- SOMAXCONN
- SO_DONTROUTE
- SO_KEEPALIVE
- SO_LINGER
- SO_RCVBUF
- SO_REUSEADDR
- SO_SNDBUF
- IPPROTO_IPV6
- IPV6_V6ONLY
- TCP_NODELAY
- WNOHANG
- WSTOPPED
- PTRACE_TRACEME
- SO_BROADCAST = 0
- SHUT_RDWR = 0
-)
-
-func Accept(fd int) (nfd int, sa Sockaddr, errno int) {
- return 0, nil, ENACL
-}
-
-func Getsockname(fd int) (sa Sockaddr, errno int) {
- return nil, ENACL
-}
-
-func Getpeername(fd int) (sa Sockaddr, errno int) {
- return nil, ENACL
-}
-
-func Bind(fd int, sa Sockaddr) (errno int) { return ENACL }
-
-func BindToDevice(fd int, device string) (errno int) { return ENACL }
-
-func Connect(fd int, sa Sockaddr) (errno int) { return ENACL }
-
-func Socket(domain, typ, proto int) (fd, errno int) {
- return 0, ENACL
-}
-
-func SetsockoptInt(fd, level, opt int, value int) (errno int) {
- return ENACL
-}
-
-func Shutdown(fd, how int) (errno int) { return ENACL }
-
-func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, errno int) {
- return 0, nil, ENACL
-}
-
-func Sendto(fd int, p []byte, flags int, to Sockaddr) (errno int) {
- return ENACL
-}
-
-func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (errno int) {
- return ENACL
-}
-
-type Linger struct {
- Onoff int32
- Linger int32
-}
-
-func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) {
- return ENACL
-}
-
-func Listen(s int, n int) (errno int) { return ENACL }
-
-type Rusage struct {
- Utime Timeval
- Stime Timeval
- Maxrss int32
- Ixrss int32
- Idrss int32
- Isrss int32
- Minflt int32
- Majflt int32
- Nswap int32
- Inblock int32
- Oublock int32
- Msgsnd int32
- Msgrcv int32
- Nsignals int32
- Nvcsw int32
- Nivcsw int32
-}
-
-func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, errno int) {
- return 0, ENACL
-}
-
-type WaitStatus uint32
-
-func (WaitStatus) Exited() bool { return false }
-
-func (WaitStatus) ExitStatus() int { return -1 }
-
-func (WaitStatus) Signal() int { return -1 }
-
-func (WaitStatus) CoreDump() bool { return false }
-
-func (WaitStatus) Stopped() bool { return false }
-
-func (WaitStatus) Continued() bool { return false }
-
-func (WaitStatus) StopSignal() int { return -1 }
-
-func (WaitStatus) Signaled() bool { return false }
-
-func (WaitStatus) TrapCause() int { return -1 }
diff --git a/src/pkg/syscall/syscall_nacl_386.go b/src/pkg/syscall/syscall_nacl_386.go
deleted file mode 100644
index 86ed66f886..0000000000
--- a/src/pkg/syscall/syscall_nacl_386.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package syscall
-
-func Getpagesize() int { return 4096 }
-
-func NsecToTimeval(nsec int64) (tv Timeval) {
- tv.Sec = int32(nsec / 1e9)
- tv.Usec = int32(nsec % 1e9 / 1e3)
- return
-}
-
-func NsecToTimespec(nsec int64) (ts Timespec) {
- ts.Sec = int32(nsec / 1e9)
- ts.Nsec = int32(nsec % 1e9)
- return
-}
diff --git a/src/pkg/syscall/types_nacl.c b/src/pkg/syscall/types_nacl.c
deleted file mode 100644
index b99d203b25..0000000000
--- a/src/pkg/syscall/types_nacl.c
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
-Input to godefs. See also mkerrors.sh and mkall.sh
- */
-
-#define _LARGEFILE_SOURCE
-#define _LARGEFILE64_SOURCE
-#define _FILE_OFFSET_BITS 64
-#define _GNU_SOURCE
-
-#define __native_client__ 1
-
-#define suseconds_t nacl_suseconds_t_1
-#include <sys/types.h>
-#undef suseconds_t
-
-#include <sys/dirent.h>
-#include <sys/mman.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/unistd.h>
-#include <sys/mman.h>
-
-// Machine characteristics; for internal use.
-
-enum
-{
- $sizeofPtr = sizeof(void*),
- $sizeofShort = sizeof(short),
- $sizeofInt = sizeof(int),
- $sizeofLong = sizeof(long),
- $sizeofLongLong = sizeof(long long),
-};
-
-// Mmap constants
-enum {
- $PROT_READ = PROT_READ,
- $PROT_WRITE = PROT_WRITE,
- $MAP_SHARED = MAP_SHARED,
-};
-
-// Unimplemented system calls
-enum {
- $SYS_FORK = 0,
- $SYS_PTRACE = 0,
- $SYS_CHDIR = 0,
- $SYS_DUP2 = 0,
- $SYS_FCNTL = 0,
- $SYS_EXECVE = 0,
-};
-
-// Basic types
-
-typedef short $_C_short;
-typedef int $_C_int;
-typedef long $_C_long;
-typedef long long $_C_long_long;
-typedef off_t $_C_off_t;
-
-// Time
-
-typedef struct timespec $Timespec;
-typedef struct timeval $Timeval;
-typedef time_t $Time_t;
-
-// Processes
-
-//typedef struct rusage $Rusage;
-//typedef struct rlimit $Rlimit;
-
-typedef gid_t $_Gid_t;
-
-// Files
-
-enum
-{
- $O_RDONLY = O_RDONLY,
- $O_WRONLY = O_WRONLY,
- $O_RDWR = O_RDWR,
- $O_APPEND = O_APPEND,
- $O_ASYNC = O_ASYNC,
- $O_CREAT = O_CREAT,
- $O_NOCTTY = 0, // not supported
- $O_NONBLOCK = O_NONBLOCK,
- $O_SYNC = O_SYNC,
- $O_TRUNC = O_TRUNC,
- $O_EXCL = O_EXCL,
- $O_CLOEXEC = 0, // not supported
-
- $F_GETFD = F_GETFD,
- $F_SETFD = F_SETFD,
-
- $F_GETFL = F_GETFL,
- $F_SETFL = F_SETFL,
-
- $FD_CLOEXEC = 0, // not supported
-};
-
-enum
-{ // Directory mode bits
- $S_IFMT = S_IFMT,
- $S_IFIFO = S_IFIFO,
- $S_IFCHR = S_IFCHR,
- $S_IFDIR = S_IFDIR,
- $S_IFBLK = S_IFBLK,
- $S_IFREG = S_IFREG,
- $S_IFLNK = S_IFLNK,
- $S_IFSOCK = S_IFSOCK,
- $S_ISUID = S_ISUID,
- $S_ISGID = S_ISGID,
- $S_ISVTX = S_ISVTX,
- $S_IRUSR = S_IRUSR,
- $S_IWUSR = S_IWUSR,
- $S_IXUSR = S_IXUSR,
-};
-
-typedef struct stat $Stat_t;
-
-typedef struct dirent $Dirent;
diff --git a/src/pkg/syscall/zerrors_nacl_386.go b/src/pkg/syscall/zerrors_nacl_386.go
deleted file mode 100644
index 5ae05a1329..0000000000
--- a/src/pkg/syscall/zerrors_nacl_386.go
+++ /dev/null
@@ -1,246 +0,0 @@
-// mkerrors_nacl.sh /home/rsc/pub/nacl/native_client/src/trusted/service_runtime/include/sys/errno.h
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-
-package syscall
-
-const (
- EPERM = 1
- ENOENT = 2
- ESRCH = 3
- EINTR = 4
- EIO = 5
- ENXIO = 6
- E2BIG = 7
- ENOEXEC = 8
- EBADF = 9
- ECHILD = 10
- EAGAIN = 11
- ENOMEM = 12
- EACCES = 13
- EFAULT = 14
- EBUSY = 16
- EEXIST = 17
- EXDEV = 18
- ENODEV = 19
- ENOTDIR = 20
- EISDIR = 21
- EINVAL = 22
- ENFILE = 23
- EMFILE = 24
- ENOTTY = 25
- EFBIG = 27
- ENOSPC = 28
- ESPIPE = 29
- EROFS = 30
- EMLINK = 31
- EPIPE = 32
- ENAMETOOLONG = 36
- ENOSYS = 38
- EDQUOT = 122
- EDOM = 33
- ERANGE = 34
- ENOMSG = 35
- ECHRNG = 37
- EL3HLT = 39
- EL3RST = 40
- ELNRNG = 41
- EUNATCH = 42
- ENOCSI = 43
- EL2HLT = 44
- EDEADLK = 45
- ENOLCK = 46
- EBADE = 50
- EBADR = 51
- EXFULL = 52
- ENOANO = 53
- EBADRQC = 54
- EBADSLT = 55
- EBFONT = 57
- ENOSTR = 60
- ENODATA = 61
- ETIME = 62
- ENOSR = 63
- ENONET = 64
- ENOPKG = 65
- EREMOTE = 66
- ENOLINK = 67
- EADV = 68
- ESRMNT = 69
- ECOMM = 70
- EPROTO = 71
- EMULTIHOP = 74
- ELBIN = 75
- EDOTDOT = 76
- EBADMSG = 77
- EFTYPE = 79
- ENOTUNIQ = 80
- EBADFD = 81
- EREMCHG = 82
- ELIBACC = 83
- ELIBBAD = 84
- ELIBSCN = 85
- ELIBMAX = 86
- ELIBEXEC = 87
- ENMFILE = 89
- ENOTEMPTY = 90
- ELOOP = 92
- EOPNOTSUPP = 95
- EPFNOSUPPORT = 96
- ECONNRESET = 104
- ENOBUFS = 105
- EAFNOSUPPORT = 106
- EPROTOTYPE = 107
- ENOTSOCK = 108
- ENOPROTOOPT = 109
- ESHUTDOWN = 110
- ECONNREFUSED = 111
- EADDRINUSE = 112
- ECONNABORTED = 113
- ENETUNREACH = 114
- ENETDOWN = 115
- ETIMEDOUT = 116
- EHOSTDOWN = 117
- EHOSTUNREACH = 118
- EINPROGRESS = 119
- EALREADY = 120
- EDESTADDRREQ = 121
- EPROTONOSUPPORT = 123
- ESOCKTNOSUPPORT = 124
- EADDRNOTAVAIL = 125
- ENETRESET = 126
- EISCONN = 127
- ENOTCONN = 128
- ETOOMANYREFS = 129
- EPROCLIM = 130
- EUSERS = 131
- ESTALE = 133
- ENOMEDIUM = 135
- ENOSHARE = 136
- ECASECLASH = 137
- EILSEQ = 138
- EOVERFLOW = 139
- ECANCELED = 140
- EL2NSYNC = 88
- EIDRM = 91
- EMSGSIZE = 132
- ENACL = 99 /* otherwise unused */
-)
-
-
-// Error table
-var errors = [...]string{
- EPERM: "operation not permitted",
- ENOENT: "no such file or directory",
- ESRCH: "no such process",
- EINTR: "interrupted system call",
- EIO: "I/O error",
- ENXIO: "no such device or address",
- E2BIG: "argument list too long",
- ENOEXEC: "exec format error",
- EBADF: "bad file number",
- ECHILD: "no child processes",
- EAGAIN: "try again",
- ENOMEM: "out of memory",
- EACCES: "permission denied",
- EFAULT: "bad address",
- EBUSY: "device or resource busy",
- EEXIST: "file exists",
- EXDEV: "cross-device link",
- ENODEV: "no such device",
- ENOTDIR: "not a directory",
- EISDIR: "is a directory",
- EINVAL: "invalid argument",
- ENFILE: "file table overflow",
- EMFILE: "too many open files",
- ENOTTY: "not a typewriter",
- EFBIG: "file too large",
- ENOSPC: "no space left on device",
- ESPIPE: "illegal seek",
- EROFS: "read-only file system",
- EMLINK: "too many links",
- EPIPE: "broken pipe",
- ENAMETOOLONG: "file name too long",
- ENOSYS: "function not implemented",
- EDQUOT: "quota exceeded",
- EDOM: "math arg out of domain of func",
- ERANGE: "math result not representable",
- ENOMSG: "no message of desired type",
- ECHRNG: "channel number out of range",
- EL3HLT: "level 3 halted",
- EL3RST: "level 3 reset",
- ELNRNG: "link number out of range",
- EUNATCH: "protocol driver not attached",
- ENOCSI: "no CSI structure available",
- EL2HLT: "level 2 halted",
- EDEADLK: "deadlock condition",
- ENOLCK: "no record locks available",
- EBADE: "invalid exchange",
- EBADR: "invalid request descriptor",
- EXFULL: "exchange full",
- ENOANO: "no anode",
- EBADRQC: "invalid request code",
- EBADSLT: "invalid slot",
- EBFONT: "bad font file fmt",
- ENOSTR: "device not a stream",
- ENODATA: "no data (for no delay io)",
- ETIME: "timer expired",
- ENOSR: "out of streams resources",
- ENONET: "machine is not on the network",
- ENOPKG: "package not installed",
- EREMOTE: "the object is remote",
- ENOLINK: "the link has been severed",
- EADV: "advertise error",
- ESRMNT: "srmount error",
- ECOMM: "communication error on send",
- EPROTO: "protocol error",
- EMULTIHOP: "multihop attempted",
- ELBIN: "inode is remote (not really error)",
- EDOTDOT: "cross mount point (not really error)",
- EBADMSG: "trying to read unreadable message",
- EFTYPE: "inappropriate file type or format",
- ENOTUNIQ: "given log. name not unique",
- EBADFD: "f.d. invalid for this operation",
- EREMCHG: "remote address changed",
- ELIBACC: "can't access a needed shared lib",
- ELIBBAD: "accessing a corrupted shared lib",
- ELIBSCN: ".lib section in a.out corrupted",
- ELIBMAX: "attempting to link in too many libs",
- ELIBEXEC: "attempting to exec a shared library",
- ENMFILE: "no more files",
- ENOTEMPTY: "directory not empty",
- ELOOP: "too many symbolic links",
- EOPNOTSUPP: "operation not supported on transport endpoint",
- EPFNOSUPPORT: "protocol family not supported",
- ECONNRESET: "connection reset by peer",
- ENOBUFS: "no buffer space available",
- EAFNOSUPPORT: "address family not supported by protocol family",
- EPROTOTYPE: "protocol wrong type for socket",
- ENOTSOCK: "socket operation on non-socket",
- ENOPROTOOPT: "protocol not available",
- ESHUTDOWN: "can't send after socket shutdown",
- ECONNREFUSED: "connection refused",
- EADDRINUSE: "address already in use",
- ECONNABORTED: "connection aborted",
- ENETUNREACH: "network is unreachable",
- ENETDOWN: "network interface is not configured",
- ETIMEDOUT: "connection timed out",
- EHOSTDOWN: "host is down",
- EHOSTUNREACH: "host is unreachable",
- EINPROGRESS: "connection already in progress",
- EALREADY: "socket already connected",
- EDESTADDRREQ: "destination address required",
- EPROTONOSUPPORT: "unknown protocol",
- ESOCKTNOSUPPORT: "socket type not supported",
- EADDRNOTAVAIL: "address not available",
- EISCONN: "socket is already connected",
- ENOTCONN: "socket is not connected",
- ENOMEDIUM: "no medium (in tape drive)",
- ENOSHARE: "no such host or network path",
- ECASECLASH: "filename exists with different case",
- EOVERFLOW: "value too large for defined data type",
- ECANCELED: "operation canceled.",
- EL2NSYNC: "level 2 not synchronized",
- EIDRM: "identifier removed",
- EMSGSIZE: "message too long",
- ENACL: "not supported by native client",
-}
diff --git a/src/pkg/syscall/zsyscall_nacl_386.go b/src/pkg/syscall/zsyscall_nacl_386.go
deleted file mode 100644
index f68105a9ce..0000000000
--- a/src/pkg/syscall/zsyscall_nacl_386.go
+++ /dev/null
@@ -1,303 +0,0 @@
-// mksyscall.sh -l32 -nacl syscall_nacl.go syscall_nacl_386.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-
-package syscall
-
-import "unsafe"
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Chmod(path string, mode uint32) (errno int) {
- _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Clock() (clock int) {
- r0, _, _ := Syscall(SYS_CLOCK, 0, 0, 0)
- clock = int(r0)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Close(fd int) (errno int) {
- _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Exit(code int) {
- Syscall(SYS_EXIT, uintptr(code), 0, 0)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstat(fd int, stat *Stat_t) (errno int) {
- _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getdents(fd int, buf []byte) (n int, errno int) {
- var _p0 unsafe.Pointer
- if len(buf) > 0 {
- _p0 = unsafe.Pointer(&buf[0])
- } else {
- _p0 = unsafe.Pointer(&_zero[0])
- }
- r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
- n = int(r0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpid() (pid int) {
- r0, _, _ := Syscall(SYS_GETPID, 0, 0, 0)
- pid = int(r0)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Gettimeofday(tv *Timeval) (errno int) {
- _, _, e1 := Syscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Open(path string, mode int, perm uint32) (fd int, errno int) {
- r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), uintptr(perm))
- fd = int(r0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Read(fd int, p []byte) (n int, errno int) {
- var _p0 unsafe.Pointer
- if len(p) > 0 {
- _p0 = unsafe.Pointer(&p[0])
- } else {
- _p0 = unsafe.Pointer(&_zero[0])
- }
- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
- n = int(r0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func read(fd int, buf *byte, nbuf int) (n int, errno int) {
- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))
- n = int(r0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Stat(path string, stat *Stat_t) (errno int) {
- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Write(fd int, p []byte) (n int, errno int) {
- var _p0 unsafe.Pointer
- if len(p) > 0 {
- _p0 = unsafe.Pointer(&p[0])
- } else {
- _p0 = unsafe.Pointer(&_zero[0])
- }
- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
- n = int(r0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MultimediaInit(subsys int) (errno int) {
- _, _, e1 := Syscall(SYS_MULTIMEDIA_INIT, uintptr(subsys), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MultimediaShutdown() (errno int) {
- _, _, e1 := Syscall(SYS_MULTIMEDIA_SHUTDOWN, 0, 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondCreate() (cv int, errno int) {
- r0, _, e1 := Syscall(SYS_COND_CREATE, 0, 0, 0)
- cv = int(r0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondWait(cv int, mutex int) (errno int) {
- _, _, e1 := Syscall(SYS_COND_WAIT, uintptr(cv), uintptr(mutex), 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondSignal(cv int) (errno int) {
- _, _, e1 := Syscall(SYS_COND_SIGNAL, uintptr(cv), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondBroadcast(cv int) (errno int) {
- _, _, e1 := Syscall(SYS_COND_BROADCAST, uintptr(cv), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CondTimedWaitAbs(cv int, mutex int, abstime *Timespec) (errno int) {
- _, _, e1 := Syscall(SYS_COND_TIMED_WAIT_ABS, uintptr(cv), uintptr(mutex), uintptr(unsafe.Pointer(abstime)))
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MutexCreate() (mutex int, errno int) {
- r0, _, e1 := Syscall(SYS_MUTEX_CREATE, 0, 0, 0)
- mutex = int(r0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MutexLock(mutex int) (errno int) {
- _, _, e1 := Syscall(SYS_MUTEX_LOCK, uintptr(mutex), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MutexUnlock(mutex int) (errno int) {
- _, _, e1 := Syscall(SYS_MUTEX_UNLOCK, uintptr(mutex), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MutexTryLock(mutex int) (errno int) {
- _, _, e1 := Syscall(SYS_MUTEX_TRYLOCK, uintptr(mutex), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func SemCreate() (sema int, errno int) {
- r0, _, e1 := Syscall(SYS_SEM_CREATE, 0, 0, 0)
- sema = int(r0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func SemWait(sema int) (errno int) {
- _, _, e1 := Syscall(SYS_SEM_WAIT, uintptr(sema), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func SemPost(sema int) (errno int) {
- _, _, e1 := Syscall(SYS_SEM_POST, uintptr(sema), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func VideoInit(dx int, dy int) (errno int) {
- _, _, e1 := Syscall(SYS_VIDEO_INIT, uintptr(dx), uintptr(dy), 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func VideoUpdate(data *uint32) (errno int) {
- _, _, e1 := Syscall(SYS_VIDEO_UPDATE, uintptr(unsafe.Pointer(data)), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func VideoPollEvent(ev *byte) (errno int) {
- _, _, e1 := Syscall(SYS_VIDEO_POLL_EVENT, uintptr(unsafe.Pointer(ev)), 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func VideoShutdown() (errno int) {
- _, _, e1 := Syscall(SYS_VIDEO_SHUTDOWN, 0, 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func AudioInit(fmt int, nreq int, data *int) (errno int) {
- _, _, e1 := Syscall(SYS_AUDIO_INIT, uintptr(fmt), uintptr(nreq), uintptr(unsafe.Pointer(data)))
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func AudioShutdown() (errno int) {
- _, _, e1 := Syscall(SYS_AUDIO_SHUTDOWN, 0, 0, 0)
- errno = int(e1)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func AudioStream(data *uint16, size *uintptr) (errno int) {
- _, _, e1 := Syscall(SYS_AUDIO_STREAM, uintptr(unsafe.Pointer(data)), uintptr(unsafe.Pointer(size)), 0)
- errno = int(e1)
- return
-}
diff --git a/src/pkg/syscall/zsysnum_nacl_386.go b/src/pkg/syscall/zsysnum_nacl_386.go
deleted file mode 100644
index ba1af60db0..0000000000
--- a/src/pkg/syscall/zsysnum_nacl_386.go
+++ /dev/null
@@ -1,64 +0,0 @@
-// mksysnum_nacl.sh /home/rsc/pub/nacl/native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
-
-package syscall
-
-const (
- SYS_NULL = 1
- SYS_OPEN = 10
- SYS_CLOSE = 11
- SYS_READ = 12
- SYS_WRITE = 13
- SYS_LSEEK = 14
- SYS_IOCTL = 15
- SYS_STAT = 16
- SYS_FSTAT = 17
- SYS_CHMOD = 18
- SYS_SYSBRK = 20
- SYS_MMAP = 21
- SYS_MUNMAP = 22
- SYS_GETDENTS = 23
- SYS_EXIT = 30
- SYS_GETPID = 31
- SYS_SCHED_YIELD = 32
- SYS_SYSCONF = 33
- SYS_GETTIMEOFDAY = 40
- SYS_CLOCK = 41
- SYS_NANOSLEEP = 42
- SYS_MULTIMEDIA_INIT = 50
- SYS_MULTIMEDIA_SHUTDOWN = 51
- SYS_VIDEO_INIT = 52
- SYS_VIDEO_SHUTDOWN = 53
- SYS_VIDEO_UPDATE = 54
- SYS_VIDEO_POLL_EVENT = 55
- SYS_AUDIO_INIT = 56
- SYS_AUDIO_SHUTDOWN = 57
- SYS_AUDIO_STREAM = 58
- SYS_IMC_MAKEBOUNDSOCK = 60
- SYS_IMC_ACCEPT = 61
- SYS_IMC_CONNECT = 62
- SYS_IMC_SENDMSG = 63
- SYS_IMC_RECVMSG = 64
- SYS_IMC_MEM_OBJ_CREATE = 65
- SYS_IMC_SOCKETPAIR = 66
- SYS_MUTEX_CREATE = 70
- SYS_MUTEX_LOCK = 71
- SYS_MUTEX_TRYLOCK = 72
- SYS_MUTEX_UNLOCK = 73
- SYS_COND_CREATE = 74
- SYS_COND_WAIT = 75
- SYS_COND_SIGNAL = 76
- SYS_COND_BROADCAST = 77
- SYS_COND_TIMED_WAIT_ABS = 79
- SYS_THREAD_CREATE = 80
- SYS_THREAD_EXIT = 81
- SYS_TLS_INIT = 82
- SYS_THREAD_NICE = 83
- SYS_TLS_GET = 84
- SYS_SRPC_GET_FD = 90
- SYS_SEM_CREATE = 100
- SYS_SEM_WAIT = 101
- SYS_SEM_POST = 102
- SYS_SEM_GET_VALUE = 103
- SYS_DYNCODE_COPY = 104
-)
diff --git a/src/pkg/syscall/zsysnum_windows_386.go b/src/pkg/syscall/zsysnum_windows_386.go
index 9cccb3ef0b..36bf065d1f 100644
--- a/src/pkg/syscall/zsysnum_windows_386.go
+++ b/src/pkg/syscall/zsysnum_windows_386.go
@@ -1,4 +1,3 @@
-// mksysnum_nacl.sh /home/rsc/pub/nacl/native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// nothing to see here
package syscall
diff --git a/src/pkg/syscall/ztypes_nacl.go b/src/pkg/syscall/ztypes_nacl.go
deleted file mode 100644
index 4a3465a2ec..0000000000
--- a/src/pkg/syscall/ztypes_nacl.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// godefs -gsyscall -f-m32 -f-I/home/rsc/pub/nacl/native_client/src/third_party/nacl_sdk/linux/sdk/nacl-sdk/nacl/include -f-I/home/rsc/pub/nacl/native_client/src/trusted/service_runtime/include types_nacl.c
-
-// MACHINE GENERATED - DO NOT EDIT.
-
-package syscall
-
-// Constants
-
-// Types
diff --git a/src/pkg/syscall/ztypes_nacl_386.go b/src/pkg/syscall/ztypes_nacl_386.go
deleted file mode 100644
index 8e83066758..0000000000
--- a/src/pkg/syscall/ztypes_nacl_386.go
+++ /dev/null
@@ -1,105 +0,0 @@
-// godefs -gsyscall -f-m32 -f-I/home/rsc/pub/nacl/native_client/src/third_party/nacl_sdk/linux/sdk/nacl-sdk/nacl/include -f-I/home/rsc/pub/nacl/native_client types_nacl.c
-
-// MACHINE GENERATED - DO NOT EDIT.
-
-package syscall
-
-// Constants
-const (
- sizeofPtr = 0x4
- sizeofShort = 0x2
- sizeofInt = 0x4
- sizeofLong = 0x4
- sizeofLongLong = 0x8
- PROT_READ = 0x1
- PROT_WRITE = 0x2
- MAP_SHARED = 0x1
- SYS_FORK = 0
- SYS_PTRACE = 0
- SYS_CHDIR = 0
- SYS_DUP2 = 0
- SYS_FCNTL = 0
- SYS_EXECVE = 0
- O_RDONLY = 0
- O_WRONLY = 0x1
- O_RDWR = 0x2
- O_APPEND = 0x400
- O_ASYNC = 0x2000
- O_CREAT = 0x40
- O_NOCTTY = 0
- O_NONBLOCK = 0x800
- O_SYNC = 0x1000
- O_TRUNC = 0x200
- O_EXCL = 0x80
- O_CLOEXEC = 0
- F_GETFD = 0x1
- F_SETFD = 0x2
- F_GETFL = 0x3
- F_SETFL = 0x4
- FD_CLOEXEC = 0
- S_IFMT = 0x1f000
- S_IFIFO = 0x1000
- S_IFCHR = 0x2000
- S_IFDIR = 0x4000
- S_IFBLK = 0x6000
- S_IFREG = 0x8000
- S_IFLNK = 0xa000
- S_IFSOCK = 0xc000
- S_ISUID = 0x800
- S_ISGID = 0x400
- S_ISVTX = 0x200
- S_IRUSR = 0x100
- S_IWUSR = 0x80
- S_IXUSR = 0x40
-)
-
-// Types
-
-type _C_short int16
-
-type _C_int int32
-
-type _C_long int32
-
-type _C_long_long int64
-
-type _C_off_t int32
-
-type Timespec struct {
- Sec int32
- Nsec int32
-}
-
-type Timeval struct {
- Sec int32
- Usec int32
-}
-
-type Time_t int32
-
-type _Gid_t uint32
-
-type Stat_t struct {
- Dev int64
- Ino uint32
- Mode uint32
- Nlink uint32
- Uid uint32
- Gid uint32
- X__padding int32
- Rdev int64
- Size int32
- Blksize int32
- Blocks int32
- Atime int32
- Mtime int32
- Ctime int32
-}
-
-type Dirent struct {
- Ino uint32
- Off int32
- Reclen uint16
- Name [256]int8
- Pad0 [2]byte
-}
diff --git a/src/pkg/time/Makefile b/src/pkg/time/Makefile
index 71318d738f..5213e44572 100644
--- a/src/pkg/time/Makefile
+++ b/src/pkg/time/Makefile
@@ -20,9 +20,6 @@ GOFILES_darwin=\
GOFILES_linux=\
zoneinfo_unix.go\
-GOFILES_nacl=\
- zoneinfo_unix.go\
-
GOFILES_windows=\
zoneinfo_windows.go\
diff --git a/test/env.go b/test/env.go
index 7646e07dd6..16b2076447 100644
--- a/test/env.go
+++ b/test/env.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # NaCl runner does not expose environment
// $G $F.go && $L $F.$A && ./$A.out
// Copyright 2009 The Go Authors. All rights reserved.
diff --git a/test/fixedbugs/bug243.go b/test/fixedbugs/bug243.go
index 357f22eb27..236c14402f 100644
--- a/test/fixedbugs/bug243.go
+++ b/test/fixedbugs/bug243.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # no network
// $G $D/$F.go && $L $F.$A && ./$A.out
// Copyright 2010 The Go Authors. All rights reserved.
diff --git a/test/nilptr/arrayindex.go b/test/nilptr/arrayindex.go
index c564bce340..fa26532c67 100644
--- a/test/nilptr/arrayindex.go
+++ b/test/nilptr/arrayindex.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/arrayindex1.go b/test/nilptr/arrayindex1.go
index 701630ed15..64f46e14d1 100644
--- a/test/nilptr/arrayindex1.go
+++ b/test/nilptr/arrayindex1.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/arraytoslice.go b/test/nilptr/arraytoslice.go
index 38206d50b8..03879fb42f 100644
--- a/test/nilptr/arraytoslice.go
+++ b/test/nilptr/arraytoslice.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/arraytoslice1.go b/test/nilptr/arraytoslice1.go
index 8c9531e176..c86070fa47 100644
--- a/test/nilptr/arraytoslice1.go
+++ b/test/nilptr/arraytoslice1.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/arraytoslice2.go b/test/nilptr/arraytoslice2.go
index 1b2651381e..68ea44083c 100644
--- a/test/nilptr/arraytoslice2.go
+++ b/test/nilptr/arraytoslice2.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/slicearray.go b/test/nilptr/slicearray.go
index 544536cc7c..26ca427732 100644
--- a/test/nilptr/slicearray.go
+++ b/test/nilptr/slicearray.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/structfield.go b/test/nilptr/structfield.go
index e081f7a171..35196bb68d 100644
--- a/test/nilptr/structfield.go
+++ b/test/nilptr/structfield.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/structfield1.go b/test/nilptr/structfield1.go
index 02d33a42c2..7c7abed1aa 100644
--- a/test/nilptr/structfield1.go
+++ b/test/nilptr/structfield1.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/structfield2.go b/test/nilptr/structfield2.go
index 4323b42b4d..02a44f1731 100644
--- a/test/nilptr/structfield2.go
+++ b/test/nilptr/structfield2.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nilptr/structfieldaddr.go b/test/nilptr/structfieldaddr.go
index 81551aa3ba..f3177bafba 100644
--- a/test/nilptr/structfieldaddr.go
+++ b/test/nilptr/structfieldaddr.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # do not bother on NaCl
// $G $D/$F.go && $L $F.$A &&
// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
diff --git a/test/nul1.go b/test/nul1.go
index 9d6974f818..9cf51125bc 100644
--- a/test/nul1.go
+++ b/test/nul1.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # NaCl runner elides NUL in output
// [ "$GORUN" == "" ] || exit 0 # Android runner gets confused by the NUL output
// $G $D/$F.go && $L $F.$A && ./$A.out >tmp.go &&
// errchk $G -e tmp.go
diff --git a/test/recover2.go b/test/recover2.go
index 48b0503309..f33af4457b 100644
--- a/test/recover2.go
+++ b/test/recover2.go
@@ -7,7 +7,6 @@
// Test of recover for run-time errors.
// TODO(rsc):
-// integer divide by zero?
// null pointer accesses
package main
@@ -15,7 +14,6 @@ package main
import (
"os"
"strings"
- "syscall"
)
var x = make([]byte, 10)
@@ -83,10 +81,6 @@ func test6() {
}
func test7() {
- if syscall.OS == "nacl" {
- // NaCl cannot handle traps
- return
- }
defer mustRecover("divide by zero")
var x, y int
println(x / y)
diff --git a/test/recover3.go b/test/recover3.go
index 1cb64f2633..2aa1df616d 100644
--- a/test/recover3.go
+++ b/test/recover3.go
@@ -1,4 +1,3 @@
-// [ $GOOS != nacl ] || exit 0 # NaCl cannot recover from signals
// $G $D/$F.go && $L $F.$A && ./$A.out
// Copyright 2010 The Go Authors. All rights reserved.
diff --git a/test/sigchld.go b/test/sigchld.go
index 09188fc53a..1fb2e21bd5 100644
--- a/test/sigchld.go
+++ b/test/sigchld.go
@@ -1,4 +1,3 @@
-// if [ $GOOS == nacl ]; then echo survived SIGCHLD; exit 0; fi # NaCl has no signals.
// $G $D/$F.go && $L $F.$A && ./$A.out
// Copyright 2009 The Go Authors. All rights reserved.
diff --git a/test/zerodivide.go b/test/zerodivide.go
index 5fe1eb00d3..cd4f52215b 100644
--- a/test/zerodivide.go
+++ b/test/zerodivide.go
@@ -10,7 +10,6 @@ import (
"fmt"
"math"
"strings"
- "syscall"
)
type Error interface {
@@ -163,7 +162,7 @@ func alike(a, b float64) bool {
func main() {
bad := false
for _, t := range errorTests {
- if t.err != "" && syscall.OS == "nacl" {
+ if t.err != "" {
continue
}
err := error(t.fn)