Some corrections as to what features are available on the 11/40 vs. 11/45

This commit is contained in:
Jeff Parsons 2016-12-31 11:23:25 -08:00 committed by Jeff Parsons
commit dd628148ef
8 changed files with 396 additions and 367 deletions

View file

@ -35,7 +35,11 @@
var PDP11 = require("./defines");
/*
* Decoding starts at the bottom of this file, in op1120() and op1145().
* Decoding starts near the bottom of this file, in op1120() and op1140(). Obviously, there are
* MANY more PDP-11 models than the 11/20 and 11/40, but for the broad model categories that PDPjs
* supports (ie, MODEL_1120, MODEL_1140, MODEL_1145, and MODEL_1170), the biggest differences are
* between MODEL_1120 and MODEL_1140, so decoding is divided into those two categories, and all
* other differences are handled inside the opcode handlers.
*
* The basic decoding approach is to dispatch on the top 4 bits of the opcode, and if further
* decoding is required, the dispatched function will dispatch on the next 4 bits, and so on
@ -51,6 +55,11 @@ var PDP11 = require("./defines");
* For example, opADD() passes the helper function fnADD() to the appropriate update method. This
* allows the update method to perform the entire read/modify/write operation, because the modify
* step is performed internally, via the fnXXX() helper function.
*
* For the handful of instructions in the 1140 tables that actually exist only on the 11/45 and
* 11/70 (ie, MFPD, MTPD, and SPL), those opcode handlers perform their own model checks. That's
* simpler than creating additional tables, and seems fine for instructions that are not commonly
* executed.
*/
/**
@ -1729,7 +1738,7 @@ PDP11.opSOB = function(opCode)
*/
PDP11.opSPL = function(opCode)
{
if (!(opCode & 0x08)) {
if (!(opCode & 0x08) || this.model < PDP11.MODEL_1145) {
PDP11.opUndefined.call(this, opCode);
return;
}
@ -2217,103 +2226,107 @@ PDP11.aOp8CXn_1120 = [
];
/**
* op1145(opCode)
* op1140(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op1145 = function(opCode)
PDP11.op1140 = function(opCode)
{
PDP11.aOpXnnn_1145[opCode >> 12].call(this, opCode);
PDP11.aOpXnnn_1140[opCode >> 12].call(this, opCode);
};
/**
* op0Xnn_1145(opCode)
* op0Xnn_1140(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op0Xnn_1145 = function(opCode)
PDP11.op0Xnn_1140 = function(opCode)
{
PDP11.aOp0Xnn_1145[(opCode >> 8) & 0xf].call(this, opCode);
PDP11.aOp0Xnn_1140[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op0DXn_1145(opCode)
* op0DXn_1140(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op0DXn_1145 = function(opCode)
PDP11.op0DXn_1140 = function(opCode)
{
PDP11.aOp0DXn_1145[(opCode >> 6) & 0x3].call(this, opCode);
PDP11.aOp0DXn_1140[(opCode >> 6) & 0x3].call(this, opCode);
};
/**
* op00Xn_1145(opCode)
* op00Xn_1140(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op00Xn_1145 = function(opCode)
PDP11.op00Xn_1140 = function(opCode)
{
PDP11.aOp00Xn_1145[(opCode >> 4) & 0xf].call(this, opCode);
PDP11.aOp00Xn_1140[(opCode >> 4) & 0xf].call(this, opCode);
};
/**
* op000X_1145(opCode)
* op000X_1140(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op000X_1145 = function(opCode)
PDP11.op000X_1140 = function(opCode)
{
PDP11.aOp000X_1145[opCode & 0xf].call(this, opCode);
PDP11.aOp000X_1140[opCode & 0xf].call(this, opCode);
};
/**
* op7Xnn_1145(opCode)
* op7Xnn_1140(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op7Xnn_1145 = function(opCode)
PDP11.op7Xnn_1140 = function(opCode)
{
PDP11.aOp7Xnn_1145[(opCode >> 8) & 0xf].call(this, opCode);
PDP11.aOp7Xnn_1140[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op8Xnn_1145(opCode)
* op8Xnn_1140(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op8Xnn_1145 = function(opCode)
PDP11.op8Xnn_1140 = function(opCode)
{
PDP11.aOp8Xnn_1145[(opCode >> 8) & 0xf].call(this, opCode);
PDP11.aOp8Xnn_1140[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op8DXn_1145(opCode)
* op8DXn_1140(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op8DXn_1145 = function(opCode)
PDP11.op8DXn_1140 = function(opCode)
{
PDP11.aOp8DXn_1145[(opCode >> 6) & 0x3].call(this, opCode);
if (this.model < PDP11.MODEL_1145) {
PDP11.opUndefined.call(this, opCode);
return;
}
PDP11.aOp8DXn_1140[(opCode >> 6) & 0x3].call(this, opCode);
};
PDP11.aOpXnnn_1145 = [
PDP11.op0Xnn_1145, // 0x0nnn
PDP11.aOpXnnn_1140 = [
PDP11.op0Xnn_1140, // 0x0nnn
PDP11.opMOV, // 0x1nnn 01SSDD 11/20+ 2.3
PDP11.opCMP, // 0x2nnn 02SSDD 11/20+ 2.3*
PDP11.opBIT, // 0x3nnn 03SSDD 11/20+ 2.9*
PDP11.opBIC, // 0x4nnn 04SSDD 11/20+ 2.9
PDP11.opBIS, // 0x5nnn 05SSDD 11/20+ 2.3
PDP11.opADD, // 0x6nnn 06SSDD 11/20+ 2.3
PDP11.op7Xnn_1145, // 0x7nnn
PDP11.op8Xnn_1145, // 0x8nnn
PDP11.op7Xnn_1140, // 0x7nnn
PDP11.op8Xnn_1140, // 0x8nnn
PDP11.opMOVB, // 0x9nnn 11SSDD 11/20+ 2.3
PDP11.opCMPB, // 0xAnnn 12SSDD 11/20+ 2.3
PDP11.opBITB, // 0xBnnn 13SSDD 11/20+ 2.9
@ -2323,8 +2336,8 @@ PDP11.aOpXnnn_1145 = [
PDP11.opUndefined // 0xFnnn
];
PDP11.aOp0Xnn_1145 = [
PDP11.op00Xn_1145, // 0x00nn
PDP11.aOp0Xnn_1140 = [
PDP11.op00Xn_1140, // 0x00nn
PDP11.opBR, // 0x01nn 0004XX 11/20+ 2.6
PDP11.opBNE, // 0x02nn 0010XX 11/20+ 2.6**
PDP11.opBEQ, // 0x03nn 0014XX 11/20+ 2.6**
@ -2337,20 +2350,20 @@ PDP11.aOp0Xnn_1145 = [
PDP11.op0AXn_1120, // 0x0Ann
PDP11.op0BXn_1120, // 0x0Bnn
PDP11.op0CXn_1120, // 0x0Cnn
PDP11.op0DXn_1145, // 0x0Dnn
PDP11.op0DXn_1140, // 0x0Dnn
PDP11.opUndefined, // 0x0Enn
PDP11.opUndefined // 0x0Fnn
];
PDP11.aOp0DXn_1145 = [
PDP11.opMARK, // 0x0D0n 11/45+
PDP11.opMFPI, // 0x0D4n 11/45+
PDP11.opMTPI, // 0x0D8n 11/45+
PDP11.opSXT // 0x0DCn 11/45+
PDP11.aOp0DXn_1140 = [
PDP11.opMARK, // 0x0D0n 11/40+ LEIS
PDP11.opMFPI, // 0x0D4n 11/40+
PDP11.opMTPI, // 0x0D8n 11/40+
PDP11.opSXT // 0x0DCn 11/40+ LEIS
];
PDP11.aOp00Xn_1145 = [
PDP11.op000X_1145, // 0x000n 000000-000017
PDP11.aOp00Xn_1140 = [
PDP11.op000X_1140, // 0x000n 000000-000017
PDP11.opUndefined, // 0x001n 000020-000037
PDP11.opUndefined, // 0x002n 000040-000057
PDP11.opUndefined, // 0x003n 000060-000077
@ -2368,14 +2381,14 @@ PDP11.aOp00Xn_1145 = [
PDP11.opSWAB // 0x00Fn 0003DD 11/20+ 2.3
];
PDP11.aOp000X_1145 = [
PDP11.aOp000X_1140 = [
PDP11.opHALT, // 0x0000 000000 11/20+ 1.8
PDP11.opWAIT, // 0x0001 000001 11/20+ 1.8
PDP11.opRTI, // 0x0002 000002 11/20+ 4.8
PDP11.opBPT, // 0x0003 000003
PDP11.opIOT, // 0x0004 000004 11/20+ 9.3
PDP11.opRESET, // 0x0005 000005 11/20+ 20ms
PDP11.opRTT, // 0x0006 000006 11/45+
PDP11.opRTT, // 0x0006 000006 11/40+ LEIS
PDP11.opMFPT, // 0x0007 000007 TBD
PDP11.opUndefined, // 0x0008
PDP11.opUndefined, // 0x0009
@ -2387,26 +2400,26 @@ PDP11.aOp000X_1145 = [
PDP11.opUndefined // 0x000F
];
PDP11.aOp7Xnn_1145 = [
PDP11.opMUL, // 0x70nn 11/45+
PDP11.opMUL, // 0x71nn 11/45+
PDP11.opDIV, // 0x72nn 11/45+
PDP11.opDIV, // 0x73nn 11/45+
PDP11.opASH, // 0x74nn 11/45+
PDP11.opASH, // 0x75nn 11/45+
PDP11.opASHC, // 0x76nn 11/45+
PDP11.opASHC, // 0x77nn 11/45+
PDP11.opXOR, // 0x78nn 11/45+
PDP11.opXOR, // 0x79nn 11/45+
PDP11.aOp7Xnn_1140 = [
PDP11.opMUL, // 0x70nn 11/40+ EIS
PDP11.opMUL, // 0x71nn 11/40+ EIS
PDP11.opDIV, // 0x72nn 11/40+ EIS
PDP11.opDIV, // 0x73nn 11/40+ EIS
PDP11.opASH, // 0x74nn 11/40+ EIS
PDP11.opASH, // 0x75nn 11/40+ EIS
PDP11.opASHC, // 0x76nn 11/40+ EIS
PDP11.opASHC, // 0x77nn 11/40+ EIS
PDP11.opXOR, // 0x78nn 11/40+ LEIS
PDP11.opXOR, // 0x79nn 11/40+ LEIS
PDP11.opUndefined, // 0x7Ann
PDP11.opUndefined, // 0x7Bnn
PDP11.opUndefined, // 0x7Cnn
PDP11.opUndefined, // 0x7Dnn
PDP11.opSOB, // 0x7Enn 11/45+
PDP11.opSOB // 0x7Fnn 11/45+
PDP11.opSOB, // 0x7Enn 11/40+ LEIS
PDP11.opSOB // 0x7Fnn 11/40+ LEIS
];
PDP11.aOp8Xnn_1145 = [
PDP11.aOp8Xnn_1140 = [
PDP11.opBPL, // 0x80nn 1000XX 11/20+ 2.6**
PDP11.opBMI, // 0x81nn 1004XX 11/20+ 2.6**
PDP11.opBHI, // 0x82nn 1010XX 11/20+ 2.6**
@ -2420,12 +2433,12 @@ PDP11.aOp8Xnn_1145 = [
PDP11.op8AXn_1120, // 0x8Ann
PDP11.op8BXn_1120, // 0x8Bnn
PDP11.op8CXn_1120, // 0x8Cnn
PDP11.op8DXn_1145, // 0x8Dnn
PDP11.op8DXn_1140, // 0x8Dnn
PDP11.opUndefined, // 0x8Enn
PDP11.opUndefined // 0x8Fnn
];
PDP11.aOp8DXn_1145 = [
PDP11.aOp8DXn_1140 = [
PDP11.opUndefined, // 0x8D0n
PDP11.opMFPD, // 0x8D4n 11/45+
PDP11.opMTPD, // 0x8D8n 11/45+

View file

@ -154,10 +154,14 @@ class CPUStatePDP11 extends CPUPDP11 {
this.pswUsed = ~(PDP11.PSW.UNUSED | PDP11.PSW.REGSET | PDP11.PSW.PMODE | PDP11.PSW.CMODE) & 0xffff;
this.pswRegSet = 0;
} else {
this.decode = PDP11.op1145.bind(this);
this.checkStackLimit = this.checkStackLimit1145;
this.pswUsed = ~(PDP11.PSW.UNUSED | (this.model < PDP11.MODEL_1145? PDP11.PSW.REGSET : 0)) & 0xffff;
this.pswRegSet = (this.model >= PDP11.MODEL_1145? PDP11.PSW.REGSET : 0);
this.decode = PDP11.op1140.bind(this);
this.checkStackLimit = this.checkStackLimit1140;
/*
* The alternate register set (REGSET) doesn't exist on the 11/20 or 11/40; it's available on the 11/45 and 11/70.
* Ditto for separate I/D spaces, SUPER mode, and the instructions MFPD, MTPD, and SPL.
*/
this.pswUsed = ~(PDP11.PSW.UNUSED | (this.model <= PDP11.MODEL_1140? PDP11.PSW.REGSET : 0)) & 0xffff;
this.pswRegSet = (this.model > PDP11.MODEL_1140? PDP11.PSW.REGSET : 0);
}
this.nDisableTraps = 0;
@ -2146,14 +2150,14 @@ class CPUStatePDP11 extends CPUPDP11 {
}
/**
* checkStackLimit1145(access, step, addr)
* checkStackLimit1140(access, step, addr)
*
* @this {CPUStatePDP11}
* @param {number} access
* @param {number} step
* @param {number} addr
*/
checkStackLimit1145(access, step, addr)
checkStackLimit1140(access, step, addr)
{
if (!this.pswMode) {
/*

View file

@ -304,7 +304,12 @@ class DebuggerPDP11 extends Debugger {
var sMessages = cmp.getMachineParm('messages');
if (sMessages) this.messageInit(sMessages);
if (this.cpu.model < PDP11.MODEL_1145) this.aOpReserved = DebuggerPDP11.OP1145;
if (this.cpu.model < PDP11.MODEL_1140) {
this.aOpReserved = this.aOpReserved.concat(DebuggerPDP11.OP1140);
}
if (this.cpu.model < PDP11.MODEL_1145) {
this.aOpReserved = this.aOpReserved.concat(DebuggerPDP11.OP1145);
}
this.messageDump(MessagesPDP11.BUS, function onDumpBus(asArgs) { dbg.dumpBus(asArgs); });
@ -4348,21 +4353,27 @@ if (DEBUGGER) {
DebuggerPDP11.OPNONE = [DebuggerPDP11.OPS.NONE];
/*
* Table of opcodes specific to the 11/45 and newer
* Table of opcodes added to the 11/40 and newer
*/
DebuggerPDP11.OP1145 = [
DebuggerPDP11.OP1140 = [
DebuggerPDP11.OPS.MARK,
DebuggerPDP11.OPS.MFPI,
DebuggerPDP11.OPS.MTPI,
DebuggerPDP11.OPS.SXT,
DebuggerPDP11.OPS.SPL,
DebuggerPDP11.OPS.RTT,
DebuggerPDP11.OPS.MUL,
DebuggerPDP11.OPS.DIV,
DebuggerPDP11.OPS.ASH,
DebuggerPDP11.OPS.ASHC,
DebuggerPDP11.OPS.XOR,
DebuggerPDP11.OPS.SOB,
DebuggerPDP11.OPS.SOB
];
/*
* Table of opcodes added to the 11/45 and newer
*/
DebuggerPDP11.OP1145 = [
DebuggerPDP11.OPS.SPL,
DebuggerPDP11.OPS.MFPD,
DebuggerPDP11.OPS.MTPD
];

View file

@ -131,8 +131,9 @@ var PDP11 = {
* The 11/40 added the MODE bits to the PSW (but only KERNEL=00 and USER=11) and 18-bit
* addressing via an MMU; there was still only one register set.
*
* The 11/45 added REGSET bit to the PSW (along with the second register set), and added
* SUPERVISOR=01 to the set of modes.
* The 11/45 added REGSET bit to the PSW (to support a second register set), SUPER=01
* mode to the existing KERNEL=00 and USER=11 modes, separate I/D spaces, and other MMU
* extensions (eg, MMR1 and MMR3).
*
* The 11/70 added 22-bit addressing and corresponding extensions to the MMU.
*/
@ -163,10 +164,10 @@ var PDP11 = {
* Processor modes
*/
MODE: {
KERNEL: 0x0, // 11/40 and higher only
SUPER: 0x1, // 11/45 and higher only
KERNEL: 0x0, // 11/40 and higher
SUPER: 0x1, // 11/45 and higher
UNUSED: 0x2,
USER: 0x3, // 11/40 and higher only
USER: 0x3, // 11/40 and higher
MASK: 0x3
},
/*
@ -364,14 +365,14 @@ var PDP11 = {
MMR0: { // 177572
ENABLED: 0x0001, // 000001 address relocation enabled
PAGE_NUM: 0x000E, // 000016 page number of last fault
PAGE_D: 0x0010, // 000020 last fault occurred in D space (11/44 and 11/70 only)
PAGE_D: 0x0010, // 000020 last fault occurred in D space (11/45 and 11/70)
PAGE: 0x001E, // 000176 (all of the PAGE bits)
MODE: 0x0060, // 000140 processor mode as of last fault
COMPLETED: 0x0080, // 000200 last instruction completed (R/O) (11/70 only)
COMPLETED: 0x0080, // 000200 last instruction completed (R/O) (11/70)
MAINT: 0x0100, // 000400 only destination mode references will be relocated
MMU_TRAPS: 0x0200, // 001000 enable MMU traps (11/70 only)
MMU_TRAPS: 0x0200, // 001000 enable MMU traps (11/70)
UNUSED: 0x0C00, // 006000
TRAP_MMU: 0x1000, // 010000 trap: MMU (11/70 only)
TRAP_MMU: 0x1000, // 010000 trap: MMU (11/70)
ABORT_RO: 0x2000, // 020000 abort: read-only
ABORT_PL: 0x4000, // 040000 abort: page length
ABORT_NR: 0x8000, // 100000 abort: non-resident
@ -382,7 +383,7 @@ var PDP11 = {
MODE: 5
}
},
MMR1: { // 177574: general purpose auto-inc/auto-dec register (11/44 and 11/70 only)
MMR1: { // 177574: general purpose auto-inc/auto-dec register (11/45 and 11/70)
REG1_NUM: 0x0007, //
REG1_DELTA: 0x00F8, //
REG2_NUM: 0x0700, //
@ -390,7 +391,7 @@ var PDP11 = {
},
MMR2: { // 177576: virtual program counter register
},
MMR3: { // 172516: mapping register (11/44 and 11/70 only)
MMR3: { // 172516: mapping register (11/45 and 11/70)
USER_D: 0x0001, // (000001)
SUPER_D: 0x0002, // (000002)
KERNEL_D: 0x0004, // (000004)
@ -400,11 +401,11 @@ var PDP11 = {
PDR: {
ACF: {
NR: 0x0, // non-resident, abort all accesses
RO1: 0x1, // read-only, abort on write attempt, memory management trap on read (11/70 only)
RO1: 0x1, // read-only, abort on write attempt, memory management trap on read (11/70)
RO: 0x2, // read-only, abort on write attempt
U1: 0x3, // unused, abort all accesses--reserved for future use
RW1: 0x4, // read/write, memory management trap upon completion of a read or write
RW2: 0x5, // read/write, memory management trap upon completion of a write (11/70 only)
RW2: 0x5, // read/write, memory management trap upon completion of a write (11/70)
RW: 0x6, // read/write, no system trap/abort action
U2: 0x7, // unused, abort all accesses--reserved for future use
MASK: 0x7
@ -412,7 +413,7 @@ var PDP11 = {
ED: 0x0008, // expansion direction (if set, the page expands downward from block number 127)
UNUSED: 0x0030,
MODIFIED: 0x0040, // page has been written (bit cleared when either PDR or PAR is written)
ACCESSED: 0x0080, // page has been accessed (bit cleared when either PDR or PAR is written) (11/70 only)
ACCESSED: 0x0080, // page has been accessed (bit cleared when either PDR or PAR is written) (11/70)
PLF: 0x7F00, // page length field
BC: 0x8000 // bypass cache (11/44 only)
},

View file

@ -1143,18 +1143,18 @@ DevicePDP11.UNIBUS_IOTABLE = {
[PDP11.UNIBUS.SDPDR0]: /* 172220 */ [null, null, DevicePDP11.prototype.readSDPDR, DevicePDP11.prototype.writeSDPDR, "SDPDR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.SIPAR0]: /* 172240 */ [null, null, DevicePDP11.prototype.readSIPAR, DevicePDP11.prototype.writeSIPAR, "SIPAR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.SDPAR0]: /* 172260 */ [null, null, DevicePDP11.prototype.readSDPAR, DevicePDP11.prototype.writeSDPAR, "SDPAR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.KIPDR0]: /* 172300 */ [null, null, DevicePDP11.prototype.readKIPDR, DevicePDP11.prototype.writeKIPDR, "KIPDR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.KIPDR0]: /* 172300 */ [null, null, DevicePDP11.prototype.readKIPDR, DevicePDP11.prototype.writeKIPDR, "KIPDR", 8, PDP11.MODEL_1140, MessagesPDP11.MMU],
[PDP11.UNIBUS.KDPDR0]: /* 172320 */ [null, null, DevicePDP11.prototype.readKDPDR, DevicePDP11.prototype.writeKDPDR, "KDPDR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.KIPAR0]: /* 172340 */ [null, null, DevicePDP11.prototype.readKIPAR, DevicePDP11.prototype.writeKIPAR, "KIPAR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.KIPAR0]: /* 172340 */ [null, null, DevicePDP11.prototype.readKIPAR, DevicePDP11.prototype.writeKIPAR, "KIPAR", 8, PDP11.MODEL_1140, MessagesPDP11.MMU],
[PDP11.UNIBUS.KDPAR0]: /* 172360 */ [null, null, DevicePDP11.prototype.readKDPAR, DevicePDP11.prototype.writeKDPAR, "KDPAR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.MMR3]: /* 172516 */ [null, null, DevicePDP11.prototype.readMMR3, DevicePDP11.prototype.writeMMR3, "MMR3", 1, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.LKS]: /* 177546 */ [null, null, DevicePDP11.prototype.readLKS, DevicePDP11.prototype.writeLKS, "LKS"],
[PDP11.UNIBUS.MMR0]: /* 177572 */ [null, null, DevicePDP11.prototype.readMMR0, DevicePDP11.prototype.writeMMR0, "MMR0", 1, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.MMR0]: /* 177572 */ [null, null, DevicePDP11.prototype.readMMR0, DevicePDP11.prototype.writeMMR0, "MMR0", 1, PDP11.MODEL_1140, MessagesPDP11.MMU],
[PDP11.UNIBUS.MMR1]: /* 177574 */ [null, null, DevicePDP11.prototype.readMMR1, DevicePDP11.prototype.writeIgnored, "MMR1", 1, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.MMR2]: /* 177576 */ [null, null, DevicePDP11.prototype.readMMR2, DevicePDP11.prototype.writeIgnored, "MMR2", 1, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.UIPDR0]: /* 177600 */ [null, null, DevicePDP11.prototype.readUIPDR, DevicePDP11.prototype.writeUIPDR, "UIPDR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.MMR2]: /* 177576 */ [null, null, DevicePDP11.prototype.readMMR2, DevicePDP11.prototype.writeIgnored, "MMR2", 1, PDP11.MODEL_1140, MessagesPDP11.MMU],
[PDP11.UNIBUS.UIPDR0]: /* 177600 */ [null, null, DevicePDP11.prototype.readUIPDR, DevicePDP11.prototype.writeUIPDR, "UIPDR", 8, PDP11.MODEL_1140, MessagesPDP11.MMU],
[PDP11.UNIBUS.UDPDR0]: /* 177620 */ [null, null, DevicePDP11.prototype.readUDPDR, DevicePDP11.prototype.writeUDPDR, "UDPDR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.UIPAR0]: /* 177640 */ [null, null, DevicePDP11.prototype.readUIPAR, DevicePDP11.prototype.writeUIPAR, "UIPAR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.UIPAR0]: /* 177640 */ [null, null, DevicePDP11.prototype.readUIPAR, DevicePDP11.prototype.writeUIPAR, "UIPAR", 8, PDP11.MODEL_1140, MessagesPDP11.MMU],
[PDP11.UNIBUS.UDPAR0]: /* 177660 */ [null, null, DevicePDP11.prototype.readUDPAR, DevicePDP11.prototype.writeUDPAR, "UDPAR", 8, PDP11.MODEL_1145, MessagesPDP11.MMU],
[PDP11.UNIBUS.R0SET0]: /* 177700 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R0SET0"],
[PDP11.UNIBUS.R1SET0]: /* 177701 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R1SET0"],

View file

@ -845,7 +845,7 @@ class PanelPDP11 extends Component {
*/
advanceAddr()
{
var nRegs = this.cpu.model < PDP11.MODEL_1145? 8 : 16;
var nRegs = this.cpu.model <= PDP11.MODEL_1140? 8 : 16;
var fGenRegs = (this.regAddr >= PDP11.UNIBUS.R0SET0 /*177700*/ && this.regAddr < PDP11.UNIBUS.R0SET0 + nRegs);
var inc = fGenRegs? 1 : 2;
var mask = fGenRegs? 0xf : this.bus.nBusMask;

View file

@ -46,328 +46,328 @@ function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function xa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function ya(){return Date.now()||+new Date}function za(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Aa(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Ba(a,b){var c,d={ba:null,ea:null,wa:null,va:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.wa=g.load;d.va=g.exec;if(e=g.bytes)d.ba=e;else if(e=g.words)for(d.ba=Array(2*e.length),f=c=0;c<e.length;c++)d.ba[f++]=e[c]&255,d.ba[f++]=e[c]>>8&255;else if(e=g.data)for(d.ba=Array(4*e.length),f=c=0;c<e.length;c++)d.ba[f++]=
e[c]&255,d.ba[f++]=e[c]>>8&255,d.ba[f++]=e[c]>>16&255,d.ba[f++]=e[c]>>24&255;else d.ba=g;d.ea=g.symbols;d.ba.length?1==d.ba.length&&(y(d.ba[0]),d=null):(y("Empty resource: "+a),d=null)}catch(k){y("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){y("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ba=e)}return d}
function Ba(a,b){var c,d={ca:null,ea:null,xa:null,wa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.xa=g.load;d.wa=g.exec;if(e=g.bytes)d.ca=e;else if(e=g.words)for(d.ca=Array(2*e.length),f=c=0;c<e.length;c++)d.ca[f++]=e[c]&255,d.ca[f++]=e[c]>>8&255;else if(e=g.data)for(d.ca=Array(4*e.length),f=c=0;c<e.length;c++)d.ca[f++]=
e[c]&255,d.ca[f++]=e[c]>>8&255,d.ca[f++]=e[c]>>16&255,d.ca[f++]=e[c]>>24&255;else d.ca=g;d.ea=g.symbols;d.ca.length?1==d.ca.length&&(y(d.ca[0]),d=null):(y("Empty resource: "+a),d=null)}catch(k){y("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){y("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ca=e)}return d}
function Ca(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Da(a){window&&window.alert(a)}function Ea(a){var b=!1;window&&(b=window.confirm(a));return b}function Fa(){if(null==Ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Ka=a}return Ka}
function La(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ma(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Na(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Oa(a){if(!Pa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Pa=c}return Pa[a]}
function Qa(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function Ra(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Sa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function Ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){Ya.init.push(a)}
function Za(a){if($a)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Da&&Da(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ab(a){!$a&&a?($a=!0,bb&&cb("init"),db&&cb("show")):$a=a}function cb(a){Ya[a]&&Za(Ya[a])}var Pa=null,Ya={init:[],show:[],exit:[]},bb=!1,db=!1,$a=!0,Ka=null;Ta("onload",function(){bb=!0;Za(Ya.init)});Ta("onpageshow",function(){db=!0;Za(Ya.show)});
Ta(Na("Opera")||Na("iOS")?"onunload":"onbeforeunload",function(){Za(Ya.exit)});function A(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Rc=b.comment;this.Fd=b;this.exports={};a=this.id.indexOf(".");0>a?this.kb=this.id:(this.lb=this.id.substr(0,a),this.kb=this.id.substr(a+1));this.A={ready:!1,cb:!1,zc:!1,fa:!1,error:!1};this.bc=null;this.A.error=!1;this.B={};this.ga=d||0;this.F=this.f=this.D=this.J=this.Pa=null;eb.push(this)}
Ta(Na("Opera")||Na("iOS")?"onunload":"onbeforeunload",function(){Za(Ya.exit)});function A(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Rc=b.comment;this.Fd=b;this.exports={};a=this.id.indexOf(".");0>a?this.kb=this.id:(this.lb=this.id.substr(0,a),this.kb=this.id.substr(a+1));this.A={ready:!1,cb:!1,zc:!1,fa:!1,error:!1};this.bc=null;this.A.error=!1;this.B={};this.ha=d||0;this.F=this.f=this.D=this.J=this.Pa=null;eb.push(this)}
function gb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function y(a){Da&&Da(a)}function nb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<eb.length;b++){var d=eb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ob(a){if(void 0!==a){var b;for(b=0;b<eb.length;b++)if(eb[b].id===a)return eb[b]}return null}
function pb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<eb.length;d++)if(c)c==eb[d]&&(c=null);else if(!(a!=eb[d].type||b&&eb[d].id.indexOf(b)))return eb[d]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){y(c.message+" ("+a+")")}return b}
function qb(a,b){var c=E;b=G(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=B(g))&&k.binding&&a.oa(k.type,k.binding,g,k.value),m=l.length}}}}
function qb(a,b){var c=E;b=G(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=B(g))&&k.binding&&a.pa(k.type,k.binding,g,k.value),m=l.length}}}}
function G(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}h=A.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.oa=function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.Pa=this.B[b]=c,c.value="",this.u=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.M=function(a){this.u(a,this.kb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.pa=function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.Pa=this.B[b]=c,c.value="",this.u=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.M=function(a){this.u(a,this.kb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.status=function(a){this.u(this.kb+": "+a)};h.M=function(a,b,c){c=c||this.type;!b&&Da&&Da((c?c+": ":"")+a)};function rb(a,b){a.A.error=!0;a.M(b)}function sb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function tb(a,b){b&&(a.A.ready?b():a.bc=b);return a.A.ready}function H(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.bc,a.bc=null,b&&b()))}function ub(a,b){a.A.cb&&(b?a.A.zc=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.cb}
function vb(a,b){if(a.A.zc)return a.A.cb=!1,a.A.zc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.cb=b;return a.A.cb}h.sa=function(){return this.A.fa=!0};h.Ca=function(a,b){b&&(this.A.fa=!1);return!0};function I(a,b){if(a.F){a===a.F?b|=0:b=b||a.ga;var c=a.F.ga&b;return!!b&&c===b||!!(c&a.F.cd)}return!1}function J(a,b,c,d){a.F&&(!0===c||I(a,c|0))&&a.F.message(b,d)}
function vb(a,b){if(a.A.zc)return a.A.cb=!1,a.A.zc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.cb=b;return a.A.cb}h.ta=function(){return this.A.fa=!0};h.Ca=function(a,b){b&&(this.A.fa=!1);return!0};function I(a,b){if(a.F){a===a.F?b|=0:b=b||a.ha;var c=a.F.ha&b;return!!b&&c===b||!!(c&a.F.cd)}return!1}function J(a,b,c,d){a.F&&(!0===c||I(a,c|0))&&a.F.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var mb=window?window.PCjs.Machines:{},eb=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var wb="undefined"!==typeof ArrayBuffer,E="pdp11",xb="PDPjs",yb=!1,zb=wb,Ab=!0,Bb=!0,Cb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Db={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},E="pdp11",xb="PDPjs",yb=!1,zb=wb,Bb=Ab=!0,Eb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,
kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Fb(a,b){A.call(this,"Panel",a,0,512);this.j=this.v=0;this.I=b;this.ta=this.i=this.Va=this.tb=0;this.C=this.G=this.w=!1;this.H=Mb;this.g={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.F=this.f=this.D=this.J=null;H(this)}p(Fb,A);h=Fb.prototype;h.reset=function(){this.stop()};
h.oa=function(a,b,c,d){if(this.J&&this.J.oa(a,b,c,d)||this.f&&this.f.oa(a,b,c,d)||this.F&&this.F.oa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.B[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.B[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.B[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Nb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Ob(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Nb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Ob(a,b)}}(this,b),!0):A.prototype.oa.call(this,a,b,c,d)}};h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Pb(b,this,Qb);Rb(b,this.reset.bind(this));Sb(this);Tb(this)};h.sa=function(a,b){b||(this.I&&Ub(),this.reset());return!0};h.Ca=function(){return!0};
function Vb(a,b,c){if(a=a.B[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Sb(a,b){for(var c in a.g)Vb(a,c,null!=b?b:a.g[c])}function Wb(a,b,c){if(a=a.B[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Tb(a){for(var b in a.b)Wb(a,b,a.b[b][1])}function Xb(a,b,c,d){a.B[b]&&(void 0===c&&(rb(a,"Value for "+b+" is invalid"),a.f.Z()),c=8==(a.F&&a.F.xa||8)?q(c,d):v(c,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
function Fb(a,b){A.call(this,"Panel",a,0,512);this.j=this.v=0;this.I=b;this.ua=this.i=this.Va=this.tb=0;this.C=this.G=this.w=!1;this.H=Mb;this.g={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.F=this.f=this.D=this.J=null;H(this)}p(Fb,A);h=Fb.prototype;h.reset=function(){this.stop()};
h.pa=function(a,b,c,d){if(this.J&&this.J.pa(a,b,c,d)||this.f&&this.f.pa(a,b,c,d)||this.F&&this.F.pa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.B[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.B[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.B[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Nb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Ob(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Nb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Ob(a,b)}}(this,b),!0):A.prototype.pa.call(this,a,b,c,d)}};h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Pb(b,this,Qb);Rb(b,this.reset.bind(this));Sb(this);Tb(this)};h.ta=function(a,b){b||(this.I&&Ub(),this.reset());return!0};h.Ca=function(){return!0};
function Vb(a,b,c){if(a=a.B[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Sb(a,b){for(var c in a.g)Vb(a,c,null!=b?b:a.g[c])}function Wb(a,b,c){if(a=a.B[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Tb(a){for(var b in a.b)Wb(a,b,a.b[b][1])}function Xb(a,b,c,d){a.B[b]&&(void 0===c&&(rb(a,"Value for "+b+" is invalid"),a.f.Z()),c=8==(a.F&&a.F.ya||8)?q(c,d):v(c,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
function Nb(a,b){var c=a.b[b];Wb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=Yb&&(a.C=b==Zb,a.G=b==$b)}function Ob(a,b){var c=a.b[b];c[2]&&c[3]&&(Wb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Xd=function(a){a||this.f.A.U||(a=this.f,a.D.reset(),ac(a),this.b[bc]&&this.b[bc][1]&&cc(this.f))};h.Yd=function(){};h.Td=function(a){a||this.f.Z()};
h.Rd=function(a){if(!a&&!this.f.A.U)if(this.b[bc]&&this.b[bc][1])cc(this.f);else{if((a=this.F)&&!ub(a,!0))vb(a,!0),dc(a,0,null),vb(a,!1);else try{var b=this.f.$b(1);0<b&&(ec(this.f,b),fc(this.f,b,!0),gc(this.f,b))}catch(c){"number"!=typeof c&&rb(this.f,c.stack||c.message)}this.stop();this.J&&L(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.C&&hc(this),a=ic(this,this.Va),this.H==Mb)jc(this.D,this.ta,a);else{var b=this.f,c=this.ta;b.ma++;b.D.Lb(kc(b,c,4),a);b.ma--}};
h.Ud=function(a){a||this.f.A.U||(this.G&&hc(this),a=this.H==Mb?lc(this.D,this.ta):mc(this.f,this.ta),ic(this,a))};h.Wd=function(a){a||this.f.A.U||nc(this,this.Va)};h.Vd=function(a){a?(this.w=!0,Sb(this,!0)):(this.w=!1,Sb(this),oc(this,0))};h.Zd=function(a,b){this.Va=a?this.Va|1<<b:this.Va&~(1<<b)};function hc(a){var b=1145>a.f.Aa?8:16,c=65472<=a.ta&&a.ta<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[Yb]&&a.b[Yb][1]||(b=-b);nc(a,a.ta&~c|a.ta+b&c)}
function nc(a,b){a.ta=b&a.D.I;b=a.ta;for(var c=0;22>c;c++)pc(a,"A"+c,b&1<<c)}function ic(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)pc(a,"D"+c,b&1<<c);return a.i}function pc(a,b,c){a.g[b]=c;a.w||Vb(a,b,c)}function qc(a){return void 0!==a.B[Cc]}function oc(a,b){if(qc(a)){a.Va=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;Tb(a)}}h.stop=function(){nc(this,this.f.g[7])};h.Fc=function(a){this.ta=a};h.setData=function(a,b){b?this.tb=a:this.i=a};h.de=function(a,b){return(b?this.tb:this.Va)&65535};
h.Rd=function(a){if(!a&&!this.f.A.U)if(this.b[bc]&&this.b[bc][1])cc(this.f);else{if((a=this.F)&&!ub(a,!0))vb(a,!0),dc(a,0,null),vb(a,!1);else try{var b=this.f.$b(1);0<b&&(ec(this.f,b),fc(this.f,b,!0),gc(this.f,b))}catch(c){"number"!=typeof c&&rb(this.f,c.stack||c.message)}this.stop();this.J&&L(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.C&&hc(this),a=ic(this,this.Va),this.H==Mb)jc(this.D,this.ua,a);else{var b=this.f,c=this.ua;b.na++;b.D.Lb(kc(b,c,4),a);b.na--}};
h.Ud=function(a){a||this.f.A.U||(this.G&&hc(this),a=this.H==Mb?lc(this.D,this.ua):mc(this.f,this.ua),ic(this,a))};h.Wd=function(a){a||this.f.A.U||nc(this,this.Va)};h.Vd=function(a){a?(this.w=!0,Sb(this,!0)):(this.w=!1,Sb(this),oc(this,0))};h.Zd=function(a,b){this.Va=a?this.Va|1<<b:this.Va&~(1<<b)};function hc(a){var b=1140>=a.f.ba?8:16,c=65472<=a.ua&&a.ua<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[Yb]&&a.b[Yb][1]||(b=-b);nc(a,a.ua&~c|a.ua+b&c)}
function nc(a,b){a.ua=b&a.D.I;b=a.ua;for(var c=0;22>c;c++)pc(a,"A"+c,b&1<<c)}function ic(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)pc(a,"D"+c,b&1<<c);return a.i}function pc(a,b,c){a.g[b]=c;a.w||Vb(a,b,c)}function qc(a){return void 0!==a.B[Cc]}function oc(a,b){if(qc(a)){a.Va=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;Tb(a)}}h.stop=function(){nc(this,this.f.g[7])};h.Fc=function(a){this.ua=a};h.setData=function(a,b){b?this.tb=a:this.i=a};h.de=function(a,b){return(b?this.tb:this.Va)&65535};
h.pf=function(a){this.tb=a};function Ub(){for(var a=G(document,E,"panel"),b=0;b<a.length;b++){var c=a[b],d=B(c),e=ob(d.id);e||(e=new Fb(d,!0));qb(e,c)}}var Mb=7,Cc="S0",Zb="DEP",bc="ENABLE",$b="EXAM",Yb="STEP",Dc={},Qb=(Dc[65400]=[null,null,Fb.prototype.de,Fb.prototype.pf,"CNSW"],Dc);Xa(Ub);
function Ec(a,b,c){A.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=+a.busWidth||16;this.N=1<<this.V;this.I=this.N-1;this.j=Fc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.N/this.j|0;this.T=this.H-1;this.Ma=[];this.ia=0;this.G=!1;this.O=[];this.Hd=[Gc,Hc,Ic,Jc];this.b=this.v=[];this.C=this.L=this.w=this.P=this.R=0;a=new M(this);Kc(a,this.F);this.b=Array(this.H);this.v=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.v[b]=a;this.C=this.N-Fc;Lc(this,this.C,Fc,Mc,this);this.R=
this.P=(this.C&this.I)>>>this.g;this.L=0;this.w=this.I;H(this)}p(Ec,A);function Nc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.v[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Fc,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Ec.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Nc(this,16)};h.sa=function(a,b){b||this.reset();return!0};
function Ec(a,b,c){A.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=+a.busWidth||16;this.N=1<<this.V;this.I=this.N-1;this.j=Fc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.N/this.j|0;this.T=this.H-1;this.Ma=[];this.ja=0;this.G=!1;this.O=[];this.Hd=[Gc,Hc,Ic,Jc];this.b=this.v=[];this.C=this.L=this.w=this.P=this.R=0;a=new M(this);Kc(a,this.F);this.b=Array(this.H);this.v=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.v[b]=a;this.C=this.N-Fc;Lc(this,this.C,Fc,Mc,this);this.R=
this.P=(this.C&this.I)>>>this.g;this.L=0;this.w=this.I;H(this)}p(Ec,A);function Nc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.v[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Fc,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Ec.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Nc(this,16)};h.ta=function(a,b){b||this.reset();return!0};
function Lc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Hb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Hb){n=l.size-(f-m);n>g&&(n=g);l.Hb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Oc(Pc,f,g)}f=new M(a,f,n,a.j,d,e);Kc(f,a.F,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Qc[d]+" at "+q(b)),!0):Oc(Rc,b,c)}h.Jc=function(a){return this.v[(a&this.w)>>>this.g].sb(a&this.i,a)};
h.Zb=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Bb||b!=this.i?this.v[c].ja(b,a):this.v[c++].sb(b,a)|this.v[c&this.T].sb(0,a+1)<<8};h.Kc=function(a,b){this.v[(a&this.w)>>>this.g].ub(a&this.i,b,a)};h.Lb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Bb||c!=this.i?this.v[d].vb(c,b,a):(this.v[d++].ub(c,b&255,a),this.v[d&this.T].ub(0,b>>8&255,a+1))};function Sc(a,b){return a.b[(b&a.I)>>>a.g]}
function lc(a,b){var c;a.G=!1;a.ia++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?c=e.C(d,b):c=e.j(d,b)|Sc(a,b+1).j(0,b+1)<<8;a.ia--;return c}function Tc(a,b,c){a.G=!1;a.ia++;Sc(a,b).D(b&a.i,c&255,b);a.ia--}function jc(a,b,c){a.G=!1;a.ia++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),Sc(a,b+1).D(0,c>>8&255,b+1));a.ia--}
h.Zb=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Bb||b!=this.i?this.v[c].ka(b,a):this.v[c++].sb(b,a)|this.v[c&this.T].sb(0,a+1)<<8};h.Kc=function(a,b){this.v[(a&this.w)>>>this.g].ub(a&this.i,b,a)};h.Lb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Bb||c!=this.i?this.v[d].vb(c,b,a):(this.v[d++].ub(c,b&255,a),this.v[d&this.T].ub(0,b>>8&255,a+1))};function Sc(a,b){return a.b[(b&a.I)>>>a.g]}
function lc(a,b){var c;a.G=!1;a.ja++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?c=e.C(d,b):c=e.j(d,b)|Sc(a,b+1).j(0,b+1)<<8;a.ja--;return c}function Tc(a,b,c){a.G=!1;a.ja++;Sc(a,b).D(b&a.i,c&255,b);a.ja--}function jc(a,b,c){a.G=!1;a.ja++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),Sc(a,b+1).D(0,c>>8&255,b+1));a.ja--}
function Uc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Ta||e.Nd){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function Vc(a){for(var b=Wc,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Hb)}return c}
function Xc(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&Yc;if(void 0!==a.Ma[n])return Da&&Da("I/O address already registered: "+v(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ma[n]=[d,e,f,g,r,k||16,!1]}return!0}
function Pb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.Aa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!Xc(a,f,f,k,l,m,n,g[7]||b.ga,r||b.kb))return!1}}return!0}
function Rb(a,b){a.O.push(b)}h.La=function(a,b,c){this.G=!0;this.ia||(this.F&&I(this.F,4)&&J(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.ka(4,0,a))};function Zc(a){var b=a.G;a.G=!1;return b}function Oc(a,b,c){y("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Fc=8192,Yc=Fc-1,Pc=1,Rc=2;
function Gc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&I(this.f,16|e[5])&&J(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ia),c;d.La(b,16,3);c=255;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ia);return c}
function Hc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&I(this.f,16|f[5])&&J(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ia):(e.La(c,16,5),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
b),!0,!e.ia))}function Ic(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ia),c;d.La(b,16,2);c=65535;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ia);return c}
function Jc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ia):(e.La(c,16,4),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ia))}function P(a){A.call(this,"Device",a,0,256);this.b={lh:0,Gc:-1}}p(P,A);h=P.prototype;
h.ra=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Gc=$c(c,function(){e.b.Eb|=128;e.b.Eb&64&&ad(e.f,e.b.eb);e.J&&L(e.J,1);bd(e.f,e.b.Gc,1E3/60)});this.b.eb=cd(c,64,6,524288);Pb(b,this,dd);Rb(b,this.reset.bind(this));d&&ed(d,64,function(a){var b=e.f;fd(e,"KIPDR",b.C[0],0,a[0]);fd(e,"KDPDR",b.C[0],8,a[0]);fd(e,"KIPAR",b.N[0],0,a[0]);fd(e,"KDPAR",b.N[0],8,a[0],!0);fd(e,"SIPDR",b.C[1],0,a[0]);fd(e,"SDPDR",b.C[1],8,a[0]);fd(e,"SIPAR",b.N[1],0,a[0]);fd(e,"SDPAR",b.N[1],8,a[0],
function Pb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ba)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!Xc(a,f,f,k,l,m,n,g[7]||b.ha,r||b.kb))return!1}}return!0}
function Rb(a,b){a.O.push(b)}h.La=function(a,b,c){this.G=!0;this.ja||(this.F&&I(this.F,4)&&J(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.la(4,0,a))};function Zc(a){var b=a.G;a.G=!1;return b}function Oc(a,b,c){y("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Fc=8192,Yc=Fc-1,Pc=1,Rc=2;
function Gc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&I(this.f,16|e[5])&&J(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ja),c;d.La(b,16,3);c=255;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
function Hc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&I(this.f,16|f[5])&&J(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,5),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
b),!0,!e.ja))}function Ic(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ja),c;d.La(b,16,2);c=65535;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
function Jc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,4),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ja))}function P(a){A.call(this,"Device",a,0,256);this.b={lh:0,Gc:-1}}p(P,A);h=P.prototype;
h.sa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Gc=$c(c,function(){e.b.Eb|=128;e.b.Eb&64&&ad(e.f,e.b.eb);e.J&&L(e.J,1);bd(e.f,e.b.Gc,1E3/60)});this.b.eb=cd(c,64,6,524288);Pb(b,this,dd);Rb(b,this.reset.bind(this));d&&ed(d,64,function(a){var b=e.f;fd(e,"KIPDR",b.C[0],0,a[0]);fd(e,"KDPDR",b.C[0],8,a[0]);fd(e,"KIPAR",b.N[0],0,a[0]);fd(e,"KDPAR",b.N[0],8,a[0],!0);fd(e,"SIPDR",b.C[1],0,a[0]);fd(e,"SDPDR",b.C[1],8,a[0]);fd(e,"SIPAR",b.N[1],0,a[0]);fd(e,"SDPAR",b.N[1],8,a[0],
!0);fd(e,"UIPDR",b.C[3],0,a[0]);fd(e,"UDPDR",b.C[3],8,a[0]);fd(e,"UIPAR",b.N[3],0,a[0]);fd(e,"UDPAR",b.N[3],8,a[0],!0);b.T&32&&fd(e,"UNIMAP",b.Sa,-1,a[0])});H(this)};function fd(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+na(n)+"]":"")+":"),g+=" "+O(a,c[d+n],l);a.u(g+(f?"\n":""))}}h.reset=function(){this.b.Eb=128;bd(this.f,this.b.Gc,1E3/60,!0)};h.ke=function(){return this.b.Eb};
h.wf=function(a){this.b.Eb=a&192;this.b.Eb&64||gd(this.f,this.b.eb)};h.me=function(){return hd(this.f)};h.yf=function(a){id(this.f,a&-129|this.f.S&128)};h.ne=function(){return jd(this.f)};h.oe=function(){return kd(this.f)};h.pe=function(){return this.f.T};h.zf=function(a){ld(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Sa[a>>1];return a&1?b>>16:b&65535};h.gg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Sa[c]=b&1?this.f.Sa[c]&65535|(a&63)<<16:this.f.Sa[c]&-65536|a&65534};
h.Qe=function(a){return this.f.C[1][a>>1&7]};h.$f=function(a,b){this.f.C[1][b>>1&7]=a&65295};h.Oe=function(a){return this.f.C[1][(a>>1&7)+8]};h.Yf=function(a,b){this.f.C[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.N[1][a>>1&7]};h.Zf=function(a,b){b=b>>1&7;this.f.N[1][b]=a;this.f.C[1][b]&=65295};h.Ne=function(a){return this.f.N[1][(a>>1&7)+8]};h.Xf=function(a,b){b=(b>>1&7)+8;this.f.N[1][b]=a;this.f.C[1][b]&=65295};h.je=function(a){return this.f.C[0][a>>1&7]};
h.vf=function(a,b){this.f.C[0][b>>1&7]=a&65295};h.he=function(a){return this.f.C[0][(a>>1&7)+8]};h.tf=function(a,b){this.f.C[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.N[0][a>>1&7]};h.uf=function(a,b){b=b>>1&7;this.f.N[0][b]=a;this.f.C[0][b]&=65295};h.ge=function(a){return this.f.N[0][(a>>1&7)+8]};h.sf=function(a,b){b=(b>>1&7)+8;this.f.N[0][b]=a;this.f.C[0][b]&=65295};h.We=function(a){return this.f.C[3][a>>1&7]};h.fg=function(a,b){this.f.C[3][b>>1&7]=a&65295};
h.Ue=function(a){return this.f.C[3][(a>>1&7)+8]};h.dg=function(a,b){this.f.C[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.N[3][a>>1&7]};h.eg=function(a,b){b=b>>1&7;this.f.N[3][b]=a;this.f.C[3][b]&=65295};h.Te=function(a){return this.f.N[3][(a>>1&7)+8]};h.cg=function(a,b){b=(b>>1&7)+8;this.f.N[3][b]=a;this.f.C[3][b]&=65295};h.Fb=function(a){a&=7;return this.f.w&2048?this.f.qa[a]:this.f.g[a]};h.Jb=function(a,b){b&=7;this.f.w&2048?this.f.qa[b]=a:this.f.g[b]=a};
h.ue=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Ef=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.Hf=function(a){this.f.g[7]=a};h.Gb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.qa[a]};h.Kb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.qa[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Ff=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};
h.Ue=function(a){return this.f.C[3][(a>>1&7)+8]};h.dg=function(a,b){this.f.C[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.N[3][a>>1&7]};h.eg=function(a,b){b=b>>1&7;this.f.N[3][b]=a;this.f.C[3][b]&=65295};h.Te=function(a){return this.f.N[3][(a>>1&7)+8]};h.cg=function(a,b){b=(b>>1&7)+8;this.f.N[3][b]=a;this.f.C[3][b]&=65295};h.Fb=function(a){a&=7;return this.f.w&2048?this.f.ra[a]:this.f.g[a]};h.Jb=function(a,b){b&=7;this.f.w&2048?this.f.ra[b]=a:this.f.g[b]=a};
h.ue=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Ef=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.Hf=function(a){this.f.g[7]=a};h.Gb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.ra[a]};h.Kb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ra[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Ff=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};
h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[3]};h.Gf=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[3]=a};h.fe=function(a){return this.f.nc[a-65504>>1]};h.rf=function(a,b){this.f.nc[b-65504>>1]=a};h.nd=function(a){return 65520==a?(Vc(this.D)>>6)-1:0};h.sd=function(){};h.Se=function(){return 1};h.bg=function(){};h.ee=function(){return this.f.R};h.qf=function(){this.f.R=0};h.le=function(){return this.f.mc};h.xf=function(a,b){b&1||(a&=255);this.f.mc=a};
h.qe=function(a,b){return b?0:this.f.bb};h.Af=function(a){md(this.f,a)};h.Re=function(a,b){return b?0:this.f.Ba&65280};h.ag=function(a){this.f.Ba=a|255};h.te=function(){return nd(this.f)};h.Df=function(a){od(this.f,a)};h.rd=function(a,b){I(this)&&J(this,"writeIgnored("+q(b)+"): "+q(a),!0,!0)};
var Q={},dd=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.gg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.$f,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Yf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.Zf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Xf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.vf,"KIPDR",8,1145,64],Q[62672]=[null,null,P.prototype.he,P.prototype.tf,"KDPDR",8,1145,64],Q[62688]=
[null,null,P.prototype.ie,P.prototype.uf,"KIPAR",8,1145,64],Q[62704]=[null,null,P.prototype.ge,P.prototype.sf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.pe,P.prototype.zf,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ke,P.prototype.wf,"LKS"],Q[65402]=[null,null,P.prototype.me,P.prototype.yf,"MMR0",1,1145,64],Q[65404]=[null,null,P.prototype.ne,P.prototype.rd,"MMR1",1,1145,64],Q[65406]=[null,null,P.prototype.oe,P.prototype.rd,"MMR2",1,1145,64],Q[65408]=[null,null,P.prototype.We,P.prototype.fg,
"UIPDR",8,1145,64],Q[65424]=[null,null,P.prototype.Ue,P.prototype.dg,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Ve,P.prototype.eg,"UIPAR",8,1145,64],Q[65456]=[null,null,P.prototype.Te,P.prototype.cg,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Fb,P.prototype.Jb,"R0SET0"],Q[65473]=[null,null,P.prototype.Fb,P.prototype.Jb,"R1SET0"],Q[65474]=[null,null,P.prototype.Fb,P.prototype.Jb,"R2SET0"],Q[65475]=[null,null,P.prototype.Fb,P.prototype.Jb,"R3SET0"],Q[65476]=[null,null,P.prototype.Fb,
var Q={},dd=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.gg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.$f,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Yf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.Zf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Xf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.vf,"KIPDR",8,1140,64],Q[62672]=[null,null,P.prototype.he,P.prototype.tf,"KDPDR",8,1145,64],Q[62688]=
[null,null,P.prototype.ie,P.prototype.uf,"KIPAR",8,1140,64],Q[62704]=[null,null,P.prototype.ge,P.prototype.sf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.pe,P.prototype.zf,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ke,P.prototype.wf,"LKS"],Q[65402]=[null,null,P.prototype.me,P.prototype.yf,"MMR0",1,1140,64],Q[65404]=[null,null,P.prototype.ne,P.prototype.rd,"MMR1",1,1145,64],Q[65406]=[null,null,P.prototype.oe,P.prototype.rd,"MMR2",1,1140,64],Q[65408]=[null,null,P.prototype.We,P.prototype.fg,
"UIPDR",8,1140,64],Q[65424]=[null,null,P.prototype.Ue,P.prototype.dg,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Ve,P.prototype.eg,"UIPAR",8,1140,64],Q[65456]=[null,null,P.prototype.Te,P.prototype.cg,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Fb,P.prototype.Jb,"R0SET0"],Q[65473]=[null,null,P.prototype.Fb,P.prototype.Jb,"R1SET0"],Q[65474]=[null,null,P.prototype.Fb,P.prototype.Jb,"R2SET0"],Q[65475]=[null,null,P.prototype.Fb,P.prototype.Jb,"R3SET0"],Q[65476]=[null,null,P.prototype.Fb,
P.prototype.Jb,"R4SET0"],Q[65477]=[null,null,P.prototype.Fb,P.prototype.Jb,"R5SET0"],Q[65478]=[null,null,P.prototype.ue,P.prototype.Ef,"R6KERNEL"],Q[65479]=[null,null,P.prototype.xe,P.prototype.Hf,"R7KERNEL"],Q[65480]=[null,null,P.prototype.Gb,P.prototype.Kb,"R0SET1",1,1145],Q[65481]=[null,null,P.prototype.Gb,P.prototype.Kb,"R1SET1",1,1145],Q[65482]=[null,null,P.prototype.Gb,P.prototype.Kb,"R2SET1",1,1145],Q[65483]=[null,null,P.prototype.Gb,P.prototype.Kb,"R3SET1",1,1145],Q[65484]=[null,null,P.prototype.Gb,
P.prototype.Kb,"R4SET1",1,1145],Q[65485]=[null,null,P.prototype.Gb,P.prototype.Kb,"R5SET1",1,1145],Q[65486]=[null,null,P.prototype.ve,P.prototype.Ff,"R6SUPER",1,1145],Q[65487]=[null,null,P.prototype.we,P.prototype.Gf,"R6USER",1,1145],Q[65504]=[null,null,P.prototype.fe,P.prototype.rf,"CTRL",8,1170],Q[65520]=[null,null,P.prototype.nd,P.prototype.sd,"LSIZE",1,1170],Q[65522]=[null,null,P.prototype.nd,P.prototype.sd,"HSIZE",1,1170],Q[65524]=[null,null,P.prototype.Se,P.prototype.bg,"SYSID",1,1170],Q[65526]=
[null,null,P.prototype.ee,P.prototype.qf,"ERR",1,1170],Q[65528]=[null,null,P.prototype.le,P.prototype.xf,"MBR",1,1170],Q[65530]=[null,null,P.prototype.qe,P.prototype.Af,"PIR"],Q[65532]=[null,null,P.prototype.Re,P.prototype.ag,"SLR"],Q[65534]=[null,null,P.prototype.te,P.prototype.Df,"PSW"],Q);
Xa(function(){for(var a=G(document,E,"device"),b=0;b<a.length;b++){var c,d=a[b];c=B(d);switch(c.type){case "default":c=new P(c);qb(c,d);break;case "pc11":c=new pd(c);qb(c,d);break;case "rl11":c=new qd(c);qb(c,d);break;case "rk11":c=new R(c),qb(c,d)}}});
function M(a,b,c,d,e,f){this.B=a;this.id=rd+=2;this.b=null;this.K=b;this.Hb=c;this.size=d||0;this.type=e||sd;this.J=e==td;this.f=this.controller=null;this.sb=this.j=this.Cc;this.ja=this.C=this.Dc;this.ub=this.D=this.Ib;this.vb=this.G=this.kc;this.F=this.i=0;Kc(this);this.Ta=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],ud(this,f.Hd);else if(wb)this.v=new ArrayBuffer(this.size),this.w=new DataView(this.v,0,this.size),this.g=new Uint8Array(this.v,0,this.size),this.H=new Uint16Array(this.v,
function M(a,b,c,d,e,f){this.B=a;this.id=rd+=2;this.b=null;this.K=b;this.Hb=c;this.size=d||0;this.type=e||sd;this.J=e==td;this.f=this.controller=null;this.sb=this.j=this.Cc;this.ka=this.C=this.Dc;this.ub=this.D=this.Ib;this.vb=this.G=this.kc;this.F=this.i=0;Kc(this);this.Ta=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],ud(this,f.Hd);else if(wb)this.v=new ArrayBuffer(this.size),this.w=new DataView(this.v,0,this.size),this.g=new Uint8Array(this.v,0,this.size),this.H=new Uint16Array(this.v,
0,this.size>>1),this.b=new Int32Array(this.v,0,this.size>>2),ud(this,Dd?Ed:Fd);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;ud(this,Gd)}else ud(this)}h=M.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(wb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(wb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ta=!0}return!1};function ud(a,b){b||(b=Hd);Id(a,b,void 0);Jd(a,b,void 0)}function Id(a,b,c){c&&a.F||(a.sb=b[0]||a.Cc,a.ja=b[2]||a.Dc);if(c||void 0===c)a.j=b[0]||a.Cc,a.C=b[2]||a.Dc}function Jd(a,b,c){c&&a.i||(a.ub=!a.J&&b[1]||a.Ib,a.vb=!a.J&&b[3]||a.kc);if(c||void 0===c)a.D=b[1]||a.Ib,a.G=b[3]||a.kc}
h.ob=function(a,b){b?this.i++||Jd(this,Kd,!1):this.F++||Id(this,Kd,!1)};function Ld(a,b){b?--a.i||(a.ub=a.J?a.Ib:a.D,a.vb=a.J?a.kc:a.G):--a.F||(a.sb=a.j,a.ja=a.C)}function Kc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Id(a,Kd,!1),(a.i=c.i)&&Jd(a,Kd,!1))}h.Cc=function(a,b){this.f&&I(this.f,32)&&J(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.B.La(b,32,2);return 255};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(wb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ta=!0}return!1};function ud(a,b){b||(b=Hd);Id(a,b,void 0);Jd(a,b,void 0)}function Id(a,b,c){c&&a.F||(a.sb=b[0]||a.Cc,a.ka=b[2]||a.Dc);if(c||void 0===c)a.j=b[0]||a.Cc,a.C=b[2]||a.Dc}function Jd(a,b,c){c&&a.i||(a.ub=!a.J&&b[1]||a.Ib,a.vb=!a.J&&b[3]||a.kc);if(c||void 0===c)a.D=b[1]||a.Ib,a.G=b[3]||a.kc}
h.ob=function(a,b){b?this.i++||Jd(this,Kd,!1):this.F++||Id(this,Kd,!1)};function Ld(a,b){b?--a.i||(a.ub=a.J?a.Ib:a.D,a.vb=a.J?a.kc:a.G):--a.F||(a.sb=a.j,a.ka=a.C)}function Kc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Id(a,Kd,!1),(a.i=c.i)&&Jd(a,Kd,!1))}h.Cc=function(a,b){this.f&&I(this.f,32)&&J(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.B.La(b,32,2);return 255};
h.Ib=function(a,b,c){this.f&&I(this.f,32)&&J(this.f,"attempt to write "+O(this.f,b)+" to invalid addresses "+O(this.f,c),!0);this.B.La(c,32,4)};h.Dc=function(a,b){return this.sb(a++,b++)|this.sb(a,b)<<8};h.kc=function(a,b,c){this.ub(a++,b&255,c++);this.ub(a,b>>8,c)};h.ce=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.cf=function(a,b){Ab&&a&1&&this.B.La(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
h.nf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Ta=!0};h.kg=function(a,b,c){Ab&&a&1&&this.B.La(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ta=!0};h.ae=function(a,b){this.f&&null!=this.K&&Md(this.f,this.K+a);return this.j(a,b)};h.Ze=function(a,b){this.f&&null!=this.K&&Md(this.f,this.K+a,2);return this.C(a,b)};
h.lf=function(a,b,c){this.f&&null!=this.K&&Nd(this.f,this.K+a);this.J?this.Ib(0,b,c):this.D(a,b,c)};h.ig=function(a,b,c){this.f&&null!=this.K&&Nd(this.f,this.K+a,2);this.J?this.Ib(0,b,c):this.G(a,b,c)};h.$d=function(a){return this.g[a]};h.be=function(a,b){a=this.g[a];this.f&&I(this.f,32)&&J(this.f,"Memory.readByte("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.Ye=function(a,b){Ab&&a&1&&this.B.La(b,64,2);return this.w.getUint16(a,!0)};
h.bf=function(a,b){Ab&&a&1&&this.B.La(b,64,2);a=!Bb&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&I(this.f,32)&&J(this.f,"Memory.readWord("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.kf=function(a,b){this.g[a]=b;this.Ta=!0};h.mf=function(a,b,c){this.g[a]=b;this.Ta=!0;this.f&&I(this.f,32)&&J(this.f,"Memory.writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0)};h.hg=function(a,b,c){Ab&&a&1&&this.B.La(c,64,4);this.w.setUint16(a,b,!0);this.Ta=!0};
h.jg=function(a,b,c){Ab&&a&1&&this.B.La(c,64,4);!Bb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Ta=!0;this.f&&I(this.f,32)&&J(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var sd=0,Wc=1,td=2,Mc=4,Qc=["NONE","RAM","ROM","VID","H/W"],rd=0,Hd=[],Gd=[M.prototype.ce,M.prototype.nf,M.prototype.cf,M.prototype.kg],Kd=[M.prototype.ae,M.prototype.lf,M.prototype.Ze,M.prototype.ig];
if(wb)var Fd=[M.prototype.$d,M.prototype.kf,M.prototype.Ye,M.prototype.hg],Ed=[M.prototype.be,M.prototype.mf,M.prototype.bf,M.prototype.jg];var Od;if(wb){var Pd=new ArrayBuffer(2);(new DataView(Pd)).setUint16(0,256,!0);Od=256===(new Uint16Array(Pd))[0]}else Od=!1;var Dd=Od;
function Qd(a,b){A.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.oc=0;this.ic=b;this.Za=c;this.vc=Math.round(this.ic/1E4)/100;this.nb=this.vc*this.Za;this.wc=this.Sb=this.hb=this.jc=0;this.A.U=!1;this.A.fc=!1;this.A.Ia=a.autoStart;"string"==typeof this.A.Ia&&(this.A.Ia="true"==this.A.Ia);this.A.zb=!1;this.Qb=this.Bb=0;this.Rb=+a.csStart;this.Ab=+a.csInterval;this.Cb=+a.csStop;this.Da=[];this.Tc=this.gf.bind(this);this.$a=this.Ha=this.Ya=this.b=this.da=this.Ga=this.Pb=this.Xa=this.Db=
this.xc=this.mb=0;this.pa=null;H(this)}p(Qd,A);h=Qd.prototype;h.ra=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.pa=a.i;for(a=0;a<Rd.length;a++)(b=this.B[Rd[a]])&&this.J.oa(null,Rd[a],b);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.sa=function(a,b){var c=Sd(this.J,"autoStart");null!=c?this.A.Ia="true"==c?!0:"false"==c?!1:!!c:null==this.A.Ia&&(this.A.Ia=!this.F&&void 0===this.B.run);if(!b){if(a&&this.restore){Td(this);if(!this.restore(a))return!1;Ud(this)}else this.reset();this.F?(a=this.F,b=this.A.Ia,a.Da=!0,a.u("Type ? for help with PDPjs Debugger commands"),Vd(a),b||Wd(a),a.ua&&(b=a.ua,a.ua=null,Xd(a,b))):this.u("No debugger detected");this.A.Ia||this.u("CPU will not be auto-started "+(this.pa?"(click Run to start)":"(type 'go' to start)"))}return!0};
function Qd(a,b){A.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.oc=0;this.ic=b;this.Za=c;this.vc=Math.round(this.ic/1E4)/100;this.nb=this.vc*this.Za;this.wc=this.Sb=this.hb=this.jc=0;this.A.U=!1;this.A.fc=!1;this.A.Ia=a.autoStart;"string"==typeof this.A.Ia&&(this.A.Ia="true"==this.A.Ia);this.A.zb=!1;this.Qb=this.Bb=0;this.Rb=+a.csStart;this.Ab=+a.csInterval;this.Cb=+a.csStop;this.Da=[];this.Tc=this.gf.bind(this);this.$a=this.Ha=this.Ya=this.b=this.ga=this.Ga=this.Pb=this.Xa=this.Db=
this.xc=this.mb=0;this.qa=null;H(this)}p(Qd,A);h=Qd.prototype;h.sa=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.qa=a.i;for(a=0;a<Rd.length;a++)(b=this.B[Rd[a]])&&this.J.pa(null,Rd[a],b);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ta=function(a,b){var c=Sd(this.J,"autoStart");null!=c?this.A.Ia="true"==c?!0:"false"==c?!1:!!c:null==this.A.Ia&&(this.A.Ia=!this.F&&void 0===this.B.run);if(!b){if(a&&this.restore){Td(this);if(!this.restore(a))return!1;Ud(this)}else this.reset();this.F?(a=this.F,b=this.A.Ia,a.Da=!0,a.u("Type ? for help with PDPjs Debugger commands"),Vd(a),b||Wd(a),a.va&&(b=a.va,a.va=null,Xd(a,b))):this.u("No debugger detected");this.A.Ia||this.u("CPU will not be auto-started "+(this.qa?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.Ca=function(a){return a?this.save():!0};h.Ia=function(){return this.A.U?!0:this.A.Ia?(cc(this),!0):!1};h.gd=function(){return 0};function Ud(a){void 0===a.Rb&&(a.Rb=0);void 0===a.Ab&&(a.Ab=-1);void 0===a.Cb&&(a.Cb=-1);a.A.zb=0<=a.Rb&&0<a.Ab;a.A.zb&&(a.Qb=0,a.Bb=a.Rb-a.$a)}function gc(a,b){if(a.A.zb){var c=!1;a.Qb=a.Qb+a.gd()|0;a.Bb-=b;0>=a.Bb&&(a.Bb+=a.Ab,c=!0);0<=a.Cb&&a.Cb<=Yd(a)&&(a.Ab=a.Cb=-1,Ud(a),a.Z(),c=!0);c&&a.u(Yd(a)+" cycles: checksum="+v(a.Qb))}}
h.oa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.B[b]=c,!0;case "run":return this.B[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=nb(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);Da("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():cc(d))},!0;
case "speed":return this.B[b]=c,!0;case "setSpeed":return this.B[b]=c,c.onclick=function(){Zd(d,d.Za<<1,!0)},c.textContent=this.nb.toFixed(2)+"Mhz",!0}return!1};function fc(a,b,c){a.$a+=b;c&&(a.Ya=a.b=a.da=0)}function $d(a,b){var c=1;b&&1<a.Za&&a.mb&&(c=a.mb/a.vc);a.wc=Math.round(1E3/ae);a.Sb=Math.floor(a.ic/ae*c);b||(a.hb=a.Sb);a.jc=0}function Yd(a){return a.$a+a.Ha+a.Ya-a.b}function Td(a){a.mb=0;a.xc=0;a.$a=a.Ha=a.Ya=a.b=a.da=0;Ud(a);Zd(a,1)}
h.pa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.B[b]=c,!0;case "run":return this.B[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=nb(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);Da("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():cc(d))},!0;
case "speed":return this.B[b]=c,!0;case "setSpeed":return this.B[b]=c,c.onclick=function(){Zd(d,d.Za<<1,!0)},c.textContent=this.nb.toFixed(2)+"Mhz",!0}return!1};function fc(a,b,c){a.$a+=b;c&&(a.Ya=a.b=a.ga=0)}function $d(a,b){var c=1;b&&1<a.Za&&a.mb&&(c=a.mb/a.vc);a.wc=Math.round(1E3/ae);a.Sb=Math.floor(a.ic/ae*c);b||(a.hb=a.Sb);a.jc=0}function Yd(a){return a.$a+a.Ha+a.Ya-a.b}function Td(a){a.mb=0;a.xc=0;a.$a=a.Ha=a.Ya=a.b=a.ga=0;Ud(a);Zd(a,1)}
function Zd(a,b,c){var d=!1;if(void 0!==b){.8>a.mb/a.nb?b=1:d=!0;a.Za=b;b=a.vc*a.Za;if(a.nb!=b){a.nb=b;b=a.nb.toFixed(2)+"Mhz";var e=a.B.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.J&&be(a.J)}fc(a,a.Ha);a.Ha=0;a.Ga=ya();a.Xa=0;$d(a);return d}function $c(a,b){var c=a.Da.length;a.Da.push([-1,b]);return c}function bd(a,b,c,d){0<=b&&b<a.Da.length&&(d||0>a.Da[b][0])&&(c=a.ic*a.Za/1E3*c|0,a.A.U&&(c+=ce(a)),a.Da[b][0]=c)}
function de(a,b){for(var c=a.Da.length-1;0<=c;c--){var d=a.Da[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ec(a,b){for(var c=a.Da.length-1;0<=c;c--){var d=a.Da[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ce(a,b){var c=a.Ya-=a.b;a.b=a.da=0;b&&(a.Ya=0);return c}
function de(a,b){for(var c=a.Da.length-1;0<=c;c--){var d=a.Da[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ec(a,b){for(var c=a.Da.length-1;0<=c;c--){var d=a.Da[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ce(a,b){var c=a.Ya-=a.b;a.b=a.ga=0;b&&(a.Ya=0);return c}
h.gf=function(){if(this.A.U){this.jc>=this.ic&&$d(this,!0);this.Db=0;this.Pb=ya();if(this.Xa){var a=this.Pb-this.Xa;a>this.wc&&(this.Ga+=a,this.Ga>this.Pb&&(this.Ga=this.Pb))}try{do{var b=de(this,this.A.zb?1:this.Sb);try{this.$b(b)}catch(e){if("number"!=typeof e)throw e;}b=ce(this,!0);this.Db+=b;this.Ha+=b;gc(this,b);ec(this,b);this.hb-=b;if(0>=this.hb){this.hb+=this.Sb;++this.xc>=ee&&(this.J&&L(this.J,void 0),this.xc=0);break}}while(this.A.U)}catch(e){this.Z();this.J&&this.J.stop(ya(),Yd(this));
rb(this,e.stack||e.message);return}if(this.A.U){a=setTimeout;b=this.Tc;this.Xa=ya();var c=this.wc;this.Db&&(c=Math.round(c*this.Db/this.Sb));var c=c-(this.Xa-this.Pb),d=this.Xa-this.Ga;d&&(this.mb=Math.round(this.Ha/(10*d))/100,864E5<=d&&(this.$a=0,Zd(this)));if(0>c||this.mb<this.nb)-1E3>c&&(this.Ga-=c),c=0;this.jc+=this.Db;this.Xa+=c;a(b,c)}}};
function cc(a,b){if(!sb(a))if(a.A.U)a.u(a.toString()+" busy");else{Zd(a);a.A.U=!0;a.A.fc=!0;var c=a.B.run;c&&(c.textContent="Halt");a.J&&(b&&be(a.J,!0),a.J.start(a.Ga,Yd(a)));a.F||a.status("Started");setTimeout(a.Tc,0)}}h.$b=function(){return 0};h.Z=function(a){var b=!1;if(this.A.U){ce(this);fc(this,this.Ha);this.Ha=0;this.A.U=!1;if(b=this.B.run)b.textContent="Run";this.J&&this.J.stop(ya(),Yd(this));b=!0;this.F||this.status("Stopped")}this.A.complete=a;return b};var ae=30,ee=15,Rd=["power","reset"];
function fe(a){var b=+a.model||1170;Qd.call(this,a,6666667);this.Aa=b;this.Qc=+a.addrReset||0;this.w=this.G=this.H=this.L=this.I=0;this.g=this.qa=this.X=[];this.O=0;this.uc=[];this.C=this.N=this.Sa=this.nc=[];this.lc=this.jb=this.P=this.Pc=this.Wa=this.xb=this.yb=this.Fa=this.R=this.bb=this.Ba=this.S=this.Wb=this.Xb=this.T=this.ab=this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.Sc=255;1120>=this.Aa?(this.Oc=ge.bind(this),this.wb=this.Ld,this.lc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
he.bind(this),this.wb=this.Md,this.Xc=~(1792|(1145>this.Aa?2048:0))&65535,this.Uc=1145<=this.Aa?2048:0);this.ma=0;this.la=null;this.tc=[];this.A.complete=!1;this.Mb=this.pc=this.fd;this.Nb=this.qc=this.ld;this.gc=this.rc=this.pd;this.Ob=this.sc=this.qd;this.Ea=this.ib=this.Tb=this.Vb=0;this.ua=this.kd;this.ja=this.Ec;this.vb=this.Hc;this.Zc=this.Yc=0}p(fe,Qd);h=fe.prototype;
h.ra=function(a,b,c,d){Qd.prototype.ra.call(this,a,b,c,d);this.pc=b.Jc.bind(b);this.qc=b.Zb.bind(b);this.rc=b.Kc.bind(b);this.sc=b.Lb.bind(b)};h.sa=function(a,b){for(var c=192,d=0;d<this.tc.length;d++){var e=this.tc[d];0>e.Yb&&(e.Yb=c,c+=4)}return Qd.prototype.sa.call(this,a,b)};
h.reset=function(){this.status("Model "+this.Aa);this.A.U&&this.Z();this.G=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Qc,-1,-2,-3,-4,-5,-6,-7,-8];this.qa=[0,0,0,0,0,0];this.X=[0,0,0,0];this.O=0;this.uc=[4,2,0,1];this.C=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.N=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Sa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.nc=[0,0,0,0,0,0,0,0];this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.ab=-1;ac(this);Td(this);this.A.error=!1;Qd.prototype.reset.call(this)};function ac(a){a.S=0;a.Wb=0;a.Xb=0;a.T=0;a.R=0;a.bb=0;a.Ba=255;a.Wa=0;a.xb=0;a.yb=0;a.Fa=262143;a.jb=a.g[7];a.P=0;a.la=null;a.D&&(ie(a),a.Pc=Vc(a.D))}
function ie(a){a.Mb=a.pc;a.Nb=a.qc;a.gc=a.rc;a.Ob=a.sc;a.Tb&&(a.Mb=a.fd,a.Nb=a.ld);a.Vb&&(a.gc=a.pd,a.Ob=a.qd);a.Wa?(a.Ea=65536,a.ib=a.T&16?4186112:253952,a.ua=a.kd,a.ja=a.Tb?a.af:a.Ec,a.vb=a.Vb?a.mg:a.Hc,Nc(a.D,a.T&16?22:18)):(a.Ea=0,a.ib=57344,a.ua=a.Od,a.ja=a.Tb?a.$e:a.od,a.vb=a.Vb?a.lg:a.td,Nc(a.D,16))}function hd(a){var b=a.S;b&57344||(b=b&-3199|a.xb<<5|a.yb<<1);return b}
function id(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Wb=a.P>>16&65535,a.Xb=a.P&65535);a.S=b;a.xb=(b&96)>>5;a.yb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Wa!=c&&(a.Wa=c,ie(a))}}function jd(a){a.S&57344||(a.Wb=a.P>>16&65535);a=a.Wb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function kd(a){a.S&57344||(a.Xb=a.P&65535);return a.Xb}function ld(a,b){1170>a.Aa&&(b&=-49);a.T!=b&&(a.T=b,a.Fa=b&16?4194303:262143,ie(a))}
function je(a,b,c){a.Qc=b;a.D.reset();ac(a);ke(a,b);od(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||cc(a)}else a.F?a.Z()||Vd(a.F):!1===c&&a.Z();!a.A.U&&a.pa&&a.pa.stop()}h.gd=function(){return 0};h.save=function(){var a=new le(this);a.set(0,[this.g,this.qa,this.X,this.Sa,this.nc,this.R,this.mc,this.bb,this.Ba,nd(this),this.ab,this.O,this.i,this.S,this.Wb,this.Xb,this.T,this.xb,this.yb,this.C,this.N,this.Wa,this.Fa,this.jb,this.P]);a.set(1,[this.$a,this.Za]);a.set(2,Uc(this.D));return a.data()};
function fe(a){var b=+a.model||1170;Qd.call(this,a,6666667);this.ba=b;this.Qc=+a.addrReset||0;this.w=this.G=this.H=this.L=this.I=0;this.g=this.ra=this.X=[];this.O=0;this.uc=[];this.C=this.N=this.Sa=this.nc=[];this.lc=this.jb=this.P=this.Pc=this.Wa=this.xb=this.yb=this.Fa=this.R=this.bb=this.Ba=this.S=this.Wb=this.Xb=this.T=this.ab=this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.Sc=255;1120>=this.ba?(this.Oc=ge.bind(this),this.wb=this.Ld,this.lc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
he.bind(this),this.wb=this.Md,this.Xc=~(1792|(1140>=this.ba?2048:0))&65535,this.Uc=1140<this.ba?2048:0);this.na=0;this.ma=null;this.tc=[];this.A.complete=!1;this.Mb=this.pc=this.fd;this.Nb=this.qc=this.ld;this.gc=this.rc=this.pd;this.Ob=this.sc=this.qd;this.Ea=this.ib=this.Tb=this.Vb=0;this.va=this.kd;this.ka=this.Ec;this.vb=this.Hc;this.Zc=this.Yc=0}p(fe,Qd);h=fe.prototype;
h.sa=function(a,b,c,d){Qd.prototype.sa.call(this,a,b,c,d);this.pc=b.Jc.bind(b);this.qc=b.Zb.bind(b);this.rc=b.Kc.bind(b);this.sc=b.Lb.bind(b)};h.ta=function(a,b){for(var c=192,d=0;d<this.tc.length;d++){var e=this.tc[d];0>e.Yb&&(e.Yb=c,c+=4)}return Qd.prototype.ta.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ba);this.A.U&&this.Z();this.G=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Qc,-1,-2,-3,-4,-5,-6,-7,-8];this.ra=[0,0,0,0,0,0];this.X=[0,0,0,0];this.O=0;this.uc=[4,2,0,1];this.C=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.N=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Sa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.nc=[0,0,0,0,0,0,0,0];this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.ab=-1;ac(this);Td(this);this.A.error=!1;Qd.prototype.reset.call(this)};function ac(a){a.S=0;a.Wb=0;a.Xb=0;a.T=0;a.R=0;a.bb=0;a.Ba=255;a.Wa=0;a.xb=0;a.yb=0;a.Fa=262143;a.jb=a.g[7];a.P=0;a.ma=null;a.D&&(ie(a),a.Pc=Vc(a.D))}
function ie(a){a.Mb=a.pc;a.Nb=a.qc;a.gc=a.rc;a.Ob=a.sc;a.Tb&&(a.Mb=a.fd,a.Nb=a.ld);a.Vb&&(a.gc=a.pd,a.Ob=a.qd);a.Wa?(a.Ea=65536,a.ib=a.T&16?4186112:253952,a.va=a.kd,a.ka=a.Tb?a.af:a.Ec,a.vb=a.Vb?a.mg:a.Hc,Nc(a.D,a.T&16?22:18)):(a.Ea=0,a.ib=57344,a.va=a.Od,a.ka=a.Tb?a.$e:a.od,a.vb=a.Vb?a.lg:a.td,Nc(a.D,16))}function hd(a){var b=a.S;b&57344||(b=b&-3199|a.xb<<5|a.yb<<1);return b}
function id(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Wb=a.P>>16&65535,a.Xb=a.P&65535);a.S=b;a.xb=(b&96)>>5;a.yb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Wa!=c&&(a.Wa=c,ie(a))}}function jd(a){a.S&57344||(a.Wb=a.P>>16&65535);a=a.Wb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function kd(a){a.S&57344||(a.Xb=a.P&65535);return a.Xb}function ld(a,b){1170>a.ba&&(b&=-49);a.T!=b&&(a.T=b,a.Fa=b&16?4194303:262143,ie(a))}
function je(a,b,c){a.Qc=b;a.D.reset();ac(a);ke(a,b);od(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||cc(a)}else a.F?a.Z()||Vd(a.F):!1===c&&a.Z();!a.A.U&&a.qa&&a.qa.stop()}h.gd=function(){return 0};h.save=function(){var a=new le(this);a.set(0,[this.g,this.ra,this.X,this.Sa,this.nc,this.R,this.mc,this.bb,this.Ba,nd(this),this.ab,this.O,this.i,this.S,this.Wb,this.Xb,this.T,this.xb,this.yb,this.C,this.N,this.Wa,this.Fa,this.jb,this.P]);a.set(1,[this.$a,this.Za]);a.set(2,Uc(this.D));return a.data()};
h.restore=function(a){var b=a[1];this.$a=b[1];Zd(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.S){for(var f=0,g=Array(b.S),k=0;k<e.length-1;)for(var l=e[k++],m=e[k++];l--;)g[f++]=m;e=g}f=b.b[d];if(!f||!f.restore(e)){y("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function me(a){return a.G&65536?1:0}function ne(a){return a.H&32768?2:0}function oe(a){return a.L&65535?0:4}function pe(a){return a.I&32768?8:0}
function qe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(ke(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function ke(a,b){a.g[7]=b&65535}function cd(a,b,c,d){c={Yb:b,fb:c,message:d||0,next:null};c.name=Db[b];a.tc.push(c);return c}function re(a,b){var c=a.la;if(c==b)a.la=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.la&&(a.i|=1)}
function ad(a,b){if(b){if(b!=a.la){var c=a.la;if(!c||c.fb<=b.fb)b.next=c,a.la=b;else{do{var d=c.next;if(!d||d.fb<=b.fb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&I(a,b.message|8)&&J(a,"setIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0)}}function gd(a,b){b&&(re(a,b),b.message&&I(a,b.message|8)&&J(a,"clearIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0))}function se(a){return a.i&64?(a.ka(168,64,-6),!0):a.i&32?(a.ka(4,32,-5),!0):a.i&16?(a.ka(12,16,-7),!0):!1}
function nd(a){return a.w=a.w&63728|pe(a)|oe(a)|ne(a)|me(a)}function od(a,b){b&=a.Xc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Uc)for(var c=a.qa.length;0<=--c;){var d=a.g[c];a.g[c]=a.qa[c];a.qa[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.O]);a.w=b;a.i&=-3;a.i|=a.la?2:1}function md(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.bb=b}h.za=function(a){this.I=this.L=a;this.H=0};h.gb=function(a,b){this.I=this.L=this.G=a;this.H=b||0};
function qe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(ke(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function ke(a,b){a.g[7]=b&65535}function cd(a,b,c,d){c={Yb:b,fb:c,message:d||0,next:null};c.name=Db[b];a.tc.push(c);return c}function re(a,b){var c=a.ma;if(c==b)a.ma=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.ma&&(a.i|=1)}
function ad(a,b){if(b){if(b!=a.ma){var c=a.ma;if(!c||c.fb<=b.fb)b.next=c,a.ma=b;else{do{var d=c.next;if(!d||d.fb<=b.fb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&I(a,b.message|8)&&J(a,"setIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0)}}function gd(a,b){b&&(re(a,b),b.message&&I(a,b.message|8)&&J(a,"clearIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0))}function se(a){return a.i&64?(a.la(168,64,-6),!0):a.i&32?(a.la(4,32,-5),!0):a.i&16?(a.la(12,16,-7),!0):!1}
function nd(a){return a.w=a.w&63728|pe(a)|oe(a)|ne(a)|me(a)}function od(a,b){b&=a.Xc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Uc)for(var c=a.ra.length;0<=--c;){var d=a.g[c];a.g[c]=a.ra[c];a.ra[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.O]);a.w=b;a.i&=-3;a.i|=a.ma?2:1}function md(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.bb=b}h.Aa=function(a){this.I=this.L=a;this.H=0};h.gb=function(a,b){this.I=this.L=this.G=a;this.H=b||0};
function te(a,b){a.I=a.L=a.G=b;a.H=a.I^a.G>>1}function ue(a,b,c,d){a.I=a.L=a.G=b;a.H=(c^d)&(d^b)}
h.ka=function(a,b,c){if(!this.ma){0>this.ab?this.ab=nd(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.ja(a|this.Ea),e=this.ja(a+2&65535|this.Ea);od(this,e&-12289|this.ab>>2&12288);ve(this,this.ab);ve(this,this.g[7]);ke(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.ab=-1;this.Zc=a;this.Yc=c;-1==c&&this.Z();if(-4<=c)throw a;}};
h.la=function(a,b,c){if(!this.na){0>this.ab?this.ab=nd(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.ka(a|this.Ea),e=this.ka(a+2&65535|this.Ea);od(this,e&-12289|this.ab>>2&12288);ve(this,this.ab);ve(this,this.g[7]);ke(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.ab=-1;this.Zc=a;this.Yc=c;-1==c&&this.Z();if(-4<=c)throw a;}};
function we(a){var b=xe(a),c=xe(a);a.w&49152&&(c=c&-225|a.w&63712);ke(a,b);od(a,c);a.i&=-17}function ye(a,b){var c=b>>13&31;31>c&&(b=a.T&32?a.Sa[c]+(b&8191)&4194303:b&-3932161);return b}
function ze(a,b,c){var d=[];if(c){c=ye(a,b);var e=b>>13&31;d.push(c);d.push(e);a.T&32&&(d.push(a.Sa[e]),d.push(b&8191))}else if(a.Wa){var e=a.O<<1,f=b>>13;7<f&&(e|=1);a.T&a.uc[a.O]||(f&=7);b&=8191;var g=a.N[a.O][f]<<6;c=g+b&a.Fa;3932160<=c&&(c=ye(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.Fa)}else c=b&65535,57344<=c&&(c|=a.ib),d.push(c);return d}
function kc(a,b,c){var d,e,f;if(!(c&a.Wa))return f=b&65535,57344<=f&&(f|=a.ib),f;d=b>>13;a.T&a.uc[a.O]||(d&=7);e=a.C[a.O][d];f=(a.N[a.O][d]<<6)+(b&8191)&a.Fa;3932160<=f&&(f=ye(a,f));if(a.ma)return f;f>=a.Pc&&f<a.ib?(a.R|=32,a.ka(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ka(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.C[a.O][d]=e;if(f!=(4194170&a.Fa)||a.O)a.xb=a.O,a.yb=d;g&&(g&57344&&(0<=a.ab&&(g|=128),a.S&57344||(g|=a.S&4096|a.xb<<5|a.yb<<1,id(a,a.S&-61695|g&61694)),a.ka(168,64,-2)),a.S&61440||!(f<(4191360&a.Fa)||f>(4194239&a.Fa))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function xe(a){var b=a.ja(a.g[6]|a.Ea);a.g[6]=a.g[6]+2&65535;return b}function ve(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.wb(4,-2,c);a.vb(c,b)}
function Ae(a,b,c,d){var e,f,g=d&8?0:a.Ea;switch(b){case 0:return a.ka(4,0,-3),0;case 1:return 6==c&&a.wb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.wb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ja(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.wb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ja(e)|g;a.b-=8;break;case 6:return e=a.ja(qe(a,2)),e=e+a.g[c]&65535,6==c&&a.wb(d,
0,e),a.b-=6,e|g;case 7:return e=a.ja(qe(a,2)),e=e+a.g[c]&65535,e=a.ja(e|a.Ea),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.O&&0>=b&&c<=this.Ba&&(this.i|=32)};h.Md=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.Ba&&(c<=this.Ba-32?this.ka(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Md(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Md(this.F,a,2);return this.qc(a)};
h.pd=function(a,b){this.F&&Nd(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Nd(this.F,a,2);this.sc(a,b)};function mc(a,b){a.ma++;b=a.D.Zb(kc(a,b,2));a.ma--;return b}function Be(a,b){(b?--a.Vb:--a.Tb)||ie(a)}h.Od=function(a,b,c){return Ae(this,a,b,c)};h.kd=function(a,b,c){return kc(this,Ae(this,a,b,c),c)};h.od=function(a){return this.D.Zb(this.jb=a)};h.$e=function(a){this.F&&Md(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.Zb(this.jb=kc(this,a,2))};
h.af=function(a){this.F&&Md(this.F,a,2);return this.Ec(a)};h.td=function(a,b){this.D.Lb(this.jb=a,b)};h.lg=function(a,b){this.F&&Nd(this.F,a,2);this.td(a,b)};h.Hc=function(a,b){this.D.Lb(this.jb=kc(this,a,4),b)};h.mg=function(a,b){this.F&&Nd(this.F,a,2);this.Hc(a,b)};function Ce(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=Ae(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.ja(d|c&a.Ea),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c}
function De(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=Ae(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=kc(a,e|c&65536,4),a.O=a.w>>14&3,a.Ob(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Ee(a,b){b>>=6;var c=a.Y=b&7;return(b=a.V=(b&56)>>3)?a.Mb(a.ua(b,c,3)):a.g[c+a.lc]&a.Sc}function Fe(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.V=(b&56)>>3)?c=a.Nb(a.ua(b,d,2)):c=a.g[d+a.lc];return c}function Ge(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return Ae(a,b,c,8)}
function He(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Mb(a.ua(b,c,3)):a.g[c]&255}function Ie(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Nb(a.ua(b,d,2)):c=a.g[d];return c}function Je(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.hc=a.ua(b,e,7),c=0>c?a.g[-c-1]&255:c,a.gc(e,d.call(a,c,a.Mb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function T(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ua(b,e,6),a.Ob(e,d.call(a,0>c?a.g[-c-1]:c,a.Nb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function Ke(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.ua(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.gc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function ff(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ua(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Ob(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.$b=function(a){this.A.complete=!0;var b=this.F?gf(this.F)?1:this.A.fc?-1:0:0,c=a?this.A.fc?0:1:-1;this.A.fc=!1;this.Ya=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(hf(this.F,this.g[7],c)){this.Z();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.bb&224)>>5,f=this.la&&this.la.fb>e?this.la:null;f&&(d=f.Yb,e=f.fb);e>(this.w&224)>>5?(this.i&8&&(qe(this,2),this.i&=-9),this.ka(d,0,-10),e=!0):e=!1;e&&(f&&re(this,f),a=!0);this.la||this.bb||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&hf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}if(this.i&112&&se(this)){if(this.i&4&&hf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ja(a);this.g[7]=a+2&65535;this.Oc(f)}while(0<this.b);return this.A.complete?this.Ya-this.b:void 0===this.A.complete?0:-1};Xa(function(){for(var a=G(document,E,"cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new fe(d);qb(d,c)}});
function jf(a,b){var c=b+a;this.I=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function kf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.G=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function lf(a,b){a=b<<1;te(this,a);return a&65535}function mf(a,b){a=b<<1;te(this,a<<8);return a&255}function nf(a,b){a=b&32768|b>>1|b<<16;te(this,a);return a&65535}function of(a,b){a=b&128|b>>1|b<<8;te(this,a<<8);return a&255}function pf(a,b){a=b&~a;this.za(a);return a}function qf(a,b){a=b&~a;this.za(a<<8);return a}
function rf(a,b){a|=b;this.za(a);return a}function sf(a,b){a|=b;this.za(a<<8);return a}function tf(a,b){a=~b|65536;this.gb(a);return a&65535}function uf(a,b){a=~b|256;this.gb(a<<8);return a&255}function vf(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function wf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function xf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function yf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function kc(a,b,c){var d,e,f;if(!(c&a.Wa))return f=b&65535,57344<=f&&(f|=a.ib),f;d=b>>13;a.T&a.uc[a.O]||(d&=7);e=a.C[a.O][d];f=(a.N[a.O][d]<<6)+(b&8191)&a.Fa;3932160<=f&&(f=ye(a,f));if(a.na)return f;f>=a.Pc&&f<a.ib?(a.R|=32,a.la(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.la(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.C[a.O][d]=e;if(f!=(4194170&a.Fa)||a.O)a.xb=a.O,a.yb=d;g&&(g&57344&&(0<=a.ab&&(g|=128),a.S&57344||(g|=a.S&4096|a.xb<<5|a.yb<<1,id(a,a.S&-61695|g&61694)),a.la(168,64,-2)),a.S&61440||!(f<(4191360&a.Fa)||f>(4194239&a.Fa))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function xe(a){var b=a.ka(a.g[6]|a.Ea);a.g[6]=a.g[6]+2&65535;return b}function ve(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.wb(4,-2,c);a.vb(c,b)}
function Ae(a,b,c,d){var e,f,g=d&8?0:a.Ea;switch(b){case 0:return a.la(4,0,-3),0;case 1:return 6==c&&a.wb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.wb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ka(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.wb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ka(e)|g;a.b-=8;break;case 6:return e=a.ka(qe(a,2)),e=e+a.g[c]&65535,6==c&&a.wb(d,
0,e),a.b-=6,e|g;case 7:return e=a.ka(qe(a,2)),e=e+a.g[c]&65535,e=a.ka(e|a.Ea),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.O&&0>=b&&c<=this.Ba&&(this.i|=32)};h.Md=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.Ba&&(c<=this.Ba-32?this.la(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Md(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Md(this.F,a,2);return this.qc(a)};
h.pd=function(a,b){this.F&&Nd(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Nd(this.F,a,2);this.sc(a,b)};function mc(a,b){a.na++;b=a.D.Zb(kc(a,b,2));a.na--;return b}function Be(a,b){(b?--a.Vb:--a.Tb)||ie(a)}h.Od=function(a,b,c){return Ae(this,a,b,c)};h.kd=function(a,b,c){return kc(this,Ae(this,a,b,c),c)};h.od=function(a){return this.D.Zb(this.jb=a)};h.$e=function(a){this.F&&Md(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.Zb(this.jb=kc(this,a,2))};
h.af=function(a){this.F&&Md(this.F,a,2);return this.Ec(a)};h.td=function(a,b){this.D.Lb(this.jb=a,b)};h.lg=function(a,b){this.F&&Nd(this.F,a,2);this.td(a,b)};h.Hc=function(a,b){this.D.Lb(this.jb=kc(this,a,4),b)};h.mg=function(a,b){this.F&&Nd(this.F,a,2);this.Hc(a,b)};function Ce(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=Ae(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.ka(d|c&a.Ea),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c}
function De(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=Ae(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=kc(a,e|c&65536,4),a.O=a.w>>14&3,a.Ob(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Ee(a,b){b>>=6;var c=a.Y=b&7;return(b=a.V=(b&56)>>3)?a.Mb(a.va(b,c,3)):a.g[c+a.lc]&a.Sc}function Fe(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.V=(b&56)>>3)?c=a.Nb(a.va(b,d,2)):c=a.g[d+a.lc];return c}function Ge(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return Ae(a,b,c,8)}
function He(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Mb(a.va(b,c,3)):a.g[c]&255}function Ie(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Nb(a.va(b,d,2)):c=a.g[d];return c}function Je(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.hc=a.va(b,e,7),c=0>c?a.g[-c-1]&255:c,a.gc(e,d.call(a,c,a.Mb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function T(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.va(b,e,6),a.Ob(e,d.call(a,0>c?a.g[-c-1]:c,a.Nb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function Ke(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.va(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.gc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function ff(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.va(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Ob(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.$b=function(a){this.A.complete=!0;var b=this.F?gf(this.F)?1:this.A.fc?-1:0:0,c=a?this.A.fc?0:1:-1;this.A.fc=!1;this.Ya=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(hf(this.F,this.g[7],c)){this.Z();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.bb&224)>>5,f=this.ma&&this.ma.fb>e?this.ma:null;f&&(d=f.Yb,e=f.fb);e>(this.w&224)>>5?(this.i&8&&(qe(this,2),this.i&=-9),this.la(d,0,-10),e=!0):e=!1;e&&(f&&re(this,f),a=!0);this.ma||this.bb||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&hf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}if(this.i&112&&se(this)){if(this.i&4&&hf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ka(a);this.g[7]=a+2&65535;this.Oc(f)}while(0<this.b);return this.A.complete?this.Ya-this.b:void 0===this.A.complete?0:-1};Xa(function(){for(var a=G(document,E,"cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new fe(d);qb(d,c)}});
function jf(a,b){var c=b+a;this.I=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function kf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.G=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function lf(a,b){a=b<<1;te(this,a);return a&65535}function mf(a,b){a=b<<1;te(this,a<<8);return a&255}function nf(a,b){a=b&32768|b>>1|b<<16;te(this,a);return a&65535}function of(a,b){a=b&128|b>>1|b<<8;te(this,a<<8);return a&255}function pf(a,b){a=b&~a;this.Aa(a);return a}function qf(a,b){a=b&~a;this.Aa(a<<8);return a}
function rf(a,b){a|=b;this.Aa(a);return a}function sf(a,b){a|=b;this.Aa(a<<8);return a}function tf(a,b){a=~b|65536;this.gb(a);return a&65535}function uf(a,b){a=~b|256;this.gb(a<<8);return a&255}function vf(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function wf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function xf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function yf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function zf(a,b){a=-b;this.gb(a,a&b&32768);return a&65535}function Af(a,b){a=-b;this.gb(a<<8,(a&b&128)<<8);return a&255}function Bf(a,b){a=b<<1|this.G>>16&1;te(this,a);return a&65535}function Cf(a,b){a=b<<1|this.G>>16&1;te(this,a<<8);return a&255}function Df(a,b){a=(this.G&65536|b)>>1|b<<16;te(this,a);return a&65535}function Ef(a,b){a=((this.G&65536)>>8|b)>>1|b<<8;te(this,a<<8);return a&255}function Ff(a,b){var c=b-a;ue(this,c,a,b);return c&65535}
function Gf(a,b){var c=b-a;ue(this,c<<8,a<<8,b<<8);return c&255}function Hf(a,b){this.I=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function If(a,b){a^=b;this.za(a);return a&65535}function Jf(a){T(this,a,Fe(this,a),jf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
function Gf(a,b){var c=b-a;ue(this,c<<8,a<<8,b<<8);return c&255}function Hf(a,b){this.I=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function If(a,b){a^=b;this.Aa(a);return a&65535}function Jf(a){T(this,a,Fe(this,a),jf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
function Kf(a){var b=Ie(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.G=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.G=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.G=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.v?6:7)+b}
function Lf(a){var b=Ie(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.G=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.G=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.v?6:7)+b}function Mf(a){S(this,a,!me(this))}function Nf(a){S(this,a,me(this))}
function Of(a){T(this,a,Fe(this,a),pf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Pf(a){Je(this,a,Ee(this,a),qf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Qf(a){T(this,a,Fe(this,a),rf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Rf(a){Je(this,a,Ee(this,a),sf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
function Sf(a){var b=Fe(this,a);a=Ie(this,a);this.za((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Tf(a){var b=Ee(this,a);a=He(this,a);this.za(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Uf(a){S(this,a,oe(this))}function Vf(a){S(this,a,!pe(this)==!ne(this))}function Wf(a){S(this,a,!oe(this)&&!pe(this)==!ne(this))}function Xf(a){S(this,a,!me(this)&&!oe(this))}
function Yf(a){S(this,a,oe(this)||!pe(this)!=!ne(this))}function Zf(a){S(this,a,me(this)||oe(this))}function $f(a){S(this,a,!pe(this)!=!ne(this))}function ag(a){S(this,a,pe(this))}function bg(a){S(this,a,!oe(this))}function cg(a){S(this,a,!pe(this))}function dg(){this.ka(12,0,-9)}function eg(a){S(this,a,!0)}function fg(a){S(this,a,!ne(this))}function gg(a){S(this,a,ne(this))}function hg(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function Sf(a){var b=Fe(this,a);a=Ie(this,a);this.Aa((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Tf(a){var b=Ee(this,a);a=He(this,a);this.Aa(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Uf(a){S(this,a,oe(this))}function Vf(a){S(this,a,!pe(this)==!ne(this))}function Wf(a){S(this,a,!oe(this)&&!pe(this)==!ne(this))}function Xf(a){S(this,a,!me(this)&&!oe(this))}
function Yf(a){S(this,a,oe(this)||!pe(this)!=!ne(this))}function Zf(a){S(this,a,me(this)||oe(this))}function $f(a){S(this,a,!pe(this)!=!ne(this))}function ag(a){S(this,a,pe(this))}function bg(a){S(this,a,!oe(this))}function cg(a){S(this,a,!pe(this))}function dg(){this.la(12,0,-9)}function eg(a){S(this,a,!0)}function fg(a){S(this,a,!ne(this))}function gg(a){S(this,a,ne(this))}function hg(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function ig(a){var b=Fe(this,a);a=Ie(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;ue(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function jg(a){var b=Ee(this,a);a=He(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);ue(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}
function kg(a){var b=Ie(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.G=65536,this.b-=7}function lg(){this.ka(24,0,-9);this.b-=20}
function mg(){this.w&49152?(this.R|=128,this.ka(4,0,-8)):(this.pa&&1120==this.Aa&&this.pa.setData(this.g[0],!0),this.F?ng(this.F):this.Z());this.b-=7}function og(){this.ka(16,0,-9);this.b-=20}var pg=[0,7,7,10,7,11,9,13];function qg(a){this.da=this.b;ke(this,Ge(this,a));this.b=this.da-pg[this.v]}var rg=[0,14,14,17,14,18,16,20];function sg(a){this.da=this.b;var b=Ge(this,a);a=a>>6&7;ve(this,this.g[a]);this.g[a]=this.g[7];ke(this,b);this.b=this.da-rg[this.v]}
var tg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function ug(a){var b=Fe(this,a);this.da=this.b;ff(this,a,b,this.za);this.b=this.da-tg[(this.V?8:0)+this.v]+(7!=this.j||this.v?0:2)}function vg(a){var b=Ee(this,a);Ke(this,a,b,65535,this.za);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}var wg=[7,13,13,17,14,18,17,21];
function xg(a){var b=Ie(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.I=b>>16;this.L=this.I|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function yg(){this.b-=5}function zg(){this.w&49152||(this.D.reset(),ac(this),this.pa&&this.pa.setData(this.g[0],!0));this.b-=667}function Ag(a){if(a&8)U.call(this,a);else{var b=xe(this);a&=7;7==a?ke(this,b):(ke(this,this.g[a]),this.g[a]=b);this.b-=9}}
function Bg(){we(this);this.b-=13}function Cg(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Dg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)ke(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Eg(a){T(this,a,Fe(this,a),Ff);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Fg(a){T(this,a,0,Hf);this.b-=this.v?9:3+(7==this.j?2:0)}function Gg(){this.ka(28,0,-9)}
function Hg(){this.pa&&(this.pa.Fc(this.g[7],!0),this.pa.setData(this.g[0],!0));this.i|=8;qe(this,-2);this.b-=3}function Ig(a){T(this,a,this.g[(a>>6&7)+this.lc],If);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,I(b,1)?(J(b,"undefined opcode "+O(b,a),!0,!0),b=ng(b)):b=!1;b||this.ka(8,0,-9)}function ge(a){Jg[a>>12].call(this,a)}function Kg(a){Lg[a>>6&3].call(this,a)}function Mg(a){Ng[a>>6&3].call(this,a)}function Og(a){Pg[a>>6&3].call(this,a)}
function kg(a){var b=Ie(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.G=65536,this.b-=7}function lg(){this.la(24,0,-9);this.b-=20}
function mg(){this.w&49152?(this.R|=128,this.la(4,0,-8)):(this.qa&&1120==this.ba&&this.qa.setData(this.g[0],!0),this.F?ng(this.F):this.Z());this.b-=7}function og(){this.la(16,0,-9);this.b-=20}var pg=[0,7,7,10,7,11,9,13];function qg(a){this.ga=this.b;ke(this,Ge(this,a));this.b=this.ga-pg[this.v]}var rg=[0,14,14,17,14,18,16,20];function sg(a){this.ga=this.b;var b=Ge(this,a);a=a>>6&7;ve(this,this.g[a]);this.g[a]=this.g[7];ke(this,b);this.b=this.ga-rg[this.v]}
var tg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function ug(a){var b=Fe(this,a);this.ga=this.b;ff(this,a,b,this.Aa);this.b=this.ga-tg[(this.V?8:0)+this.v]+(7!=this.j||this.v?0:2)}function vg(a){var b=Ee(this,a);Ke(this,a,b,65535,this.Aa);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}var wg=[7,13,13,17,14,18,17,21];
function xg(a){var b=Ie(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.I=b>>16;this.L=this.I|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function yg(){this.b-=5}function zg(){this.w&49152||(this.D.reset(),ac(this),this.qa&&this.qa.setData(this.g[0],!0));this.b-=667}function Ag(a){if(a&8)U.call(this,a);else{var b=xe(this);a&=7;7==a?ke(this,b):(ke(this,this.g[a]),this.g[a]=b);this.b-=9}}
function Bg(){we(this);this.b-=13}function Cg(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Dg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)ke(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Eg(a){T(this,a,Fe(this,a),Ff);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Fg(a){T(this,a,0,Hf);this.b-=this.v?9:3+(7==this.j?2:0)}function Gg(){this.la(28,0,-9)}
function Hg(){this.qa&&(this.qa.Fc(this.g[7],!0),this.qa.setData(this.g[0],!0));this.i|=8;qe(this,-2);this.b-=3}function Ig(a){T(this,a,this.g[(a>>6&7)+this.lc],If);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,I(b,1)?(J(b,"undefined opcode "+O(b,a),!0,!0),b=ng(b)):b=!1;b||this.la(8,0,-9)}function ge(a){Jg[a>>12].call(this,a)}function Kg(a){Lg[a>>6&3].call(this,a)}function Mg(a){Ng[a>>6&3].call(this,a)}function Og(a){Pg[a>>6&3].call(this,a)}
function Qg(a){Rg[a&15].call(this,a)}function Sg(a){Tg[a&15].call(this,a)}function Ug(a){Vg[a>>6&3].call(this,a)}function Wg(a){Xg[a>>6&3].call(this,a)}function Yg(a){Zg[a>>6&3].call(this,a)}
var Jg=[function(a){$g[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Jf,U,function(a){ah[a>>8&15].call(this,a)},vg,jg,Tf,Pf,Rf,Eg,U],$g=[function(a){bh[a>>4&15].call(this,a)},eg,bg,Uf,Vf,$f,Wf,Yf,sg,sg,Kg,Mg,Og,U,U,U],Lg=[function(a){ff(this,a,0,this.gb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,tf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,xf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,vf);this.b-=this.v?9:3+(7==this.j?2:0)}],Ng=[function(a){T(this,a,0,zf);
this.b-=this.v?11:6},function(a){T(this,a,me(this)?1:0,jf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,me(this)?1:0,Ff);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=Ie(this,a);this.gb(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Pg=[function(a){T(this,a,0,Df);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Bf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,nf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,lf);this.b-=this.v?9:3+(7==this.j?2:0)}],bh=
[function(a){ch[a&15].call(this,a)},U,U,U,qg,qg,qg,qg,Ag,U,Qg,Sg,Fg,Fg,Fg,Fg],ch=[mg,Hg,Bg,dg,og,zg,U,U,U,U,U,U,U,U,U,U],Rg=[yg,function(){this.G=0;this.b-=5},function(){this.H=0;this.b-=5},hg,function(){this.L=1;this.b-=5},hg,hg,hg,function(){this.I=0;this.b-=5},hg,hg,hg,hg,hg,hg,hg],Tg=[yg,function(){this.G=65536;this.b-=5},function(){this.H=32768;this.b-=5},Cg,function(){this.L=0;this.b-=5},Cg,Cg,Cg,function(){this.I=32768;this.b-=5},Cg,Cg,Cg,Cg,Cg,Cg,Cg],ah=[cg,ag,Xf,Zf,fg,gg,Mf,Nf,lg,Gg,Ug,Wg,
Yg,U,U,U],Vg=[function(a){Ke(this,a,0,255,this.gb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,0,uf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,1,yf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,1,wf);this.b-=this.v?9:3+(7==this.j?2:0)}],Xg=[function(a){Je(this,a,0,Af);this.b-=this.v?11:6},function(a){Je(this,a,me(this)?1:0,kf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,me(this)?1:0,Gf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=He(this,
a);this.gb(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],Zg=[function(a){Je(this,a,0,Ef);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Je(this,a,0,Cf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,0,of);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Je(this,a,0,mf);this.b-=this.v?9:3+(7==this.j?2:0)}];function he(a){dh[a>>12].call(this,a)}
var dh=[function(a){eh[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Jf,function(a){fh[a>>8&15].call(this,a)},function(a){gh[a>>8&15].call(this,a)},vg,jg,Tf,Pf,Rf,Eg,U],eh=[function(a){hh[a>>4&15].call(this,a)},eg,bg,Uf,Vf,$f,Wf,Yf,sg,sg,Kg,Mg,Og,function(a){ih[a>>6&3].call(this,a)},U,U],ih=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ja(a|this.Ea);ke(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Ce(this,a,0);this.za(a);ve(this,a);this.b-=11},function(a){var b=xe(this);
this.da=this.b;this.za(b);De(this,a,0,b);this.b=this.da-wg[this.v]},function(a){ff(this,a,pe(this)?65535:0,this.za);this.b-=this.v?9:3+(7==this.j?2:0)}],hh=[function(a){jh[a&15].call(this,a)},U,U,U,qg,qg,qg,qg,Ag,function(a){a&8?(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5):U.call(this,a)},Qg,Sg,Fg,Fg,Fg,Fg],jh=[mg,Hg,function(){we(this);this.i|=this.w&16;this.b-=13},dg,og,zg,Bg,function(){this.ka(8,0,-9)},U,U,U,U,U,U,U,U],fh=[xg,xg,kg,kg,Kf,Kf,Lf,Lf,Ig,Ig,U,U,U,U,Dg,
Dg],gh=[cg,ag,Xf,Zf,fg,gg,Mf,Nf,lg,Gg,Ug,Wg,Yg,function(a){kh[a>>6&3].call(this,a)},U,U],kh=[U,function(a){a=Ce(this,a,65536);this.za(a);ve(this,a);this.b-=11},function(a){var b=xe(this);this.da=this.b;this.za(b);De(this,a,65536,b);this.b=this.da-wg[this.v]},U];
function lh(a){A.call(this,"ROM",a,0,128);this.ea=this.g=null;this.v=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.C=x(this.j);if(this.j){a=this.j;var b=oa(this.C);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.M("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(gb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.ea=a.ea):c.j=null);mh(c)})}}p(lh,A);
h=lh.prototype;h.ra=function(a,b,c,d){this.D=b;this.f=c;this.F=d;mh(this)};h.sa=function(){this.ea&&(this.F&&nh(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.Ca=function(){return!0};
var dh=[function(a){eh[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Jf,function(a){fh[a>>8&15].call(this,a)},function(a){gh[a>>8&15].call(this,a)},vg,jg,Tf,Pf,Rf,Eg,U],eh=[function(a){hh[a>>4&15].call(this,a)},eg,bg,Uf,Vf,$f,Wf,Yf,sg,sg,Kg,Mg,Og,function(a){ih[a>>6&3].call(this,a)},U,U],ih=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ka(a|this.Ea);ke(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Ce(this,a,0);this.Aa(a);ve(this,a);this.b-=11},function(a){var b=xe(this);
this.ga=this.b;this.Aa(b);De(this,a,0,b);this.b=this.ga-wg[this.v]},function(a){ff(this,a,pe(this)?65535:0,this.Aa);this.b-=this.v?9:3+(7==this.j?2:0)}],hh=[function(a){jh[a&15].call(this,a)},U,U,U,qg,qg,qg,qg,Ag,function(a){!(a&8)||1145>this.ba?U.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},Qg,Sg,Fg,Fg,Fg,Fg],jh=[mg,Hg,function(){we(this);this.i|=this.w&16;this.b-=13},dg,og,zg,Bg,function(){this.la(8,0,-9)},U,U,U,U,U,U,U,U],fh=[xg,xg,kg,kg,Kf,Kf,Lf,Lf,
Ig,Ig,U,U,U,U,Dg,Dg],gh=[cg,ag,Xf,Zf,fg,gg,Mf,Nf,lg,Gg,Ug,Wg,Yg,function(a){1145>this.ba?U.call(this,a):kh[a>>6&3].call(this,a)},U,U],kh=[U,function(a){a=Ce(this,a,65536);this.Aa(a);ve(this,a);this.b-=11},function(a){var b=xe(this);this.ga=this.b;this.Aa(b);De(this,a,65536,b);this.b=this.ga-wg[this.v]},U];
function lh(a){A.call(this,"ROM",a,0,128);this.ea=this.g=null;this.v=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.C=x(this.j);if(this.j){a=this.j;var b=oa(this.C);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.M("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(gb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ca,c.ea=a.ea):c.j=null);mh(c)})}}p(lh,A);
h=lh.prototype;h.sa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;mh(this)};h.ta=function(){this.ea&&(this.F&&nh(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.Ca=function(){return!0};
function mh(a){if(!tb(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)rb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.v;a.status(a.b+"-byte ROM at "+q(b));if(57344<=b&&b<57344+Fc){var c={};b=(c[b]=[lh.prototype.Me,lh.prototype.Wf,null,null,null,a.b>>1],c);if(Pb(a.D,a,b)){b=a.w=!0;break a}}else if(Lc(a.D,b,a.b,td)){for(c=0;c<a.g.length;c++)Tc(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?b.push(a.i):
null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.v>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}H(a)}}h.Me=function(a){return this.g[a-this.v]};h.Wf=function(){};Xa(function(){for(var a=G(document,E,"rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new lh(d);qb(d,c)}});
function oh(a){A.call(this,"RAM",a);this.ea=this.g=null;this.i=+a.addr;this.j=+a.size;this.wa=a.load;this.va=a.exec;null!=this.wa&&(this.wa=+this.wa);null!=this.va&&(this.va=+this.va);this.v=!1;this.b=a.file;this.w=x(this.b);if(this.b){a=this.b;var b=oa(this.w);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.M("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(gb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.ea=a.ea,
null==c.wa&&(c.wa=a.wa),null==c.va&&(c.va=a.va)):c.b=null);ph(c)})}}p(oh,A);oh.prototype.ra=function(a,b,c,d){this.D=b;this.f=c;this.F=d;ph(this)};oh.prototype.sa=function(){this.ea&&(this.F&&nh(this.F,this.id,this.i,this.j,this.ea),delete this.ea);return!0};oh.prototype.Ca=function(){return!0};
function ph(a){if(a.D&&(!a.v&&a.j&&(Lc(a.D,a.i,a.j,Wc)?a.v=!0:a.j=0),!tb(a))){if(!a.v)y("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;qh(a,a.g,a.wa,a.va,a.i)?a.status('Loaded image "'+a.w+'"'):a.M('Error loading image "'+a.w+'"')}H(a)}}
oh.prototype.reset=function(){if(this.v){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(wb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&qh(this,this.g,this.wa,this.va,this.i,!0)}};
function oh(a){A.call(this,"RAM",a);this.ea=this.g=null;this.i=+a.addr;this.j=+a.size;this.xa=a.load;this.wa=a.exec;null!=this.xa&&(this.xa=+this.xa);null!=this.wa&&(this.wa=+this.wa);this.v=!1;this.b=a.file;this.w=x(this.b);if(this.b){a=this.b;var b=oa(this.w);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.M("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(gb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ca,c.ea=a.ea,
null==c.xa&&(c.xa=a.xa),null==c.wa&&(c.wa=a.wa)):c.b=null);ph(c)})}}p(oh,A);oh.prototype.sa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;ph(this)};oh.prototype.ta=function(){this.ea&&(this.F&&nh(this.F,this.id,this.i,this.j,this.ea),delete this.ea);return!0};oh.prototype.Ca=function(){return!0};
function ph(a){if(a.D&&(!a.v&&a.j&&(Lc(a.D,a.i,a.j,Wc)?a.v=!0:a.j=0),!tb(a))){if(!a.v)y("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;qh(a,a.g,a.xa,a.wa,a.i)?a.status('Loaded image "'+a.w+'"'):a.M('Error loading image "'+a.w+'"')}H(a)}}
oh.prototype.reset=function(){if(this.v){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(wb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&qh(this,this.g,this.xa,this.wa,this.i,!0)}};
function qh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){J(a,"invalid signature ("+w(m)+") at offset "+w(n),4096);break}if(l+6>=b.length){J(a,"invalid block at offset "+w(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,D=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){J(a,"insufficient data for block at offset "+w(n),4096);break}m+=
b[l++]&255;if(m&255){J(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+w(n),4096);break}if(D)for(J(a,"loading "+w(D)+" bytes at "+w(u)+"-"+w(u+D),4096);D--;)Tc(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&J(a,"starting address: "+w(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)Tc(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.Z(),f=!1;null!=d&&je(a.f,d,f)}return k}
Xa(function(){for(var a=G(document,E,"ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new oh(d);qb(d,c)}});function rh(a){A.call(this,"Keyboard",a,0,1024);H(this)}p(rh,A);rh.prototype.oa=function(){return!1};rh.prototype.ra=function(a,b,c,d){this.J=a;this.f=c;this.F=d};Xa(function(){for(var a=G(document,E,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new rh(d);qb(d,c)}});
function sh(a){A.call(this,"SerialPort",a,0,262144);this.N=+a.adapter;this.T=+a.baudReceive||9600;this.da=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.j=this.w=null;this.X=+a.tabSize;this.V=+a.charBOL;this.C=0;this.I=!0;this.R=this.O=null;this.S=this.Y=-1;this.G=this.b=this.g=0;this.v=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=th;b&&(void 0===c&&(c="Panel"),(c=pb(c,this.id))&&(b=c.B[b])&&this.oa(null,a,b))}this.i=this.H=this.P=null;
Xa(function(){for(var a=G(document,E,"ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new oh(d);qb(d,c)}});function rh(a){A.call(this,"Keyboard",a,0,1024);H(this)}p(rh,A);rh.prototype.pa=function(){return!1};rh.prototype.sa=function(a,b,c,d){this.J=a;this.f=c;this.F=d};Xa(function(){for(var a=G(document,E,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new rh(d);qb(d,c)}});
function sh(a){A.call(this,"SerialPort",a,0,262144);this.N=+a.adapter;this.T=+a.baudReceive||9600;this.ba=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.j=this.w=null;this.X=+a.tabSize;this.V=+a.charBOL;this.C=0;this.I=!0;this.R=this.O=null;this.S=this.Y=-1;this.G=this.b=this.g=0;this.v=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=th;b&&(void 0===c&&(c="Panel"),(c=pb(c,this.id))&&(b=c.B[b])&&this.pa(null,a,b))}this.i=this.H=this.P=null;
this.exports={connect:this.md,receiveData:this.cc,receiveStatus:this.ff,setConnection:this.jf}}p(sh,A);h=sh.prototype;
h.oa=function(a,b,c){var d=this;switch(b){case th:return this.B[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ka.Lc:ka.xd:46==c?b=ka.Lc:a.ctrlKey&&c>=ka.Ic&&c<=ka.Gd&&(b=c-(ka.Ic-ka.ud));b&&(a.preventDefault&&a.preventDefault(),d.cc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ka.wd&&(b=ka.vd);d.cc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
h.pa=function(a,b,c){var d=this;switch(b){case th:return this.B[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ka.Lc:ka.xd:46==c?b=ka.Lc:a.ctrlKey&&c>=ka.Ic&&c<=ka.Gd&&(b=c-(ka.Ic-ka.ud));b&&(a.preventDefault&&a.preventDefault(),d.cc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ka.wd&&(b=ka.vd);d.cc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.cc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.R=cd(this.f,this.N?-1:48,4,262144);this.S=$c(this.f,function(){var a;a=-1;e.v.length&&(a=e.v.shift()&255,J(e,"receiveByte("+v(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),bd(e.f,e.S,1E3/Math.round(e.T/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&ad(c,e.R))});this.O=cd(this.f,this.N?-1:52,4,262144);this.Y=$c(this.f,function(){e.g|=128;e.g&64&&ad(c,e.O)});Pb(b,this,uh,this.N?64832+8*(this.N-1)-65392:0);Rb(b,this.reset.bind(this));
h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.R=cd(this.f,this.N?-1:48,4,262144);this.S=$c(this.f,function(){var a;a=-1;e.v.length&&(a=e.v.shift()&255,J(e,"receiveByte("+v(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),bd(e.f,e.S,1E3/Math.round(e.T/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&ad(c,e.R))});this.O=cd(this.f,this.N?-1:52,4,262144);this.Y=$c(this.f,function(){e.g|=128;e.g&64&&ad(c,e.O)});Pb(b,this,uh,this.N?64832+8*(this.N-1)-65392:0);Rb(b,this.reset.bind(this));
H(this)};h.md=function(a){if(!this.i){var b=Sd(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.kb)return;c=ua(c[1]);if(this.i=ob(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.I);if(this.H=e.receiveData){this.I=a;this.P=e.receiveStatus;this.status(this.lb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.sa=function(a,b){if(!b)if(this.md(this.I),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){vh(this)};h.save=function(){var a=new le(this);a.set(0,[]);return a.data()};h.restore=function(){return vh(this)};function vh(a){a.G=0;a.b=8192;a.g=128;a.v=[];return!0}
h.ta=function(a,b){if(!b)if(this.md(this.I),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){vh(this)};h.save=function(){var a=new le(this);a.set(0,[]);return a.data()};h.restore=function(){return vh(this)};function vh(a){a.G=0;a.b=8192;a.g=128;a.v=[];return!0}
h.cc=function(a){if("number"==typeof a)this.v.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.v.push(b)}else this.v=this.v.concat(a);bd(this.f,this.S,1E3/Math.round(this.T/10));return!0};h.ff=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&ad(this.f,this.R))};h.jf=function(a,b){return this.i?!1:(this.i=a,this.H=b,!0)};
h.ze=function(){var a=this.b&65534;this.b&=-32769;return a};h.Jf=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.P&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.P.call(this.i,b))};h.ye=function(){this.b&=-129;return this.G};h.If=function(){};h.ef=function(){return this.g};h.og=function(a){this.g&128&&(a&64?ad(this.f,this.O):gd(this.f,this.O));this.g=this.g&-70|a&69};h.df=function(){return 0};
h.ng=function(a){a&=255;J(this,"transmitByte("+v(a,2,!0)+")");this.H&&this.H.call(this.i,a);a&=127;if(this.j)if(13==a)this.C=0;else if(8==a)this.j.value=this.j.value.slice(0,-1),0<this.C&&this.C--;else{if(a){var b;13!=a&&10!=a&&(b=va[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.X||8,c=a-this.C%a,this.X&&(b=ta("",c)));this.V&&!this.C&&c&&(b=String.fromCharCode(this.V)+b);this.j.value+=b;this.j.scrollTop=this.j.scrollHeight;this.C+=c}}else if(null!=this.w){if(10==
a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}bd(this.f,this.Y,1E3/Math.round(this.da/10));this.g&=-129};var th="buffer",wh={},uh=(wh[65392]=[null,null,sh.prototype.ze,sh.prototype.Jf,"RCSR"],wh[65394]=[null,null,sh.prototype.ye,sh.prototype.If,"RBUF"],wh[65396]=[null,null,sh.prototype.ef,sh.prototype.og,"XCSR"],wh[65398]=[null,null,sh.prototype.df,sh.prototype.ng,"XBUF"],wh);
Xa(function(){for(var a=G(document,E,"serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new sh(d);qb(d,c)}});function pd(a){A.call(this,"PC11",a);this.N=xh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.C=this.G=this.b=0;this.w=[];this.v=yh;this.i=zh;this.L=this.j="";this.ba=this.wa=this.va=null;this.P=-1;this.O=!Na("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(pd,A);
a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}bd(this.f,this.Y,1E3/Math.round(this.ba/10));this.g&=-129};var th="buffer",wh={},uh=(wh[65392]=[null,null,sh.prototype.ze,sh.prototype.Jf,"RCSR"],wh[65394]=[null,null,sh.prototype.ye,sh.prototype.If,"RBUF"],wh[65396]=[null,null,sh.prototype.ef,sh.prototype.og,"XCSR"],wh[65398]=[null,null,sh.prototype.df,sh.prototype.ng,"XBUF"],wh);
Xa(function(){for(var a=G(document,E,"serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new sh(d);qb(d,c)}});function pd(a){A.call(this,"PC11",a);this.N=xh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.C=this.G=this.b=0;this.w=[];this.v=yh;this.i=zh;this.L=this.j="";this.ca=this.xa=this.wa=null;this.P=-1;this.O=!Na("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(pd,A);
function xh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=pd.prototype;
h.oa=function(a,b,c){var d=this,e=zh;switch(b){case "listTapes":return this.B[b]=c,c.onchange=function(){var a=d.B.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){y("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.B[b]=c,!0;case "readTape":e=Ah;case "loadTape":return e||(e=Bh),this.B[b]=c,c.onclick=
h.pa=function(a,b,c){var d=this,e=zh;switch(b){case "listTapes":return this.B[b]=c,c.onchange=function(){var a=d.B.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){y("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.B[b]=c,!0;case "readTape":e=Ah;case "loadTape":return e||(e=Bh),this.B[b]=c,c.onclick=
function(){var a=d.B.listTapes;a&&Ch(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.B[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ch(d,x(b,!0),b,Bh,a)}return!1};return!0;case Dh:return this.B[b]=c,!0}return!1};
h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Eh(a);var e=this;if(a=xh(this,Sd(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.H=cd(this.f,56,4,4096);this.R=$c(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.C<e.w.length&&(e.G=e.w[e.C++]&255,Fh(e,e.C/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&ad(e.f,e.H))});Pb(b,this,Gh);Rb(b,this.reset.bind(this));Hh(this,"None",yh,!0);this.O&&Hh(this,"Local Tape",Ih);Hh(this,"Remote Tape",Jh);Kh(this)||H(this)};
h.sa=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Kh(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.B.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=x(c,!0)}c&&b?Lh(a,b,c,Bh,!0):Mh(a)}return!!a.g}
h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Eh(a);var e=this;if(a=xh(this,Sd(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.H=cd(this.f,56,4,4096);this.R=$c(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.C<e.w.length&&(e.G=e.w[e.C++]&255,Fh(e,e.C/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&ad(e.f,e.H))});Pb(b,this,Gh);Rb(b,this.reset.bind(this));Hh(this,"None",yh,!0);this.O&&Hh(this,"Local Tape",Ih);Hh(this,"Remote Tape",Jh);Kh(this)||H(this)};
h.ta=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Kh(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.B.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=x(c,!0)}c&&b?Lh(a,b,c,Bh,!0):Mh(a)}return!!a.g}
function Ch(a,b,c,d,e){if(c)if(c==Ih)a.M('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Jh){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"');a.v=Jh}else a.v=c;Lh(a,b,c,d,!1,e)}else Nh(a,!1)}
function Lh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Nh(a,!0),a.A.cb?a.M("PC11 busy"):(e&&(a.g++,I(a)&&J(a,"auto-loading tape: "+b)),Oh(a,b,c,d,f)?g++:a.A.cb=!0);g&&Ph(a,a.L,a.j,a.i,a.ba,a.wa,a.va)}
function Oh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Ph(a,b,c,d,e),a.v=Ih);Mh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Ca()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Aa(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.M('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(gb(a.lb,e,f),(e=Ba(e,f))&&Ph(a,b,c,d,e.ba,e.wa,
e.va));a.A.cb=!1;a.g&&(a.g--,a.g||H(a));Mh(a)})}function Hh(a,b,c,d){if((a=a.B.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Lh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Nh(a,!0),a.A.cb?a.M("PC11 busy"):(e&&(a.g++,I(a)&&J(a,"auto-loading tape: "+b)),Oh(a,b,c,d,f)?g++:a.A.cb=!0);g&&Ph(a,a.L,a.j,a.i,a.ca,a.xa,a.wa)}
function Oh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Ph(a,b,c,d,e),a.v=Ih);Mh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Ca()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Aa(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.M('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(gb(a.lb,e,f),(e=Ba(e,f))&&Ph(a,b,c,d,e.ca,e.xa,
e.wa));a.A.cb=!1;a.g&&(a.g--,a.g||H(a));Mh(a)})}function Hh(a,b,c,d){if((a=a.B.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Mh(a){var b=a.B.listTapes;if(b&&b.options){a=a.v||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Fh(a,b){b|=0;if(b!==a.P){var c=a.B[Dh];c&&(c=(c=G(c,Qh))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Ph(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ba=e;a.wa=f;a.va=g;d==Ah?a.I&&qh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.M('No valid memory address for tape "'+b+'"'):(a.C=0,a.w=e,a.status('Loaded tape "'+b+'"'),Fh(a,0))}function Nh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Bh?"tape detached":"tape unloaded"),a.v=yh,a.i=zh,Mh(a))}h.save=function(){return(new le(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
function Ph(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.xa=f;a.wa=g;d==Ah?a.I&&qh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.M('No valid memory address for tape "'+b+'"'):(a.C=0,a.w=e,a.status('Loaded tape "'+b+'"'),Fh(a,0))}function Nh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Bh?"tape detached":"tape unloaded"),a.v=yh,a.i=zh,Mh(a))}h.save=function(){return(new le(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
h.Cf=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&ad(this.f,this.H)):(this.b&=-129,this.b|=2048,this.G=0,bd(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.re=function(){this.b&=-129;this.b|=2048;return this.G};h.Bf=function(){};var yh="",Ih="?",Jh="??",zh=0,Bh=1,Ah=2,Dh="readProgress",Qh="pcjs-progress-bar",Rh={},Gh=(Rh[65384]=[null,null,pd.prototype.se,pd.prototype.Cf,"PRS"],Rh[65386]=[null,null,pd.prototype.re,pd.prototype.Bf,"PRB"],Rh);
function Sh(a,b,c){A.call(this,"Disk",{id:a.lb+".disk"+v(++Th,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.ya=this.ec="";this.ac=b.ac;this.W=this.ca=this.aa=this.na=this.mode=0;this.b=[];this.i=null;this.j=!1;Uh(this,c,b.W,b.ca,b.aa,b.na);this.g=this.w=null;H(this)}p(Sh,A);h=Sh.prototype;h.ra=function(a,b,c,d){this.F=d};
function Uh(a,b,c,d,e,f){a.mode=b;a.W=c;a.ca=d;a.aa=e;a.na=f;a.b=[];if("preload"!=a.mode){b=Array(a.W);for(c=0;c<b.length;c++){d=Array(a.ca);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=Vh(null,c,e,g,a.na,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function Wh(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.ya=c;a.ec=x(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ja[d];if(e){a.W=e[0];a.ca=e[1];a.aa=e[2];a.na=e[3]||512;c=a.na>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.W);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ca),t=0;t<u.length;t++)for(var D=u[t]=Array(a.aa),z=0;z<D.length;z++){for(var C=Vh(null,d,t,z+1,a.na,0),F=C.data,fb=0;fb<c;fb++,f+=4)var V=F[fb]=b.getInt32(f,!0),
e=e+V&-1;C.Ja=c;D[z]=C}a.i=e;c=a}else a.M("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Na,a.ya),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Ca()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ac?"":e)+"&format=json"));return!!Aa(f,null,
function Sh(a,b,c){A.call(this,"Disk",{id:a.lb+".disk"+v(++Th,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.za=this.ec="";this.ac=b.ac;this.W=this.da=this.aa=this.oa=this.mode=0;this.b=[];this.i=null;this.j=!1;Uh(this,c,b.W,b.da,b.aa,b.oa);this.g=this.w=null;H(this)}p(Sh,A);h=Sh.prototype;h.sa=function(a,b,c,d){this.F=d};
function Uh(a,b,c,d,e,f){a.mode=b;a.W=c;a.da=d;a.aa=e;a.oa=f;a.b=[];if("preload"!=a.mode){b=Array(a.W);for(c=0;c<b.length;c++){d=Array(a.da);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=Vh(null,c,e,g,a.oa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function Wh(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.za=c;a.ec=x(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ja[d];if(e){a.W=e[0];a.da=e[1];a.aa=e[2];a.oa=e[3]||512;c=a.oa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.W);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.da),t=0;t<u.length;t++)for(var D=u[t]=Array(a.aa),z=0;z<D.length;z++){for(var C=Vh(null,d,t,z+1,a.oa,0),F=C.data,fb=0;fb<c;fb++,f+=4)var V=F[fb]=b.getInt32(f,!0),
e=e+V&-1;C.Ja=c;D[z]=C}a.i=e;c=a}else a.M("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Na,a.za),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Ca()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ac?"":e)+"&format=json"));return!!Aa(f,null,
!0,function(b,c,d){Xh(a,b,c,d)})}
function Xh(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.M('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{gb(a.controller.lb,b,c);try{if(0<x(a.ec,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.W=k.length;a.ca=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.na=l&&l.length||512;for(d=c=0;d<a.W;d++)for(f=0;f<a.ca;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,D=u.length;D<t;D++)u[D]=n;Yh(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}Vh(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else y("Empty disk image: "+a.Na)}catch(z){y("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Na,a.ya),a.g=null)}function Vh(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.qh=b;a.rh=c;a.Ra=a.Ja=0;a.Ta=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.ca)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=Vh(null,a,b,g+1,f.Bc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.yc&&(d=k[g]=Vh(null,a,b,f.yc,f.Bc,0))}}e&&e(d,!1);return d};function Yh(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.W=k.length;a.da=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.oa=l&&l.length||512;for(d=c=0;d<a.W;d++)for(f=0;f<a.da;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,D=u.length;D<t;D++)u[D]=n;Yh(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}Vh(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else y("Empty disk image: "+a.Na)}catch(z){y("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Na,a.za),a.g=null)}function Vh(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.qh=b;a.rh=c;a.Ra=a.Ja=0;a.Ta=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.da)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=Vh(null,a,b,g+1,f.Bc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.yc&&(d=k[g]=Vh(null,a,b,f.yc,f.Bc,0))}}e&&e(d,!1);return d};function Yh(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ja?f<a.Ra?(a.Ja+=a.Ra-f,a.Ra=f):f>=a.Ra+a.Ja&&(a.Ja+=f-(a.Ra+a.Ja)+1):(a.Ra=f,a.Ja=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function Zh(a,b){var c=a.ca*a.aa,d=b/c|0;return d<a.W?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function $h(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ai(a){for(var b="",c=0,d;d=Zh(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode($h(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.ya,this.i,this.W,this.ca,this.aa,this.na];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
function Zh(a,b){var c=a.da*a.aa,d=b/c|0;return d<a.W?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function $h(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ai(a){for(var b="",c=0,d;d=Zh(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode($h(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.za,this.i,this.W,this.da,this.aa,this.oa];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?Uh(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ra=e;for(k.Ja=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.M("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=Zh(this,a++);)bi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function bi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Th=0;function R(a){A.call(this,"RK11",a,0,65536);this.G=ci(this,a.autoMount);this.C=0;this.i=Array(8);this.H=!Na("Mobi")&&window&&"FileReader"in window;this.eb=null;this.L=this.g=this.b=this.w=this.v=this.j=this.I=0}p(R,A);
function ci(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype;
h.oa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&di(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&ei(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.M("Unable to boot the selected drive"):a.ha?(je(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.M("Unable to read the boot sector ("+a+")")):d.M("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c);
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.i&&((a=d.i[la(a.value,10)||0])?(a=a.ha)?(a=Qa(ai(a),a.ec.replace(".json",".img")),Da(a)):d.M("No disk loaded in drive."):d.M("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ei(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=ci(this,Sd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);yi(this);this.eb=cd(this.f,144,5,65536);Pb(b,this,Ai);Rb(b,this.reset.bind(this));Bi(this,"None",Ci,!0);this.H&&Bi(this,"Local Disk",Di);Bi(this,"Remote Disk",Ei);Fi(this)||H(this)};
h.sa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.w){for(a=0;a<this.i.length;a++)Gi(this,a,!0);Fi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";di(this,0)}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){yi(this)};h.save=function(){return(new le(this)).data()};
h.pa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&di(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&ei(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.M("Unable to boot the selected drive"):a.ia?(je(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.M("Unable to read the boot sector ("+a+")")):d.M("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c);
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.i&&((a=d.i[la(a.value,10)||0])?(a=a.ia)?(a=Qa(ai(a),a.ec.replace(".json",".img")),Da(a)):d.M("No disk loaded in drive."):d.M("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ei(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=ci(this,Sd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);yi(this);this.eb=cd(this.f,144,5,65536);Pb(b,this,Ai);Rb(b,this.reset.bind(this));Bi(this,"None",Ci,!0);this.H&&Bi(this,"Local Disk",Di);Bi(this,"Remote Disk",Ei);Fi(this)||H(this)};
h.ta=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.w){for(a=0;a<this.i.length;a++)Gi(this,a,!0);Fi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";di(this,0)}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){yi(this)};h.save=function(){return(new le(this)).data()};
h.restore=function(a){return yi(this,a[0])};function Fi(a,b){b||(a.C=0);for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.B.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=x(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Hi(a,g,f,e,!0)&&b&&H(a,!1);continue}a.M("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.C}
function ei(a,b,c,d){var e=a.B.listDrives,e=e&&la(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.M("Unable to load the selected drive");else if(c)if(c==Di)a.M('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Ei){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Hi(a,e,b,c,!1,d)}else Gi(a,e)}
function Hi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.ya.toLowerCase()!=d.toLowerCase()&&(g++,Gi(a,b,!0),k.qb?a.M("RK11 busy"):(k.qb=!0,e&&(k.pb=!0,a.C++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
h.Ad=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.M('Disk "'+c+'" too large for drive '+("RK"+a.rb)),b=null);b?(a.ha=b,a.Na=c,a.ya=d,this.M('Loaded disk "'+c+'" in drive '+("RK"+a.rb),a.pb||e),this.J&&be(this.J)):a.Ua=!1;a.pb&&(a.pb=!1,--this.C||H(this));di(this,a.rb)};
function Hi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.za.toLowerCase()!=d.toLowerCase()&&(g++,Gi(a,b,!0),k.qb?a.M("RK11 busy"):(k.qb=!0,e&&(k.pb=!0,a.C++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
h.Ad=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.da>a.da)&&(this.M('Disk "'+c+'" too large for drive '+("RK"+a.rb)),b=null);b?(a.ia=b,a.Na=c,a.za=d,this.M('Loaded disk "'+c+'" in drive '+("RK"+a.rb),a.pb||e),this.J&&be(this.J)):a.Ua=!1;a.pb&&(a.pb=!1,--this.C||H(this));di(this,a.rb)};
function Bi(a,b,c,d){if((a=a.B.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function di(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Di:c.ya,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Gi(a,b,c){var d=a.i[b];if(d.ha||!1===c)d.Na="",d.ya="",d.ha=null,d.Ua=!1,c||(a.M("Drive RK"+b+" unloaded",c),di(a,b))}
function yi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.I=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=203;d.ca=2;d.aa=12;d.na=512;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.na;d.Pd=0;d.hf=null;d.ha||(d.ya="");d.status=2368}return!0}
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ha;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(jc(this.D,ye(this.f,f),u|t<<8),Zc(this.D))){m=1024;break}r>=a.na&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ha;var n=null,r;a||(m=128,e=0);for(;e;){var u=lc(this.D,ye(this.f,f));if(Zc(this.D)){m=1024;break}if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b))}if(k){var t,D;if(0>(t=a.read(n,r++))||0>(D=a.read(n,r++))){m=32;break}if(u!=(t|D<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.na&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
function di(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Di:c.za,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Gi(a,b,c){var d=a.i[b];if(d.ia||!1===c)d.Na="",d.za="",d.ia=null,d.Ua=!1,c||(a.M("Drive RK"+b+" unloaded",c),di(a,b))}
function yi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.I=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=203;d.da=2;d.aa=12;d.oa=512;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.oa;d.Pd=0;d.hf=null;d.ia||(d.za="");d.status=2368}return!0}
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(jc(this.D,ye(this.f,f),u|t<<8),Zc(this.D))){m=1024;break}r>=a.oa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){var u=lc(this.D,ye(this.f,f));if(Zc(this.D)){m=1024;break}if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}if(k){var t,D;if(0>(t=a.read(n,r++))||0>(D=a.read(n,r++))){m=32;break}if(u!=(t|D<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.oa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.zd=function(a,b,c,d,e,f){this.v=f&65535;this.b=this.b&-49|f>>12&48;this.w=65536-e&65535;this.j=this.j&-16|d&15;this.g|=a;Ii(this);return!0};function Ii(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),I(a)&&J(a,a.type+": ERROR: "+q(a.g)))}h.Ee=function(){return this.L};h.Of=function(){};h.Fe=function(){return this.g};h.Pf=function(){};h.Be=function(){return this.b&61438};
h.Lf=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c,d="",e=(this.j&57344)>>13,f=this.i[e],g,k,l,m,n,r;this.b&=-8321;this.g&=-4;switch(c=this.b&14){case 0:I(this)&&J(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=128;break;case 10:d="RCHK";case 4:d||(d="READ"),b=this.Vc;case 6:d||(d="WCHK");case 2:d||(d="WRITE");b||(b=this.Bd);g=(this.j&8160)>>5;k=(this.j&16)>>4;l=this.j&15;m=65536-this.w&65535;n=(this.b&48)<<12|this.v;r=this.b&2048?0:2;I(this)&&J(this,this.type+": "+
d+"("+g+":"+k+":"+l+") "+q(n)+"--"+q(n+(m<<1)),!0,!0);if(g>=f.W){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;I(this)&&J(this,this.type+": SEEK("+g+")",!0);g<f.W?this.b|=8192:this.g|=64;break;case 12:I(this)&&J(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:I(this)&&J(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ha?128:0)|e<<13|this.j&15;Ii(this);a&&(this.b&=-2,this.b|=128,
d+"("+g+":"+k+":"+l+") "+q(n)+"--"+q(n+(m<<1)),!0,!0);if(g>=f.W){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;I(this)&&J(this,this.type+": SEEK("+g+")",!0);g<f.W?this.b|=8192:this.g|=64;break;case 12:I(this)&&J(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:I(this)&&J(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ia?128:0)|e<<13|this.j&15;Ii(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&ad(this.f,this.eb))}};h.Ge=function(){return this.w};h.Qf=function(a){this.w=a};h.Ae=function(){return this.v};h.Kf=function(a){this.v=a};h.Ce=function(){return this.j};h.Mf=function(a){this.j=a};h.De=function(){return this.I};h.Nf=function(a){this.I=a};
var Ci="",Di="?",Ei="??",Ji={},Ai=(Ji[65280]=[null,null,R.prototype.Ee,R.prototype.Of,"RKDS"],Ji[65282]=[null,null,R.prototype.Fe,R.prototype.Pf,"RKER"],Ji[65284]=[null,null,R.prototype.Be,R.prototype.Lf,"RKCS"],Ji[65286]=[null,null,R.prototype.Ge,R.prototype.Qf,"RKWC"],Ji[65288]=[null,null,R.prototype.Ae,R.prototype.Kf,"RKBA"],Ji[65290]=[null,null,R.prototype.Ce,R.prototype.Mf,"RKDA"],Ji[65294]=[null,null,R.prototype.De,R.prototype.Nf,"RKDB"],Ji);
function qd(a){A.call(this,"RL11",a,0,131072);this.H=Ki(this,a.autoMount);this.G=0;this.g=Array(4);this.I=!Na("Mobi")&&window&&"FileReader"in window;this.eb=null;this.b=this.C=this.i=this.j=this.w=this.v=0}p(qd,A);function Ki(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=qd.prototype;
h.oa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&Li(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Mi(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.M("Unable to boot the selected drive"):a.ha?(je(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.M("Unable to read the boot sector ("+a+")")):d.M("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.g&&((a=d.g[la(a.value,10)||0])?(a=a.ha)?(a=Qa(ai(a),a.ec.replace(".json",".img")),Da(a)):d.M("No disk loaded in drive."):d.M("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Mi(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Ki(this,Sd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ni(this);this.eb=cd(this.f,112,5,131072);Pb(b,this,Oi);Rb(b,this.reset.bind(this));Pi(this,"None",Qi,!0);this.I&&Pi(this,"Local Disk",Ri);Pi(this,"Remote Disk",Si);Ti(this)||H(this)};
h.sa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.w){for(a=0;a<this.g.length;a++)Ui(this,a,!0);Ti(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Li(this,0)}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){Ni(this)};h.save=function(){return(new le(this)).data()};
h.pa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&Li(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Mi(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.M("Unable to boot the selected drive"):a.ia?(je(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.M("Unable to read the boot sector ("+a+")")):d.M("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.g&&((a=d.g[la(a.value,10)||0])?(a=a.ia)?(a=Qa(ai(a),a.ec.replace(".json",".img")),Da(a)):d.M("No disk loaded in drive."):d.M("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Mi(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Ki(this,Sd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ni(this);this.eb=cd(this.f,112,5,131072);Pb(b,this,Oi);Rb(b,this.reset.bind(this));Pi(this,"None",Qi,!0);this.I&&Pi(this,"Local Disk",Ri);Pi(this,"Remote Disk",Si);Ti(this)||H(this)};
h.ta=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.w){for(a=0;a<this.g.length;a++)Ui(this,a,!0);Ti(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Li(this,0)}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){Ni(this)};h.save=function(){return(new le(this)).data()};
h.restore=function(a){return Ni(this,a[0])};function Ti(a,b){b||(a.G=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.B.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=x(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!Vi(a,g,f,e,!0)&&b&&H(a,!1);continue}a.M("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.G}
function Mi(a,b,c,d){var e=a.B.listDrives,e=e&&la(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.M("Unable to load the selected drive");else if(c)if(c==Ri)a.M('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Si){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Vi(a,e,b,c,!1,d)}else Ui(a,e)}
function Vi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.ya.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.qb?a.M("RL11 busy"):(k.qb=!0,e&&(k.pb=!0,a.G++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
h.Dd=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.M('Disk "'+c+'" too large for drive '+("RL"+a.rb)),b=null);b?(a.ha=b,a.Na=c,a.ya=d,this.M('Loaded disk "'+c+'" in drive '+("RL"+a.rb),a.pb||e),this.J&&be(this.J)):a.Ua=!1;a.pb&&(a.pb=!1,--this.G||H(this));Li(this,a.rb)};
function Vi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.za.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.qb?a.M("RL11 busy"):(k.qb=!0,e&&(k.pb=!0,a.G++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
h.Dd=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.da>a.da)&&(this.M('Disk "'+c+'" too large for drive '+("RL"+a.rb)),b=null);b?(a.ia=b,a.Na=c,a.za=d,this.M('Loaded disk "'+c+'" in drive '+("RL"+a.rb),a.pb||e),this.J&&be(this.J)):a.Ua=!1;a.pb&&(a.pb=!1,--this.G||H(this));Li(this,a.rb)};
function Pi(a,b,c,d){if((a=a.B.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Li(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Ri:c.ya,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Ui(a,b,c){var d=a.g[b];if(d.ha||!1===c)d.Na="",d.ya="",d.ha=null,d.Ua=!1,c||(a.M("Drive RL"+b+" unloaded",c),Li(a,b))}
function Ni(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.C=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=512;d.ca=2;d.aa=40;d.na=256;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.na;d.Pd=0;d.hf=null;d.ha||(d.ya="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ha;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}jc(this.D,ye(this.f,f),n|r<<8);if(Zc(this.D)){k=8192;break}f+=2;e--;if(m>=a.na&&(l=null,++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.ha;var l=null,m;a||(k=5120,e=0);for(;e;){var n=lc(this.D,ye(this.f,f));if(Zc(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.na&&(l=null,++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
function Li(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Ri:c.za,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Ui(a,b,c){var d=a.g[b];if(d.ia||!1===c)d.Na="",d.za="",d.ia=null,d.Ua=!1,c||(a.M("Drive RL"+b+" unloaded",c),Li(a,b))}
function Ni(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.C=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=512;d.da=2;d.aa=40;d.oa=256;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.oa;d.Pd=0;d.hf=null;d.ia||(d.za="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}jc(this.D,ye(this.f,f),n|r<<8);if(Zc(this.D)){k=8192;break}f+=2;e--;if(m>=a.oa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){var n=lc(this.D,ye(this.f,f));if(Zc(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.oa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Cd=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&-49|f>>12&48;this.v=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Je=function(){return this.b&65535};
h.Tf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ha,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.W?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
h.Tf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ia,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.W?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.W||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.C,I(this)&&J(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+q(e)+"--"+q(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Cd.bind(this)))}a&&(this.b|=129,this.b&64&&ad(this.f,this.eb))}};h.He=function(){return this.C};h.Rf=function(a){this.C=a&65534};h.Ke=function(){return this.i};h.Uf=function(a){this.i=a};h.Le=function(){return this.w};h.Vf=function(a){this.w=a};h.Ie=function(){return this.v};
h.Sf=function(a){this.v=a&63;this.b=this.b&-49|(this.v&3)<<4};var Qi="",Ri="?",Si="??",Wi={},Oi=(Wi[63744]=[null,null,qd.prototype.Je,qd.prototype.Tf,"RLCS"],Wi[63746]=[null,null,qd.prototype.He,qd.prototype.Rf,"RLBA"],Wi[63748]=[null,null,qd.prototype.Ke,qd.prototype.Uf,"RLDA"],Wi[63750]=[null,null,qd.prototype.Le,qd.prototype.Vf,"RLMP"],Wi[63752]=[null,null,qd.prototype.Ie,qd.prototype.Sf,"RLBE"],Wi);
function Xi(a){A.call(this,"Debugger",a);this.xa=+a.base||16;this.da=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(Xi,A);Xi.prototype.hd=function(){return-1};Xi.prototype.jd=function(){};
function Xi(a){A.call(this,"Debugger",a);this.ya=+a.base||16;this.ga=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(Xi,A);Xi.prototype.hd=function(){return-1};Xi.prototype.jd=function(){};
function Yi(a,b,c,d){if(c)if(b){0>a.v&&a.j.length&&(a.v=0);if(0>a.v||b!=a.j[a.v])a.j.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.j[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ua(b.substring(c,f))),c=f+1}}return a}
function Zi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function $i(a,b,c){var d;if(b){b=aj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ua(n);if(!n){f=!0;break}n=bj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&cj[n]<cj[l[l.length-1]]&&Zi(k,l,1);l.push(n);b=b.substr(r+u)}Zi(k,l)&&1==k.length||(f=!0);f?c&&a.u("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&dj(a,null,
d))}return d}function aj(a,b){for(var c,d=a.da?"(":"{",e=a.da?")":"}",f=new RegExp(a.da?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=$i(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function bj(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.T[b],null==e&&(e=la(b,a.xa))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function dj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=ma(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+q(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
function ej(a,b){if(b)return dj(a,b,a.T[b]);var c=0;for(b in a.T)dj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.xa){case 8:a=q(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=v(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var cj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function fj(a){Xi.call(this,a);this.Da=!1;this.da=!0;this.H=W();this.Ba=W();this.O=W();this.C=[];this.g=this.L=this.G=[];gj(this);this.R=this.Y=0;this.i=[];this.pa=void 0;hj(this);this.F=this;this.la={};this.ga=this.cd=0;this.S=null;this.N=[];ij(this,a.messages);this.ua=a.commands;this.Ga=jj;this.Aa=[];this.I=0;this.Ha=this.qa=null;this.w=this.Fa=this.Ea=this.X=this.ma=0;this.b=this.V=null;var b=this;window?void 0===window[E]&&(window[E]=function(a){return Xd(b,a)}):void 0===global[E]&&(global[E]=
function(a){return Xd(b,a)})}p(fj,Xi);function kj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,xa:c}}h=fj.prototype;h.Fc=function(a,b){a.K=b;a.Qa=!1;a.xa=void 0;return a};function lj(a){return[a.K,a.Ka,a.xa,a.Qa,a.dc]}function mj(a,b){var c=W(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=Yi(a,c.dc=b[4]));return c}
h.ra=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=Sd(a,"messages"))&&ij(this,a);1145>this.f.Aa&&(this.Aa=nj);ed(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=kj(oj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):(c=n.type,m=Qc[c],n&&d.u(v(n.id,8)+" %"+v(e<<d.D.g,8)+
" %"+v(n.K,8)+" "+w(n.Hb)+" "+w(n.size)+" "+m),c!=sd&&(c=-1),m=0);a+=d.D.j;e++}}});H(this)};
h.oa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.B[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Xd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.B[b]=c,Sa(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";Xd(d,a,!0);return!0}return!1}),!0;case "step":return this.B[b]=c,Sa(c,function(a){var b=!1;ub(d,!0)||(vb(d,!0),b=dc(d,a?1:0,null),vb(d,!1));return b}),!0}return!1};function Wd(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Mc=function(a,b){var c=255,d=kj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=ye(this.f,d),c.G=!1,c.ia++,d=Sc(c,d).j(d&c.i,d),c.ia--):(c=this.f,c.ma++,d=c.D.Jc(kc(c,d,3)),c.ma--),c=d,b&&pj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=kj(a);-1!==d&&(c=a.Ka||65535<d?lc(this.D,ye(this.f,d)):mc(this.f,d),b&&pj(a,b));return c};h.Nc=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ka||65535<d)Tc(this.D,ye(this.f,d),b);else{var e=this.f;e.ma++;e.D.Kc(kc(e,d,5),b);e.ma--}c&&pj(a,c);L(this.J,-1)}};h.yd=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ka||65535<d)jc(this.D,ye(this.f,d),b);else{var e=this.f;e.ma++;e.D.Lb(kc(e,d,4),b);e.ma--}c&&pj(a,c);L(this.J,-1)}};
function oj(a,b,c){var d;c=(c?a.H:a.Ba).K;var e,f;if(void 0!==b){b=aj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.C+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.C.length;c++)if(l=a.C[c].ea[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=$i(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
function qj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=Yi(a,b.dc=c[2]))}function pj(a,b){null!=a.K&&(a.K+=b||1)}function rj(a,b){return(b.Ka?"%":"")+O(a,b.K)}
function ij(a,b){a.F=a;a.ga=a.cd=536870912;a.S=null;a.N=[];b=Yi(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Eb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ga|=Eb[c],a.u(c+" messages enabled"))}}function ed(a,b,c){for(var d in Eb)if(b==Eb[d]){a.la[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=sj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function tj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.qa[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.b;switch(a){case uj:b=nd(this.f);break;case vj:b=c.bb;break;case wj:b=c.R;break;case xj:b=c.Ba&65280;break;case yj:b=hd(c);break;case zj:b=jd(c);break;case Aj:b=kd(c);break;case Bj:b=c.T;break;case Cj:d&&(b=d.ta);break;case Dj:d&&(b=d.tb);break;case Ej:d&&qc(d)&&(b=d.Va)}}return b};
h.message=function(a,b){b&&(a+=" @"+rj(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ga&1073741824)this.N.push(a);else{var c;if(this.ga&-2147483648&&this.f&&(c=this.f.A.U)||ub(this,!0))this.Z(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,ce(a),a.hb=0,a.J&&L(a.J,void 0))}};
function hj(a){var b;if(!gf(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Fj);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.u("instruction history buffer allocated")}}function Gj(a,b,c){if(!Hj(a,c))return!1;cc(a.f,b);return!0}
function dc(a,b,c,d){if(!Hj(a))return!1;null===c&&(c=!a.qa||"tr"==a.qa);a.w=0;b||gf(a)&&hf(a,a.f.g[7],0);try{b=de(a.f,b);var e=a.f.$b(b);0<e&&(ec(a.f,e),a.w+=e,fc(a.f,e,!0),gc(a.f,e),a.X++)}catch(f){"number"!=typeof f&&(a.w=0,rb(a.f,f.stack||f.message))}!1!==d&&(a.b&&a.b.stop(),L(a.J,-1));Vd(a,c||!1);return 0<a.w}h.Z=function(a){this.f&&this.f.Z(a)};
function Vd(a,b){if(a.Da){void 0===b&&(b=!0);var c;c=a.f;if(c=c.i&128?c.Zc|c.Yc<<8:0){var d=c>>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?Cb[-d]:O(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.I?Ij(a):Jj(a)}}function Hj(a,b){var c;(c=!a.f||!tb(a.f))||(c=a.f,c.A.fa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.U?(b||a.u("cpu busy or unavailable, command ignored"),!1):!sb(a.f)}h.sa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
h.Ca=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){hj(this);this.X=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.U=!1;Kj(this);a||Vd(this)};h.save=function(){var a=new le(this);a.set(0,lj(this.H));a.set(1,lj(this.O));a.set(2,[this.j,this.P,this.ga]);a.set(3,this.C);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=mj(this,a[b++]),this.O=mj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ga|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.I||this.u("running");this.A.U=!0;this.Ea=a;this.Fa=b};
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Fa;if(!this.I){b="stopped";if(this.w){a-=this.Ea;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";gf(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else I(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}Vd(this,!0);Wd(this);Kj(this,this.f.g[7]);this.S=null}};function gf(a){return 1<a.g.length||!!a.Y}
function hf(a,b,c){var d=-1;c||(d=mc(a.f,b))||(a.f.P&65535)!=b||(b=qe(a.f,2));if(0<c&&(a.Y&&!--a.Y||Lj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=mc(a.f,b)),65535!=(d&65535)&&(a.Fc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function ng(a){var b=a.f;if(b.A.U)throw ke(b,a.f.P&65535),a.Z(),-1;return!1}function Md(a,b,c){Lj(a,b,c||1,a.L)&&a.Z(!0)}function Nd(a,b,c){Lj(a,b,c||1,a.G)&&a.Z(!0)}
function gj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=kj(c),c.Ka?(c=a.D,Ld(c.b[d>>>c.g],!1)):Be(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=kj(c),c.Ka?(c=a.D,Ld(c.b[d>>>c.g],!0)):Be(a.f,!0);a.G=["bw"];a.ma=0}
h.ob=function(a,b,c){var d=!0;c||Mj(this,a,b,!1,!0);if(a!=this.g){var e=kj(b);if(-1===e)this.u("invalid address: "+rj(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].ob(e&g.i,f)}else e=this.f,(f?e.Vb++:e.Tb++)||ie(e)}}d&&(a.push(b),c?b.Qa=!0:(Nj(this,a,a.length-1,"set"),hj(this)));return d};
function Mj(a,b,c,d,e){var f=!1;c=kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==kj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||Nj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ka?(d=a.D,Ld(d.b[c>>>d.g],b)):Be(a.f,b));k.Qa||hj(a);break}}return f}function Oj(a,b){for(var c=1;c<b.length;c++)Nj(a,b,c);return b.length-1}function Nj(a,b,c,d){c=b[c];a.u(b[0]+" "+rj(a,c)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}
function Kj(a,b){if(void 0!==b)Lj(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!Mj(a,a.g,c,!0))break;b=0}}}
function Lj(a,b,c,d,e){var f=!1;if(!a.ma++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=kj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Mj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Pj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Nj(a,d,g,"hit");break}}}a.ma--;return f}
function Qj(a,b,c,d){var e=W(b.K),f=a.Oa(b,2),g,k;for(k in a.Ga)if(g=a.Ga[k][f&k])break;g||(g=Rj);var l=g[0];0<=a.Aa.indexOf(l)&&(g=Rj,l=g[0]);var m=k="",n=Sj[l],r=g.length-1;l||r||(k=O(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var D=u,u=b,z="",C=D&Tj;if(C==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(C==Uj)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(C==Vj)z=O(t,f&7,1);else if(C==Wj)z=O(t,f&63,1);else if(C==Xj)z=O(t,f&255,1);else if(C=f&D,D&Yj&&(C>>=6,D>>=6),D&Y){var D=null,F=C&
Zj;switch(C&ak){case 0:z=tj(F);break;case 8:z="@"+tj(F);D=bk(t,t.f.g[F]);break;case 16:7>F?z="("+tj(F)+")+":(C=t.Oa(u,2),z="#"+O(t,C,0,!0));break;case 24:7>F?z="@("+tj(F)+")+":(C=t.Oa(u,2),z="@#"+O(t,C,0,!0),D=bk(t,C));break;case 32:z="-("+tj(F)+")";break;case 40:z="@-("+tj(F)+")";break;case 48:C=t.Oa(u,2);z=O(t,C,0,!0)+"("+tj(F)+")";7==F&&(z=O(t,C=C+u.K&65535),D=bk(t,C));break;case 56:C=t.Oa(u,2),z="@"+O(t,C)+"("+tj(F)+")",7==F&&(z="@"+O(t,C=C+u.K&65535),D=bk(t,mc(t.f,C)))}D&&(z=[z,D])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=rj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+O(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=ta(f,24);g+=ta(n,5);k&&(g+=" "+k);if(c||m)g=ta(g,60)+";"+(c||""),g=a.f.A.zb?g+("cycles="+Yd(a.f).toString()+" cs="+v(a.f.Qb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function bk(a,b){b=ze(a.f,b)[0];b>=a.f.ib&&b<a.D.C&&(b=b-a.f.ib+a.D.C);var c=a.D;a=null;b>=c.C&&(b=c.Ma[b&Yc])&&(a=b[4]);return a}function ck(a,b){switch(b){case "N":a=pe(a.f);break;case "Z":a=oe(a.f);break;case "V":a=ne(a.f);break;case "C":a=me(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=tj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.qa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.X[b-16]);else switch(b){case uj:c="PS="+O(a,nd(d));break;case vj:c="PI="+O(a,d.bb);break;case wj:c="ER="+O(a,d.R);break;case xj:c="SL="+O(a,d.Ba&65280);break;case yj:c="M0="+O(a,hd(d));break;case zj:c="M1="+O(a,jd(d));break;case Aj:c="M2="+O(a,kd(d));break;case Bj:c="M3="+O(a,d.T);break;case Cj:a.b&&(c="AR="+O(a,a.b.ta,3));break;case Dj:a.b&&(c="DR="+
O(a,a.b.tb));break;case Ej:a.b&&qc(a.b)&&(c="SR="+O(a,a.b.Va,3))}c&&(c+=" ");return c}function dk(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,uj)+Z(a,vj)+Z(a,xj);d+=ck(a,"T")+ck(a,"N")+ck(a,"Z")+ck(a,"V")+ck(a,"C");b&&(b=d,c=""+(Z(a,yj)+Z(a,zj)),c+=Z(a,Aj)+Z(a,Bj)+Z(a,wj),c=c+"\n"+(Z(a,Ej)+Z(a,Cj)+Z(a,Dj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function nh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=xa(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({xh:b,K:c,Qd:d,ea:e,ad:f})}function ek(a,b,c){var d=[],e=kj(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=xa(f.ad,[e-g],a.dd);0<=e?fk(a,b,e,d):c&&(e=~e,fk(a,b,e-1,d),fk(a,b,e,d));break}}return d}
function fk(a,b,c,d){var e={},f=a.C[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].ea[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function gk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ej(a)||a.u("no variables"),!0;if(!c[2])return ej(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=$i(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
function hk(a,b,c){var d=null;if(b=oj(a,b,!0)){var e=ek(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+w(f)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+w(f)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
function Ij(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=$i(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":ke(e,
g);a.H=W(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.G=g?65536:0;break;case "PS":od(e,g);break;case "PI":md(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.Ba=g|255;break;case "M0":id(e,g);d=!0;break;case "M3":ld(e,g);d=!0;break;case "AR":a.b&&(d=a.b,nc(d,d.ta=g));d=!0;break;case "DR":a.b&&(d=a.b,ic(d,d.tb=g));d=!0;break;case "SR":if(a.b&&qc(a.b)){oc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.u("unknown register: "+f);return}L(a.J);a.u("updated registers:")}}a.u(dk(a,d));c&&(a.H=W(e.g[7]),Jj(a,rj(a,a.H)))}}function ik(a,b){b=ua(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):dj(a,null,c[2].charCodeAt(0)):$i(a,b,!0)}
function jk(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=bj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.qa=b;Ra(c,function(){return vb(a,!0)&&dc(a,e,d,!1)},function(){a.b&&a.b.stop();L(a.J,-1);vb(a,!1)})}}
function Jj(a,b,c,d){if(b=oj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=bj(a,c.substr(1)),null!=c&&(d=c);else{d=oj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.u("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ub(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=ek(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.u(m)}k[3]&&(g=k[3],f=null);f=Qj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
function Pj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+rj(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(tb(a)&&0<b.length){a.P&&(b="a "+rj(a,a.O)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
oj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.u("begin assemble at "+rj(a,r)),a.P=!0,L(a.J);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Nc(r,u[t],1);a.u(Qj(a,a.O))}}break;case "b":a:{var D=g[0],z=g[1],C=b;if("?"==z)a.u("breakpoint commands:"),a.u("\tbp [#]\tset exec breakpoint at addr #"),a.u("\tbr [#]\tset read breakpoint at addr #"),a.u("\tbw [#]\tset write breakpoint at addr #"),a.u("\tbc [#]\tclear breakpoint at addr #"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");
else{var F=D.charAt(1);if("l"==F){var fb;fb=0+Oj(a,a.g);fb+=Oj(a,a.L);(fb+=Oj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.Y=bj(a,z),a.u("break after "+a.Y+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var V=W();if("*"!=z&&(V=oj(a,z,!0),!V))break a;"c"==F?null==V.K?(gj(a),a.u("all breakpoints cleared")):Mj(a,a.g,V)||Mj(a,a.L,V)||Mj(a,a.G,V)||a.u("breakpoint missing: "+rj(a,V)):null!=V.K&&(qj(a,V,C),"p"==F?a.ob(a.g,V):"r"==F?a.ob(a.L,V):"w"==F?a.ob(a.G,V):a.u("unknown breakpoint command: "+
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Gb,Ua=g[0],Ga=g[1],Va=g[2],Jk=g[3];if("?"==Ga){var Hb="";for(Gb in Eb)a.la[Gb]&&(Hb&&(Hb+=","),Hb+=Gb);Hb+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");
Hb.length&&a.u("dump extension commands:\n\t"+Hb)}else if("state"==Ga){var Le=kk(a.J,!0);"console"==Va?console.log(Le):(a.Pa&&(a.Pa.value=""),Le&&a.u(Le))}else if("symbols"==Ga)for(var Me=0;Me<a.C.length;Me++){var Ne=a.C[Me],Ib;for(Ib in Ne.ea)if("."!=Ib.charAt(0)){var fi=Ne.ea[Ib].o;if(void 0!==fi){var gi=Ne.ea[Ib].l;gi&&(Ib=gi);a.u(O(a,fi)+" "+Ib)}}}else{if("d"==Ua){for(Gb in Eb)if(g[1]==Gb){var hi=a.la[Gb];hi?(g.shift(),g.shift(),hi(g)):a.u("no dump registered for "+Ga);break a}Ga||(Ua=a.Ha||"dw")}else a.Ha=
Ua;if("dh"==Ua){var ii=Ga,ji=Va,ki="",li=0,wa=a.R,Ha=a.i;if(Ha.length){var ra=+ii||a.pa,rc=+ji||10;isNaN(ra)?ra=rc:ki="more ";ra>Ha.length&&(a.u("note: only "+Ha.length+" available"),ra=Ha.length);wa-=ra;0>wa&&(null==Ha[Ha.length-1].K?(ra=wa+ra,wa=0):wa+=Ha.length);var Oe=[];"call"==ji&&(rc=1E5,Oe=["CALL"]);for(void 0!==ii&&a.u(ra+" instructions earlier:");0<rc&&wa!=a.R;){var mi=Ha[wa++];if(null==mi.K)break;var sc=W(mi.K),Kk=ra--,ni=Qj(a,sc,"history",Kk);(!Oe.length||0<=ni.indexOf(Oe[0]))&&a.u(ni);
sc.Ac&&(wa+=sc.Ac,rc-=sc.Ac,ra-=sc.Ac);wa>=Ha.length&&(wa=0);a.pa=ra;li++;rc--}}li||(a.u("no "+ki+"history available"),a.pa=void 0)}else{var fa=oj(a,Ga);if(fa)if("da"==Ua){var Pe=fa.Ka||65535<fa.K,K=ze(a.f,fa.K||0,Pe);a.u(ta("",Pe?12:19)+ma(fa.K,Pe?22:17,3)+" "+q(fa.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+ma(K[3],13,3)+" "+q(K[3],8)),a.u("UNIMAP["+na(K[1])+"]: "+ma(K[2],22,3)+" "+q(K[2],8))),a.u(" PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8))):(a.u(" OFFSET: "+
ma(K[1],13,3)+" "+q(K[1],8)),a.u("+ "+lk[K[2]]+"PAR"+K[3]+": "+ma(K[4],22,3)+" "+q(K[4],8)),a.u("& MMUMASK: "+ma(K[5],22,3)+" "+q(K[5],8)),a.u("= PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8)))}else{var hb=0,Qe="ds"==Ua;if(Va){if("l"==Va.charAt(0))Va=Va.substr(1)||Jk,hb=bj(a,Va);else{var oi=oj(a,Va);oi&&(hb=oi.K-fa.K)}0>hb&&(hb=0);65536<hb&&(hb=65536)}var Mk=a.xa;fa.xa&&(a.xa=fa.xa);for(var ib="dd"==Ua?4:"db"==Ua?1:2,vd=ib*hb||128,Re=Qe?16:a.xa,Nk=(vd+Re-1)/Re|0||1,jb="";Nk--&&0<vd;){for(var kb=
"",Se="",Ga=rj(a,fa),wd=Re,tc=0,uc=0;0<wd&&0<vd;){var Jb=1,xd=1==ib?a.Mc(fa,Jb):a.Oa(fa,Jb=2),tc=tc|xd<<(uc<<3),uc=uc+Jb;uc==ib&&(Qe?(kb&&(kb+=","),kb+="0x"+v(tc,2*ib)):(kb+=O(a,tc,ib),kb+=1==ib?9==wd?"-":" ":" "),tc=uc=0);wd-=Jb;for(vd-=Jb;1==ib&&Jb--;)var Te=xd&255,Se=Se+(32<=Te&&128>Te?String.fromCharCode(Te):"."),xd=xd>>8}jb&&(jb+="\n");jb=Qe?jb+(kb+","):jb+(Ga+": "+kb+(wd?"":" "+Se))}jb&&a.u(jb);a.Ba=fa;a.xa=Mk}}}}break;case "e":if("else"==g[0])break;var Kb,Ue,Ve,We,Xe=g[0],Ye=g[1];"eb"==Xe?
(Kb=1,Ue=255,Ve=a.Mc,We=a.Nc):"e"==Xe||"ew"==Xe?(Kb=2,Ue=65535,Ve=a.Oa,We=a.yd):Ye=null;if(null==Ye)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var yd=oj(a,Ye);if(yd)for(var zd=2;zd<g.length;zd++){var vc=$i(a,g[zd]);if(void 0===vc){a.u("unrecognized value: "+g[zd]);break}vc&~Ue&&a.u("warning: "+v(vc)+" exceeds "+Kb+"-byte value");a.u("changing "+rj(a,yd)+(I(a,16)?"":" from "+O(a,Ve.call(a,yd),Kb))+" to "+O(a,vc,Kb));
We.call(a,yd,vc,Kb)}}break;case "g":a:{var pi=g[1],Ok=b;if(void 0!==pi){var Ze=oj(a,pi,!0);if(!Ze)break a;qj(a,Ze,Ok);a.ob(a.g,Ze,!0)}Gj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),a.Z()):ub(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var $e;var wc=b.substr(2),wc=ua(wc);$i(a,wc)?(c||a.u("true: "+wc),$e=!0):(c||a.u("false: "+wc),$e=!1);$e||(d=!1);break}f=!0;break;case "k":var Pk=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var af=0,bf=W(),xc=W(a.f.g[6]);for(a.u("stack trace for "+rj(a,xc));10>af;){for(var lb=null,Qk=256;65536>xc.K>>>0;){bf.K=a.Oa(xc,2);if(null==xc.K||!Qk--)break;if(!(bf.K&1)){for(var Rk=a,Ad=bf,qi=null,yc=Ad.K,ri=yc,cf=1;6>=cf&&yc;cf++){if(2<cf){Ad.K=yc;var Bd=Qj(Rk,Ad);if(0<=Bd.indexOf("JSR")){var si=Bd.indexOf(" ");if(yc+(Bd.indexOf(" ",si+1)-si-1)/2==ri){qi=Bd;break}}}yc-=2}Ad.K=ri;if(lb=qi)break}}if(!lb||null==lb)break;var ti=null;if("ks"==Pk){var ui=lb.match(/[0-9A-F]+$/);ui&&(ti=hk(a,ui[0]))}lb=
ta(lb,50)+" ;"+(ti||"stack="+rj(a,xc));a.u(lb);af++}af||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){hk(a,g[1],!0);break}f=!0;break;case "m":a:{var Ia,Ja=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Wa=0;if("all"==N)Wa=1879046143,N=null;else if("on"==N)Ja=!0,N=null;else if("off"==N)Ja=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ia in Eb)if(N==Ia){Wa=Eb[Ia];Ja=!!(a.ga&Wa);break}if(!Wa){a.u("unknown message category: "+N);break a}}if(Wa)if("on"==g[2])a.ga|=
Wa,Ja=!0;else if("off"==g[2]&&(a.ga&=~Wa,Ja=!1,1073741824==Wa)){for(var vi=1E3<=a.N.length?a.N.length-1E3:0;vi<a.N.length;)a.u(a.N[vi++]);a.N=[]}}var Sk=0,zc="";for(Ia in Eb)if(!N||N==Ia){var Tk=!!(a.ga&Eb[Ia]);if(null===Ja||Ja==Tk)zc&&(zc+=","),++Sk%10||(zc+="\n\t"),"key"==Ia&&(Ia="keys"),zc+=Ia}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ja?Ja?"messages on: ":"messages off: ":"message categories:\n\t")+(zc||"none"));hj(a)}break;case "p":if("print"==
g[0]){ik(a,b.substr(5));break}var Uk=g[0];if("?"==g[1])a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else{var wi="pr"==Uk?1:0,xi=1+wi;if(a.I)a.u("step in progress");else{var Cd=W(a.f.g[7]),Lb=a.Oa(Cd);3==Lb||4==Lb||34816==(Lb&65280)||32256==(Lb&65024)||35072==(Lb&65280)?(a.I=xi,pj(Cd,2)):2048==(Lb&65024)&&(Qj(a,Cd),a.I=xi);a.I?(a.ob(a.g,Cd,!0),Gj(a)||(a.J&&be(a.J),a.I=0)):jk(a,wi?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();
break}Ij(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ac=+g[2];if(8==Ac||10==Ac||16==Ac)a.xa=Ac;else{a.u("invalid base: "+Ac);break}}a.u("default base: "+a.xa);break;case "cs":var Bc;void 0!==g[3]&&(Bc=+g[3]);switch(g[2]){case "int":a.f.Ab=Bc;break;case "start":a.f.Rb=Bc;break;case "stop":a.f.Cb=Bc;break;default:a.u("unknown cs option");break a}void 0!==Bc&&Ud(a.f);a.u("checksums "+(a.f.A.zb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Zd(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
a.u("target speed: "+(a.f.nb.toFixed(2)+"Mhz")+" ("+a.f.Za+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":jk(a,g[0],g[1]);break;case "u":Jj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){gk(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((xb||"PDP11")+" version 1.32.0 ("+a.f.Aa+",RELEASE"+(zb?",TYPEDARRAYS":yb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ik(a,b.substr(1));break}var df="commands:",ef;for(ef in mk)df+="\n"+ta(ef,9)+mk[ef];gf(a)||(df+="\nnote: history disabled if no exec breakpoints");a.u(df);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(zi){a.u("debugger error: "+(zi.stack||zi.message)),
d=!1}return d}function Xd(a,b,c){b=Yi(a,b,c);for(var d in b)if(!Pj(a,b[+d]))return!1;return!0}
var mk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Sj=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
uj=20,vj=21,wj=22,xj=23,yj=24,zj=25,Aj=26,Bj=27,Cj=28,Dj=29,Ej=30,sj={SP:6,PC:7,PS:uj,PI:vj,ER:wj,SL:xj,M0:yj,M1:zj,M2:Aj,M3:Bj,AR:Cj,DR:Dj,SR:Ej},lk="KI KD SI SD ?? ?? UI UD".split(" "),Zj=7,ak=56,Y=ak|Zj,Yj=4032,X=4096,Uj=8192,Vj=12288,Wj=24576,Xj=32768,Tj=61440,jj={61440:{4096:[62,Yj,Y],8192:[47,Yj,Y],12288:[18,Yj,Y],16384:[14,Yj,Y],20480:[16,Yj,Y],24576:[3,Yj,Y],36864:[63,Yj,Y],40960:[48,Yj,Y],45056:[19,Yj,Y],49152:[15,Yj,Y],53248:[17,Yj,Y],57344:[94,Yj,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,Uj]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,Xj],35072:[107,Xj]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,Wj],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,Zj],152:[108,Vj]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Rj=[0],nj=[58,60,65,96,108,110,100,101,102,103,104,105,59,64],Fj=1E3;Xa(function(){for(var a=G(document,E,"debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new fj(d);qb(d,c)}});
function nk(a,b,c){A.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.O=null;ok(this,b);this.L=Sd(this,"autoPower",a,6);this.j=0;this.T=+a.busWidth||+a.buswidth;this.b=pk;this.H=null;this.R=this.w=this.N=this.C=this.S=!1;this.v=null;this.V=Sd(this,"url")||"";(Math.random()+.1).toString(36);this.g=qk(this);if(this.f=pb("CPU",this.id)){this.F=pb("Debugger",this.id);this.D=new Ec({id:this.lb+".bus",busWidth:this.T},this.f,this.F);var d,e=nb(this.id);if((this.i=pb("Panel",this.id))&&this.i.Pa)for(b=
0;b<e.length;b++)d=e[b],d.M=this.i.M,d.u=this.i.u,d.Pa=this.i.Pa;this.u(xb+" v1.32.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.u("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ra&&d.ra(this,this.D,this.f,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.G=d:this.b=parseInt(d,10));var f;if(a=Sd(this,"state")||(f=!0,a.state))b=
this.P=a,f||(this.C=!0,this.b=pk),this.b&&(this.I=new le(this,"1.32.0"),rk(this.I)?b=null:delete this.I);!b&&this.b&&(b=sk(this))&&(this.C=!0);if(b){var g=this;Aa(b,null,!0,function(a,b,c){c?(g.G=null,g.C=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.H=b,g.S=!0);H(g)})}else H(this);this.B.power||(this.L=!0);!c&&this.L&&tk(this,this.Ub)}else y("Unable to find CPU component")}p(nk,A);
function ok(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){y(d.message+" ("+c+")")}}a.O=b}function Sd(a,b,c,d){var e=b.toLowerCase(),e=Oa(b)||Oa(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);if("string"==typeof e&&d)switch(d){case 4:e=+e;break;case 6:e="true"==e}return e}
function tk(a,b,c){for(var d=nb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){tk(a,b,c)});return}}b.call(a,c)}function uk(a,b){var c=new le(a,"1.32.0",vk);if(rk(c)&&wk(c)){var d=c.get(xk),e=b?b.get(xk):"unknown";d!=e&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=nk.prototype;
h.Ub=function(a){void 0===a&&(a=this.b||(this.H?yk:pk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.I||new le(this,"1.32.0");if(a==zk)b=!0;else if(a>pk){if(rk(d,this.H)){this.v=new le(this,"1.32.0",Ak);rk(this.v)&&(Bk(this,d),a=Ck,Dk(this.v));this.v.set(xk,za());Ek(this.v);var e=this.b&&!this.C;if(a==yk||Ea("Click OK to restore the previous "+xb+" machine state, or CANCEL to reset the machine.")){if(c=wk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?rk(d,g):("error"==f&&"no machine state"!=
g?(this.M("Error: "+g),"unable to verify user"==g&&(Ma(Fk,""),this.g=null)):this.u(f+": "+g),Dk(d),rk(d)?(c=wk(d),e=!0):c=!1))}e&&uk(this,c?d:null)}else a==Ck&&d.clear()}else uk(this);delete this.H;delete this.I}e=nb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Gk(this,g,d,b,c));b=[d,a,c];a!=zk?tk(this,this.ed,b):this.ed(b)}};
function Gk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;if(b.sa){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.sa(f,d)&&f&&(y("Unable to restore state for "+b.type),a.P&&!a.S?(c.clear(),a.b=pk,window&&window.location.reload()):a.N=!0,b.sa(null),e=!1)}if(!d&&b.Rc)for(a=b.Rc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
h.ed=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.f&&(Gk(this,this.f,b,c,a),L(this),this.f.Ia());this.N&&(Bk(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
function Bk(a,b){if(Ea("There may be a problem with your "+xb+" machine.\n\nTo help us diagnose it, click OK to send this "+xb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=xb;d.ver="1.32.0";d.url=c;d.user=a;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}}
function kk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new le(a,"1.32.0"),g=new le(a,"1.32.0",vk),k=za();g.set(xk,k);f.set(xk,k);f.set(Hk,"1.32.0");f.set(Ik,window?window.location.href:null);f.set(Lk,window?window.navigator.userAgent:"");a.f&&a.f.Ca&&(c&&a.f.Z(),d=a.f.Ca(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=nb(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.Ca&&(d=m.Ca(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=!1,!1===d&&(e=null)))}e&&
(c?(k=d=!1,b?(a.g&&Vk(a,a.g,f.toString()),Ek(g)&&Ek(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==Wk),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.B.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.D&&this.D.reset&&(J(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(J(this,"Resetting "+this.f.type),this.f.reset());for(var a=nb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(J(this,"Resetting "+c.type),c.reset())}L(this,-1)};
d))}return d}function aj(a,b){for(var c,d=a.ga?"(":"{",e=a.ga?")":"}",f=new RegExp(a.ga?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=$i(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function bj(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.T[b],null==e&&(e=la(b,a.ya))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function dj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=ma(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+q(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
function ej(a,b){if(b)return dj(a,b,a.T[b]);var c=0;for(b in a.T)dj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.ya){case 8:a=q(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=v(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var cj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function fj(a){Xi.call(this,a);this.Da=!1;this.ga=!0;this.H=W();this.Ba=W();this.O=W();this.C=[];this.g=this.L=this.G=[];gj(this);this.R=this.ba=0;this.i=[];this.qa=void 0;hj(this);this.F=this;this.ma={};this.ha=this.cd=0;this.S=null;this.N=[];ij(this,a.messages);this.va=a.commands;this.Ga=jj;this.X=[];this.I=0;this.Ha=this.ra=null;this.w=this.Fa=this.Ea=this.Y=this.na=0;this.b=this.V=null;var b=this;window?void 0===window[E]&&(window[E]=function(a){return Xd(b,a)}):void 0===global[E]&&(global[E]=
function(a){return Xd(b,a)})}p(fj,Xi);function kj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,ya:c}}h=fj.prototype;h.Fc=function(a,b){a.K=b;a.Qa=!1;a.ya=void 0;return a};function lj(a){return[a.K,a.Ka,a.ya,a.Qa,a.dc]}function mj(a,b){var c=W(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=Yi(a,c.dc=b[4]));return c}
h.sa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=Sd(a,"messages"))&&ij(this,a);1140>this.f.ba&&(this.X=this.X.concat(nj));1145>this.f.ba&&(this.X=this.X.concat(oj));ed(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=kj(pj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):
(c=n.type,m=Qc[c],n&&d.u(v(n.id,8)+" %"+v(e<<d.D.g,8)+" %"+v(n.K,8)+" "+w(n.Hb)+" "+w(n.size)+" "+m),c!=sd&&(c=-1),m=0);a+=d.D.j;e++}}});H(this)};
h.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.B[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Xd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.B[b]=c,Sa(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";Xd(d,a,!0);return!0}return!1}),!0;case "step":return this.B[b]=c,Sa(c,function(a){var b=!1;ub(d,!0)||(vb(d,!0),b=dc(d,a?1:0,null),vb(d,!1));return b}),!0}return!1};function Wd(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Mc=function(a,b){var c=255,d=kj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=ye(this.f,d),c.G=!1,c.ja++,d=Sc(c,d).j(d&c.i,d),c.ja--):(c=this.f,c.na++,d=c.D.Jc(kc(c,d,3)),c.na--),c=d,b&&qj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=kj(a);-1!==d&&(c=a.Ka||65535<d?lc(this.D,ye(this.f,d)):mc(this.f,d),b&&qj(a,b));return c};h.Nc=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ka||65535<d)Tc(this.D,ye(this.f,d),b);else{var e=this.f;e.na++;e.D.Kc(kc(e,d,5),b);e.na--}c&&qj(a,c);L(this.J,-1)}};h.yd=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ka||65535<d)jc(this.D,ye(this.f,d),b);else{var e=this.f;e.na++;e.D.Lb(kc(e,d,4),b);e.na--}c&&qj(a,c);L(this.J,-1)}};
function pj(a,b,c){var d;c=(c?a.H:a.Ba).K;var e,f;if(void 0!==b){b=aj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.C+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.C.length;c++)if(l=a.C[c].ea[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=$i(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
function rj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=Yi(a,b.dc=c[2]))}function qj(a,b){null!=a.K&&(a.K+=b||1)}function sj(a,b){return(b.Ka?"%":"")+O(a,b.K)}
function ij(a,b){a.F=a;a.ha=a.cd=536870912;a.S=null;a.N=[];b=Yi(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Eb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ha|=Eb[c],a.u(c+" messages enabled"))}}function ed(a,b,c){for(var d in Eb)if(b==Eb[d]){a.ma[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=tj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function uj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.ra[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.b;switch(a){case vj:b=nd(this.f);break;case wj:b=c.bb;break;case xj:b=c.R;break;case yj:b=c.Ba&65280;break;case zj:b=hd(c);break;case Aj:b=jd(c);break;case Bj:b=kd(c);break;case Cj:b=c.T;break;case Dj:d&&(b=d.ua);break;case Ej:d&&(b=d.tb);break;case Fj:d&&qc(d)&&(b=d.Va)}}return b};
h.message=function(a,b){b&&(a+=" @"+sj(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ha&1073741824)this.N.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.U)||ub(this,!0))this.Z(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,ce(a),a.hb=0,a.J&&L(a.J,void 0))}};
function hj(a){var b;if(!gf(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Gj);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.u("instruction history buffer allocated")}}function Hj(a,b,c){if(!Ij(a,c))return!1;cc(a.f,b);return!0}
function dc(a,b,c,d){if(!Ij(a))return!1;null===c&&(c=!a.ra||"tr"==a.ra);a.w=0;b||gf(a)&&hf(a,a.f.g[7],0);try{b=de(a.f,b);var e=a.f.$b(b);0<e&&(ec(a.f,e),a.w+=e,fc(a.f,e,!0),gc(a.f,e),a.Y++)}catch(f){"number"!=typeof f&&(a.w=0,rb(a.f,f.stack||f.message))}!1!==d&&(a.b&&a.b.stop(),L(a.J,-1));Vd(a,c||!1);return 0<a.w}h.Z=function(a){this.f&&this.f.Z(a)};
function Vd(a,b){if(a.Da){void 0===b&&(b=!0);var c;c=a.f;if(c=c.i&128?c.Zc|c.Yc<<8:0){var d=c>>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?Cb[-d]:O(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.I?Jj(a):Kj(a)}}function Ij(a,b){var c;(c=!a.f||!tb(a.f))||(c=a.f,c.A.fa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.U?(b||a.u("cpu busy or unavailable, command ignored"),!1):!sb(a.f)}h.ta=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
h.Ca=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){hj(this);this.Y=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.U=!1;Lj(this);a||Vd(this)};h.save=function(){var a=new le(this);a.set(0,lj(this.H));a.set(1,lj(this.O));a.set(2,[this.j,this.P,this.ha]);a.set(3,this.C);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=mj(this,a[b++]),this.O=mj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ha|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.I||this.u("running");this.A.U=!0;this.Ea=a;this.Fa=b};
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Fa;if(!this.I){b="stopped";if(this.w){a-=this.Ea;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";gf(this)&&(b+=this.Y+" instructions, ",this.Y=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else I(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}Vd(this,!0);Wd(this);Lj(this,this.f.g[7]);this.S=null}};function gf(a){return 1<a.g.length||!!a.ba}
function hf(a,b,c){var d=-1;c||(d=mc(a.f,b))||(a.f.P&65535)!=b||(b=qe(a.f,2));if(0<c&&(a.ba&&!--a.ba||Mj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.Y++,0>d&&(d=mc(a.f,b)),65535!=(d&65535)&&(a.Fc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function ng(a){var b=a.f;if(b.A.U)throw ke(b,a.f.P&65535),a.Z(),-1;return!1}function Md(a,b,c){Mj(a,b,c||1,a.L)&&a.Z(!0)}function Nd(a,b,c){Mj(a,b,c||1,a.G)&&a.Z(!0)}
function gj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=kj(c),c.Ka?(c=a.D,Ld(c.b[d>>>c.g],!1)):Be(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=kj(c),c.Ka?(c=a.D,Ld(c.b[d>>>c.g],!0)):Be(a.f,!0);a.G=["bw"];a.na=0}
h.ob=function(a,b,c){var d=!0;c||Nj(this,a,b,!1,!0);if(a!=this.g){var e=kj(b);if(-1===e)this.u("invalid address: "+sj(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].ob(e&g.i,f)}else e=this.f,(f?e.Vb++:e.Tb++)||ie(e)}}d&&(a.push(b),c?b.Qa=!0:(Oj(this,a,a.length-1,"set"),hj(this)));return d};
function Nj(a,b,c,d,e){var f=!1;c=kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==kj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||Oj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ka?(d=a.D,Ld(d.b[c>>>d.g],b)):Be(a.f,b));k.Qa||hj(a);break}}return f}function Pj(a,b){for(var c=1;c<b.length;c++)Oj(a,b,c);return b.length-1}function Oj(a,b,c,d){c=b[c];a.u(b[0]+" "+sj(a,c)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}
function Lj(a,b){if(void 0!==b)Mj(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!Nj(a,a.g,c,!0))break;b=0}}}
function Mj(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=kj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Nj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Qj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Oj(a,d,g,"hit");break}}}a.na--;return f}
function Rj(a,b,c,d){var e=W(b.K),f=a.Oa(b,2),g,k;for(k in a.Ga)if(g=a.Ga[k][f&k])break;g||(g=Sj);var l=g[0];0<=a.X.indexOf(l)&&(g=Sj,l=g[0]);var m=k="",n=Tj[l],r=g.length-1;l||r||(k=O(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var D=u,u=b,z="",C=D&Uj;if(C==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(C==Vj)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(C==Wj)z=O(t,f&7,1);else if(C==Xj)z=O(t,f&63,1);else if(C==Yj)z=O(t,f&255,1);else if(C=f&D,D&Zj&&(C>>=6,D>>=6),D&Y){var D=null,F=C&
ak;switch(C&bk){case 0:z=uj(F);break;case 8:z="@"+uj(F);D=ck(t,t.f.g[F]);break;case 16:7>F?z="("+uj(F)+")+":(C=t.Oa(u,2),z="#"+O(t,C,0,!0));break;case 24:7>F?z="@("+uj(F)+")+":(C=t.Oa(u,2),z="@#"+O(t,C,0,!0),D=ck(t,C));break;case 32:z="-("+uj(F)+")";break;case 40:z="@-("+uj(F)+")";break;case 48:C=t.Oa(u,2);z=O(t,C,0,!0)+"("+uj(F)+")";7==F&&(z=O(t,C=C+u.K&65535),D=ck(t,C));break;case 56:C=t.Oa(u,2),z="@"+O(t,C)+"("+uj(F)+")",7==F&&(z="@"+O(t,C=C+u.K&65535),D=ck(t,mc(t.f,C)))}D&&(z=[z,D])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=sj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+O(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=ta(f,24);g+=ta(n,5);k&&(g+=" "+k);if(c||m)g=ta(g,60)+";"+(c||""),g=a.f.A.zb?g+("cycles="+Yd(a.f).toString()+" cs="+v(a.f.Qb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function ck(a,b){b=ze(a.f,b)[0];b>=a.f.ib&&b<a.D.C&&(b=b-a.f.ib+a.D.C);var c=a.D;a=null;b>=c.C&&(b=c.Ma[b&Yc])&&(a=b[4]);return a}function dk(a,b){switch(b){case "N":a=pe(a.f);break;case "Z":a=oe(a.f);break;case "V":a=ne(a.f);break;case "C":a=me(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=uj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.ra[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.X[b-16]);else switch(b){case vj:c="PS="+O(a,nd(d));break;case wj:c="PI="+O(a,d.bb);break;case xj:c="ER="+O(a,d.R);break;case yj:c="SL="+O(a,d.Ba&65280);break;case zj:c="M0="+O(a,hd(d));break;case Aj:c="M1="+O(a,jd(d));break;case Bj:c="M2="+O(a,kd(d));break;case Cj:c="M3="+O(a,d.T);break;case Dj:a.b&&(c="AR="+O(a,a.b.ua,3));break;case Ej:a.b&&(c="DR="+
O(a,a.b.tb));break;case Fj:a.b&&qc(a.b)&&(c="SR="+O(a,a.b.Va,3))}c&&(c+=" ");return c}function ek(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,vj)+Z(a,wj)+Z(a,yj);d+=dk(a,"T")+dk(a,"N")+dk(a,"Z")+dk(a,"V")+dk(a,"C");b&&(b=d,c=""+(Z(a,zj)+Z(a,Aj)),c+=Z(a,Bj)+Z(a,Cj)+Z(a,xj),c=c+"\n"+(Z(a,Fj)+Z(a,Dj)+Z(a,Ej)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function nh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=xa(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({xh:b,K:c,Qd:d,ea:e,ad:f})}function fk(a,b,c){var d=[],e=kj(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=xa(f.ad,[e-g],a.dd);0<=e?gk(a,b,e,d):c&&(e=~e,gk(a,b,e-1,d),gk(a,b,e,d));break}}return d}
function gk(a,b,c,d){var e={},f=a.C[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].ea[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function hk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ej(a)||a.u("no variables"),!0;if(!c[2])return ej(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=$i(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
function ik(a,b,c){var d=null;if(b=pj(a,b,!0)){var e=fk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+w(f)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+w(f)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
function Jj(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=$i(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":ke(e,
g);a.H=W(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.G=g?65536:0;break;case "PS":od(e,g);break;case "PI":md(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.Ba=g|255;break;case "M0":id(e,g);d=!0;break;case "M3":ld(e,g);d=!0;break;case "AR":a.b&&(d=a.b,nc(d,d.ua=g));d=!0;break;case "DR":a.b&&(d=a.b,ic(d,d.tb=g));d=!0;break;case "SR":if(a.b&&qc(a.b)){oc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.u("unknown register: "+f);return}L(a.J);a.u("updated registers:")}}a.u(ek(a,d));c&&(a.H=W(e.g[7]),Kj(a,sj(a,a.H)))}}function jk(a,b){b=ua(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):dj(a,null,c[2].charCodeAt(0)):$i(a,b,!0)}
function kk(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=bj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ra=b;Ra(c,function(){return vb(a,!0)&&dc(a,e,d,!1)},function(){a.b&&a.b.stop();L(a.J,-1);vb(a,!1)})}}
function Kj(a,b,c,d){if(b=pj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=bj(a,c.substr(1)),null!=c&&(d=c);else{d=pj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.u("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ub(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=fk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.u(m)}k[3]&&(g=k[3],f=null);f=Rj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
function Qj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+sj(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(tb(a)&&0<b.length){a.P&&(b="a "+sj(a,a.O)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
pj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.u("begin assemble at "+sj(a,r)),a.P=!0,L(a.J);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Nc(r,u[t],1);a.u(Rj(a,a.O))}}break;case "b":a:{var D=g[0],z=g[1],C=b;if("?"==z)a.u("breakpoint commands:"),a.u("\tbp [#]\tset exec breakpoint at addr #"),a.u("\tbr [#]\tset read breakpoint at addr #"),a.u("\tbw [#]\tset write breakpoint at addr #"),a.u("\tbc [#]\tclear breakpoint at addr #"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");
else{var F=D.charAt(1);if("l"==F){var fb;fb=0+Pj(a,a.g);fb+=Pj(a,a.L);(fb+=Pj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.ba=bj(a,z),a.u("break after "+a.ba+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var V=W();if("*"!=z&&(V=pj(a,z,!0),!V))break a;"c"==F?null==V.K?(gj(a),a.u("all breakpoints cleared")):Nj(a,a.g,V)||Nj(a,a.L,V)||Nj(a,a.G,V)||a.u("breakpoint missing: "+sj(a,V)):null!=V.K&&(rj(a,V,C),"p"==F?a.ob(a.g,V):"r"==F?a.ob(a.L,V):"w"==F?a.ob(a.G,V):a.u("unknown breakpoint command: "+
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Gb,Ua=g[0],Ga=g[1],Va=g[2],Kk=g[3];if("?"==Ga){var Hb="";for(Gb in Eb)a.ma[Gb]&&(Hb&&(Hb+=","),Hb+=Gb);Hb+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");
Hb.length&&a.u("dump extension commands:\n\t"+Hb)}else if("state"==Ga){var Le=lk(a.J,!0);"console"==Va?console.log(Le):(a.Pa&&(a.Pa.value=""),Le&&a.u(Le))}else if("symbols"==Ga)for(var Me=0;Me<a.C.length;Me++){var Ne=a.C[Me],Ib;for(Ib in Ne.ea)if("."!=Ib.charAt(0)){var fi=Ne.ea[Ib].o;if(void 0!==fi){var gi=Ne.ea[Ib].l;gi&&(Ib=gi);a.u(O(a,fi)+" "+Ib)}}}else{if("d"==Ua){for(Gb in Eb)if(g[1]==Gb){var hi=a.ma[Gb];hi?(g.shift(),g.shift(),hi(g)):a.u("no dump registered for "+Ga);break a}Ga||(Ua=a.Ha||"dw")}else a.Ha=
Ua;if("dh"==Ua){var ii=Ga,ji=Va,ki="",li=0,wa=a.R,Ha=a.i;if(Ha.length){var ra=+ii||a.qa,rc=+ji||10;isNaN(ra)?ra=rc:ki="more ";ra>Ha.length&&(a.u("note: only "+Ha.length+" available"),ra=Ha.length);wa-=ra;0>wa&&(null==Ha[Ha.length-1].K?(ra=wa+ra,wa=0):wa+=Ha.length);var Oe=[];"call"==ji&&(rc=1E5,Oe=["CALL"]);for(void 0!==ii&&a.u(ra+" instructions earlier:");0<rc&&wa!=a.R;){var mi=Ha[wa++];if(null==mi.K)break;var sc=W(mi.K),Lk=ra--,ni=Rj(a,sc,"history",Lk);(!Oe.length||0<=ni.indexOf(Oe[0]))&&a.u(ni);
sc.Ac&&(wa+=sc.Ac,rc-=sc.Ac,ra-=sc.Ac);wa>=Ha.length&&(wa=0);a.qa=ra;li++;rc--}}li||(a.u("no "+ki+"history available"),a.qa=void 0)}else{var fa=pj(a,Ga);if(fa)if("da"==Ua){var Pe=fa.Ka||65535<fa.K,K=ze(a.f,fa.K||0,Pe);a.u(ta("",Pe?12:19)+ma(fa.K,Pe?22:17,3)+" "+q(fa.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+ma(K[3],13,3)+" "+q(K[3],8)),a.u("UNIMAP["+na(K[1])+"]: "+ma(K[2],22,3)+" "+q(K[2],8))),a.u(" PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8))):(a.u(" OFFSET: "+
ma(K[1],13,3)+" "+q(K[1],8)),a.u("+ "+mk[K[2]]+"PAR"+K[3]+": "+ma(K[4],22,3)+" "+q(K[4],8)),a.u("& MMUMASK: "+ma(K[5],22,3)+" "+q(K[5],8)),a.u("= PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8)))}else{var hb=0,Qe="ds"==Ua;if(Va){if("l"==Va.charAt(0))Va=Va.substr(1)||Kk,hb=bj(a,Va);else{var oi=pj(a,Va);oi&&(hb=oi.K-fa.K)}0>hb&&(hb=0);65536<hb&&(hb=65536)}var Nk=a.ya;fa.ya&&(a.ya=fa.ya);for(var ib="dd"==Ua?4:"db"==Ua?1:2,vd=ib*hb||128,Re=Qe?16:a.ya,Ok=(vd+Re-1)/Re|0||1,jb="";Ok--&&0<vd;){for(var kb=
"",Se="",Ga=sj(a,fa),wd=Re,tc=0,uc=0;0<wd&&0<vd;){var Jb=1,xd=1==ib?a.Mc(fa,Jb):a.Oa(fa,Jb=2),tc=tc|xd<<(uc<<3),uc=uc+Jb;uc==ib&&(Qe?(kb&&(kb+=","),kb+="0x"+v(tc,2*ib)):(kb+=O(a,tc,ib),kb+=1==ib?9==wd?"-":" ":" "),tc=uc=0);wd-=Jb;for(vd-=Jb;1==ib&&Jb--;)var Te=xd&255,Se=Se+(32<=Te&&128>Te?String.fromCharCode(Te):"."),xd=xd>>8}jb&&(jb+="\n");jb=Qe?jb+(kb+","):jb+(Ga+": "+kb+(wd?"":" "+Se))}jb&&a.u(jb);a.Ba=fa;a.ya=Nk}}}}break;case "e":if("else"==g[0])break;var Kb,Ue,Ve,We,Xe=g[0],Ye=g[1];"eb"==Xe?
(Kb=1,Ue=255,Ve=a.Mc,We=a.Nc):"e"==Xe||"ew"==Xe?(Kb=2,Ue=65535,Ve=a.Oa,We=a.yd):Ye=null;if(null==Ye)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var yd=pj(a,Ye);if(yd)for(var zd=2;zd<g.length;zd++){var vc=$i(a,g[zd]);if(void 0===vc){a.u("unrecognized value: "+g[zd]);break}vc&~Ue&&a.u("warning: "+v(vc)+" exceeds "+Kb+"-byte value");a.u("changing "+sj(a,yd)+(I(a,16)?"":" from "+O(a,Ve.call(a,yd),Kb))+" to "+O(a,vc,Kb));
We.call(a,yd,vc,Kb)}}break;case "g":a:{var pi=g[1],Pk=b;if(void 0!==pi){var Ze=pj(a,pi,!0);if(!Ze)break a;rj(a,Ze,Pk);a.ob(a.g,Ze,!0)}Hj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),a.Z()):ub(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var $e;var wc=b.substr(2),wc=ua(wc);$i(a,wc)?(c||a.u("true: "+wc),$e=!0):(c||a.u("false: "+wc),$e=!1);$e||(d=!1);break}f=!0;break;case "k":var Qk=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var af=0,bf=W(),xc=W(a.f.g[6]);for(a.u("stack trace for "+sj(a,xc));10>af;){for(var lb=null,Rk=256;65536>xc.K>>>0;){bf.K=a.Oa(xc,2);if(null==xc.K||!Rk--)break;if(!(bf.K&1)){for(var Sk=a,Ad=bf,qi=null,yc=Ad.K,ri=yc,cf=1;6>=cf&&yc;cf++){if(2<cf){Ad.K=yc;var Bd=Rj(Sk,Ad);if(0<=Bd.indexOf("JSR")){var si=Bd.indexOf(" ");if(yc+(Bd.indexOf(" ",si+1)-si-1)/2==ri){qi=Bd;break}}}yc-=2}Ad.K=ri;if(lb=qi)break}}if(!lb||null==lb)break;var ti=null;if("ks"==Qk){var ui=lb.match(/[0-9A-F]+$/);ui&&(ti=ik(a,ui[0]))}lb=
ta(lb,50)+" ;"+(ti||"stack="+sj(a,xc));a.u(lb);af++}af||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){ik(a,g[1],!0);break}f=!0;break;case "m":a:{var Ia,Ja=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Wa=0;if("all"==N)Wa=1879046143,N=null;else if("on"==N)Ja=!0,N=null;else if("off"==N)Ja=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ia in Eb)if(N==Ia){Wa=Eb[Ia];Ja=!!(a.ha&Wa);break}if(!Wa){a.u("unknown message category: "+N);break a}}if(Wa)if("on"==g[2])a.ha|=
Wa,Ja=!0;else if("off"==g[2]&&(a.ha&=~Wa,Ja=!1,1073741824==Wa)){for(var vi=1E3<=a.N.length?a.N.length-1E3:0;vi<a.N.length;)a.u(a.N[vi++]);a.N=[]}}var Tk=0,zc="";for(Ia in Eb)if(!N||N==Ia){var Uk=!!(a.ha&Eb[Ia]);if(null===Ja||Ja==Uk)zc&&(zc+=","),++Tk%10||(zc+="\n\t"),"key"==Ia&&(Ia="keys"),zc+=Ia}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ja?Ja?"messages on: ":"messages off: ":"message categories:\n\t")+(zc||"none"));hj(a)}break;case "p":if("print"==
g[0]){jk(a,b.substr(5));break}var Vk=g[0];if("?"==g[1])a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else{var wi="pr"==Vk?1:0,xi=1+wi;if(a.I)a.u("step in progress");else{var Cd=W(a.f.g[7]),Lb=a.Oa(Cd);3==Lb||4==Lb||34816==(Lb&65280)||32256==(Lb&65024)||35072==(Lb&65280)?(a.I=xi,qj(Cd,2)):2048==(Lb&65024)&&(Rj(a,Cd),a.I=xi);a.I?(a.ob(a.g,Cd,!0),Hj(a)||(a.J&&be(a.J),a.I=0)):kk(a,wi?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();
break}Jj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ac=+g[2];if(8==Ac||10==Ac||16==Ac)a.ya=Ac;else{a.u("invalid base: "+Ac);break}}a.u("default base: "+a.ya);break;case "cs":var Bc;void 0!==g[3]&&(Bc=+g[3]);switch(g[2]){case "int":a.f.Ab=Bc;break;case "start":a.f.Rb=Bc;break;case "stop":a.f.Cb=Bc;break;default:a.u("unknown cs option");break a}void 0!==Bc&&Ud(a.f);a.u("checksums "+(a.f.A.zb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Zd(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
a.u("target speed: "+(a.f.nb.toFixed(2)+"Mhz")+" ("+a.f.Za+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":kk(a,g[0],g[1]);break;case "u":Kj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){hk(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((xb||"PDP11")+" version 1.32.0 ("+a.f.ba+",RELEASE"+(zb?",TYPEDARRAYS":yb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){jk(a,b.substr(1));break}var df="commands:",ef;for(ef in nk)df+="\n"+ta(ef,9)+nk[ef];gf(a)||(df+="\nnote: history disabled if no exec breakpoints");a.u(df);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(zi){a.u("debugger error: "+(zi.stack||zi.message)),
d=!1}return d}function Xd(a,b,c){b=Yi(a,b,c);for(var d in b)if(!Qj(a,b[+d]))return!1;return!0}
var nk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Tj=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
vj=20,wj=21,xj=22,yj=23,zj=24,Aj=25,Bj=26,Cj=27,Dj=28,Ej=29,Fj=30,tj={SP:6,PC:7,PS:vj,PI:wj,ER:xj,SL:yj,M0:zj,M1:Aj,M2:Bj,M3:Cj,AR:Dj,DR:Ej,SR:Fj},mk="KI KD SI SD ?? ?? UI UD".split(" "),ak=7,bk=56,Y=bk|ak,Zj=4032,X=4096,Vj=8192,Wj=12288,Xj=24576,Yj=32768,Uj=61440,jj={61440:{4096:[62,Zj,Y],8192:[47,Zj,Y],12288:[18,Zj,Y],16384:[14,Zj,Y],20480:[16,Zj,Y],24576:[3,Zj,Y],36864:[63,Zj,Y],40960:[48,Zj,Y],45056:[19,Zj,Y],49152:[15,Zj,Y],53248:[17,Zj,Y],57344:[94,Zj,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,Vj]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,Yj],35072:[107,Yj]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,Xj],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,ak],152:[108,Wj]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Sj=[0],nj=[58,60,65,96,110,100,101,102,103,104,105],oj=[108,59,64],Gj=1E3;Xa(function(){for(var a=G(document,E,"debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new fj(d);qb(d,c)}});
function ok(a,b,c){A.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.O=null;pk(this,b);this.L=Sd(this,"autoPower",a,6);this.j=0;this.T=+a.busWidth||+a.buswidth;this.b=qk;this.H=null;this.R=this.w=this.N=this.C=this.S=!1;this.v=null;this.V=Sd(this,"url")||"";(Math.random()+.1).toString(36);this.g=rk(this);if(this.f=pb("CPU",this.id)){this.F=pb("Debugger",this.id);this.D=new Ec({id:this.lb+".bus",busWidth:this.T},this.f,this.F);var d,e=nb(this.id);if((this.i=pb("Panel",this.id))&&this.i.Pa)for(b=
0;b<e.length;b++)d=e[b],d.M=this.i.M,d.u=this.i.u,d.Pa=this.i.Pa;this.u(xb+" v1.32.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.u("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.sa&&d.sa(this,this.D,this.f,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.G=d:this.b=parseInt(d,10));var f;if(a=Sd(this,"state")||(f=!0,a.state))b=
this.P=a,f||(this.C=!0,this.b=qk),this.b&&(this.I=new le(this,"1.32.0"),sk(this.I)?b=null:delete this.I);!b&&this.b&&(b=tk(this))&&(this.C=!0);if(b){var g=this;Aa(b,null,!0,function(a,b,c){c?(g.G=null,g.C=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.H=b,g.S=!0);H(g)})}else H(this);this.B.power||(this.L=!0);!c&&this.L&&uk(this,this.Ub)}else y("Unable to find CPU component")}p(ok,A);
function pk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){y(d.message+" ("+c+")")}}a.O=b}function Sd(a,b,c,d){var e=b.toLowerCase(),e=Oa(b)||Oa(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);if("string"==typeof e&&d)switch(d){case 4:e=+e;break;case 6:e="true"==e}return e}
function uk(a,b,c){for(var d=nb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){uk(a,b,c)});return}}b.call(a,c)}function vk(a,b){var c=new le(a,"1.32.0",wk);if(sk(c)&&xk(c)){var d=c.get(yk),e=b?b.get(yk):"unknown";d!=e&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=ok.prototype;
h.Ub=function(a){void 0===a&&(a=this.b||(this.H?zk:qk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.I||new le(this,"1.32.0");if(a==Ak)b=!0;else if(a>qk){if(sk(d,this.H)){this.v=new le(this,"1.32.0",Bk);sk(this.v)&&(Ck(this,d),a=Dk,Ek(this.v));this.v.set(yk,za());Fk(this.v);var e=this.b&&!this.C;if(a==zk||Ea("Click OK to restore the previous "+xb+" machine state, or CANCEL to reset the machine.")){if(c=xk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?sk(d,g):("error"==f&&"no machine state"!=
g?(this.M("Error: "+g),"unable to verify user"==g&&(Ma(Gk,""),this.g=null)):this.u(f+": "+g),Ek(d),sk(d)?(c=xk(d),e=!0):c=!1))}e&&vk(this,c?d:null)}else a==Dk&&d.clear()}else vk(this);delete this.H;delete this.I}e=nb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Hk(this,g,d,b,c));b=[d,a,c];a!=Ak?uk(this,this.ed,b):this.ed(b)}};
function Hk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;if(b.ta){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ta(f,d)&&f&&(y("Unable to restore state for "+b.type),a.P&&!a.S?(c.clear(),a.b=qk,window&&window.location.reload()):a.N=!0,b.ta(null),e=!1)}if(!d&&b.Rc)for(a=b.Rc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
h.ed=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.f&&(Hk(this,this.f,b,c,a),L(this),this.f.Ia());this.N&&(Ck(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
function Ck(a,b){if(Ea("There may be a problem with your "+xb+" machine.\n\nTo help us diagnose it, click OK to send this "+xb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=xb;d.ver="1.32.0";d.url=c;d.user=a;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}}
function lk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new le(a,"1.32.0"),g=new le(a,"1.32.0",wk),k=za();g.set(yk,k);f.set(yk,k);f.set(Ik,"1.32.0");f.set(Jk,window?window.location.href:null);f.set(Mk,window?window.navigator.userAgent:"");a.f&&a.f.Ca&&(c&&a.f.Z(),d=a.f.Ca(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=nb(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.Ca&&(d=m.Ca(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=!1,!1===d&&(e=null)))}e&&
(c?(k=d=!1,b?(a.g&&Wk(a,a.g,f.toString()),Fk(g)&&Fk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==Xk),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.B.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.D&&this.D.reset&&(J(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(J(this,"Resetting "+this.f.type),this.f.reset());for(var a=nb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(J(this,"Resetting "+c.type),c.reset())}L(this,-1)};
h.start=function(a,b){for(var c=nb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}L(this,-1)};h.stop=function(a,b){for(var c=nb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}L(this,-1)};
function L(a,b){if(a.f){var c=a.f,d=b||0,e=c.B.speed;e&&(0>=d||30<=(c.oc+=d))&&(e.textContent=c.A.U?c.mb.toFixed(2)+"Mhz":"Stopped",c.oc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.U;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)Xb(a,"R"+e,a.f.g[e]);e=nd(a.f);Xb(a,"PS",e);Xb(a,"NF",e&8?1:0,1);Xb(a,"ZF",e&4?1:0,1);Xb(a,"VF",e&2?1:0,1);Xb(a,"CF",e&1?1:0,1);a.j=0}nc(a,0<b&&c&&!d?a.f.jb:a.ta);ic(a,a.tb);b=a.f;b=b.Wa?b.T&16?1:2:4;pc(a,"B22",b&1);pc(a,"B18",b&2);pc(a,"B16",b&4)}}
h.oa=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.j||(d.A.fa?kk(d,!1,!0):tk(d,d.Ub))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.G){var a=Ea("Click OK to save changes to this "+xb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kk(d,a,!0);!a&&d.P?window&&window.location.reload():(a||(d.w=!0),d.Ub(pk),d.w=!1)}else d.reset(),d.f&&d.f.Ia()},!0;case "save":if(pa(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.B[b]=c,c.onclick=function(){var a=qk(d,!0);if(a){var b=!!(d.b&&!d.G||d.P),c=kk(d,b);b?Vk(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
function qk(a,b){var c=a.g;c||((c=La(Fk),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Xk(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
function Xk(a,b){a.g=null;b=Aa(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ma(Fk,b.data),a.g=b.data)}catch(d){y(d.message+" ("+c+")")}return a.g}function sk(a){var b=null;a.g&&(b=Ca()+"/api/v1/user?req=load&user="+a.g+"&state="+Yk(a,"1.32.0"));return b}
function Vk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Yk(a,"1.32.0");d.data=c;b=Aa(Ca()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.M("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.M(c),Ma(Fk,""),a.g=null)}}
function Eh(a){var b;a=nb(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function be(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Ak="failsafe",vk="validate",xk="timestamp",Hk="version",Ik="url",Lk="browser",Fk="user",zk=-1,pk=0,yk=1,Ck=2,Wk=3;
Xa(function(){for(var a=G(document,E+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=G(c,E,"computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new nk(g,d,!0);qb(g,f);g.L&&tk(g,g.Ub)}});Ya.show.push(function(){for(var a=G(document,E,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=pb("Computer",c.id))&&c.R&&!c.A.fa&&c.Ub(zk)}});Ya.exit.push(function(){for(var a=G(document,E,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=pb("Computer",c.id))&&c.A.fa&&kk(c,!(!c.b||c.G),!0)}});
function le(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.B=!1;this.key=Yk(a,b,c);Dk(this,a.Fd)}h=le.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function rk(a,b){return b?(a.b=b,a.g=!0,a.B=!1,!0):a.g?!0:Fa()&&(b=La(a.key))?(a.b=b,a.g=!0):!1}function wk(a){var b=!0;if(!a.B)try{a.f=JSON.parse(a.b),a.B=!0}catch(c){y(c.message||c),b=!1}return b}
function Ek(a){var b=!0;if(Fa()){var c=JSON.stringify(a.f);Ma(a.key,c)||(y("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Dk(a,b){a.b="";a.f={};a.g=a.B=!1;b&&a.set("parms",b)}
h.clear=function(a){Dk(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Yk(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Zk=0;
function $k(a,b,c,d,e,f){e("Loading "+a+"...");Aa(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):al(k,a,b,c,d,e,f)})}
function al(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(gb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?bl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function bl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);bl(a,b,c)}})}else c(a,null)}
function cl(a,b,c,d){function e(a){if(void 0===k){var b=g&&G(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=qa(a))}function f(a){e("Error: "+a);l&&(--Zk||ab(!0));l=!1}var g,k,l=!0;Zk++;mb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.32.0/components.xsl");m=function(d,k){k?$k(c,null,null,!1,e,function(d,l){l?(gb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Zk||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Zk||ab(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?$k(b,a,d,!0,e,m):al(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){ab(!1);return cl(a,b,c,d)};window.enableEvents=ab;window.sendEvent=cb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.0/pdp11-dbg.map
function L(a,b){if(a.f){var c=a.f,d=b||0,e=c.B.speed;e&&(0>=d||30<=(c.oc+=d))&&(e.textContent=c.A.U?c.mb.toFixed(2)+"Mhz":"Stopped",c.oc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.U;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)Xb(a,"R"+e,a.f.g[e]);e=nd(a.f);Xb(a,"PS",e);Xb(a,"NF",e&8?1:0,1);Xb(a,"ZF",e&4?1:0,1);Xb(a,"VF",e&2?1:0,1);Xb(a,"CF",e&1?1:0,1);a.j=0}nc(a,0<b&&c&&!d?a.f.jb:a.ua);ic(a,a.tb);b=a.f;b=b.Wa?b.T&16?1:2:4;pc(a,"B22",b&1);pc(a,"B18",b&2);pc(a,"B16",b&4)}}
h.pa=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.j||(d.A.fa?lk(d,!1,!0):uk(d,d.Ub))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.G){var a=Ea("Click OK to save changes to this "+xb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lk(d,a,!0);!a&&d.P?window&&window.location.reload():(a||(d.w=!0),d.Ub(qk),d.w=!1)}else d.reset(),d.f&&d.f.Ia()},!0;case "save":if(pa(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.B[b]=c,c.onclick=function(){var a=rk(d,!0);if(a){var b=!!(d.b&&!d.G||d.P),c=lk(d,b);b?Wk(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
function rk(a,b){var c=a.g;c||((c=La(Gk),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Yk(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
function Yk(a,b){a.g=null;b=Aa(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ma(Gk,b.data),a.g=b.data)}catch(d){y(d.message+" ("+c+")")}return a.g}function tk(a){var b=null;a.g&&(b=Ca()+"/api/v1/user?req=load&user="+a.g+"&state="+Zk(a,"1.32.0"));return b}
function Wk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Zk(a,"1.32.0");d.data=c;b=Aa(Ca()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.M("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.M(c),Ma(Gk,""),a.g=null)}}
function Eh(a){var b;a=nb(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function be(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Bk="failsafe",wk="validate",yk="timestamp",Ik="version",Jk="url",Mk="browser",Gk="user",Ak=-1,qk=0,zk=1,Dk=2,Xk=3;
Xa(function(){for(var a=G(document,E+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=G(c,E,"computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new ok(g,d,!0);qb(g,f);g.L&&uk(g,g.Ub)}});Ya.show.push(function(){for(var a=G(document,E,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=pb("Computer",c.id))&&c.R&&!c.A.fa&&c.Ub(Ak)}});Ya.exit.push(function(){for(var a=G(document,E,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=pb("Computer",c.id))&&c.A.fa&&lk(c,!(!c.b||c.G),!0)}});
function le(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.B=!1;this.key=Zk(a,b,c);Ek(this,a.Fd)}h=le.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function sk(a,b){return b?(a.b=b,a.g=!0,a.B=!1,!0):a.g?!0:Fa()&&(b=La(a.key))?(a.b=b,a.g=!0):!1}function xk(a){var b=!0;if(!a.B)try{a.f=JSON.parse(a.b),a.B=!0}catch(c){y(c.message||c),b=!1}return b}
function Fk(a){var b=!0;if(Fa()){var c=JSON.stringify(a.f);Ma(a.key,c)||(y("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Ek(a,b){a.b="";a.f={};a.g=a.B=!1;b&&a.set("parms",b)}
h.clear=function(a){Ek(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Zk(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var $k=0;
function al(a,b,c,d,e,f){e("Loading "+a+"...");Aa(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):bl(k,a,b,c,d,e,f)})}
function bl(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(gb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?cl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function cl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);cl(a,b,c)}})}else c(a,null)}
function dl(a,b,c,d){function e(a){if(void 0===k){var b=g&&G(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=qa(a))}function f(a){e("Error: "+a);l&&(--$k||ab(!0));l=!1}var g,k,l=!0;$k++;mb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.32.0/components.xsl");m=function(d,k){k?al(c,null,null,!1,e,function(d,l){l?(gb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--$k||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--$k||ab(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?al(b,a,d,!0,e,m):bl(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){ab(!1);return dl(a,b,c,d)};window.enableEvents=ab;window.sendEvent=cb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.0/pdp11-dbg.map

View file

@ -69,70 +69,70 @@ function jb(a,b,c){if(a=a.j[b])a.style.backgroundColor=c?"#ff0000":"#000000"}fun
function bb(a,b){var c=a.a[b];kb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=mb&&(a.u=b==nb,a.v=b==ob)}function cb(a,b){var c=a.a[b];c[2]&&c[3]&&(kb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.md=function(a){a||this.c.l.P||(a=this.c,a.s.reset(),pb(a),this.a[qb]&&this.a[qb][1]&&rb(this.c))};h.nd=function(){};h.hd=function(a){a||I(this.c)};
h.fd=function(a){if(!a&&!this.c.l.P)if(this.a[qb]&&this.a[qb][1])rb(this.c);else{a=this.C;var b;if(b=a)a.l.Pa&&(a.l.Xb=!0),b=!a.l.Pa;if(b)Ua(a,!0),a.f(0,null),Ua(a,!1);else try{var c=this.c.Qb(1);0<c&&(sb(this.c,c),tb(this.c,c,!0),ub(this.c,c))}catch(d){"number"!=typeof d&&Sa(this.c,d.stack||d.message)}this.stop();this.A&&vb(this.A)}};h.gd=function(a){if(a&&!this.c.l.P)if(this.u&&wb(this),a=xb(this,this.b),this.w==ab)yb(this.s,this.ja,a);else{var b=this.c,c=this.ja;b.$a++;b.s.wb(zb(b,c,4),a);b.$a--}};
h.jd=function(a){if(!a&&!this.c.l.P){this.v&&wb(this);if(this.w==ab)a=Ab(this.s,this.ja);else{a=this.c;var b=this.ja;a.$a++;b=a.s.vb(zb(a,b,2));a.$a--;a=b}xb(this,a)}};h.ld=function(a){a||this.c.l.P||Bb(this,this.b)};h.kd=function(a){if(a)this.o=!0,gb(this,!0);else if(this.o=!1,gb(this),void 0!==this.j[Cb]){for(a=this.b=0;22>a;a++)this.a["S"+a][1]=0&1<<a?1:0;hb(this)}};h.od=function(a,b){this.b=a?this.b|1<<b:this.b&~(1<<b)};
function wb(a){var b=1145>a.c.xa?8:16,c=65472<=a.ja&&a.ja<65472+b,b=c?1:2,c=c?15:a.s.v;a.a[mb]&&a.a[mb][1]||(b=-b);Bb(a,a.ja&~c|a.ja+b&c)}function Bb(a,b){a.ja=b&a.s.v;b=a.ja;for(var c=0;22>c;c++)Db(a,"A"+c,b&1<<c)}function xb(a,b){a.g=b&65535;b=a.g;for(var c=0;16>c;c++)Db(a,"D"+c,b&1<<c);return a.g}function Db(a,b,c){a.f[b]=c;a.o||jb(a,b,c)}h.stop=function(){Bb(this,this.c.b[7])};h.setData=function(a,b){b?this.h=a:this.g=a};h.td=function(a,b){return(b?this.h:this.b)&65535};
function wb(a){var b=1140>=a.c.oa?8:16,c=65472<=a.ja&&a.ja<65472+b,b=c?1:2,c=c?15:a.s.v;a.a[mb]&&a.a[mb][1]||(b=-b);Bb(a,a.ja&~c|a.ja+b&c)}function Bb(a,b){a.ja=b&a.s.v;b=a.ja;for(var c=0;22>c;c++)Db(a,"A"+c,b&1<<c)}function xb(a,b){a.g=b&65535;b=a.g;for(var c=0;16>c;c++)Db(a,"D"+c,b&1<<c);return a.g}function Db(a,b,c){a.f[b]=c;a.o||jb(a,b,c)}h.stop=function(){Bb(this,this.c.b[7])};h.setData=function(a,b){b?this.h=a:this.g=a};h.td=function(a,b){return(b?this.h:this.b)&65535};
h.Ee=function(a){this.h=a};function ib(){for(var a=G(document,F,"panel"),b=0;b<a.length;b++){var c=a[b],d=D(c),e=Qa(d.id);e||(e=new $a(d,!0));E(e,c)}}var ab=7,Cb="S0",nb="DEP",qb="ENABLE",ob="EXAM",mb="STEP",Eb={},eb=(Eb[65400]=[null,null,$a.prototype.td,$a.prototype.Ee,"CNSW"],Eb);Ga(ib);
function Fb(a,b,c){A.call(this,"Bus",a,0,16);this.c=b;this.C=c;this.S=+a.busWidth||16;this.F=1<<this.S;this.v=this.F-1;this.g=Gb;this.h=Math.log2(this.g);this.K=this.g>>2;this.f=this.g-1;this.u=this.F/this.g|0;this.L=this.u-1;this.Ca=[];this.m=0;this.o=!1;this.G=[];this.Vc=[Hb,Ib,Jb,Kb];this.a=this.b=[];this.D=this.w=this.i=this.H=this.I=0;a=new J(this);Lb(a);this.a=Array(this.u);this.b=Array(this.u);for(b=0;b<this.u;b++)this.a[b]=this.b[b]=a;this.D=this.F-Gb;Mb(this,this.D,Gb,Nb,this);this.I=this.H=
(this.D&this.v)>>>this.h;this.w=0;this.i=this.v;H(this)}n(Fb,A);function Ob(a,b){if(b!=a.w){for(var c=0;c<a.u;c++)a.b[c]=a.a[c];a.w=0;a.i=a.v;b&&(a.w=b,b=1<<b,a.i=b-1,b-=Gb,a.I=(b&a.i)>>>a.h,a.b[a.I]=a.a[a.H])}}h=Fb.prototype;h.reset=function(){for(var a=0;a<this.G.length;a++)this.G[a]();Ob(this,16)};h.ba=function(a,b){b||this.reset();return!0};
function Mb(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.h;0<g&&k<a.a.length;){var l=a.a[k],m=k*a.g,p=a.g-(f-m);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Oa)return l.tb+=l.Oa-f,l.Oa=f,!0;if(f>=l.Oa+l.tb){p=l.size-(f-m);p>g&&(p=g);l.tb=f-l.Oa+p;f=m+a.g;g-=p;k++;continue}}return Pb(Qb,f,g)}f=new J(a,f,p,a.g,d,e);Lb(f,l);a.a[k++]=f;f=m+a.g;g-=p}return 0>=g?(a.status((c>>10)+"Kb "+Rb[d]+" at "+ja(b)),!0):Pb(Sb,b,c)}h.Ec=function(a){return this.b[(a&this.i)>>>this.h].fb(a&this.f,a)};
h.vb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return Ya||b!=this.f?this.b[c].W(b,a):this.b[c++].fb(b,a)|this.b[c&this.L].fb(0,a+1)<<8};h.Fc=function(a,b){this.b[(a&this.i)>>>this.h].ib(a&this.f,b,a)};h.wb=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;Ya||c!=this.f?this.b[d].lb(c,b,a):(this.b[d++].ib(c,b&255,a),this.b[d&this.L].ib(0,b>>8&255,a+1))};function Tb(a,b){return a.a[(b&a.v)>>>a.h]}
function Ab(a,b){var c;a.o=!1;a.m++;var d=b&a.f,e=Tb(a,b);Ya||d!=a.f?c=e.C(d,b):c=e.i(d,b)|Tb(a,b+1).i(0,b+1)<<8;a.m--;return c}function Ub(a,b,c){a.o=!1;a.m++;Tb(a,b).j(b&a.f,c&255,b);a.m--}function yb(a,b,c){a.o=!1;a.m++;var d=b&a.f,e=Tb(a,b);Ya||d!=a.f?e.m(d,c&65535,b):(e.j(d,c&255,b),Tb(a,b+1).j(0,c>>8&255,b+1));a.m--}
function Vb(a){for(var b=0,c=[],d=0;d<a.u;d++){var e=a.a[d];if(e.va||e.ad){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;l[k++]=p-g;l[k++]=m;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function Wb(a){for(var b=Xb,c=0,d=0;d<a.a.length;d++){var e=a.a[d];e.type==b&&(c=e.Oa+e.tb)}return c}
function Vb(a){for(var b=0,c=[],d=0;d<a.u;d++){var e=a.a[d];if(e.wa||e.ad){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;l[k++]=p-g;l[k++]=m;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function Wb(a){for(var b=Xb,c=0,d=0;d<a.a.length;d++){var e=a.a[d];e.type==b&&(c=e.Oa+e.tb)}return c}
function Yb(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var p=b&Zb;if(void 0!==a.Ca[p])return z&&z("I/O address already registered: "+ka(b,8,!0)),!1;var t=l||"unknown";t&&0<=m&&(t+=m++);a.Ca[p]=[d,e,f,g,t,k||16,!1]}return!0}
function db(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.c.xa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var t=g[4],x=g[5]||1,w=0;w<x;w++,f+=2)if(t&&1<x&&(t=g[4]+w),!Yb(a,f,f,k,l,m,p,g[7]||b.Kc,t||b.Ga))return!1}}return!0}
function db(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.c.oa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var t=g[4],x=g[5]||1,w=0;w<x;w++,f+=2)if(t&&1<x&&(t=g[4]+w),!Yb(a,f,f,k,l,m,p,g[7]||b.Kc,t||b.Ga))return!1}}return!0}
function fb(a,b){a.G.push(b)}function K(a,b,c){a.o=!0;a.m||(c&&(a.c.G|=c),L(a.c,4,0,b))}function $b(a){var b=a.o;a.o=!1;return b}function Pb(a,b,c){y("Memory block error ("+a+": "+ka(b)+","+ka(c)+")");return!1}var Gb=8192,Zb=Gb-1,Qb=1,Sb=2;function Hb(a,b){var c=-1,d=this.controller,e=d.Ca[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ca[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;K(d,b,16);return 255}
function Ib(a,b,c){var d=!1,e=this.controller,f=e.Ca[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ca[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||K(e,c,16)}function Jb(a,b){var c=-1,d=this.controller;a=d.Ca[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;K(d,b,16);return 65535}
function Kb(a,b,c){var d=!1,e=this.controller;a=e.Ca[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||K(e,c,16)}function M(a){A.call(this,"Device",a,0,256);this.a={Ag:0,bc:-1}}n(M,A);h=M.prototype;h.aa=function(a,b,c,d){this.s=b;this.A=a;this.c=c;this.C=d;var e=this;this.a.bc=ac(c,function(){e.a.cb|=128;e.a.cb&64&&bc(e.c,e.a.Da);e.A&&vb(e.A,1);cc(e.c,e.a.bc,1E3/60)});this.a.Da=ec(c,64,6,524288);db(b,this,fc);fb(b,this.reset.bind(this));H(this)};
h.reset=function(){this.a.cb=128;cc(this.c,this.a.bc,1E3/60,!0)};h.Ad=function(){return this.a.cb};h.Le=function(a){this.a.cb=a&192;this.a.cb&64||(a=this.a.Da)&&gc(this.c,a)};h.Cd=function(){var a=this.c,b=a.H;b&57344||(b=b&-3199|a.Wa<<5|a.Xa<<1);return b};h.Ne=function(a){hc(this.c,a&-129|this.c.H&128)};h.Dd=function(){var a=this.c;a.H&57344||(a.qb=a.F>>16&65535);a=a.qb;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ed=function(){var a=this.c;a.H&57344||(a.rb=a.F&65535);return a.rb};h.Fd=function(){return this.c.oa};
h.Oe=function(a){var b=this.c;1170>b.xa&&(a&=-49);b.oa!=a&&(b.oa=a,b.Ka=a&16?4194303:262143,ic(b))};h.me=function(a){a=a>>1&63;var b=this.c.Na[a>>1];return a&1?b>>16:b&65535};h.xf=function(a,b){b=b>>1&63;var c=b>>1;this.c.Na[c]=b&1?this.c.Na[c]&65535|(a&63)<<16:this.c.Na[c]&-65536|a&65534};h.fe=function(a){return this.c.u[1][a>>1&7]};h.qf=function(a,b){this.c.u[1][b>>1&7]=a&65295};h.de=function(a){return this.c.u[1][(a>>1&7)+8]};h.nf=function(a,b){this.c.u[1][(b>>1&7)+8]=a&65295};
h.reset=function(){this.a.cb=128;cc(this.c,this.a.bc,1E3/60,!0)};h.Ad=function(){return this.a.cb};h.Le=function(a){this.a.cb=a&192;this.a.cb&64||(a=this.a.Da)&&gc(this.c,a)};h.Cd=function(){var a=this.c,b=a.H;b&57344||(b=b&-3199|a.Wa<<5|a.Xa<<1);return b};h.Ne=function(a){hc(this.c,a&-129|this.c.H&128)};h.Dd=function(){var a=this.c;a.H&57344||(a.qb=a.F>>16&65535);a=a.qb;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ed=function(){var a=this.c;a.H&57344||(a.rb=a.F&65535);return a.rb};h.Fd=function(){return this.c.pa};
h.Oe=function(a){var b=this.c;1170>b.oa&&(a&=-49);b.pa!=a&&(b.pa=a,b.Ka=a&16?4194303:262143,ic(b))};h.me=function(a){a=a>>1&63;var b=this.c.Na[a>>1];return a&1?b>>16:b&65535};h.xf=function(a,b){b=b>>1&63;var c=b>>1;this.c.Na[c]=b&1?this.c.Na[c]&65535|(a&63)<<16:this.c.Na[c]&-65536|a&65534};h.fe=function(a){return this.c.u[1][a>>1&7]};h.qf=function(a,b){this.c.u[1][b>>1&7]=a&65295};h.de=function(a){return this.c.u[1][(a>>1&7)+8]};h.nf=function(a,b){this.c.u[1][(b>>1&7)+8]=a&65295};
h.ee=function(a){return this.c.I[1][a>>1&7]};h.pf=function(a,b){b=b>>1&7;this.c.I[1][b]=a;this.c.u[1][b]&=65295};h.ce=function(a){return this.c.I[1][(a>>1&7)+8]};h.mf=function(a,b){b=(b>>1&7)+8;this.c.I[1][b]=a;this.c.u[1][b]&=65295};h.zd=function(a){return this.c.u[0][a>>1&7]};h.Ke=function(a,b){this.c.u[0][b>>1&7]=a&65295};h.xd=function(a){return this.c.u[0][(a>>1&7)+8]};h.Ie=function(a,b){this.c.u[0][(b>>1&7)+8]=a&65295};h.yd=function(a){return this.c.I[0][a>>1&7]};
h.Je=function(a,b){b=b>>1&7;this.c.I[0][b]=a;this.c.u[0][b]&=65295};h.wd=function(a){return this.c.I[0][(a>>1&7)+8]};h.He=function(a,b){b=(b>>1&7)+8;this.c.I[0][b]=a;this.c.u[0][b]&=65295};h.le=function(a){return this.c.u[3][a>>1&7]};h.wf=function(a,b){this.c.u[3][b>>1&7]=a&65295};h.je=function(a){return this.c.u[3][(a>>1&7)+8]};h.uf=function(a,b){this.c.u[3][(b>>1&7)+8]=a&65295};h.ke=function(a){return this.c.I[3][a>>1&7]};h.vf=function(a,b){b=b>>1&7;this.c.I[3][b]=a;this.c.u[3][b]&=65295};
h.ie=function(a){return this.c.I[3][(a>>1&7)+8]};h.tf=function(a,b){b=(b>>1&7)+8;this.c.I[3][b]=a;this.c.u[3][b]&=65295};h.gb=function(a){a&=7;return this.c.i&2048?this.c.ua[a]:this.c.b[a]};h.jb=function(a,b){b&=7;this.c.i&2048?this.c.ua[b]=a:this.c.b[b]=a};h.Kd=function(){return this.c.i&49152?this.c.fa[0]:this.c.b[6]};h.Te=function(a){this.c.i&49152?this.c.fa[0]=a:this.c.b[6]=a};h.Nd=function(){return this.c.b[7]};h.We=function(a){this.c.b[7]=a};
h.hb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.ua[a]};h.kb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.ua[b]=a};h.Ld=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.fa[1]};h.Ue=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.fa[1]=a};h.Md=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.fa[3]};h.Ve=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.fa[3]=a};h.vd=function(a){return this.c.Nb[a-65504>>1]};
h.ie=function(a){return this.c.I[3][(a>>1&7)+8]};h.tf=function(a,b){b=(b>>1&7)+8;this.c.I[3][b]=a;this.c.u[3][b]&=65295};h.gb=function(a){a&=7;return this.c.i&2048?this.c.va[a]:this.c.b[a]};h.jb=function(a,b){b&=7;this.c.i&2048?this.c.va[b]=a:this.c.b[b]=a};h.Kd=function(){return this.c.i&49152?this.c.fa[0]:this.c.b[6]};h.Te=function(a){this.c.i&49152?this.c.fa[0]=a:this.c.b[6]=a};h.Nd=function(){return this.c.b[7]};h.We=function(a){this.c.b[7]=a};
h.hb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.va[a]};h.kb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.va[b]=a};h.Ld=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.fa[1]};h.Ue=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.fa[1]=a};h.Md=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.fa[3]};h.Ve=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.fa[3]=a};h.vd=function(a){return this.c.Nb[a-65504>>1]};
h.Ge=function(a,b){this.c.Nb[b-65504>>1]=a};h.zc=function(a){return 65520==a?(Wb(this.s)>>6)-1:0};h.Cc=function(){};h.he=function(){return 1};h.sf=function(){};h.ud=function(){return this.c.G};h.Fe=function(){this.c.G=0};h.Bd=function(){return this.c.Mb};h.Me=function(a,b){b&1||(a&=255);this.c.Mb=a};h.Gd=function(a,b){return b?0:this.c.bb};h.Pe=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.bb=a};h.ge=function(a,b){return b?0:this.c.Ma&65280};
h.rf=function(a){this.c.Ma=a|255};h.Jd=function(){return jc(this.c)};h.Se=function(a){kc(this.c,a)};h.Bc=function(){};
var N={},fc=(N[61568]=[null,null,M.prototype.me,M.prototype.xf,"UNIMAP",64,1170],N[62592]=[null,null,M.prototype.fe,M.prototype.qf,"SIPDR",8,1145,64],N[62608]=[null,null,M.prototype.de,M.prototype.nf,"SDPDR",8,1145,64],N[62624]=[null,null,M.prototype.ee,M.prototype.pf,"SIPAR",8,1145,64],N[62640]=[null,null,M.prototype.ce,M.prototype.mf,"SDPAR",8,1145,64],N[62656]=[null,null,M.prototype.zd,M.prototype.Ke,"KIPDR",8,1145,64],N[62672]=[null,null,M.prototype.xd,M.prototype.Ie,"KDPDR",8,1145,64],N[62688]=
[null,null,M.prototype.yd,M.prototype.Je,"KIPAR",8,1145,64],N[62704]=[null,null,M.prototype.wd,M.prototype.He,"KDPAR",8,1145,64],N[62798]=[null,null,M.prototype.Fd,M.prototype.Oe,"MMR3",1,1145,64],N[65382]=[null,null,M.prototype.Ad,M.prototype.Le,"LKS"],N[65402]=[null,null,M.prototype.Cd,M.prototype.Ne,"MMR0",1,1145,64],N[65404]=[null,null,M.prototype.Dd,M.prototype.Bc,"MMR1",1,1145,64],N[65406]=[null,null,M.prototype.Ed,M.prototype.Bc,"MMR2",1,1145,64],N[65408]=[null,null,M.prototype.le,M.prototype.wf,
"UIPDR",8,1145,64],N[65424]=[null,null,M.prototype.je,M.prototype.uf,"UDPDR",8,1145,64],N[65440]=[null,null,M.prototype.ke,M.prototype.vf,"UIPAR",8,1145,64],N[65456]=[null,null,M.prototype.ie,M.prototype.tf,"UDPAR",8,1145,64],N[65472]=[null,null,M.prototype.gb,M.prototype.jb,"R0SET0"],N[65473]=[null,null,M.prototype.gb,M.prototype.jb,"R1SET0"],N[65474]=[null,null,M.prototype.gb,M.prototype.jb,"R2SET0"],N[65475]=[null,null,M.prototype.gb,M.prototype.jb,"R3SET0"],N[65476]=[null,null,M.prototype.gb,
var N={},fc=(N[61568]=[null,null,M.prototype.me,M.prototype.xf,"UNIMAP",64,1170],N[62592]=[null,null,M.prototype.fe,M.prototype.qf,"SIPDR",8,1145,64],N[62608]=[null,null,M.prototype.de,M.prototype.nf,"SDPDR",8,1145,64],N[62624]=[null,null,M.prototype.ee,M.prototype.pf,"SIPAR",8,1145,64],N[62640]=[null,null,M.prototype.ce,M.prototype.mf,"SDPAR",8,1145,64],N[62656]=[null,null,M.prototype.zd,M.prototype.Ke,"KIPDR",8,1140,64],N[62672]=[null,null,M.prototype.xd,M.prototype.Ie,"KDPDR",8,1145,64],N[62688]=
[null,null,M.prototype.yd,M.prototype.Je,"KIPAR",8,1140,64],N[62704]=[null,null,M.prototype.wd,M.prototype.He,"KDPAR",8,1145,64],N[62798]=[null,null,M.prototype.Fd,M.prototype.Oe,"MMR3",1,1145,64],N[65382]=[null,null,M.prototype.Ad,M.prototype.Le,"LKS"],N[65402]=[null,null,M.prototype.Cd,M.prototype.Ne,"MMR0",1,1140,64],N[65404]=[null,null,M.prototype.Dd,M.prototype.Bc,"MMR1",1,1145,64],N[65406]=[null,null,M.prototype.Ed,M.prototype.Bc,"MMR2",1,1140,64],N[65408]=[null,null,M.prototype.le,M.prototype.wf,
"UIPDR",8,1140,64],N[65424]=[null,null,M.prototype.je,M.prototype.uf,"UDPDR",8,1145,64],N[65440]=[null,null,M.prototype.ke,M.prototype.vf,"UIPAR",8,1140,64],N[65456]=[null,null,M.prototype.ie,M.prototype.tf,"UDPAR",8,1145,64],N[65472]=[null,null,M.prototype.gb,M.prototype.jb,"R0SET0"],N[65473]=[null,null,M.prototype.gb,M.prototype.jb,"R1SET0"],N[65474]=[null,null,M.prototype.gb,M.prototype.jb,"R2SET0"],N[65475]=[null,null,M.prototype.gb,M.prototype.jb,"R3SET0"],N[65476]=[null,null,M.prototype.gb,
M.prototype.jb,"R4SET0"],N[65477]=[null,null,M.prototype.gb,M.prototype.jb,"R5SET0"],N[65478]=[null,null,M.prototype.Kd,M.prototype.Te,"R6KERNEL"],N[65479]=[null,null,M.prototype.Nd,M.prototype.We,"R7KERNEL"],N[65480]=[null,null,M.prototype.hb,M.prototype.kb,"R0SET1",1,1145],N[65481]=[null,null,M.prototype.hb,M.prototype.kb,"R1SET1",1,1145],N[65482]=[null,null,M.prototype.hb,M.prototype.kb,"R2SET1",1,1145],N[65483]=[null,null,M.prototype.hb,M.prototype.kb,"R3SET1",1,1145],N[65484]=[null,null,M.prototype.hb,
M.prototype.kb,"R4SET1",1,1145],N[65485]=[null,null,M.prototype.hb,M.prototype.kb,"R5SET1",1,1145],N[65486]=[null,null,M.prototype.Ld,M.prototype.Ue,"R6SUPER",1,1145],N[65487]=[null,null,M.prototype.Md,M.prototype.Ve,"R6USER",1,1145],N[65504]=[null,null,M.prototype.vd,M.prototype.Ge,"CTRL",8,1170],N[65520]=[null,null,M.prototype.zc,M.prototype.Cc,"LSIZE",1,1170],N[65522]=[null,null,M.prototype.zc,M.prototype.Cc,"HSIZE",1,1170],N[65524]=[null,null,M.prototype.he,M.prototype.sf,"SYSID",1,1170],N[65526]=
[null,null,M.prototype.ud,M.prototype.Fe,"ERR",1,1170],N[65528]=[null,null,M.prototype.Bd,M.prototype.Me,"MBR",1,1170],N[65530]=[null,null,M.prototype.Gd,M.prototype.Pe,"PIR"],N[65532]=[null,null,M.prototype.ge,M.prototype.rf,"SLR"],N[65534]=[null,null,M.prototype.Jd,M.prototype.Se,"PSW"],N);
Ga(function(){for(var a=G(document,F,"device"),b=0;b<a.length;b++){var c,d=a[b];c=D(d);switch(c.type){case "default":c=new M(c);E(c,d);break;case "pc11":c=new lc(c);E(c,d);break;case "rl11":c=new O(c);E(c,d);break;case "rk11":c=new P(c),E(c,d)}}});
function J(a,b,c,d,e,f){this.b=a;this.id=mc+=2;this.c=null;this.Oa=b;this.tb=c;this.size=d||0;this.type=e||nc;this.A=e==oc;this.controller=null;this.fb=this.i=this.Zb;this.W=this.C=this.$b;this.ib=this.j=this.ub;this.lb=this.m=this.dc;this.g=this.s=0;Lb(this);this.va=this.ad=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],pc(this,f.Vc);else if(Va)this.f=new ArrayBuffer(this.size),this.h=new DataView(this.f,0,this.size),this.a=new Uint8Array(this.f,0,this.size),this.o=new Uint16Array(this.f,
function J(a,b,c,d,e,f){this.b=a;this.id=mc+=2;this.c=null;this.Oa=b;this.tb=c;this.size=d||0;this.type=e||nc;this.A=e==oc;this.controller=null;this.fb=this.i=this.Zb;this.W=this.C=this.$b;this.ib=this.j=this.ub;this.lb=this.m=this.dc;this.g=this.s=0;Lb(this);this.wa=this.ad=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],pc(this,f.Vc);else if(Va)this.f=new ArrayBuffer(this.size),this.h=new DataView(this.f,0,this.size),this.a=new Uint8Array(this.f,0,this.size),this.o=new Uint16Array(this.f,
0,this.size>>1),this.c=new Int32Array(this.f,0,this.size>>2),pc(this,qc?rc:sc);else{a=this.c=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;pc(this,tc)}else pc(this)}h=J.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Va)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.h.getInt32(b<<2,!0);else a=this.c;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Va)for(b=0;b<a.length;b++)this.h.setInt32(b<<2,a[b],!0);else this.c=a;return this.va=!0}return!1};function pc(a,b){b||(b=uc);vc(a,b,void 0);wc(a,b,void 0)}function vc(a,b,c){c&&a.g||(a.fb=b[0]||a.Zb,a.W=b[2]||a.$b);if(c||void 0===c)a.i=b[0]||a.Zb,a.C=b[2]||a.$b}function wc(a,b,c){c&&a.s||(a.ib=!a.A&&b[1]||a.ub,a.lb=!a.A&&b[3]||a.dc);if(c||void 0===c)a.j=b[1]||a.ub,a.m=b[3]||a.dc}
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Va)for(b=0;b<a.length;b++)this.h.setInt32(b<<2,a[b],!0);else this.c=a;return this.wa=!0}return!1};function pc(a,b){b||(b=uc);vc(a,b,void 0);wc(a,b,void 0)}function vc(a,b,c){c&&a.g||(a.fb=b[0]||a.Zb,a.W=b[2]||a.$b);if(c||void 0===c)a.i=b[0]||a.Zb,a.C=b[2]||a.$b}function wc(a,b,c){c&&a.s||(a.ib=!a.A&&b[1]||a.ub,a.lb=!a.A&&b[3]||a.dc);if(c||void 0===c)a.j=b[1]||a.ub,a.m=b[3]||a.dc}
function Lb(a,b){a.g=a.s=0;b&&((a.g=b.g)&&vc(a,yc,!1),(a.s=b.s)&&wc(a,yc,!1))}h.Zb=function(a,b){K(this.b,b,32);return 255};h.ub=function(a,b,c){K(this.b,c,32)};h.$b=function(a,b){return this.fb(a++,b++)|this.fb(a,b)<<8};h.dc=function(a,b,c){this.ib(a++,b&255,c++);this.ib(a,b>>8,c)};h.sd=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.re=function(a,b){Xa&&a&1&&K(this.b,b,64);b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8};
h.De=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.va=!0};h.Bf=function(a,b,c){Xa&&a&1&&K(this.b,c,64);c=a>>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<<a)|b<<a:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.va=!0};h.qd=function(a,b){return this.i(a,b)};h.oe=function(a,b){return this.C(a,b)};h.Be=function(a,b,c){this.A?this.ub(0,0,c):this.j(a,b,c)};h.zf=function(a,b,c){this.A?this.ub(0,0,c):this.m(a,b,c)};h.pd=function(a){return this.a[a]};
h.rd=function(a){return this.a[a]};h.ne=function(a,b){Xa&&a&1&&K(this.b,b,64);return this.h.getUint16(a,!0)};h.qe=function(a,b){Xa&&a&1&&K(this.b,b,64);return!Ya&&a&1?this.a[a]|this.a[a+1]<<8:this.o[a>>1]};h.Ae=function(a,b){this.a[a]=b;this.va=!0};h.Ce=function(a,b){this.a[a]=b;this.va=!0};h.yf=function(a,b,c){Xa&&a&1&&K(this.b,c,64);this.h.setUint16(a,b,!0);this.va=!0};h.Af=function(a,b,c){Xa&&a&1&&K(this.b,c,64);!Ya&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.o[a>>1]=b;this.va=!0};
h.De=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.wa=!0};h.Bf=function(a,b,c){Xa&&a&1&&K(this.b,c,64);c=a>>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<<a)|b<<a:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.wa=!0};h.qd=function(a,b){return this.i(a,b)};h.oe=function(a,b){return this.C(a,b)};h.Be=function(a,b,c){this.A?this.ub(0,0,c):this.j(a,b,c)};h.zf=function(a,b,c){this.A?this.ub(0,0,c):this.m(a,b,c)};h.pd=function(a){return this.a[a]};
h.rd=function(a){return this.a[a]};h.ne=function(a,b){Xa&&a&1&&K(this.b,b,64);return this.h.getUint16(a,!0)};h.qe=function(a,b){Xa&&a&1&&K(this.b,b,64);return!Ya&&a&1?this.a[a]|this.a[a+1]<<8:this.o[a>>1]};h.Ae=function(a,b){this.a[a]=b;this.wa=!0};h.Ce=function(a,b){this.a[a]=b;this.wa=!0};h.yf=function(a,b,c){Xa&&a&1&&K(this.b,c,64);this.h.setUint16(a,b,!0);this.wa=!0};h.Af=function(a,b,c){Xa&&a&1&&K(this.b,c,64);!Ya&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.o[a>>1]=b;this.wa=!0};
var nc=0,Xb=1,oc=2,Nb=4,Rb=["NONE","RAM","ROM","VID","H/W"],mc=0,uc=[],tc=[J.prototype.sd,J.prototype.De,J.prototype.re,J.prototype.Bf],yc=[J.prototype.qd,J.prototype.Be,J.prototype.oe,J.prototype.zf];if(Va)var sc=[J.prototype.pd,J.prototype.Ae,J.prototype.ne,J.prototype.yf],rc=[J.prototype.rd,J.prototype.Ce,J.prototype.qe,J.prototype.Af];var zc;if(Va){var Ac=new ArrayBuffer(2);(new DataView(Ac)).setUint16(0,256,!0);zc=256===(new Uint16Array(Ac))[0]}else zc=!1;var qc=zc;
function Bc(a,b){A.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ec=0;this.Jb=b;this.La=c;this.Tb=Math.round(this.Jb/1E4)/100;this.Va=this.Tb*this.La;this.Ub=this.pb=this.Ya=this.Kb=0;this.l.P=!1;this.l.ac=!1;this.l.la=a.autoStart;"string"==typeof this.l.la&&(this.l.la="true"==this.l.la);this.l.xb=!1;this.Fb=this.Ta=0;this.Gb=+a.csStart;this.nb=+a.csInterval;this.ob=+a.csStop;this.qa=[];this.pc=this.ve.bind(this);this.Aa=this.ta=this.za=this.a=this.S=this.sa=this.mb=this.ya=this.Za=
function Bc(a,b){A.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ec=0;this.Jb=b;this.La=c;this.Tb=Math.round(this.Jb/1E4)/100;this.Va=this.Tb*this.La;this.Ub=this.pb=this.Ya=this.Kb=0;this.l.P=!1;this.l.ac=!1;this.l.la=a.autoStart;"string"==typeof this.l.la&&(this.l.la="true"==this.l.la);this.l.xb=!1;this.Fb=this.Ta=0;this.Gb=+a.csStart;this.nb=+a.csInterval;this.ob=+a.csStop;this.ra=[];this.pc=this.ve.bind(this);this.Aa=this.ua=this.za=this.a=this.S=this.ta=this.mb=this.ya=this.Za=
this.Vb=this.Ia=0;this.ka=null;H(this)}n(Bc,A);h=Bc.prototype;h.aa=function(a,b,c,d){this.A=a;this.s=b;this.C=d;this.ka=a.f;for(a=0;a<Cc.length;a++)(b=this.j[Cc[a]])&&this.A.da(null,Cc[a],b);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ba=function(a,b){var c=Dc(this.A,"autoStart");null!=c?this.l.la="true"==c?!0:"false"==c?!1:!!c:null==this.l.la&&(this.l.la=void 0===this.j.run);if(!b){if(a&&this.restore){Ec(this);if(!this.restore(a))return!1;Fc(this)}else this.reset();this.V("No debugger detected");this.l.la||this.V("CPU will not be auto-started "+(this.ka?"(click Run to start)":"(type 'go' to start)"))}return!0};h.ia=function(a){return a?this.save():!0};h.la=function(){return this.l.P?!0:this.l.la?(rb(this),!0):!1};h.wc=function(){return 0};
function Fc(a){void 0===a.Gb&&(a.Gb=0);void 0===a.nb&&(a.nb=-1);void 0===a.ob&&(a.ob=-1);a.l.xb=0<=a.Gb&&0<a.nb;a.l.xb&&(a.Fb=0,a.Ta=a.Gb-a.Aa)}function ub(a,b){if(a.l.xb){var c=!1;a.Fb=a.Fb+a.wc()|0;a.Ta-=b;0>=a.Ta&&(a.Ta+=a.nb,c=!0);0<=a.ob&&a.ob<=Gc(a)&&(a.nb=a.ob=-1,Fc(a),I(a),c=!0);c&&a.V(Gc(a)+" cycles: checksum="+ka(a.Fb))}}
h.da=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.j[b]=c,!0;case "run":return this.j[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.l.R)a=!0;else{var b=null,c,k=C(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.l.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.l.R);c++);c==k.length&&(b=a);z("The "+b.type+" component ("+b.id+") is not "+(b.l.ready?"powered yet":"ready yet"+(b.zb?" (waiting for notification)":""))+".");a=!1}a&&(d.l.P?I(d):rb(d))},!0;case "speed":return this.j[b]=
c,!0;case "setSpeed":return this.j[b]=c,c.onclick=function(){Hc(d,d.La<<1,!0)},c.textContent=this.Va.toFixed(2)+"Mhz",!0}return!1};function tb(a,b,c){a.Aa+=b;c&&(a.za=a.a=a.S=0)}function Ic(a,b){var c=1;b&&1<a.La&&a.Ia&&(c=a.Ia/a.Tb);a.Ub=Math.round(1E3/Jc);a.pb=Math.floor(a.Jb/Jc*c);b||(a.Ya=a.pb);a.Kb=0}function Gc(a){return a.Aa+a.ta+a.za-a.a}function Ec(a){a.Ia=0;a.Vb=0;a.Aa=a.ta=a.za=a.a=a.S=0;Fc(a);Hc(a,1)}
function Hc(a,b,c){if(void 0!==b){.8>a.Ia/a.Va&&(b=1);a.La=b;b=a.Tb*a.La;if(a.Va!=b){a.Va=b;b=a.Va.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.V("target speed: "+b)}c&&a.A&&Kc(a.A)}tb(a,a.ta);a.ta=0;a.sa=ra();a.ya=0;Ic(a)}function ac(a,b){var c=a.qa.length;a.qa.push([-1,b]);return c}function cc(a,b,c,d){0<=b&&b<a.qa.length&&(d||0>a.qa[b][0])&&(c=a.Jb*a.La/1E3*c|0,a.l.P&&(c+=Lc(a)),a.qa[b][0]=c)}
function sb(a,b){for(var c=a.qa.length-1;0<=c;c--){var d=a.qa[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Lc(a,b){var c=a.za-=a.a;a.a=a.S=0;b&&(a.za=0);return c}
h.ve=function(){if(this.l.P){this.Kb>=this.Jb&&Ic(this,!0);this.Za=0;this.mb=ra();if(this.ya){var a=this.mb-this.ya;a>this.Ub&&(this.sa+=a,this.sa>this.mb&&(this.sa=this.mb))}try{do{for(var b,c=this.l.xb?1:this.pb,d=this.qa.length-1;0<=d;d--){var e=this.qa[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Qb(b)}catch(f){if("number"!=typeof f)throw f;}b=Lc(this,!0);this.Za+=b;this.ta+=b;ub(this,b);sb(this,b);this.Ya-=b;if(0>=this.Ya){this.Ya+=this.pb;++this.Vb>=Mc&&(this.A&&vb(this.A,void 0),this.Vb=0);break}}while(this.l.P)}catch(f){I(this);
this.A&&this.A.stop(ra(),Gc(this));Sa(this,f.stack||f.message);return}if(this.l.P){a=setTimeout;b=this.pc;this.ya=ra();c=this.Ub;this.Za&&(c=Math.round(c*this.Za/this.pb));c-=this.ya-this.mb;if(d=this.ya-this.sa)this.Ia=Math.round(this.ta/(10*d))/100,864E5<=d&&(this.Aa=0,Hc(this));if(0>c||this.Ia<this.Va)-1E3>c&&(this.sa-=c),c=0;this.Kb+=this.Za;this.ya+=c;a(b,c)}}};
function rb(a){var b;a.l.error?(a.V(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.l.P)a.V(a.toString()+" busy");else{Hc(a);a.l.P=!0;a.l.ac=!0;if(b=a.j.run)b.textContent="Halt";a.A&&a.A.start(a.sa,Gc(a));a.C||a.status("Started");setTimeout(a.pc,0)}}h.Qb=function(){return 0};function I(a){var b=!1;if(a.l.P){Lc(a);tb(a,a.ta);a.ta=0;a.l.P=!1;if(b=a.j.run)b.textContent="Run";a.A&&a.A.stop(ra(),Gc(a));b=!0;a.C||a.status("Stopped")}a.l.complete=void 0;return b}var Jc=30,Mc=15,Cc=["power","reset"];
function Nc(a){var b=+a.model||1170;Bc.call(this,a,6666667);this.xa=b;this.lc=+a.addrReset||0;this.i=this.v=this.m=this.o=this.w=0;this.b=this.ua=this.fa=[];this.D=0;this.nc=[];this.u=this.I=this.Na=this.Nb=[];this.Lb=this.Fa=this.F=this.kc=this.Ja=this.Wa=this.Xa=this.Ka=this.G=this.bb=this.Ma=this.H=this.qb=this.rb=this.oa=this.Ba=this.h=this.f=this.Eb=this.K=this.L=this.g=this.Mb=0;this.oc=255;1120>=this.xa?(this.jc=Oc.bind(this),this.Ua=this.Zc,this.Lb=8,this.oc=-1,this.rc=255,this.qc=0):(this.jc=
Pc.bind(this),this.Ua=this.$c,this.rc=~(1792|(1145>this.xa?2048:0))&65535,this.qc=1145<=this.xa?2048:0);this.$a=0;this.X=null;this.Sb=[];this.l.complete=!1;this.Bb=this.fc=this.bd;this.Cb=this.gc=this.dd;this.Ob=this.Pb=this.xe;this.Db=this.Rb=this.ze;this.ra=this.Ab=0;this.na=this.xc;this.W=this.Ac;this.lb=this.Dc;this.Tc=this.Sc=0}n(Nc,Bc);h=Nc.prototype;h.aa=function(a,b,c,d){Bc.prototype.aa.call(this,a,b,c,d);this.fc=b.Ec.bind(b);this.gc=b.vb.bind(b);this.Pb=b.Fc.bind(b);this.Rb=b.wb.bind(b)};
c,!0;case "setSpeed":return this.j[b]=c,c.onclick=function(){Hc(d,d.La<<1,!0)},c.textContent=this.Va.toFixed(2)+"Mhz",!0}return!1};function tb(a,b,c){a.Aa+=b;c&&(a.za=a.a=a.S=0)}function Ic(a,b){var c=1;b&&1<a.La&&a.Ia&&(c=a.Ia/a.Tb);a.Ub=Math.round(1E3/Jc);a.pb=Math.floor(a.Jb/Jc*c);b||(a.Ya=a.pb);a.Kb=0}function Gc(a){return a.Aa+a.ua+a.za-a.a}function Ec(a){a.Ia=0;a.Vb=0;a.Aa=a.ua=a.za=a.a=a.S=0;Fc(a);Hc(a,1)}
function Hc(a,b,c){if(void 0!==b){.8>a.Ia/a.Va&&(b=1);a.La=b;b=a.Tb*a.La;if(a.Va!=b){a.Va=b;b=a.Va.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.V("target speed: "+b)}c&&a.A&&Kc(a.A)}tb(a,a.ua);a.ua=0;a.ta=ra();a.ya=0;Ic(a)}function ac(a,b){var c=a.ra.length;a.ra.push([-1,b]);return c}function cc(a,b,c,d){0<=b&&b<a.ra.length&&(d||0>a.ra[b][0])&&(c=a.Jb*a.La/1E3*c|0,a.l.P&&(c+=Lc(a)),a.ra[b][0]=c)}
function sb(a,b){for(var c=a.ra.length-1;0<=c;c--){var d=a.ra[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Lc(a,b){var c=a.za-=a.a;a.a=a.S=0;b&&(a.za=0);return c}
h.ve=function(){if(this.l.P){this.Kb>=this.Jb&&Ic(this,!0);this.Za=0;this.mb=ra();if(this.ya){var a=this.mb-this.ya;a>this.Ub&&(this.ta+=a,this.ta>this.mb&&(this.ta=this.mb))}try{do{for(var b,c=this.l.xb?1:this.pb,d=this.ra.length-1;0<=d;d--){var e=this.ra[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Qb(b)}catch(f){if("number"!=typeof f)throw f;}b=Lc(this,!0);this.Za+=b;this.ua+=b;ub(this,b);sb(this,b);this.Ya-=b;if(0>=this.Ya){this.Ya+=this.pb;++this.Vb>=Mc&&(this.A&&vb(this.A,void 0),this.Vb=0);break}}while(this.l.P)}catch(f){I(this);
this.A&&this.A.stop(ra(),Gc(this));Sa(this,f.stack||f.message);return}if(this.l.P){a=setTimeout;b=this.pc;this.ya=ra();c=this.Ub;this.Za&&(c=Math.round(c*this.Za/this.pb));c-=this.ya-this.mb;if(d=this.ya-this.ta)this.Ia=Math.round(this.ua/(10*d))/100,864E5<=d&&(this.Aa=0,Hc(this));if(0>c||this.Ia<this.Va)-1E3>c&&(this.ta-=c),c=0;this.Kb+=this.Za;this.ya+=c;a(b,c)}}};
function rb(a){var b;a.l.error?(a.V(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.l.P)a.V(a.toString()+" busy");else{Hc(a);a.l.P=!0;a.l.ac=!0;if(b=a.j.run)b.textContent="Halt";a.A&&a.A.start(a.ta,Gc(a));a.C||a.status("Started");setTimeout(a.pc,0)}}h.Qb=function(){return 0};function I(a){var b=!1;if(a.l.P){Lc(a);tb(a,a.ua);a.ua=0;a.l.P=!1;if(b=a.j.run)b.textContent="Run";a.A&&a.A.stop(ra(),Gc(a));b=!0;a.C||a.status("Stopped")}a.l.complete=void 0;return b}var Jc=30,Mc=15,Cc=["power","reset"];
function Nc(a){var b=+a.model||1170;Bc.call(this,a,6666667);this.oa=b;this.lc=+a.addrReset||0;this.i=this.v=this.m=this.o=this.w=0;this.b=this.va=this.fa=[];this.D=0;this.nc=[];this.u=this.I=this.Na=this.Nb=[];this.Lb=this.Fa=this.F=this.kc=this.Ja=this.Wa=this.Xa=this.Ka=this.G=this.bb=this.Ma=this.H=this.qb=this.rb=this.pa=this.Ba=this.h=this.f=this.Eb=this.K=this.L=this.g=this.Mb=0;this.oc=255;1120>=this.oa?(this.jc=Oc.bind(this),this.Ua=this.Zc,this.Lb=8,this.oc=-1,this.rc=255,this.qc=0):(this.jc=
Pc.bind(this),this.Ua=this.$c,this.rc=~(1792|(1140>=this.oa?2048:0))&65535,this.qc=1140<this.oa?2048:0);this.$a=0;this.X=null;this.Sb=[];this.l.complete=!1;this.Bb=this.fc=this.bd;this.Cb=this.gc=this.dd;this.Ob=this.Pb=this.xe;this.Db=this.Rb=this.ze;this.sa=this.Ab=0;this.na=this.xc;this.W=this.Ac;this.lb=this.Dc;this.Tc=this.Sc=0}n(Nc,Bc);h=Nc.prototype;h.aa=function(a,b,c,d){Bc.prototype.aa.call(this,a,b,c,d);this.fc=b.Ec.bind(b);this.gc=b.vb.bind(b);this.Pb=b.Fc.bind(b);this.Rb=b.wb.bind(b)};
h.ba=function(a,b){for(var c=192,d=0;d<this.Sb.length;d++){var e=this.Sb[d];0>e.cc&&(e.cc=c,c+=4)}return Bc.prototype.ba.call(this,a,b)};
h.reset=function(){this.status("Model "+this.xa);this.l.P&&I(this);this.v=65536;this.m=32768;this.o=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.lc,-1,-2,-3,-4,-5,-6,-7,-8];this.ua=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.D=0;this.nc=[4,2,0,1];this.u=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.I=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Na=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Nb=[0,0,0,0,0,0,0,0];this.h=this.f=this.Eb=this.K=this.L=this.g=this.Mb=0;this.Ba=-1;pb(this);Ec(this);this.l.error=!1;Bc.prototype.reset.call(this)};function pb(a){a.H=0;a.qb=0;a.rb=0;a.oa=0;a.G=0;a.bb=0;a.Ma=255;a.Ja=0;a.Wa=0;a.Xa=0;a.Ka=262143;a.Fa=a.b[7];a.F=0;a.X=null;a.s&&(ic(a),a.kc=Wb(a.s))}
function ic(a){a.Bb=a.fc;a.Cb=a.gc;a.Ob=a.Pb;a.Db=a.Rb;a.Ja?(a.ra=65536,a.Ab=a.oa&16?4186112:253952,a.na=a.xc,a.W=a.Ac,a.lb=a.Dc,Ob(a.s,a.oa&16?22:18)):(a.ra=0,a.Ab=57344,a.na=a.cd,a.W=a.pe,a.lb=a.Cf,Ob(a.s,16))}function hc(a,b){b&=-3073;if(a.H!=b){b&57344&&!(a.H&57344)&&(a.qb=a.F>>16&65535,a.rb=a.F&65535);a.H=b;a.Wa=(b&96)>>5;a.Xa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ja!=c&&(a.Ja=c,ic(a))}}
function Qc(a,b,c){a.lc=b;a.s.reset();pb(a);Q(a,b);kc(a,0);if(c){for(b=2;5>=b;b++)a.b[b]=0;a.l.P||rb(a)}else a.C?I(a)||a.C.g():!1===c&&I(a);!a.l.P&&a.ka&&a.ka.stop()}h.wc=function(){return 0};h.save=function(){var a=new R(this);a.set(0,[this.b,this.ua,this.fa,this.Na,this.Nb,this.G,this.Mb,this.bb,this.Ma,jc(this),this.Ba,this.D,this.g,this.H,this.qb,this.rb,this.oa,this.Wa,this.Xa,this.u,this.I,this.Ja,this.Ka,this.Fa,this.F]);a.set(1,[this.Aa,this.La]);a.set(2,Vb(this.s));return a.data()};
h.reset=function(){this.status("Model "+this.oa);this.l.P&&I(this);this.v=65536;this.m=32768;this.o=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.lc,-1,-2,-3,-4,-5,-6,-7,-8];this.va=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.D=0;this.nc=[4,2,0,1];this.u=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.I=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Na=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Nb=[0,0,0,0,0,0,0,0];this.h=this.f=this.Eb=this.K=this.L=this.g=this.Mb=0;this.Ba=-1;pb(this);Ec(this);this.l.error=!1;Bc.prototype.reset.call(this)};function pb(a){a.H=0;a.qb=0;a.rb=0;a.pa=0;a.G=0;a.bb=0;a.Ma=255;a.Ja=0;a.Wa=0;a.Xa=0;a.Ka=262143;a.Fa=a.b[7];a.F=0;a.X=null;a.s&&(ic(a),a.kc=Wb(a.s))}
function ic(a){a.Bb=a.fc;a.Cb=a.gc;a.Ob=a.Pb;a.Db=a.Rb;a.Ja?(a.sa=65536,a.Ab=a.pa&16?4186112:253952,a.na=a.xc,a.W=a.Ac,a.lb=a.Dc,Ob(a.s,a.pa&16?22:18)):(a.sa=0,a.Ab=57344,a.na=a.cd,a.W=a.pe,a.lb=a.Cf,Ob(a.s,16))}function hc(a,b){b&=-3073;if(a.H!=b){b&57344&&!(a.H&57344)&&(a.qb=a.F>>16&65535,a.rb=a.F&65535);a.H=b;a.Wa=(b&96)>>5;a.Xa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ja!=c&&(a.Ja=c,ic(a))}}
function Qc(a,b,c){a.lc=b;a.s.reset();pb(a);Q(a,b);kc(a,0);if(c){for(b=2;5>=b;b++)a.b[b]=0;a.l.P||rb(a)}else a.C?I(a)||a.C.g():!1===c&&I(a);!a.l.P&&a.ka&&a.ka.stop()}h.wc=function(){return 0};h.save=function(){var a=new R(this);a.set(0,[this.b,this.va,this.fa,this.Na,this.Nb,this.G,this.Mb,this.bb,this.Ma,jc(this),this.Ba,this.D,this.g,this.H,this.qb,this.rb,this.pa,this.Wa,this.Xa,this.u,this.I,this.Ja,this.Ka,this.Fa,this.F]);a.set(1,[this.Aa,this.La]);a.set(2,Vb(this.s));return a.data()};
h.restore=function(a){var b=a[1];this.Aa=b[1];Hc(this,b[3]);a:{b=this.s;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.K){for(var f=0,g=Array(b.K),k=0;k<e.length-1;)for(var l=e[k++],m=e[k++];l--;)g[f++]=m;e=g}f=b.a[d];if(!f||!f.restore(e)){y("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function Rc(a){return a.v&65536?1:0}function Sc(a){return a.w&32768?8:0}function Tc(a,b){var c=a.b[7];a.b[7]=c+b&65535;return c}
function S(a,b,c){c&&(Q(a,a.b[7]+(b<<24>>23)),a.a-=2);a.a-=3}function Q(a,b){a.b[7]=b&65535}function ec(a,b,c,d){c={cc:b,eb:c,message:d||0,next:null};c.name=Za[b];a.Sb.push(c);return c}function gc(a,b){var c=a.X;if(c==b)a.X=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.X&&(a.g|=1)}function bc(a,b){if(b){if(b!=a.X){var c=a.X;if(!c||c.eb<=b.eb)b.next=c,a.X=b;else{do{var d=c.next;if(!d||d.eb<=b.eb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}}
function Uc(a){return a.g&64?(L(a,168,64,-6),!0):a.g&32?(L(a,4,32,-5),!0):a.g&16?(L(a,12,16,-7),!0):!1}function jc(a){return a.i=a.i&63728|Sc(a)|(a.o&65535?0:4)|(a.m&32768?2:0)|Rc(a)}function kc(a,b){b&=a.rc;a.w=b<<12;a.o=~b&4;a.m=b<<14;a.v=b<<16;if((b^a.i)&a.qc)for(var c=a.ua.length;0<=--c;){var d=a.b[c];a.b[c]=a.ua[c];a.ua[c]=d}a.D=b>>14&3;c=a.i>>14&3;a.D!=c&&(a.fa[c]=a.b[6],a.b[6]=a.fa[a.D]);a.i=b;a.g&=-3;a.g|=a.X?2:1}h.ea=function(a){this.w=this.o=a;this.m=0};
h.Ea=function(a,b){this.w=this.o=this.v=a;this.m=b||0};function Vc(a,b){a.w=a.o=a.v=b;a.m=a.w^a.v>>1}function Wc(a,b,c,d){a.w=a.o=a.v=b;a.m=(c^d)&(d^b)}function L(a,b,c,d){if(!a.$a){0>a.Ba?a.Ba=jc(a):a.D||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.G|=4,a.b[6]=b=4);if(-1!=d){a.F=b|4143316992;a.D=0;var e=a.W(b|a.ra),f=a.W(b+2&65535|a.ra);kc(a,f&-12289|a.Ba>>2&12288);Xc(a,a.Ba);Xc(a,a.b[7]);Q(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.Ba=-1;a.Tc=b;a.Sc=d;-1==d&&I(a);if(-4<=d)throw b;}}
function Yc(a){var b=Zc(a),c=Zc(a);a.i&49152&&(c=c&-225|a.i&63712);Q(a,b);kc(a,c);a.g&=-17}function $c(a,b){var c=b>>13&31;31>c&&(b=a.oa&32?a.Na[c]+(b&8191)&4194303:b&-3932161);return b}
function zb(a,b,c){var d,e,f;if(!(c&a.Ja))return f=b&65535,57344<=f&&(f|=a.Ab),f;d=b>>13;a.oa&a.nc[a.D]||(d&=7);e=a.u[a.D][d];f=(a.I[a.D][d]<<6)+(b&8191)&a.Ka;3932160<=f&&(f=$c(a,f));if(a.$a)return f;f>=a.kc&&f<a.Ab?(a.G|=32,L(a,4,0,f)):f&1&&!(c&1)&&(a.G|=64,L(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.u[a.D][d]=e;if(f!=(4194170&a.Ka)||a.D)a.Wa=a.D,a.Xa=d;g&&(g&57344&&(0<=a.Ba&&(g|=128),a.H&57344||(g|=a.H&4096|a.Wa<<5|a.Xa<<1,hc(a,a.H&-61695|g&61694)),L(a,168,64,-2)),a.H&61440||!(f<(4191360&a.Ka)||f>(4194239&a.Ka))||(a.H|=4096,a.H&512&&(a.g|=64)));return f}function Zc(a){var b=a.W(a.b[6]|a.ra);a.b[6]=a.b[6]+2&65535;return b}function Xc(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.F=a.F&65535|(a.F&-65536)<<8|16121856;a.g&256||a.Ua(4,-2,c);a.lb(c,b)}
function ad(a,b,c,d){var e,f,g=d&8?0:a.ra;switch(b){case 0:return L(a,4,0,-3),0;case 1:return 6==c&&a.Ua(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|g;case 2:f=2;e=a.b[c];6==c&&a.Ua(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.b[c];7!=c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.b[c]+f&65535;6==c&&a.Ua(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.b[c]-2&65535;7!=c&&(e|=g);e=a.W(e)|g;a.a-=8;break;case 6:return e=a.W(Tc(a,2)),e=e+a.b[c]&65535,6==c&&a.Ua(d,0,
e),a.a-=6,e|g;case 7:return e=a.W(Tc(a,2)),e=e+a.b[c]&65535,e=a.W(e|a.ra),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.F=a.F&65535|(a.F&-65536)<<8|(f<<3&248|c)<<16;return e}h.Zc=function(a,b,c){!this.D&&0>=b&&c<=this.Ma&&(this.g|=32)};h.$c=function(a,b,c){this.D||(65534<=c&&(c|=-65536),a&4&&c<=this.Ma&&(c<=this.Ma-32?L(this,4,0,-4):(this.G|=8,this.g|=32)))};h.bd=function(a){return this.fc(a)};h.dd=function(a){return this.gc(a)};h.xe=function(a,b){this.Pb(a,b)};h.ze=function(a,b){this.Rb(a,b)};
function Uc(a){return a.g&64?(L(a,168,64,-6),!0):a.g&32?(L(a,4,32,-5),!0):a.g&16?(L(a,12,16,-7),!0):!1}function jc(a){return a.i=a.i&63728|Sc(a)|(a.o&65535?0:4)|(a.m&32768?2:0)|Rc(a)}function kc(a,b){b&=a.rc;a.w=b<<12;a.o=~b&4;a.m=b<<14;a.v=b<<16;if((b^a.i)&a.qc)for(var c=a.va.length;0<=--c;){var d=a.b[c];a.b[c]=a.va[c];a.va[c]=d}a.D=b>>14&3;c=a.i>>14&3;a.D!=c&&(a.fa[c]=a.b[6],a.b[6]=a.fa[a.D]);a.i=b;a.g&=-3;a.g|=a.X?2:1}h.ea=function(a){this.w=this.o=a;this.m=0};
h.Ea=function(a,b){this.w=this.o=this.v=a;this.m=b||0};function Vc(a,b){a.w=a.o=a.v=b;a.m=a.w^a.v>>1}function Wc(a,b,c,d){a.w=a.o=a.v=b;a.m=(c^d)&(d^b)}function L(a,b,c,d){if(!a.$a){0>a.Ba?a.Ba=jc(a):a.D||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.G|=4,a.b[6]=b=4);if(-1!=d){a.F=b|4143316992;a.D=0;var e=a.W(b|a.sa),f=a.W(b+2&65535|a.sa);kc(a,f&-12289|a.Ba>>2&12288);Xc(a,a.Ba);Xc(a,a.b[7]);Q(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.Ba=-1;a.Tc=b;a.Sc=d;-1==d&&I(a);if(-4<=d)throw b;}}
function Yc(a){var b=Zc(a),c=Zc(a);a.i&49152&&(c=c&-225|a.i&63712);Q(a,b);kc(a,c);a.g&=-17}function $c(a,b){var c=b>>13&31;31>c&&(b=a.pa&32?a.Na[c]+(b&8191)&4194303:b&-3932161);return b}
function zb(a,b,c){var d,e,f;if(!(c&a.Ja))return f=b&65535,57344<=f&&(f|=a.Ab),f;d=b>>13;a.pa&a.nc[a.D]||(d&=7);e=a.u[a.D][d];f=(a.I[a.D][d]<<6)+(b&8191)&a.Ka;3932160<=f&&(f=$c(a,f));if(a.$a)return f;f>=a.kc&&f<a.Ab?(a.G|=32,L(a,4,0,f)):f&1&&!(c&1)&&(a.G|=64,L(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.u[a.D][d]=e;if(f!=(4194170&a.Ka)||a.D)a.Wa=a.D,a.Xa=d;g&&(g&57344&&(0<=a.Ba&&(g|=128),a.H&57344||(g|=a.H&4096|a.Wa<<5|a.Xa<<1,hc(a,a.H&-61695|g&61694)),L(a,168,64,-2)),a.H&61440||!(f<(4191360&a.Ka)||f>(4194239&a.Ka))||(a.H|=4096,a.H&512&&(a.g|=64)));return f}function Zc(a){var b=a.W(a.b[6]|a.sa);a.b[6]=a.b[6]+2&65535;return b}function Xc(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.F=a.F&65535|(a.F&-65536)<<8|16121856;a.g&256||a.Ua(4,-2,c);a.lb(c,b)}
function ad(a,b,c,d){var e,f,g=d&8?0:a.sa;switch(b){case 0:return L(a,4,0,-3),0;case 1:return 6==c&&a.Ua(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|g;case 2:f=2;e=a.b[c];6==c&&a.Ua(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.b[c];7!=c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.b[c]+f&65535;6==c&&a.Ua(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.b[c]-2&65535;7!=c&&(e|=g);e=a.W(e)|g;a.a-=8;break;case 6:return e=a.W(Tc(a,2)),e=e+a.b[c]&65535,6==c&&a.Ua(d,0,
e),a.a-=6,e|g;case 7:return e=a.W(Tc(a,2)),e=e+a.b[c]&65535,e=a.W(e|a.sa),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.F=a.F&65535|(a.F&-65536)<<8|(f<<3&248|c)<<16;return e}h.Zc=function(a,b,c){!this.D&&0>=b&&c<=this.Ma&&(this.g|=32)};h.$c=function(a,b,c){this.D||(65534<=c&&(c|=-65536),a&4&&c<=this.Ma&&(c<=this.Ma-32?L(this,4,0,-4):(this.G|=8,this.g|=32)))};h.bd=function(a){return this.fc(a)};h.dd=function(a){return this.gc(a)};h.xe=function(a,b){this.Pb(a,b)};h.ze=function(a,b){this.Rb(a,b)};
h.cd=function(a,b,c){return ad(this,a,b,c)};h.xc=function(a,b,c){return zb(this,ad(this,a,b,c),c)};h.pe=function(a){return this.s.vb(this.Fa=a)};h.Ac=function(a){return this.s.vb(this.Fa=zb(this,a,2))};h.Cf=function(a,b){this.s.wb(this.Fa=a,b)};h.Dc=function(a,b){this.s.wb(this.Fa=zb(this,a,4),b)};
function bd(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=ad(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.D=a.i>>12&3,c=a.W(d|c&a.ra),a.D=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.fa[a.i>>12&3];return c}function cd(a,b,c,d){a.F=a.F&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=ad(a,b,e,4),c&65536||(e&=65535),a.D=a.i>>12&3,e=zb(a,e|c&65536,4),a.D=a.i>>14&3,a.Db(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.fa[a.i>>12&3]=d}
function bd(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=ad(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.D=a.i>>12&3,c=a.W(d|c&a.sa),a.D=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.fa[a.i>>12&3];return c}function cd(a,b,c,d){a.F=a.F&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=ad(a,b,e,4),c&65536||(e&=65535),a.D=a.i>>12&3,e=zb(a,e|c&65536,4),a.D=a.i>>14&3,a.Db(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.fa[a.i>>12&3]=d}
function dd(a,b){b>>=6;var c=a.L=b&7;return(b=a.K=(b&56)>>3)?a.Bb(a.na(b,c,3)):a.b[c+a.Lb]&a.oc}function ed(a,b){var c;b>>=6;var d=a.L=b&7;(b=a.K=(b&56)>>3)?c=a.Cb(a.na(b,d,2)):c=a.b[d+a.Lb];return c}function fd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return ad(a,b,c,8)}function gd(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.Bb(a.na(b,c,3)):a.b[c]&255}function hd(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.Cb(a.na(b,d,2)):c=a.b[d];return c}
function T(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.Eb=a.na(b,e,7),c=0>c?a.b[-c-1]&255:c,a.Ob(e,d.call(a,c,a.Bb(e))),e&1&&a.a--):(b=a.b[e],c=0>c?a.b[-c-1]&255:c,a.b[e]=b&65280|d.call(a,c,b&255))}function U(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.na(b,e,6),a.Db(e,d.call(a,0>c?a.b[-c-1]:c,a.Cb(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])}
function id(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.na(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.Ob(d,c),d&1&&a.a--):(c?(c=0>c?a.b[-c-1]&255:c,a.b[f]=a.b[f]&~d|c<<24>>24&d):a.b[f]&=~d,e.call(a,c<<8))}function jd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.na(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.Db(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))}
@ -149,7 +149,7 @@ function Td(a){var b=ed(this,a);a=hd(this,a);this.ea((0>b?this.b[-b-1]:b)&a);thi
function Yd(a){S(this,a,!Rc(this)&&!!(this.o&65535))}function Zd(a){S(this,a,(this.o&65535?0:4)||!Sc(this)!=!(this.m&32768))}function $d(a){S(this,a,Rc(this)||(this.o&65535?0:4))}function ae(a){S(this,a,!Sc(this)!=!(this.m&32768))}function be(a){S(this,a,Sc(this))}function ce(a){S(this,a,!!(this.o&65535))}function de(a){S(this,a,!Sc(this))}function ee(){L(this,12,0,-9)}function fe(a){S(this,a,!0)}function ge(a){S(this,a,!(this.m&32768))}function he(a){S(this,a,this.m&32768?2:0)}
function V(a){a&1&&(this.v=0);a&2&&(this.m=0);a&4&&(this.o=1);a&8&&(this.w=0);this.a-=5}function ie(a){var b=ed(this,a);a=hd(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;Wc(this,c,a,b);this.a-=this.h?4+(this.L&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function je(a){var b=dd(this,a);a=gd(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);Wc(this,c,a,b);this.a-=this.h?4+(this.L&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}
function ke(a){var b=hd(this,a);if(b){a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.v=this.m=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.b[a]=d&65535,this.b[a|1]=c-d*b&65535,this.o=d>>16|d,this.w=d>>16):(this.m=32768,this.o=d>>15|d,this.w=c>>16,-1===b&&65534===this.b[a]&&(this.b[a]=this.b[a|1]=1));this.a-=53}else this.o=this.w=0,this.m=32768,this.v=65536,this.a-=7}function le(){L(this,24,0,-9);this.a-=20}
function me(){this.i&49152?(this.G|=128,L(this,4,0,-8)):(this.ka&&1120==this.xa&&this.ka.setData(this.b[0],!0),this.C?this.C.i():I(this));this.a-=7}function ne(){L(this,16,0,-9);this.a-=20}var oe=[0,7,7,10,7,11,9,13];function pe(a){this.S=this.a;Q(this,fd(this,a));this.a=this.S-oe[this.h]}var qe=[0,14,14,17,14,18,16,20];function re(a){this.S=this.a;var b=fd(this,a);a=a>>6&7;Xc(this,this.b[a]);this.b[a]=this.b[7];Q(this,b);this.a=this.S-qe[this.h]}var se=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
function me(){this.i&49152?(this.G|=128,L(this,4,0,-8)):(this.ka&&1120==this.oa&&this.ka.setData(this.b[0],!0),this.C?this.C.i():I(this));this.a-=7}function ne(){L(this,16,0,-9);this.a-=20}var oe=[0,7,7,10,7,11,9,13];function pe(a){this.S=this.a;Q(this,fd(this,a));this.a=this.S-oe[this.h]}var qe=[0,14,14,17,14,18,16,20];function re(a){this.S=this.a;var b=fd(this,a);a=a>>6&7;Xc(this,this.b[a]);this.b[a]=this.b[7];Q(this,b);this.a=this.S-qe[this.h]}var se=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
function te(a){var b=ed(this,a);this.S=this.a;jd(this,a,b,this.ea);this.a=this.S-se[(this.K?8:0)+this.h]+(7!=this.f||this.h?0:2)}function ue(a){var b=dd(this,a);id(this,a,b,65535,this.ea);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}var ve=[7,13,13,17,14,18,17,21];
function we(a){var b=hd(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.b[a];c&32768&&(c|=-65536);b=~~(b*c);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;this.w=b>>16;this.o=this.w|b;this.m=0;this.v=-32768>b||32767<b?65536:0;this.a-=23}function xe(){this.a-=5}function ye(){this.i&49152||(this.s.reset(),pb(this),this.ka&&this.ka.setData(this.b[0],!0));this.a-=667}function ze(a){if(a&8)L(this,8,0,-9);else{var b=Zc(this);a&=7;7==a?Q(this,b):(Q(this,this.b[a]),this.b[a]=b);this.a-=9}}
function Ae(){Yc(this);this.a-=13}function W(a){a&1&&(this.v=65536);a&2&&(this.m=32768);a&4&&(this.o=0);a&8&&(this.w=32768);this.a-=5}function Be(a){var b=(a&448)>>6;if(this.b[b]=this.b[b]-1&65535)Q(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Ce(a){U(this,a,ed(this,a),Gd);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function De(a){U(this,a,0,Id);this.a-=this.h?9:3+(7==this.f?2:0)}function Ee(){L(this,28,0,-9)}
@ -160,9 +160,9 @@ this.a-=this.h?11:6},function(a){U(this,a,Rc(this)?1:0,kd);this.a-=this.h?9:3+(7
[function(a){af[a&15].call(this,a)},X,X,X,pe,pe,pe,pe,ze,X,Oe,Qe,De,De,De,De],af=[me,Fe,Ae,ee,ne,ye,X,X,X,X,X,X,X,X,X,X],Pe=[xe,function(){this.v=0;this.a-=5},function(){this.m=0;this.a-=5},V,function(){this.o=1;this.a-=5},V,V,V,function(){this.w=0;this.a-=5},V,V,V,V,V,V,V],Re=[xe,function(){this.v=65536;this.a-=5},function(){this.m=32768;this.a-=5},W,function(){this.o=0;this.a-=5},W,W,W,function(){this.w=32768;this.a-=5},W,W,W,W,W,W,W],Ze=[de,be,Yd,$d,ge,he,Nd,Od,le,Ee,Se,Ue,We,X,X,X],Te=[function(a){id(this,
a,0,255,this.Ea);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,vd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,zd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,xd);this.a-=this.h?9:3+(7==this.f?2:0)}],Ve=[function(a){T(this,a,0,Bd);this.a-=this.h?11:6},function(a){T(this,a,Rc(this)?1:0,ld);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,Rc(this)?1:0,Hd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=gd(this,a);this.Ea(a<<8);this.a-=this.h?4:3+
(7==this.f?2:0)}],Xe=[function(a){T(this,a,0,Fd);this.a-=this.h?9+(this.Eb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Dd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,pd);this.a-=this.h?9+(this.Eb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,nd);this.a-=this.h?9:3+(7==this.f?2:0)}];function Pc(a){bf[a>>12].call(this,a)}
var bf=[function(a){cf[a>>8&15].call(this,a)},te,ie,Td,Pd,Rd,Kd,function(a){df[a>>8&15].call(this,a)},function(a){ef[a>>8&15].call(this,a)},ue,je,Ud,Qd,Sd,Ce,X],cf=[function(a){ff[a>>4&15].call(this,a)},fe,ce,Vd,Wd,ae,Xd,Zd,re,re,Ie,Ke,Me,function(a){gf[a>>6&3].call(this,a)},X,X],gf=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.ra);Q(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=bd(this,a,0);this.ea(a);Xc(this,a);this.a-=11},function(a){var b=Zc(this);this.S=
this.a;this.ea(b);cd(this,a,0,b);this.a=this.S-ve[this.h]},function(a){jd(this,a,Sc(this)?65535:0,this.ea);this.a-=this.h?9:3+(7==this.f?2:0)}],ff=[function(a){hf[a&15].call(this,a)},X,X,X,pe,pe,pe,pe,ze,function(a){a&8?(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5):L(this,8,0,-9)},Oe,Qe,De,De,De,De],hf=[me,Fe,function(){Yc(this);this.g|=this.i&16;this.a-=13},ee,ne,ye,Ae,function(){L(this,8,0,-9)},X,X,X,X,X,X,X,X],df=[we,we,ke,ke,Ld,Ld,Md,Md,Ge,Ge,X,X,X,X,Be,Be],ef=[de,
be,Yd,$d,ge,he,Nd,Od,le,Ee,Se,Ue,We,function(a){jf[a>>6&3].call(this,a)},X,X],jf=[X,function(a){a=bd(this,a,65536);this.ea(a);Xc(this,a);this.a-=11},function(a){var b=Zc(this);this.S=this.a;this.ea(b);cd(this,a,65536,b);this.a=this.S-ve[this.h]},X];
var bf=[function(a){cf[a>>8&15].call(this,a)},te,ie,Td,Pd,Rd,Kd,function(a){df[a>>8&15].call(this,a)},function(a){ef[a>>8&15].call(this,a)},ue,je,Ud,Qd,Sd,Ce,X],cf=[function(a){ff[a>>4&15].call(this,a)},fe,ce,Vd,Wd,ae,Xd,Zd,re,re,Ie,Ke,Me,function(a){gf[a>>6&3].call(this,a)},X,X],gf=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.sa);Q(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=bd(this,a,0);this.ea(a);Xc(this,a);this.a-=11},function(a){var b=Zc(this);this.S=
this.a;this.ea(b);cd(this,a,0,b);this.a=this.S-ve[this.h]},function(a){jd(this,a,Sc(this)?65535:0,this.ea);this.a-=this.h?9:3+(7==this.f?2:0)}],ff=[function(a){hf[a&15].call(this,a)},X,X,X,pe,pe,pe,pe,ze,function(a){!(a&8)||1145>this.oa?L(this,8,0,-9):(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5)},Oe,Qe,De,De,De,De],hf=[me,Fe,function(){Yc(this);this.g|=this.i&16;this.a-=13},ee,ne,ye,Ae,function(){L(this,8,0,-9)},X,X,X,X,X,X,X,X],df=[we,we,ke,ke,Ld,Ld,Md,Md,Ge,Ge,X,
X,X,X,Be,Be],ef=[de,be,Yd,$d,ge,he,Nd,Od,le,Ee,Se,Ue,We,function(a){1145>this.oa?L(this,8,0,-9):jf[a>>6&3].call(this,a)},X,X],jf=[X,function(a){a=bd(this,a,65536);this.ea(a);Xc(this,a);this.a-=11},function(a){var b=Zc(this);this.S=this.a;this.ea(b);cd(this,a,65536,b);this.a=this.S-ve[this.h]},X];
function kf(a){A.call(this,"ROM",a,0,128);this.ga=this.b=null;this.h=+a.addr;this.a=+a.size;this.i=!1;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.g=a.file;this.m=u(this.g);if(this.g){a=this.g;var b=la(this.m);"json"!=b&&"hex"!=b&&(a=ua()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.B("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(Oa(c.Ha,a,b),(a=ta(a,b))?(c.b=a.N,c.ga=a.ga):c.g=null);lf(c)})}}n(kf,A);
h=kf.prototype;h.aa=function(a,b,c,d){this.s=b;this.c=c;this.C=d;lf(this)};h.ba=function(){this.ga&&(this.C&&this.C.a(this.id,this.h,this.a,this.ga),delete this.ga);return!0};h.ia=function(){return!0};
function lf(a){if(!Ta(a)){if(a.g){if(!a.b||!a.s)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a)Sa(a,"ROM size ("+ka(a.b.length,8,!0)+") does not match specified size ("+ka(a.a,8,!0)+")");else{var b;a:{b=a.h;a.status(a.a+"-byte ROM at "+ja(b));if(57344<=b&&b<57344+Gb){var c={};b=(c[b]=[kf.prototype.be,kf.prototype.lf,null,null,null,a.a>>1],c);if(db(a.s,a,b)){b=a.i=!0;break a}}else if(Mb(a.s,b,a.a,oc)){for(c=0;c<a.b.length;c++)Ub(a.s,b+c,a.b[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.f?b.push(a.f):
@ -203,13 +203,13 @@ function Tf(a,b,c,d,e){var f=c;if(a.b)return!0;a.ma=b;a.ca=c;a.Ib=u(c);a.b=e;a.i
null,!0,function(b,c,d){Uf(a,b,c,d)})}
function Uf(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.l.R;a.g=!1;if(d)a.controller.B('Unable to load disk "'+a.ma+'" (error '+d+": "+b+")",f);else{Oa(a.controller.Ha,b,c);try{if(0<u(a.Ib,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.ma]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.J=k.length;a.O=k[0].length;a.M=k[0][0].length;var l=k[0][0][0];a.U=l&&l.length||512;for(d=c=0;d<a.J;d++)for(f=0;f<a.O;f++)for(g=0;g<a.M;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var t=l.data;if(void 0===t){var x=l.bytes;if(void 0!==x&&x.length){for(var w=m<<2,Z=x.length;Z<w;Z++)x[Z]=p;Vf(l,x)}else t=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=t;delete l.bytes}Sf(l,d,f);for(w=0;w<
t.length;w++)c=c+t[w]&-1}a.a=k;a.f=c;e=a}else y("Empty disk image: "+a.ma)}catch(Da){y("Disk image error ("+b+"): "+Da.message)}}a.b&&(a.b.call(a.i,a.h,e,a.ma,a.ca),a.b=null)}function Sf(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Fg=b;a.Gg=c;a.pa=a.ha=0;a.va=!1;return a}
t.length;w++)c=c+t[w]&-1}a.a=k;a.f=c;e=a}else y("Empty disk image: "+a.ma)}catch(Da){y("Disk image error ("+b+"): "+Da.message)}}a.b&&(a.b.call(a.i,a.h,e,a.ma,a.ca),a.b=null)}function Sf(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Fg=b;a.Gg=c;a.qa=a.ha=0;a.wa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.h,g=this.a[a];if(g){var k=g[b];if(!k&&f.Xc&&b<f.O)for(k=g[b]=Array(f.uc),g=0;g<k.length;g++)k[g]=Sf(null,a,b,g+1,f.Yb,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Xc&&9==f.Wb&&(d=k[g]=Sf(null,a,b,f.Wb,f.Yb,0))}}e&&e(d,!1);return d};function Vf(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.g)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ha?f<a.pa?(a.ha+=a.pa-f,a.pa=f):f>=a.pa+a.ha&&(a.ha+=f-(a.pa+a.ha)+1):(a.pa=f,a.ha=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.g)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ha?f<a.qa?(a.ha+=a.qa-f,a.qa=f):f>=a.qa+a.ha&&(a.ha+=f-(a.qa+a.ha)+1):(a.qa=f,a.ha=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function Wf(a,b){var c=a.O*a.M,d=b/c|0;return d<a.J?(b%=c,a.seek(d,b/a.M|0,b%a.M+1)):null}function Xf(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Yf(a){for(var b="",c=0,d;d=Wf(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Xf(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.ca,this.f,this.J,this.O,this.M,this.U];if(!this.g)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.ha){for(var k=[],l=0,m=g.pa,p=g.pa+g.ha;m<p;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.pa,k]}}return b};
h.save=function(){var a=0,b=[];b[a++]=[this.ca,this.f,this.J,this.O,this.M,this.U];if(!this.g)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.ha){for(var k=[],l=0,m=g.qa,p=g.qa+g.ha;m<p;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.qa,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?Rf(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.a.length||l>=this.a[k].length||m>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.pa=e;for(k.ha=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.B("Unable to restore disk '"+this.ma+": "+c);return b};
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.qa=e;for(k.ha=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.B("Unable to restore disk '"+this.ma+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=Wf(this,a++);)Zf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function Zf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Qf=0;function P(a){A.call(this,"RK11",a,0,65536);this.o=$f(this,a.autoMount);this.m=0;this.f=Array(8);this.u=!Aa("Mobi")&&window&&"FileReader"in window;this.Da=null;this.w=this.b=this.a=this.i=this.h=this.g=this.v=0}n(P,A);
function $f(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=P.prototype;
@ -220,10 +220,10 @@ h.aa=function(a,b,c,d){this.A=a;this.s=b;this.c=c;this.C=d;if(a=$f(this,Dc(this.
h.ba=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.A.i){for(a=0;a<this.f.length;a++)jg(this,a,!0);ig(this,!0)}}else if(!this.restore(a))return!1;if(a=this.j.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";ag(this,0)}}return!0};h.ia=function(a){return a?this.save():!0};h.reset=function(){cg(this)};h.save=function(){return(new R(this)).data()};
h.restore=function(a){return cg(this,a[0])};function ig(a,b){b||(a.m=0);for(var c in a.o){var d=a.o[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.j.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=u(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.f.length)){!kg(a,g,f,e,!0)&&b&&H(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.m}
function bg(a,b,c,d){var e=a.j.listDrives,e=e&&r(e.value);if(void 0===e||0>e||e>=a.f.length)a.B("Unable to load the selected drive");else if(c)if(c==gg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==hg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=u(c);a.status("Attempting to load "+c+' as "'+b+'"')}kg(a,e,b,c,!1,d)}else jg(a,e)}
function kg(a,b,c,d,e,f){var g=-1,k=a.f[b];k.ca.toLowerCase()!=d.toLowerCase()&&(g++,jg(a,b,!0),k.Ra?a.B("RK11 busy"):(k.Ra=!0,e&&(k.Qa=!0,a.m++),k.wa=!!f,Tf(new Pf(a,k,"preload"),c,d,f,a.Mc)&&g++));return g}h.Mc=function(a,b,c,d,e){a.Ra=!1;b&&(b.J>a.J||b.O>a.O)&&(this.B('Disk "'+c+'" too large for drive '+("RK"+a.Sa)),b=null);b?(a.T=b,a.ma=c,a.ca=d,this.B('Loaded disk "'+c+'" in drive '+("RK"+a.Sa),a.Qa||e),this.A&&Kc(this.A)):a.wa=!1;a.Qa&&(a.Qa=!1,--this.m||H(this));ag(this,a.Sa)};
function kg(a,b,c,d,e,f){var g=-1,k=a.f[b];k.ca.toLowerCase()!=d.toLowerCase()&&(g++,jg(a,b,!0),k.Ra?a.B("RK11 busy"):(k.Ra=!0,e&&(k.Qa=!0,a.m++),k.xa=!!f,Tf(new Pf(a,k,"preload"),c,d,f,a.Mc)&&g++));return g}h.Mc=function(a,b,c,d,e){a.Ra=!1;b&&(b.J>a.J||b.O>a.O)&&(this.B('Disk "'+c+'" too large for drive '+("RK"+a.Sa)),b=null);b?(a.T=b,a.ma=c,a.ca=d,this.B('Loaded disk "'+c+'" in drive '+("RK"+a.Sa),a.Qa||e),this.A&&Kc(this.A)):a.xa=!1;a.Qa&&(a.Qa=!1,--this.m||H(this));ag(this,a.Sa)};
function eg(a,b,c,d){if((a=a.j.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function ag(a,b){if(0<=b&&b<a.f.length){var c=a.f[b],d=a.j.listDisks;a=a.j.listDrives;if(d&&a&&d.options&&a.options&&(a=r(a.value),c=c.wa?gg:c.ca,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function jg(a,b,c){var d=a.f[b];if(d.T||!1===c)d.ma="",d.ca="",d.T=null,d.wa=!1,c||(a.B("Drive RK"+b+" unloaded",c),ag(a,b))}
function cg(a,b){var c=0;b||(b=[]);a.w=b[c++]||2368;a.b=b[c++]||0;a.a=b[c++]||128;a.i=b[c++]||0;a.h=b[c++]||0;a.g=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.f.length;b++){var d=a.f[b];void 0===d&&(d=a.f[b]={});c=a;d.Sa=b;d.name=c.Ga;d.Ra=d.wa=!1;d.J=203;d.O=2;d.M=12;d.U=512;d.yb=!0;d.Yc=0;d.Wc=0;d.Wb=1;d.uc=d.M;d.Yb=d.U;d.ed=0;d.we=null;d.T||(d.ca="");d.status=2368}return!0}
function ag(a,b){if(0<=b&&b<a.f.length){var c=a.f[b],d=a.j.listDisks;a=a.j.listDrives;if(d&&a&&d.options&&a.options&&(a=r(a.value),c=c.xa?gg:c.ca,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function jg(a,b,c){var d=a.f[b];if(d.T||!1===c)d.ma="",d.ca="",d.T=null,d.xa=!1,c||(a.B("Drive RK"+b+" unloaded",c),ag(a,b))}
function cg(a,b){var c=0;b||(b=[]);a.w=b[c++]||2368;a.b=b[c++]||0;a.a=b[c++]||128;a.i=b[c++]||0;a.h=b[c++]||0;a.g=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.f.length;b++){var d=a.f[b];void 0===d&&(d=a.f[b]={});c=a;d.Sa=b;d.name=c.Ga;d.Ra=d.xa=!1;d.J=203;d.O=2;d.M=12;d.U=512;d.yb=!0;d.Yc=0;d.Wc=0;d.Wb=1;d.uc=d.M;d.Yb=d.U;d.ed=0;d.we=null;d.T||(d.ca="");d.status=2368}return!0}
h.sc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.T;var p=null,t;a||(m=128,e=0);for(;e;){if(!p){if(b>=a.J){m=64;break}p=a.seek(b,c,d+1);if(!p){m=4096;break}t=0;++d>=a.M&&(d=0,++c>=a.O&&(c=0,++b))}var x,w;if(0>(x=a.read(p,t++))||0>(w=a.read(p,t++))){m=32;break}if(!k&&(yb(this.s,$c(this.c,f),x|w<<8),$b(this.s))){m=1024;break}t>=a.U&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Nc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.T;var p=null,t;a||(m=128,e=0);for(;e;){var x=Ab(this.s,$c(this.c,f));if($b(this.s)){m=1024;break}if(!p){if(b>=a.J){m=64;break}p=a.seek(b,c,d+1,!0);if(!p){m=4096;break}t=0;++d>=a.M&&(d=0,++c>=a.O&&(c=0,++b))}if(k){var w,Z;if(0>(w=a.read(p,t++))||0>(Z=a.read(p,t++))){m=32;break}if(x!=(w|Z<<8)){m=1;break}}else if(!a.write(p,t++,x&255)||!a.write(p,t++,x>>8)){m=32;break}t>=a.U&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Lc=function(a,b,c,d,e,f){this.h=f&65535;this.a=this.a&-49|f>>12&48;this.i=65536-e&65535;this.g=this.g&-16|d&15;this.b|=a;lg(this);return!0};function lg(a){a.a&=-32769;a.b&&(a.b|=32768,a.a|=32768,a.b&32736&&(a.a|=16384))}h.Ud=function(){return this.w};h.cf=function(){};h.Vd=function(){return this.b};h.df=function(){};h.Rd=function(){return this.a&61438};
@ -238,10 +238,10 @@ h.aa=function(a,b,c,d){this.A=a;this.s=b;this.c=c;this.C=d;if(a=ng(this,Dc(this.
h.ba=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.A.i){for(a=0;a<this.b.length;a++)xg(this,a,!0);wg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.j.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";og(this,0)}}return!0};h.ia=function(a){return a?this.save():!0};h.reset=function(){qg(this)};h.save=function(){return(new R(this)).data()};
h.restore=function(a){return qg(this,a[0])};function wg(a,b){b||(a.o=0);for(var c in a.u){var d=a.u[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.j.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=u(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.b.length)){!yg(a,g,f,e,!0)&&b&&H(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.o}
function pg(a,b,c,d){var e=a.j.listDrives,e=e&&r(e.value);if(void 0===e||0>e||e>=a.b.length)a.B("Unable to load the selected drive");else if(c)if(c==ug)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==vg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=u(c);a.status("Attempting to load "+c+' as "'+b+'"')}yg(a,e,b,c,!1,d)}else xg(a,e)}
function yg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.ca.toLowerCase()!=d.toLowerCase()&&(g++,xg(a,b,!0),k.Ra?a.B("RL11 busy"):(k.Ra=!0,e&&(k.Qa=!0,a.o++),k.wa=!!f,Tf(new Pf(a,k,"preload"),c,d,f,a.Pc)&&g++));return g}h.Pc=function(a,b,c,d,e){a.Ra=!1;b&&(b.J>a.J||b.O>a.O)&&(this.B('Disk "'+c+'" too large for drive '+("RL"+a.Sa)),b=null);b?(a.T=b,a.ma=c,a.ca=d,this.B('Loaded disk "'+c+'" in drive '+("RL"+a.Sa),a.Qa||e),this.A&&Kc(this.A)):a.wa=!1;a.Qa&&(a.Qa=!1,--this.o||H(this));og(this,a.Sa)};
function yg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.ca.toLowerCase()!=d.toLowerCase()&&(g++,xg(a,b,!0),k.Ra?a.B("RL11 busy"):(k.Ra=!0,e&&(k.Qa=!0,a.o++),k.xa=!!f,Tf(new Pf(a,k,"preload"),c,d,f,a.Pc)&&g++));return g}h.Pc=function(a,b,c,d,e){a.Ra=!1;b&&(b.J>a.J||b.O>a.O)&&(this.B('Disk "'+c+'" too large for drive '+("RL"+a.Sa)),b=null);b?(a.T=b,a.ma=c,a.ca=d,this.B('Loaded disk "'+c+'" in drive '+("RL"+a.Sa),a.Qa||e),this.A&&Kc(this.A)):a.xa=!1;a.Qa&&(a.Qa=!1,--this.o||H(this));og(this,a.Sa)};
function sg(a,b,c,d){if((a=a.j.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function og(a,b){if(0<=b&&b<a.b.length){var c=a.b[b],d=a.j.listDisks;a=a.j.listDrives;if(d&&a&&d.options&&a.options&&(a=r(a.value),c=c.wa?ug:c.ca,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function xg(a,b,c){var d=a.b[b];if(d.T||!1===c)d.ma="",d.ca="",d.T=null,d.wa=!1,c||(a.B("Drive RL"+b+" unloaded",c),og(a,b))}
function qg(a,b){var c=0;b||(b=[]);a.a=b[c++]||129;a.m=b[c++]||0;a.f=b[c++]||0;a.g=b[c++]||0;a.i=b[c++]||0;a.h=b[c]||0;for(b=0;b<a.b.length;b++){var d=a.b[b];void 0===d&&(d=a.b[b]={});c=a;d.Sa=b;d.name=c.Ga;d.Ra=d.wa=!1;d.J=512;d.O=2;d.M=40;d.U=256;d.yb=!0;d.Yc=0;d.Wc=0;d.Wb=1;d.uc=d.M;d.Yb=d.U;d.ed=0;d.we=null;d.T||(d.ca="");d.status=29}return!0}
function og(a,b){if(0<=b&&b<a.b.length){var c=a.b[b],d=a.j.listDisks;a=a.j.listDrives;if(d&&a&&d.options&&a.options&&(a=r(a.value),c=c.xa?ug:c.ca,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function xg(a,b,c){var d=a.b[b];if(d.T||!1===c)d.ma="",d.ca="",d.T=null,d.xa=!1,c||(a.B("Drive RL"+b+" unloaded",c),og(a,b))}
function qg(a,b){var c=0;b||(b=[]);a.a=b[c++]||129;a.m=b[c++]||0;a.f=b[c++]||0;a.g=b[c++]||0;a.i=b[c++]||0;a.h=b[c]||0;for(b=0;b<a.b.length;b++){var d=a.b[b];void 0===d&&(d=a.b[b]={});c=a;d.Sa=b;d.name=c.Ga;d.Ra=d.xa=!1;d.J=512;d.O=2;d.M=40;d.U=256;d.yb=!0;d.Yc=0;d.Wc=0;d.Wb=1;d.uc=d.M;d.Yb=d.U;d.ed=0;d.we=null;d.T||(d.ca="");d.status=29}return!0}
h.tc=function(a,b,c,d,e,f,g){var k=0;a=a.T;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var p,t;if(0>(p=a.read(l,m++))||0>(t=a.read(l,m++))){k=5120;break}yb(this.s,$c(this.c,f),p|t<<8);if($b(this.s)){k=8192;break}f+=2;e--;if(m>=a.U&&(l=null,++d>=a.M&&(d=0,++c>=a.O&&(c=0,++b>=a.J)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Qc=function(a,b,c,d,e,f,g){var k=0;a=a.T;var l=null,m;a||(k=5120,e=0);for(;e;){var p=Ab(this.s,$c(this.c,f));if($b(this.s)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,p&255)||!a.write(l,m++,p>>8)){k=5120;break}if(m>=a.U&&(l=null,++d>=a.M&&(d=0,++c>=a.O&&(c=0,++b>=a.J)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Oc=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&-49|f>>12&48;this.h=f>>16&63;this.g=this.f=b<<7|(c?64:0)|d&63;this.i=65536-e&65535;a&&(this.a=this.a|a|32768);return!0};h.Zd=function(){return this.a&65535};
@ -261,7 +261,7 @@ function Og(a,b){if(va("There may be a problem with your "+Wa+" machine.\n\nTo h
function Wg(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new R(a,"1.32.0"),g=new R(a,"1.32.0",Ig),k=sa();g.set(Kg,k);f.set(Kg,k);f.set(Xg,"1.32.0");f.set(Yg,window?window.location.href:null);f.set(Zg,window?window.navigator.userAgent:"");a.c&&a.c.ia&&(c&&I(a.c),d=a.c.ia(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.l.R=!1,!1===d&&(e=null)));for(var k=C(a.id),l=0;l<k.length;l++){var m=k[l];m.l.R&&(m.ia&&(d=m.ia(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.l.R=!1,!1===d&&(e=null)))}e&&
(c?(k=d=!1,b?(a.b&&$g(a,a.b,f.toString()),Tg(g)&&Tg(f)||(e=null,d=k=!0)):a.a&&(d=!0,k=a.a==ah),d&&f.clear(k)):e=f.toString());c&&(a.l.R=!1,b=a.j.power)&&(b.textContent="Power");a.g=0;return e}h.reset=function(){this.s&&this.s.reset&&this.s.reset();this.c&&this.c.reset&&this.c.reset();for(var a=C(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.s&&c!==this.c&&c.reset&&c.reset()}vb(this,-1)};
h.start=function(a,b){for(var c=C(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}vb(this,-1)};h.stop=function(a,b){for(var c=C(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}vb(this,-1)};
function vb(a,b){if(a.c){var c=a.c,d=b||0,e=c.j.speed;e&&(0>=d||30<=(c.ec+=d))&&(e.textContent=c.l.P?c.Ia.toFixed(2)+"Mhz":"Stopped",c.ec=0)}if(a.f&&(a=a.f,b=b||0,a.m)){c=a.c.l.P;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;e<a.c.b.length;e++)lb(a,"R"+e,a.c.b[e]);e=jc(a.c);lb(a,"PS",e);lb(a,"NF",e&8?1:0,1);lb(a,"ZF",e&4?1:0,1);lb(a,"VF",e&2?1:0,1);lb(a,"CF",e&1?1:0,1);a.i=0}Bb(a,0<b&&c&&!d?a.c.Fa:a.ja);xb(a,a.h);b=a.c;b=b.Ja?b.oa&16?1:2:4;Db(a,"B22",b&1);Db(a,"B18",b&2);Db(a,"B16",b&4)}}
function vb(a,b){if(a.c){var c=a.c,d=b||0,e=c.j.speed;e&&(0>=d||30<=(c.ec+=d))&&(e.textContent=c.l.P?c.Ia.toFixed(2)+"Mhz":"Stopped",c.ec=0)}if(a.f&&(a=a.f,b=b||0,a.m)){c=a.c.l.P;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;e<a.c.b.length;e++)lb(a,"R"+e,a.c.b[e]);e=jc(a.c);lb(a,"PS",e);lb(a,"NF",e&8?1:0,1);lb(a,"ZF",e&4?1:0,1);lb(a,"VF",e&2?1:0,1);lb(a,"CF",e&1?1:0,1);a.i=0}Bb(a,0<b&&c&&!d?a.c.Fa:a.ja);xb(a,a.h);b=a.c;b=b.Ja?b.pa&16?1:2:4;Db(a,"B22",b&1);Db(a,"B18",b&2);Db(a,"B16",b&4)}}
h.da=function(a,b,c){var d=this;switch(b){case "power":return this.j[b]=c,c.onclick=function(){d.g||(d.l.R?Wg(d,!1,!0):Gg(d,d.sb))},!0;case "reset":return this.j[b]=c,c.onclick=function(){if(d.l.R&&!d.g)if(d.a&&!d.o){var a=va("Click OK to save changes to this "+Wa+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Wg(d,a,!0);!a&&d.G?window&&window.location.reload():(a||(d.i=!0),d.sb(Cg),d.i=!1)}else d.reset(),d.c&&d.c.la()},!0;case "save":if(ma(ua(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.j[b]=c,c.onclick=function(){var a=Dg(d,!0);if(a){var b=!!(d.a&&!d.o||d.G),c=Wg(d,b);b?$g(d,a,c):d.B("Resume disabled, machine state not saved")}},!0}return!1};
function Dg(a,b){var c=a.b;c||((c=ya(Ug),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=bh(a,c))||a.B("The user ID is invalid.")):b&&a.B("Browser local storage is not available"));return c}