Added resume support for saving/restoring all active timers and IRQs, along with the run/stop state of the CPU

This commit is contained in:
Jeff Parsons 2017-01-25 20:31:05 -08:00 committed by Jeff Parsons
commit bb24ccaca6
12 changed files with 844 additions and 671 deletions

View file

@ -853,7 +853,10 @@ class ComputerPDP11 extends Component {
* after they're no longer ready.
*/
if (this.cpu && this.cpu.powerDown) {
if (fShutdown) this.cpu.stopCPU();
if (fShutdown) {
if (fSave) this.cpu.flags.autoStart = this.cpu.flags.running;
this.cpu.stopCPU();
}
data = this.cpu.powerDown(fSave, fShutdown);
if (typeof data === "object") stateComputer.set(this.cpu.id, data);
if (fShutdown) {

View file

@ -120,8 +120,7 @@ class CPUPDP11 extends Component {
/*
* We add a number of flags to the set initialized by Component
*/
this.flags.running = false;
this.flags.starting = false;
this.flags.running = this.flags.starting = false;
this.flags.autoStart = parmsCPU['autoStart'];
if (typeof this.flags.autoStart == "string") this.flags.autoStart = (this.flags.autoStart == "true");
@ -996,6 +995,37 @@ class CPUPDP11 extends Component {
return nCycles;
}
/**
* saveTimers()
*
* @this {CPUPDP11}
* @return {Array.<number>}
*/
saveTimers()
{
var aTimerCycles = [];
for (var i = 0; i < this.aTimers.length; i++) {
var timer = this.aTimers[i];
aTimerCycles.push(timer[0]);
}
return aTimerCycles;
}
/**
* restoreTimers(aTimerCycles)
*
* @this {CPUPDP11}
* @param {Array.<number>} aTimerCycles
*/
restoreTimers(aTimerCycles)
{
this.assert(aTimerCycles.length === this.aTimers.length);
for (var i = 0; i < this.aTimers.length && i < aTimerCycles.length; i++) {
var timer = this.aTimers[i];
timer[0] = aTimerCycles[i];
}
}
/**
* updateTimers(nCycles)
*

View file

@ -1128,7 +1128,7 @@ PDP11.opDIV = function(opCode)
this.regsGen[reg] = this.regsGen[reg | 1] = 1; // etc
}
}
this.nStepCycles -= (52 + 1); // 52 is the mean of the shortest and longest times
this.nStepCycles -= (52 + 1); // 52 is the average of the shortest and longest times
}
};

View file

@ -117,25 +117,22 @@ class CPUStatePDP11 extends CPUPDP11 {
* These properties will be initialized by initCPU()
*/
this.flagC = this.flagV = this.flagZ = this.flagN = 0;
this.regPSW = 0;
this.regsGen = this.regsAlt = this.regsAltStack = [];
this.pswMode = 0;
this.mapMMR3 = [];
this.mmuPDR = this.mmuPAR = this.regsUniMap = this.regsControl = [];
this.regMBR = 0;
this.opFlags = 0;
this.srcMode = this.srcReg = 0;
this.dstMode = this.dstReg = this.dstAddr = 0;
this.regPSW = this.pswMode = 0;
this.pswTrap = 0;
this.regsGen = this.regsAlt = this.regsAltStack = [];
this.regsPAR = this.regsPDR = this.regsUniMap = this.regsControl = [];
this.opFlags = 0;
/*
* These properties will be initialized by initMMU()
*/
this.regMMR0 = this.regMMR1 = this.regMMR2 = this.regMMR3 = 0;
this.regErr = this.regPIR = this.regSLR = 0;
this.regErr = this.regMBR = this.regPIR = this.regSLR = 0;
this.mmuEnable = this.mmuLastMode = this.mmuLastPage = this.mmuMask = 0;
this.addrLast = this.opLast = this.addrInvalid = 0;
this.mapMMR3 = [4,2,0,1]; // map from mode to MMR3 I/D bit
/*
* Initialize processor operation to match the requested model.
*
@ -167,6 +164,7 @@ class CPUStatePDP11 extends CPUPDP11 {
}
this.nDisableTraps = 0;
this.trapVector = this.trapReason = 0;
/** @type {IRQ|null} */
this.irqNext = null; // the head of the active IRQ list, in priority order
@ -174,8 +172,6 @@ class CPUStatePDP11 extends CPUPDP11 {
/** @type {Array.<IRQ>} */
this.aIRQs = []; // list of all IRQs, active or not (to be used for auto-configuration)
this.flags.complete = false;
this.getByte = this.getByteDirect = this.getByteChecked;
this.getWord = this.getWordDirect = this.getWordChecked;
this.setByte = this.setByteDirect = this.setByteChecked;
@ -187,7 +183,10 @@ class CPUStatePDP11 extends CPUPDP11 {
this.readWord = this.readWordFromVirtual;
this.writeWord = this.writeWordToVirtual;
this.trapVector = this.trapReason = 0;
this.srcMode = this.srcReg = 0;
this.dstMode = this.dstReg = this.dstAddr = 0;
this.flags.complete = false;
}
/**
@ -271,36 +270,37 @@ class CPUStatePDP11 extends CPUPDP11 {
this.flagZ = f; // PSW Z bit (TODO: Why do we clear instead of set Z, like other flags?)
this.flagN = 0x8000; // PSW N bit
this.regPSW = 0x000f; // PSW other bits (TODO: What's the point of setting the flag bits here, too?)
this.regsGen = [ // General R0-R7
0, 0, 0, 0, 0, 0, 0, this.addrReset, -1, -2, -3, -4, -5, -6, -7, -8
];
this.regsAlt = [ // Alternate R0-R5
0, 0, 0, 0, 0, 0
];
this.regsAltStack = [ // Alternate R6 stack pointers (KERNEL, SUPER, UNUSED, USER)
0, 0, 0, 0
];
this.pswMode = 0; // current memory management mode (see PDP11.MODE.KERNEL | SUPER | UNUSED | USER)
this.mapMMR3 = [4,2,0,1]; // map from mode to MMR3 I/D bit
this.mmuPDR = [ // memory management PDR registers by mode
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPDR regs followed by 8 KDPDR regs)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // SUPER (8 SIPDR regs followed by 8 SDPDR regs)
[f, f, f, f, f, f, f, f, f, f, f, f, f, f, f, f], // mode 2 (not used)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // USER (8 UIPDR regs followed by 8 UDPDR regs)
];
this.mmuPAR = [ // memory management PAR registers by mode
this.regsPAR = [ // memory management PAR registers by mode
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPAR regs followed by 8 KDPAR regs)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // SUPER (8 SIPDR regs followed by 8 SDPDR regs)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // mode 2 (not used)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // USER (8 UIPDR regs followed by 8 UDPDR regs)
];
this.regsPDR = [ // memory management PDR registers by mode
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // KERNEL (8 KIPDR regs followed by 8 KDPDR regs)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], // SUPER (8 SIPDR regs followed by 8 SDPDR regs)
[f, f, f, f, f, f, f, f, f, f, f, f, f, f, f, f], // mode 2 (not used)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // USER (8 UIPDR regs followed by 8 UDPDR regs)
];
this.regsUniMap = [ // 32 UNIBUS map registers
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.regsControl = [ // various control registers (177740-177756) we don't really care about
0, 0, 0, 0, 0, 0, 0, 0
];
this.pswMode = 0; // current memory management mode (see PDP11.MODE.KERNEL | SUPER | UNUSED | USER)
this.pswTrap = -1;
this.regMBR = 0;
/*
@ -317,8 +317,6 @@ class CPUStatePDP11 extends CPUPDP11 {
this.srcMode = this.srcReg = 0;
this.dstMode = this.dstReg = this.dstAddr = 0;
this.pswTrap = -1;
this.initMMU();
}
@ -358,7 +356,7 @@ class CPUStatePDP11 extends CPUPDP11 {
/*
* This stores the PC in the lower 16 bits, and any auto-incs or auto-decs from the last opcode in the
* upper 16 bits; the lower 16 bits are used to update MMR2, and the upper 16 bits are used to update MMR1.
* The upper bits are automatically zeroed at the start of every operation when PC is copied to opLast.
* The upper bits are automatically zeroed at the start of every operation when the PC is copied to opLast.
*/
this.opLast = 0;
@ -639,30 +637,33 @@ class CPUStatePDP11 extends CPUPDP11 {
this.regsGen,
this.regsAlt,
this.regsAltStack,
this.regsPAR,
this.regsPDR,
this.regsUniMap,
this.regsControl,
this.regErr,
this.regMBR,
this.regPIR,
this.regSLR,
this.pswTrap,
this.pswMode,
this.opFlags,
this.regMMR0,
this.regMMR1,
this.regMMR2,
this.regMMR3,
this.mmuEnable,
this.mmuLastMode,
this.mmuLastPage,
this.mmuPDR,
this.mmuPAR,
this.mmuEnable,
this.mmuMask,
this.addrLast,
this.opLast
this.opFlags,
this.opLast,
this.pswTrap,
this.trapReason,
this.trapVector
]);
state.set(1, [this.getPSW()]);
state.set(2, [this.nTotalCycles, this.getSpeed()]);
state.set(2, [this.nTotalCycles, this.getSpeed(), this.flags.autoStart]);
state.set(3, this.saveIRQs());
state.set(4, this.saveTimers());
return state.data();
}
@ -675,45 +676,48 @@ class CPUStatePDP11 extends CPUPDP11 {
*/
restore(data)
{
var a;
/*
* ES6 ALERT: Gotta love these destructuring assignments, which make it easy to perform the inverse
* of what save() does when it collects a bunch of object properties into an array.
* ES6 ALERT: Gotta love these destructuring assignments, which make it easy to perform the
* inverse of what save() does when it collects a bunch of object properties into an array.
*/
[
this.regsGen,
this.regsAlt,
this.regsAltStack,
this.regsPAR,
this.regsPDR,
this.regsUniMap,
this.regsControl,
this.regErr,
this.regMBR,
this.regPIR,
this.regSLR,
this.pswTrap,
this.pswMode,
this.opFlags,
this.regMMR0,
this.regMMR1,
this.regMMR2,
this.regMMR3,
this.mmuEnable,
this.mmuLastMode,
this.mmuLastPage,
this.mmuPDR,
this.mmuPAR,
this.mmuEnable,
this.mmuMask,
this.addrLast,
this.opLast
this.opFlags,
this.opLast,
this.pswTrap,
this.trapReason,
this.trapVector
] = data[0];
a = data[1];
var a = data[1];
this.setPSW(a[0]);
a = data[2];
this.nTotalCycles = a[0];
this.setSpeed(a[1]);
this.flags.autoStart = a[2];
this.restoreIRQs(data[3]);
this.restoreTimers(data[4]);
return true;
}
@ -985,8 +989,7 @@ class CPUStatePDP11 extends CPUPDP11 {
*/
addIRQ(vector, priority, message)
{
var irq = {vector: vector, priority: priority, message: message || 0, next: null};
irq.name = PDP11.VECTORS[vector];
var irq = {vector: vector, priority: priority, message: message || 0, name: PDP11.VECTORS[vector], next: null};
this.aIRQs.push(irq);
return irq;
}
@ -1087,6 +1090,22 @@ class CPUStatePDP11 extends CPUPDP11 {
}
}
/**
* findIRQ(vector)
*
* @this {CPUStatePDP11}
* @param {number} vector
* @return {IRQ|null}
*/
findIRQ(vector)
{
for (var i = 0; i < this.aIRQs.length; i++) {
var irq = this.aIRQs[i];
if (irq.vector === vector) return irq;
}
return null;
}
/**
* checkIRQs(priority)
*
@ -1109,6 +1128,41 @@ class CPUStatePDP11 extends CPUPDP11 {
this.irqNext = null;
}
/**
* saveIRQs()
*
* @this {CPUStatePDP11}
* @return {Array.<number>}
*/
saveIRQs()
{
var aIRQVectors = [];
var irq = this.irqNext;
while (irq) {
aIRQVectors.push(irq.vector);
irq = irq.next;
}
return aIRQVectors;
}
/**
* restoreIRQs(aIRQVectors)
*
* @this {CPUStatePDP11}
* @param {Array.<number>} aIRQVectors
*/
restoreIRQs(aIRQVectors)
{
for (var i = aIRQVectors.length - 1; i >= 0; i--) {
var irq = this.findIRQ(aIRQVectors[i]);
this.assert(irq != null);
if (irq) {
irq.next = this.irqNext;
this.irqNext = irq;
}
}
}
/**
* checkInterrupts()
*
@ -1615,8 +1669,8 @@ class CPUStatePDP11 extends CPUPDP11 {
* These next properties (in conjunction with setting PDP11.OPFLAG.TRAP_LAST) are purely an aid for the Debugger;
* see getTrapStatus().
*/
this.trapVector = vector;
this.trapReason = reason;
this.trapVector = vector;
if (reason == PDP11.REASON.PANIC) {
this.stopCPU();
@ -1757,9 +1811,9 @@ class CPUStatePDP11 extends CPUPDP11 {
var page = addr >> 13;
if (page > 7) mode |= 1;
if (!(this.regMMR3 & this.mapMMR3[this.pswMode])) page &= 7;
var pdr = this.mmuPDR[this.pswMode][page];
var pdr = this.regsPDR[this.pswMode][page];
var off = addr & 0x1fff;
var paf = (this.mmuPAR[this.pswMode][page] << 6);
var paf = (this.regsPAR[this.pswMode][page] << 6);
addrPhysical = (paf + off) & this.mmuMask;
if (addrPhysical >= BusPDP11.UNIBUS_22BIT) addrPhysical = this.mapUnibus(addrPhysical);
a.push(addrPhysical); // a[0]
@ -1838,8 +1892,8 @@ class CPUStatePDP11 extends CPUPDP11 {
page = addrVirtual >> 13;
if (!(this.regMMR3 & this.mapMMR3[this.pswMode])) page &= 7;
pdr = this.mmuPDR[this.pswMode][page];
addr = ((this.mmuPAR[this.pswMode][page] << 6) + (addrVirtual & 0x1fff)) & this.mmuMask;
pdr = this.regsPDR[this.pswMode][page];
addr = ((this.regsPAR[this.pswMode][page] << 6) + (addrVirtual & 0x1fff)) & this.mmuMask;
if (addr >= BusPDP11.UNIBUS_22BIT) addr = this.mapUnibus(addr);
@ -1928,7 +1982,7 @@ class CPUStatePDP11 extends CPUPDP11 {
/*
* Aborts and traps: log FIRST trap and MOST RECENT abort
*/
this.mmuPDR[this.pswMode][page] = pdr;
this.regsPDR[this.pswMode][page] = pdr;
if (addr != ((BusPDP11.IOPAGE_22BIT | PDP11.UNIBUS.MMR0) & this.mmuMask) || this.pswMode) {
this.mmuLastMode = this.pswMode;
this.mmuLastPage = page;
@ -2843,9 +2897,11 @@ class CPUStatePDP11 extends CPUPDP11 {
if (!mode) {
this.regsGen[reg] = (data = data < 0? this.regsGen[-data-1] : data);
//noinspection JSUnresolvedFunction
fnFlags.call(this, data);
} else {
var addr = this.getAddr(mode, reg, PDP11.ACCESS.WRITE_WORD);
//noinspection JSUnresolvedFunction
fnFlags.call(this, (data = data < 0? this.regsGen[-data-1] : data));
this.setWord(addr, data);
}
@ -2974,7 +3030,7 @@ class CPUStatePDP11 extends CPUPDP11 {
} while (this.nStepCycles > 0);
return (this.flags.complete? this.nBurstCycles - this.nStepCycles : (this.flags.complete === undefined? 0 : -1));
return (this.flags.complete? this.nBurstCycles - this.nStepCycles : (this.flags.complete === false? -1 : 0));
}
/**

View file

@ -1270,8 +1270,8 @@ class DebuggerPDP11 extends Debugger {
// this.println(data? "resuming" : "powering up");
if (data && this.restore) {
if (!this.restore(data)) return false;
if (data) {
return this.restore(data);
}
}
return true;
@ -1593,7 +1593,7 @@ class DebuggerPDP11 extends Debugger {
checkMemoryRead(addr, nb)
{
if (this.checkBreakpoint(addr, nb || 1, this.aBreakRead)) {
this.stopCPU(true);
this.stopCPU(false);
return true;
}
return false;
@ -1618,7 +1618,7 @@ class DebuggerPDP11 extends Debugger {
checkMemoryWrite(addr, nb)
{
if (this.checkBreakpoint(addr, nb || 1, this.aBreakWrite)) {
this.stopCPU(true);
this.stopCPU(false);
return true;
}
return false;

View file

@ -36,6 +36,7 @@ if (NODE) {
var Str = require("../../shared/es6/strlib");
var Web = require("../../shared/es6/weblib");
var Component = require("../../shared/es6/component");
var State = require("../../shared/es6/state");
var PDP11 = require("./defines");
var BusPDP11 = require("./bus");
var MemoryPDP11 = require("./memory");
@ -62,7 +63,7 @@ class DevicePDP11 extends Component {
super("Device", parmsDevice, DevicePDP11, MessagesPDP11.DEVICE);
this.kw11 = { // KW11 registers
csr: 0,
lks: PDP11.KW11.LKS.MON,
timer: -1 // initBus() will initialize this timer ID
};
}
@ -111,18 +112,18 @@ class DevicePDP11 extends Component {
{
if (DEBUGGER) {
var cpu = this.cpu;
this.dumpRegs("KIPDR", cpu.mmuPDR[0], 0, asArgs[0]);
this.dumpRegs("KDPDR", cpu.mmuPDR[0], 8, asArgs[0]);
this.dumpRegs("KIPAR", cpu.mmuPAR[0], 0, asArgs[0]);
this.dumpRegs("KDPAR", cpu.mmuPAR[0], 8, asArgs[0], true);
this.dumpRegs("SIPDR", cpu.mmuPDR[1], 0, asArgs[0]);
this.dumpRegs("SDPDR", cpu.mmuPDR[1], 8, asArgs[0]);
this.dumpRegs("SIPAR", cpu.mmuPAR[1], 0, asArgs[0]);
this.dumpRegs("SDPAR", cpu.mmuPAR[1], 8, asArgs[0], true);
this.dumpRegs("UIPDR", cpu.mmuPDR[3], 0, asArgs[0]);
this.dumpRegs("UDPDR", cpu.mmuPDR[3], 8, asArgs[0]);
this.dumpRegs("UIPAR", cpu.mmuPAR[3], 0, asArgs[0]);
this.dumpRegs("UDPAR", cpu.mmuPAR[3], 8, asArgs[0], true);
this.dumpRegs("KIPDR", cpu.regsPDR[0], 0, asArgs[0]);
this.dumpRegs("KDPDR", cpu.regsPDR[0], 8, asArgs[0]);
this.dumpRegs("KIPAR", cpu.regsPAR[0], 0, asArgs[0]);
this.dumpRegs("KDPAR", cpu.regsPAR[0], 8, asArgs[0], true);
this.dumpRegs("SIPDR", cpu.regsPDR[1], 0, asArgs[0]);
this.dumpRegs("SDPDR", cpu.regsPDR[1], 8, asArgs[0]);
this.dumpRegs("SIPAR", cpu.regsPAR[1], 0, asArgs[0]);
this.dumpRegs("SDPAR", cpu.regsPAR[1], 8, asArgs[0], true);
this.dumpRegs("UIPDR", cpu.regsPDR[3], 0, asArgs[0]);
this.dumpRegs("UDPDR", cpu.regsPDR[3], 8, asArgs[0]);
this.dumpRegs("UIPAR", cpu.regsPAR[3], 0, asArgs[0]);
this.dumpRegs("UDPAR", cpu.regsPAR[3], 8, asArgs[0], true);
if (cpu.regMMR3 & PDP11.MMR3.UNIBUS_MAP) {
this.dumpRegs("UNIMAP", cpu.regsUniMap, -1, asArgs[0]);
}
@ -167,6 +168,39 @@ class DevicePDP11 extends Component {
}
}
/**
* powerUp(data, fRepower)
*
* @this {DevicePDP11}
* @param {Object|null} data
* @param {boolean} [fRepower]
* @return {boolean} true if successful, false if failure
*/
powerUp(data, fRepower)
{
if (!fRepower) {
if (!data) {
this.reset();
} else {
if (!this.restore(data)) return false;
}
}
return true;
}
/**
* powerDown(fSave, fShutdown)
*
* @this {DevicePDP11}
* @param {boolean} [fSave]
* @param {boolean} [fShutdown]
* @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure
*/
powerDown(fSave, fShutdown)
{
return fSave? this.save() : true;
}
/**
* reset()
*
@ -178,6 +212,45 @@ class DevicePDP11 extends Component {
this.cpu.setTimer(this.kw11.timer, 1000/60, true);
}
/**
* save()
*
* This implements save support for the DevicePDP11 component.
*
* @this {DevicePDP11}
* @return {Object}
*/
save()
{
var state = new State(this);
state.set(0, [
this.kw11.lks
]);
return state.data();
}
/**
* restore(data)
*
* This implements restore support for the DevicePDP11 component.
*
* @this {DevicePDP11}
* @param {Object} data
* @return {boolean} true if successful, false if failure
*/
restore(data)
{
/*
* ES6 ALERT: Gotta love these destructuring assignments, which make it easy to perform the
* inverse of what save() does when it collects a bunch of object properties into an array.
*/
[
this.kw11.lks
] = data[0];
return true;
}
/**
* interruptKW11()
*
@ -350,7 +423,7 @@ class DevicePDP11 extends Component {
readSIPDR(addr)
{
var reg = (addr >> 1) & 7;
return this.cpu.mmuPDR[1][reg];
return this.cpu.regsPDR[1][reg];
}
/**
@ -363,7 +436,7 @@ class DevicePDP11 extends Component {
writeSIPDR(data, addr)
{
var reg = (addr >> 1) & 7;
this.cpu.mmuPDR[1][reg] = data & 0xff0f;
this.cpu.regsPDR[1][reg] = data & 0xff0f;
}
/**
@ -376,7 +449,7 @@ class DevicePDP11 extends Component {
readSDPDR(addr)
{
var reg = ((addr >> 1) & 7) + 8;
return this.cpu.mmuPDR[1][reg];
return this.cpu.regsPDR[1][reg];
}
/**
@ -389,7 +462,7 @@ class DevicePDP11 extends Component {
writeSDPDR(data, addr)
{
var reg = ((addr >> 1) & 7) + 8;
this.cpu.mmuPDR[1][reg] = data & 0xff0f;
this.cpu.regsPDR[1][reg] = data & 0xff0f;
}
/**
@ -402,7 +475,7 @@ class DevicePDP11 extends Component {
readSIPAR(addr)
{
var reg = (addr >> 1) & 7;
return this.cpu.mmuPAR[1][reg];
return this.cpu.regsPAR[1][reg];
}
/**
@ -415,8 +488,8 @@ class DevicePDP11 extends Component {
writeSIPAR(data, addr)
{
var reg = (addr >> 1) & 7;
this.cpu.mmuPAR[1][reg] = data;
this.cpu.mmuPDR[1][reg] &= 0xff0f;
this.cpu.regsPAR[1][reg] = data;
this.cpu.regsPDR[1][reg] &= 0xff0f;
}
@ -430,7 +503,7 @@ class DevicePDP11 extends Component {
readSDPAR(addr)
{
var reg = ((addr >> 1) & 7) + 8;
return this.cpu.mmuPAR[1][reg];
return this.cpu.regsPAR[1][reg];
}
/**
@ -443,8 +516,8 @@ class DevicePDP11 extends Component {
writeSDPAR(data, addr)
{
var reg = ((addr >> 1) & 7) + 8;
this.cpu.mmuPAR[1][reg] = data;
this.cpu.mmuPDR[1][reg] &= 0xff0f;
this.cpu.regsPAR[1][reg] = data;
this.cpu.regsPDR[1][reg] &= 0xff0f;
}
/**
@ -457,7 +530,7 @@ class DevicePDP11 extends Component {
readKIPDR(addr)
{
var reg = (addr >> 1) & 7;
return this.cpu.mmuPDR[0][reg];
return this.cpu.regsPDR[0][reg];
}
/**
@ -470,7 +543,7 @@ class DevicePDP11 extends Component {
writeKIPDR(data, addr)
{
var reg = (addr >> 1) & 7;
this.cpu.mmuPDR[0][reg] = data & 0xff0f;
this.cpu.regsPDR[0][reg] = data & 0xff0f;
}
/**
@ -483,7 +556,7 @@ class DevicePDP11 extends Component {
readKDPDR(addr)
{
var reg = ((addr >> 1) & 7) + 8;
return this.cpu.mmuPDR[0][reg];
return this.cpu.regsPDR[0][reg];
}
/**
@ -496,7 +569,7 @@ class DevicePDP11 extends Component {
writeKDPDR(data, addr)
{
var reg = ((addr >> 1) & 7) + 8;
this.cpu.mmuPDR[0][reg] = data & 0xff0f;
this.cpu.regsPDR[0][reg] = data & 0xff0f;
}
/**
@ -509,7 +582,7 @@ class DevicePDP11 extends Component {
readKIPAR(addr)
{
var reg = (addr >> 1) & 7;
return this.cpu.mmuPAR[0][reg];
return this.cpu.regsPAR[0][reg];
}
/**
@ -522,8 +595,8 @@ class DevicePDP11 extends Component {
writeKIPAR(data, addr)
{
var reg = (addr >> 1) & 7;
this.cpu.mmuPAR[0][reg] = data;
this.cpu.mmuPDR[0][reg] &= 0xff0f;
this.cpu.regsPAR[0][reg] = data;
this.cpu.regsPDR[0][reg] &= 0xff0f;
}
@ -537,7 +610,7 @@ class DevicePDP11 extends Component {
readKDPAR(addr)
{
var reg = ((addr >> 1) & 7) + 8;
return this.cpu.mmuPAR[0][reg];
return this.cpu.regsPAR[0][reg];
}
/**
@ -550,8 +623,8 @@ class DevicePDP11 extends Component {
writeKDPAR(data, addr)
{
var reg = ((addr >> 1) & 7) + 8;
this.cpu.mmuPAR[0][reg] = data;
this.cpu.mmuPDR[0][reg] &= 0xff0f;
this.cpu.regsPAR[0][reg] = data;
this.cpu.regsPDR[0][reg] &= 0xff0f;
}
/**
@ -564,7 +637,7 @@ class DevicePDP11 extends Component {
readUIPDR(addr)
{
var reg = (addr >> 1) & 7;
return this.cpu.mmuPDR[3][reg];
return this.cpu.regsPDR[3][reg];
}
/**
@ -577,7 +650,7 @@ class DevicePDP11 extends Component {
writeUIPDR(data, addr)
{
var reg = (addr >> 1) & 7;
this.cpu.mmuPDR[3][reg] = data & 0xff0f;
this.cpu.regsPDR[3][reg] = data & 0xff0f;
}
/**
@ -590,7 +663,7 @@ class DevicePDP11 extends Component {
readUDPDR(addr)
{
var reg = ((addr >> 1) & 7) + 8;
return this.cpu.mmuPDR[3][reg];
return this.cpu.regsPDR[3][reg];
}
/**
@ -603,7 +676,7 @@ class DevicePDP11 extends Component {
writeUDPDR(data, addr)
{
var reg = ((addr >> 1) & 7) + 8;
this.cpu.mmuPDR[3][reg] = data & 0xff0f;
this.cpu.regsPDR[3][reg] = data & 0xff0f;
}
/**
@ -616,7 +689,7 @@ class DevicePDP11 extends Component {
readUIPAR(addr)
{
var reg = (addr >> 1) & 7;
return this.cpu.mmuPAR[3][reg];
return this.cpu.regsPAR[3][reg];
}
/**
@ -629,8 +702,8 @@ class DevicePDP11 extends Component {
writeUIPAR(data, addr)
{
var reg = (addr >> 1) & 7;
this.cpu.mmuPAR[3][reg] = data;
this.cpu.mmuPDR[3][reg] &= 0xff0f;
this.cpu.regsPAR[3][reg] = data;
this.cpu.regsPDR[3][reg] &= 0xff0f;
}
@ -644,7 +717,7 @@ class DevicePDP11 extends Component {
readUDPAR(addr)
{
var reg = ((addr >> 1) & 7) + 8;
return this.cpu.mmuPAR[3][reg];
return this.cpu.regsPAR[3][reg];
}
/**
@ -657,8 +730,8 @@ class DevicePDP11 extends Component {
writeUDPAR(data, addr)
{
var reg = ((addr >> 1) & 7) + 8;
this.cpu.mmuPAR[3][reg] = data;
this.cpu.mmuPDR[3][reg] &= 0xff0f;
this.cpu.regsPAR[3][reg] = data;
this.cpu.regsPDR[3][reg] &= 0xff0f;
}
/**

View file

@ -306,7 +306,7 @@ class PC11 extends Component {
powerUp(data, fRepower)
{
if (!fRepower) {
if (!data || !this.restore) {
if (!data) {
this.reset();
} else {
if (!this.restore(data)) return false;

View file

@ -361,7 +361,7 @@ class RK11 extends Component {
powerUp(data, fRepower)
{
if (!fRepower) {
if (!data || !this.restore) {
if (!data) {
this.reset();
if (this.cmp.fReload) {
/*
@ -453,6 +453,8 @@ class RK11 extends Component {
/**
* saveController()
*
* TODO: Implement.
*
* @this {RK11}
* @return {Array}
*/

View file

@ -392,7 +392,7 @@ class RL11 extends Component {
powerUp(data, fRepower)
{
if (!fRepower) {
if (!data || !this.restore) {
if (!data) {
this.reset();
if (this.cmp.fReload) {
/*
@ -484,6 +484,8 @@ class RL11 extends Component {
/**
* saveController()
*
* TODO: Implement.
*
* @this {RL11}
* @return {Array}
*/

View file

@ -423,7 +423,7 @@ class SerialPortPDP11 extends Component {
*/
this.initConnection(this.fNullModem);
if (!data || !this.restore) {
if (!data) {
this.reset();
} else {
if (!this.restore(data)) return false;
@ -503,6 +503,8 @@ class SerialPortPDP11 extends Component {
/**
* saveRegisters()
*
* TODO: Implement.
*
* @this {SerialPortPDP11}
* @return {Array}
*/

View file

@ -33,342 +33,345 @@
http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++}
function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ha(this)}});fa=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var ja=ba,ka=["Math","log2"],la=0;la<ka.length-1;la++){var ma=ka[la];ma in ja||(ja[ma]={});ja=ja[ma]}var na=ka[ka.length-1],oa=ja[na],pa=oa?oa:function(a){return Math.log(a)/Math.LN2};pa!=oa&&null!=pa&&aa(ja,na,{configurable:!0,writable:!0,value:pa});
var ra={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},sa={rg:0,ud:1,tg:2,ug:3,vg:4,wg:5,xg:6,yg:7,Lc:8,zg:9,vd:10,Ag:11,Bg:12,wd:13,Cg:14,Dg:15,Eg:16,Fg:17,Gg:18,Hg:19,Ig:20,Jg:21,Kg:22,Lg:23,Mg:24,Ng:25,Og:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ic:65,qg:66,sg:67,Pg:68,E:69,Qg:70,Rg:71,Sg:72,Tg:73,Ug:74,Vg:75,Wg:76,Xg:77,Yg:78,Zg:79,$g:80,Q:81,ah:82,bh:83,dh:84,eh:85,fh:86,gh:87,hh:88,ih:89,Gd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,jh:97,kh:98,lh:99,d:100,e:101,nh:102,oh:103,ph:104,qh:105,th:106,k:107,uh:108,vh:109,n:110,wh:111,p:112,q:113,r:114,xh:115,t:116,zh:117,Ah:118,Bh:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,xd:127};function q(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={};this.B=this.bindings={};a=this.id.indexOf(".");0>a?this.lb=this.id:(this.mb=this.id.substr(0,a),this.lb=this.id.substr(a+1));this.A={ready:!1,eb:!1,zc:!1,fa:!1,error:!1};this.dc=null;this.A.error=!1;this.ha=d||0;this.F=this.f=this.D=this.J=this.Pa=null;ta.push(this)}function ua(a,b,c){va[a]&&b&&(va[a][b]=c)}
function xa(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function ya(a){var b=!1;window&&(b=window.confirm(a));return b}function za(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<ta.length;b++){var d=ta[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Aa(a){if(void 0!==a){var b;for(b=0;b<ta.length;b++)if(ta[b].id===a)return ta[b]}return null}
function Ba(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<ta.length;d++)if(c)c==ta[d]&&(c=null);else if(!(a!=ta[d].type||b&&ta[d].id.indexOf(b)))return ta[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function Ca(a,b){var c=x;b=y(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=w(g))&&k.binding&&a.pa(k.type,k.binding,g,k.value),m=l.length}}}}
function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ha(this)}});fa=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ja(a){fa();ca();fa();var b=a[Symbol.iterator];return b?b.call(a):ha(a)}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var ka=ba,la=["Math","log2"],ma=0;ma<la.length-1;ma++){var na=la[ma];na in ka||(ka[na]={});ka=ka[na]}var oa=la[la.length-1],pa=ka[oa],ra=pa?pa:function(a){return Math.log(a)/Math.LN2};ra!=pa&&null!=ra&&aa(ka,oa,{configurable:!0,writable:!0,value:ra});
var sa={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},ta={rg:0,ud:1,tg:2,ug:3,vg:4,wg:5,xg:6,yg:7,Mc:8,zg:9,vd:10,Ag:11,Bg:12,wd:13,Cg:14,Dg:15,Eg:16,Fg:17,Gg:18,Hg:19,Ig:20,Jg:21,Kg:22,Lg:23,Mg:24,Ng:25,Og:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Jc:65,qg:66,sg:67,Pg:68,E:69,Qg:70,Rg:71,Sg:72,Tg:73,Ug:74,Vg:75,Wg:76,Xg:77,Yg:78,Zg:79,$g:80,Q:81,ah:82,bh:83,dh:84,eh:85,fh:86,gh:87,hh:88,ih:89,Gd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,jh:97,kh:98,lh:99,d:100,e:101,mh:102,nh:103,oh:104,ph:105,sh:106,k:107,th:108,uh:109,n:110,vh:111,p:112,q:113,r:114,wh:115,t:116,yh:117,zh:118,Ah:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,xd:127};function q(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Sc=b.comment;this.Fd=b;this.exports={};this.B=this.bindings={};a=this.id.indexOf(".");0>a?this.mb=this.id:(this.nb=this.id.substr(0,a),this.mb=this.id.substr(a+1));this.A={ready:!1,fb:!1,Ac:!1,fa:!1,error:!1};this.hc=null;this.A.error=!1;this.ha=d||0;this.F=this.f=this.D=this.J=this.Pa=null;ua.push(this)}function va(a,b,c){xa[a]&&b&&(xa[a][b]=c)}
function ya(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function za(a){var b=!1;window&&(b=window.confirm(a));return b}function Aa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<ua.length;b++){var d=ua[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ba(a){if(void 0!==a){var b;for(b=0;b<ua.length;b++)if(ua[b].id===a)return ua[b]}return null}
function Ca(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<ua.length;d++)if(c)c==ua[d]&&(c=null);else if(!(a!=ua[d].type||b&&ua[d].id.indexOf(b)))return ua[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function Da(a,b){var c=x;b=y(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=w(g))&&k.binding&&a.qa(k.type,k.binding,g,k.value),m=l.length}}}}
function y(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=q.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
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.O=function(a){this.u(a,this.lb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.status=function(a){this.u(this.lb+": "+a)};h.O=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Da(a,b){a.A.error=!0;a.O(b)}function Ea(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Ja(a,b){b&&(a.A.ready?b():a.dc=b);return a.A.ready}function A(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.dc,a.dc=null,b&&b()))}function Ka(a,b){a.A.eb&&(b?a.A.zc=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.eb}
function La(a,b){if(a.A.zc)return a.A.eb=!1,a.A.zc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.eb=b;return a.A.eb}h.za=function(){return this.A.fa=!0};h.ya=function(a,b){b&&(this.A.fa=!1);return!0};function B(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 C(a,b,c,d){a.F&&(!0===c||B(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 va=window?window.PCjs.Machines:{},ta=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)});
h.qa=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.N=function(a){this.u(a,this.mb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.status=function(a){this.u(this.mb+": "+a)};h.N=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Ea(a,b){a.A.error=!0;a.N(b)}function Ja(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Ka(a,b){b&&(a.A.ready?b():a.hc=b);return a.A.ready}function A(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.hc,a.hc=null,b&&b()))}function La(a,b){a.A.fb&&(b?a.A.Ac=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.fb}
function Ma(a,b){if(a.A.Ac)return a.A.fb=!1,a.A.Ac=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.fb=b;return a.A.fb}h.wa=function(){return this.A.fa=!0};h.va=function(a,b){b&&(this.A.fa=!1);return!0};function B(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 C(a,b,c,d){a.F&&(!0===c||B(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 xa=window?window.PCjs.Machines:{},ua=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});
function G(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Ma(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function H(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function Na(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function I(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function Oa(a){return I(a,4,!0)}
function Pa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Qa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ra(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Sa(a){return a.replace(/[&<>"']/g,function(a){return Wa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}
function Ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function $a(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 ab(){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 bb(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,
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Na(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function H(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function Oa(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function I(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function Pa(a){return I(a,4,!0)}
function Qa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ra(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Sa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Wa(a){return a.replace(/[&<>"']/g,function(a){return Xa[a]})}function Ya(a,b){return(a+" ").slice(0,b)}
function Za(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Xa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},$a={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function ab(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 bb(){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 cb(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 cb(a,b){var c,d={ca: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.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++]=
function db(a,b){var c,d={ca:null,ea:null,Aa:null,za: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.Aa=g.load;d.za=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&&(v(d.ca[0]),d=null):(v("Empty resource: "+a),d=null)}catch(k){v("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)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ca=e)}return d}
function db(){return"http://"+(window?window.location.host:"www.pcjs.org")}function eb(){if(null==fb){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}fb=a}return fb}function hb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function nb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ob(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 pb(a){if(!qb){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," "))}qb=c}return qb[a]}
function rb(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 sb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function tb(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 ub(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function vb(a){wb.init.push(a)}
function xb(a){if(yb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function zb(a){!yb&&a?(yb=!0,Ab&&Bb("init"),Cb&&Bb("show")):yb=a}function Bb(a){wb[a]&&xb(wb[a])}var qb=null,wb={init:[],show:[],exit:[]},Ab=!1,Cb=!1,yb=!0,fb=null;ub("onload",function(){Ab=!0;xb(wb.init)});ub("onpageshow",function(){Cb=!0;xb(wb.show)});ub(ob("Opera")||ob("iOS")?"onunload":"onbeforeunload",function(){xb(wb.exit)});
var Db="undefined"!==typeof ArrayBuffer,x="pdp11",Eb="PDPjs",Fb=!1,Gb=Db,Nb=!0,Ob=!0,Pb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Qb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},x="pdp11",Eb="PDPjs",Fb=!1,Gb=Db,Ob=Nb=!0,Rb={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,
function eb(){return"http://"+(window?window.location.host:"www.pcjs.org")}function fb(){if(null==hb){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}hb=a}return hb}function nb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function ob(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pb(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 qb(a){if(!rb){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," "))}rb=c}return rb[a]}
function sb(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 tb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function ub(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 vb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function wb(a){xb.init.push(a)}
function yb(a){if(zb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ab(a){!zb&&a?(zb=!0,Bb&&Cb("init"),Db&&Cb("show")):zb=a}function Cb(a){xb[a]&&yb(xb[a])}var rb=null,xb={init:[],show:[],exit:[]},Bb=!1,Db=!1,zb=!0,hb=null;vb("onload",function(){Bb=!0;yb(xb.init)});vb("onpageshow",function(){Db=!0;yb(xb.show)});vb(pb("Opera")||pb("iOS")?"onunload":"onbeforeunload",function(){yb(xb.exit)});
var Eb="undefined"!==typeof ArrayBuffer,x="pdp11",Fb="PDPjs",Gb=!1,Nb=Eb,Ob=!0,Pb=!0,Qb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Rb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},x="pdp11",Fb="PDPjs",Gb=!1,Nb=Eb,Pb=Ob=!0,Sb={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 Sb(a,b){q.call(this,"Panel",a,0,512);this.j=this.v=0;this.I=b;this.ua=this.i=this.Ya=this.vb=0;this.C=this.G=this.w=!1;this.H=Tb;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;A(this)}p(Sb,q);h=Sb.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(){Ub(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Vb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Ub(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Vb(a,b)}}(this,b),!0):q.prototype.pa.call(this,a,b,c,d)}};h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Wb(b,this,Xb);Yb(b,this.reset.bind(this));Zb(this);$b(this)};h.za=function(a,b){b||(this.I&&ac(),this.reset());return!0};h.ya=function(){return!0};
function bc(a,b,c){if(a=a.B[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Zb(a,b){for(var c in a.g)bc(a,c,null!=b?b:a.g[c])}function cc(a,b,c){if(a=a.B[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $b(a){for(var b in a.b)cc(a,b,a.b[b][1])}function dc(a,b,c,d){a.B[b]&&(void 0===c&&(Da(a,"Value for "+b+" is invalid"),a.f.Z()),c=8==(a.F&&a.F.xa||8)?H(c,d):I(c,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
function Ub(a,b){var c=a.b[b];cc(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=ec&&(a.C=b==fc,a.G=b==gc)}function Vb(a,b){var c=a.b[b];c[2]&&c[3]&&(cc(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(),hc(a),this.b[ic]&&this.b[ic][1]&&jc(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[ic]&&this.b[ic][1])jc(this.f);else{if((a=this.F)&&!Ka(a,!0))La(a,!0),kc(a,0,null),La(a,!1);else try{var b=this.f.bc(1);0<b&&(lc(this.f,b),mc(this.f,b,!0),nc(this.f,b))}catch(c){"number"!=typeof c&&Da(this.f,c.stack||c.message)}this.stop();this.J&&J(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.C&&oc(this),a=pc(this,this.Ya),this.H==Tb)qc(this.D,this.ua,a);else{var b=this.f,c=this.ua;b.ma++;b.D.Nb(rc(b,c,4),a);b.ma--}};
h.Ud=function(a){a||this.f.A.U||(this.G&&oc(this),a=this.H==Tb?Dc(this.D,this.ua):Ec(this.f,this.ua),pc(this,a))};h.Wd=function(a){a||this.f.A.U||Fc(this,this.Ya)};h.Vd=function(a){a?(this.w=!0,Zb(this,!0)):(this.w=!1,Zb(this),Gc(this,0))};h.Zd=function(a,b){this.Ya=a?this.Ya|1<<b:this.Ya&~(1<<b)};function oc(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[ec]&&a.b[ec][1]||(b=-b);Fc(a,a.ua&~c|a.ua+b&c)}
function Fc(a,b){a.ua=b&a.D.I;b=a.ua;for(var c=0;22>c;c++)Hc(a,"A"+c,b&1<<c)}function pc(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)Hc(a,"D"+c,b&1<<c);return a.i}function Hc(a,b,c){a.g[b]=c;a.w||bc(a,b,c)}function Ic(a){return void 0!==a.B[Jc]}function Gc(a,b){if(Ic(a)){a.Ya=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;$b(a)}}h.stop=function(){Fc(this,this.f.g[7])};h.Fc=function(a){this.ua=a};h.setData=function(a,b){b?this.vb=a:this.i=a};h.de=function(a,b){return(b?this.vb:this.Ya)&65535};
h.qf=function(a){this.vb=a};function ac(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Aa(d.id);e||(e=new Sb(d,!0));Ca(e,c)}}var Tb=7,Jc="S0",fc="DEP",ic="ENABLE",gc="EXAM",ec="STEP",Kc={},Xb=(Kc[65400]=[null,null,Sb.prototype.de,Sb.prototype.qf,"CNSW"],Kc);vb(ac);
function Lc(a,b,c){q.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=+a.busWidth||16;this.M=1<<this.V;this.I=this.M-1;this.j=Mc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.T=this.H-1;this.Ma=[];this.ja=0;this.G=!1;this.N=[];this.Hd=[Nc,Oc,Pc,Qc];this.b=this.v=[];this.C=this.L=this.w=this.P=this.R=0;a=new L(this);Rc(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.M-Mc;Sc(this,this.C,Mc,Tc,this);this.R=
this.P=(this.C&this.I)>>>this.g;this.L=0;this.w=this.I;A(this)}p(Lc,q);function Uc(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-=Mc,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Lc.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();Uc(this,16)};h.za=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ya=function(a){return a?this.save():!0};h.save=function(){var a=new M(this);a.set(0,Vc(this));return a.data()};
function Tb(a,b){q.call(this,"Panel",a,0,512);this.j=this.v=0;this.I=b;this.xa=this.i=this.Za=this.wb=0;this.C=this.G=this.w=!1;this.H=Ub;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;A(this)}p(Tb,q);h=Tb.prototype;h.reset=function(){this.stop()};
h.qa=function(a,b,c,d){if(this.J&&this.J.qa(a,b,c,d)||this.f&&this.f.qa(a,b,c,d)||this.F&&this.F.qa(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(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):q.prototype.qa.call(this,a,b,c,d)}};h.ua=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Xb(b,this,Yb);Zb(b,this.reset.bind(this));$b(this);ac(this)};h.wa=function(a,b){b||(this.I&&bc(),this.reset());return!0};h.va=function(){return!0};
function cc(a,b,c){if(a=a.B[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function $b(a,b){for(var c in a.g)cc(a,c,null!=b?b:a.g[c])}function dc(a,b,c){if(a=a.B[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ac(a){for(var b in a.b)dc(a,b,a.b[b][1])}function ec(a,b,c,d){a.B[b]&&(void 0===c&&(Ea(a,"Value for "+b+" is invalid"),a.f.Z()),c=8==(a.F&&a.F.Ba||8)?H(c,d):I(c,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
function Vb(a,b){var c=a.b[b];dc(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=fc&&(a.C=b==gc,a.G=b==hc)}function Wb(a,b){var c=a.b[b];c[2]&&c[3]&&(dc(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(),ic(a),this.b[jc]&&this.b[jc][1]&&kc(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[jc]&&this.b[jc][1])kc(this.f);else{if((a=this.F)&&!La(a,!0))Ma(a,!0),lc(a,0,null),Ma(a,!1);else try{var b=this.f.ec(1);0<b&&(mc(this.f,b),nc(this.f,b,!0),oc(this.f,b))}catch(c){"number"!=typeof c&&Ea(this.f,c.stack||c.message)}this.stop();this.J&&J(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.C&&pc(this),a=qc(this,this.Za),this.H==Ub)rc(this.D,this.xa,a);else{var b=this.f,c=this.xa;b.na++;b.D.Ob(Dc(b,c,4),a);b.na--}};
h.Ud=function(a){a||this.f.A.U||(this.G&&pc(this),a=this.H==Ub?Ec(this.D,this.xa):Fc(this.f,this.xa),qc(this,a))};h.Wd=function(a){a||this.f.A.U||Gc(this,this.Za)};h.Vd=function(a){a?(this.w=!0,$b(this,!0)):(this.w=!1,$b(this),Hc(this,0))};h.Zd=function(a,b){this.Za=a?this.Za|1<<b:this.Za&~(1<<b)};function pc(a){var b=1140>=a.f.ia?8:16,c=65472<=a.xa&&a.xa<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[fc]&&a.b[fc][1]||(b=-b);Gc(a,a.xa&~c|a.xa+b&c)}
function Gc(a,b){a.xa=b&a.D.I;b=a.xa;for(var c=0;22>c;c++)Ic(a,"A"+c,b&1<<c)}function qc(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)Ic(a,"D"+c,b&1<<c);return a.i}function Ic(a,b,c){a.g[b]=c;a.w||cc(a,b,c)}function Jc(a){return void 0!==a.B[Kc]}function Hc(a,b){if(Jc(a)){a.Za=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;ac(a)}}h.stop=function(){Gc(this,this.f.g[7])};h.Gc=function(a){this.xa=a};h.setData=function(a,b){b?this.wb=a:this.i=a};h.de=function(a,b){return(b?this.wb:this.Za)&65535};
h.qf=function(a){this.wb=a};function bc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Ba(d.id);e||(e=new Tb(d,!0));Da(e,c)}}var Ub=7,Kc="S0",gc="DEP",jc="ENABLE",hc="EXAM",fc="STEP",Lc={},Yb=(Lc[65400]=[null,null,Tb.prototype.de,Tb.prototype.qf,"CNSW"],Lc);wb(bc);
function Mc(a,b,c){q.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=+a.busWidth||16;this.M=1<<this.V;this.I=this.M-1;this.j=Nc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.T=this.H-1;this.Ma=[];this.la=0;this.G=!1;this.O=[];this.Hd=[Oc,Pc,Qc,Rc];this.b=this.v=[];this.C=this.L=this.w=this.P=this.R=0;a=new L(this);Sc(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.M-Nc;Tc(this,this.C,Nc,Uc,this);this.R=
this.P=(this.C&this.I)>>>this.g;this.L=0;this.w=this.I;A(this)}p(Mc,q);function Vc(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-=Nc,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Mc.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Vc(this,16)};h.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.va=function(a){return a?this.save():!0};h.save=function(){var a=new M(this);a.set(0,Wc(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.S){for(var e=0,f=Array(this.S),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Sc(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.Jb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Jb){n=l.size-(f-m);n>g&&(n=g);l.Jb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Wc(Xc,f,g)}f=new L(a,f,n,a.j,d,e);Rc(f,a.F,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Yc[d]+" at "+H(b)),!0):Wc(Zc,b,c)}h.Jc=function(a){return this.v[(a&this.w)>>>this.g].ub(a&this.i,a)};
h.ac=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Ob||b!=this.i?this.v[c].ka(b,a):this.v[c++].ub(b,a)|this.v[c&this.T].ub(0,a+1)<<8};h.Kc=function(a,b){this.v[(a&this.w)>>>this.g].wb(a&this.i,b,a)};h.Nb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Ob||c!=this.i?this.v[d].xb(c,b,a):(this.v[d++].wb(c,b&255,a),this.v[d&this.T].wb(0,b>>8&255,a+1))};function $c(a,b){return a.b[(b&a.I)>>>a.g]}
function Dc(a,b){var c;a.G=!1;a.ja++;var d=b&a.i,e=$c(a,b);Ob||d!=a.i?c=e.C(d,b):c=e.j(d,b)|$c(a,b+1).j(0,b+1)<<8;a.ja--;return c}function ad(a,b,c){a.G=!1;a.ja++;$c(a,b).D(b&a.i,c&255,b);a.ja--}function qc(a,b,c){a.G=!1;a.ja++;var d=b&a.i,e=$c(a,b);Ob||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),$c(a,b+1).D(0,c>>8&255,b+1));a.ja--}
function Vc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Wa||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 bd(a){for(var b=cd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Jb)}return c}
function dd(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&ed;if(void 0!==a.Ma[n])return v("I/O address already registered: "+I(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 Wb(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),!dd(a,f,f,k,l,m,n,g[7]||b.ha,r||b.lb))return!1}}return!0}
function Yb(a,b){a.N.push(b)}h.La=function(a,b,c){this.G=!0;this.ja||(this.F&&B(this.F,4)&&C(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.qa(4,0,a))};function fd(a){var b=a.G;a.G=!1;return b}function Wc(a,b,c){v("Memory block error ("+a+": "+I(b)+","+I(c)+")");return!1}var Mc=8192,ed=Mc-1,Xc=1,Zc=2;
function Nc(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&&B(this.f,16|e[5])&&C(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&&B(this.f,16)&&C(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
function Oc(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&&B(this.f,16|f[5])&&C(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,5),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
b),!0,!e.ja))}function Pc(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&&B(this.f,16|a[5])&&C(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&&B(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
function Qc(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&&B(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,4),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ja))}function P(a){q.call(this,"Device",a,0,256);this.b={mh:0,Gc:-1}}p(P,q);h=P.prototype;
h.ta=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Gc=gd(c,function(){e.b.Gb|=128;e.b.Gb&64&&hd(e.f,e.b.gb);e.J&&J(e.J,1);id(e.f,e.b.Gc,1E3/60)});this.b.gb=jd(c,64,6,524288);Wb(b,this,kd);Yb(b,this.reset.bind(this));d&&ld(d,64,function(a){var b=e.f;md(e,"KIPDR",b.C[0],0,a[0]);md(e,"KDPDR",b.C[0],8,a[0]);md(e,"KIPAR",b.M[0],0,a[0]);md(e,"KDPAR",b.M[0],8,a[0],!0);md(e,"SIPDR",b.C[1],0,a[0]);md(e,"SDPDR",b.C[1],8,a[0]);md(e,"SIPAR",b.M[1],0,a[0]);md(e,"SDPAR",b.M[1],8,a[0],
!0);md(e,"UIPDR",b.C[3],0,a[0]);md(e,"UDPDR",b.C[3],8,a[0]);md(e,"UIPAR",b.M[3],0,a[0]);md(e,"UDPAR",b.M[3],8,a[0],!0);b.T&32&&md(e,"UNIMAP",b.Ea,-1,a[0])});A(this)};function md(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.Gb=128;id(this.f,this.b.Gc,1E3/60,!0)};h.ke=function(){return this.b.Gb};
h.xf=function(a){this.b.Gb=a&192;this.b.Gb&64||nd(this.f,this.b.gb)};h.me=function(){return od(this.f)};h.zf=function(a){pd(this.f,a&-129|this.f.S&128)};h.ne=function(){return qd(this.f)};h.oe=function(){return rd(this.f)};h.pe=function(){return this.f.T};h.Af=function(a){sd(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Ea[a>>1];return a&1?b>>16:b&65535};h.hg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ea[c]=b&1?this.f.Ea[c]&65535|(a&63)<<16:this.f.Ea[c]&-65536|a&65534};
h.Qe=function(a){return this.f.C[1][a>>1&7]};h.ag=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.Zf=function(a,b){this.f.C[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.M[1][a>>1&7]};h.$f=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.C[1][b]&=65295};h.Ne=function(a){return this.f.M[1][(a>>1&7)+8]};h.Yf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.C[1][b]&=65295};h.je=function(a){return this.f.C[0][a>>1&7]};
h.wf=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.uf=function(a,b){this.f.C[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.M[0][a>>1&7]};h.vf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.C[0][b]&=65295};h.ge=function(a){return this.f.M[0][(a>>1&7)+8]};h.tf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.C[0][b]&=65295};h.We=function(a){return this.f.C[3][a>>1&7]};h.gg=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.eg=function(a,b){this.f.C[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.M[3][a>>1&7]};h.fg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.C[3][b]&=65295};h.Te=function(a){return this.f.M[3][(a>>1&7)+8]};h.dg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.C[3][b]&=65295};h.Hb=function(a){a&=7;return this.f.w&2048?this.f.na[a]:this.f.g[a]};h.Lb=function(a,b){b&=7;this.f.w&2048?this.f.na[b]=a:this.f.g[b]=a};
h.ue=function(){return this.f.w&49152?this.f.V[0]:this.f.g[6]};h.Ff=function(a){this.f.w&49152?this.f.V[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.If=function(a){this.f.g[7]=a};h.Ib=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.na[a]};h.Mb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.na[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.V[1]};h.Gf=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.V[1]=a};
h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.V[3]};h.Hf=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.V[3]=a};h.fe=function(a){return this.f.Zb[a-65504>>1]};h.sf=function(a,b){this.f.Zb[b-65504>>1]=a};h.nd=function(a){return 65520==a?(bd(this.D)>>6)-1:0};h.sd=function(){};h.Se=function(){return 1};h.cg=function(){};h.ee=function(){return this.f.R};h.rf=function(){this.f.R=0};h.le=function(){return this.f.Yb};h.yf=function(a,b){b&1||(a&=255);this.f.Yb=a};
h.qe=function(a,b){return b?0:this.f.Va};h.Bf=function(a){td(this.f,a)};h.Re=function(a,b){return b?0:this.f.sa&65280};h.bg=function(a){this.f.sa=a|255};h.te=function(){return ud(this.f)};h.Ef=function(a){vd(this.f,a)};h.rd=function(a,b){B(this)&&C(this,"writeIgnored("+H(b)+"): "+H(a),!0,!0)};
var Q={},kd=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.hg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.ag,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Zf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.$f,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Yf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.wf,"KIPDR",8,1140,64],Q[62672]=[null,null,P.prototype.he,P.prototype.uf,"KDPDR",8,1145,64],Q[62688]=
function Tc(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.Kb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Kb){n=l.size-(f-m);n>g&&(n=g);l.Kb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Xc(Yc,f,g)}f=new L(a,f,n,a.j,d,e);Sc(f,a.F,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Zc[d]+" at "+H(b)),!0):Xc($c,b,c)}h.Kc=function(a){return this.v[(a&this.w)>>>this.g].vb(a&this.i,a)};
h.dc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Pb||b!=this.i?this.v[c].ma(b,a):this.v[c++].vb(b,a)|this.v[c&this.T].vb(0,a+1)<<8};h.Lc=function(a,b){this.v[(a&this.w)>>>this.g].yb(a&this.i,b,a)};h.Ob=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Pb||c!=this.i?this.v[d].zb(c,b,a):(this.v[d++].yb(c,b&255,a),this.v[d&this.T].yb(0,b>>8&255,a+1))};function ad(a,b){return a.b[(b&a.I)>>>a.g]}
function Ec(a,b){var c;a.G=!1;a.la++;var d=b&a.i,e=ad(a,b);Pb||d!=a.i?c=e.C(d,b):c=e.j(d,b)|ad(a,b+1).j(0,b+1)<<8;a.la--;return c}function bd(a,b,c){a.G=!1;a.la++;ad(a,b).D(b&a.i,c&255,b);a.la--}function rc(a,b,c){a.G=!1;a.la++;var d=b&a.i,e=ad(a,b);Pb||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),ad(a,b+1).D(0,c>>8&255,b+1));a.la--}
function Wc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Wa||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 cd(a){for(var b=dd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Kb)}return c}
function ed(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&fd;if(void 0!==a.Ma[n])return v("I/O address already registered: "+I(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 Xb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ia)){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),!ed(a,f,f,k,l,m,n,g[7]||b.ha,r||b.mb))return!1}}return!0}
function Zb(a,b){a.O.push(b)}h.La=function(a,b,c){this.G=!0;this.la||(this.F&&B(this.F,4)&&C(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.ra(4,0,a))};function gd(a){var b=a.G;a.G=!1;return b}function Xc(a,b,c){v("Memory block error ("+a+": "+I(b)+","+I(c)+")");return!1}var Nc=8192,fd=Nc-1,Yc=1,$c=2;
function Oc(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&&B(this.f,16|e[5])&&C(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.la),c;d.La(b,16,3);c=255;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.la);return c}
function Pc(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&&B(this.f,16|f[5])&&C(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.la):(e.La(c,16,5),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
b),!0,!e.la))}function Qc(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&&B(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.la),c;d.La(b,16,2);c=65535;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.la);return c}
function Rc(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&&B(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.la):(e.La(c,16,4),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.la))}function P(a){q.call(this,"Device",a,0,256);this.b={Ya:128,Hc:-1}}p(P,q);h=P.prototype;
h.ua=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Hc=hd(c,function(){e.b.Ya|=128;e.b.Ya&64&&id(e.f,e.b.hb);e.J&&J(e.J,1);jd(e.f,e.b.Hc,1E3/60)});this.b.hb=kd(c,64,6,524288);Xb(b,this,ld);Zb(b,this.reset.bind(this));d&&md(d,64,function(a){var b=e.f;nd(e,"KIPDR",b.C[0],0,a[0]);nd(e,"KDPDR",b.C[0],8,a[0]);nd(e,"KIPAR",b.M[0],0,a[0]);nd(e,"KDPAR",b.M[0],8,a[0],!0);nd(e,"SIPDR",b.C[1],0,a[0]);nd(e,"SDPDR",b.C[1],8,a[0]);nd(e,"SIPAR",b.M[1],0,a[0]);nd(e,"SDPAR",b.M[1],8,a[0],
!0);nd(e,"UIPDR",b.C[3],0,a[0]);nd(e,"UDPDR",b.C[3],8,a[0]);nd(e,"UIPAR",b.M[3],0,a[0]);nd(e,"UDPAR",b.M[3],8,a[0],!0);b.T&32&&nd(e,"UNIMAP",b.Ga,-1,a[0])});A(this)};function nd(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?"["+Oa(n)+"]":"")+":"),g+=" "+O(a,c[d+n],l);a.u(g+(f?"\n":""))}}h.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.va=function(a){return a?this.save():!0};h.reset=function(){this.b.Ya=128;jd(this.f,this.b.Hc,1E3/60,!0)};h.save=function(){var a=new M(this);a.set(0,[this.b.Ya]);return a.data()};h.restore=function(a){a=ja(a[0]);this.b.Ya=a.next().value;return!0};h.ke=function(){return this.b.Ya};h.xf=function(a){this.b.Ya=a&192;this.b.Ya&64||od(this.f,this.b.hb)};h.me=function(){return pd(this.f)};h.zf=function(a){qd(this.f,a&-129|this.f.S&128)};h.ne=function(){return rd(this.f)};h.oe=function(){return sd(this.f)};
h.pe=function(){return this.f.T};h.Af=function(a){td(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Ga[a>>1];return a&1?b>>16:b&65535};h.hg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ga[c]=b&1?this.f.Ga[c]&65535|(a&63)<<16:this.f.Ga[c]&-65536|a&65534};h.Qe=function(a){return this.f.C[1][a>>1&7]};h.ag=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.Zf=function(a,b){this.f.C[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.M[1][a>>1&7]};
h.$f=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.C[1][b]&=65295};h.Ne=function(a){return this.f.M[1][(a>>1&7)+8]};h.Yf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.C[1][b]&=65295};h.je=function(a){return this.f.C[0][a>>1&7]};h.wf=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.uf=function(a,b){this.f.C[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.M[0][a>>1&7]};h.vf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.C[0][b]&=65295};
h.ge=function(a){return this.f.M[0][(a>>1&7)+8]};h.tf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.C[0][b]&=65295};h.We=function(a){return this.f.C[3][a>>1&7]};h.gg=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.eg=function(a,b){this.f.C[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.M[3][a>>1&7]};h.fg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.C[3][b]&=65295};h.Te=function(a){return this.f.M[3][(a>>1&7)+8]};
h.dg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.C[3][b]&=65295};h.Ib=function(a){a&=7;return this.f.w&2048?this.f.oa[a]:this.f.g[a]};h.Mb=function(a,b){b&=7;this.f.w&2048?this.f.oa[b]=a:this.f.g[b]=a};h.ue=function(){return this.f.w&49152?this.f.W[0]:this.f.g[6]};h.Ff=function(a){this.f.w&49152?this.f.W[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.If=function(a){this.f.g[7]=a};h.Jb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.oa[a]};
h.Nb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.oa[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[1]};h.Gf=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[1]=a};h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.W[3]};h.Hf=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.W[3]=a};h.fe=function(a){return this.f.ac[a-65504>>1]};h.sf=function(a,b){this.f.ac[b-65504>>1]=a};h.nd=function(a){return 65520==a?(cd(this.D)>>6)-1:0};
h.sd=function(){};h.Se=function(){return 1};h.cg=function(){};h.ee=function(){return this.f.R};h.rf=function(){this.f.R=0};h.le=function(){return this.f.$b};h.yf=function(a,b){b&1||(a&=255);this.f.$b=a};h.qe=function(a,b){return b?0:this.f.Va};h.Bf=function(a){ud(this.f,a)};h.Re=function(a,b){return b?0:this.f.ya&65280};h.bg=function(a){this.f.ya=a|255};h.te=function(){return vd(this.f)};h.Ef=function(a){Ed(this.f,a)};h.rd=function(a,b){B(this)&&C(this,"writeIgnored("+H(b)+"): "+H(a),!0,!0)};
var Q={},ld=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.hg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.ag,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Zf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.$f,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Yf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.wf,"KIPDR",8,1140,64],Q[62672]=[null,null,P.prototype.he,P.prototype.uf,"KDPDR",8,1145,64],Q[62688]=
[null,null,P.prototype.ie,P.prototype.vf,"KIPAR",8,1140,64],Q[62704]=[null,null,P.prototype.ge,P.prototype.tf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.pe,P.prototype.Af,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ke,P.prototype.xf,"LKS"],Q[65402]=[null,null,P.prototype.me,P.prototype.zf,"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.gg,
"UIPDR",8,1140,64],Q[65424]=[null,null,P.prototype.Ue,P.prototype.eg,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Ve,P.prototype.fg,"UIPAR",8,1140,64],Q[65456]=[null,null,P.prototype.Te,P.prototype.dg,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Hb,P.prototype.Lb,"R0SET0"],Q[65473]=[null,null,P.prototype.Hb,P.prototype.Lb,"R1SET0"],Q[65474]=[null,null,P.prototype.Hb,P.prototype.Lb,"R2SET0"],Q[65475]=[null,null,P.prototype.Hb,P.prototype.Lb,"R3SET0"],Q[65476]=[null,null,P.prototype.Hb,
P.prototype.Lb,"R4SET0"],Q[65477]=[null,null,P.prototype.Hb,P.prototype.Lb,"R5SET0"],Q[65478]=[null,null,P.prototype.ue,P.prototype.Ff,"R6KERNEL"],Q[65479]=[null,null,P.prototype.xe,P.prototype.If,"R7KERNEL"],Q[65480]=[null,null,P.prototype.Ib,P.prototype.Mb,"R0SET1",1,1145],Q[65481]=[null,null,P.prototype.Ib,P.prototype.Mb,"R1SET1",1,1145],Q[65482]=[null,null,P.prototype.Ib,P.prototype.Mb,"R2SET1",1,1145],Q[65483]=[null,null,P.prototype.Ib,P.prototype.Mb,"R3SET1",1,1145],Q[65484]=[null,null,P.prototype.Ib,
P.prototype.Mb,"R4SET1",1,1145],Q[65485]=[null,null,P.prototype.Ib,P.prototype.Mb,"R5SET1",1,1145],Q[65486]=[null,null,P.prototype.ve,P.prototype.Gf,"R6SUPER",1,1145],Q[65487]=[null,null,P.prototype.we,P.prototype.Hf,"R6USER",1,1145],Q[65504]=[null,null,P.prototype.fe,P.prototype.sf,"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.cg,"SYSID",1,1170],Q[65526]=
"UIPDR",8,1140,64],Q[65424]=[null,null,P.prototype.Ue,P.prototype.eg,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Ve,P.prototype.fg,"UIPAR",8,1140,64],Q[65456]=[null,null,P.prototype.Te,P.prototype.dg,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Ib,P.prototype.Mb,"R0SET0"],Q[65473]=[null,null,P.prototype.Ib,P.prototype.Mb,"R1SET0"],Q[65474]=[null,null,P.prototype.Ib,P.prototype.Mb,"R2SET0"],Q[65475]=[null,null,P.prototype.Ib,P.prototype.Mb,"R3SET0"],Q[65476]=[null,null,P.prototype.Ib,
P.prototype.Mb,"R4SET0"],Q[65477]=[null,null,P.prototype.Ib,P.prototype.Mb,"R5SET0"],Q[65478]=[null,null,P.prototype.ue,P.prototype.Ff,"R6KERNEL"],Q[65479]=[null,null,P.prototype.xe,P.prototype.If,"R7KERNEL"],Q[65480]=[null,null,P.prototype.Jb,P.prototype.Nb,"R0SET1",1,1145],Q[65481]=[null,null,P.prototype.Jb,P.prototype.Nb,"R1SET1",1,1145],Q[65482]=[null,null,P.prototype.Jb,P.prototype.Nb,"R2SET1",1,1145],Q[65483]=[null,null,P.prototype.Jb,P.prototype.Nb,"R3SET1",1,1145],Q[65484]=[null,null,P.prototype.Jb,
P.prototype.Nb,"R4SET1",1,1145],Q[65485]=[null,null,P.prototype.Jb,P.prototype.Nb,"R5SET1",1,1145],Q[65486]=[null,null,P.prototype.ve,P.prototype.Gf,"R6SUPER",1,1145],Q[65487]=[null,null,P.prototype.we,P.prototype.Hf,"R6USER",1,1145],Q[65504]=[null,null,P.prototype.fe,P.prototype.sf,"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.cg,"SYSID",1,1170],Q[65526]=
[null,null,P.prototype.ee,P.prototype.rf,"ERR",1,1170],Q[65528]=[null,null,P.prototype.le,P.prototype.yf,"MBR",1,1170],Q[65530]=[null,null,P.prototype.qe,P.prototype.Bf,"PIR"],Q[65532]=[null,null,P.prototype.Re,P.prototype.bg,"SLR"],Q[65534]=[null,null,P.prototype.te,P.prototype.Ef,"PSW"],Q);
vb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new P(c);Ca(c,d);break;case "pc11":c=new Ed(c);Ca(c,d);break;case "rl11":c=new Fd(c);Ca(c,d);break;case "rk11":c=new R(c),Ca(c,d)}}});
function L(a,b,c,d,e,f){this.B=a;this.id=Gd+=2;this.b=null;this.K=b;this.Jb=c;this.size=d||0;this.type=e||Hd;this.J=e==Id;this.f=this.controller=null;this.ub=this.j=this.Cc;this.ka=this.C=this.Dc;this.wb=this.D=this.Kb;this.xb=this.G=this.kc;this.F=this.i=0;Rc(this);this.Wa=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Jd(this,f.Hd);else if(Db)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),Jd(this,Kd?Ld:Md);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Jd(this,Nd)}else Jd(this)}h=L.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Db)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(Db)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1};function Jd(a,b){b||(b=Od);Pd(a,b,void 0);Qd(a,b,void 0)}function Pd(a,b,c){c&&a.F||(a.ub=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 Qd(a,b,c){c&&a.i||(a.wb=!a.J&&b[1]||a.Kb,a.xb=!a.J&&b[3]||a.kc);if(c||void 0===c)a.D=b[1]||a.Kb,a.G=b[3]||a.kc}
h.qb=function(a,b){b?this.i++||Qd(this,Rd,!1):this.F++||Pd(this,Rd,!1)};function Sd(a,b){b?--a.i||(a.wb=a.J?a.Kb:a.D,a.xb=a.J?a.kc:a.G):--a.F||(a.ub=a.j,a.ka=a.C)}function Rc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Pd(a,Rd,!1),(a.i=c.i)&&Qd(a,Rd,!1))}h.Cc=function(a,b){this.f&&B(this.f,32)&&C(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.B.La(b,32,2);return 255};
h.Kb=function(a,b,c){this.f&&B(this.f,32)&&C(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.ub(a++,b++)|this.ub(a,b)<<8};h.kc=function(a,b,c){this.wb(a++,b&255,c++);this.wb(a,b>>8,c)};h.ce=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.cf=function(a,b){Nb&&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.pf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Wa=!0};h.lg=function(a,b,c){Nb&&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.Wa=!0};h.ae=function(a,b){this.f&&null!=this.K&&Td(this.f,this.K+a);return this.j(a,b)};h.Ze=function(a,b){this.f&&null!=this.K&&Td(this.f,this.K+a,2);return this.C(a,b)};
h.mf=function(a,b,c){this.f&&null!=this.K&&Ud(this.f,this.K+a);this.J?this.Kb(0,b,c):this.D(a,b,c)};h.jg=function(a,b,c){this.f&&null!=this.K&&Ud(this.f,this.K+a,2);this.J?this.Kb(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&&B(this.f,32)&&C(this.f,"Memory.readByte("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.Ye=function(a,b){Nb&&a&1&&this.B.La(b,64,2);return this.w.getUint16(a,!0)};
h.bf=function(a,b){Nb&&a&1&&this.B.La(b,64,2);a=!Ob&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&B(this.f,32)&&C(this.f,"Memory.readWord("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.lf=function(a,b){this.g[a]=b;this.Wa=!0};h.nf=function(a,b,c){this.g[a]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0)};h.ig=function(a,b,c){Nb&&a&1&&this.B.La(c,64,4);this.w.setUint16(a,b,!0);this.Wa=!0};
h.kg=function(a,b,c){Nb&&a&1&&this.B.La(c,64,4);!Ob&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var Hd=0,cd=1,Id=2,Tc=4,Yc=["NONE","RAM","ROM","VID","H/W"],Gd=0,Od=[],Nd=[L.prototype.ce,L.prototype.pf,L.prototype.cf,L.prototype.lg],Rd=[L.prototype.ae,L.prototype.mf,L.prototype.Ze,L.prototype.jg];
if(Db)var Md=[L.prototype.$d,L.prototype.lf,L.prototype.Ye,L.prototype.ig],Ld=[L.prototype.be,L.prototype.nf,L.prototype.bf,L.prototype.kg];var Vd;if(Db){var Wd=new ArrayBuffer(2);(new DataView(Wd)).setUint16(0,256,!0);Vd=256===(new Uint16Array(Wd))[0]}else Vd=!1;var Kd=Vd;
function Xd(a,b){q.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.oc=0;this.lc=b;this.bb=c;this.vc=Math.round(this.lc/1E4)/100;this.ob=this.vc*this.bb;this.wc=this.Vb=this.rb=this.mc=0;this.A.U=!1;this.A.hc=!1;this.A.Ia=a.autoStart;"string"==typeof this.A.Ia&&(this.A.Ia="true"==this.A.Ia);this.A.zb=!1;this.Sb=this.Bb=0;this.Tb=+a.csStart;this.Ab=+a.csInterval;this.Cb=+a.csStop;this.Fa=[];this.Tc=this.gf.bind(this);this.cb=this.Ta=this.ab=this.b=this.ga=this.Sa=this.Rb=this.$a=this.Db=
this.xc=this.nb=0;this.ra=null;A(this)}p(Xd,q);h=Xd.prototype;h.ta=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.ra=a.i;for(a=0;a<Yd.length;a++)(b=this.B[Yd[a]])&&this.J.pa(null,Yd[a],b);A(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.za=function(a,b){var c=Zd(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){$d(this);if(!this.restore(a))return!1;ae(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"),be(a),b||ce(a),a.sa&&(b=a.sa,a.sa=null,de(a,b))):this.status("No debugger detected");this.A.Ia||this.u("CPU will not be auto-started "+(this.ra?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.ya=function(a){return a?this.save():!0};h.Ia=function(){return this.A.U?!0:this.A.Ia?(jc(this),!0):!1};h.gd=function(){return 0};function ae(a){void 0===a.Tb&&(a.Tb=0);void 0===a.Ab&&(a.Ab=-1);void 0===a.Cb&&(a.Cb=-1);a.A.zb=0<=a.Tb&&0<a.Ab;a.A.zb&&(a.Sb=0,a.Bb=a.Tb-a.cb)}function nc(a,b){if(a.A.zb){var c=!1;a.Sb=a.Sb+a.gd()|0;a.Bb-=b;0>=a.Bb&&(a.Bb+=a.Ab,c=!0);0<=a.Cb&&a.Cb<=ee(a)&&(a.Ab=a.Cb=-1,ae(a),a.Z(),c=!0);c&&a.u(ee(a)+" cycles: checksum="+I(a.Sb))}}
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=za(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);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.dc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():jc(d))},!0;
case "speed":return this.B[b]=c,!0;case "setSpeed":return this.B[b]=c,c.onclick=function(){fe(d,d.bb<<1,!0)},c.textContent=this.ob.toFixed(2)+"Mhz",!0}return!1};function mc(a,b,c){a.cb+=b;c&&(a.ab=a.b=a.ga=0)}function ge(a,b){var c=1;b&&1<a.bb&&a.nb&&(c=a.nb/a.vc);a.wc=Math.round(1E3/he);a.Vb=Math.floor(a.lc/he*c);b||(a.rb=a.Vb);a.mc=0}function ee(a){return a.cb+a.Ta+a.ab-a.b}function $d(a){a.nb=0;a.xc=0;a.cb=a.Ta=a.ab=a.b=a.ga=0;ae(a);fe(a,1)}
function fe(a,b,c){var d=!1;if(void 0!==b){.8>a.nb/a.ob?b=1:d=!0;a.bb=b;b=a.vc*a.bb;if(a.ob!=b){a.ob=b;b=a.ob.toFixed(2)+"Mhz";var e=a.B.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.J&&ie(a.J)}mc(a,a.Ta);a.Ta=0;a.Sa=xa();a.$a=0;ge(a);return d}function gd(a,b){var c=a.Fa.length;a.Fa.push([-1,b]);return c}function id(a,b,c,d){0<=b&&b<a.Fa.length&&(d||0>a.Fa[b][0])&&(c=a.lc*a.bb/1E3*c|0,a.A.U&&(c+=je(a)),a.Fa[b][0]=c)}
function ke(a,b){for(var c=a.Fa.length-1;0<=c;c--){var d=a.Fa[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function lc(a,b){for(var c=a.Fa.length-1;0<=c;c--){var d=a.Fa[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function je(a,b){var c=a.ab-=a.b;a.b=a.ga=0;b&&(a.ab=0);return c}
h.gf=function(){if(this.A.U){this.mc>=this.lc&&ge(this,!0);this.Db=0;this.Rb=xa();if(this.$a){var a=this.Rb-this.$a;a>this.wc&&(this.Sa+=a,this.Sa>this.Rb&&(this.Sa=this.Rb))}try{do{var b=ke(this,this.A.zb?1:this.Vb);try{this.bc(b)}catch(e){if("number"!=typeof e)throw e;}b=je(this,!0);this.Db+=b;this.Ta+=b;nc(this,b);lc(this,b);this.rb-=b;if(0>=this.rb){this.rb+=this.Vb;++this.xc>=le&&(this.J&&J(this.J,void 0),this.xc=0);break}}while(this.A.U)}catch(e){this.Z();this.J&&this.J.stop(xa(),ee(this));
Da(this,e.stack||e.message);return}if(this.A.U){a=setTimeout;b=this.Tc;this.$a=xa();var c=this.wc;this.Db&&(c=Math.round(c*this.Db/this.Vb));var c=c-(this.$a-this.Rb),d=this.$a-this.Sa;d&&(this.nb=Math.round(this.Ta/(10*d))/100,864E5<=d&&(this.cb=0,fe(this)));if(0>c||this.nb<this.ob)-1E3>c&&(this.Sa-=c),c=0;this.mc+=this.Db;this.$a+=c;a(b,c)}}};
function jc(a,b){if(!Ea(a))if(a.A.U)a.u(a.toString()+" busy");else{fe(a);a.A.U=!0;a.A.hc=!0;var c=a.B.run;c&&(c.textContent="Halt");a.J&&(b&&ie(a.J,!0),a.J.start(a.Sa,ee(a)));a.F||a.status("Started");setTimeout(a.Tc,0)}}h.bc=function(){return 0};h.Z=function(a){var b=!1;if(this.A.U){je(this);mc(this,this.Ta);this.Ta=0;this.A.U=!1;if(b=this.B.run)b.textContent="Run";this.J&&this.J.stop(xa(),ee(this));b=!0;this.F||this.status("Stopped")}this.A.complete=a;return b};var he=30,le=15,Yd=["power","reset"];
function me(a){var b=+a.model||1170;Xd.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.na=this.V=[];this.N=0;this.uc=[];this.C=this.M=this.Ea=this.Zb=[];this.nc=this.Za=this.P=this.Pc=this.Ha=this.jb=this.pb=this.Da=this.R=this.Va=this.sa=this.S=this.Eb=this.Fb=this.T=this.Ua=this.v=this.j=this.jc=this.W=this.Y=this.i=this.Yb=0;this.Sc=255;1120>=this.ba?(this.Oc=ne.bind(this),this.yb=this.Ld,this.nc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
oe.bind(this),this.yb=this.Md,this.Xc=~(1792|(1140>=this.ba?2048:0))&65535,this.Uc=1140<this.ba?2048:0);this.ma=0;this.la=null;this.tc=[];this.A.complete=!1;this.Ob=this.pc=this.fd;this.Pb=this.qc=this.ld;this.ic=this.rc=this.pd;this.Qb=this.sc=this.qd;this.Ga=this.kb=this.Wb=this.Xb=0;this.Ca=this.kd;this.ka=this.Ec;this.xb=this.Hc;this.Zc=this.Yc=0}p(me,Xd);h=me.prototype;
h.ta=function(a,b,c,d){Xd.prototype.ta.call(this,a,b,c,d);this.pc=b.Jc.bind(b);this.qc=b.ac.bind(b);this.rc=b.Kc.bind(b);this.sc=b.Nb.bind(b)};h.za=function(a,b){for(var c=192,d=0;d<this.tc.length;d++){var e=this.tc[d];0>e.$b&&(e.$b=c,c+=4)}return Xd.prototype.za.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.na=[0,0,0,0,0,0];this.V=[0,0,0,0];this.N=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.M=[[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.Ea=[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.Zb=[0,0,0,0,0,0,0,0];this.v=this.j=this.jc=this.W=this.Y=this.i=this.Yb=0;this.Ua=-1;hc(this);$d(this);this.A.error=!1;Xd.prototype.reset.call(this)};function hc(a){a.S=0;a.Eb=0;a.Fb=0;a.T=0;a.R=0;a.Va=0;a.sa=255;a.Ha=0;a.jb=0;a.pb=0;a.Da=262143;a.Za=a.g[7];a.P=0;a.la=null;a.D&&(pe(a),a.Pc=bd(a.D))}
function pe(a){a.Ob=a.pc;a.Pb=a.qc;a.ic=a.rc;a.Qb=a.sc;a.Wb&&(a.Ob=a.fd,a.Pb=a.ld);a.Xb&&(a.ic=a.pd,a.Qb=a.qd);a.Ha?(a.Ga=65536,a.kb=a.T&16?4186112:253952,a.Ca=a.kd,a.ka=a.Wb?a.af:a.Ec,a.xb=a.Xb?a.ng:a.Hc,Uc(a.D,a.T&16?22:18)):(a.Ga=0,a.kb=57344,a.Ca=a.Od,a.ka=a.Wb?a.$e:a.od,a.xb=a.Xb?a.mg:a.td,Uc(a.D,16))}function od(a){var b=a.S;b&57344||(b=b&-3199|a.jb<<5|a.pb<<1);return b}
function pd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Eb=a.P>>16&65535,a.Fb=a.P&65535);a.S=b;a.jb=(b&96)>>5;a.pb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ha!=c&&(a.Ha=c,pe(a))}}function qd(a){a.S&57344||(a.Eb=a.P>>16&65535);a=a.Eb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function rd(a){a.S&57344||(a.Fb=a.P&65535);return a.Fb}function sd(a,b){1170>a.ba&&(b&=-49);a.T!=b&&(a.T=b,a.Da=b&16?4194303:262143,pe(a))}
function qe(a,b,c){a.Qc=b;a.D.reset();hc(a);re(a,b);vd(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||jc(a)}else a.F?a.Z()||be(a.F):!1===c&&a.Z();!a.A.U&&a.ra&&a.ra.stop()}h.gd=function(){return 0};h.save=function(){var a=new M(this);a.set(0,[this.g,this.na,this.V,this.Ea,this.Zb,this.R,this.Yb,this.Va,this.sa,this.Ua,this.N,this.i,this.S,this.Eb,this.Fb,this.T,this.jb,this.pb,this.C,this.M,this.Ha,this.Da,this.Za,this.P]);a.set(1,[ud(this)]);a.set(2,[this.cb,this.bb]);return a.data()};
h.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.g=b.next().value;this.na=b.next().value;this.V=b.next().value;this.Ea=b.next().value;this.Zb=b.next().value;this.R=b.next().value;this.Yb=b.next().value;this.Va=b.next().value;this.sa=b.next().value;this.Ua=b.next().value;this.N=b.next().value;this.i=b.next().value;this.S=b.next().value;this.Eb=b.next().value;this.Fb=b.next().value;this.T=b.next().value;this.jb=b.next().value;this.pb=b.next().value;
this.C=b.next().value;this.M=b.next().value;this.Ha=b.next().value;this.Da=b.next().value;this.Za=b.next().value;this.P=b.next().value;b=a[1];vd(this,b[0]);b=a[2];this.cb=b[0];fe(this,b[1]);return!0};function se(a){return a.G&65536?1:0}function te(a){return a.H&32768?2:0}function ue(a){return a.L&65535?0:4}function ve(a){return a.I&32768?8:0}function we(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(re(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function re(a,b){a.g[7]=b&65535}
function jd(a,b,c,d){c={$b:b,hb:c,message:d||0,next:null};c.name=Qb[b];a.tc.push(c);return c}function xe(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 hd(a,b){if(b){if(b!=a.la){var c=a.la;if(!c||c.hb<=b.hb)b.next=c,a.la=b;else{do{var d=c.next;if(!d||d.hb<=b.hb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&B(a,b.message|8)&&C(a,"setIRQ(vector="+H(b.$b)+",priority="+b.hb+")",!0,!0)}}
function nd(a,b){b&&(xe(a,b),b.message&&B(a,b.message|8)&&C(a,"clearIRQ(vector="+H(b.$b)+",priority="+b.hb+")",!0,!0))}function ye(a){return a.i&64?(a.qa(168,64,-6),!0):a.i&32?(a.qa(4,32,-5),!0):a.i&16?(a.qa(12,16,-7),!0):!1}function ud(a){return a.w=a.w&63728|ve(a)|ue(a)|te(a)|se(a)}
function vd(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.na.length;0<=--c;){var d=a.g[c];a.g[c]=a.na[c];a.na[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.V[c]=a.g[6],a.g[6]=a.V[a.N]);a.w=b;a.i&=-3;a.i|=a.la?2:1}function td(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}h.Ba=function(a){this.I=this.L=a;this.H=0};h.ib=function(a,b){this.I=this.L=this.G=a;this.H=b||0};function ze(a,b){a.I=a.L=a.G=b;a.H=a.I^a.G>>1}
function Ae(a,b,c,d){a.I=a.L=a.G=b;a.H=(c^d)&(d^b)}h.qa=function(a,b,c){if(!this.ma){0>this.Ua?this.Ua=ud(this):this.N||(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.N=0;var d=this.ka(a|this.Ga),e=this.ka(a+2&65535|this.Ga);vd(this,e&-12289|this.Ua>>2&12288);Be(this,this.Ua);Be(this,this.g[7]);re(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.Zc=a;this.Yc=c;-1==c&&this.Z();if(-4<=c)throw a;}};
function Ce(a){var b=De(a),c=De(a);a.w&49152&&(c=c&-225|a.w&63712);re(a,b);vd(a,c);a.i&=-17}function Ee(a,b){var c=b>>13&31;31>c&&(b=a.T&32?a.Ea[c]+(b&8191)&4194303:b&-3932161);return b}
function Fe(a,b,c){var d=[];if(c){c=Ee(a,b);var e=b>>13&31;d.push(c);d.push(e);a.T&32&&(d.push(a.Ea[e]),d.push(b&8191))}else if(a.Ha){var e=a.N<<1,f=b>>13;7<f&&(e|=1);a.T&a.uc[a.N]||(f&=7);b&=8191;var g=a.M[a.N][f]<<6;c=g+b&a.Da;3932160<=c&&(c=Ee(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.Da)}else c=b&65535,57344<=c&&(c|=a.kb),d.push(c);return d}
function rc(a,b,c){var d,e,f;if(!(c&a.Ha))return f=b&65535,57344<=f&&(f|=a.kb),f;d=b>>13;a.T&a.uc[a.N]||(d&=7);e=a.C[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.Da;3932160<=f&&(f=Ee(a,f));if(a.ma)return f;f>=a.Pc&&f<a.kb?(a.R|=32,a.qa(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.qa(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.N][d]=e;if(f!=(4194170&a.Da)||a.N)a.jb=a.N,a.pb=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.S&57344||(g|=a.S&4096|a.jb<<5|a.pb<<1,pd(a,a.S&-61695|g&61694)),a.qa(168,64,-2)),a.S&61440||!(f<(4191360&a.Da)||f>(4194239&a.Da))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function De(a){var b=a.ka(a.g[6]|a.Ga);a.g[6]=a.g[6]+2&65535;return b}function Be(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.yb(4,-2,c);a.xb(c,b)}
function Ge(a,b,c,d){var e,f,g=d&8?0:a.Ga;switch(b){case 0:return a.qa(4,0,-3),0;case 1:return 6==c&&a.yb(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.yb(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.yb(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(we(a,2)),e=e+a.g[c]&65535,6==c&&a.yb(d,
0,e),a.b-=6,e|g;case 7:return e=a.ka(we(a,2)),e=e+a.g[c]&65535,e=a.ka(e|a.Ga),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.N&&0>=b&&c<=this.sa&&(this.i|=32)};h.Md=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.sa&&(c<=this.sa-32?this.qa(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Td(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Td(this.F,a,2);return this.qc(a)};
h.pd=function(a,b){this.F&&Ud(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Ud(this.F,a,2);this.sc(a,b)};function Ec(a,b){a.ma++;b=a.D.ac(rc(a,b,2));a.ma--;return b}function He(a,b){(b?--a.Xb:--a.Wb)||pe(a)}h.Od=function(a,b,c){return Ge(this,a,b,c)};h.kd=function(a,b,c){return rc(this,Ge(this,a,b,c),c)};h.od=function(a){return this.D.ac(this.Za=a)};h.$e=function(a){this.F&&Td(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.ac(this.Za=rc(this,a,2))};
h.af=function(a){this.F&&Td(this.F,a,2);return this.Ec(a)};h.td=function(a,b){this.D.Nb(this.Za=a,b)};h.mg=function(a,b){this.F&&Ud(this.F,a,2);this.td(a,b)};h.Hc=function(a,b){this.D.Nb(this.Za=rc(this,a,4),b)};h.ng=function(a,b){this.F&&Ud(this.F,a,2);this.Hc(a,b)};function Ie(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=Ge(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.ka(d|c&a.Ga),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.V[a.w>>12&3];return c}
function Je(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=Ge(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=rc(a,e|c&65536,4),a.N=a.w>>14&3,a.Qb(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.V[a.w>>12&3]=d}function Ke(a,b){b>>=6;var c=a.Y=b&7;return(b=a.W=(b&56)>>3)?a.Ob(a.Ca(b,c,3)):a.g[c+a.nc]&a.Sc}function Le(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.W=(b&56)>>3)?c=a.Pb(a.Ca(b,d,2)):c=a.g[d+a.nc];return c}function Me(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return Ge(a,b,c,8)}
function hf(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Ob(a.Ca(b,c,3)):a.g[c]&255}function jf(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Pb(a.Ca(b,d,2)):c=a.g[d];return c}function kf(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.jc=a.Ca(b,e,7),c=0>c?a.g[-c-1]&255:c,a.ic(e,d.call(a,c,a.Ob(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.Ca(b,e,6),a.Qb(e,d.call(a,0>c?a.g[-c-1]:c,a.Pb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function lf(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.Ca(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.ic(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 mf(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.Ca(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Qb(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.bc=function(a){this.A.complete=!0;var b=this.F?nf(this.F)?1:this.A.hc?-1:0:0,c=a?this.A.hc?0:1:-1;this.A.hc=!1;this.ab=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(of(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.Va&224)>>5,f=this.la&&this.la.hb>e?this.la:null;f&&(d=f.$b,e=f.hb);e>(this.w&224)>>5?(this.i&8&&(we(this,2),this.i&=-9),this.qa(d,0,-10),e=!0):e=!1;e&&(f&&xe(this,f),a=!0);this.la||this.Va||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&of(this.F,this.g[7],c)){this.Z();break}if(0>c)break}if(this.i&112&&ye(this)){if(this.i&4&&of(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.ab-this.b:void 0===this.A.complete?0:-1};vb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new me(d);Ca(d,c)}});
function pf(a,b){var c=b+a;this.I=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function qf(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 rf(a,b){a=b<<1;ze(this,a);return a&65535}function sf(a,b){a=b<<1;ze(this,a<<8);return a&255}function tf(a,b){a=b&32768|b>>1|b<<16;ze(this,a);return a&65535}function uf(a,b){a=b&128|b>>1|b<<8;ze(this,a<<8);return a&255}function vf(a,b){a=b&~a;this.Ba(a);return a}function wf(a,b){a=b&~a;this.Ba(a<<8);return a}
function xf(a,b){a|=b;this.Ba(a);return a}function yf(a,b){a|=b;this.Ba(a<<8);return a}function zf(a,b){a=~b|65536;this.ib(a);return a&65535}function Af(a,b){a=~b|256;this.ib(a<<8);return a&255}function Bf(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function Cf(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 Df(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function Ef(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function Ff(a,b){a=-b;this.ib(a,a&b&32768);return a&65535}function Gf(a,b){a=-b;this.ib(a<<8,(a&b&128)<<8);return a&255}function Hf(a,b){a=b<<1|this.G>>16&1;ze(this,a);return a&65535}function If(a,b){a=b<<1|this.G>>16&1;ze(this,a<<8);return a&255}function Jf(a,b){a=(this.G&65536|b)>>1|b<<16;ze(this,a);return a&65535}function Kf(a,b){a=((this.G&65536)>>8|b)>>1|b<<8;ze(this,a<<8);return a&255}function Lf(a,b){var c=b-a;Ae(this,c,a,b);return c&65535}
function Mf(a,b){var c=b-a;Ae(this,c<<8,a<<8,b<<8);return c&255}function Nf(a,b){this.I=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function Of(a,b){a^=b;this.Ba(a);return a&65535}function Pf(a){T(this,a,Le(this,a),pf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}
function Qf(a){var b=jf(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 Rf(a){var b=jf(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 Sf(a){S(this,a,!se(this))}function Tf(a){S(this,a,se(this))}
function Uf(a){T(this,a,Le(this,a),vf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Vf(a){kf(this,a,Ke(this,a),wf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Wf(a){T(this,a,Le(this,a),xf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Xf(a){kf(this,a,Ke(this,a),yf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}
function Yf(a){var b=Le(this,a);a=jf(this,a);this.Ba((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function Zf(a){var b=Ke(this,a);a=hf(this,a);this.Ba(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function $f(a){S(this,a,ue(this))}function ag(a){S(this,a,!ve(this)==!te(this))}function bg(a){S(this,a,!ue(this)&&!ve(this)==!te(this))}function cg(a){S(this,a,!se(this)&&!ue(this))}
function dg(a){S(this,a,ue(this)||!ve(this)!=!te(this))}function eg(a){S(this,a,se(this)||ue(this))}function fg(a){S(this,a,!ve(this)!=!te(this))}function gg(a){S(this,a,ve(this))}function hg(a){S(this,a,!ue(this))}function ig(a){S(this,a,!ve(this))}function jg(){this.qa(12,0,-9)}function kg(a){S(this,a,!0)}function lg(a){S(this,a,!te(this))}function mg(a){S(this,a,te(this))}function ng(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 og(a){var b=Le(this,a);a=jf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Ae(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function pg(a){var b=Ke(this,a);a=hf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Ae(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}
function qg(a){var b=jf(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 rg(){this.qa(24,0,-9);this.b-=20}
function sg(){this.w&49152?(this.R|=128,this.qa(4,0,-8)):(this.ra&&1120==this.ba&&this.ra.setData(this.g[0],!0),this.F?tg(this.F):this.Z());this.b-=7}function ug(){this.qa(16,0,-9);this.b-=20}var vg=[0,7,7,10,7,11,9,13];function wg(a){this.ga=this.b;re(this,Me(this,a));this.b=this.ga-vg[this.v]}var xg=[0,14,14,17,14,18,16,20];function yg(a){this.ga=this.b;var b=Me(this,a);a=a>>6&7;Be(this,this.g[a]);this.g[a]=this.g[7];re(this,b);this.b=this.ga-xg[this.v]}
var zg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Ag(a){var b=Le(this,a);this.ga=this.b;mf(this,a,b,this.Ba);this.b=this.ga-zg[(this.W?8:0)+this.v]+(7!=this.j||this.v?0:2)}function Bg(a){var b=Ke(this,a);lf(this,a,b,65535,this.Ba);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}var Cg=[7,13,13,17,14,18,17,21];
function Dg(a){var b=jf(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function Eg(){this.b-=5}function Fg(){this.w&49152||(this.D.reset(),hc(this),this.ra&&this.ra.setData(this.g[0],!0));this.b-=667}function Gg(a){if(a&8)U.call(this,a);else{var b=De(this);a&=7;7==a?re(this,b):(re(this,this.g[a]),this.g[a]=b);this.b-=9}}function Hg(){Ce(this);this.b-=13}
function Ig(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 Jg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)re(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Kg(a){T(this,a,Le(this,a),Lf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Lg(a){T(this,a,0,Nf);this.b-=this.v?9:3+(7==this.j?2:0)}function Mg(){this.qa(28,0,-9)}
function Ng(){this.ra&&(this.ra.Fc(this.g[7],!0),this.ra.setData(this.g[0],!0));this.i|=8;we(this,-2);this.b-=3}function Og(a){T(this,a,this.g[(a>>6&7)+this.nc],Of);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,B(b,1)?(C(b,"undefined opcode "+O(b,a),!0,!0),b=tg(b)):b=!1;b||this.qa(8,0,-9)}function ne(a){Pg[a>>12].call(this,a)}function Qg(a){Rg[a>>6&3].call(this,a)}function Sg(a){Tg[a>>6&3].call(this,a)}function Ug(a){Vg[a>>6&3].call(this,a)}
function Wg(a){Xg[a&15].call(this,a)}function Yg(a){Zg[a&15].call(this,a)}function $g(a){ah[a>>6&3].call(this,a)}function bh(a){ch[a>>6&3].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)}
var Pg=[function(a){fh[a>>8&15].call(this,a)},Ag,og,Yf,Uf,Wf,Pf,U,function(a){gh[a>>8&15].call(this,a)},Bg,pg,Zf,Vf,Xf,Kg,U],fh=[function(a){hh[a>>4&15].call(this,a)},kg,hg,$f,ag,fg,bg,dg,yg,yg,Qg,Sg,Ug,U,U,U],Rg=[function(a){mf(this,a,0,this.ib);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,zf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,Df);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,Bf);this.b-=this.v?9:3+(7==this.j?2:0)}],Tg=[function(a){T(this,a,0,Ff);
this.b-=this.v?11:6},function(a){T(this,a,se(this)?1:0,pf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,se(this)?1:0,Lf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=jf(this,a);this.ib(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Vg=[function(a){T(this,a,0,Jf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Hf);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,0,rf);this.b-=this.v?9:3+(7==this.j?2:0)}],hh=
[function(a){ih[a&15].call(this,a)},U,U,U,wg,wg,wg,wg,Gg,U,Wg,Yg,Lg,Lg,Lg,Lg],ih=[sg,Ng,Hg,jg,ug,Fg,U,U,U,U,U,U,U,U,U,U],Xg=[Eg,function(){this.G=0;this.b-=5},function(){this.H=0;this.b-=5},ng,function(){this.L=1;this.b-=5},ng,ng,ng,function(){this.I=0;this.b-=5},ng,ng,ng,ng,ng,ng,ng],Zg=[Eg,function(){this.G=65536;this.b-=5},function(){this.H=32768;this.b-=5},Ig,function(){this.L=0;this.b-=5},Ig,Ig,Ig,function(){this.I=32768;this.b-=5},Ig,Ig,Ig,Ig,Ig,Ig,Ig],gh=[ig,gg,cg,eg,lg,mg,Sf,Tf,rg,Mg,$g,bh,
dh,U,U,U],ah=[function(a){lf(this,a,0,255,this.ib);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,0,Af);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,1,Ef);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,1,Cf);this.b-=this.v?9:3+(7==this.j?2:0)}],ch=[function(a){kf(this,a,0,Gf);this.b-=this.v?11:6},function(a){kf(this,a,se(this)?1:0,qf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,se(this)?1:0,Mf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=hf(this,
a);this.ib(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],eh=[function(a){kf(this,a,0,Kf);this.b-=this.v?9+(this.jc&1):3+(7==this.j?2:0)},function(a){kf(this,a,0,If);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,0,uf);this.b-=this.v?9+(this.jc&1):3+(7==this.j?2:0)},function(a){kf(this,a,0,sf);this.b-=this.v?9:3+(7==this.j?2:0)}];function oe(a){jh[a>>12].call(this,a)}
var jh=[function(a){kh[a>>8&15].call(this,a)},Ag,og,Yf,Uf,Wf,Pf,function(a){lh[a>>8&15].call(this,a)},function(a){mh[a>>8&15].call(this,a)},Bg,pg,Zf,Vf,Xf,Kg,U],kh=[function(a){nh[a>>4&15].call(this,a)},kg,hg,$f,ag,fg,bg,dg,yg,yg,Qg,Sg,Ug,function(a){oh[a>>6&3].call(this,a)},U,U],oh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ka(a|this.Ga);re(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Ie(this,a,0);this.Ba(a);Be(this,a);this.b-=11},function(a){var b=De(this);
this.ga=this.b;this.Ba(b);Je(this,a,0,b);this.b=this.ga-Cg[this.v]},function(a){mf(this,a,ve(this)?65535:0,this.Ba);this.b-=this.v?9:3+(7==this.j?2:0)}],nh=[function(a){ph[a&15].call(this,a)},U,U,U,wg,wg,wg,wg,Gg,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)},Wg,Yg,Lg,Lg,Lg,Lg],ph=[sg,Ng,function(){Ce(this);this.i|=this.w&16;this.b-=13},jg,ug,Fg,Hg,function(a){U.call(this,a)},U,U,U,U,U,U,U,U],lh=[Dg,Dg,qg,qg,Qf,Qf,Rf,Rf,
Og,Og,U,U,U,U,Jg,Jg],mh=[ig,gg,cg,eg,lg,mg,Sf,Tf,rg,Mg,$g,bh,dh,function(a){1145>this.ba?U.call(this,a):qh[a>>6&3].call(this,a)},U,U],qh=[function(a){U.call(this,a)},function(a){a=Ie(this,a,65536);this.Ba(a);Be(this,a);this.b-=11},function(a){var b=De(this);this.ga=this.b;this.Ba(b);Je(this,a,65536,b);this.b=this.ga-Cg[this.v]},function(a){U.call(this,a)}];
function rh(a){q.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=Pa(this.j);if(this.j){a=this.j;var b=Qa(this.C);"json"!=b&&"hex"!=b&&(a=db()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;bb(a,null,!0,function(a,b,f){f?(c.O("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(ua(c.mb,a,b),(a=cb(a,b))?(c.g=a.ca,c.ea=a.ea):c.j=null);sh(c)})}}p(rh,q);
h=rh.prototype;h.ta=function(a,b,c,d){this.D=b;this.f=c;this.F=d;sh(this)};h.za=function(){this.ea&&(this.F&&th(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.ya=function(){return!0};
function sh(a){if(!Ja(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Da(a,"ROM size ("+I(a.g.length,8,!0)+") does not match specified size ("+I(a.b,8,!0)+")");else{var b;a:{b=a.v;if(57344<=b&&b<57344+Mc){var c={},c=(c[b]=[rh.prototype.Me,rh.prototype.Xf,null,null,null,a.b>>1],c);if(Wb(a.D,a,c)){a.status("Added "+a.b+"-byte ROM at "+H(b));b=a.w=!0;break a}}else if(Sc(a.D,b,a.b,Id)){for(c=0;c<a.g.length;c++)ad(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}}}A(a)}}h.Me=function(a){return this.g[a-this.v]};h.Xf=function(){};vb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new rh(d);Ca(d,c)}});
function uh(a){q.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=Pa(this.b);if(this.b){a=this.b;var b=Qa(this.w);"json"!=b&&"hex"!=b&&(a=db()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;bb(a,null,!0,function(a,b,f){f?(c.O("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(ua(c.mb,a,b),(a=cb(a,b))?(c.g=a.ca,c.ea=a.ea,
null==c.wa&&(c.wa=a.wa),null==c.va&&(c.va=a.va)):c.b=null);vh(c)})}}p(uh,q);uh.prototype.ta=function(a,b,c,d){this.D=b;this.f=c;this.F=d;vh(this)};uh.prototype.za=function(){this.ea&&(this.F&&th(this.F,this.id,this.i,this.j,this.ea),delete this.ea);return!0};uh.prototype.ya=function(){return!0};
function vh(a){if(a.D&&(!a.v&&a.j&&(Sc(a.D,a.i,a.j,cd)?a.v=!0:a.j=0),!Ja(a))){if(!a.v)v("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;wh(a,a.g,a.wa,a.va,a.i)?a.status('Loaded image "'+a.w+'"'):a.O('Error loading image "'+a.w+'"')}A(a)}}
uh.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(Db&&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&&wh(this,this.g,this.wa,this.va,this.i,!0)}};
function wh(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){C(a,"invalid signature ("+Oa(m)+") at offset "+Oa(n),4096);break}if(l+6>=b.length){C(a,"invalid block at offset "+Oa(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,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){C(a,"insufficient data for block at offset "+Oa(n),4096);
break}m+=b[l++]&255;if(m&255){C(a,"invalid checksum ("+I(m,2,!0)+") for block at offset "+Oa(n),4096);break}if(E)for(C(a,"loading "+Oa(E)+" bytes at "+Oa(u)+"-"+Oa(u+E),4096);E--;)ad(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&C(a,"starting address: "+Oa(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)ad(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.Z(),f=!1;null!=d&&qe(a.f,d,f)}return k}
vb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new uh(d);Ca(d,c)}});function xh(a){q.call(this,"Keyboard",a,0,1024);A(this)}p(xh,q);xh.prototype.pa=function(){return!1};xh.prototype.ta=function(a,b,c,d){this.J=a;this.f=c;this.F=d};vb(function(){for(var a=y(document,x,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new xh(d);Ca(d,c)}});
function yh(a){q.call(this,"SerialPort",a,0,262144);this.M=+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.W=+a.tabSize;this.V=+a.charBOL;this.C=0;this.I=!0;this.R=this.N=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=zh;b&&(void 0===c&&(c="Panel"),(c=Ba(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.ec,receiveStatus:this.ff,setConnection:this.kf}}p(yh,q);h=yh.prototype;
h.pa=function(a,b,c){var d=this;switch(b){case zh: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?sa.Lc:sa.xd:46==c?b=sa.Lc:a.ctrlKey&&c>=sa.Ic&&c<=sa.Gd&&(b=c-(sa.Ic-sa.ud));b&&(a.preventDefault&&a.preventDefault(),d.ec(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.wd&&(b=sa.vd);d.ec(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.ec(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.R=jd(this.f,this.M?-1:48,4,262144);this.S=gd(this.f,function(){var a;a=-1;e.v.length&&(a=e.v.shift()&255,C(e,"receiveByte("+I(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),id(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&&hd(c,e.R))});this.N=jd(this.f,this.M?-1:52,4,262144);this.Y=gd(this.f,function(){e.g|=128;e.g&64&&hd(c,e.N)});Wb(b,this,Ah,this.M?64832+8*(this.M-1)-65392:0);Yb(b,this.reset.bind(this));
A(this)};h.md=function(a){if(!this.i){var b=Zd(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ya(c[0]);if(d!=this.lb)return;c=Ya(c[1]);if(this.i=Aa(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("Connected "+this.mb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.za=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.ya=function(a){return a?this.save():!0};h.reset=function(){Bh(this)};h.save=function(){var a=new M(this);a.set(0,[]);return a.data()};h.restore=function(){return Bh(this)};function Bh(a){a.G=0;a.b=8192;a.g=128;a.v=[];return!0}
h.ec=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);id(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&&hd(this.f,this.R))};h.kf=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.Kf=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.Jf=function(){};h.ef=function(){return this.g};h.pg=function(a){this.g&128&&(a&64?hd(this.f,this.N):nd(this.f,this.N));this.g=this.g&-70|a&69};h.df=function(){return 0};
h.og=function(a){a&=255;C(this,"transmitByte("+I(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=Za[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.C%a,this.W&&(b=Xa("",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))}id(this.f,this.Y,1E3/Math.round(this.ba/10));this.g&=-129};var zh="buffer",Ch={},Ah=(Ch[65392]=[null,null,yh.prototype.ze,yh.prototype.Kf,"RCSR"],Ch[65394]=[null,null,yh.prototype.ye,yh.prototype.Jf,"RBUF"],Ch[65396]=[null,null,yh.prototype.ef,yh.prototype.pg,"XCSR"],Ch[65398]=[null,null,yh.prototype.df,yh.prototype.og,"XBUF"],Ch);
vb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new yh(d);Ca(d,c)}});function Ed(a){q.call(this,"PC11",a);this.M=Dh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.C=this.G=this.b=0;this.w=[];this.v=Eh;this.i=Fh;this.L=this.j="";this.ca=this.wa=this.va=null;this.P=-1;this.N=!ob("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(Ed,q);
function Dh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Ed.prototype;
h.pa=function(a,b,c){var d=this,e=Fh;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){v("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=Gh;case "loadTape":return e||(e=Hh),this.B[b]=c,c.onclick=
function(){var a=d.B.listTapes;a&&Ih(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.N){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;Ih(d,Pa(b,!0),b,Hh,a)}return!1};return!0;case Jh:return this.B[b]=c,!0}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Kh(a);var e=this;if(a=Dh(this,Zd(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=jd(this.f,56,4,4096);this.R=gd(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.C<e.w.length&&(e.G=e.w[e.C++]&255,Lh(e,e.C/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&hd(e.f,e.H))});Wb(b,this,Mh);Yb(b,this.reset.bind(this));Nh(this,"None",Eh,!0);this.N&&Nh(this,"Local Tape",Oh);Nh(this,"Remote Tape",Ph);Qh(this)||A(this)};
h.za=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ya=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Qh(a){a.g=0;var b=a.M.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=Pa(c,!0)}c&&b?Rh(a,b,c,Hh,!0):Sh(a)}return!!a.g}
function Ih(a,b,c,d,e){if(c)if(c==Oh)a.O('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Ph){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Pa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.v=Ph}else a.v=c;Rh(a,b,c,d,!1,e)}else Th(a,!1)}
function Rh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Th(a,!0),a.A.eb?a.O("PC11 busy"):(e&&(a.g++,B(a)&&C(a,"auto-loading tape: "+b)),Uh(a,b,c,d,f)?g++:a.A.eb=!0);g&&Vh(a,a.L,a.j,a.i,a.ca,a.wa,a.va)}
function Uh(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),Vh(a,b,c,d,e),a.v=Oh);Sh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Qa(c),f="json"==e||"gz"==e?encodeURI(c):db()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!bb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.O('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(ua(a.mb,e,f),(e=cb(e,f))&&Vh(a,b,c,d,e.ca,e.wa,
e.va));a.A.eb=!1;a.g&&(a.g--,a.g||A(a));Sh(a)})}function Nh(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 Sh(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 Lh(a,b){b|=0;if(b!==a.P){var c=a.B[Jh];c&&(c=(c=y(c,Wh))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Vh(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.wa=f;a.va=g;d==Gh?a.I&&wh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.O('No valid memory address for tape "'+b+'"'):(a.C=0,a.w=e,a.status('Loaded tape "'+b+'"'),Lh(a,0))}function Th(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Hh?"tape detached":"tape unloaded"),a.v=Eh,a.i=Fh,Sh(a))}h.save=function(){return(new M(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
h.Df=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&hd(this.f,this.H)):(this.b&=-129,this.b|=2048,this.G=0,id(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.Cf=function(){};var Eh="",Oh="?",Ph="??",Fh=0,Hh=1,Gh=2,Jh="readProgress",Wh="pcjs-progress-bar",Xh={},Mh=(Xh[65384]=[null,null,Ed.prototype.se,Ed.prototype.Df,"PRS"],Xh[65386]=[null,null,Ed.prototype.re,Ed.prototype.Cf,"PRB"],Xh);
function Yh(a,b,c){q.call(this,"Disk",{id:a.mb+".disk"+I(++Zh,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.Aa=this.gc="";this.cc=b.cc;this.X=this.da=this.aa=this.oa=this.mode=0;this.b=[];this.i=null;this.j=!1;$h(this,c,b.X,b.da,b.aa,b.oa);this.g=this.w=null;A(this)}p(Yh,q);h=Yh.prototype;h.ta=function(a,b,c,d){this.F=d};
function $h(a,b,c,d,e,f){a.mode=b;a.X=c;a.da=d;a.aa=e;a.oa=f;a.b=[];if("preload"!=a.mode){b=Array(a.X);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]=ai(null,c,e,g,a.oa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function bi(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.Aa=c;a.gc=Pa(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=ra[d];if(e){a.X=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.X);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 E=u[t]=Array(a.aa),z=0;z<E.length;z++){for(var D=ai(null,d,t,z+1,a.oa,0),F=D.data,gb=0;gb<c;gb++,f+=4)var W=F[gb]=b.getInt32(f,
!0),e=e+W&-1;D.Ja=c;E[z]=D}a.i=e;c=a}else a.O("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Na,a.Aa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Qa(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"):Ra(c,"/")&&(d="dir"),f=db()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.cc?"":e)+"&format=json"));return!!bb(f,
null,!0,function(b,c,d){ci(a,b,c,d)})}
function ci(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.O('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{ua(a.controller.mb,b,c);try{if(0<Pa(a.gc,!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)v(k[0]);else{a.X=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.X;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,E=u.length;E<t;E++)u[E]=n;di(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}ai(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Na)}catch(z){v("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Na,a.Aa),a.g=null)}function ai(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.rh=b;a.sh=c;a.Ra=a.Ja=0;a.Wa=!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]=ai(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]=ai(null,a,b,f.yc,f.Bc,0))}}e&&e(d,!1);return d};function di(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}
wb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new P(c);Da(c,d);break;case "pc11":c=new Fd(c);Da(c,d);break;case "rl11":c=new Gd(c);Da(c,d);break;case "rk11":c=new R(c),Da(c,d)}}});
function L(a,b,c,d,e,f){this.B=a;this.id=Hd+=2;this.b=null;this.K=b;this.Kb=c;this.size=d||0;this.type=e||Id;this.J=e==Jd;this.f=this.controller=null;this.vb=this.j=this.Dc;this.ma=this.C=this.Ec;this.yb=this.D=this.Lb;this.zb=this.G=this.nc;this.F=this.i=0;Sc(this);this.Wa=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Kd(this,f.Hd);else if(Eb)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),Kd(this,Ld?Md:Nd);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Kd(this,Od)}else Kd(this)}h=L.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Eb)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(Eb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1};function Kd(a,b){b||(b=Pd);Qd(a,b,void 0);Rd(a,b,void 0)}function Qd(a,b,c){c&&a.F||(a.vb=b[0]||a.Dc,a.ma=b[2]||a.Ec);if(c||void 0===c)a.j=b[0]||a.Dc,a.C=b[2]||a.Ec}function Rd(a,b,c){c&&a.i||(a.yb=!a.J&&b[1]||a.Lb,a.zb=!a.J&&b[3]||a.nc);if(c||void 0===c)a.D=b[1]||a.Lb,a.G=b[3]||a.nc}
h.rb=function(a,b){b?this.i++||Rd(this,Sd,!1):this.F++||Qd(this,Sd,!1)};function Td(a,b){b?--a.i||(a.yb=a.J?a.Lb:a.D,a.zb=a.J?a.nc:a.G):--a.F||(a.vb=a.j,a.ma=a.C)}function Sc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Qd(a,Sd,!1),(a.i=c.i)&&Rd(a,Sd,!1))}h.Dc=function(a,b){this.f&&B(this.f,32)&&C(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.B.La(b,32,2);return 255};
h.Lb=function(a,b,c){this.f&&B(this.f,32)&&C(this.f,"attempt to write "+O(this.f,b)+" to invalid addresses "+O(this.f,c),!0);this.B.La(c,32,4)};h.Ec=function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8};h.nc=function(a,b,c){this.yb(a++,b&255,c++);this.yb(a,b>>8,c)};h.ce=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.cf=function(a,b){Ob&&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.pf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Wa=!0};h.lg=function(a,b,c){Ob&&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.Wa=!0};h.ae=function(a,b){this.f&&null!=this.K&&Ud(this.f,this.K+a);return this.j(a,b)};h.Ze=function(a,b){this.f&&null!=this.K&&Ud(this.f,this.K+a,2);return this.C(a,b)};
h.mf=function(a,b,c){this.f&&null!=this.K&&Vd(this.f,this.K+a);this.J?this.Lb(0,b,c):this.D(a,b,c)};h.jg=function(a,b,c){this.f&&null!=this.K&&Vd(this.f,this.K+a,2);this.J?this.Lb(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&&B(this.f,32)&&C(this.f,"Memory.readByte("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.Ye=function(a,b){Ob&&a&1&&this.B.La(b,64,2);return this.w.getUint16(a,!0)};
h.bf=function(a,b){Ob&&a&1&&this.B.La(b,64,2);a=!Pb&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&B(this.f,32)&&C(this.f,"Memory.readWord("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.lf=function(a,b){this.g[a]=b;this.Wa=!0};h.nf=function(a,b,c){this.g[a]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0)};h.ig=function(a,b,c){Ob&&a&1&&this.B.La(c,64,4);this.w.setUint16(a,b,!0);this.Wa=!0};
h.kg=function(a,b,c){Ob&&a&1&&this.B.La(c,64,4);!Pb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var Id=0,dd=1,Jd=2,Uc=4,Zc=["NONE","RAM","ROM","VID","H/W"],Hd=0,Pd=[],Od=[L.prototype.ce,L.prototype.pf,L.prototype.cf,L.prototype.lg],Sd=[L.prototype.ae,L.prototype.mf,L.prototype.Ze,L.prototype.jg];
if(Eb)var Nd=[L.prototype.$d,L.prototype.lf,L.prototype.Ye,L.prototype.ig],Md=[L.prototype.be,L.prototype.nf,L.prototype.bf,L.prototype.kg];var Wd;if(Eb){var Xd=new ArrayBuffer(2);(new DataView(Xd)).setUint16(0,256,!0);Wd=256===(new Uint16Array(Xd))[0]}else Wd=!1;var Ld=Wd;
function Yd(a,b){q.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.rc=0;this.pc=b;this.cb=c;this.wc=Math.round(this.pc/1E4)/100;this.pb=this.wc*this.cb;this.xc=this.Xb=this.sb=this.qc=0;this.A.U=this.A.lc=!1;this.A.ta=a.autoStart;"string"==typeof this.A.ta&&(this.A.ta="true"==this.A.ta);this.A.Bb=!1;this.Ub=this.Db=0;this.Wb=+a.csStart;this.Cb=+a.csInterval;this.Eb=+a.csStop;this.ga=[];this.Xc=this.gf.bind(this);this.eb=this.Ta=this.bb=this.b=this.ja=this.Sa=this.Tb=this.ab=this.Fb=
this.yc=this.ob=0;this.sa=null;A(this)}p(Yd,q);h=Yd.prototype;h.ua=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.sa=a.i;for(a=0;a<Zd.length;a++)(b=this.B[Zd[a]])&&this.J.qa(null,Zd[a],b);A(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.wa=function(a,b){var c=$d(this.J,"autoStart");null!=c?this.A.ta="true"==c?!0:"false"==c?!1:!!c:null==this.A.ta&&(this.A.ta=!this.F&&void 0===this.B.run);if(!b){if(a){ae(this);if(!this.restore(a))return!1;be(this)}else this.reset();this.F?(a=this.F,b=this.A.ta,a.Ea=!0,a.u("Type ? for help with PDPjs Debugger commands"),ce(a),b||de(a),a.sa&&(b=a.sa,a.sa=null,ee(a,b))):this.status("No debugger detected");this.A.ta||this.u("CPU will not be auto-started "+(this.sa?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.va=function(a){return a?this.save():!0};h.ta=function(){return this.A.U?!0:this.A.ta?(kc(this),!0):!1};h.gd=function(){return 0};function be(a){void 0===a.Wb&&(a.Wb=0);void 0===a.Cb&&(a.Cb=-1);void 0===a.Eb&&(a.Eb=-1);a.A.Bb=0<=a.Wb&&0<a.Cb;a.A.Bb&&(a.Ub=0,a.Db=a.Wb-a.eb)}function oc(a,b){if(a.A.Bb){var c=!1;a.Ub=a.Ub+a.gd()|0;a.Db-=b;0>=a.Db&&(a.Db+=a.Cb,c=!0);0<=a.Eb&&a.Eb<=fe(a)&&(a.Cb=a.Eb=-1,be(a),a.Z(),c=!0);c&&a.u(fe(a)+" cycles: checksum="+I(a.Ub))}}
h.qa=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=Aa(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);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.hc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():kc(d))},!0;
case "speed":return this.B[b]=c,!0;case "setSpeed":return this.B[b]=c,c.onclick=function(){ge(d,d.cb<<1,!0)},c.textContent=this.pb.toFixed(2)+"Mhz",!0}return!1};function nc(a,b,c){a.eb+=b;c&&(a.bb=a.b=a.ja=0)}function he(a,b){var c=1;b&&1<a.cb&&a.ob&&(c=a.ob/a.wc);a.xc=Math.round(1E3/ie);a.Xb=Math.floor(a.pc/ie*c);b||(a.sb=a.Xb);a.qc=0}function fe(a){return a.eb+a.Ta+a.bb-a.b}function ae(a){a.ob=0;a.yc=0;a.eb=a.Ta=a.bb=a.b=a.ja=0;be(a);ge(a,1)}
function ge(a,b,c){var d=!1;if(void 0!==b){.8>a.ob/a.pb?b=1:d=!0;a.cb=b;b=a.wc*a.cb;if(a.pb!=b){a.pb=b;b=a.pb.toFixed(2)+"Mhz";var e=a.B.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.J&&je(a.J)}nc(a,a.Ta);a.Ta=0;a.Sa=ya();a.ab=0;he(a);return d}function hd(a,b){var c=a.ga.length;a.ga.push([-1,b]);return c}function jd(a,b,c,d){0<=b&&b<a.ga.length&&(d||0>a.ga[b][0])&&(c=a.pc*a.cb/1E3*c|0,a.A.U&&(c+=ke(a)),a.ga[b][0]=c)}
function le(a,b){for(var c=a.ga.length-1;0<=c;c--){var d=a.ga[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function me(a){for(var b=[],c=0;c<a.ga.length;c++)b.push(a.ga[c][0]);return b}function mc(a,b){for(var c=a.ga.length-1;0<=c;c--){var d=a.ga[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ke(a,b){var c=a.bb-=a.b;a.b=a.ja=0;b&&(a.bb=0);return c}
h.gf=function(){if(this.A.U){this.qc>=this.pc&&he(this,!0);this.Fb=0;this.Tb=ya();if(this.ab){var a=this.Tb-this.ab;a>this.xc&&(this.Sa+=a,this.Sa>this.Tb&&(this.Sa=this.Tb))}try{do{var b=le(this,this.A.Bb?1:this.Xb);try{this.ec(b)}catch(e){if("number"!=typeof e)throw e;}b=ke(this,!0);this.Fb+=b;this.Ta+=b;oc(this,b);mc(this,b);this.sb-=b;if(0>=this.sb){this.sb+=this.Xb;++this.yc>=ne&&(this.J&&J(this.J,void 0),this.yc=0);break}}while(this.A.U)}catch(e){this.Z();this.J&&this.J.stop(ya(),fe(this));
Ea(this,e.stack||e.message);return}if(this.A.U){a=setTimeout;b=this.Xc;this.ab=ya();var c=this.xc;this.Fb&&(c=Math.round(c*this.Fb/this.Xb));var c=c-(this.ab-this.Tb),d=this.ab-this.Sa;d&&(this.ob=Math.round(this.Ta/(10*d))/100,864E5<=d&&(this.eb=0,ge(this)));if(0>c||this.ob<this.pb)-1E3>c&&(this.Sa-=c),c=0;this.qc+=this.Fb;this.ab+=c;a(b,c)}}};
function kc(a,b){if(!Ja(a))if(a.A.U)a.u(a.toString()+" busy");else{ge(a);a.A.U=!0;a.A.lc=!0;var c=a.B.run;c&&(c.textContent="Halt");a.J&&(b&&je(a.J,!0),a.J.start(a.Sa,fe(a)));a.F||a.status("Started");setTimeout(a.Xc,0)}}h.ec=function(){return 0};h.Z=function(a){var b=!1;if(this.A.U){ke(this);nc(this,this.Ta);this.Ta=0;this.A.U=!1;if(b=this.B.run)b.textContent="Run";this.J&&this.J.stop(ya(),fe(this));b=!0;this.F||this.status("Stopped")}this.A.complete=a;return b};var ie=30,ne=15,Zd=["power","reset"];
function oe(a){var b=+a.model||1170;Yd.call(this,a,6666667);this.ia=b;this.Rc=+a.addrReset||0;this.Ua=this.w=this.O=this.G=this.H=this.L=this.I=0;this.g=this.oa=this.W=[];this.M=this.C=this.Ga=this.ac=[];this.$a=this.P=this.Qc=this.Ia=this.kb=this.qb=this.Fa=this.R=this.$b=this.Va=this.ya=this.S=this.Gb=this.Hb=this.T=this.i=0;this.Tc=[4,2,0,1];this.bc=0;this.Uc=255;1120>=this.ia?(this.Pc=pe.bind(this),this.Ab=this.Ld,this.bc=8,this.Uc=-1,this.Zc=255,this.Yc=0):(this.Pc=qe.bind(this),this.Ab=this.Md,
this.Zc=~(1792|(1140>=this.ia?2048:0))&65535,this.Yc=1140<this.ia?2048:0);this.fc=this.cc=this.na=0;this.V=null;this.Sb=[];this.Pb=this.sc=this.fd;this.Qb=this.tc=this.ld;this.mc=this.uc=this.pd;this.Rb=this.vc=this.qd;this.Ha=this.lb=this.Yb=this.Zb=0;this.Ea=this.kd;this.ma=this.Fc;this.zb=this.Ic;this.v=this.j=this.oc=this.X=this.aa=0;this.A.complete=!1}p(oe,Yd);h=oe.prototype;
h.ua=function(a,b,c,d){Yd.prototype.ua.call(this,a,b,c,d);this.sc=b.Kc.bind(b);this.tc=b.dc.bind(b);this.uc=b.Lc.bind(b);this.vc=b.Ob.bind(b)};h.wa=function(a,b){for(var c=192,d=0;d<this.Sb.length;d++){var e=this.Sb[d];0>e.xb&&(e.xb=c,c+=4)}return Yd.prototype.wa.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ia);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.Rc,-1,-2,-3,-4,-5,-6,-7,-8];this.oa=[0,0,0,0,0,0];this.W=[0,0,0,0];this.M=[[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.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.Ga=[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.ac=[0,0,0,0,0,0,0,0];this.O=0;this.Ua=-1;this.v=this.j=this.oc=this.X=this.aa=this.i=this.$b=0;ic(this);ae(this);this.A.error=!1;Yd.prototype.reset.call(this)};function ic(a){a.S=0;a.Gb=0;a.Hb=0;a.T=0;a.R=0;a.Va=0;a.ya=255;a.Ia=0;a.kb=0;a.qb=0;a.Fa=262143;a.$a=a.g[7];a.P=0;a.V=null;a.D&&(re(a),a.Qc=cd(a.D))}
function re(a){a.Pb=a.sc;a.Qb=a.tc;a.mc=a.uc;a.Rb=a.vc;a.Yb&&(a.Pb=a.fd,a.Qb=a.ld);a.Zb&&(a.mc=a.pd,a.Rb=a.qd);a.Ia?(a.Ha=65536,a.lb=a.T&16?4186112:253952,a.Ea=a.kd,a.ma=a.Yb?a.af:a.Fc,a.zb=a.Zb?a.ng:a.Ic,Vc(a.D,a.T&16?22:18)):(a.Ha=0,a.lb=57344,a.Ea=a.Od,a.ma=a.Yb?a.$e:a.od,a.zb=a.Zb?a.mg:a.td,Vc(a.D,16))}function pd(a){var b=a.S;b&57344||(b=b&-3199|a.kb<<5|a.qb<<1);return b}
function qd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Gb=a.P>>16&65535,a.Hb=a.P&65535);a.S=b;a.kb=(b&96)>>5;a.qb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ia!=c&&(a.Ia=c,re(a))}}function rd(a){a.S&57344||(a.Gb=a.P>>16&65535);a=a.Gb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function sd(a){a.S&57344||(a.Hb=a.P&65535);return a.Hb}function td(a,b){1170>a.ia&&(b&=-49);a.T!=b&&(a.T=b,a.Fa=b&16?4194303:262143,re(a))}
function se(a,b,c){a.Rc=b;a.D.reset();ic(a);te(a,b);Ed(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||kc(a)}else a.F?a.Z()||ce(a.F):!1===c&&a.Z();!a.A.U&&a.sa&&a.sa.stop()}h.gd=function(){return 0};
h.save=function(){var a=new M(this);a.set(0,[this.g,this.oa,this.W,this.M,this.C,this.Ga,this.ac,this.R,this.$b,this.Va,this.ya,this.S,this.Gb,this.Hb,this.T,this.Ia,this.kb,this.qb,this.Fa,this.$a,this.i,this.P,this.Ua,this.cc,this.fc]);a.set(1,[vd(this)]);a.set(2,[this.eb,this.cb,this.A.ta]);a.set(3,ue(this));a.set(4,me(this));return a.data()};
h.restore=function(a){var b=ja(a[0]);this.g=b.next().value;this.oa=b.next().value;this.W=b.next().value;this.M=b.next().value;this.C=b.next().value;this.Ga=b.next().value;this.ac=b.next().value;this.R=b.next().value;this.$b=b.next().value;this.Va=b.next().value;this.ya=b.next().value;this.S=b.next().value;this.Gb=b.next().value;this.Hb=b.next().value;this.T=b.next().value;this.Ia=b.next().value;this.kb=b.next().value;this.qb=b.next().value;this.Fa=b.next().value;this.$a=b.next().value;this.i=b.next().value;
this.P=b.next().value;this.Ua=b.next().value;this.cc=b.next().value;this.fc=b.next().value;b=a[1];Ed(this,b[0]);b=a[2];this.eb=b[0];ge(this,b[1]);this.A.ta=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Sb.length;d++){var e=this.Sb[d];if(e.xb===b[c]){d=e;break a}}d=null}d&&(d.next=this.V,this.V=d)}a=a[4];for(b=0;b<this.ga.length&&b<a.length;b++)this.ga[b][0]=a[b];return!0};function ve(a){return a.G&65536?1:0}function we(a){return a.H&32768?2:0}
function xe(a){return a.L&65535?0:4}function ye(a){return a.I&32768?8:0}function ze(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(te(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function te(a,b){a.g[7]=b&65535}function kd(a,b,c,d){b={xb:b,ib:c,message:d||0,name:Rb[b],next:null};a.Sb.push(b);return b}function Ae(a,b){var c=a.V;if(c==b)a.V=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.V&&(a.i|=1)}
function id(a,b){if(b){if(b!=a.V){var c=a.V;if(!c||c.ib<=b.ib)b.next=c,a.V=b;else{do{var d=c.next;if(!d||d.ib<=b.ib){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&B(a,b.message|8)&&C(a,"setIRQ(vector="+H(b.xb)+",priority="+b.ib+")",!0,!0)}}function od(a,b){b&&(Ae(a,b),b.message&&B(a,b.message|8)&&C(a,"clearIRQ(vector="+H(b.xb)+",priority="+b.ib+")",!0,!0))}function ue(a){var b=[];for(a=a.V;a;)b.push(a.xb),a=a.next;return b}
function Be(a){return a.i&64?(a.ra(168,64,-6),!0):a.i&32?(a.ra(4,32,-5),!0):a.i&16?(a.ra(12,16,-7),!0):!1}function vd(a){return a.w=a.w&63728|ye(a)|xe(a)|we(a)|ve(a)}function Ed(a,b){b&=a.Zc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Yc)for(var c=a.oa.length;0<=--c;){var d=a.g[c];a.g[c]=a.oa[c];a.oa[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.W[c]=a.g[6],a.g[6]=a.W[a.O]);a.w=b;a.i&=-3;a.i|=a.V?2:1}function ud(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}
h.Da=function(a){this.I=this.L=a;this.H=0};h.jb=function(a,b){this.I=this.L=this.G=a;this.H=b||0};function Ce(a,b){a.I=a.L=a.G=b;a.H=a.I^a.G>>1}function De(a,b,c,d){a.I=a.L=a.G=b;a.H=(c^d)&(d^b)}
h.ra=function(a,b,c){if(!this.na){0>this.Ua?this.Ua=vd(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.ma(a|this.Ha),e=this.ma(a+2&65535|this.Ha);Ed(this,e&-12289|this.Ua>>2&12288);Ee(this,this.Ua);Ee(this,this.g[7]);te(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.cc=c;this.fc=a;-1==c&&this.Z();if(-4<=c)throw a;}};
function Fe(a){var b=Ge(a),c=Ge(a);a.w&49152&&(c=c&-225|a.w&63712);te(a,b);Ed(a,c);a.i&=-17}function He(a,b){var c=b>>13&31;31>c&&(b=a.T&32?a.Ga[c]+(b&8191)&4194303:b&-3932161);return b}
function Ie(a,b,c){var d=[];if(c){c=He(a,b);var e=b>>13&31;d.push(c);d.push(e);a.T&32&&(d.push(a.Ga[e]),d.push(b&8191))}else if(a.Ia){var e=a.O<<1,f=b>>13;7<f&&(e|=1);a.T&a.Tc[a.O]||(f&=7);b&=8191;var g=a.M[a.O][f]<<6;c=g+b&a.Fa;3932160<=c&&(c=He(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.lb),d.push(c);return d}
function Dc(a,b,c){var d,e,f;if(!(c&a.Ia))return f=b&65535,57344<=f&&(f|=a.lb),f;d=b>>13;a.T&a.Tc[a.O]||(d&=7);e=a.C[a.O][d];f=(a.M[a.O][d]<<6)+(b&8191)&a.Fa;3932160<=f&&(f=He(a,f));if(a.na)return f;f>=a.Qc&&f<a.lb?(a.R|=32,a.ra(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ra(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.kb=a.O,a.qb=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.S&57344||(g|=a.S&4096|a.kb<<5|a.qb<<1,qd(a,a.S&-61695|g&61694)),a.ra(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 Ge(a){var b=a.ma(a.g[6]|a.Ha);a.g[6]=a.g[6]+2&65535;return b}function Ee(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.Ab(4,-2,c);a.zb(c,b)}
function Je(a,b,c,d){var e,f,g=d&8?0:a.Ha;switch(b){case 0:return a.ra(4,0,-3),0;case 1:return 6==c&&a.Ab(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.Ab(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.ma(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.Ab(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.ma(e)|g;a.b-=8;break;case 6:return e=a.ma(ze(a,2)),e=e+a.g[c]&65535,6==c&&a.Ab(d,
0,e),a.b-=6,e|g;case 7:return e=a.ma(ze(a,2)),e=e+a.g[c]&65535,e=a.ma(e|a.Ha),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.ya&&(this.i|=32)};h.Md=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.ya&&(c<=this.ya-32?this.ra(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Ud(this.F,a,1);return this.sc(a)};h.ld=function(a){this.F&&Ud(this.F,a,2);return this.tc(a)};
h.pd=function(a,b){this.F&&Vd(this.F,a,1);this.uc(a,b)};h.qd=function(a,b){this.F&&Vd(this.F,a,2);this.vc(a,b)};function Fc(a,b){a.na++;b=a.D.dc(Dc(a,b,2));a.na--;return b}function Ke(a,b){(b?--a.Zb:--a.Yb)||re(a)}h.Od=function(a,b,c){return Je(this,a,b,c)};h.kd=function(a,b,c){return Dc(this,Je(this,a,b,c),c)};h.od=function(a){return this.D.dc(this.$a=a)};h.$e=function(a){this.F&&Ud(this.F,a,2);return this.od(a)};h.Fc=function(a){return this.D.dc(this.$a=Dc(this,a,2))};
h.af=function(a){this.F&&Ud(this.F,a,2);return this.Fc(a)};h.td=function(a,b){this.D.Ob(this.$a=a,b)};h.mg=function(a,b){this.F&&Vd(this.F,a,2);this.td(a,b)};h.Ic=function(a,b){this.D.Ob(this.$a=Dc(this,a,4),b)};h.ng=function(a,b){this.F&&Vd(this.F,a,2);this.Ic(a,b)};function Le(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=Je(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.ma(d|c&a.Ha),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.W[a.w>>12&3];return c}
function Me(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=Je(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=Dc(a,e|c&65536,4),a.O=a.w>>14&3,a.Rb(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.W[a.w>>12&3]=d}function hf(a,b){b>>=6;var c=a.aa=b&7;return(b=a.X=(b&56)>>3)?a.Pb(a.Ea(b,c,3)):a.g[c+a.bc]&a.Uc}function jf(a,b){var c;b>>=6;var d=a.aa=b&7;(b=a.X=(b&56)>>3)?c=a.Qb(a.Ea(b,d,2)):c=a.g[d+a.bc];return c}function kf(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return Je(a,b,c,8)}
function lf(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Pb(a.Ea(b,c,3)):a.g[c]&255}function mf(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Qb(a.Ea(b,d,2)):c=a.g[d];return c}function nf(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.oc=a.Ea(b,e,7),c=0>c?a.g[-c-1]&255:c,a.mc(e,d.call(a,c,a.Pb(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.Ea(b,e,6),a.Rb(e,d.call(a,0>c?a.g[-c-1]:c,a.Qb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function of(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.Ea(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.mc(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 pf(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.Ea(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Rb(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.ec=function(a){this.A.complete=!0;var b=this.F?qf(this.F)?1:this.A.lc?-1:0:0,c=a?this.A.lc?0:1:-1;this.A.lc=!1;this.bb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(rf(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.Va&224)>>5,f=this.V&&this.V.ib>e?this.V:null;f&&(d=f.xb,e=f.ib);e>(this.w&224)>>5?(this.i&8&&(ze(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&Ae(this,f),a=!0);this.V||this.Va||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&rf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}if(this.i&112&&Be(this)){if(this.i&4&&rf(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.ma(a);this.g[7]=a+2&65535;this.Pc(f)}while(0<this.b);return this.A.complete?this.bb-this.b:!1===this.A.complete?-1:0};wb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new oe(d);Da(d,c)}});
function sf(a,b){var c=b+a;this.I=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function tf(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 uf(a,b){a=b<<1;Ce(this,a);return a&65535}function vf(a,b){a=b<<1;Ce(this,a<<8);return a&255}function wf(a,b){a=b&32768|b>>1|b<<16;Ce(this,a);return a&65535}function xf(a,b){a=b&128|b>>1|b<<8;Ce(this,a<<8);return a&255}function yf(a,b){a=b&~a;this.Da(a);return a}function zf(a,b){a=b&~a;this.Da(a<<8);return a}
function Af(a,b){a|=b;this.Da(a);return a}function Bf(a,b){a|=b;this.Da(a<<8);return a}function Cf(a,b){a=~b|65536;this.jb(a);return a&65535}function Df(a,b){a=~b|256;this.jb(a<<8);return a&255}function Ef(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function Ff(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 Gf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function Hf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function If(a,b){a=-b;this.jb(a,a&b&32768);return a&65535}function Jf(a,b){a=-b;this.jb(a<<8,(a&b&128)<<8);return a&255}function Kf(a,b){a=b<<1|this.G>>16&1;Ce(this,a);return a&65535}function Lf(a,b){a=b<<1|this.G>>16&1;Ce(this,a<<8);return a&255}function Mf(a,b){a=(this.G&65536|b)>>1|b<<16;Ce(this,a);return a&65535}function Nf(a,b){a=((this.G&65536)>>8|b)>>1|b<<8;Ce(this,a<<8);return a&255}function Of(a,b){var c=b-a;De(this,c,a,b);return c&65535}
function Pf(a,b){var c=b-a;De(this,c<<8,a<<8,b<<8);return c&255}function Qf(a,b){this.I=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function Rf(a,b){a^=b;this.Da(a);return a&65535}function Sf(a){T(this,a,jf(this,a),sf);this.b-=this.v?9+(this.aa&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function Tf(a){var b=mf(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 Uf(a){var b=mf(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 Vf(a){S(this,a,!ve(this))}function Wf(a){S(this,a,ve(this))}
function Xf(a){T(this,a,jf(this,a),yf);this.b-=this.v?9+(this.aa&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Yf(a){nf(this,a,hf(this,a),zf);this.b-=this.v?9+(this.aa&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Zf(a){T(this,a,jf(this,a),Af);this.b-=this.v?9+(this.aa&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function $f(a){nf(this,a,hf(this,a),Bf);this.b-=this.v?9+(this.aa&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}
function ag(a){var b=jf(this,a);a=mf(this,a);this.Da((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.aa&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function bg(a){var b=hf(this,a);a=lf(this,a);this.Da(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.aa&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function cg(a){S(this,a,xe(this))}function dg(a){S(this,a,!ye(this)==!we(this))}function eg(a){S(this,a,!xe(this)&&!ye(this)==!we(this))}function fg(a){S(this,a,!ve(this)&&!xe(this))}
function gg(a){S(this,a,xe(this)||!ye(this)!=!we(this))}function hg(a){S(this,a,ve(this)||xe(this))}function ig(a){S(this,a,!ye(this)!=!we(this))}function jg(a){S(this,a,ye(this))}function kg(a){S(this,a,!xe(this))}function lg(a){S(this,a,!ye(this))}function mg(){this.ra(12,0,-9)}function ng(a){S(this,a,!0)}function og(a){S(this,a,!we(this))}function pg(a){S(this,a,we(this))}function qg(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 rg(a){var b=jf(this,a);a=mf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;De(this,c,a,b);this.b-=this.v?4+(this.aa&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}function sg(a){var b=hf(this,a);a=lf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);De(this,c,a,b);this.b-=this.v?4+(this.aa&&6<=this.j?1:0):(this.X?4:3)+(7==this.j?2:0)}
function tg(a){var b=mf(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 ug(){this.ra(24,0,-9);this.b-=20}
function vg(){this.w&49152?(this.R|=128,this.ra(4,0,-8)):(this.sa&&1120==this.ia&&this.sa.setData(this.g[0],!0),this.F?wg(this.F):this.Z());this.b-=7}function xg(){this.ra(16,0,-9);this.b-=20}var yg=[0,7,7,10,7,11,9,13];function zg(a){this.ja=this.b;te(this,kf(this,a));this.b=this.ja-yg[this.v]}var Ag=[0,14,14,17,14,18,16,20];function Bg(a){this.ja=this.b;var b=kf(this,a);a=a>>6&7;Ee(this,this.g[a]);this.g[a]=this.g[7];te(this,b);this.b=this.ja-Ag[this.v]}
var Cg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Dg(a){var b=jf(this,a);this.ja=this.b;pf(this,a,b,this.Da);this.b=this.ja-Cg[(this.X?8:0)+this.v]+(7!=this.j||this.v?0:2)}function Eg(a){var b=hf(this,a);of(this,a,b,65535,this.Da);this.b-=this.v?9+(this.aa&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}var Fg=[7,13,13,17,14,18,17,21];
function Gg(a){var b=mf(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function Hg(){this.b-=5}function Ig(){this.w&49152||(this.D.reset(),ic(this),this.sa&&this.sa.setData(this.g[0],!0));this.b-=667}function Jg(a){if(a&8)U.call(this,a);else{var b=Ge(this);a&=7;7==a?te(this,b):(te(this,this.g[a]),this.g[a]=b);this.b-=9}}function Kg(){Fe(this);this.b-=13}
function Lg(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 Mg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)te(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Ng(a){T(this,a,jf(this,a),Of);this.b-=this.v?9+(this.aa&&6<=this.j?1:0):(this.X?5:3)+(7==this.j?2:0)}function Og(a){T(this,a,0,Qf);this.b-=this.v?9:3+(7==this.j?2:0)}function Pg(){this.ra(28,0,-9)}
function Qg(){this.sa&&(this.sa.Gc(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;ze(this,-2);this.b-=3}function Rg(a){T(this,a,this.g[(a>>6&7)+this.bc],Rf);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,B(b,1)?(C(b,"undefined opcode "+O(b,a),!0,!0),b=wg(b)):b=!1;b||this.ra(8,0,-9)}function pe(a){Sg[a>>12].call(this,a)}function Tg(a){Ug[a>>6&3].call(this,a)}function Vg(a){Wg[a>>6&3].call(this,a)}function Xg(a){Yg[a>>6&3].call(this,a)}
function Zg(a){$g[a&15].call(this,a)}function ah(a){bh[a&15].call(this,a)}function ch(a){dh[a>>6&3].call(this,a)}function eh(a){fh[a>>6&3].call(this,a)}function gh(a){hh[a>>6&3].call(this,a)}
var Sg=[function(a){ih[a>>8&15].call(this,a)},Dg,rg,ag,Xf,Zf,Sf,U,function(a){jh[a>>8&15].call(this,a)},Eg,sg,bg,Yf,$f,Ng,U],ih=[function(a){kh[a>>4&15].call(this,a)},ng,kg,cg,dg,ig,eg,gg,Bg,Bg,Tg,Vg,Xg,U,U,U],Ug=[function(a){pf(this,a,0,this.jb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Cf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,Gf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,Ef);this.b-=this.v?9:3+(7==this.j?2:0)}],Wg=[function(a){T(this,a,0,If);
this.b-=this.v?11:6},function(a){T(this,a,ve(this)?1:0,sf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,ve(this)?1:0,Of);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=mf(this,a);this.jb(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Yg=[function(a){T(this,a,0,Mf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Kf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,wf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,uf);this.b-=this.v?9:3+(7==this.j?2:0)}],kh=
[function(a){lh[a&15].call(this,a)},U,U,U,zg,zg,zg,zg,Jg,U,Zg,ah,Og,Og,Og,Og],lh=[vg,Qg,Kg,mg,xg,Ig,U,U,U,U,U,U,U,U,U,U],$g=[Hg,function(){this.G=0;this.b-=5},function(){this.H=0;this.b-=5},qg,function(){this.L=1;this.b-=5},qg,qg,qg,function(){this.I=0;this.b-=5},qg,qg,qg,qg,qg,qg,qg],bh=[Hg,function(){this.G=65536;this.b-=5},function(){this.H=32768;this.b-=5},Lg,function(){this.L=0;this.b-=5},Lg,Lg,Lg,function(){this.I=32768;this.b-=5},Lg,Lg,Lg,Lg,Lg,Lg,Lg],jh=[lg,jg,fg,hg,og,pg,Vf,Wf,ug,Pg,ch,eh,
gh,U,U,U],dh=[function(a){of(this,a,0,255,this.jb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){nf(this,a,0,Df);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){nf(this,a,1,Hf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){nf(this,a,1,Ff);this.b-=this.v?9:3+(7==this.j?2:0)}],fh=[function(a){nf(this,a,0,Jf);this.b-=this.v?11:6},function(a){nf(this,a,ve(this)?1:0,tf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){nf(this,a,ve(this)?1:0,Pf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=lf(this,
a);this.jb(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],hh=[function(a){nf(this,a,0,Nf);this.b-=this.v?9+(this.oc&1):3+(7==this.j?2:0)},function(a){nf(this,a,0,Lf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){nf(this,a,0,xf);this.b-=this.v?9+(this.oc&1):3+(7==this.j?2:0)},function(a){nf(this,a,0,vf);this.b-=this.v?9:3+(7==this.j?2:0)}];function qe(a){mh[a>>12].call(this,a)}
var mh=[function(a){nh[a>>8&15].call(this,a)},Dg,rg,ag,Xf,Zf,Sf,function(a){oh[a>>8&15].call(this,a)},function(a){ph[a>>8&15].call(this,a)},Eg,sg,bg,Yf,$f,Ng,U],nh=[function(a){qh[a>>4&15].call(this,a)},ng,kg,cg,dg,ig,eg,gg,Bg,Bg,Tg,Vg,Xg,function(a){rh[a>>6&3].call(this,a)},U,U],rh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ma(a|this.Ha);te(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Le(this,a,0);this.Da(a);Ee(this,a);this.b-=11},function(a){var b=Ge(this);
this.ja=this.b;this.Da(b);Me(this,a,0,b);this.b=this.ja-Fg[this.v]},function(a){pf(this,a,ye(this)?65535:0,this.Da);this.b-=this.v?9:3+(7==this.j?2:0)}],qh=[function(a){sh[a&15].call(this,a)},U,U,U,zg,zg,zg,zg,Jg,function(a){!(a&8)||1145>this.ia?U.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},Zg,ah,Og,Og,Og,Og],sh=[vg,Qg,function(){Fe(this);this.i|=this.w&16;this.b-=13},mg,xg,Ig,Kg,function(a){U.call(this,a)},U,U,U,U,U,U,U,U],oh=[Gg,Gg,tg,tg,Tf,Tf,Uf,Uf,
Rg,Rg,U,U,U,U,Mg,Mg],ph=[lg,jg,fg,hg,og,pg,Vf,Wf,ug,Pg,ch,eh,gh,function(a){1145>this.ia?U.call(this,a):th[a>>6&3].call(this,a)},U,U],th=[function(a){U.call(this,a)},function(a){a=Le(this,a,65536);this.Da(a);Ee(this,a);this.b-=11},function(a){var b=Ge(this);this.ja=this.b;this.Da(b);Me(this,a,65536,b);this.b=this.ja-Fg[this.v]},function(a){U.call(this,a)}];
function uh(a){q.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=Qa(this.j);if(this.j){a=this.j;var b=Ra(this.C);"json"!=b&&"hex"!=b&&(a=eb()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;cb(a,null,!0,function(a,b,f){f?(c.N("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(va(c.nb,a,b),(a=db(a,b))?(c.g=a.ca,c.ea=a.ea):c.j=null);vh(c)})}}p(uh,q);
h=uh.prototype;h.ua=function(a,b,c,d){this.D=b;this.f=c;this.F=d;vh(this)};h.wa=function(){this.ea&&(this.F&&wh(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.va=function(){return!0};
function vh(a){if(!Ka(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Ea(a,"ROM size ("+I(a.g.length,8,!0)+") does not match specified size ("+I(a.b,8,!0)+")");else{var b;a:{b=a.v;if(57344<=b&&b<57344+Nc){var c={},c=(c[b]=[uh.prototype.Me,uh.prototype.Xf,null,null,null,a.b>>1],c);if(Xb(a.D,a,c)){a.status("Added "+a.b+"-byte ROM at "+H(b));b=a.w=!0;break a}}else if(Tc(a.D,b,a.b,Jd)){for(c=0;c<a.g.length;c++)bd(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}}}A(a)}}h.Me=function(a){return this.g[a-this.v]};h.Xf=function(){};wb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new uh(d);Da(d,c)}});
function xh(a){q.call(this,"RAM",a);this.ea=this.g=null;this.i=+a.addr;this.j=+a.size;this.Aa=a.load;this.za=a.exec;null!=this.Aa&&(this.Aa=+this.Aa);null!=this.za&&(this.za=+this.za);this.v=!1;this.b=a.file;this.w=Qa(this.b);if(this.b){a=this.b;var b=Ra(this.w);"json"!=b&&"hex"!=b&&(a=eb()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;cb(a,null,!0,function(a,b,f){f?(c.N("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(va(c.nb,a,b),(a=db(a,b))?(c.g=a.ca,c.ea=a.ea,
null==c.Aa&&(c.Aa=a.Aa),null==c.za&&(c.za=a.za)):c.b=null);yh(c)})}}p(xh,q);xh.prototype.ua=function(a,b,c,d){this.D=b;this.f=c;this.F=d;yh(this)};xh.prototype.wa=function(){this.ea&&(this.F&&wh(this.F,this.id,this.i,this.j,this.ea),delete this.ea);return!0};xh.prototype.va=function(){return!0};
function yh(a){if(a.D&&(!a.v&&a.j&&(Tc(a.D,a.i,a.j,dd)?a.v=!0:a.j=0),!Ka(a))){if(!a.v)v("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;zh(a,a.g,a.Aa,a.za,a.i)?a.status('Loaded image "'+a.w+'"'):a.N('Error loading image "'+a.w+'"')}A(a)}}
xh.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(Eb&&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&&zh(this,this.g,this.Aa,this.za,this.i,!0)}};
function zh(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){C(a,"invalid signature ("+Pa(m)+") at offset "+Pa(n),4096);break}if(l+6>=b.length){C(a,"invalid block at offset "+Pa(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,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){C(a,"insufficient data for block at offset "+Pa(n),4096);
break}m+=b[l++]&255;if(m&255){C(a,"invalid checksum ("+I(m,2,!0)+") for block at offset "+Pa(n),4096);break}if(E)for(C(a,"loading "+Pa(E)+" bytes at "+Pa(u)+"-"+Pa(u+E),4096);E--;)bd(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&C(a,"starting address: "+Pa(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)bd(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.Z(),f=!1;null!=d&&se(a.f,d,f)}return k}
wb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new xh(d);Da(d,c)}});function Ah(a){q.call(this,"Keyboard",a,0,1024);A(this)}p(Ah,q);Ah.prototype.qa=function(){return!1};Ah.prototype.ua=function(a,b,c,d){this.J=a;this.f=c;this.F=d};wb(function(){for(var a=y(document,x,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ah(d);Da(d,c)}});
function Bh(a){q.call(this,"SerialPort",a,0,262144);this.M=+a.adapter;this.T=+a.baudReceive||9600;this.aa=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.j=this.w=null;this.W=+a.tabSize;this.V=+a.charBOL;this.C=0;this.I=!0;this.R=this.O=null;this.S=this.X=-1;this.G=this.b=this.g=0;this.v=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Ch;b&&(void 0===c&&(c="Panel"),(c=Ca(c,this.id))&&(b=c.B[b])&&this.qa(null,a,b))}this.i=this.H=this.P=null;
this.exports={connect:this.md,receiveData:this.ic,receiveStatus:this.ff,setConnection:this.kf}}p(Bh,q);h=Bh.prototype;
h.qa=function(a,b,c){var d=this;switch(b){case Ch: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?ta.Mc:ta.xd:46==c?b=ta.Mc:a.ctrlKey&&c>=ta.Jc&&c<=ta.Gd&&(b=c-(ta.Jc-ta.ud));b&&(a.preventDefault&&a.preventDefault(),d.ic(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.wd&&(b=ta.vd);d.ic(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.ic(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ua=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.R=kd(this.f,this.M?-1:48,4,262144);this.S=hd(this.f,function(){var a;a=-1;e.v.length&&(a=e.v.shift()&255,C(e,"receiveByte("+I(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),jd(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&&id(c,e.R))});this.O=kd(this.f,this.M?-1:52,4,262144);this.X=hd(this.f,function(){e.g|=128;e.g&64&&id(c,e.O)});Xb(b,this,Dh,this.M?64832+8*(this.M-1)-65392:0);Zb(b,this.reset.bind(this));
A(this)};h.md=function(a){if(!this.i){var b=$d(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Za(c[0]);if(d!=this.mb)return;c=Za(c[1]);if(this.i=Ba(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("Connected "+this.nb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.wa=function(a,b){if(!b)if(this.md(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.va=function(a){return a?this.save():!0};h.reset=function(){Eh(this)};h.save=function(){var a=new M(this);a.set(0,[]);return a.data()};h.restore=function(){return Eh(this)};function Eh(a){a.G=0;a.b=8192;a.g=128;a.v=[];return!0}
h.ic=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);jd(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&&id(this.f,this.R))};h.kf=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.Kf=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.Jf=function(){};h.ef=function(){return this.g};h.pg=function(a){this.g&128&&(a&64?id(this.f,this.O):od(this.f,this.O));this.g=this.g&-70|a&69};h.df=function(){return 0};
h.og=function(a){a&=255;C(this,"transmitByte("+I(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=$a[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.C%a,this.W&&(b=Ya("",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))}jd(this.f,this.X,1E3/Math.round(this.aa/10));this.g&=-129};var Ch="buffer",Fh={},Dh=(Fh[65392]=[null,null,Bh.prototype.ze,Bh.prototype.Kf,"RCSR"],Fh[65394]=[null,null,Bh.prototype.ye,Bh.prototype.Jf,"RBUF"],Fh[65396]=[null,null,Bh.prototype.ef,Bh.prototype.pg,"XCSR"],Fh[65398]=[null,null,Bh.prototype.df,Bh.prototype.og,"XBUF"],Fh);
wb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Bh(d);Da(d,c)}});function Fd(a){q.call(this,"PC11",a);this.M=Gh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.C=this.G=this.b=0;this.w=[];this.v=Hh;this.i=Ih;this.L=this.j="";this.ca=this.Aa=this.za=null;this.P=-1;this.O=!pb("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(Fd,q);
function Gh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Fd.prototype;
h.qa=function(a,b,c){var d=this,e=Ih;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){v("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=Jh;case "loadTape":return e||(e=Kh),this.B[b]=c,c.onclick=
function(){var a=d.B.listTapes;a&&Lh(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;Lh(d,Qa(b,!0),b,Kh,a)}return!1};return!0;case Mh:return this.B[b]=c,!0}return!1};
h.ua=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Nh(a);var e=this;if(a=Gh(this,$d(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=kd(this.f,56,4,4096);this.R=hd(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.C<e.w.length&&(e.G=e.w[e.C++]&255,Oh(e,e.C/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&id(e.f,e.H))});Xb(b,this,Ph);Zb(b,this.reset.bind(this));Qh(this,"None",Hh,!0);this.O&&Qh(this,"Local Tape",Rh);Qh(this,"Remote Tape",Sh);Th(this)||A(this)};
h.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.va=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Th(a){a.g=0;var b=a.M.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=Qa(c,!0)}c&&b?Uh(a,b,c,Kh,!0):Vh(a)}return!!a.g}
function Lh(a,b,c,d,e){if(c)if(c==Rh)a.N('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Sh){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.v=Sh}else a.v=c;Uh(a,b,c,d,!1,e)}else Wh(a,!1)}
function Uh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Wh(a,!0),a.A.fb?a.N("PC11 busy"):(e&&(a.g++,B(a)&&C(a,"auto-loading tape: "+b)),Xh(a,b,c,d,f)?g++:a.A.fb=!0);g&&Yh(a,a.L,a.j,a.i,a.ca,a.Aa,a.za)}
function Xh(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),Yh(a,b,c,d,e),a.v=Rh);Vh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ra(c),f="json"==e||"gz"==e?encodeURI(c):eb()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!cb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.N('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(va(a.nb,e,f),(e=db(e,f))&&Yh(a,b,c,d,e.ca,e.Aa,
e.za));a.A.fb=!1;a.g&&(a.g--,a.g||A(a));Vh(a)})}function Qh(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 Vh(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 Oh(a,b){b|=0;if(b!==a.P){var c=a.B[Mh];c&&(c=(c=y(c,Zh))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Yh(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.Aa=f;a.za=g;d==Jh?a.I&&zh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.N('No valid memory address for tape "'+b+'"'):(a.C=0,a.w=e,a.status('Loaded tape "'+b+'"'),Oh(a,0))}function Wh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Kh?"tape detached":"tape unloaded"),a.v=Hh,a.i=Ih,Vh(a))}h.save=function(){return(new M(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
h.Df=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&id(this.f,this.H)):(this.b&=-129,this.b|=2048,this.G=0,jd(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.Cf=function(){};var Hh="",Rh="?",Sh="??",Ih=0,Kh=1,Jh=2,Mh="readProgress",Zh="pcjs-progress-bar",$h={},Ph=($h[65384]=[null,null,Fd.prototype.se,Fd.prototype.Df,"PRS"],$h[65386]=[null,null,Fd.prototype.re,Fd.prototype.Cf,"PRB"],$h);
function ai(a,b,c){q.call(this,"Disk",{id:a.nb+".disk"+I(++bi,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.Ca=this.kc="";this.gc=b.gc;this.Y=this.da=this.ba=this.pa=this.mode=0;this.b=[];this.i=null;this.j=!1;ci(this,c,b.Y,b.da,b.ba,b.pa);this.g=this.w=null;A(this)}p(ai,q);h=ai.prototype;h.ua=function(a,b,c,d){this.F=d};
function ci(a,b,c,d,e,f){a.mode=b;a.Y=c;a.da=d;a.ba=e;a.pa=f;a.b=[];if("preload"!=a.mode){b=Array(a.Y);for(c=0;c<b.length;c++){d=Array(a.da);for(e=0;e<d.length;e++){f=Array(a.ba);for(var g=1;g<=f.length;g++)f[g-1]=di(null,c,e,g,a.pa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function ei(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.Ca=c;a.kc=Qa(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=sa[d];if(e){a.Y=e[0];a.da=e[1];a.ba=e[2];a.pa=e[3]||512;c=a.pa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.Y);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 E=u[t]=Array(a.ba),z=0;z<E.length;z++){for(var D=di(null,d,t,z+1,a.pa,0),F=D.data,gb=0;gb<c;gb++,f+=4)var W=F[gb]=b.getInt32(f,
!0),e=e+W&-1;D.Ja=c;E[z]=D}a.i=e;c=a}else a.N("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Na,a.Ca),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ra(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"):Sa(c,"/")&&(d="dir"),f=eb()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.gc?"":e)+"&format=json"));return!!cb(f,
null,!0,function(b,c,d){fi(a,b,c,d)})}
function fi(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.N('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{va(a.controller.nb,b,c);try{if(0<Qa(a.kc,!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)v(k[0]);else{a.Y=k.length;a.da=k[0].length;a.ba=k[0][0].length;var l=k[0][0][0];a.pa=l&&l.length||512;for(d=c=0;d<a.Y;d++)for(f=0;f<a.da;f++)for(g=0;g<a.ba;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,E=u.length;E<t;E++)u[E]=n;gi(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}di(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Na)}catch(z){v("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Na,a.Ca),a.g=null)}function di(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.Wa=!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]=di(null,a,b,g+1,f.Cc,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.zc&&(d=k[g]=di(null,a,b,f.zc,f.Cc,0))}}e&&e(d,!1);return d};function gi(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 ei(a,b){var c=a.da*a.aa,d=b/c|0;return d<a.X?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function fi(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 gi(a){for(var b="",c=0,d;d=ei(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(fi(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.Aa,this.i,this.X,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?$h(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.O("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=ei(this,a++);)hi(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 hi(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 Zh=0;function R(a){q.call(this,"RK11",a,0,65536);this.G=ii(this,a.autoMount);this.C=0;this.i=Array(8);this.H=!ob("Mobi")&&window&&"FileReader"in window;this.gb=null;this.L=this.g=this.b=this.w=this.v=this.j=this.I=0}p(R,q);
function ii(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype;
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){v("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=G(c.value,10);null!=a&&ji(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Di(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&&G(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.O("Unable to boot the selected drive"):a.ia?(qe(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.O("Unable to read the boot sector ("+a+")")):d.O("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[G(a.value,10)||0])?(a=a.ia)?(a=rb(gi(a),a.gc.replace(".json",".img")),v(a)):d.O("No disk loaded in drive."):d.O("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;Di(d,Pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=ii(this,Zd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);Fi(this);this.gb=jd(this.f,144,5,65536);Wb(b,this,Gi);Yb(b,this.reset.bind(this));Hi(this,"None",Ii,!0);this.H&&Hi(this,"Local Disk",Ji);Hi(this,"Remote Disk",Ki);Li(this)||A(this)};
h.za=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.C){for(a=0;a<this.i.length;a++)Mi(this,a,!0);Li(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";ji(this,0)}}return!0};h.ya=function(a){return a?this.save():!0};h.reset=function(){Fi(this)};h.save=function(){return(new M(this)).data()};
h.restore=function(a){return Fi(this,a[0])};function Li(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=Pa(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)){!Ni(a,g,f,e,!0)&&b&&A(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.C}
function Di(a,b,c,d){var e=a.B.listDrives,e=e&&G(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.O("Unable to load the selected drive");else if(c)if(c==Ji)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Ki){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Pa(c);a.status("Attempting to load "+c+' as "'+b+'"')}Ni(a,e,b,c,!1,d)}else Mi(a,e)}
function Ni(a,b,c,d,e,f){var g=-1,k=a.i[b];k.Aa.toLowerCase()!=d.toLowerCase()&&(g++,Mi(a,b,!0),k.tb?a.O("RK11 busy"):(k.tb=!0,e&&(k.sb=!0,a.C++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,bi(new Yh(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
h.Ad=function(a,b,c,d,e){a.tb=!1;b&&(b.X>a.X||b.da>a.da)&&(this.O('Disk "'+c+'" too large for drive '+("RK"+a.fb)),b=null);b?(a.ia=b,a.Na=c,a.Aa=d,this.O('Loaded disk "'+c+'" in drive '+("RK"+a.fb),a.sb||e),this.J&&ie(this.J)):a.Xa=!1;a.sb&&(a.sb=!1,--this.C||A(this));ji(this,a.fb)};
function Hi(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 ji(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=G(a.value,10),c=c.Xa?Ji:c.Aa,!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 Mi(a,b,c){var d=a.i[b];if(d.ia||!1===c)d.Na="",d.Aa="",d.ia=null,d.Xa=!1,c||(a.O("Drive RK"+b+" unloaded",c),ji(a,b))}
function Fi(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.fb=b;d.name=c.lb;d.tb=d.Xa=!1;d.X=203;d.da=2;d.aa=12;d.oa=512;d.cc=!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.Aa="");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.X){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&&(qc(this.D,Ee(this.f,f),u|t<<8),fd(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=Dc(this.D,Ee(this.f,f));if(fd(this.D)){m=1024;break}if(!n){if(b>=a.X){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,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=32;break}if(u!=(t|E<<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;Oi(this);return!0};function Oi(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),B(a)&&C(a,a.type+": ERROR: "+H(a.g)))}h.Ee=function(){return this.L};h.Pf=function(){};h.Fe=function(){return this.g};h.Qf=function(){};h.Be=function(){return this.b&61438};
function hi(a,b){var c=a.da*a.ba,d=b/c|0;return d<a.Y?(b%=c,a.seek(d,b/a.ba|0,b%a.ba+1)):null}function ii(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 ji(a){for(var b="",c=0,d;d=hi(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(ii(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.Ca,this.i,this.Y,this.da,this.ba,this.pa];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?ci(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.N("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=hi(this,a++);)ki(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 ki(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 bi=0;function R(a){q.call(this,"RK11",a,0,65536);this.G=Ei(this,a.autoMount);this.C=0;this.i=Array(8);this.H=!pb("Mobi")&&window&&"FileReader"in window;this.hb=null;this.L=this.g=this.b=this.w=this.v=this.j=this.I=0}p(R,q);
function Ei(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype;
h.qa=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){v("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=G(c.value,10);null!=a&&Gi(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Hi(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&&G(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.N("Unable to boot the selected drive"):a.ka?(se(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.N("Unable to read the boot sector ("+a+")")):d.N("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[G(a.value,10)||0])?(a=a.ka)?(a=sb(ji(a),a.kc.replace(".json",".img")),v(a)):d.N("No disk loaded in drive."):d.N("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;Hi(d,Qa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ua=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Ei(this,$d(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);Ii(this);this.hb=kd(this.f,144,5,65536);Xb(b,this,Ji);Zb(b,this.reset.bind(this));Ki(this,"None",Li,!0);this.H&&Ki(this,"Local Disk",Mi);Ki(this,"Remote Disk",Ni);Oi(this)||A(this)};
h.wa=function(a,b){if(!b){if(!a){if(this.reset(),this.J.C){for(a=0;a<this.i.length;a++)Pi(this,a,!0);Oi(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";Gi(this,0)}}return!0};h.va=function(a){return a?this.save():!0};h.reset=function(){Ii(this)};h.save=function(){return(new M(this)).data()};
h.restore=function(a){return Ii(this,a[0])};function Oi(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=Qa(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)){!Qi(a,g,f,e,!0)&&b&&A(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.C}
function Hi(a,b,c,d){var e=a.B.listDrives,e=e&&G(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.N("Unable to load the selected drive");else if(c)if(c==Mi)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Ni){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"')}Qi(a,e,b,c,!1,d)}else Pi(a,e)}
function Qi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.Ca.toLowerCase()!=d.toLowerCase()&&(g++,Pi(a,b,!0),k.ub?a.N("RK11 busy"):(k.ub=!0,e&&(k.tb=!0,a.C++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,ei(new ai(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
h.Ad=function(a,b,c,d,e){a.ub=!1;b&&(b.Y>a.Y||b.da>a.da)&&(this.N('Disk "'+c+'" too large for drive '+("RK"+a.gb)),b=null);b?(a.ka=b,a.Na=c,a.Ca=d,this.N('Loaded disk "'+c+'" in drive '+("RK"+a.gb),a.tb||e),this.J&&je(this.J)):a.Xa=!1;a.tb&&(a.tb=!1,--this.C||A(this));Gi(this,a.gb)};
function Ki(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 Gi(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=G(a.value,10),c=c.Xa?Mi: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 Pi(a,b,c){var d=a.i[b];if(d.ka||!1===c)d.Na="",d.Ca="",d.ka=null,d.Xa=!1,c||(a.N("Drive RK"+b+" unloaded",c),Gi(a,b))}
function Ii(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.gb=b;d.name=c.mb;d.ub=d.Xa=!1;d.Y=203;d.da=2;d.ba=12;d.pa=512;d.gc=!0;d.Kd=0;d.Id=0;d.zc=1;d.bd=d.ba;d.Cc=d.pa;d.Pd=0;d.hf=null;d.ka||(d.Ca="");d.status=2368}return!0}
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ka;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.Y){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.ba&&(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&&(rc(this.D,He(this.f,f),u|t<<8),gd(this.D))){m=1024;break}r>=a.pa&&(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.ka;var n=null,r;a||(m=128,e=0);for(;e;){var u=Ec(this.D,He(this.f,f));if(gd(this.D)){m=1024;break}if(!n){if(b>=a.Y){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.ba&&(d=0,++c>=a.da&&(c=0,++b))}if(k){var t,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=32;break}if(u!=(t|E<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.pa&&(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;Ri(this);return!0};function Ri(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),B(a)&&C(a,a.type+": ERROR: "+H(a.g)))}h.Ee=function(){return this.L};h.Pf=function(){};h.Fe=function(){return this.g};h.Qf=function(){};h.Be=function(){return this.b&61438};
h.Mf=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:B(this)&&C(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;B(this)&&C(this,this.type+": "+
d+"("+g+":"+k+":"+l+") "+H(n)+"--"+H(n+(m<<1)),!0,!0);if(g>=f.X){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;B(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.X?this.b|=8192:this.g|=64;break;case 12:B(this)&&C(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:B(this)&&C(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ia?128:0)|e<<13|this.j&15;Oi(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&hd(this.f,this.gb))}};h.Ge=function(){return this.w};h.Rf=function(a){this.w=a};h.Ae=function(){return this.v};h.Lf=function(a){this.v=a};h.Ce=function(){return this.j};h.Nf=function(a){this.j=a};h.De=function(){return this.I};h.Of=function(a){this.I=a};
var Ii="",Ji="?",Ki="??",Pi={},Gi=(Pi[65280]=[null,null,R.prototype.Ee,R.prototype.Pf,"RKDS"],Pi[65282]=[null,null,R.prototype.Fe,R.prototype.Qf,"RKER"],Pi[65284]=[null,null,R.prototype.Be,R.prototype.Mf,"RKCS"],Pi[65286]=[null,null,R.prototype.Ge,R.prototype.Rf,"RKWC"],Pi[65288]=[null,null,R.prototype.Ae,R.prototype.Lf,"RKBA"],Pi[65290]=[null,null,R.prototype.Ce,R.prototype.Nf,"RKDA"],Pi[65294]=[null,null,R.prototype.De,R.prototype.Of,"RKDB"],Pi);
function Fd(a){q.call(this,"RL11",a,0,131072);this.H=Qi(this,a.autoMount);this.G=0;this.g=Array(4);this.I=!ob("Mobi")&&window&&"FileReader"in window;this.gb=null;this.b=this.C=this.i=this.j=this.w=this.v=0;this.exports={selectDrive:this.jf}}p(Fd,q);function Qi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Fd.prototype;
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){v("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=G(c.value,10);null!=a&&Ri(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Si(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&&G(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.O("Unable to boot the selected drive"):a.ia?(qe(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.O("Unable to read the boot sector ("+a+")")):d.O("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[G(a.value,10)||0])?(a=a.ia)?(a=rb(gi(a),a.gc.replace(".json",".img")),v(a)):d.O("No disk loaded in drive."):d.O("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;Si(d,Pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Qi(this,Zd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ti(this);this.gb=jd(this.f,112,5,131072);Wb(b,this,Ui);Yb(b,this.reset.bind(this));Vi(this,"None",Wi,!0);this.I&&Vi(this,"Local Disk",Xi);Vi(this,"Remote Disk",Yi);Zi(this)||A(this)};
h.za=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.C){for(a=0;a<this.g.length;a++)$i(this,a,!0);Zi(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";Ri(this,0)}}return!0};h.ya=function(a){return a?this.save():!0};h.reset=function(){Ti(this)};h.save=function(){return(new M(this)).data()};
h.restore=function(a){return Ti(this,a[0])};function Zi(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=Pa(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)){!aj(a,g,f,e,!0)&&b&&A(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.G}
function Si(a,b,c,d){var e=a.B.listDrives,e=e&&G(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.O("Unable to load the selected drive");else if(c)if(c==Xi)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Yi){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Pa(c);a.status("Attempting to load "+c+' as "'+b+'"')}aj(a,e,b,c,!1,d)}else $i(a,e)}
function aj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Aa.toLowerCase()!=d.toLowerCase()&&(g++,$i(a,b,!0),k.tb?a.O("RL11 busy"):(k.tb=!0,e&&(k.sb=!0,a.G++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,bi(new Yh(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
h.Dd=function(a,b,c,d,e){a.tb=!1;b&&(b.X>a.X||b.da>a.da)&&(this.O('Disk "'+c+'" too large for drive '+("RL"+a.fb)),b=null);b?(a.ia=b,a.Na=c,a.Aa=d,this.O('Loaded disk "'+c+'" in drive '+("RL"+a.fb),a.sb||e),this.J&&ie(this.J)):a.Xa=!1;a.sb&&(a.sb=!1,--this.G||A(this));Ri(this,a.fb)};
function Vi(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 Ri(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.B.listDisks;a=a.B.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(G(a.options[c].value,10)==e.fb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=G(a.value,10);e=e.Xa?Xi:e.Aa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.jf=function(a){var b=this.B.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=G(b.options[d].value,10);if(0<=e)return Ri(this,e,!0)}return!1};function $i(a,b,c){var d=a.g[b];if(d.ia||!1===c)d.Na="",d.Aa="",d.ia=null,d.Xa=!1,c||(a.O("Drive RL"+b+" unloaded",c),Ri(a,b))}
function Ti(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.fb=b;d.name=c.lb;d.tb=d.Xa=!1;d.X=512;d.da=2;d.aa=40;d.oa=256;d.cc=!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.Aa="");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}qc(this.D,Ee(this.f,f),n|r<<8);if(fd(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.X)))){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=Dc(this.D,Ee(this.f,f));if(fd(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.X)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
d+"("+g+":"+k+":"+l+") "+H(n)+"--"+H(n+(m<<1)),!0,!0);if(g>=f.Y){this.g|=64;break}if(l>=f.ba){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;B(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.Y?this.b|=8192:this.g|=64;break;case 12:B(this)&&C(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:B(this)&&C(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ka?128:0)|e<<13|this.j&15;Ri(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&id(this.f,this.hb))}};h.Ge=function(){return this.w};h.Rf=function(a){this.w=a};h.Ae=function(){return this.v};h.Lf=function(a){this.v=a};h.Ce=function(){return this.j};h.Nf=function(a){this.j=a};h.De=function(){return this.I};h.Of=function(a){this.I=a};
var Li="",Mi="?",Ni="??",Si={},Ji=(Si[65280]=[null,null,R.prototype.Ee,R.prototype.Pf,"RKDS"],Si[65282]=[null,null,R.prototype.Fe,R.prototype.Qf,"RKER"],Si[65284]=[null,null,R.prototype.Be,R.prototype.Mf,"RKCS"],Si[65286]=[null,null,R.prototype.Ge,R.prototype.Rf,"RKWC"],Si[65288]=[null,null,R.prototype.Ae,R.prototype.Lf,"RKBA"],Si[65290]=[null,null,R.prototype.Ce,R.prototype.Nf,"RKDA"],Si[65294]=[null,null,R.prototype.De,R.prototype.Of,"RKDB"],Si);
function Gd(a){q.call(this,"RL11",a,0,131072);this.H=Ti(this,a.autoMount);this.G=0;this.g=Array(4);this.I=!pb("Mobi")&&window&&"FileReader"in window;this.hb=null;this.b=this.C=this.i=this.j=this.w=this.v=0;this.exports={selectDrive:this.jf}}p(Gd,q);function Ti(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Gd.prototype;
h.qa=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){v("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=G(c.value,10);null!=a&&Ui(d,
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Vi(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&&G(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.N("Unable to boot the selected drive"):a.ka?(se(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.N("Unable to read the boot sector ("+a+")")):d.N("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[G(a.value,10)||0])?(a=a.ka)?(a=sb(ji(a),a.kc.replace(".json",".img")),v(a)):d.N("No disk loaded in drive."):d.N("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;Vi(d,Qa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ua=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Ti(this,$d(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Wi(this);this.hb=kd(this.f,112,5,131072);Xb(b,this,Xi);Zb(b,this.reset.bind(this));Yi(this,"None",Zi,!0);this.I&&Yi(this,"Local Disk",$i);Yi(this,"Remote Disk",aj);bj(this)||A(this)};
h.wa=function(a,b){if(!b){if(!a){if(this.reset(),this.J.C){for(a=0;a<this.g.length;a++)cj(this,a,!0);bj(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";Ui(this,0)}}return!0};h.va=function(a){return a?this.save():!0};h.reset=function(){Wi(this)};h.save=function(){return(new M(this)).data()};
h.restore=function(a){return Wi(this,a[0])};function bj(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=Qa(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)){!dj(a,g,f,e,!0)&&b&&A(a,!1);continue}a.N("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.G}
function Vi(a,b,c,d){var e=a.B.listDrives,e=e&&G(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.N("Unable to load the selected drive");else if(c)if(c==$i)a.N('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==aj){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Qa(c);a.status("Attempting to load "+c+' as "'+b+'"')}dj(a,e,b,c,!1,d)}else cj(a,e)}
function dj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Ca.toLowerCase()!=d.toLowerCase()&&(g++,cj(a,b,!0),k.ub?a.N("RL11 busy"):(k.ub=!0,e&&(k.tb=!0,a.G++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,ei(new ai(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
h.Dd=function(a,b,c,d,e){a.ub=!1;b&&(b.Y>a.Y||b.da>a.da)&&(this.N('Disk "'+c+'" too large for drive '+("RL"+a.gb)),b=null);b?(a.ka=b,a.Na=c,a.Ca=d,this.N('Loaded disk "'+c+'" in drive '+("RL"+a.gb),a.tb||e),this.J&&je(this.J)):a.Xa=!1;a.tb&&(a.tb=!1,--this.G||A(this));Ui(this,a.gb)};
function Yi(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 Ui(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.B.listDisks;a=a.B.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(G(a.options[c].value,10)==e.gb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=G(a.value,10);e=e.Xa?$i:e.Ca;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.jf=function(a){var b=this.B.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=G(b.options[d].value,10);if(0<=e)return Ui(this,e,!0)}return!1};function cj(a,b,c){var d=a.g[b];if(d.ka||!1===c)d.Na="",d.Ca="",d.ka=null,d.Xa=!1,c||(a.N("Drive RL"+b+" unloaded",c),Ui(a,b))}
function Wi(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.gb=b;d.name=c.mb;d.ub=d.Xa=!1;d.Y=512;d.da=2;d.ba=40;d.pa=256;d.gc=!0;d.Kd=0;d.Id=0;d.zc=1;d.bd=d.ba;d.Cc=d.pa;d.Pd=0;d.hf=null;d.ka||(d.Ca="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ka;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}rc(this.D,He(this.f,f),n|r<<8);if(gd(this.D)){k=8192;break}f+=2;e--;if(m>=a.pa&&(l=null,++d>=a.ba&&(d=0,++c>=a.da&&(c=0,++b>=a.Y)))){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.ka;var l=null,m;a||(k=5120,e=0);for(;e;){var n=Ec(this.D,He(this.f,f));if(gd(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.pa&&(l=null,++d>=a.ba&&(d=0,++c>=a.da&&(c=0,++b>=a.Y)))){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.Uf=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.X?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.X||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.C,B(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+H(e)+"--"+H(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&&hd(this.f,this.gb))}};h.He=function(){return this.C};h.Sf=function(a){this.C=a&65534};h.Ke=function(){return this.i};h.Vf=function(a){this.i=a};h.Le=function(){return this.w};h.Wf=function(a){this.w=a};h.Ie=function(){return this.v};
h.Tf=function(a){this.v=a&63;this.b=this.b&-49|(this.v&3)<<4};var Wi="",Xi="?",Yi="??",bj={},Ui=(bj[63744]=[null,null,Fd.prototype.Je,Fd.prototype.Uf,"RLCS"],bj[63746]=[null,null,Fd.prototype.He,Fd.prototype.Sf,"RLBA"],bj[63748]=[null,null,Fd.prototype.Ke,Fd.prototype.Vf,"RLDA"],bj[63750]=[null,null,Fd.prototype.Le,Fd.prototype.Wf,"RLMP"],bj[63752]=[null,null,Fd.prototype.Ie,Fd.prototype.Tf,"RLBE"],bj);
function cj(a){q.call(this,"Debugger",a);this.xa=+a.base||16;this.ga=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(cj,q);cj.prototype.hd=function(){return-1};cj.prototype.jd=function(){};
function dj(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(Ya(b.substring(c,f))),c=f+1}}return a}
function ej(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;
h.Uf=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.ka,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.Y?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.Y||k>=e.ba?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.C,B(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+H(e)+"--"+H(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&&id(this.f,this.hb))}};h.He=function(){return this.C};h.Sf=function(a){this.C=a&65534};h.Ke=function(){return this.i};h.Vf=function(a){this.i=a};h.Le=function(){return this.w};h.Wf=function(a){this.w=a};h.Ie=function(){return this.v};
h.Tf=function(a){this.v=a&63;this.b=this.b&-49|(this.v&3)<<4};var Zi="",$i="?",aj="??",ej={},Xi=(ej[63744]=[null,null,Gd.prototype.Je,Gd.prototype.Uf,"RLCS"],ej[63746]=[null,null,Gd.prototype.He,Gd.prototype.Sf,"RLBA"],ej[63748]=[null,null,Gd.prototype.Ke,Gd.prototype.Vf,"RLDA"],ej[63750]=[null,null,Gd.prototype.Le,Gd.prototype.Wf,"RLMP"],ej[63752]=[null,null,Gd.prototype.Ie,Gd.prototype.Tf,"RLBE"],ej);
function fj(a){q.call(this,"Debugger",a);this.Ba=+a.base||16;this.ga=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(fj,q);fj.prototype.hd=function(){return-1};fj.prototype.jd=function(){};
function gj(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(Za(b.substring(c,f))),c=f+1}}return a}
function hj(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 fj(a,b,c){var d;if(b){b=gj(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=Ya(n);if(!n){f=!0;break}n=hj(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&&ij[n]<ij[l[l.length-1]]&&ej(k,l,1);l.push(n);b=b.substr(r+u)}ej(k,l)&&1==k.length||(f=!0);f?c&&a.u("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&jj(a,null,
d))}return d}function gj(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=fj(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 hj(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=G(b,a.xa))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function jj(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=I(c,0,!0)+" "+c+". "+H(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
function kj(a,b){if(b)return jj(a,b,a.T[b]);var c=0;for(b in a.T)jj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.xa){case 8:a=H(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=I(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var ij={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function lj(a){cj.call(this,a);this.Da=!1;this.ga=!0;this.H=V();this.Ca=V();this.N=V();this.C=[];this.g=this.L=this.G=[];mj(this);this.R=this.ba=0;this.i=[];this.na=void 0;nj(this);this.F=this;this.la={};this.ha=this.cd=0;this.S=null;this.M=[];oj(this,a.messages);this.sa=a.commands;this.Ga=pj;this.W=[];this.I=0;this.Ha=this.ra=null;this.w=this.Fa=this.Ea=this.Y=this.ma=0;this.b=this.V=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return de(b,a)}):void 0===global[x]&&(global[x]=
function(a){return de(b,a)})}p(lj,cj);function qj(a){a=a&&a.K;null==a&&(a=-1);return a}function V(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,xa:c}}h=lj.prototype;h.Fc=function(a,b){a.K=b;a.Qa=!1;a.xa=void 0;return a};function rj(a){return[a.K,a.Ka,a.xa,a.Qa,a.fc]}function sj(a,b){var c=V(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=dj(a,c.fc=b[4]));return c}
h.ta=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=Zd(a,"messages"))&&oj(this,a);1140>this.f.ba&&(this.W=this.W.concat(tj));1145>this.f.ba&&(this.W=this.W.concat(uj));ld(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=qj(vj(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=Yc[c],n&&d.u(I(n.id,8)+" %"+I(e<<d.D.g,8)+" %"+I(n.K,8)+" "+Oa(n.Jb)+" "+Oa(n.size)+" "+m),c!=Hd&&(c=-1),m=0);a+=d.D.j;e++}}});A(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="",de(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,tb(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";de(d,a,!0);return!0}return!1}),!0;case "step":return this.B[b]=c,tb(c,function(a){var b=!1;Ka(d,!0)||(La(d,!0),b=kc(d,a?1:0,null),La(d,!1));return b}),!0}return!1};function ce(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=qj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=Ee(this.f,d),c.G=!1,c.ja++,d=$c(c,d).j(d&c.i,d),c.ja--):(c=this.f,c.ma++,d=c.D.Jc(rc(c,d,3)),c.ma--),c=d,b&&wj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=qj(a);-1!==d&&(c=a.Ka||65535<d?Dc(this.D,Ee(this.f,d)):Ec(this.f,d),b&&wj(a,b));return c};h.Nc=function(a,b,c){var d=qj(a);if(-1!==d){if(a.Ka||65535<d)ad(this.D,Ee(this.f,d),b);else{var e=this.f;e.ma++;e.D.Kc(rc(e,d,5),b);e.ma--}c&&wj(a,c);J(this.J,-1)}};h.yd=function(a,b,c){var d=qj(a);if(-1!==d){if(a.Ka||65535<d)qc(this.D,Ee(this.f,d),b);else{var e=this.f;e.ma++;e.D.Nb(rc(e,d,4),b);e.ma--}c&&wj(a,c);J(this.J,-1)}};
function vj(a,b,c){var d;c=(c?a.H:a.Ca).K;var e,f;if(void 0!==b){b=gj(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=V(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=fj(a,b,void 0)}null!=c&&(d=V(c,e,f));return d}
function xj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=dj(a,b.fc=c[2]))}function wj(a,b){null!=a.K&&(a.K+=b||1)}function yj(a,b){return(b.Ka?"%":"")+O(a,b.K)}
function oj(a,b){a.F=a;a.ha=a.cd=536870912;a.S=null;a.M=[];b=dj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Rb){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|=Rb[c],a.u(c+" messages enabled"))}}function ld(a,b,c){for(var d in Rb)if(b==Rb[d]){a.la[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=zj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Aj(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.na[a-8];else if(20>a)b=this.f.V[a-16];else{var c=this.f,d=this.b;switch(a){case Bj:b=ud(this.f);break;case Cj:b=c.Va;break;case Dj:b=c.R;break;case Ej:b=c.sa&65280;break;case Fj:b=od(c);break;case Gj:b=qd(c);break;case Hj:b=rd(c);break;case Ij:b=c.T;break;case Jj:d&&(b=d.ua);break;case Kj:d&&(b=d.vb);break;case Lj:d&&Ic(d)&&(b=d.Ya)}}return b};
h.message=function(a,b){b&&(a+=" @"+yj(this,V(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.U)||Ka(this,!0))this.Z(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,je(a),a.rb=0,a.J&&J(a.J,void 0))}};
function nj(a){var b;if(!nf(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(Mj);for(b=0;b<a.i.length;b++)a.i[b]=V();a.R=0;a.u("instruction history buffer allocated")}}function Nj(a,b,c){if(!Oj(a,c))return!1;jc(a.f,b);return!0}
function kc(a,b,c,d){if(!Oj(a))return!1;var e="";null===c&&(e=(c=!a.ra||"tr"==a.ra)?"tr":"t");a.w=0;b||nf(a)&&of(a,a.f.g[7],0);try{b=ke(a.f,b);var f=a.f.bc(b);0<f&&(lc(a.f,f),a.w+=f,mc(a.f,f,!0),nc(a.f,f),a.Y++)}catch(g){"number"!=typeof g&&(a.w=0,Da(a.f,g.stack||g.message))}!1!==d&&(a.b&&a.b.stop(),J(a.J,-1));be(a,c||!1,e);return 0<a.w}h.Z=function(a){this.f&&this.f.Z(a)};
function be(a,b,c){if(a.Da){void 0===b&&(b=!0);c&&a.u(Pj+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?Pb[-d]:O(a,d))+")")}a.H=V(a.f.g[7]);b&&1!=a.I?Qj(a):Rj(a)}}function Oj(a,b){var c;(c=!a.f||!Ja(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):!Ea(a.f)}h.za=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
h.ya=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){nj(this);this.Y=0;this.S=null;this.w=0;this.H=V(this.f.g[7]);this.A.U=!1;Sj(this);a||be(this)};h.save=function(){var a=new M(this);a.set(0,rj(this.H));a.set(1,rj(this.N));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=sj(this,a[b++]),this.N=sj(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+=" (";nf(this)&&(b+=this.Y+" instructions, ",this.Y=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else B(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}be(this,!0);ce(this);Sj(this,this.f.g[7]);this.S=null}};function nf(a){return 1<a.g.length||!!a.ba}
function of(a,b,c){var d=-1;c||(d=Ec(a.f,b))||(a.f.P&65535)!=b||(b=we(a.f,2));if(0<c&&(a.ba&&!--a.ba||Tj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.Y++,0>d&&(d=Ec(a.f,b)),65535!=(d&65535)&&(a.Fc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function tg(a){var b=a.f;if(b.A.U)throw re(b,a.f.P&65535),a.Z(),-1;return!1}function Td(a,b,c){Tj(a,b,c||1,a.L)&&a.Z(!0)}function Ud(a,b,c){Tj(a,b,c||1,a.G)&&a.Z(!0)}
function mj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=qj(c),c.Ka?(c=a.D,Sd(c.b[d>>>c.g],!1)):He(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=qj(c),c.Ka?(c=a.D,Sd(c.b[d>>>c.g],!0)):He(a.f,!0);a.G=["bw"];a.ma=0}
h.qb=function(a,b,c){var d=!0;c||Uj(this,a,b,!1,!0);if(a!=this.g){var e=qj(b);if(-1===e)this.u("invalid address: "+yj(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].qb(e&g.i,f)}else e=this.f,(f?e.Xb++:e.Wb++)||pe(e)}}d&&(a.push(b),c?b.Qa=!0:(Vj(this,a,a.length-1,"set"),nj(this)));return d};
function Uj(a,b,c,d,e){var f=!1;c=qj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==qj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||Vj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ka?(d=a.D,Sd(d.b[c>>>d.g],b)):He(a.f,b));k.Qa||nj(a);break}}return f}function Wj(a,b){for(var c=1;c<b.length;c++)Vj(a,b,c);return b.length-1}function Vj(a,b,c,d){c=b[c];a.u(b[0]+" "+yj(a,c)+(d?" "+d:c.fc?' "'+c.fc+'"':""))}
function Sj(a,b){if(void 0!==b)Tj(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(!Uj(a,a.g,c,!0))break;b=0}}}
function Tj(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=qj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Uj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Xj(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||Vj(a,d,g,"hit");break}}}a.ma--;return f}
function Yj(a,b,c,d){var e=V(b.K),f=a.Oa(b,2),g,k;for(k in a.Ga)if(g=a.Ga[k][f&k])break;g||(g=Zj);var l=g[0];0<=a.W.indexOf(l)&&(g=Zj,l=g[0]);var m=k="",n=ak[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 E=u,u=b,z="",D=E&bk;if(D==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(D==ck)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(D==dk)z=O(t,f&7,1);else if(D==ek)z=O(t,f&63,1);else if(D==fk)z=O(t,f&255,1);else if(D=f&E,E&gk&&(D>>=6,E>>=6),E&Y){var E=null,F=D&
hk;switch(D&ik){case 0:z=Aj(F);break;case 8:z="@"+Aj(F);E=jk(t,t.f.g[F]);break;case 16:7>F?z="("+Aj(F)+")+":(D=t.Oa(u,2),z="#"+O(t,D,0,!0));break;case 24:7>F?z="@("+Aj(F)+")+":(D=t.Oa(u,2),z="@#"+O(t,D,0,!0),E=jk(t,D));break;case 32:z="-("+Aj(F)+")";break;case 40:z="@-("+Aj(F)+")";break;case 48:D=t.Oa(u,2);z=O(t,D,0,!0)+"("+Aj(F)+")";7==F&&(z=O(t,D=D+u.K&65535),E=jk(t,D));break;case 56:D=t.Oa(u,2),z="@"+O(t,D)+"("+Aj(F)+")",7==F&&(z="@"+O(t,D=D+u.K&65535),E=jk(t,Ec(t.f,D)))}E&&(z=[z,E])}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=yj(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+=Xa(f,24);g+=Xa(n,5);k&&(g+=" "+k);if(c||m)g=Xa(g,60)+";"+(c||""),g=a.f.A.zb?g+("cycles="+ee(a.f).toString()+" cs="+I(a.f.Sb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function jk(a,b){b=Fe(a.f,b)[0];b>=a.f.kb&&b<a.D.C&&(b=b-a.f.kb+a.D.C);var c=a.D;a=null;b>=c.C&&(b=c.Ma[b&ed])&&(a=b[4]);return a}function kk(a,b){switch(b){case "N":a=ve(a.f);break;case "Z":a=ue(a.f);break;case "V":a=te(a.f);break;case "C":a=se(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=Aj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.na[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.V[b-16]);else switch(b){case Bj:c="PS="+O(a,ud(d));break;case Cj:c="PI="+O(a,d.Va);break;case Dj:c="ER="+O(a,d.R);break;case Ej:c="SL="+O(a,d.sa&65280);break;case Fj:c="M0="+O(a,od(d));break;case Gj:c="M1="+O(a,qd(d));break;case Hj:c="M2="+O(a,rd(d));break;case Ij:c="M3="+O(a,d.T);break;case Jj:a.b&&(c="AR="+O(a,a.b.ua,3));break;case Kj:a.b&&(c="DR="+
O(a,a.b.vb));break;case Lj:a.b&&Ic(a.b)&&(c="SR="+O(a,a.b.Ya,3))}c&&(c+=" ");return c}function lk(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,Bj)+Z(a,Cj)+Z(a,Ej);d+=kk(a,"T")+kk(a,"N")+kk(a,"Z")+kk(a,"V")+kk(a,"C");b&&(b=d,c=""+(Z(a,Fj)+Z(a,Gj)),c+=Z(a,Hj)+Z(a,Ij)+Z(a,Dj),c=c+"\n"+(Z(a,Lj)+Z(a,Jj)+Z(a,Kj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function th(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=$a(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({yh:b,K:c,Qd:d,ea:e,ad:f})}function mk(a,b,c){var d=[],e=qj(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=$a(f.ad,[e-g],a.dd);0<=e?nk(a,b,e,d):c&&(e=~e,nk(a,b,e-1,d),nk(a,b,e,d));break}}return d}
function nk(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 ok(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return kj(a)||a.u("no variables"),!0;if(!c[2])return kj(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=fj(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
function pk(a,b,c){var d=null;if(b=vj(a,b,!0)){var e=mk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+Oa(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=" - "+Oa(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 Qj(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=fj(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":re(e,
g);a.H=V(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":vd(e,g);break;case "PI":td(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.sa=g|255;break;case "M0":pd(e,g);d=!0;break;case "M3":sd(e,g);d=!0;break;case "AR":a.b&&(d=a.b,Fc(d,d.ua=g));d=!0;break;case "DR":a.b&&(d=a.b,pc(d,d.vb=g));d=!0;break;case "SR":if(a.b&&Ic(a.b)){Gc(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}J(a.J);a.u("updated registers:")}}a.u(lk(a,d));c&&(a.H=V(e.g[7]),Rj(a,yj(a,a.H)))}}function qk(a,b){b=Ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):jj(a,null,c[2].charCodeAt(0)):fj(a,b,!0)}
function rk(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=hj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ra=b;sb(c,function(){return La(a,!0)&&kc(a,e,d,!1)},function(){a.b&&a.b.stop();J(a.J,-1);La(a,!1)})}}
function Rj(a,b,c,d){if(b=vj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=hj(a,c.substr(1)),null!=c&&(d=c);else{d=vj(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=Ka(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=mk(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=Yj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
function Xj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(Pj+b):(a.P&&(a.u("ended assemble at "+yj(a,a.N)),a.H=a.N,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Ja(a)&&0<b.length){a.P&&(b="a "+yj(a,a.N)+" "+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=
vj(a,g[1],!0);if(r)if(a.N=r,void 0===g[2])a.u("begin assemble at "+yj(a,r)),a.P=!0,J(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(Yj(a,a.N))}}break;case "b":a:{var E=g[0],z=g[1],D=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=E.charAt(1);if("l"==F){var gb;gb=0+Wj(a,a.g);gb+=Wj(a,a.L);(gb+=Wj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.ba=hj(a,z),a.u("break after "+a.ba+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var W=V();if("*"!=z&&(W=vj(a,z,!0),!W))break a;"c"==F?null==W.K?(mj(a),a.u("all breakpoints cleared")):Uj(a,a.g,W)||Uj(a,a.L,W)||Uj(a,a.G,W)||a.u("breakpoint missing: "+yj(a,W)):null!=W.K&&(xj(a,W,D),"p"==F?a.qb(a.g,W):"r"==F?a.qb(a.L,W):"w"==F?a.qb(a.G,W):a.u("unknown breakpoint command: "+
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Hb,Ta=g[0],Fa=g[1],Ua=g[2],Rk=g[3];if("?"==Fa){var Ib="";for(Hb in Rb)a.la[Hb]&&(Ib&&(Ib+=","),Ib+=Hb);Ib+=",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");
Ib.length&&a.u("dump extension commands:\n\t"+Ib)}else if("state"==Fa){var Ne=sk(a.J,!0);"console"==Ua?console.log(Ne):(a.Pa&&(a.Pa.value=""),Ne&&a.u(Ne))}else if("symbols"==Fa)for(var Oe=0;Oe<a.C.length;Oe++){var Pe=a.C[Oe],Jb;for(Jb in Pe.ea)if("."!=Jb.charAt(0)){var ki=Pe.ea[Jb].o;if(void 0!==ki){var li=Pe.ea[Jb].l;li&&(Jb=li);a.u(O(a,ki)+" "+Jb)}}}else{if("d"==Ta){for(Hb in Rb)if(g[1]==Hb){var mi=a.la[Hb];mi?(g.shift(),g.shift(),mi(g)):a.u("no dump registered for "+Fa);break a}Fa||(Ta=a.Ha||"dw")}else a.Ha=
Ta;if("dh"==Ta){var ni=Fa,oi=Ua,pi="",qi=0,wa=a.R,Ga=a.i;if(Ga.length){var qa=+ni||a.na,sc=+oi||10;isNaN(qa)?qa=sc:pi="more ";qa>Ga.length&&(a.u("note: only "+Ga.length+" available"),qa=Ga.length);wa-=qa;0>wa&&(null==Ga[Ga.length-1].K?(qa=wa+qa,wa=0):wa+=Ga.length);var Qe=[];"call"==oi&&(sc=1E5,Qe=["CALL"]);for(void 0!==ni&&a.u(qa+" instructions earlier:");0<sc&&wa!=a.R;){var ri=Ga[wa++];if(null==ri.K)break;var tc=V(ri.K),Sk=qa--,si=Yj(a,tc,"history",Sk);(!Qe.length||0<=si.indexOf(Qe[0]))&&a.u(si);
tc.Ac&&(wa+=tc.Ac,sc-=tc.Ac,qa-=tc.Ac);wa>=Ga.length&&(wa=0);a.na=qa;qi++;sc--}}qi||(a.u("no "+pi+"history available"),a.na=void 0)}else{var ga=vj(a,Fa);if(ga)if("da"==Ta){var Re=ga.Ka||65535<ga.K,K=Fe(a.f,ga.K||0,Re);a.u(Xa("",Re?12:19)+Ma(ga.K,Re?22:17,3)+" "+H(ga.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+Ma(K[3],13,3)+" "+H(K[3],8)),a.u("UNIMAP["+Na(K[1])+"]: "+Ma(K[2],22,3)+" "+H(K[2],8))),a.u(" PHYSICAL: "+Ma(K[0],22,3)+" "+H(K[0],8))):(a.u(" OFFSET: "+
Ma(K[1],13,3)+" "+H(K[1],8)),a.u("+ "+tk[K[2]]+"PAR"+K[3]+": "+Ma(K[4],22,3)+" "+H(K[4],8)),a.u("& MMUMASK: "+Ma(K[5],22,3)+" "+H(K[5],8)),a.u("= PHYSICAL: "+Ma(K[0],22,3)+" "+H(K[0],8)))}else{var ib=0,Se="ds"==Ta;if(Ua){if("l"==Ua.charAt(0))Ua=Ua.substr(1)||Rk,ib=hj(a,Ua);else{var ti=vj(a,Ua);ti&&(ib=ti.K-ga.K)}0>ib&&(ib=0);65536<ib&&(ib=65536)}var Uk=a.xa;ga.xa&&(a.xa=ga.xa);for(var jb="dd"==Ta?4:"db"==Ta?1:2,wd=jb*ib||128,Te=Se?16:a.xa,Vk=(wd+Te-1)/Te|0||1,kb="";Vk--&&0<wd;){for(var lb=
"",Ue="",Fa=yj(a,ga),xd=Te,uc=0,vc=0;0<xd&&0<wd;){var Kb=1,yd=1==jb?a.Mc(ga,Kb):a.Oa(ga,Kb=2),uc=uc|yd<<(vc<<3),vc=vc+Kb;vc==jb&&(Se?(lb&&(lb+=","),lb+="0x"+I(uc,2*jb)):(lb+=O(a,uc,jb),lb+=1==jb?9==xd?"-":" ":" "),uc=vc=0);xd-=Kb;for(wd-=Kb;1==jb&&Kb--;)var Ve=yd&255,Ue=Ue+(32<=Ve&&128>Ve?String.fromCharCode(Ve):"."),yd=yd>>8}kb&&(kb+="\n");kb=Se?kb+(lb+","):kb+(Fa+": "+lb+(xd?"":" "+Ue))}kb&&a.u(kb);a.Ca=ga;a.xa=Uk}}}}break;case "e":if("else"==g[0])break;var Lb,We,Xe,Ye,Ze=g[0],$e=g[1];"eb"==Ze?
(Lb=1,We=255,Xe=a.Mc,Ye=a.Nc):"e"==Ze||"ew"==Ze?(Lb=2,We=65535,Xe=a.Oa,Ye=a.yd):$e=null;if(null==$e)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 zd=vj(a,$e);if(zd)for(var Ad=2;Ad<g.length;Ad++){var wc=fj(a,g[Ad]);if(void 0===wc){a.u("unrecognized value: "+g[Ad]);break}wc&~We&&a.u("warning: "+I(wc)+" exceeds "+Lb+"-byte value");a.u("changing "+yj(a,zd)+(B(a,16)?"":" from "+O(a,Xe.call(a,zd),Lb))+" to "+O(a,wc,Lb));
Ye.call(a,zd,wc,Lb)}}break;case "g":a:{var ui=g[1],Wk=b;if(void 0!==ui){var af=vj(a,ui,!0);if(!af)break a;xj(a,af,Wk);a.qb(a.g,af,!0)}Nj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),a.Z()):Ka(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var bf;var xc=b.substr(2),xc=Ya(xc);fj(a,xc)?(c||a.u("true: "+xc),bf=!0):(c||a.u("false: "+xc),bf=!1);bf||(d=!1);break}f=!0;break;case "k":var Xk=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var cf=0,df=V(),yc=V(a.f.g[6]);for(a.u("stack trace for "+yj(a,yc));10>cf;){for(var mb=null,Yk=256;65536>yc.K>>>0;){df.K=a.Oa(yc,2);if(null==yc.K||!Yk--)break;if(!(df.K&1)){for(var Zk=a,Bd=df,vi=null,zc=Bd.K,wi=zc,ef=1;6>=ef&&zc;ef++){if(2<ef){Bd.K=zc;var Cd=Yj(Zk,Bd);if(0<=Cd.indexOf("JSR")){var xi=Cd.indexOf(" ");if(zc+(Cd.indexOf(" ",xi+1)-xi-1)/2==wi){vi=Cd;break}}}zc-=2}Bd.K=wi;if(mb=vi)break}}if(!mb||null==mb)break;var yi=null;if("ks"==Xk){var zi=mb.match(/[0-9A-F]+$/);zi&&(yi=pk(a,zi[0]))}mb=
Xa(mb,50)+" ;"+(yi||"stack="+yj(a,yc));a.u(mb);cf++}cf||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){pk(a,g[1],!0);break}f=!0;break;case "m":a:{var Ha,Ia=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Va=0;if("all"==N)Va=1879046143,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in Rb)if(N==Ha){Va=Rb[Ha];Ia=!!(a.ha&Va);break}if(!Va){a.u("unknown message category: "+N);break a}}if(Va)if("on"==g[2])a.ha|=
Va,Ia=!0;else if("off"==g[2]&&(a.ha&=~Va,Ia=!1,1073741824==Va)){for(var Ai=1E3<=a.M.length?a.M.length-1E3:0;Ai<a.M.length;)a.u(a.M[Ai++]);a.M=[]}}var $k=0,Ac="";for(Ha in Rb)if(!N||N==Ha){var al=!!(a.ha&Rb[Ha]);if(null===Ia||Ia==al)Ac&&(Ac+=","),++$k%10||(Ac+="\n\t"),"key"==Ha&&(Ha="keys"),Ac+=Ha}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+(Ac||"none"));nj(a)}break;case "p":if("print"==
g[0]){qk(a,b.substr(5));break}var bl=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 Bi="pr"==bl?1:0,Ci=1+Bi;if(a.I)a.u("step in progress");else{var Dd=V(a.f.g[7]),Mb=a.Oa(Dd);3==Mb||4==Mb||34816==(Mb&65280)||32256==(Mb&65024)||35072==(Mb&65280)?(a.I=Ci,wj(Dd,2)):2048==(Mb&65024)&&(Yj(a,Dd),a.I=Ci);a.I?(a.qb(a.g,Dd,!0),Nj(a)||(a.J&&ie(a.J),a.I=0)):rk(a,Bi?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();
break}Qj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Bc=+g[2];if(8==Bc||10==Bc||16==Bc)a.xa=Bc;else{a.u("invalid base: "+Bc);break}}a.u("default base: "+a.xa);break;case "cs":var Cc;void 0!==g[3]&&(Cc=+g[3]);switch(g[2]){case "int":a.f.Ab=Cc;break;case "start":a.f.Tb=Cc;break;case "stop":a.f.Cb=Cc;break;default:a.u("unknown cs option");break a}void 0!==Cc&&ae(a.f);a.u("checksums "+(a.f.A.zb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fe(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
a.u("target speed: "+(a.f.ob.toFixed(2)+"Mhz")+" ("+a.f.bb+"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":rk(a,g[0],g[1]);break;case "u":Rj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ok(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Eb||"PDP11")+" version 1.32.2 ("+a.f.ba+",RELEASE"+(Gb?",TYPEDARRAYS":Fb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){qk(a,b.substr(1));break}var ff="commands:",gf;for(gf in uk)ff+="\n"+Xa(gf,9)+uk[gf];nf(a)||(ff+="\nnote: history disabled if no exec breakpoints");a.u(ff);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Ei){a.u("debugger error: "+(Ei.stack||Ei.message)),
d=!1}return d}function de(a,b,c){b=dj(a,b,c);for(var d in b)if(!Xj(a,b[+d]))return!1;return!0}
var uk={"?":"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"},ak=".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(" "),
Bj=20,Cj=21,Dj=22,Ej=23,Fj=24,Gj=25,Hj=26,Ij=27,Jj=28,Kj=29,Lj=30,zj={SP:6,PC:7,PS:Bj,PI:Cj,ER:Dj,SL:Ej,M0:Fj,M1:Gj,M2:Hj,M3:Ij,AR:Jj,DR:Kj,SR:Lj},tk="KI KD SI SD ?? ?? UI UD".split(" "),hk=7,ik=56,Y=ik|hk,gk=4032,X=4096,ck=8192,dk=12288,ek=24576,fk=32768,bk=61440,pj={61440:{4096:[62,gk,Y],8192:[47,gk,Y],12288:[18,gk,Y],16384:[14,gk,Y],20480:[16,gk,Y],24576:[3,gk,Y],36864:[63,gk,Y],40960:[48,gk,Y],45056:[19,gk,Y],49152:[15,gk,Y],53248:[17,gk,Y],57344:[94,gk,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,ck]},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,fk],35072:[107,fk]},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,ek],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,hk],152:[108,dk]},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]}},Zj=[0],tj=[58,60,65,96,110,100,101,102,103,104,105],uj=[108,59,64],Mj=1E3,Pj=">> ";vb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new lj(d);Ca(d,c)}});
function vk(a,b,c){q.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.P=null;wk(this,b);this.M=Zd(this,"autoPower",a,6);this.j=0;this.T=+a.busWidth||+a.buswidth;this.I=this.H=this.L=null;this.G=this.S=!1;this.w=this.v=null;this.R=this.C=this.N=!1;this.V=Zd(this,"url")||"";(Math.random()+.1).toString(36);this.g=xk(this);if(this.f=Ba("CPU",this.id)){this.F=Ba("Debugger",this.id);this.D=new Lc({id:this.mb+".bus",busWidth:this.T},this.f,this.F);var d,e=za(this.id);if((this.i=Ba("Panel",this.id))&&
this.i.Pa)for(b=0;b<e.length;b++)d=e[b],d.O=this.i.O,d.u=this.i.u,d.Pa=this.i.Pa;this.u(Eb+" v1.32.2\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.ta&&d.ta(this,this.D,this.f,this.F);this.b=Zd(this,"resume",a,4,yk);var f;b=null;if(a=Zd(this,"state")||(f=!0,a.state))this.L=b=a,f||(this.G=
!0,this.b=yk),this.b&&(this.w=new M(this,"1.32.2"),zk(this.w)?b=null:delete this.w);!b&&this.b&&(b=Ak(this))&&(this.G=!0);if(b){var g=this;bb(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.O("Unable to load machine state from server (error "+c+(b?": "+Ya(b):"")+")")):(g.I=b,g.S=!0);A(g)})}else A(this);this.B.power||(this.M=!0);!c&&this.M&&Bk(this,this.Ub)}else v("Unable to find CPU component")}p(vk,q);
function wk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.P=b}function Zd(a,b,c,d,e){var f=b.toLowerCase(),f=pb(b)||pb(f);void 0===f&&a.P&&(f=a.P[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Bk(a,b,c){for(var d=za(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ja(f)){Ja(f,function(){Bk(a,b,c)});return}}b.call(a,c)}function Ck(a,b){var c=new M(a,"1.32.2",Dk);if(zk(c)&&Ek(c)){var d=c.get(Fk),e=b?b.get(Fk):"unknown";d!=e&&(a.O("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=vk.prototype;
h.Ub=function(a){void 0===a&&(a=this.b||(this.I?Gk:yk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.w||new M(this,"1.32.2");if(a==Hk)b=!0;else if(a>yk){if(zk(d,this.I)){this.v=new M(this,"1.32.2",Ik);zk(this.v)&&(Jk(this,d),a=Kk,Lk(this.v));this.v.set(Fk,ab());Mk(this.v);var e=this.b&&!this.G;if(a==Gk||ya("Click OK to restore the previous "+Eb+" machine state, or CANCEL to reset the machine.")){if(c=Ek(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?zk(d,g):("error"==f&&"no machine state"!=
g?(this.O("Error: "+g),"unable to verify user"==g&&(nb(Nk,""),this.g=null)):this.u(f+": "+g),Lk(d),zk(d)?(c=Ek(d),e=!0):c=!1))}e&&Ck(this,c?d:null)}else a==Kk&&d.clear()}else Ck(this);delete this.I;delete this.w}e=za(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Ok(this,g,d,b,c));b=[d,a,c];a!=Hk?Bk(this,this.ed,b):this.ed(b)}};
function Ok(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.za(f,d)&&f&&(v("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=yk,window&&window.location.reload()):a.N=!0,b.za(null),e=!1),!d&&b.Rc){var g=b.Rc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}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&&(Ok(this,this.f,b,c,a),J(this),this.f.Ia());this.N&&(Jk(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
function Jk(a,b){if(ya("There may be a problem with your "+Eb+" machine.\n\nTo help us diagnose it, click OK to send this "+Eb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=Eb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;bb("http://www.pcjs.org/api/v1/report",d,!0)}}
function sk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new M(a,"1.32.2"),g=new M(a,"1.32.2",Dk),k=ab();g.set(Fk,k);f.set(Fk,k);f.set(Pk,"1.32.2");f.set(Qk,window?window.location.href:null);f.set(Tk,window?window.navigator.userAgent:"");a.f&&a.f.ya&&(c&&a.f.Z(),d=a.f.ya(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=za(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.ya&&(d=m.ya(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&&cl(a,a.g,f.toString()),Mk(g)&&Mk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==dl),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&&(C(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=za(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}J(this,-1)};
h.start=function(a,b){for(var c=za(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};h.stop=function(a,b){for(var c=za(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
function J(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.nb.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++)dc(a,"R"+e,a.f.g[e]);e=ud(a.f);dc(a,"PS",e);dc(a,"NF",e&8?1:0,1);dc(a,"ZF",e&4?1:0,1);dc(a,"VF",e&2?1:0,1);dc(a,"CF",e&1?1:0,1);a.j=0}Fc(a,0<b&&c&&!d?a.f.Za:a.ua);pc(a,a.vb);b=a.f;b=b.Ha?b.T&16?1:2:4;Hc(a,"B22",b&1);Hc(a,"B18",b&2);Hc(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?sk(d,!1,!0):Bk(d,d.Ub))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=ya("Click OK to save changes to this "+Eb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sk(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.C=!0),d.Ub(yk),d.C=!1)}else d.reset(),d.f&&d.f.Ia()},!0;case "save":if(Ra(db(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.B[b]=c,c.onclick=function(){var a=xk(d,!0);if(a){var b=!!(d.b&&!d.H||d.L),c=sk(d,b);b?cl(d,a,c):d.O("Resume disabled, machine state not saved")}},!0}return!1};
function xk(a,b){var c=a.g;c||((c=hb(Nk),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=el(a,c))||a.O("The user ID is invalid.")):b&&a.O("Browser local storage is not available"));return c}
function el(a,b){a.g=null;b=bb(db()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(nb(Nk,b.data),a.g=b.data)}catch(d){v(d.message+" ("+c+")")}return a.g}function Ak(a){var b=null;a.g&&(b=db()+"/api/v1/user?req=load&user="+a.g+"&state="+fl(a,"1.32.2"));return b}
function cl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=fl(a,"1.32.2");d.data=c;b=bb(db()+"/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.O("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.O(c),nb(Nk,""),a.g=null)}}
function Kh(a){var b;a=za(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 ie(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 Ik="failsafe",Dk="validate",Fk="timestamp",Pk="version",Qk="url",Tk="browser",Nk="user",Hk=-1,yk=0,Gk=1,Kk=2,dl=3;
vb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new vk(g,d,!0);Ca(g,f);g.M&&Bk(g,g.Ub)}});wb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Ba("Computer",c.id))&&c.R&&!c.A.fa&&c.Ub(Hk)}});wb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Ba("Computer",c.id))&&c.A.fa&&sk(c,!(!c.b||c.H),!0)}});
function M(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.B=!1;this.key=fl(a,b,c);Lk(this,a.Fd)}h=M.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 zk(a,b){return b?(a.b=b,a.g=!0,a.B=!1,!0):a.g?!0:eb()&&(b=hb(a.key))?(a.b=b,a.g=!0):!1}function Ek(a){var b=!0;if(!a.B)try{a.f=JSON.parse(a.b),a.B=!0}catch(c){v(c.message||c),b=!1}return b}
function Mk(a){var b=!0;if(eb()){var c=JSON.stringify(a.f);nb(a.key,c)||(v("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 Lk(a,b){a.b="";a.f={};a.g=a.B=!1;b&&a.set("parms",b)}
h.clear=function(a){Lk(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 fl(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 gl=0;
function hl(a,b,c,d,e,f){e("Loading "+a+"...");bb(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):il(k,a,b,c,d,e,f)})}
function il(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(ua(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?jl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function jl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");bb(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);jl(a,b,c)}})}else c(a,null)}
function kl(a,b,c,d){function e(a){if(void 0===k){var b=g&&y(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Sa(a))}function f(a){e("Error: "+a);l&&(--gl||zb(!0));l=!1}var g,k,l=!0;gl++;va[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.2/components.xsl");m=function(d,k){k?hl(c,null,null,!1,e,function(d,l){l?(ua(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--gl||zb(!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),--gl||zb(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?hl(b,a,d,!0,e,m):il(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){zb(!1);return kl(a,b,c,d)};window.findMachineComponent=function(a,b){return Ba(b,a+".machine")};window.enableEvents=zb;window.sendEvent=Bb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11-dbg.map
function ij(a,b,c){var d;if(b){b=jj(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=Za(n);if(!n){f=!0;break}n=kj(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&&lj[n]<lj[l[l.length-1]]&&hj(k,l,1);l.push(n);b=b.substr(r+u)}hj(k,l)&&1==k.length||(f=!0);f?c&&a.u("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&mj(a,null,
d))}return d}function jj(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=ij(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 kj(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=G(b,a.Ba))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function mj(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=Na(d&255,8)+g,d>>=8;d=I(c,0,!0)+" "+c+". "+H(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
function nj(a,b){if(b)return mj(a,b,a.T[b]);var c=0;for(b in a.T)mj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.Ba){case 8:a=H(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=I(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var lj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function oj(a){fj.call(this,a);this.Ea=!1;this.ga=!0;this.H=V();this.ya=V();this.O=V();this.C=[];this.g=this.L=this.G=[];pj(this);this.R=this.aa=0;this.i=[];this.na=void 0;qj(this);this.F=this;this.ia={};this.ha=this.cd=0;this.S=null;this.M=[];rj(this,a.messages);this.sa=a.commands;this.Ha=sj;this.W=[];this.I=0;this.Ia=this.oa=null;this.w=this.Ga=this.Fa=this.X=this.ja=0;this.b=this.V=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return ee(b,a)}):void 0===global[x]&&(global[x]=
function(a){return ee(b,a)})}p(oj,fj);function tj(a){a=a&&a.K;null==a&&(a=-1);return a}function V(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,Ba:c}}h=oj.prototype;h.Gc=function(a,b){a.K=b;a.Qa=!1;a.Ba=void 0;return a};function uj(a){return[a.K,a.Ka,a.Ba,a.Qa,a.jc]}function vj(a,b){var c=V(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=gj(a,c.jc=b[4]));return c}
h.ua=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=$d(a,"messages"))&&rj(this,a);1140>this.f.ia&&(this.W=this.W.concat(wj));1145>this.f.ia&&(this.W=this.W.concat(xj));md(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=tj(yj(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=Zc[c],n&&d.u(I(n.id,8)+" %"+I(e<<d.D.g,8)+" %"+I(n.K,8)+" "+Pa(n.Kb)+" "+Pa(n.size)+" "+m),c!=Id&&(c=-1),m=0);a+=d.D.j;e++}}});A(this)};
h.qa=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="",ee(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,ub(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";ee(d,a,!0);return!0}return!1}),!0;case "step":return this.B[b]=c,ub(c,function(a){var b=!1;La(d,!0)||(Ma(d,!0),b=lc(d,a?1:0,null),Ma(d,!1));return b}),!0}return!1};function de(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.Nc=function(a,b){var c=255,d=tj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=He(this.f,d),c.G=!1,c.la++,d=ad(c,d).j(d&c.i,d),c.la--):(c=this.f,c.na++,d=c.D.Kc(Dc(c,d,3)),c.na--),c=d,b&&zj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=tj(a);-1!==d&&(c=a.Ka||65535<d?Ec(this.D,He(this.f,d)):Fc(this.f,d),b&&zj(a,b));return c};h.Oc=function(a,b,c){var d=tj(a);if(-1!==d){if(a.Ka||65535<d)bd(this.D,He(this.f,d),b);else{var e=this.f;e.na++;e.D.Lc(Dc(e,d,5),b);e.na--}c&&zj(a,c);J(this.J,-1)}};h.yd=function(a,b,c){var d=tj(a);if(-1!==d){if(a.Ka||65535<d)rc(this.D,He(this.f,d),b);else{var e=this.f;e.na++;e.D.Ob(Dc(e,d,4),b);e.na--}c&&zj(a,c);J(this.J,-1)}};
function yj(a,b,c){var d;c=(c?a.H:a.ya).K;var e,f;if(void 0!==b){b=jj(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=V(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=ij(a,b,void 0)}null!=c&&(d=V(c,e,f));return d}
function Aj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=gj(a,b.jc=c[2]))}function zj(a,b){null!=a.K&&(a.K+=b||1)}function Bj(a,b){return(b.Ka?"%":"")+O(a,b.K)}
function rj(a,b){a.F=a;a.ha=a.cd=536870912;a.S=null;a.M=[];b=gj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb){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|=Sb[c],a.u(c+" messages enabled"))}}function md(a,b,c){for(var d in Sb)if(b==Sb[d]){a.ia[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=Cj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Dj(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.oa[a-8];else if(20>a)b=this.f.W[a-16];else{var c=this.f,d=this.b;switch(a){case Ej:b=vd(this.f);break;case Fj:b=c.Va;break;case Gj:b=c.R;break;case Hj:b=c.ya&65280;break;case Ij:b=pd(c);break;case Jj:b=rd(c);break;case Kj:b=sd(c);break;case Lj:b=c.T;break;case Mj:d&&(b=d.xa);break;case Nj:d&&(b=d.wb);break;case Oj:d&&Jc(d)&&(b=d.Za)}}return b};
h.message=function(a,b){b&&(a+=" @"+Bj(this,V(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.U)||La(this,!0))this.Z(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,ke(a),a.sb=0,a.J&&J(a.J,void 0))}};
function qj(a){var b;if(!qf(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(Pj);for(b=0;b<a.i.length;b++)a.i[b]=V();a.R=0;a.u("instruction history buffer allocated")}}function Qj(a,b,c){if(!Rj(a,c))return!1;kc(a.f,b);return!0}
function lc(a,b,c,d){if(!Rj(a))return!1;var e="";null===c&&(e=(c=!a.oa||"tr"==a.oa)?"tr":"t");a.w=0;b||qf(a)&&rf(a,a.f.g[7],0);try{b=le(a.f,b);var f=a.f.ec(b);0<f&&(mc(a.f,f),a.w+=f,nc(a.f,f,!0),oc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Ea(a.f,g.stack||g.message))}!1!==d&&(a.b&&a.b.stop(),J(a.J,-1));ce(a,c||!1,e);return 0<a.w}h.Z=function(a){this.f&&this.f.Z(a)};
function ce(a,b,c){if(a.Ea){void 0===b&&(b=!0);c&&a.u(Sj+c);c=a.f;if(c=c.i&128?c.fc|c.cc<<8:0){var d=c>>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?Qb[-d]:O(a,d))+")")}a.H=V(a.f.g[7]);b&&1!=a.I?Tj(a):Uj(a)}}function Rj(a,b){var c;(c=!a.f||!Ka(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):!Ja(a.f)}h.wa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.va=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){qj(this);this.X=0;this.S=null;this.w=0;this.H=V(this.f.g[7]);this.A.U=!1;Vj(this);a||ce(this)};h.save=function(){var a=new M(this);a.set(0,uj(this.H));a.set(1,uj(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=vj(this,a[b++]),this.O=vj(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.Fa=a;this.Ga=b};
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Ga;if(!this.I){b="stopped";if(this.w){a-=this.Fa;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";qf(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else B(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}ce(this,!0);de(this);Vj(this,this.f.g[7]);this.S=null}};function qf(a){return 1<a.g.length||!!a.aa}
function rf(a,b,c){var d=-1;c||(d=Fc(a.f,b))||(a.f.P&65535)!=b||(b=ze(a.f,2));if(0<c&&(a.aa&&!--a.aa||Wj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=Fc(a.f,b)),65535!=(d&65535)&&(a.Gc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function wg(a){var b=a.f;if(b.A.U)throw te(b,a.f.P&65535),a.Z(),-1;return!1}function Ud(a,b,c){Wj(a,b,c||1,a.L)&&a.Z(!1)}function Vd(a,b,c){Wj(a,b,c||1,a.G)&&a.Z(!1)}
function pj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=tj(c),c.Ka?(c=a.D,Td(c.b[d>>>c.g],!1)):Ke(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=tj(c),c.Ka?(c=a.D,Td(c.b[d>>>c.g],!0)):Ke(a.f,!0);a.G=["bw"];a.ja=0}
h.rb=function(a,b,c){var d=!0;c||Xj(this,a,b,!1,!0);if(a!=this.g){var e=tj(b);if(-1===e)this.u("invalid address: "+Bj(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].rb(e&g.i,f)}else e=this.f,(f?e.Zb++:e.Yb++)||re(e)}}d&&(a.push(b),c?b.Qa=!0:(Yj(this,a,a.length-1,"set"),qj(this)));return d};
function Xj(a,b,c,d,e){var f=!1;c=tj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==tj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||Yj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ka?(d=a.D,Td(d.b[c>>>d.g],b)):Ke(a.f,b));k.Qa||qj(a);break}}return f}function Zj(a,b){for(var c=1;c<b.length;c++)Yj(a,b,c);return b.length-1}function Yj(a,b,c,d){c=b[c];a.u(b[0]+" "+Bj(a,c)+(d?" "+d:c.jc?' "'+c.jc+'"':""))}
function Vj(a,b){if(void 0!==b)Wj(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(!Xj(a,a.g,c,!0))break;b=0}}}
function Wj(a,b,c,d,e){var f=!1;if(!a.ja++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=tj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Xj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!ak(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||Yj(a,d,g,"hit");break}}}a.ja--;return f}
function bk(a,b,c,d){var e=V(b.K),f=a.Oa(b,2),g,k;for(k in a.Ha)if(g=a.Ha[k][f&k])break;g||(g=ck);var l=g[0];0<=a.W.indexOf(l)&&(g=ck,l=g[0]);var m=k="",n=dk[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 E=u,u=b,z="",D=E&ek;if(D==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(D==fk)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(D==gk)z=O(t,f&7,1);else if(D==hk)z=O(t,f&63,1);else if(D==ik)z=O(t,f&255,1);else if(D=f&E,E&jk&&(D>>=6,E>>=6),E&Y){var E=null,F=D&
kk;switch(D&lk){case 0:z=Dj(F);break;case 8:z="@"+Dj(F);E=mk(t,t.f.g[F]);break;case 16:7>F?z="("+Dj(F)+")+":(D=t.Oa(u,2),z="#"+O(t,D,0,!0));break;case 24:7>F?z="@("+Dj(F)+")+":(D=t.Oa(u,2),z="@#"+O(t,D,0,!0),E=mk(t,D));break;case 32:z="-("+Dj(F)+")";break;case 40:z="@-("+Dj(F)+")";break;case 48:D=t.Oa(u,2);z=O(t,D,0,!0)+"("+Dj(F)+")";7==F&&(z=O(t,D=D+u.K&65535),E=mk(t,D));break;case 56:D=t.Oa(u,2),z="@"+O(t,D)+"("+Dj(F)+")",7==F&&(z="@"+O(t,D=D+u.K&65535),E=mk(t,Fc(t.f,D)))}E&&(z=[z,E])}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=Bj(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+=Ya(f,24);g+=Ya(n,5);k&&(g+=" "+k);if(c||m)g=Ya(g,60)+";"+(c||""),g=a.f.A.Bb?g+("cycles="+fe(a.f).toString()+" cs="+I(a.f.Ub)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function mk(a,b){b=Ie(a.f,b)[0];b>=a.f.lb&&b<a.D.C&&(b=b-a.f.lb+a.D.C);var c=a.D;a=null;b>=c.C&&(b=c.Ma[b&fd])&&(a=b[4]);return a}function nk(a,b){switch(b){case "N":a=ye(a.f);break;case "Z":a=xe(a.f);break;case "V":a=we(a.f);break;case "C":a=ve(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=Dj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.oa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.W[b-16]);else switch(b){case Ej:c="PS="+O(a,vd(d));break;case Fj:c="PI="+O(a,d.Va);break;case Gj:c="ER="+O(a,d.R);break;case Hj:c="SL="+O(a,d.ya&65280);break;case Ij:c="M0="+O(a,pd(d));break;case Jj:c="M1="+O(a,rd(d));break;case Kj:c="M2="+O(a,sd(d));break;case Lj:c="M3="+O(a,d.T);break;case Mj:a.b&&(c="AR="+O(a,a.b.xa,3));break;case Nj:a.b&&(c="DR="+
O(a,a.b.wb));break;case Oj:a.b&&Jc(a.b)&&(c="SR="+O(a,a.b.Za,3))}c&&(c+=" ");return c}function ok(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,Ej)+Z(a,Fj)+Z(a,Hj);d+=nk(a,"T")+nk(a,"N")+nk(a,"Z")+nk(a,"V")+nk(a,"C");b&&(b=d,c=""+(Z(a,Ij)+Z(a,Jj)),c+=Z(a,Kj)+Z(a,Lj)+Z(a,Gj),c=c+"\n"+(Z(a,Oj)+Z(a,Mj)+Z(a,Nj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function wh(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=ab(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 pk(a,b,c){var d=[],e=tj(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=ab(f.ad,[e-g],a.dd);0<=e?qk(a,b,e,d):c&&(e=~e,qk(a,b,e-1,d),qk(a,b,e,d));break}}return d}
function qk(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 rk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return nj(a)||a.u("no variables"),!0;if(!c[2])return nj(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=ij(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
function sk(a,b,c){var d=null;if(b=yj(a,b,!0)){var e=pk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+Pa(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=" - "+Pa(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 Tj(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=ij(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":te(e,
g);a.H=V(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":Ed(e,g);break;case "PI":ud(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.ya=g|255;break;case "M0":qd(e,g);d=!0;break;case "M3":td(e,g);d=!0;break;case "AR":a.b&&(d=a.b,Gc(d,d.xa=g));d=!0;break;case "DR":a.b&&(d=a.b,qc(d,d.wb=g));d=!0;break;case "SR":if(a.b&&Jc(a.b)){Hc(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}J(a.J);a.u("updated registers:")}}a.u(ok(a,d));c&&(a.H=V(e.g[7]),Uj(a,Bj(a,a.H)))}}function tk(a,b){b=Za(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):mj(a,null,c[2].charCodeAt(0)):ij(a,b,!0)}
function uk(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=kj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.oa=b;tb(c,function(){return Ma(a,!0)&&lc(a,e,d,!1)},function(){a.b&&a.b.stop();J(a.J,-1);Ma(a,!1)})}}
function Uj(a,b,c,d){if(b=yj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=kj(a,c.substr(1)),null!=c&&(d=c);else{d=yj(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=La(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=pk(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=bk(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
function ak(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(Sj+b):(a.P&&(a.u("ended assemble at "+Bj(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(Ka(a)&&0<b.length){a.P&&(b="a "+Bj(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=
yj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.u("begin assemble at "+Bj(a,r)),a.P=!0,J(a.J);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Oc(r,u[t],1);a.u(bk(a,a.O))}}break;case "b":a:{var E=g[0],z=g[1],D=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=E.charAt(1);if("l"==F){var gb;gb=0+Zj(a,a.g);gb+=Zj(a,a.L);(gb+=Zj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.aa=kj(a,z),a.u("break after "+a.aa+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var W=V();if("*"!=z&&(W=yj(a,z,!0),!W))break a;"c"==F?null==W.K?(pj(a),a.u("all breakpoints cleared")):Xj(a,a.g,W)||Xj(a,a.L,W)||Xj(a,a.G,W)||a.u("breakpoint missing: "+Bj(a,W)):null!=W.K&&(Aj(a,W,D),"p"==F?a.rb(a.g,W):"r"==F?a.rb(a.L,W):"w"==F?a.rb(a.G,W):a.u("unknown breakpoint command: "+
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Hb,Ta=g[0],Fa=g[1],Ua=g[2],Uk=g[3];if("?"==Fa){var Ib="";for(Hb in Sb)a.ia[Hb]&&(Ib&&(Ib+=","),Ib+=Hb);Ib+=",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");
Ib.length&&a.u("dump extension commands:\n\t"+Ib)}else if("state"==Fa){var Ne=vk(a.J,!0);"console"==Ua?console.log(Ne):(a.Pa&&(a.Pa.value=""),Ne&&a.u(Ne))}else if("symbols"==Fa)for(var Oe=0;Oe<a.C.length;Oe++){var Pe=a.C[Oe],Jb;for(Jb in Pe.ea)if("."!=Jb.charAt(0)){var li=Pe.ea[Jb].o;if(void 0!==li){var mi=Pe.ea[Jb].l;mi&&(Jb=mi);a.u(O(a,li)+" "+Jb)}}}else{if("d"==Ta){for(Hb in Sb)if(g[1]==Hb){var ni=a.ia[Hb];ni?(g.shift(),g.shift(),ni(g)):a.u("no dump registered for "+Fa);break a}Fa||(Ta=a.Ia||"dw")}else a.Ia=
Ta;if("dh"==Ta){var oi=Fa,pi=Ua,qi="",ri=0,wa=a.R,Ga=a.i;if(Ga.length){var qa=+oi||a.na,sc=+pi||10;isNaN(qa)?qa=sc:qi="more ";qa>Ga.length&&(a.u("note: only "+Ga.length+" available"),qa=Ga.length);wa-=qa;0>wa&&(null==Ga[Ga.length-1].K?(qa=wa+qa,wa=0):wa+=Ga.length);var Qe=[];"call"==pi&&(sc=1E5,Qe=["CALL"]);for(void 0!==oi&&a.u(qa+" instructions earlier:");0<sc&&wa!=a.R;){var si=Ga[wa++];if(null==si.K)break;var tc=V(si.K),Vk=qa--,ti=bk(a,tc,"history",Vk);(!Qe.length||0<=ti.indexOf(Qe[0]))&&a.u(ti);
tc.Bc&&(wa+=tc.Bc,sc-=tc.Bc,qa-=tc.Bc);wa>=Ga.length&&(wa=0);a.na=qa;ri++;sc--}}ri||(a.u("no "+qi+"history available"),a.na=void 0)}else{var ga=yj(a,Fa);if(ga)if("da"==Ta){var Re=ga.Ka||65535<ga.K,K=Ie(a.f,ga.K||0,Re);a.u(Ya("",Re?12:19)+Na(ga.K,Re?22:17,3)+" "+H(ga.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+Na(K[3],13,3)+" "+H(K[3],8)),a.u("UNIMAP["+Oa(K[1])+"]: "+Na(K[2],22,3)+" "+H(K[2],8))),a.u(" PHYSICAL: "+Na(K[0],22,3)+" "+H(K[0],8))):(a.u(" OFFSET: "+
Na(K[1],13,3)+" "+H(K[1],8)),a.u("+ "+wk[K[2]]+"PAR"+K[3]+": "+Na(K[4],22,3)+" "+H(K[4],8)),a.u("& MMUMASK: "+Na(K[5],22,3)+" "+H(K[5],8)),a.u("= PHYSICAL: "+Na(K[0],22,3)+" "+H(K[0],8)))}else{var ib=0,Se="ds"==Ta;if(Ua){if("l"==Ua.charAt(0))Ua=Ua.substr(1)||Uk,ib=kj(a,Ua);else{var ui=yj(a,Ua);ui&&(ib=ui.K-ga.K)}0>ib&&(ib=0);65536<ib&&(ib=65536)}var Xk=a.Ba;ga.Ba&&(a.Ba=ga.Ba);for(var jb="dd"==Ta?4:"db"==Ta?1:2,wd=jb*ib||128,Te=Se?16:a.Ba,Yk=(wd+Te-1)/Te|0||1,kb="";Yk--&&0<wd;){for(var lb=
"",Ue="",Fa=Bj(a,ga),xd=Te,uc=0,vc=0;0<xd&&0<wd;){var Kb=1,yd=1==jb?a.Nc(ga,Kb):a.Oa(ga,Kb=2),uc=uc|yd<<(vc<<3),vc=vc+Kb;vc==jb&&(Se?(lb&&(lb+=","),lb+="0x"+I(uc,2*jb)):(lb+=O(a,uc,jb),lb+=1==jb?9==xd?"-":" ":" "),uc=vc=0);xd-=Kb;for(wd-=Kb;1==jb&&Kb--;)var Ve=yd&255,Ue=Ue+(32<=Ve&&128>Ve?String.fromCharCode(Ve):"."),yd=yd>>8}kb&&(kb+="\n");kb=Se?kb+(lb+","):kb+(Fa+": "+lb+(xd?"":" "+Ue))}kb&&a.u(kb);a.ya=ga;a.Ba=Xk}}}}break;case "e":if("else"==g[0])break;var Lb,We,Xe,Ye,Ze=g[0],$e=g[1];"eb"==Ze?
(Lb=1,We=255,Xe=a.Nc,Ye=a.Oc):"e"==Ze||"ew"==Ze?(Lb=2,We=65535,Xe=a.Oa,Ye=a.yd):$e=null;if(null==$e)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 zd=yj(a,$e);if(zd)for(var Ad=2;Ad<g.length;Ad++){var wc=ij(a,g[Ad]);if(void 0===wc){a.u("unrecognized value: "+g[Ad]);break}wc&~We&&a.u("warning: "+I(wc)+" exceeds "+Lb+"-byte value");a.u("changing "+Bj(a,zd)+(B(a,16)?"":" from "+O(a,Xe.call(a,zd),Lb))+" to "+O(a,wc,Lb));
Ye.call(a,zd,wc,Lb)}}break;case "g":a:{var vi=g[1],Zk=b;if(void 0!==vi){var af=yj(a,vi,!0);if(!af)break a;Aj(a,af,Zk);a.rb(a.g,af,!0)}Qj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),a.Z()):La(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var bf;var xc=b.substr(2),xc=Za(xc);ij(a,xc)?(c||a.u("true: "+xc),bf=!0):(c||a.u("false: "+xc),bf=!1);bf||(d=!1);break}f=!0;break;case "k":var $k=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var cf=0,df=V(),yc=V(a.f.g[6]);for(a.u("stack trace for "+Bj(a,yc));10>cf;){for(var mb=null,al=256;65536>yc.K>>>0;){df.K=a.Oa(yc,2);if(null==yc.K||!al--)break;if(!(df.K&1)){for(var bl=a,Bd=df,wi=null,zc=Bd.K,xi=zc,ef=1;6>=ef&&zc;ef++){if(2<ef){Bd.K=zc;var Cd=bk(bl,Bd);if(0<=Cd.indexOf("JSR")){var yi=Cd.indexOf(" ");if(zc+(Cd.indexOf(" ",yi+1)-yi-1)/2==xi){wi=Cd;break}}}zc-=2}Bd.K=xi;if(mb=wi)break}}if(!mb||null==mb)break;var zi=null;if("ks"==$k){var Ai=mb.match(/[0-9A-F]+$/);Ai&&(zi=sk(a,Ai[0]))}mb=
Ya(mb,50)+" ;"+(zi||"stack="+Bj(a,yc));a.u(mb);cf++}cf||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){sk(a,g[1],!0);break}f=!0;break;case "m":a:{var Ha,Ia=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Va=0;if("all"==N)Va=1879046143,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in Sb)if(N==Ha){Va=Sb[Ha];Ia=!!(a.ha&Va);break}if(!Va){a.u("unknown message category: "+N);break a}}if(Va)if("on"==g[2])a.ha|=
Va,Ia=!0;else if("off"==g[2]&&(a.ha&=~Va,Ia=!1,1073741824==Va)){for(var Bi=1E3<=a.M.length?a.M.length-1E3:0;Bi<a.M.length;)a.u(a.M[Bi++]);a.M=[]}}var cl=0,Ac="";for(Ha in Sb)if(!N||N==Ha){var dl=!!(a.ha&Sb[Ha]);if(null===Ia||Ia==dl)Ac&&(Ac+=","),++cl%10||(Ac+="\n\t"),"key"==Ha&&(Ha="keys"),Ac+=Ha}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+(Ac||"none"));qj(a)}break;case "p":if("print"==
g[0]){tk(a,b.substr(5));break}var el=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 Ci="pr"==el?1:0,Di=1+Ci;if(a.I)a.u("step in progress");else{var Dd=V(a.f.g[7]),Mb=a.Oa(Dd);3==Mb||4==Mb||34816==(Mb&65280)||32256==(Mb&65024)||35072==(Mb&65280)?(a.I=Di,zj(Dd,2)):2048==(Mb&65024)&&(bk(a,Dd),a.I=Di);a.I?(a.rb(a.g,Dd,!0),Qj(a)||(a.J&&je(a.J),a.I=0)):uk(a,Ci?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();
break}Tj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Bc=+g[2];if(8==Bc||10==Bc||16==Bc)a.Ba=Bc;else{a.u("invalid base: "+Bc);break}}a.u("default base: "+a.Ba);break;case "cs":var Cc;void 0!==g[3]&&(Cc=+g[3]);switch(g[2]){case "int":a.f.Cb=Cc;break;case "start":a.f.Wb=Cc;break;case "stop":a.f.Eb=Cc;break;default:a.u("unknown cs option");break a}void 0!==Cc&&be(a.f);a.u("checksums "+(a.f.A.Bb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ge(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
a.u("target speed: "+(a.f.pb.toFixed(2)+"Mhz")+" ("+a.f.cb+"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":uk(a,g[0],g[1]);break;case "u":Uj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){rk(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Fb||"PDP11")+" version 1.32.2 ("+a.f.ia+",RELEASE"+(Nb?",TYPEDARRAYS":Gb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){tk(a,b.substr(1));break}var ff="commands:",gf;for(gf in xk)ff+="\n"+Ya(gf,9)+xk[gf];qf(a)||(ff+="\nnote: history disabled if no exec breakpoints");a.u(ff);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Fi){a.u("debugger error: "+(Fi.stack||Fi.message)),
d=!1}return d}function ee(a,b,c){b=gj(a,b,c);for(var d in b)if(!ak(a,b[+d]))return!1;return!0}
var xk={"?":"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"},dk=".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(" "),
Ej=20,Fj=21,Gj=22,Hj=23,Ij=24,Jj=25,Kj=26,Lj=27,Mj=28,Nj=29,Oj=30,Cj={SP:6,PC:7,PS:Ej,PI:Fj,ER:Gj,SL:Hj,M0:Ij,M1:Jj,M2:Kj,M3:Lj,AR:Mj,DR:Nj,SR:Oj},wk="KI KD SI SD ?? ?? UI UD".split(" "),kk=7,lk=56,Y=lk|kk,jk=4032,X=4096,fk=8192,gk=12288,hk=24576,ik=32768,ek=61440,sj={61440:{4096:[62,jk,Y],8192:[47,jk,Y],12288:[18,jk,Y],16384:[14,jk,Y],20480:[16,jk,Y],24576:[3,jk,Y],36864:[63,jk,Y],40960:[48,jk,Y],45056:[19,jk,Y],49152:[15,jk,Y],53248:[17,jk,Y],57344:[94,jk,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,fk]},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,ik],35072:[107,ik]},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,hk],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,kk],152:[108,gk]},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]}},ck=[0],wj=[58,60,65,96,110,100,101,102,103,104,105],xj=[108,59,64],Pj=1E3,Sj=">> ";wb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new oj(d);Da(d,c)}});
function yk(a,b,c){q.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.P=null;zk(this,b);this.M=$d(this,"autoPower",a,6);this.j=0;this.T=+a.busWidth||+a.buswidth;this.I=this.H=this.L=null;this.G=this.S=!1;this.w=this.v=null;this.R=this.C=this.O=!1;this.V=$d(this,"url")||"";(Math.random()+.1).toString(36);this.g=Ak(this);if(this.f=Ca("CPU",this.id)){this.F=Ca("Debugger",this.id);this.D=new Mc({id:this.nb+".bus",busWidth:this.T},this.f,this.F);var d,e=Aa(this.id);if((this.i=Ca("Panel",this.id))&&
this.i.Pa)for(b=0;b<e.length;b++)d=e[b],d.N=this.i.N,d.u=this.i.u,d.Pa=this.i.Pa;this.u(Fb+" v1.32.2\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.ua&&d.ua(this,this.D,this.f,this.F);this.b=$d(this,"resume",a,4,Bk);var f;b=null;if(a=$d(this,"state")||(f=!0,a.state))this.L=b=a,f||(this.G=
!0,this.b=Bk),this.b&&(this.w=new M(this,"1.32.2"),Ck(this.w)?b=null:delete this.w);!b&&this.b&&(b=Dk(this))&&(this.G=!0);if(b){var g=this;cb(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+Za(b):"")+")")):(g.I=b,g.S=!0);A(g)})}else A(this);this.B.power||(this.M=!0);!c&&this.M&&Ek(this,this.Vb)}else v("Unable to find CPU component")}p(yk,q);
function zk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.P=b}function $d(a,b,c,d,e){var f=b.toLowerCase(),f=qb(b)||qb(f);void 0===f&&a.P&&(f=a.P[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Ek(a,b,c){for(var d=Aa(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ka(f)){Ka(f,function(){Ek(a,b,c)});return}}b.call(a,c)}function Fk(a,b){var c=new M(a,"1.32.2",Gk);if(Ck(c)&&Hk(c)){var d=c.get(Ik),e=b?b.get(Ik):"unknown";d!=e&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=yk.prototype;
h.Vb=function(a){void 0===a&&(a=this.b||(this.I?Jk:Bk));if(!this.j){this.j++;var b=!1,c=!1;this.O=!1;var d=this.w||new M(this,"1.32.2");if(a==Kk)b=!0;else if(a>Bk){if(Ck(d,this.I)){this.v=new M(this,"1.32.2",Lk);Ck(this.v)&&(Mk(this,d),a=Nk,Ok(this.v));this.v.set(Ik,bb());Pk(this.v);var e=this.b&&!this.G;if(a==Jk||za("Click OK to restore the previous "+Fb+" machine state, or CANCEL to reset the machine.")){if(c=Hk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Ck(d,g):("error"==f&&"no machine state"!=
g?(this.N("Error: "+g),"unable to verify user"==g&&(ob(Qk,""),this.g=null)):this.u(f+": "+g),Ok(d),Ck(d)?(c=Hk(d),e=!0):c=!1))}e&&Fk(this,c?d:null)}else a==Nk&&d.clear()}else Fk(this);delete this.I;delete this.w}e=Aa(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Rk(this,g,d,b,c));b=[d,a,c];a!=Kk?Ek(this,this.ed,b):this.ed(b)}};
function Rk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.wa(f,d)&&f&&(v("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=Bk,window&&window.location.reload()):a.O=!0,b.wa(null),e=!1),!d&&b.Sc){var g=b.Sc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}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&&(Rk(this,this.f,b,c,a),J(this),this.f.ta());this.O&&(Mk(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
function Mk(a,b){if(za("There may be a problem with your "+Fb+" machine.\n\nTo help us diagnose it, click OK to send this "+Fb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=Fb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;cb("http://www.pcjs.org/api/v1/report",d,!0)}}
function vk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new M(a,"1.32.2"),g=new M(a,"1.32.2",Gk),k=bb();g.set(Ik,k);f.set(Ik,k);f.set(Sk,"1.32.2");f.set(Tk,window?window.location.href:null);f.set(Wk,window?window.navigator.userAgent:"");a.f&&a.f.va&&(c&&(b&&(a.f.A.ta=a.f.A.U),a.f.Z()),d=a.f.va(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=Aa(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.va&&(d=m.va(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&&fl(a,a.g,f.toString()),Pk(g)&&Pk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==gl),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&&(C(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=Aa(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}J(this,-1)};h.start=function(a,b){for(var c=Aa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};
h.stop=function(a,b){for(var c=Aa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
function J(a,b){if(a.f){var c=a.f,d=b||0,e=c.B.speed;e&&(0>=d||30<=(c.rc+=d))&&(e.textContent=c.A.U?c.ob.toFixed(2)+"Mhz":"Stopped",c.rc=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++)ec(a,"R"+e,a.f.g[e]);e=vd(a.f);ec(a,"PS",e);ec(a,"NF",e&8?1:0,1);ec(a,"ZF",e&4?1:0,1);ec(a,"VF",e&2?1:0,1);ec(a,"CF",e&1?1:0,1);a.j=0}Gc(a,0<b&&c&&!d?a.f.$a:a.xa);qc(a,a.wb);b=a.f;b=b.Ia?b.T&16?1:2:4;Ic(a,"B22",b&1);Ic(a,"B18",b&2);Ic(a,"B16",b&4)}}
h.qa=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.j||(d.A.fa?vk(d,!1,!0):Ek(d,d.Vb))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=za("Click OK to save changes to this "+Fb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");vk(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.C=!0),d.Vb(Bk),d.C=!1)}else d.reset(),d.f&&d.f.ta()},!0;case "save":if(Sa(eb(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.B[b]=c,c.onclick=function(){var a=Ak(d,!0);if(a){var b=!!(d.b&&!d.H||d.L),c=vk(d,b);b?fl(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};
function Ak(a,b){var c=a.g;c||((c=nb(Qk),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=hl(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
function hl(a,b){a.g=null;b=cb(eb()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ob(Qk,b.data),a.g=b.data)}catch(d){v(d.message+" ("+c+")")}return a.g}function Dk(a){var b=null;a.g&&(b=eb()+"/api/v1/user?req=load&user="+a.g+"&state="+il(a,"1.32.2"));return b}
function fl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=il(a,"1.32.2");d.data=c;b=cb(eb()+"/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.N("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.N(c),ob(Qk,""),a.g=null)}}
function Nh(a){var b;a=Aa(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 je(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 Lk="failsafe",Gk="validate",Ik="timestamp",Sk="version",Tk="url",Wk="browser",Qk="user",Kk=-1,Bk=0,Jk=1,Nk=2,gl=3;
wb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new yk(g,d,!0);Da(g,f);g.M&&Ek(g,g.Vb)}});xb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Ca("Computer",c.id))&&c.R&&!c.A.fa&&c.Vb(Kk)}});xb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Ca("Computer",c.id))&&c.A.fa&&vk(c,!(!c.b||c.H),!0)}});
function M(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.B=!1;this.key=il(a,b,c);Ok(this,a.Fd)}h=M.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 Ck(a,b){return b?(a.b=b,a.g=!0,a.B=!1,!0):a.g?!0:fb()&&(b=nb(a.key))?(a.b=b,a.g=!0):!1}function Hk(a){var b=!0;if(!a.B)try{a.f=JSON.parse(a.b),a.B=!0}catch(c){v(c.message||c),b=!1}return b}
function Pk(a){var b=!0;if(fb()){var c=JSON.stringify(a.f);ob(a.key,c)||(v("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 Ok(a,b){a.b="";a.f={};a.g=a.B=!1;b&&a.set("parms",b)}
h.clear=function(a){Ok(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 il(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 jl=0;
function kl(a,b,c,d,e,f){e("Loading "+a+"...");cb(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):ll(k,a,b,c,d,e,f)})}
function ll(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(va(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?ml(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function ml(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");cb(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);ml(a,b,c)}})}else c(a,null)}
function nl(a,b,c,d){function e(a){if(void 0===k){var b=g&&y(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Wa(a))}function f(a){e("Error: "+a);l&&(--jl||Ab(!0));l=!1}var g,k,l=!0;jl++;xa[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.2/components.xsl");m=function(d,k){k?kl(c,null,null,!1,e,function(d,l){l?(va(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--jl||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),--jl||Ab(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?kl(b,a,d,!0,e,m):ll(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 nl(a,b,c,d)};window.findMachineComponent=function(a,b){return Ca(b,a+".machine")};window.enableEvents=Ab;window.sendEvent=Cb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11-dbg.map

View file

@ -33,251 +33,253 @@
http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++}
function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var ia=ba,ja=["Math","log2"],ka=0;ka<ja.length-1;ka++){var la=ja[ka];la in ia||(ia[la]={});ia=ia[la]}var ma=ja[ja.length-1],na=ia[ma],oa=na?na:function(a){return Math.log(a)/Math.LN2};oa!=na&&null!=oa&&aa(ia,ma,{configurable:!0,writable:!0,value:oa});
var pa={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},q={Hf:0,Gc:1,Jf:2,Kf:3,Lf:4,Mf:5,Nf:6,Of:7,ic:8,Pf:9,Hc:10,Qf:11,Rf:12,Ic:13,Sf:14,Tf:15,Uf:16,Vf:17,Wf:18,Xf:19,Yf:20,Zf:21,$f:22,ag:23,bg:24,cg:25,dg:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,hc:65,Gf:66,If:67,eg:68,E:69,fg:70,gg:71,hg:72,ig:73,jg:74,kg:75,lg:76,mg:77,ng:78,og:79,pg:80,Q:81,qg:82,rg:83,sg:84,tg:85,ug:86,vg:87,wg:88,xg:89,Uc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yg:97,zg:98,Ag:99,d:100,e:101,Cg:102,Dg:103,Eg:104,Fg:105,Ig:106,k:107,Jg:108,Kg:109,n:110,Lg:111,p:112,q:113,r:114,Mg:115,t:116,Ng:117,Og:118,Pg:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,Jc:127};function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.mc=b.comment;this.Rc=b;this.exports={};this.j=this.bindings={};a=this.id.indexOf(".");0>a?this.La=this.id:(this.Ma=this.id.substr(0,a),this.La=this.id.substr(a+1));this.l={ready:!1,Ta:!1,Xb:!1,R:!1,error:!1};this.Bb=null;this.l.error=!1;this.Kc=d||0;this.D=this.c=this.u=this.A=this.ab=null;u.push(this)}function qa(a,b,c){ra[a]&&b&&(ra[a][b]=c)}
function sa(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ua(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null}
function va(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<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function A(a,b){var c=B;b=C(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=z(g))&&k.binding&&a.ca(k.type,k.binding,g,k.value),m=l.length}}}}
function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}function ia(a){fa();ca();fa();var b=a[Symbol.iterator];return b?b.call(a):ga(a)}
function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var ja=ba,ka=["Math","log2"],la=0;la<ka.length-1;la++){var ma=ka[la];ma in ja||(ja[ma]={});ja=ja[ma]}var na=ka[ka.length-1],oa=ja[na],pa=oa?oa:function(a){return Math.log(a)/Math.LN2};pa!=oa&&null!=pa&&aa(ja,na,{configurable:!0,writable:!0,value:pa});
var qa={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},q={Hf:0,Hc:1,Jf:2,Kf:3,Lf:4,Mf:5,Nf:6,Of:7,kc:8,Pf:9,Ic:10,Qf:11,Rf:12,Jc:13,Sf:14,Tf:15,Uf:16,Vf:17,Wf:18,Xf:19,Yf:20,Zf:21,$f:22,ag:23,bg:24,cg:25,dg:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,
"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,jc:65,Gf:66,If:67,eg:68,E:69,fg:70,gg:71,hg:72,ig:73,jg:74,kg:75,lg:76,mg:77,ng:78,og:79,pg:80,Q:81,qg:82,rg:83,sg:84,tg:85,ug:86,vg:87,wg:88,xg:89,Uc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yg:97,zg:98,Ag:99,d:100,e:101,Bg:102,Cg:103,Dg:104,Eg:105,Hg:106,k:107,Ig:108,Jg:109,n:110,Kg:111,p:112,q:113,r:114,Lg:115,t:116,Mg:117,Ng:118,Og:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,Kc:127};function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.oc=b.comment;this.Tc=b;this.exports={};this.j=this.bindings={};a=this.id.indexOf(".");0>a?this.Ma=this.id:(this.Na=this.id.substr(0,a),this.Ma=this.id.substr(a+1));this.l={ready:!1,Ua:!1,ac:!1,S:!1,error:!1};this.Db=null;this.l.error=!1;this.Rc=d||0;this.C=this.c=this.u=this.A=this.bb=null;u.push(this)}function ra(a,b,c){sa[a]&&b&&(sa[a][b]=c)}
function ta(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function va(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null}
function wa(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<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function A(a,b){var c=B;b=C(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=z(g))&&k.binding&&a.ga(k.type,k.binding,g,k.value),m=l.length}}}}
function C(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=r.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.ca=function(a,b,c){switch(b){case "clear":return this.j[b]||(this.j[b]=c,c.onclick=function(a){return function(){a.j.print&&(a.j.print.value="")}}(this)),!0;case "print":return this.j[b]||(this.ab=this.j[b]=c,c.value="",this.X=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.B=function(a){this.X(a,this.La)}),!0;default:return!1}};h.log=function(){};h.X=function(){};
h.status=function(a){this.X(this.La+": "+a)};h.B=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function wa(a,b){a.l.error=!0;a.B(b)}function xa(a,b){b&&(a.l.ready?b():a.Bb=b);return a.l.ready}function D(a,b){a.l.error||(a.l.ready=!1!==b,a.l.ready&&(b=a.Bb,a.Bb=null,b&&b()))}function ya(a,b){a.l.Xb?(a.l.Ta=!1,a.l.Xb=!1):a.l.error?a.X(a.toString()+" error"):a.l.Ta=b}h.ha=function(){return this.l.R=!0};h.ga=function(a,b){b&&(this.l.R=!1);return!0};
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var ra=window?window.PCjs.Machines:{},u=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)});
h.ga=function(a,b,c){switch(b){case "clear":return this.j[b]||(this.j[b]=c,c.onclick=function(a){return function(){a.j.print&&(a.j.print.value="")}}(this)),!0;case "print":return this.j[b]||(this.bb=this.j[b]=c,c.value="",this.X=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.B=function(a){this.X(a,this.Ma)}),!0;default:return!1}};h.log=function(){};h.X=function(){};
h.status=function(a){this.X(this.Ma+": "+a)};h.B=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function xa(a,b){a.l.error=!0;a.B(b)}function ya(a,b){b&&(a.l.ready?b():a.Db=b);return a.l.ready}function D(a,b){a.l.error||(a.l.ready=!1!==b,a.l.ready&&(b=a.Db,a.Db=null,b&&b()))}function za(a,b){a.l.ac?(a.l.Ua=!1,a.l.ac=!1):a.l.error?a.X(a.toString()+" error"):a.l.Ua=b}h.ea=function(){return this.l.S=!0};h.da=function(a,b){b&&(this.l.S=!1);return!0};
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var sa=window?window.PCjs.Machines:{},u=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});
function E(a){var b=10,c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function za(a,b){var c="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function Aa(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
function F(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ba(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ca(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Ea(a){return a.replace(/[&<>"']/g,function(a){return Fa[a]})}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var Fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Ha={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function Ia(){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())}
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Aa(a,b){var c="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function Ba(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
function F(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ea(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Fa(a){return a.replace(/[&<>"']/g,function(a){return Ga[a]})}function Ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var Ga={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Ia={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function Ja(){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 G(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 Ja(a,b){var c,d={N:null,fa:null,Z:null,Y: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.Z=g.load;d.Y=g.exec;if(e=g.bytes)d.N=e;else if(e=g.words)for(d.N=Array(2*e.length),f=c=0;c<e.length;c++)d.N[f++]=e[c]&255,d.N[f++]=e[c]>>8&255;else if(e=g.data)for(d.N=Array(4*e.length),f=c=0;c<e.length;c++)d.N[f++]=e[c]&255,
d.N[f++]=e[c]>>8&255,d.N[f++]=e[c]>>16&255,d.N[f++]=e[c]>>24&255;else d.N=g;d.fa=g.symbols;d.N.length?1==d.N.length&&(v(d.N[0]),d=null):(v("Empty resource: "+a),d=null)}catch(k){v("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)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.N=e)}return d}
function Ka(){return"http://"+(window?window.location.host:"www.pcjs.org")}function La(){if(null==Ma){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}Ma=a}return Ma}function Na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Pa(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 Qa(a){if(!Ra){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," "))}Ra=c}return Ra[a]}
function Sa(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 Ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ua(a){Va.init.push(a)}function Wa(a){if(Xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ya(a){!Xa&&a?(Xa=!0,Za&&$a("init"),ab&&$a("show")):Xa=a}function $a(a){Va[a]&&Wa(Va[a])}var Ra=null,Va={init:[],show:[],exit:[]},Za=!1,ab=!1,Xa=!0,Ma=null;
Ta("onload",function(){Za=!0;Wa(Va.init)});Ta("onpageshow",function(){ab=!0;Wa(Va.show)});Ta(Pa("Opera")||Pa("iOS")?"onunload":"onbeforeunload",function(){Wa(Va.exit)});var bb="undefined"!==typeof ArrayBuffer,B="pdp11",cb="PDPjs",db=!0,eb=!0,fb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},B="pdp11",cb="PDPjs",eb=db=!0;
function gb(a,b){r.call(this,"Panel",a,0,512);this.i=this.m=0;this.C=b;this.ja=this.g=this.b=this.h=0;this.s=this.v=this.o=!1;this.w=hb;this.f={};this.a={START:[1,1,!0,!1,this.md],STEP:[1,1,!1,!1,this.nd],ENABLE:[1,1,!1,!1,this.hd],CONT:[1,1,!0,!1,this.fd],DEP:[0,0,!0,!1,this.gd],EXAM:[1,1,!0,!1,this.jd],LOAD:[1,1,!0,!1,this.ld],TEST:[0,0,!0,!1,this.kd]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.od,a];this.D=this.c=this.u=this.A=null;D(this)}n(gb,r);h=gb.prototype;h.reset=function(){this.stop()};
h.ca=function(a,b,c,d){if(this.A&&this.A.ca(a,b,c,d)||this.c&&this.c.ca(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.j[b]=c,this.m++,!0;default:return"led"==a||"rled"==a?(this.j[b]=c,this.f[b]=d?1:0,this.m++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.j[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ib(a,
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){jb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ib(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){jb(a,b)}}(this,b),!0):r.prototype.ca.call(this,a,b,c,d)}};h.aa=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;kb(b,this,lb);mb(b,this.reset.bind(this));nb(this);ob(this)};h.ha=function(a,b){b||(this.C&&pb(),this.reset());return!0};h.ga=function(){return!0};
function qb(a,b,c){if(a=a.j[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function nb(a,b){for(var c in a.f)qb(a,c,null!=b?b:a.f[c])}function rb(a,b,c){if(a=a.j[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ob(a){for(var b in a.a)rb(a,b,a.a[b][1])}function sb(a,b,c,d){a.j[b]&&(void 0===c&&(wa(a,"Value for "+b+" is invalid"),H(a.c)),c=8==(a.D&&a.D.h||8)?za(c,d):Aa(c,d),a.j[b].textContent!=c&&(a.j[b].textContent=c))}
function ib(a,b){var c=a.a[b];rb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=tb&&(a.s=b==ub,a.v=b==vb)}function jb(a,b){var c=a.a[b];c[2]&&c[3]&&(rb(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.u.reset(),wb(a),this.a[xb]&&this.a[xb][1]&&yb(this.c))};h.nd=function(){};h.hd=function(a){a||H(this.c)};
h.fd=function(a){if(!a&&!this.c.l.P)if(this.a[xb]&&this.a[xb][1])yb(this.c);else{a=this.D;var b;if(b=a)a.l.Ta&&(a.l.Xb=!0),b=!a.l.Ta;if(b)ya(a,!0),a.f(0,null),ya(a,!1);else try{var c=this.c.Qb(1);0<c&&(zb(this.c,c),Ab(this.c,c,!0),Bb(this.c,c))}catch(d){"number"!=typeof d&&wa(this.c,d.stack||d.message)}this.stop();this.A&&Cb(this.A)}};h.gd=function(a){if(a&&!this.c.l.P)if(this.s&&Db(this),a=Eb(this,this.b),this.w==hb)Fb(this.u,this.ja,a);else{var b=this.c,c=this.ja;b.bb++;b.u.yb(Gb(b,c,4),a);b.bb--}};
h.jd=function(a){if(!a&&!this.c.l.P){this.v&&Db(this);if(this.w==hb)a=Hb(this.u,this.ja);else{a=this.c;var b=this.ja;a.bb++;b=a.u.xb(Gb(a,b,2));a.bb--;a=b}Eb(this,a)}};h.ld=function(a){a||this.c.l.P||Ib(this,this.b)};h.kd=function(a){if(a)this.o=!0,nb(this,!0);else if(this.o=!1,nb(this),void 0!==this.j[Jb]){for(a=this.b=0;22>a;a++)this.a["S"+a][1]=0&1<<a?1:0;ob(this)}};h.od=function(a,b){this.b=a?this.b|1<<b:this.b&~(1<<b)};
function Db(a){var b=1140>=a.c.pa?8:16,c=65472<=a.ja&&a.ja<65472+b,b=c?1:2,c=c?15:a.u.v;a.a[tb]&&a.a[tb][1]||(b=-b);Ib(a,a.ja&~c|a.ja+b&c)}function Ib(a,b){a.ja=b&a.u.v;b=a.ja;for(var c=0;22>c;c++)Kb(a,"A"+c,b&1<<c)}function Eb(a,b){a.g=b&65535;b=a.g;for(var c=0;16>c;c++)Kb(a,"D"+c,b&1<<c);return a.g}function Kb(a,b,c){a.f[b]=c;a.o||qb(a,b,c)}h.stop=function(){Ib(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.Fe=function(a){this.h=a};function pb(){for(var a=C(document,B,"panel"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=ua(d.id);e||(e=new gb(d,!0));A(e,c)}}var hb=7,Jb="S0",ub="DEP",xb="ENABLE",vb="EXAM",tb="STEP",Lb={},lb=(Lb[65400]=[null,null,gb.prototype.td,gb.prototype.Fe,"CNSW"],Lb);Ua(pb);
function Mb(a,b,c){r.call(this,"Bus",a,0,16);this.c=b;this.D=c;this.S=+a.busWidth||16;this.F=1<<this.S;this.v=this.F-1;this.g=Nb;this.h=Math.log2(this.g);this.K=this.g>>2;this.f=this.g-1;this.s=this.F/this.g|0;this.L=this.s-1;this.Ha=[];this.m=0;this.o=!1;this.G=[];this.Vc=[Ob,Pb,Qb,Rb];this.a=this.b=[];this.C=this.w=this.i=this.H=this.I=0;a=new I(this);Sb(a);this.a=Array(this.s);this.b=Array(this.s);for(b=0;b<this.s;b++)this.a[b]=this.b[b]=a;this.C=this.F-Nb;Tb(this,this.C,Nb,Ub,this);this.I=this.H=
(this.C&this.v)>>>this.h;this.w=0;this.i=this.v;D(this)}n(Mb,r);function Vb(a,b){if(b!=a.w){for(var c=0;c<a.s;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-=Nb,a.I=(b&a.i)>>>a.h,a.b[a.I]=a.a[a.H])}}h=Mb.prototype;h.reset=function(){for(var a=0;a<this.G.length;a++)this.G[a]();Vb(this,16)};h.ha=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ga=function(a){return a?this.save():!0};h.save=function(){var a=new J(this);a.set(0,Wb(this));return a.data()};
function Ka(a,b){var c,d={O:null,ja:null,aa:null,Z: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.aa=g.load;d.Z=g.exec;if(e=g.bytes)d.O=e;else if(e=g.words)for(d.O=Array(2*e.length),f=c=0;c<e.length;c++)d.O[f++]=e[c]&255,d.O[f++]=e[c]>>8&255;else if(e=g.data)for(d.O=Array(4*e.length),f=c=0;c<e.length;c++)d.O[f++]=e[c]&255,
d.O[f++]=e[c]>>8&255,d.O[f++]=e[c]>>16&255,d.O[f++]=e[c]>>24&255;else d.O=g;d.ja=g.symbols;d.O.length?1==d.O.length&&(v(d.O[0]),d=null):(v("Empty resource: "+a),d=null)}catch(k){v("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)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.O=e)}return d}
function La(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ma(){if(null==Na){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}Na=a}return Na}function Oa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Pa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Qa(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 Ra(a){if(!Sa){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," "))}Sa=c}return Sa[a]}
function Ta(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 Ua(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Va(a){Wa.init.push(a)}function Xa(a){if(Ya)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Za(a){!Ya&&a?(Ya=!0,$a&&ab("init"),bb&&ab("show")):Ya=a}function ab(a){Wa[a]&&Xa(Wa[a])}var Sa=null,Wa={init:[],show:[],exit:[]},$a=!1,bb=!1,Ya=!0,Na=null;
Ua("onload",function(){$a=!0;Xa(Wa.init)});Ua("onpageshow",function(){bb=!0;Xa(Wa.show)});Ua(Qa("Opera")||Qa("iOS")?"onunload":"onbeforeunload",function(){Xa(Wa.exit)});var cb="undefined"!==typeof ArrayBuffer,B="pdp11",db="PDPjs",eb=!0,fb=!0,gb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},B="pdp11",db="PDPjs",fb=eb=!0;
function hb(a,b){r.call(this,"Panel",a,0,512);this.i=this.m=0;this.D=b;this.la=this.g=this.b=this.h=0;this.s=this.v=this.o=!1;this.w=ib;this.f={};this.a={START:[1,1,!0,!1,this.md],STEP:[1,1,!1,!1,this.nd],ENABLE:[1,1,!1,!1,this.hd],CONT:[1,1,!0,!1,this.fd],DEP:[0,0,!0,!1,this.gd],EXAM:[1,1,!0,!1,this.jd],LOAD:[1,1,!0,!1,this.ld],TEST:[0,0,!0,!1,this.kd]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.od,a];this.C=this.c=this.u=this.A=null;D(this)}n(hb,r);h=hb.prototype;h.reset=function(){this.stop()};
h.ga=function(a,b,c,d){if(this.A&&this.A.ga(a,b,c,d)||this.c&&this.c.ga(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.j[b]=c,this.m++,!0;default:return"led"==a||"rled"==a?(this.j[b]=c,this.f[b]=d?1:0,this.m++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.j[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){jb(a,
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){kb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){jb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){kb(a,b)}}(this,b),!0):r.prototype.ga.call(this,a,b,c,d)}};h.ca=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.C=d;lb(b,this,mb);nb(b,this.reset.bind(this));ob(this);pb(this)};h.ea=function(a,b){b||(this.D&&qb(),this.reset());return!0};h.da=function(){return!0};
function rb(a,b,c){if(a=a.j[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ob(a,b){for(var c in a.f)rb(a,c,null!=b?b:a.f[c])}function sb(a,b,c){if(a=a.j[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function pb(a){for(var b in a.a)sb(a,b,a.a[b][1])}function tb(a,b,c,d){a.j[b]&&(void 0===c&&(xa(a,"Value for "+b+" is invalid"),H(a.c)),c=8==(a.C&&a.C.h||8)?Aa(c,d):Ba(c,d),a.j[b].textContent!=c&&(a.j[b].textContent=c))}
function jb(a,b){var c=a.a[b];sb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=ub&&(a.s=b==vb,a.v=b==wb)}function kb(a,b){var c=a.a[b];c[2]&&c[3]&&(sb(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.N||(a=this.c,a.u.reset(),xb(a),this.a[yb]&&this.a[yb][1]&&zb(this.c))};h.nd=function(){};h.hd=function(a){a||H(this.c)};
h.fd=function(a){if(!a&&!this.c.l.N)if(this.a[yb]&&this.a[yb][1])zb(this.c);else{a=this.C;var b;if(b=a)a.l.Ua&&(a.l.ac=!0),b=!a.l.Ua;if(b)za(a,!0),a.f(0,null),za(a,!1);else try{var c=this.c.Sb(1);0<c&&(Ab(this.c,c),Bb(this.c,c,!0),Cb(this.c,c))}catch(d){"number"!=typeof d&&xa(this.c,d.stack||d.message)}this.stop();this.A&&Db(this.A)}};h.gd=function(a){if(a&&!this.c.l.N)if(this.s&&Eb(this),a=Fb(this,this.b),this.w==ib)Gb(this.u,this.la,a);else{var b=this.c,c=this.la;b.cb++;b.u.Ab(Hb(b,c,4),a);b.cb--}};
h.jd=function(a){if(!a&&!this.c.l.N){this.v&&Eb(this);if(this.w==ib)a=Ib(this.u,this.la);else{a=this.c;var b=this.la;a.cb++;b=a.u.zb(Hb(a,b,2));a.cb--;a=b}Fb(this,a)}};h.ld=function(a){a||this.c.l.N||Jb(this,this.b)};h.kd=function(a){if(a)this.o=!0,ob(this,!0);else if(this.o=!1,ob(this),void 0!==this.j[Kb]){for(a=this.b=0;22>a;a++)this.a["S"+a][1]=0&1<<a?1:0;pb(this)}};h.od=function(a,b){this.b=a?this.b|1<<b:this.b&~(1<<b)};
function Eb(a){var b=1140>=a.c.qa?8:16,c=65472<=a.la&&a.la<65472+b,b=c?1:2,c=c?15:a.u.v;a.a[ub]&&a.a[ub][1]||(b=-b);Jb(a,a.la&~c|a.la+b&c)}function Jb(a,b){a.la=b&a.u.v;b=a.la;for(var c=0;22>c;c++)Lb(a,"A"+c,b&1<<c)}function Fb(a,b){a.g=b&65535;b=a.g;for(var c=0;16>c;c++)Lb(a,"D"+c,b&1<<c);return a.g}function Lb(a,b,c){a.f[b]=c;a.o||rb(a,b,c)}h.stop=function(){Jb(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.Fe=function(a){this.h=a};function qb(){for(var a=C(document,B,"panel"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=va(d.id);e||(e=new hb(d,!0));A(e,c)}}var ib=7,Kb="S0",vb="DEP",yb="ENABLE",wb="EXAM",ub="STEP",Mb={},mb=(Mb[65400]=[null,null,hb.prototype.td,hb.prototype.Fe,"CNSW"],Mb);Va(qb);
function Nb(a,b,c){r.call(this,"Bus",a,0,16);this.c=b;this.C=c;this.R=+a.busWidth||16;this.F=1<<this.R;this.v=this.F-1;this.g=Ob;this.h=Math.log2(this.g);this.K=this.g>>2;this.f=this.g-1;this.s=this.F/this.g|0;this.L=this.s-1;this.Ia=[];this.m=0;this.o=!1;this.G=[];this.Vc=[Pb,Qb,Rb,Sb];this.a=this.b=[];this.D=this.w=this.i=this.H=this.I=0;a=new I(this);Tb(a);this.a=Array(this.s);this.b=Array(this.s);for(b=0;b<this.s;b++)this.a[b]=this.b[b]=a;this.D=this.F-Ob;Ub(this,this.D,Ob,Vb,this);this.I=this.H=
(this.D&this.v)>>>this.h;this.w=0;this.i=this.v;D(this)}n(Nb,r);function Wb(a,b){if(b!=a.w){for(var c=0;c<a.s;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-=Ob,a.I=(b&a.i)>>>a.h,a.b[a.I]=a.a[a.H])}}h=Nb.prototype;h.reset=function(){for(var a=0;a<this.G.length;a++)this.G[a]();Wb(this,16)};h.ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.da=function(a){return a?this.save():!0};h.save=function(){var a=new J(this);a.set(0,Xb(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.K){for(var e=0,f=Array(this.K),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Tb(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.Sa)return l.vb+=l.Sa-f,l.Sa=f,!0;if(f>=l.Sa+l.vb){p=l.size-(f-m);p>g&&(p=g);l.vb=f-l.Sa+p;f=m+a.g;g-=p;k++;continue}}return Xb(Yb,f,g)}f=new I(a,f,p,a.g,d,e);Sb(f,l);a.a[k++]=f;f=m+a.g;g-=p}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Zb[d]+" at "+za(b)),!0):Xb($b,b,c)}h.Ec=function(a){return this.b[(a&this.i)>>>this.h].hb(a&this.f,a)};
h.xb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return eb||b!=this.f?this.b[c].V(b,a):this.b[c++].hb(b,a)|this.b[c&this.L].hb(0,a+1)<<8};h.Fc=function(a,b){this.b[(a&this.i)>>>this.h].kb(a&this.f,b,a)};h.yb=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;eb||c!=this.f?this.b[d].nb(c,b,a):(this.b[d++].kb(c,b&255,a),this.b[d&this.L].kb(0,b>>8&255,a+1))};function ac(a,b){return a.a[(b&a.v)>>>a.h]}
function Hb(a,b){var c;a.o=!1;a.m++;var d=b&a.f,e=ac(a,b);eb||d!=a.f?c=e.D(d,b):c=e.i(d,b)|ac(a,b+1).i(0,b+1)<<8;a.m--;return c}function bc(a,b,c){a.o=!1;a.m++;ac(a,b).j(b&a.f,c&255,b);a.m--}function Fb(a,b,c){a.o=!1;a.m++;var d=b&a.f,e=ac(a,b);eb||d!=a.f?e.m(d,c&65535,b):(e.j(d,c&255,b),ac(a,b+1).j(0,c>>8&255,b+1));a.m--}
function Wb(a){for(var b=0,c=[],d=0;d<a.s;d++){var e=a.a[d];if(e.xa||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 cc(a){for(var b=dc,c=0,d=0;d<a.a.length;d++){var e=a.a[d];e.type==b&&(c=e.Sa+e.vb)}return c}
function ec(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var p=b&gc;if(void 0!==a.Ha[p])return v("I/O address already registered: "+Aa(b,8,!0)),!1;var t=l||"unknown";t&&0<=m&&(t+=m++);a.Ha[p]=[d,e,f,g,t,k||16,!1]}return!0}
function kb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.c.pa)){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),!ec(a,f,f,k,l,m,p,g[7]||b.Kc,t||b.La))return!1}}return!0}
function mb(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 hc(a){var b=a.o;a.o=!1;return b}function Xb(a,b,c){v("Memory block error ("+a+": "+Aa(b)+","+Aa(c)+")");return!1}var Nb=8192,gc=Nb-1,Yb=1,$b=2;function Ob(a,b){var c=-1,d=this.controller,e=d.Ha[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.Ha[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 Pb(a,b,c){var d=!1,e=this.controller,f=e.Ha[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.Ha[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 Qb(a,b){var c=-1,d=this.controller;a=d.Ha[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 Rb(a,b,c){var d=!1,e=this.controller;a=e.Ha[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){r.call(this,"Device",a,0,256);this.a={Bg:0,bc:-1}}n(M,r);h=M.prototype;h.aa=function(a,b,c,d){this.u=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.bc=ic(c,function(){e.a.fb|=128;e.a.fb&64&&N(e.c,e.a.Ja);e.A&&Cb(e.A,1);jc(e.c,e.a.bc,1E3/60)});this.a.Ja=kc(c,64,6,524288);kb(b,this,lc);mb(b,this.reset.bind(this));D(this)};
h.reset=function(){this.a.fb=128;jc(this.c,this.a.bc,1E3/60,!0)};h.Ad=function(){return this.a.fb};h.Me=function(a){this.a.fb=a&192;this.a.fb&64||(a=this.a.Ja)&&mc(this.c,a)};h.Cd=function(){var a=this.c,b=a.H;b&57344||(b=b&-3199|a.Oa<<5|a.Pa<<1);return b};h.Oe=function(a){nc(this.c,a&-129|this.c.H&128)};h.Dd=function(){var a=this.c;a.H&57344||(a.cb=a.F>>16&65535);a=a.cb;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ed=function(){var a=this.c;a.H&57344||(a.eb=a.F&65535);return a.eb};h.Fd=function(){return this.c.la};
h.Pe=function(a){var b=this.c;1170>b.pa&&(a&=-49);b.la!=a&&(b.la=a,b.Ba=a&16?4194303:262143,oc(b))};h.me=function(a){a=a>>1&63;var b=this.c.Ga[a>>1];return a&1?b>>16:b&65535};h.yf=function(a,b){b=b>>1&63;var c=b>>1;this.c.Ga[c]=b&1?this.c.Ga[c]&65535|(a&63)<<16:this.c.Ga[c]&-65536|a&65534};h.fe=function(a){return this.c.s[1][a>>1&7]};h.rf=function(a,b){this.c.s[1][b>>1&7]=a&65295};h.de=function(a){return this.c.s[1][(a>>1&7)+8]};h.pf=function(a,b){this.c.s[1][(b>>1&7)+8]=a&65295};
h.ee=function(a){return this.c.I[1][a>>1&7]};h.qf=function(a,b){b=b>>1&7;this.c.I[1][b]=a;this.c.s[1][b]&=65295};h.ce=function(a){return this.c.I[1][(a>>1&7)+8]};h.nf=function(a,b){b=(b>>1&7)+8;this.c.I[1][b]=a;this.c.s[1][b]&=65295};h.zd=function(a){return this.c.s[0][a>>1&7]};h.Le=function(a,b){this.c.s[0][b>>1&7]=a&65295};h.xd=function(a){return this.c.s[0][(a>>1&7)+8]};h.Je=function(a,b){this.c.s[0][(b>>1&7)+8]=a&65295};h.yd=function(a){return this.c.I[0][a>>1&7]};
h.Ke=function(a,b){b=b>>1&7;this.c.I[0][b]=a;this.c.s[0][b]&=65295};h.wd=function(a){return this.c.I[0][(a>>1&7)+8]};h.Ie=function(a,b){b=(b>>1&7)+8;this.c.I[0][b]=a;this.c.s[0][b]&=65295};h.le=function(a){return this.c.s[3][a>>1&7]};h.xf=function(a,b){this.c.s[3][b>>1&7]=a&65295};h.je=function(a){return this.c.s[3][(a>>1&7)+8]};h.vf=function(a,b){this.c.s[3][(b>>1&7)+8]=a&65295};h.ke=function(a){return this.c.I[3][a>>1&7]};h.wf=function(a,b){b=b>>1&7;this.c.I[3][b]=a;this.c.s[3][b]&=65295};
h.ie=function(a){return this.c.I[3][(a>>1&7)+8]};h.uf=function(a,b){b=(b>>1&7)+8;this.c.I[3][b]=a;this.c.s[3][b]&=65295};h.ib=function(a){a&=7;return this.c.i&2048?this.c.qa[a]:this.c.b[a]};h.lb=function(a,b){b&=7;this.c.i&2048?this.c.qa[b]=a:this.c.b[b]=a};h.Kd=function(){return this.c.i&49152?this.c.W[0]:this.c.b[6]};h.Ue=function(a){this.c.i&49152?this.c.W[0]=a:this.c.b[6]=a};h.Nd=function(){return this.c.b[7]};h.Xe=function(a){this.c.b[7]=a};
h.jb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.qa[a]};h.mb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.qa[b]=a};h.Ld=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.W[1]};h.Ve=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.W[1]=a};h.Md=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.W[3]};h.We=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.W[3]=a};h.vd=function(a){return this.c.tb[a-65504>>1]};
h.He=function(a,b){this.c.tb[b-65504>>1]=a};h.zc=function(a){return 65520==a?(cc(this.u)>>6)-1:0};h.Cc=function(){};h.he=function(){return 1};h.tf=function(){};h.ud=function(){return this.c.G};h.Ge=function(){this.c.G=0};h.Bd=function(){return this.c.sb};h.Ne=function(a,b){b&1||(a&=255);this.c.sb=a};h.Gd=function(a,b){return b?0:this.c.Ra};h.Qe=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.Ra=a};h.ge=function(a,b){return b?0:this.c.Fa&65280};
h.sf=function(a){this.c.Fa=a|255};h.Jd=function(){return pc(this.c)};h.Te=function(a){qc(this.c,a)};h.Bc=function(){};
var O={},lc=(O[61568]=[null,null,M.prototype.me,M.prototype.yf,"UNIMAP",64,1170],O[62592]=[null,null,M.prototype.fe,M.prototype.rf,"SIPDR",8,1145,64],O[62608]=[null,null,M.prototype.de,M.prototype.pf,"SDPDR",8,1145,64],O[62624]=[null,null,M.prototype.ee,M.prototype.qf,"SIPAR",8,1145,64],O[62640]=[null,null,M.prototype.ce,M.prototype.nf,"SDPAR",8,1145,64],O[62656]=[null,null,M.prototype.zd,M.prototype.Le,"KIPDR",8,1140,64],O[62672]=[null,null,M.prototype.xd,M.prototype.Je,"KDPDR",8,1145,64],O[62688]=
[null,null,M.prototype.yd,M.prototype.Ke,"KIPAR",8,1140,64],O[62704]=[null,null,M.prototype.wd,M.prototype.Ie,"KDPAR",8,1145,64],O[62798]=[null,null,M.prototype.Fd,M.prototype.Pe,"MMR3",1,1145,64],O[65382]=[null,null,M.prototype.Ad,M.prototype.Me,"LKS"],O[65402]=[null,null,M.prototype.Cd,M.prototype.Oe,"MMR0",1,1140,64],O[65404]=[null,null,M.prototype.Dd,M.prototype.Bc,"MMR1",1,1145,64],O[65406]=[null,null,M.prototype.Ed,M.prototype.Bc,"MMR2",1,1140,64],O[65408]=[null,null,M.prototype.le,M.prototype.xf,
function Ub(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.Ta)return l.wb+=l.Ta-f,l.Ta=f,!0;if(f>=l.Ta+l.wb){p=l.size-(f-m);p>g&&(p=g);l.wb=f-l.Ta+p;f=m+a.g;g-=p;k++;continue}}return Yb(Zb,f,g)}f=new I(a,f,p,a.g,d,e);Tb(f,l);a.a[k++]=f;f=m+a.g;g-=p}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+$b[d]+" at "+Aa(b)),!0):Yb(ac,b,c)}h.Fc=function(a){return this.b[(a&this.i)>>>this.h].hb(a&this.f,a)};
h.zb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return fb||b!=this.f?this.b[c].V(b,a):this.b[c++].hb(b,a)|this.b[c&this.L].hb(0,a+1)<<8};h.Gc=function(a,b){this.b[(a&this.i)>>>this.h].kb(a&this.f,b,a)};h.Ab=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;fb||c!=this.f?this.b[d].nb(c,b,a):(this.b[d++].kb(c,b&255,a),this.b[d&this.L].kb(0,b>>8&255,a+1))};function bc(a,b){return a.a[(b&a.v)>>>a.h]}
function Ib(a,b){var c;a.o=!1;a.m++;var d=b&a.f,e=bc(a,b);fb||d!=a.f?c=e.C(d,b):c=e.i(d,b)|bc(a,b+1).i(0,b+1)<<8;a.m--;return c}function cc(a,b,c){a.o=!1;a.m++;bc(a,b).j(b&a.f,c&255,b);a.m--}function Gb(a,b,c){a.o=!1;a.m++;var d=b&a.f,e=bc(a,b);fb||d!=a.f?e.m(d,c&65535,b):(e.j(d,c&255,b),bc(a,b+1).j(0,c>>8&255,b+1));a.m--}
function Xb(a){for(var b=0,c=[],d=0;d<a.s;d++){var e=a.a[d];if(e.xa||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 dc(a){for(var b=ec,c=0,d=0;d<a.a.length;d++){var e=a.a[d];e.type==b&&(c=e.Ta+e.wb)}return c}
function gc(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var p=b&hc;if(void 0!==a.Ia[p])return v("I/O address already registered: "+Ba(b,8,!0)),!1;var t=l||"unknown";t&&0<=m&&(t+=m++);a.Ia[p]=[d,e,f,g,t,k||16,!1]}return!0}
function lb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.c.qa)){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),!gc(a,f,f,k,l,m,p,g[7]||b.Rc,t||b.Ma))return!1}}return!0}
function nb(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 ic(a){var b=a.o;a.o=!1;return b}function Yb(a,b,c){v("Memory block error ("+a+": "+Ba(b)+","+Ba(c)+")");return!1}var Ob=8192,hc=Ob-1,Zb=1,ac=2;function Pb(a,b){var c=-1,d=this.controller,e=d.Ia[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.Ia[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 Qb(a,b,c){var d=!1,e=this.controller,f=e.Ia[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.Ia[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 Rb(a,b){var c=-1,d=this.controller;a=d.Ia[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 Sb(a,b,c){var d=!1,e=this.controller;a=e.Ia[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){r.call(this,"Device",a,0,256);this.a={za:128,fc:-1}}n(M,r);h=M.prototype;h.ca=function(a,b,c,d){this.u=b;this.A=a;this.c=c;this.C=d;var e=this;this.a.fc=jc(c,function(){e.a.za|=128;e.a.za&64&&N(e.c,e.a.Ka);e.A&&Db(e.A,1);kc(e.c,e.a.fc,1E3/60)});this.a.Ka=lc(c,64,6,524288);lb(b,this,mc);nb(b,this.reset.bind(this));D(this)};
h.ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.da=function(a){return a?this.save():!0};h.reset=function(){this.a.za=128;kc(this.c,this.a.fc,1E3/60,!0)};h.save=function(){var a=new J(this);a.set(0,[this.a.za]);return a.data()};h.restore=function(a){a=ia(a[0]);this.a.za=a.next().value;return!0};h.Ad=function(){return this.a.za};h.Me=function(a){this.a.za=a&192;this.a.za&64||(a=this.a.Ka)&&nc(this.c,a)};
h.Cd=function(){var a=this.c,b=a.H;b&57344||(b=b&-3199|a.Pa<<5|a.Qa<<1);return b};h.Oe=function(a){oc(this.c,a&-129|this.c.H&128)};h.Dd=function(){var a=this.c;a.H&57344||(a.eb=a.F>>16&65535);a=a.eb;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ed=function(){var a=this.c;a.H&57344||(a.fb=a.F&65535);return a.fb};h.Fd=function(){return this.c.na};h.Pe=function(a){var b=this.c;1170>b.qa&&(a&=-49);b.na!=a&&(b.na=a,b.Ca=a&16?4194303:262143,pc(b))};
h.me=function(a){a=a>>1&63;var b=this.c.Ha[a>>1];return a&1?b>>16:b&65535};h.yf=function(a,b){b=b>>1&63;var c=b>>1;this.c.Ha[c]=b&1?this.c.Ha[c]&65535|(a&63)<<16:this.c.Ha[c]&-65536|a&65534};h.fe=function(a){return this.c.s[1][a>>1&7]};h.rf=function(a,b){this.c.s[1][b>>1&7]=a&65295};h.de=function(a){return this.c.s[1][(a>>1&7)+8]};h.pf=function(a,b){this.c.s[1][(b>>1&7)+8]=a&65295};h.ee=function(a){return this.c.I[1][a>>1&7]};h.qf=function(a,b){b=b>>1&7;this.c.I[1][b]=a;this.c.s[1][b]&=65295};
h.ce=function(a){return this.c.I[1][(a>>1&7)+8]};h.nf=function(a,b){b=(b>>1&7)+8;this.c.I[1][b]=a;this.c.s[1][b]&=65295};h.zd=function(a){return this.c.s[0][a>>1&7]};h.Le=function(a,b){this.c.s[0][b>>1&7]=a&65295};h.xd=function(a){return this.c.s[0][(a>>1&7)+8]};h.Je=function(a,b){this.c.s[0][(b>>1&7)+8]=a&65295};h.yd=function(a){return this.c.I[0][a>>1&7]};h.Ke=function(a,b){b=b>>1&7;this.c.I[0][b]=a;this.c.s[0][b]&=65295};h.wd=function(a){return this.c.I[0][(a>>1&7)+8]};
h.Ie=function(a,b){b=(b>>1&7)+8;this.c.I[0][b]=a;this.c.s[0][b]&=65295};h.le=function(a){return this.c.s[3][a>>1&7]};h.xf=function(a,b){this.c.s[3][b>>1&7]=a&65295};h.je=function(a){return this.c.s[3][(a>>1&7)+8]};h.vf=function(a,b){this.c.s[3][(b>>1&7)+8]=a&65295};h.ke=function(a){return this.c.I[3][a>>1&7]};h.wf=function(a,b){b=b>>1&7;this.c.I[3][b]=a;this.c.s[3][b]&=65295};h.ie=function(a){return this.c.I[3][(a>>1&7)+8]};h.uf=function(a,b){b=(b>>1&7)+8;this.c.I[3][b]=a;this.c.s[3][b]&=65295};
h.ib=function(a){a&=7;return this.c.i&2048?this.c.ra[a]:this.c.b[a]};h.lb=function(a,b){b&=7;this.c.i&2048?this.c.ra[b]=a:this.c.b[b]=a};h.Kd=function(){return this.c.i&49152?this.c.ia[0]:this.c.b[6]};h.Ue=function(a){this.c.i&49152?this.c.ia[0]=a:this.c.b[6]=a};h.Nd=function(){return this.c.b[7]};h.Xe=function(a){this.c.b[7]=a};h.jb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.ra[a]};h.mb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.ra[b]=a};
h.Ld=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.ia[1]};h.Ve=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ia[1]=a};h.Md=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.ia[3]};h.We=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ia[3]=a};h.vd=function(a){return this.c.ub[a-65504>>1]};h.He=function(a,b){this.c.ub[b-65504>>1]=a};h.Ac=function(a){return 65520==a?(dc(this.u)>>6)-1:0};h.Dc=function(){};h.he=function(){return 1};h.tf=function(){};h.ud=function(){return this.c.G};
h.Ge=function(){this.c.G=0};h.Bd=function(){return this.c.tb};h.Ne=function(a,b){b&1||(a&=255);this.c.tb=a};h.Gd=function(a,b){return b?0:this.c.Sa};h.Qe=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.Sa=a};h.ge=function(a,b){return b?0:this.c.Ga&65280};h.sf=function(a){this.c.Ga=a|255};h.Jd=function(){return qc(this.c)};h.Te=function(a){rc(this.c,a)};h.Cc=function(){};
var O={},mc=(O[61568]=[null,null,M.prototype.me,M.prototype.yf,"UNIMAP",64,1170],O[62592]=[null,null,M.prototype.fe,M.prototype.rf,"SIPDR",8,1145,64],O[62608]=[null,null,M.prototype.de,M.prototype.pf,"SDPDR",8,1145,64],O[62624]=[null,null,M.prototype.ee,M.prototype.qf,"SIPAR",8,1145,64],O[62640]=[null,null,M.prototype.ce,M.prototype.nf,"SDPAR",8,1145,64],O[62656]=[null,null,M.prototype.zd,M.prototype.Le,"KIPDR",8,1140,64],O[62672]=[null,null,M.prototype.xd,M.prototype.Je,"KDPDR",8,1145,64],O[62688]=
[null,null,M.prototype.yd,M.prototype.Ke,"KIPAR",8,1140,64],O[62704]=[null,null,M.prototype.wd,M.prototype.Ie,"KDPAR",8,1145,64],O[62798]=[null,null,M.prototype.Fd,M.prototype.Pe,"MMR3",1,1145,64],O[65382]=[null,null,M.prototype.Ad,M.prototype.Me,"LKS"],O[65402]=[null,null,M.prototype.Cd,M.prototype.Oe,"MMR0",1,1140,64],O[65404]=[null,null,M.prototype.Dd,M.prototype.Cc,"MMR1",1,1145,64],O[65406]=[null,null,M.prototype.Ed,M.prototype.Cc,"MMR2",1,1140,64],O[65408]=[null,null,M.prototype.le,M.prototype.xf,
"UIPDR",8,1140,64],O[65424]=[null,null,M.prototype.je,M.prototype.vf,"UDPDR",8,1145,64],O[65440]=[null,null,M.prototype.ke,M.prototype.wf,"UIPAR",8,1140,64],O[65456]=[null,null,M.prototype.ie,M.prototype.uf,"UDPAR",8,1145,64],O[65472]=[null,null,M.prototype.ib,M.prototype.lb,"R0SET0"],O[65473]=[null,null,M.prototype.ib,M.prototype.lb,"R1SET0"],O[65474]=[null,null,M.prototype.ib,M.prototype.lb,"R2SET0"],O[65475]=[null,null,M.prototype.ib,M.prototype.lb,"R3SET0"],O[65476]=[null,null,M.prototype.ib,
M.prototype.lb,"R4SET0"],O[65477]=[null,null,M.prototype.ib,M.prototype.lb,"R5SET0"],O[65478]=[null,null,M.prototype.Kd,M.prototype.Ue,"R6KERNEL"],O[65479]=[null,null,M.prototype.Nd,M.prototype.Xe,"R7KERNEL"],O[65480]=[null,null,M.prototype.jb,M.prototype.mb,"R0SET1",1,1145],O[65481]=[null,null,M.prototype.jb,M.prototype.mb,"R1SET1",1,1145],O[65482]=[null,null,M.prototype.jb,M.prototype.mb,"R2SET1",1,1145],O[65483]=[null,null,M.prototype.jb,M.prototype.mb,"R3SET1",1,1145],O[65484]=[null,null,M.prototype.jb,
M.prototype.mb,"R4SET1",1,1145],O[65485]=[null,null,M.prototype.jb,M.prototype.mb,"R5SET1",1,1145],O[65486]=[null,null,M.prototype.Ld,M.prototype.Ve,"R6SUPER",1,1145],O[65487]=[null,null,M.prototype.Md,M.prototype.We,"R6USER",1,1145],O[65504]=[null,null,M.prototype.vd,M.prototype.He,"CTRL",8,1170],O[65520]=[null,null,M.prototype.zc,M.prototype.Cc,"LSIZE",1,1170],O[65522]=[null,null,M.prototype.zc,M.prototype.Cc,"HSIZE",1,1170],O[65524]=[null,null,M.prototype.he,M.prototype.tf,"SYSID",1,1170],O[65526]=
M.prototype.mb,"R4SET1",1,1145],O[65485]=[null,null,M.prototype.jb,M.prototype.mb,"R5SET1",1,1145],O[65486]=[null,null,M.prototype.Ld,M.prototype.Ve,"R6SUPER",1,1145],O[65487]=[null,null,M.prototype.Md,M.prototype.We,"R6USER",1,1145],O[65504]=[null,null,M.prototype.vd,M.prototype.He,"CTRL",8,1170],O[65520]=[null,null,M.prototype.Ac,M.prototype.Dc,"LSIZE",1,1170],O[65522]=[null,null,M.prototype.Ac,M.prototype.Dc,"HSIZE",1,1170],O[65524]=[null,null,M.prototype.he,M.prototype.tf,"SYSID",1,1170],O[65526]=
[null,null,M.prototype.ud,M.prototype.Ge,"ERR",1,1170],O[65528]=[null,null,M.prototype.Bd,M.prototype.Ne,"MBR",1,1170],O[65530]=[null,null,M.prototype.Gd,M.prototype.Qe,"PIR"],O[65532]=[null,null,M.prototype.ge,M.prototype.sf,"SLR"],O[65534]=[null,null,M.prototype.Jd,M.prototype.Te,"PSW"],O);
Ua(function(){for(var a=C(document,B,"device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new M(c);A(c,d);break;case "pc11":c=new rc(c);A(c,d);break;case "rl11":c=new P(c);A(c,d);break;case "rk11":c=new Q(c),A(c,d)}}});
function I(a,b,c,d,e,f){this.b=a;this.id=sc+=2;this.c=null;this.Sa=b;this.vb=c;this.size=d||0;this.type=e||tc;this.A=e==uc;this.controller=null;this.hb=this.i=this.Zb;this.V=this.D=this.$b;this.kb=this.j=this.wb;this.nb=this.m=this.dc;this.g=this.h=0;Sb(this);this.xa=this.ad=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],vc(this,f.Vc);else if(bb)this.f=new ArrayBuffer(this.size),this.u=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),vc(this,wc?xc:yc);else{a=this.c=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;vc(this,Ac)}else vc(this)}h=I.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(bb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.u.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(bb)for(b=0;b<a.length;b++)this.u.setInt32(b<<2,a[b],!0);else this.c=a;return this.xa=!0}return!1};function vc(a,b){b||(b=Bc);Cc(a,b,void 0);Dc(a,b,void 0)}function Cc(a,b,c){c&&a.g||(a.hb=b[0]||a.Zb,a.V=b[2]||a.$b);if(c||void 0===c)a.i=b[0]||a.Zb,a.D=b[2]||a.$b}function Dc(a,b,c){c&&a.h||(a.kb=!a.A&&b[1]||a.wb,a.nb=!a.A&&b[3]||a.dc);if(c||void 0===c)a.j=b[1]||a.wb,a.m=b[3]||a.dc}
function Sb(a,b){a.g=a.h=0;b&&((a.g=b.g)&&Cc(a,Ec,!1),(a.h=b.h)&&Dc(a,Ec,!1))}h.Zb=function(a,b){K(this.b,b,32);return 255};h.wb=function(a,b,c){K(this.b,c,32)};h.$b=function(a,b){return this.hb(a++,b++)|this.hb(a,b)<<8};h.dc=function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)};h.sd=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.re=function(a,b){db&&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.Ee=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.xa=!0};h.Cf=function(a,b,c){db&&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.xa=!0};h.qd=function(a,b){return this.i(a,b)};h.oe=function(a,b){return this.D(a,b)};h.Ce=function(a,b,c){this.A?this.wb(0,0,c):this.j(a,b,c)};h.Af=function(a,b,c){this.A?this.wb(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){db&&a&1&&K(this.b,b,64);return this.u.getUint16(a,!0)};h.qe=function(a,b){db&&a&1&&K(this.b,b,64);return!eb&&a&1?this.a[a]|this.a[a+1]<<8:this.o[a>>1]};h.Be=function(a,b){this.a[a]=b;this.xa=!0};h.De=function(a,b){this.a[a]=b;this.xa=!0};h.zf=function(a,b,c){db&&a&1&&K(this.b,c,64);this.u.setUint16(a,b,!0);this.xa=!0};h.Bf=function(a,b,c){db&&a&1&&K(this.b,c,64);!eb&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.o[a>>1]=b;this.xa=!0};
var tc=0,dc=1,uc=2,Ub=4,Zb=["NONE","RAM","ROM","VID","H/W"],sc=0,Bc=[],Ac=[I.prototype.sd,I.prototype.Ee,I.prototype.re,I.prototype.Cf],Ec=[I.prototype.qd,I.prototype.Ce,I.prototype.oe,I.prototype.Af];if(bb)var yc=[I.prototype.pd,I.prototype.Be,I.prototype.ne,I.prototype.zf],xc=[I.prototype.rd,I.prototype.De,I.prototype.qe,I.prototype.Bf];var Fc;if(bb){var Gc=new ArrayBuffer(2);(new DataView(Gc)).setUint16(0,256,!0);Fc=256===(new Uint16Array(Gc))[0]}else Fc=!1;var wc=Fc;
function Hc(a,b){r.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ec=0;this.Lb=b;this.Qa=c;this.Tb=Math.round(this.Lb/1E4)/100;this.Wa=this.Tb*this.Qa;this.Ub=this.rb=this.Za=this.Mb=0;this.l.P=!1;this.l.ac=!1;this.l.ma=a.autoStart;"string"==typeof this.l.ma&&(this.l.ma="true"==this.l.ma);this.l.zb=!1;this.Jb=this.Ya=0;this.Kb=+a.csStart;this.pb=+a.csInterval;this.qb=+a.csStop;this.sa=[];this.pc=this.ve.bind(this);this.Ea=this.va=this.Da=this.a=this.S=this.ua=this.ob=this.Ca=this.$a=
this.Vb=this.Na=0;this.ka=null;D(this)}n(Hc,r);h=Hc.prototype;h.aa=function(a,b,c,d){this.A=a;this.u=b;this.D=d;this.ka=a.f;for(a=0;a<Ic.length;a++)(b=this.j[Ic[a]])&&this.A.ca(null,Ic[a],b);D(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ha=function(a,b){var c=Jc(this.A,"autoStart");null!=c?this.l.ma="true"==c?!0:"false"==c?!1:!!c:null==this.l.ma&&(this.l.ma=void 0===this.j.run);if(!b){if(a){Kc(this);if(!this.restore(a))return!1;Lc(this)}else this.reset();this.status("No debugger detected");this.l.ma||this.X("CPU will not be auto-started "+(this.ka?"(click Run to start)":"(type 'go' to start)"))}return!0};h.ga=function(a){return a?this.save():!0};h.ma=function(){return this.l.P?!0:this.l.ma?(yb(this),!0):!1};h.wc=function(){return 0};
function Lc(a){void 0===a.Kb&&(a.Kb=0);void 0===a.pb&&(a.pb=-1);void 0===a.qb&&(a.qb=-1);a.l.zb=0<=a.Kb&&0<a.pb;a.l.zb&&(a.Jb=0,a.Ya=a.Kb-a.Ea)}function Bb(a,b){if(a.l.zb){var c=!1;a.Jb=a.Jb+a.wc()|0;a.Ya-=b;0>=a.Ya&&(a.Ya+=a.pb,c=!0);0<=a.qb&&a.qb<=Mc(a)&&(a.pb=a.qb=-1,Lc(a),H(a),c=!0);c&&a.X(Mc(a)+" cycles: checksum="+Aa(a.Jb))}}
h.ca=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=y(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);v("The "+b.type+" component ("+b.id+") is not "+(b.l.ready?"powered yet":"ready yet"+(b.Bb?" (waiting for notification)":""))+".");a=!1}a&&(d.l.P?H(d):yb(d))},!0;case "speed":return this.j[b]=
c,!0;case "setSpeed":return this.j[b]=c,c.onclick=function(){Nc(d,d.Qa<<1,!0)},c.textContent=this.Wa.toFixed(2)+"Mhz",!0}return!1};function Ab(a,b,c){a.Ea+=b;c&&(a.Da=a.a=a.S=0)}function Oc(a,b){var c=1;b&&1<a.Qa&&a.Na&&(c=a.Na/a.Tb);a.Ub=Math.round(1E3/Pc);a.rb=Math.floor(a.Lb/Pc*c);b||(a.Za=a.rb);a.Mb=0}function Mc(a){return a.Ea+a.va+a.Da-a.a}function Kc(a){a.Na=0;a.Vb=0;a.Ea=a.va=a.Da=a.a=a.S=0;Lc(a);Nc(a,1)}
function Nc(a,b,c){if(void 0!==b){.8>a.Na/a.Wa&&(b=1);a.Qa=b;b=a.Tb*a.Qa;if(a.Wa!=b){a.Wa=b;b=a.Wa.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.X("target speed: "+b)}c&&a.A&&Qc(a.A)}Ab(a,a.va);a.va=0;a.ua=sa();a.Ca=0;Oc(a)}function ic(a,b){var c=a.sa.length;a.sa.push([-1,b]);return c}function jc(a,b,c,d){0<=b&&b<a.sa.length&&(d||0>a.sa[b][0])&&(c=a.Lb*a.Qa/1E3*c|0,a.l.P&&(c+=Rc(a)),a.sa[b][0]=c)}
function zb(a,b){for(var c=a.sa.length-1;0<=c;c--){var d=a.sa[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Rc(a,b){var c=a.Da-=a.a;a.a=a.S=0;b&&(a.Da=0);return c}
h.ve=function(){if(this.l.P){this.Mb>=this.Lb&&Oc(this,!0);this.$a=0;this.ob=sa();if(this.Ca){var a=this.ob-this.Ca;a>this.Ub&&(this.ua+=a,this.ua>this.ob&&(this.ua=this.ob))}try{do{for(var b,c=this.l.zb?1:this.rb,d=this.sa.length-1;0<=d;d--){var e=this.sa[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=Rc(this,!0);this.$a+=b;this.va+=b;Bb(this,b);zb(this,b);this.Za-=b;if(0>=this.Za){this.Za+=this.rb;++this.Vb>=Sc&&(this.A&&Cb(this.A,void 0),this.Vb=0);break}}while(this.l.P)}catch(f){H(this);
this.A&&this.A.stop(sa(),Mc(this));wa(this,f.stack||f.message);return}if(this.l.P){a=setTimeout;b=this.pc;this.Ca=sa();c=this.Ub;this.$a&&(c=Math.round(c*this.$a/this.rb));c-=this.Ca-this.ob;if(d=this.Ca-this.ua)this.Na=Math.round(this.va/(10*d))/100,864E5<=d&&(this.Ea=0,Nc(this));if(0>c||this.Na<this.Wa)-1E3>c&&(this.ua-=c),c=0;this.Mb+=this.$a;this.Ca+=c;a(b,c)}}};
function yb(a){var b;a.l.error?(a.X(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.l.P)a.X(a.toString()+" busy");else{Nc(a);a.l.P=!0;a.l.ac=!0;if(b=a.j.run)b.textContent="Halt";a.A&&a.A.start(a.ua,Mc(a));a.D||a.status("Started");setTimeout(a.pc,0)}}h.Qb=function(){return 0};function H(a){var b=!1;if(a.l.P){Rc(a);Ab(a,a.va);a.va=0;a.l.P=!1;if(b=a.j.run)b.textContent="Run";a.A&&a.A.stop(sa(),Mc(a));b=!0;a.D||a.status("Stopped")}a.l.complete=void 0;return b}var Pc=30,Sc=15,Ic=["power","reset"];
function Tc(a){var b=+a.model||1170;Hc.call(this,a,6666667);this.pa=b;this.lc=+a.addrReset||0;this.i=this.v=this.m=this.o=this.w=0;this.b=this.qa=this.W=[];this.C=0;this.nc=[];this.s=this.I=this.Ga=this.tb=[];this.Nb=this.za=this.F=this.kc=this.Aa=this.Oa=this.Pa=this.Ba=this.G=this.Ra=this.Fa=this.H=this.cb=this.eb=this.la=this.wa=this.h=this.f=this.Gb=this.K=this.L=this.g=this.sb=0;this.oc=255;1120>=this.pa?(this.jc=Uc.bind(this),this.Xa=this.Zc,this.Nb=8,this.oc=-1,this.rc=255,this.qc=0):(this.jc=
Vc.bind(this),this.Xa=this.$c,this.rc=~(1792|(1140>=this.pa?2048:0))&65535,this.qc=1140<this.pa?2048:0);this.bb=0;this.ea=null;this.Sb=[];this.l.complete=!1;this.Db=this.fc=this.bd;this.Eb=this.gc=this.dd;this.Ob=this.Pb=this.ye;this.Fb=this.Rb=this.Ae;this.ta=this.Cb=0;this.oa=this.xc;this.V=this.Ac;this.nb=this.Dc;this.Tc=this.Sc=0}n(Tc,Hc);h=Tc.prototype;h.aa=function(a,b,c,d){Hc.prototype.aa.call(this,a,b,c,d);this.fc=b.Ec.bind(b);this.gc=b.xb.bind(b);this.Pb=b.Fc.bind(b);this.Rb=b.yb.bind(b)};
h.ha=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 Hc.prototype.ha.call(this,a,b)};
h.reset=function(){this.status("Model "+this.pa);this.l.P&&H(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.qa=[0,0,0,0,0,0];this.W=[0,0,0,0];this.C=0;this.nc=[4,2,0,1];this.s=[[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.Ga=[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.tb=[0,0,0,0,0,0,0,0];this.h=this.f=this.Gb=this.K=this.L=this.g=this.sb=0;this.wa=-1;wb(this);Kc(this);this.l.error=!1;Hc.prototype.reset.call(this)};function wb(a){a.H=0;a.cb=0;a.eb=0;a.la=0;a.G=0;a.Ra=0;a.Fa=255;a.Aa=0;a.Oa=0;a.Pa=0;a.Ba=262143;a.za=a.b[7];a.F=0;a.ea=null;a.u&&(oc(a),a.kc=cc(a.u))}
function oc(a){a.Db=a.fc;a.Eb=a.gc;a.Ob=a.Pb;a.Fb=a.Rb;a.Aa?(a.ta=65536,a.Cb=a.la&16?4186112:253952,a.oa=a.xc,a.V=a.Ac,a.nb=a.Dc,Vb(a.u,a.la&16?22:18)):(a.ta=0,a.Cb=57344,a.oa=a.cd,a.V=a.pe,a.nb=a.Df,Vb(a.u,16))}function nc(a,b){b&=-3073;if(a.H!=b){b&57344&&!(a.H&57344)&&(a.cb=a.F>>16&65535,a.eb=a.F&65535);a.H=b;a.Oa=(b&96)>>5;a.Pa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Aa!=c&&(a.Aa=c,oc(a))}}
function Wc(a,b,c){a.lc=b;a.u.reset();wb(a);R(a,b);qc(a,0);if(c){for(b=2;5>=b;b++)a.b[b]=0;a.l.P||yb(a)}else a.D?H(a)||a.D.g():!1===c&&H(a);!a.l.P&&a.ka&&a.ka.stop()}h.wc=function(){return 0};h.save=function(){var a=new J(this);a.set(0,[this.b,this.qa,this.W,this.Ga,this.tb,this.G,this.sb,this.Ra,this.Fa,this.wa,this.C,this.g,this.H,this.cb,this.eb,this.la,this.Oa,this.Pa,this.s,this.I,this.Aa,this.Ba,this.za,this.F]);a.set(1,[pc(this)]);a.set(2,[this.Ea,this.Qa]);return a.data()};
h.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.b=b.next().value;this.qa=b.next().value;this.W=b.next().value;this.Ga=b.next().value;this.tb=b.next().value;this.G=b.next().value;this.sb=b.next().value;this.Ra=b.next().value;this.Fa=b.next().value;this.wa=b.next().value;this.C=b.next().value;this.g=b.next().value;this.H=b.next().value;this.cb=b.next().value;this.eb=b.next().value;this.la=b.next().value;this.Oa=b.next().value;this.Pa=b.next().value;
this.s=b.next().value;this.I=b.next().value;this.Aa=b.next().value;this.Ba=b.next().value;this.za=b.next().value;this.F=b.next().value;b=a[1];qc(this,b[0]);b=a[2];this.Ea=b[0];Nc(this,b[1]);return!0};function Xc(a){return a.v&65536?1:0}function Yc(a){return a.w&32768?8:0}function Zc(a,b){var c=a.b[7];a.b[7]=c+b&65535;return c}function S(a,b,c){c&&(R(a,a.b[7]+(b<<24>>23)),a.a-=2);a.a-=3}function R(a,b){a.b[7]=b&65535}
function kc(a,b,c,d){c={cc:b,gb:c,message:d||0,next:null};c.name=fb[b];a.Sb.push(c);return c}function mc(a,b){var c=a.ea;if(c==b)a.ea=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.ea&&(a.g|=1)}function N(a,b){if(b){if(b!=a.ea){var c=a.ea;if(!c||c.gb<=b.gb)b.next=c,a.ea=b;else{do{var d=c.next;if(!d||d.gb<=b.gb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}}function $c(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 pc(a){return a.i=a.i&63728|Yc(a)|(a.o&65535?0:4)|(a.m&32768?2:0)|Xc(a)}function qc(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.qa.length;0<=--c;){var d=a.b[c];a.b[c]=a.qa[c];a.qa[c]=d}a.C=b>>14&3;c=a.i>>14&3;a.C!=c&&(a.W[c]=a.b[6],a.b[6]=a.W[a.C]);a.i=b;a.g&=-3;a.g|=a.ea?2:1}h.da=function(a){this.w=this.o=a;this.m=0};h.Ka=function(a,b){this.w=this.o=this.v=a;this.m=b||0};function ad(a,b){a.w=a.o=a.v=b;a.m=a.w^a.v>>1}
function bd(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.bb){0>a.wa?a.wa=pc(a):a.C||(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.C=0;var e=a.V(b|a.ta),f=a.V(b+2&65535|a.ta);qc(a,f&-12289|a.wa>>2&12288);cd(a,a.wa);cd(a,a.b[7]);R(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.wa=-1;a.Tc=b;a.Sc=d;-1==d&&H(a);if(-4<=d)throw b;}}function dd(a){var b=ed(a),c=ed(a);a.i&49152&&(c=c&-225|a.i&63712);R(a,b);qc(a,c);a.g&=-17}
function fd(a,b){var c=b>>13&31;31>c&&(b=a.la&32?a.Ga[c]+(b&8191)&4194303:b&-3932161);return b}
function Gb(a,b,c){var d,e,f;if(!(c&a.Aa))return f=b&65535,57344<=f&&(f|=a.Cb),f;d=b>>13;a.la&a.nc[a.C]||(d&=7);e=a.s[a.C][d];f=(a.I[a.C][d]<<6)+(b&8191)&a.Ba;3932160<=f&&(f=fd(a,f));if(a.bb)return f;f>=a.kc&&f<a.Cb?(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.s[a.C][d]=e;if(f!=(4194170&a.Ba)||a.C)a.Oa=a.C,a.Pa=d;g&&(g&57344&&(0<=a.wa&&(g|=128),a.H&57344||(g|=a.H&4096|a.Oa<<5|a.Pa<<1,nc(a,a.H&-61695|g&61694)),L(a,168,64,-2)),a.H&61440||!(f<(4191360&a.Ba)||f>(4194239&a.Ba))||(a.H|=4096,a.H&512&&(a.g|=64)));return f}function ed(a){var b=a.V(a.b[6]|a.ta);a.b[6]=a.b[6]+2&65535;return b}function cd(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.Xa(4,-2,c);a.nb(c,b)}
function gd(a,b,c,d){var e,f,g=d&8?0:a.ta;switch(b){case 0:return L(a,4,0,-3),0;case 1:return 6==c&&a.Xa(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.Xa(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.V(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.Xa(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.V(e)|g;a.a-=8;break;case 6:return e=a.V(Zc(a,2)),e=e+a.b[c]&65535,6==c&&a.Xa(d,0,
e),a.a-=6,e|g;case 7:return e=a.V(Zc(a,2)),e=e+a.b[c]&65535,e=a.V(e|a.ta),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.C&&0>=b&&c<=this.Fa&&(this.g|=32)};h.$c=function(a,b,c){this.C||(65534<=c&&(c|=-65536),a&4&&c<=this.Fa&&(c<=this.Fa-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.ye=function(a,b){this.Pb(a,b)};h.Ae=function(a,b){this.Rb(a,b)};
h.cd=function(a,b,c){return gd(this,a,b,c)};h.xc=function(a,b,c){return Gb(this,gd(this,a,b,c),c)};h.pe=function(a){return this.u.xb(this.za=a)};h.Ac=function(a){return this.u.xb(this.za=Gb(this,a,2))};h.Df=function(a,b){this.u.yb(this.za=a,b)};h.Dc=function(a,b){this.u.yb(this.za=Gb(this,a,4),b)};
function hd(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=gd(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.C=a.i>>12&3,c=a.V(d|c&a.ta),a.C=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.W[a.i>>12&3];return c}function id(a,b,c,d){a.F=a.F&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=gd(a,b,e,4),c&65536||(e&=65535),a.C=a.i>>12&3,e=Gb(a,e|c&65536,4),a.C=a.i>>14&3,a.Fb(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.W[a.i>>12&3]=d}
function jd(a,b){b>>=6;var c=a.L=b&7;return(b=a.K=(b&56)>>3)?a.Db(a.oa(b,c,3)):a.b[c+a.Nb]&a.oc}function kd(a,b){var c;b>>=6;var d=a.L=b&7;(b=a.K=(b&56)>>3)?c=a.Eb(a.oa(b,d,2)):c=a.b[d+a.Nb];return c}function ld(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return gd(a,b,c,8)}function md(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.Db(a.oa(b,c,3)):a.b[c]&255}function nd(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.Eb(a.oa(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.Gb=a.oa(b,e,7),c=0>c?a.b[-c-1]&255:c,a.Ob(e,d.call(a,c,a.Db(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.oa(b,e,6),a.Fb(e,d.call(a,0>c?a.b[-c-1]:c,a.Eb(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])}
function od(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.oa(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 pd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.oa(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.Fb(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))}
h.Qb=function(a){this.l.complete=!0;var b=a?this.l.ac?0:1:-1;this.l.ac=!1;this.Da=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.Ra&224)>>5,e=this.ea&&this.ea.gb>d?this.ea:null;e&&(c=e.cc,d=e.gb);d>(this.i&224)>>5?(this.g&8&&(Zc(this,2),this.g&=-9),L(this,c,0,-10),d=!0):d=!1;d&&(e&&mc(this,e),a=!0);this.ea||this.Ra||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.D.b(this.b[7],b)){H(this);break}if(0>b)break}if(this.g&112&&$c(this)){if(this.g&
4&&this.D.b(this.b[7],b)){H(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.F=this.b[7];e=this.V(a);this.b[7]=a+2&65535;this.jc(e)}while(0<this.a);return this.l.complete?this.Da-this.a:void 0===this.l.complete?0:-1};Ua(function(){for(var a=C(document,B,"cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Tc(d);A(d,c)}});function qd(a,b){var c=b+a;this.w=this.o=this.v=c;this.m=(a^c)&(b^c);return c&65535}
function rd(a,b){var c=b+a,d=c<<8;this.w=this.o=this.v=d;this.m=(a<<8^d)&(b<<8^d);return c&255}function sd(a,b){a=b<<1;ad(this,a);return a&65535}function td(a,b){a=b<<1;ad(this,a<<8);return a&255}function ud(a,b){a=b&32768|b>>1|b<<16;ad(this,a);return a&65535}function vd(a,b){a=b&128|b>>1|b<<8;ad(this,a<<8);return a&255}function wd(a,b){a=b&~a;this.da(a);return a}function xd(a,b){a=b&~a;this.da(a<<8);return a}function yd(a,b){a|=b;this.da(a);return a}function zd(a,b){a|=b;this.da(a<<8);return a}
function Ad(a,b){a=~b|65536;this.Ka(a);return a&65535}function Bd(a,b){a=~b|256;this.Ka(a<<8);return a&255}function Cd(a,b){this.w=this.o=a=b-a;this.m=b&(b^a);return a&65535}function Dd(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.o=c;this.m=b&(b^c);return a&255}function Ed(a,b){this.w=this.o=a=b+a;this.m=a&(b^a);return a&65535}function Fd(a,b){a=b+a;var c=a<<8;this.w=this.o=c;this.m=c&(b<<8^c);return a&255}function Gd(a,b){a=-b;this.Ka(a,a&b&32768);return a&65535}
function Hd(a,b){a=-b;this.Ka(a<<8,(a&b&128)<<8);return a&255}function Id(a,b){a=b<<1|this.v>>16&1;ad(this,a);return a&65535}function Jd(a,b){a=b<<1|this.v>>16&1;ad(this,a<<8);return a&255}function Kd(a,b){a=(this.v&65536|b)>>1|b<<16;ad(this,a);return a&65535}function Ld(a,b){a=((this.v&65536)>>8|b)>>1|b<<8;ad(this,a<<8);return a&255}function Md(a,b){var c=b-a;bd(this,c,a,b);return c&65535}function Nd(a,b){var c=b-a;bd(this,c<<8,a<<8,b<<8);return c&255}
function Od(a,b){this.w=this.o=b&65280;this.m=this.v=0;return(b<<8|b>>8)&65535}function Pd(a,b){a^=b;this.da(a);return a&65535}function Qd(a){U(this,a,kd(this,a),qd);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}
function Rd(a){var b=nd(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.v=this.m=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.v=c<<17-b,c>>=b;else if(b)if(16<b)this.m=c,c=0;else{this.v=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.m=32768)}this.b[a]=c&65535;this.w=this.o=c;this.a-=(this.h?6:7)+b}
function Sd(a){var b=nd(this,a);a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.v=this.m=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.v=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.v=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.m=32768)):d=c;this.b[a]=d>>16&65535;this.b[a|1]=d&65535;this.w=d>>16;this.o=d>>16|d;this.a-=(this.h?6:7)+b}function Td(a){S(this,a,!Xc(this))}function Ud(a){S(this,a,Xc(this))}
function Vd(a){U(this,a,kd(this,a),wd);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Wd(a){T(this,a,jd(this,a),xd);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Xd(a){U(this,a,kd(this,a),yd);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Yd(a){T(this,a,jd(this,a),zd);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}
function Zd(a){var b=kd(this,a);a=nd(this,a);this.da((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.L&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function $d(a){var b=jd(this,a);a=md(this,a);this.da(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.L&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function ae(a){S(this,a,this.o&65535?0:4)}function be(a){S(this,a,!Yc(this)==!(this.m&32768))}function ce(a){S(this,a,!!(this.o&65535)&&!Yc(this)==!(this.m&32768))}
function de(a){S(this,a,!Xc(this)&&!!(this.o&65535))}function ee(a){S(this,a,(this.o&65535?0:4)||!Yc(this)!=!(this.m&32768))}function fe(a){S(this,a,Xc(this)||(this.o&65535?0:4))}function ge(a){S(this,a,!Yc(this)!=!(this.m&32768))}function he(a){S(this,a,Yc(this))}function ie(a){S(this,a,!!(this.o&65535))}function je(a){S(this,a,!Yc(this))}function ke(){L(this,12,0,-9)}function le(a){S(this,a,!0)}function me(a){S(this,a,!(this.m&32768))}function ne(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 oe(a){var b=kd(this,a);a=nd(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;bd(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 pe(a){var b=jd(this,a);a=md(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);bd(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 qe(a){var b=nd(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 re(){L(this,24,0,-9);this.a-=20}
function se(){this.i&49152?(this.G|=128,L(this,4,0,-8)):(this.ka&&1120==this.pa&&this.ka.setData(this.b[0],!0),this.D?this.D.i():H(this));this.a-=7}function te(){L(this,16,0,-9);this.a-=20}var ue=[0,7,7,10,7,11,9,13];function ve(a){this.S=this.a;R(this,ld(this,a));this.a=this.S-ue[this.h]}var we=[0,14,14,17,14,18,16,20];function xe(a){this.S=this.a;var b=ld(this,a);a=a>>6&7;cd(this,this.b[a]);this.b[a]=this.b[7];R(this,b);this.a=this.S-we[this.h]}var ye=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
function ze(a){var b=kd(this,a);this.S=this.a;pd(this,a,b,this.da);this.a=this.S-ye[(this.K?8:0)+this.h]+(7!=this.f||this.h?0:2)}function Ae(a){var b=jd(this,a);od(this,a,b,65535,this.da);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}var Be=[7,13,13,17,14,18,17,21];function Ce(a){var b=nd(this,a);a=a>>6&7;b=(b<<16>>16)*(this.b[a]<<16>>16);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;b|=0;this.w=b>>16;this.o=this.w|b;this.m=0;this.v=-32768>b||32767<b?65536:0;this.a-=23}
function De(){this.a-=5}function Ee(){this.i&49152||(this.u.reset(),wb(this),this.ka&&this.ka.setData(this.b[0],!0));this.a-=667}function Fe(a){if(a&8)L(this,8,0,-9);else{var b=ed(this);a&=7;7==a?R(this,b):(R(this,this.b[a]),this.b[a]=b);this.a-=9}}function Ge(){dd(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 He(a){var b=(a&448)>>6;if(this.b[b]=this.b[b]-1&65535)R(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}
function Ie(a){U(this,a,kd(this,a),Md);this.a-=this.h?9+(this.L&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Je(a){U(this,a,0,Od);this.a-=this.h?9:3+(7==this.f?2:0)}function Ke(){L(this,28,0,-9)}function Le(){this.ka&&(this.ka.ja=this.b[7],this.ka.setData(this.b[0],!0));this.g|=8;Zc(this,-2);this.a-=3}function Me(a){U(this,a,this.b[(a>>6&7)+this.Nb],Pd);this.a-=this.h?9:3+(7==this.f?2:0)}function X(){L(this,8,0,-9)}function Uc(a){Ne[a>>12].call(this,a)}
function Oe(a){Pe[a>>6&3].call(this,a)}function Qe(a){Re[a>>6&3].call(this,a)}function Se(a){Te[a>>6&3].call(this,a)}function Ue(a){Ve[a&15].call(this,a)}function We(a){Xe[a&15].call(this,a)}function Ye(a){Ze[a>>6&3].call(this,a)}function $e(a){af[a>>6&3].call(this,a)}function bf(a){cf[a>>6&3].call(this,a)}
var Ne=[function(a){df[a>>8&15].call(this,a)},ze,oe,Zd,Vd,Xd,Qd,X,function(a){ef[a>>8&15].call(this,a)},Ae,pe,$d,Wd,Yd,Ie,X],df=[function(a){ff[a>>4&15].call(this,a)},le,ie,ae,be,ge,ce,ee,xe,xe,Oe,Qe,Se,X,X,X],Pe=[function(a){pd(this,a,0,this.Ka);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Ad);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,1,Ed);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,1,Cd);this.a-=this.h?9:3+(7==this.f?2:0)}],Re=[function(a){U(this,a,0,Gd);
this.a-=this.h?11:6},function(a){U(this,a,Xc(this)?1:0,qd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,Xc(this)?1:0,Md);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=nd(this,a);this.Ka(a);this.a-=this.h?4:3+(7==this.f?2:0)}],Te=[function(a){U(this,a,0,Kd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Id);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,ud);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,sd);this.a-=this.h?9:3+(7==this.f?2:0)}],ff=
[function(a){gf[a&15].call(this,a)},X,X,X,ve,ve,ve,ve,Fe,X,Ue,We,Je,Je,Je,Je],gf=[se,Le,Ge,ke,te,Ee,X,X,X,X,X,X,X,X,X,X],Ve=[De,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],Xe=[De,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],ef=[je,he,de,fe,me,ne,Td,Ud,re,Ke,Ye,$e,bf,X,X,X],Ze=[function(a){od(this,
a,0,255,this.Ka);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Bd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Fd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Dd);this.a-=this.h?9:3+(7==this.f?2:0)}],af=[function(a){T(this,a,0,Hd);this.a-=this.h?11:6},function(a){T(this,a,Xc(this)?1:0,rd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,Xc(this)?1:0,Nd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=md(this,a);this.Ka(a<<8);this.a-=this.h?4:3+
(7==this.f?2:0)}],cf=[function(a){T(this,a,0,Ld);this.a-=this.h?9+(this.Gb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Jd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,vd);this.a-=this.h?9+(this.Gb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,td);this.a-=this.h?9:3+(7==this.f?2:0)}];function Vc(a){hf[a>>12].call(this,a)}
var hf=[function(a){jf[a>>8&15].call(this,a)},ze,oe,Zd,Vd,Xd,Qd,function(a){kf[a>>8&15].call(this,a)},function(a){lf[a>>8&15].call(this,a)},Ae,pe,$d,Wd,Yd,Ie,X],jf=[function(a){mf[a>>4&15].call(this,a)},le,ie,ae,be,ge,ce,ee,xe,xe,Oe,Qe,Se,function(a){nf[a>>6&3].call(this,a)},X,X],nf=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.V(a|this.ta);R(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=hd(this,a,0);this.da(a);cd(this,a);this.a-=11},function(a){var b=ed(this);this.S=
this.a;this.da(b);id(this,a,0,b);this.a=this.S-Be[this.h]},function(a){pd(this,a,Yc(this)?65535:0,this.da);this.a-=this.h?9:3+(7==this.f?2:0)}],mf=[function(a){of[a&15].call(this,a)},X,X,X,ve,ve,ve,ve,Fe,function(a){!(a&8)||1145>this.pa?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)},Ue,We,Je,Je,Je,Je],of=[se,Le,function(){dd(this);this.g|=this.i&16;this.a-=13},ke,te,Ee,Ge,function(){L(this,8,0,-9)},X,X,X,X,X,X,X,X],kf=[Ce,Ce,qe,qe,Rd,Rd,Sd,Sd,Me,Me,X,
X,X,X,He,He],lf=[je,he,de,fe,me,ne,Td,Ud,re,Ke,Ye,$e,bf,function(a){1145>this.pa?L(this,8,0,-9):pf[a>>6&3].call(this,a)},X,X],pf=[function(){L(this,8,0,-9)},function(a){a=hd(this,a,65536);this.da(a);cd(this,a);this.a-=11},function(a){var b=ed(this);this.S=this.a;this.da(b);id(this,a,65536,b);this.a=this.S-Be[this.h]},function(){L(this,8,0,-9)}];
function qf(a){r.call(this,"ROM",a,0,128);this.fa=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=F(this.g);if(this.g){a=this.g;var b=Ba(this.m);"json"!=b&&"hex"!=b&&(a=Ka()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;G(a,null,!0,function(a,b,f){f?(c.B("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(qa(c.Ma,a,b),(a=Ja(a,b))?(c.b=a.N,c.fa=a.fa):c.g=null);rf(c)})}}n(qf,r);
h=qf.prototype;h.aa=function(a,b,c,d){this.u=b;this.c=c;this.D=d;rf(this)};h.ha=function(){this.fa&&(this.D&&this.D.a(this.id,this.h,this.a,this.fa),delete this.fa);return!0};h.ga=function(){return!0};
function rf(a){if(!xa(a)){if(a.g){if(!a.b||!a.u)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a)wa(a,"ROM size ("+Aa(a.b.length,8,!0)+") does not match specified size ("+Aa(a.a,8,!0)+")");else{var b;a:{b=a.h;if(57344<=b&&b<57344+Nb){var c={},c=(c[b]=[qf.prototype.be,qf.prototype.mf,null,null,null,a.a>>1],c);if(kb(a.u,a,c)){a.status("Added "+a.a+"-byte ROM at "+za(b));b=a.i=!0;break a}}else if(Tb(a.u,b,a.a,uc)){for(c=0;c<a.b.length;c++)bc(a.u,b+c,a.b[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.f?
b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.u,g=d.a,k=[],l=d.h>>>f.h;0<g&&l<f.a.length;)k.push(f.a[l++]),g-=f.g;f=d.u;d=d.a;g=0;for(e>>>=f.h;0<d&&e<f.a.length;){l=k[g++];if(!l)break;f.a[e++]=l;d-=f.g}}a.i||delete a.b}}}D(a)}}h.be=function(a){return this.b[a-this.h]};h.mf=function(){};Ua(function(){for(var a=C(document,B,"rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new qf(d);A(d,c)}});
function sf(a){r.call(this,"RAM",a);this.fa=this.b=null;this.f=+a.addr;this.g=+a.size;this.Z=a.load;this.Y=a.exec;null!=this.Z&&(this.Z=+this.Z);null!=this.Y&&(this.Y=+this.Y);this.h=!1;this.a=a.file;this.i=F(this.a);if(this.a){a=this.a;var b=Ba(this.i);"json"!=b&&"hex"!=b&&(a=Ka()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;G(a,null,!0,function(a,b,f){f?(c.B("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(qa(c.Ma,a,b),(a=Ja(a,b))?(c.b=a.N,c.fa=a.fa,null==c.Z&&
(c.Z=a.Z),null==c.Y&&(c.Y=a.Y)):c.a=null);tf(c)})}}n(sf,r);sf.prototype.aa=function(a,b,c,d){this.u=b;this.c=c;this.D=d;tf(this)};sf.prototype.ha=function(){this.fa&&(this.D&&this.D.a(this.id,this.f,this.g,this.fa),delete this.fa);return!0};sf.prototype.ga=function(){return!0};
function tf(a){if(a.u&&(!a.h&&a.g&&(Tb(a.u,a.f,a.g,dc)?a.h=!0:a.g=0),!xa(a))){if(!a.h)v("No RAM allocated");else if(a.a){if(!a.b||!a.u)return;uf(a,a.b,a.Z,a.Y,a.f)?a.status('Loaded image "'+a.i+'"'):a.B('Error loading image "'+a.i+'"')}D(a)}}
sf.prototype.reset=function(){if(this.h){for(var a=this.u,b=this.f,c=this.g,d=b&a.f,b=b>>>a.h;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(bb&&e.a)for(k=d;f--&&k<e.a.length;k++)e.a[k]=g;else for(k=d;f--&&k<e.size;k++)e.j(d,g,e.Sa+d);c-=a.g;b++;d=0}this.b&&uf(this,this.b,this.Z,this.Y,this.f,!0)}};
function uf(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){if(1!=m)break;if(l+6>=b.length)break;for(var l=l+2,p=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((p&255)+(p>>8)+(t&255)+(t>>8)),x=l,w=p-=6;0<p&&l<b.length;)m+=b[l++]&255,p--;if(p||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(w)for(;w--;)bc(a.u,t++,b[x++]&255);else t&1?g=!0:null==d&&(d=t);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<
b.length;e++)bc(a.u,c+e,b[e]);k=!0}if(k){if(null==d||g)H(a.c),f=!1;null!=d&&Wc(a.c,d,f)}return k}Ua(function(){for(var a=C(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new sf(d);A(d,c)}});function vf(a){r.call(this,"Keyboard",a,0,1024);D(this)}n(vf,r);vf.prototype.ca=function(){return!1};vf.prototype.aa=function(a,b,c,d){this.A=a;this.c=c;this.D=d};Ua(function(){for(var a=C(document,B,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new vf(d);A(d,c)}});
function Z(a){r.call(this,"SerialPort",a,0,262144);this.C=+a.adapter;this.K=+a.baudReceive||9600;this.ea=+a.baudTransmit||9600;this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.g=this.i=null;this.S=+a.tabSize;this.L=+a.charBOL;this.m=0;this.v=!0;this.H=this.F=null;this.I=this.W=-1;this.o=this.a=this.b=0;this.h=[];var b=a.binding;if("console"==b)this.i="";else{var c;a=wf;b&&(void 0===c&&(c="Panel"),(c=va(c,this.id))&&(b=c.j[b])&&this.ca(null,a,b))}this.f=this.s=this.G=null;this.exports=
{connect:this.yc,receiveData:this.Hb,receiveStatus:this.ue,setConnection:this.ze}}n(Z,r);h=Z.prototype;
h.ca=function(a,b,c){var d=this;switch(b){case wf:return this.j[b]=this.g=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.ic:q.Jc:46==c?b=q.ic:a.ctrlKey&&c>=q.hc&&c<=q.Uc&&(b=c-(q.hc-q.Gc));b&&(a.preventDefault&&a.preventDefault(),d.Hb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ic&&(b=q.Hc);d.Hb(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.Hb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.aa=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;var e=this;this.H=kc(this.c,this.C?-1:48,4,262144);this.I=ic(this.c,function(){var a;a=-1;e.h.length&&(a=e.h.shift()&255,e.w&&97<=a&&122>a&&(a-=32),jc(e.c,e.I,1E3/Math.round(e.K/10)));0<=a&&(e.o=a,e.a&128?e.o|=49152:e.a|=128,e.a&64&&N(c,e.H))});this.F=kc(this.c,this.C?-1:52,4,262144);this.W=ic(this.c,function(){e.b|=128;e.b&64&&N(c,e.F)});kb(b,this,xf,this.C?64832+8*(this.C-1)-65392:0);mb(b,this.reset.bind(this));D(this)};
h.yc=function(a){if(!this.f){var b=Jc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.La)return;c=Ga(c[1]);if(this.f=ua(c)){var e=this.f.exports;if(e){var f=e.connect;f&&f.call(this.f,this.v);if(this.s=e.receiveData){this.v=a;this.G=e.receiveStatus;this.status("Connected "+this.Ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.ha=function(a,b){if(!b)if(this.yc(this.v),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){yf(this)};h.save=function(){var a=new J(this);a.set(0,[]);return a.data()};h.restore=function(){return yf(this)};function yf(a){a.o=0;a.a=8192;a.b=128;a.h=[];return!0}
h.Hb=function(a){if("number"==typeof a)this.h.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.h.push(b)}else this.h=this.h.concat(a);jc(this.c,this.I,1E3/Math.round(this.K/10));return!0};h.ue=function(a){var b=this.a;this.a&=-12289;a&32&&(this.a|=8192);a&256&&(this.a|=4096);b!=this.a&&(this.a|=32768,this.a&32&&N(this.c,this.H))};h.ze=function(a,b){return this.f?!1:(this.f=a,this.s=b,!0)};
h.Pd=function(){var a=this.a&65534;this.a&=-32769;return a};h.Ze=function(a){var b=a^this.a;this.a=this.a&-112|a&111;this.G&&b&6&&(b=0,b=this.v?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.G.call(this.f,b))};h.Od=function(){this.a&=-129;return this.o};h.Ye=function(){};h.te=function(){return this.b};h.Ff=function(a){if(this.b&128)if(a&64)N(this.c,this.F);else{var b=this.F;b&&mc(this.c,b)}this.b=this.b&-70|a&69};h.se=function(){return 0};
h.Ef=function(a){a&=255;this.s&&this.s.call(this.f,a);a&=127;if(this.g)if(13==a)this.m=0;else if(8==a)this.g.value=this.g.value.slice(0,-1),0<this.m&&this.m--;else{if(a){var b;13!=a&&10!=a&&(b=Ha[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.S||8,c=a-this.m%a,this.S&&(b=" ".slice(0,c)));this.L&&!this.m&&c&&(b=String.fromCharCode(this.L)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.m+=c}}else if(null!=
this.i){if(10==a||1024<=this.i.length)this.X(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}jc(this.c,this.W,1E3/Math.round(this.ea/10));this.b&=-129};var wf="buffer",zf={},xf=(zf[65392]=[null,null,Z.prototype.Pd,Z.prototype.Ze,"RCSR"],zf[65394]=[null,null,Z.prototype.Od,Z.prototype.Ye,"RBUF"],zf[65396]=[null,null,Z.prototype.te,Z.prototype.Ff,"XCSR"],zf[65398]=[null,null,Z.prototype.se,Z.prototype.Ef,"XBUF"],zf);
Ua(function(){for(var a=C(document,B,"serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});function rc(a){r.call(this,"PC11",a);this.C=Af(this,a.autoMount);this.b=0;this.I=+a.baudReceive||3600;this.m=this.o=this.a=0;this.i=[];this.h=Bf;this.f=Cf;this.w=this.g="";this.N=this.Z=this.Y=null;this.G=-1;this.F=!Pa("Mobi")&&window&&"FileReader"in window;this.s=null;this.H=-1;this.v=null}n(rc,r);
function Af(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=rc.prototype;
h.ca=function(a,b,c){var d=this,e=Cf;switch(b){case "listTapes":return this.j[b]=c,c.onchange=function(){var a=d.j.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("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.j[b]=c,!0;case "readTape":e=Df;case "loadTape":return e||(e=Ef),this.j[b]=c,c.onclick=
function(){var a=d.j.listTapes;a&&Ff(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.j[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;Ff(d,F(b,!0),b,Ef,a)}return!1};return!0;case Gf:return this.j[b]=c,!0}return!1};
h.aa=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;this.v=Hf(a);var e=this;if(a=Af(this,Jc(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.s=kc(this.c,56,4,4096);this.H=ic(this.c,function(){1==(e.a&32769)&&!(e.a&128)&&e.m<e.i.length&&(e.o=e.i[e.m++]&255,If(e,e.m/e.i.length*100),e.a|=128,e.a&=-2049,e.a&64&&N(e.c,e.s))});kb(b,this,Jf);mb(b,this.reset.bind(this));Kf(this,"None",Bf,!0);this.F&&Kf(this,"Local Tape",Lf);Kf(this,"Remote Tape",Mf);Nf(this)||D(this)};
h.ha=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){this.a&=-2241;this.o=0};function Nf(a){a.b=0;var b=a.C.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.j.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=F(c,!0)}c&&b?Of(a,b,c,Ef,!0):Pf(a)}return!!a.b}
function Ff(a,b,c,d,e){if(c)if(c==Lf)a.B('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Mf){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"');a.h=Mf}else a.h=c;Of(a,b,c,d,!1,e)}else Qf(a,!1)}function Of(a,b,c,d,e,f){var g=-1;if(a.g.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,Qf(a,!0),a.l.Ta?a.B("PC11 busy"):(e&&a.b++,Rf(a,b,c,d,f)?g++:a.l.Ta=!0);g&&Sf(a,a.w,a.g,a.f,a.N,a.Z,a.Y)}
function Rf(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),Sf(a,b,c,d,e),a.h=Lf);Pf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ba(c),f="json"==e||"gz"==e?encodeURI(c):Ka()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!G(f,null,!0,function(e,f,g){var k=0>g&&!!a.A&&!a.A.l.R;g?a.B('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(qa(a.Ma,e,f),(e=Ja(e,f))&&Sf(a,b,c,d,e.N,e.Z,e.Y));
a.l.Ta=!1;a.b&&(a.b--,a.b||D(a));Pf(a)})}function Kf(a,b,c,d){if((a=a.j.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 Pf(a){var b=a.j.listTapes;if(b&&b.options){a=a.h||a.g;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 If(a,b){b|=0;if(b!==a.G){var c=a.j[Gf];c&&(c=(c=C(c,Tf))&&c[0])&&c.style&&(c.style.width=b+"%");a.G=b}}function Sf(a,b,c,d,e,f,g){a.w=b;a.g=c;a.f=d;a.N=e;a.Z=f;a.Y=g;d==Df?a.v&&uf(a.v,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.B('No valid memory address for tape "'+b+'"'):(a.m=0,a.i=e,a.status('Loaded tape "'+b+'"'),If(a,0))}function Qf(a,b){if(a.g||!1===b)a.w="",a.g="",b||(a.f&&a.status(a.f==Ef?"tape detached":"tape unloaded"),a.h=Bf,a.f=Cf,Pf(a))}h.save=function(){return(new J(this)).data()};
h.restore=function(){return!0};h.Id=function(){return this.a&65534};h.Se=function(a){a&1&&(this.a&32768?(a&=-2,this.a&64&&N(this.c,this.s)):(this.a&=-129,this.a|=2048,this.o=0,jc(this.c,this.H,1E3/Math.round(this.I/10))));this.a=this.a&-66|a&65};h.Hd=function(){this.a&=-129;this.a|=2048;return this.o};h.Re=function(){};
var Bf="",Lf="?",Mf="??",Cf=0,Ef=1,Df=2,Gf="readProgress",Tf="pcjs-progress-bar",Uf={},Jf=(Uf[65384]=[null,null,rc.prototype.Id,rc.prototype.Se,"PRS"],Uf[65386]=[null,null,rc.prototype.Hd,rc.prototype.Re,"PRB"],Uf);
function Vf(a,b,c){r.call(this,"Disk",{id:a.Ma+".disk"+Aa(++Wf,4)},0,8192);this.controller=a;this.A=a.A;this.D=a.D;this.h=b;this.na=b.name;this.ba=this.Ib="";this.Ab=b.Ab;this.J=this.O=this.M=this.U=this.mode=0;this.a=[];this.f=null;this.g=!1;Xf(this,c,b.J,b.O,b.M,b.U);this.b=this.i=null;D(this)}n(Vf,r);h=Vf.prototype;h.aa=function(a,b,c,d){this.D=d};
function Xf(a,b,c,d,e,f){a.mode=b;a.J=c;a.O=d;a.M=e;a.U=f;a.a=[];if("preload"!=a.mode){b=Array(a.J);for(c=0;c<b.length;c++){d=Array(a.O);for(e=0;e<d.length;e++){f=Array(a.M);for(var g=1;g<=f.length;g++)f[g-1]=Yf(null,c,e,g,a.U,0);d[e]=f}b[c]=d}a.a=b}a.f=null}
function Zf(a,b,c,d,e){var f=c;if(a.b)return!0;a.na=b;a.ba=c;a.Ib=F(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=pa[d];if(e){a.J=e[0];a.O=e[1];a.M=e[2];a.U=e[3]||512;c=a.U>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.J);for(d=0;d<a.a.length;d++)for(var x=a.a[d]=Array(a.O),w=0;w<x.length;w++)for(var Y=x[w]=Array(a.M),Da=0;Da<Y.length;Da++){for(var fc=Yf(null,d,w,Da+1,a.U,0),Wg=fc.data,zc=0;zc<c;zc++,f+=4)var Xg=Wg[zc]=b.getInt32(f,
!0),e=e+Xg&-1;fc.ia=c;Y[Da]=fc}a.f=e;c=a}else a.B("Unrecognized disk format ("+d+" bytes)");a.b&&(a.b.call(a.controller,a.h,c,a.na,a.ba),a.b=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ba(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"):Ca(c,"/")&&(d="dir"),f=Ka()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Ab?"":e)+"&format=json"));return!!G(f,
null,!0,function(b,c,d){$f(a,b,c,d)})}
function $f(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.na+'" (error '+d+": "+b+")",f);else{qa(a.controller.Ma,b,c);try{if(0<F(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.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)v(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,Y=x.length;Y<w;Y++)x[Y]=p;ag(l,x)}else t=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=t;delete l.bytes}Yf(l,d,f);for(w=0;w<
t.length;w++)c=c+t[w]&-1}a.a=k;a.f=c;e=a}else v("Empty disk image: "+a.na)}catch(Da){v("Disk image error ("+b+"): "+Da.message)}}a.b&&(a.b.call(a.i,a.h,e,a.na,a.ba),a.b=null)}function Yf(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Gg=b;a.Hg=c;a.ra=a.ia=0;a.xa=!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]=Yf(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]=Yf(null,a,b,f.Wb,f.Yb,0))}}e&&e(d,!1);return d};function ag(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.ia?f<a.ra?(a.ia+=a.ra-f,a.ra=f):f>=a.ra+a.ia&&(a.ia+=f-(a.ra+a.ia)+1):(a.ra=f,a.ia=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function bg(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 cg(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 dg(a){for(var b="",c=0,d;d=bg(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(cg(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.ba,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.ia){for(var k=[],l=0,m=g.ra,p=g.ra+g.ia;m<p;)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.a.length&&6<=e.length?Xf(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.ra=e;for(k.ia=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.B("Unable to restore disk '"+this.na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=bg(this,a++);)eg(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 eg(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 Wf=0;function Q(a){r.call(this,"RK11",a,0,65536);this.o=fg(this,a.autoMount);this.m=0;this.f=Array(8);this.s=!Pa("Mobi")&&window&&"FileReader"in window;this.Ja=null;this.w=this.b=this.a=this.i=this.h=this.g=this.v=0}n(Q,r);
function fg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Q.prototype;
h.ca=function(a,b,c){var d=this;switch(b){case "listDisks":return this.j[b]=c,c.onchange=function(){var a=d.j.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){v("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.j[b]=c,c.onchange=function(){var a=E(c.value);null!=a&&gg(d,a)},
!0;case "loadDisk":return this.j[b]=c,c.onclick=function(){var a=d.j.listDisks;a&&a.options&&hg(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.j[b]=c,c.onclick=function(){var a,b=d.j.listDrives,b=b&&E(b.value);null==b||0>b||b>=d.f.length||!(a=d.f[b])?d.B("Unable to boot the selected drive"):a.T?(Wc(d.c,0,!0),(a=d.sc(a,0,0,0,512,0,2))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.s){c.parentNode.removeChild(c);
break}this.j[b]=c;c.onclick=function(){var a=d.j.listDrives;a&&a.options&&d.f&&((a=d.f[E(a.value)||0])?(a=a.T)?(a=Sa(dg(a),a.Ib.replace(".json",".img")),v(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.s)return this.j[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;hg(d,F(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.aa=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;if(a=fg(this,Jc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.o[e]=a[e]);ig(this);this.Ja=kc(this.c,144,5,65536);kb(b,this,jg);mb(b,this.reset.bind(this));kg(this,"None",lg,!0);this.s&&kg(this,"Local Disk",mg);kg(this,"Remote Disk",ng);og(this)||D(this)};
h.ha=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.A.m){for(a=0;a<this.f.length;a++)pg(this,a,!0);og(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";gg(this,0)}}return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){ig(this)};h.save=function(){return(new J(this)).data()};
h.restore=function(a){return ig(this,a[0])};function og(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=F(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)){!qg(a,g,f,e,!0)&&b&&D(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.m}
function hg(a,b,c,d){var e=a.j.listDrives,e=e&&E(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==mg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==ng){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"')}qg(a,e,b,c,!1,d)}else pg(a,e)}
function qg(a,b,c,d,e,f){var g=-1,k=a.f[b];k.ba.toLowerCase()!=d.toLowerCase()&&(g++,pg(a,b,!0),k.Va?a.B("RK11 busy"):(k.Va=!0,e&&(k.Ua=!0,a.m++),k.ya=!!f,Zf(new Vf(a,k,"preload"),c,d,f,a.Mc)&&g++));return g}h.Mc=function(a,b,c,d,e){a.Va=!1;b&&(b.J>a.J||b.O>a.O)&&(this.B('Disk "'+c+'" too large for drive '+("RK"+a.Ia)),b=null);b?(a.T=b,a.na=c,a.ba=d,this.B('Loaded disk "'+c+'" in drive '+("RK"+a.Ia),a.Ua||e),this.A&&Qc(this.A)):a.ya=!1;a.Ua&&(a.Ua=!1,--this.m||D(this));gg(this,a.Ia)};
function kg(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 gg(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=E(a.value),c=c.ya?mg:c.ba,!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 pg(a,b,c){var d=a.f[b];if(d.T||!1===c)d.na="",d.ba="",d.T=null,d.ya=!1,c||(a.B("Drive RK"+b+" unloaded",c),gg(a,b))}
function ig(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.Ia=b;d.name=c.La;d.Va=d.ya=!1;d.J=203;d.O=2;d.M=12;d.U=512;d.Ab=!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.ba="");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&&(Fb(this.u,fd(this.c,f),x|w<<8),hc(this.u))){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=Hb(this.u,fd(this.c,f));if(hc(this.u)){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,Y;if(0>(w=a.read(p,t++))||0>(Y=a.read(p,t++))){m=32;break}if(x!=(w|Y<<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;rg(this);return!0};function rg(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.df=function(){};h.Vd=function(){return this.b};h.ef=function(){};h.Rd=function(){return this.a&61438};
h.af=function(a){this.a=this.a&-3968|a&3967;if(this.a&1){a=!0;var b,c,d=(this.g&57344)>>13,e=this.f[d],f,g,k,l,m,p;this.a&=-8321;this.b&=-4;switch(c=this.a&14){case 0:this.b=this.g=0;this.a=128;break;case 10:case 4:b=this.sc;case 6:case 2:b||(b=this.Nc);f=(this.g&8160)>>5;g=(this.g&16)>>4;k=this.g&15;l=65536-this.i&65535;m=(this.a&48)<<12|this.h;p=this.a&2048?0:2;if(f>=e.J){this.b|=64;break}if(k>=e.M){this.b|=32;break}a=b.call(this,e,f,g,k,l,m,p,6<=c,this.Lc.bind(this));break;case 8:f=(this.g&8160)>>
5;f<e.J?this.a|=8192:this.b|=64;break;case 12:this.b=this.g=0,this.a=8320}this.w=e.status|(e.T?128:0)|d<<13|this.g&15;rg(this);a&&(this.a&=-2,this.a|=128,this.a&64&&N(this.c,this.Ja))}};h.Wd=function(){return this.i};h.ff=function(a){this.i=a};h.Qd=function(){return this.h};h.$e=function(a){this.h=a};h.Sd=function(){return this.g};h.bf=function(a){this.g=a};h.Td=function(){return this.v};h.cf=function(a){this.v=a};
var lg="",mg="?",ng="??",sg={},jg=(sg[65280]=[null,null,Q.prototype.Ud,Q.prototype.df,"RKDS"],sg[65282]=[null,null,Q.prototype.Vd,Q.prototype.ef,"RKER"],sg[65284]=[null,null,Q.prototype.Rd,Q.prototype.af,"RKCS"],sg[65286]=[null,null,Q.prototype.Wd,Q.prototype.ff,"RKWC"],sg[65288]=[null,null,Q.prototype.Qd,Q.prototype.$e,"RKBA"],sg[65290]=[null,null,Q.prototype.Sd,Q.prototype.bf,"RKDA"],sg[65294]=[null,null,Q.prototype.Td,Q.prototype.cf,"RKDB"],sg);
function P(a){r.call(this,"RL11",a,0,131072);this.s=tg(this,a.autoMount);this.o=0;this.b=Array(4);this.v=!Pa("Mobi")&&window&&"FileReader"in window;this.Ja=null;this.a=this.m=this.f=this.g=this.i=this.h=0;this.exports={selectDrive:this.xe}}n(P,r);function tg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=P.prototype;
h.ca=function(a,b,c){var d=this;switch(b){case "listDisks":return this.j[b]=c,c.onchange=function(){var a=d.j.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){v("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.j[b]=c,c.onchange=function(){var a=E(c.value);null!=a&&ug(d,a)},
!0;case "loadDisk":return this.j[b]=c,c.onclick=function(){var a=d.j.listDisks;a&&a.options&&vg(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.j[b]=c,c.onclick=function(){var a,b=d.j.listDrives,b=b&&E(b.value);null==b||0>b||b>=d.b.length||!(a=d.b[b])?d.B("Unable to boot the selected drive"):a.T?(Wc(d.c,0,!0),(a=d.tc(a,0,0,0,512,0))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.v){c.parentNode.removeChild(c);
break}this.j[b]=c;c.onclick=function(){var a=d.j.listDrives;a&&a.options&&d.b&&((a=d.b[E(a.value)||0])?(a=a.T)?(a=Sa(dg(a),a.Ib.replace(".json",".img")),v(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.v)return this.j[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;vg(d,F(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.aa=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;if(a=tg(this,Jc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.s[e]=a[e]);wg(this);this.Ja=kc(this.c,112,5,131072);kb(b,this,xg);mb(b,this.reset.bind(this));yg(this,"None",zg,!0);this.v&&yg(this,"Local Disk",Ag);yg(this,"Remote Disk",Bg);Cg(this)||D(this)};
h.ha=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.A.m){for(a=0;a<this.b.length;a++)Dg(this,a,!0);Cg(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";ug(this,0)}}return!0};h.ga=function(a){return a?this.save():!0};h.reset=function(){wg(this)};h.save=function(){return(new J(this)).data()};
h.restore=function(a){return wg(this,a[0])};function Cg(a,b){b||(a.o=0);for(var c in a.s){var d=a.s[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=F(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)){!Eg(a,g,f,e,!0)&&b&&D(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.o}
function vg(a,b,c,d){var e=a.j.listDrives,e=e&&E(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==Ag)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Bg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"')}Eg(a,e,b,c,!1,d)}else Dg(a,e)}
function Eg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.ba.toLowerCase()!=d.toLowerCase()&&(g++,Dg(a,b,!0),k.Va?a.B("RL11 busy"):(k.Va=!0,e&&(k.Ua=!0,a.o++),k.ya=!!f,Zf(new Vf(a,k,"preload"),c,d,f,a.Pc)&&g++));return g}h.Pc=function(a,b,c,d,e){a.Va=!1;b&&(b.J>a.J||b.O>a.O)&&(this.B('Disk "'+c+'" too large for drive '+("RL"+a.Ia)),b=null);b?(a.T=b,a.na=c,a.ba=d,this.B('Loaded disk "'+c+'" in drive '+("RL"+a.Ia),a.Ua||e),this.A&&Qc(this.A)):a.ya=!1;a.Ua&&(a.Ua=!1,--this.o||D(this));ug(this,a.Ia)};
function yg(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 ug(a,b,c){var d=!1;if(0<=b&&b<a.b.length){var e=a.b[b],f=a.j.listDisks;a=a.j.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(E(a.options[c].value)==e.Ia){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=E(a.value);e=e.ya?Ag:e.ba;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.xe=function(a){var b=this.j.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=E(b.options[d].value);if(0<=e)return ug(this,e,!0)}return!1};function Dg(a,b,c){var d=a.b[b];if(d.T||!1===c)d.na="",d.ba="",d.T=null,d.ya=!1,c||(a.B("Drive RL"+b+" unloaded",c),ug(a,b))}
function wg(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.Ia=b;d.name=c.La;d.Va=d.ya=!1;d.J=512;d.O=2;d.M=40;d.U=256;d.Ab=!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.ba="");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}Fb(this.u,fd(this.c,f),p|t<<8);if(hc(this.u)){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=Hb(this.u,fd(this.c,f));if(hc(this.u)){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};
Va(function(){for(var a=C(document,B,"device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new M(c);A(c,d);break;case "pc11":c=new sc(c);A(c,d);break;case "rl11":c=new P(c);A(c,d);break;case "rk11":c=new Q(c),A(c,d)}}});
function I(a,b,c,d,e,f){this.b=a;this.id=tc+=2;this.c=null;this.Ta=b;this.wb=c;this.size=d||0;this.type=e||uc;this.A=e==vc;this.controller=null;this.hb=this.i=this.cc;this.V=this.C=this.dc;this.kb=this.j=this.yb;this.nb=this.m=this.gc;this.g=this.h=0;Tb(this);this.xa=this.ad=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],wc(this,f.Vc);else if(cb)this.f=new ArrayBuffer(this.size),this.u=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),wc(this,xc?yc:Ac);else{a=this.c=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;wc(this,Bc)}else wc(this)}h=I.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(cb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.u.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(cb)for(b=0;b<a.length;b++)this.u.setInt32(b<<2,a[b],!0);else this.c=a;return this.xa=!0}return!1};function wc(a,b){b||(b=Cc);Dc(a,b,void 0);Ec(a,b,void 0)}function Dc(a,b,c){c&&a.g||(a.hb=b[0]||a.cc,a.V=b[2]||a.dc);if(c||void 0===c)a.i=b[0]||a.cc,a.C=b[2]||a.dc}function Ec(a,b,c){c&&a.h||(a.kb=!a.A&&b[1]||a.yb,a.nb=!a.A&&b[3]||a.gc);if(c||void 0===c)a.j=b[1]||a.yb,a.m=b[3]||a.gc}
function Tb(a,b){a.g=a.h=0;b&&((a.g=b.g)&&Dc(a,Fc,!1),(a.h=b.h)&&Ec(a,Fc,!1))}h.cc=function(a,b){K(this.b,b,32);return 255};h.yb=function(a,b,c){K(this.b,c,32)};h.dc=function(a,b){return this.hb(a++,b++)|this.hb(a,b)<<8};h.gc=function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)};h.sd=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.re=function(a,b){eb&&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.Ee=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.xa=!0};h.Cf=function(a,b,c){eb&&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.xa=!0};h.qd=function(a,b){return this.i(a,b)};h.oe=function(a,b){return this.C(a,b)};h.Ce=function(a,b,c){this.A?this.yb(0,0,c):this.j(a,b,c)};h.Af=function(a,b,c){this.A?this.yb(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){eb&&a&1&&K(this.b,b,64);return this.u.getUint16(a,!0)};h.qe=function(a,b){eb&&a&1&&K(this.b,b,64);return!fb&&a&1?this.a[a]|this.a[a+1]<<8:this.o[a>>1]};h.Be=function(a,b){this.a[a]=b;this.xa=!0};h.De=function(a,b){this.a[a]=b;this.xa=!0};h.zf=function(a,b,c){eb&&a&1&&K(this.b,c,64);this.u.setUint16(a,b,!0);this.xa=!0};h.Bf=function(a,b,c){eb&&a&1&&K(this.b,c,64);!fb&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.o[a>>1]=b;this.xa=!0};
var uc=0,ec=1,vc=2,Vb=4,$b=["NONE","RAM","ROM","VID","H/W"],tc=0,Cc=[],Bc=[I.prototype.sd,I.prototype.Ee,I.prototype.re,I.prototype.Cf],Fc=[I.prototype.qd,I.prototype.Ce,I.prototype.oe,I.prototype.Af];if(cb)var Ac=[I.prototype.pd,I.prototype.Be,I.prototype.ne,I.prototype.zf],yc=[I.prototype.rd,I.prototype.De,I.prototype.qe,I.prototype.Bf];var Gc;if(cb){var Hc=new ArrayBuffer(2);(new DataView(Hc)).setUint16(0,256,!0);Gc=256===(new Uint16Array(Hc))[0]}else Gc=!1;var xc=Gc;
function Ic(a,b){r.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.hc=0;this.Nb=b;this.Ra=c;this.Vb=Math.round(this.Nb/1E4)/100;this.Xa=this.Vb*this.Ra;this.Wb=this.sb=this.$a=this.Ob=0;this.l.N=this.l.ec=!1;this.l.ba=a.autoStart;"string"==typeof this.l.ba&&(this.l.ba="true"==this.l.ba);this.l.Bb=!1;this.Lb=this.Za=0;this.Mb=+a.csStart;this.qb=+a.csInterval;this.rb=+a.csStop;this.W=[];this.qc=this.ve.bind(this);this.Fa=this.va=this.Ea=this.a=this.Y=this.ua=this.pb=this.Da=this.ab=
this.Xb=this.Oa=0;this.ma=null;D(this)}n(Ic,r);h=Ic.prototype;h.ca=function(a,b,c,d){this.A=a;this.u=b;this.C=d;this.ma=a.f;for(a=0;a<Jc.length;a++)(b=this.j[Jc[a]])&&this.A.ga(null,Jc[a],b);D(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ea=function(a,b){var c=Kc(this.A,"autoStart");null!=c?this.l.ba="true"==c?!0:"false"==c?!1:!!c:null==this.l.ba&&(this.l.ba=void 0===this.j.run);if(!b){if(a){Lc(this);if(!this.restore(a))return!1;Mc(this)}else this.reset();this.status("No debugger detected");this.l.ba||this.X("CPU will not be auto-started "+(this.ma?"(click Run to start)":"(type 'go' to start)"))}return!0};h.da=function(a){return a?this.save():!0};h.ba=function(){return this.l.N?!0:this.l.ba?(zb(this),!0):!1};h.xc=function(){return 0};
function Mc(a){void 0===a.Mb&&(a.Mb=0);void 0===a.qb&&(a.qb=-1);void 0===a.rb&&(a.rb=-1);a.l.Bb=0<=a.Mb&&0<a.qb;a.l.Bb&&(a.Lb=0,a.Za=a.Mb-a.Fa)}function Cb(a,b){if(a.l.Bb){var c=!1;a.Lb=a.Lb+a.xc()|0;a.Za-=b;0>=a.Za&&(a.Za+=a.qb,c=!0);0<=a.rb&&a.rb<=Nc(a)&&(a.qb=a.rb=-1,Mc(a),H(a),c=!0);c&&a.X(Nc(a)+" cycles: checksum="+Ba(a.Lb))}}
h.ga=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.S)a=!0;else{var b=null,c,k=y(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.S);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.l.ready?"powered yet":"ready yet"+(b.Db?" (waiting for notification)":""))+".");a=!1}a&&(d.l.N?H(d):zb(d))},!0;case "speed":return this.j[b]=
c,!0;case "setSpeed":return this.j[b]=c,c.onclick=function(){Oc(d,d.Ra<<1,!0)},c.textContent=this.Xa.toFixed(2)+"Mhz",!0}return!1};function Bb(a,b,c){a.Fa+=b;c&&(a.Ea=a.a=a.Y=0)}function Pc(a,b){var c=1;b&&1<a.Ra&&a.Oa&&(c=a.Oa/a.Vb);a.Wb=Math.round(1E3/Qc);a.sb=Math.floor(a.Nb/Qc*c);b||(a.$a=a.sb);a.Ob=0}function Nc(a){return a.Fa+a.va+a.Ea-a.a}function Lc(a){a.Oa=0;a.Xb=0;a.Fa=a.va=a.Ea=a.a=a.Y=0;Mc(a);Oc(a,1)}
function Oc(a,b,c){if(void 0!==b){.8>a.Oa/a.Xa&&(b=1);a.Ra=b;b=a.Vb*a.Ra;if(a.Xa!=b){a.Xa=b;b=a.Xa.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.X("target speed: "+b)}c&&a.A&&Rc(a.A)}Bb(a,a.va);a.va=0;a.ua=ta();a.Da=0;Pc(a)}function jc(a,b){var c=a.W.length;a.W.push([-1,b]);return c}function kc(a,b,c,d){0<=b&&b<a.W.length&&(d||0>a.W[b][0])&&(c=a.Nb*a.Ra/1E3*c|0,a.l.N&&(c+=Sc(a)),a.W[b][0]=c)}function Tc(a){for(var b=[],c=0;c<a.W.length;c++)b.push(a.W[c][0]);return b}
function Ab(a,b){for(var c=a.W.length-1;0<=c;c--){var d=a.W[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Sc(a,b){var c=a.Ea-=a.a;a.a=a.Y=0;b&&(a.Ea=0);return c}
h.ve=function(){if(this.l.N){this.Ob>=this.Nb&&Pc(this,!0);this.ab=0;this.pb=ta();if(this.Da){var a=this.pb-this.Da;a>this.Wb&&(this.ua+=a,this.ua>this.pb&&(this.ua=this.pb))}try{do{for(var b,c=this.l.Bb?1:this.sb,d=this.W.length-1;0<=d;d--){var e=this.W[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Sb(b)}catch(f){if("number"!=typeof f)throw f;}b=Sc(this,!0);this.ab+=b;this.va+=b;Cb(this,b);Ab(this,b);this.$a-=b;if(0>=this.$a){this.$a+=this.sb;++this.Xb>=Uc&&(this.A&&Db(this.A,void 0),this.Xb=0);break}}while(this.l.N)}catch(f){H(this);
this.A&&this.A.stop(ta(),Nc(this));xa(this,f.stack||f.message);return}if(this.l.N){a=setTimeout;b=this.qc;this.Da=ta();c=this.Wb;this.ab&&(c=Math.round(c*this.ab/this.sb));c-=this.Da-this.pb;if(d=this.Da-this.ua)this.Oa=Math.round(this.va/(10*d))/100,864E5<=d&&(this.Fa=0,Oc(this));if(0>c||this.Oa<this.Xa)-1E3>c&&(this.ua-=c),c=0;this.Ob+=this.ab;this.Da+=c;a(b,c)}}};
function zb(a){var b;a.l.error?(a.X(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.l.N)a.X(a.toString()+" busy");else{Oc(a);a.l.N=!0;a.l.ec=!0;if(b=a.j.run)b.textContent="Halt";a.A&&a.A.start(a.ua,Nc(a));a.C||a.status("Started");setTimeout(a.qc,0)}}h.Sb=function(){return 0};function H(a){var b=!1;if(a.l.N){Sc(a);Bb(a,a.va);a.va=0;a.l.N=!1;if(b=a.j.run)b.textContent="Run";a.A&&a.A.stop(ta(),Nc(a));b=!0;a.C||a.status("Stopped")}a.l.complete=void 0;return b}var Qc=30,Uc=15,Jc=["power","reset"];
function Vc(a){var b=+a.model||1170;Ic.call(this,a,6666667);this.qa=b;this.nc=+a.addrReset||0;this.wa=this.i=this.D=this.v=this.m=this.o=this.w=0;this.b=this.ra=this.ia=[];this.I=this.s=this.Ha=this.ub=[];this.Aa=this.F=this.mc=this.Ba=this.Pa=this.Qa=this.Ca=this.G=this.tb=this.Sa=this.Ga=this.H=this.eb=this.fb=this.na=this.g=0;this.Sc=[4,2,0,1];this.Pb=0;this.pc=255;1120>=this.qa?(this.lc=Wc.bind(this),this.Ya=this.Zc,this.Pb=8,this.pc=-1,this.sc=255,this.rc=0):(this.lc=Xc.bind(this),this.Ya=this.$c,
this.sc=~(1792|(1140>=this.qa?2048:0))&65535,this.rc=1140<this.qa?2048:0);this.Zb=this.Yb=this.cb=0;this.K=null;this.ob=[];this.Fb=this.ic=this.bd;this.Gb=this.Qb=this.dd;this.Rb=this.Tb=this.ye;this.Hb=this.Ub=this.Ae;this.ta=this.Eb=0;this.pa=this.yc;this.V=this.Bc;this.nb=this.Ec;this.h=this.f=this.Kb=this.L=this.R=0;this.l.complete=!1}n(Vc,Ic);h=Vc.prototype;h.ca=function(a,b,c,d){Ic.prototype.ca.call(this,a,b,c,d);this.ic=b.Fc.bind(b);this.Qb=b.zb.bind(b);this.Tb=b.Gc.bind(b);this.Ub=b.Ab.bind(b)};
h.ea=function(a,b){for(var c=192,d=0;d<this.ob.length;d++){var e=this.ob[d];0>e.xb&&(e.xb=c,c+=4)}return Ic.prototype.ea.call(this,a,b)};
h.reset=function(){this.status("Model "+this.qa);this.l.N&&H(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.nc,-1,-2,-3,-4,-5,-6,-7,-8];this.ra=[0,0,0,0,0,0];this.ia=[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.s=[[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.Ha=[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.ub=[0,0,0,0,0,0,0,0];this.D=0;this.wa=-1;this.h=this.f=this.Kb=this.L=this.R=this.g=this.tb=0;xb(this);Lc(this);this.l.error=!1;Ic.prototype.reset.call(this)};function xb(a){a.H=0;a.eb=0;a.fb=0;a.na=0;a.G=0;a.Sa=0;a.Ga=255;a.Ba=0;a.Pa=0;a.Qa=0;a.Ca=262143;a.Aa=a.b[7];a.F=0;a.K=null;a.u&&(pc(a),a.mc=dc(a.u))}
function pc(a){a.Fb=a.ic;a.Gb=a.Qb;a.Rb=a.Tb;a.Hb=a.Ub;a.Ba?(a.ta=65536,a.Eb=a.na&16?4186112:253952,a.pa=a.yc,a.V=a.Bc,a.nb=a.Ec,Wb(a.u,a.na&16?22:18)):(a.ta=0,a.Eb=57344,a.pa=a.cd,a.V=a.pe,a.nb=a.Df,Wb(a.u,16))}function oc(a,b){b&=-3073;if(a.H!=b){b&57344&&!(a.H&57344)&&(a.eb=a.F>>16&65535,a.fb=a.F&65535);a.H=b;a.Pa=(b&96)>>5;a.Qa=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ba!=c&&(a.Ba=c,pc(a))}}
function Yc(a,b,c){a.nc=b;a.u.reset();xb(a);R(a,b);rc(a,0);if(c){for(b=2;5>=b;b++)a.b[b]=0;a.l.N||zb(a)}else a.C?H(a)||a.C.g():!1===c&&H(a);!a.l.N&&a.ma&&a.ma.stop()}h.xc=function(){return 0};
h.save=function(){var a=new J(this);a.set(0,[this.b,this.ra,this.ia,this.I,this.s,this.Ha,this.ub,this.G,this.tb,this.Sa,this.Ga,this.H,this.eb,this.fb,this.na,this.Ba,this.Pa,this.Qa,this.Ca,this.Aa,this.g,this.F,this.wa,this.Yb,this.Zb]);a.set(1,[qc(this)]);a.set(2,[this.Fa,this.Ra,this.l.ba]);a.set(3,Zc(this));a.set(4,Tc(this));return a.data()};
h.restore=function(a){var b=ia(a[0]);this.b=b.next().value;this.ra=b.next().value;this.ia=b.next().value;this.I=b.next().value;this.s=b.next().value;this.Ha=b.next().value;this.ub=b.next().value;this.G=b.next().value;this.tb=b.next().value;this.Sa=b.next().value;this.Ga=b.next().value;this.H=b.next().value;this.eb=b.next().value;this.fb=b.next().value;this.na=b.next().value;this.Ba=b.next().value;this.Pa=b.next().value;this.Qa=b.next().value;this.Ca=b.next().value;this.Aa=b.next().value;this.g=b.next().value;
this.F=b.next().value;this.wa=b.next().value;this.Yb=b.next().value;this.Zb=b.next().value;b=a[1];rc(this,b[0]);b=a[2];this.Fa=b[0];Oc(this,b[1]);this.l.ba=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ob.length;d++){var e=this.ob[d];if(e.xb===b[c]){d=e;break a}}d=null}d&&(d.next=this.K,this.K=d)}a=a[4];for(b=0;b<this.W.length&&b<a.length;b++)this.W[b][0]=a[b];return!0};function $c(a){return a.v&65536?1:0}function ad(a){return a.w&32768?8:0}
function bd(a,b){var c=a.b[7];a.b[7]=c+b&65535;return c}function S(a,b,c){c&&(R(a,a.b[7]+(b<<24>>23)),a.a-=2);a.a-=3}function R(a,b){a.b[7]=b&65535}function lc(a,b,c,d){b={xb:b,gb:c,message:d||0,name:gb[b],next:null};a.ob.push(b);return b}function nc(a,b){var c=a.K;if(c==b)a.K=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.K&&(a.g|=1)}
function N(a,b){if(b){if(b!=a.K){var c=a.K;if(!c||c.gb<=b.gb)b.next=c,a.K=b;else{do{var d=c.next;if(!d||d.gb<=b.gb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}}function Zc(a){var b=[];for(a=a.K;a;)b.push(a.xb),a=a.next;return b}function cd(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 qc(a){return a.i=a.i&63728|ad(a)|(a.o&65535?0:4)|(a.m&32768?2:0)|$c(a)}
function rc(a,b){b&=a.sc;a.w=b<<12;a.o=~b&4;a.m=b<<14;a.v=b<<16;if((b^a.i)&a.rc)for(var c=a.ra.length;0<=--c;){var d=a.b[c];a.b[c]=a.ra[c];a.ra[c]=d}a.D=b>>14&3;c=a.i>>14&3;a.D!=c&&(a.ia[c]=a.b[6],a.b[6]=a.ia[a.D]);a.i=b;a.g&=-3;a.g|=a.K?2:1}h.ha=function(a){this.w=this.o=a;this.m=0};h.La=function(a,b){this.w=this.o=this.v=a;this.m=b||0};function dd(a,b){a.w=a.o=a.v=b;a.m=a.w^a.v>>1}function ed(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.cb){0>a.wa?a.wa=qc(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.V(b|a.ta),f=a.V(b+2&65535|a.ta);rc(a,f&-12289|a.wa>>2&12288);fd(a,a.wa);fd(a,a.b[7]);R(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.wa=-1;a.Yb=d;a.Zb=b;-1==d&&H(a);if(-4<=d)throw b;}}function gd(a){var b=hd(a),c=hd(a);a.i&49152&&(c=c&-225|a.i&63712);R(a,b);rc(a,c);a.g&=-17}
function id(a,b){var c=b>>13&31;31>c&&(b=a.na&32?a.Ha[c]+(b&8191)&4194303:b&-3932161);return b}
function Hb(a,b,c){var d,e,f;if(!(c&a.Ba))return f=b&65535,57344<=f&&(f|=a.Eb),f;d=b>>13;a.na&a.Sc[a.D]||(d&=7);e=a.s[a.D][d];f=(a.I[a.D][d]<<6)+(b&8191)&a.Ca;3932160<=f&&(f=id(a,f));if(a.cb)return f;f>=a.mc&&f<a.Eb?(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.s[a.D][d]=e;if(f!=(4194170&a.Ca)||a.D)a.Pa=a.D,a.Qa=d;g&&(g&57344&&(0<=a.wa&&(g|=128),a.H&57344||(g|=a.H&4096|a.Pa<<5|a.Qa<<1,oc(a,a.H&-61695|g&61694)),L(a,168,64,-2)),a.H&61440||!(f<(4191360&a.Ca)||f>(4194239&a.Ca))||(a.H|=4096,a.H&512&&(a.g|=64)));return f}function hd(a){var b=a.V(a.b[6]|a.ta);a.b[6]=a.b[6]+2&65535;return b}function fd(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.Ya(4,-2,c);a.nb(c,b)}
function jd(a,b,c,d){var e,f,g=d&8?0:a.ta;switch(b){case 0:return L(a,4,0,-3),0;case 1:return 6==c&&a.Ya(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.Ya(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.V(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.Ya(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.V(e)|g;a.a-=8;break;case 6:return e=a.V(bd(a,2)),e=e+a.b[c]&65535,6==c&&a.Ya(d,0,
e),a.a-=6,e|g;case 7:return e=a.V(bd(a,2)),e=e+a.b[c]&65535,e=a.V(e|a.ta),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.Ga&&(this.g|=32)};h.$c=function(a,b,c){this.D||(65534<=c&&(c|=-65536),a&4&&c<=this.Ga&&(c<=this.Ga-32?L(this,4,0,-4):(this.G|=8,this.g|=32)))};h.bd=function(a){return this.ic(a)};h.dd=function(a){return this.Qb(a)};h.ye=function(a,b){this.Tb(a,b)};h.Ae=function(a,b){this.Ub(a,b)};
h.cd=function(a,b,c){return jd(this,a,b,c)};h.yc=function(a,b,c){return Hb(this,jd(this,a,b,c),c)};h.pe=function(a){return this.u.zb(this.Aa=a)};h.Bc=function(a){return this.u.zb(this.Aa=Hb(this,a,2))};h.Df=function(a,b){this.u.Ab(this.Aa=a,b)};h.Ec=function(a,b){this.u.Ab(this.Aa=Hb(this,a,4),b)};
function kd(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=jd(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.D=a.i>>12&3,c=a.V(d|c&a.ta),a.D=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.ia[a.i>>12&3];return c}function ld(a,b,c,d){a.F=a.F&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=jd(a,b,e,4),c&65536||(e&=65535),a.D=a.i>>12&3,e=Hb(a,e|c&65536,4),a.D=a.i>>14&3,a.Hb(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.ia[a.i>>12&3]=d}
function md(a,b){b>>=6;var c=a.R=b&7;return(b=a.L=(b&56)>>3)?a.Fb(a.pa(b,c,3)):a.b[c+a.Pb]&a.pc}function nd(a,b){var c;b>>=6;var d=a.R=b&7;(b=a.L=(b&56)>>3)?c=a.Gb(a.pa(b,d,2)):c=a.b[d+a.Pb];return c}function od(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return jd(a,b,c,8)}function pd(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.Fb(a.pa(b,c,3)):a.b[c]&255}function qd(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.Gb(a.pa(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.Kb=a.pa(b,e,7),c=0>c?a.b[-c-1]&255:c,a.Rb(e,d.call(a,c,a.Fb(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.pa(b,e,6),a.Hb(e,d.call(a,0>c?a.b[-c-1]:c,a.Gb(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])}
function rd(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.pa(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.Rb(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 sd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.pa(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.Hb(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))}
h.Sb=function(a){this.l.complete=!0;var b=a?this.l.ec?0:1:-1;this.l.ec=!1;this.Ea=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.Sa&224)>>5,e=this.K&&this.K.gb>d?this.K:null;e&&(c=e.xb,d=e.gb);d>(this.i&224)>>5?(this.g&8&&(bd(this,2),this.g&=-9),L(this,c,0,-10),d=!0):d=!1;d&&(e&&nc(this,e),a=!0);this.K||this.Sa||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.C.b(this.b[7],b)){H(this);break}if(0>b)break}if(this.g&112&&cd(this)){if(this.g&
4&&this.C.b(this.b[7],b)){H(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.F=this.b[7];e=this.V(a);this.b[7]=a+2&65535;this.lc(e)}while(0<this.a);return this.l.complete?this.Ea-this.a:!1===this.l.complete?-1:0};Va(function(){for(var a=C(document,B,"cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Vc(d);A(d,c)}});function td(a,b){var c=b+a;this.w=this.o=this.v=c;this.m=(a^c)&(b^c);return c&65535}
function ud(a,b){var c=b+a,d=c<<8;this.w=this.o=this.v=d;this.m=(a<<8^d)&(b<<8^d);return c&255}function vd(a,b){a=b<<1;dd(this,a);return a&65535}function wd(a,b){a=b<<1;dd(this,a<<8);return a&255}function xd(a,b){a=b&32768|b>>1|b<<16;dd(this,a);return a&65535}function yd(a,b){a=b&128|b>>1|b<<8;dd(this,a<<8);return a&255}function zd(a,b){a=b&~a;this.ha(a);return a}function Ad(a,b){a=b&~a;this.ha(a<<8);return a}function Bd(a,b){a|=b;this.ha(a);return a}function Cd(a,b){a|=b;this.ha(a<<8);return a}
function Dd(a,b){a=~b|65536;this.La(a);return a&65535}function Ed(a,b){a=~b|256;this.La(a<<8);return a&255}function Fd(a,b){this.w=this.o=a=b-a;this.m=b&(b^a);return a&65535}function Gd(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.o=c;this.m=b&(b^c);return a&255}function Hd(a,b){this.w=this.o=a=b+a;this.m=a&(b^a);return a&65535}function Id(a,b){a=b+a;var c=a<<8;this.w=this.o=c;this.m=c&(b<<8^c);return a&255}function Jd(a,b){a=-b;this.La(a,a&b&32768);return a&65535}
function Kd(a,b){a=-b;this.La(a<<8,(a&b&128)<<8);return a&255}function Ld(a,b){a=b<<1|this.v>>16&1;dd(this,a);return a&65535}function Md(a,b){a=b<<1|this.v>>16&1;dd(this,a<<8);return a&255}function Nd(a,b){a=(this.v&65536|b)>>1|b<<16;dd(this,a);return a&65535}function Od(a,b){a=((this.v&65536)>>8|b)>>1|b<<8;dd(this,a<<8);return a&255}function Pd(a,b){var c=b-a;ed(this,c,a,b);return c&65535}function Qd(a,b){var c=b-a;ed(this,c<<8,a<<8,b<<8);return c&255}
function Rd(a,b){this.w=this.o=b&65280;this.m=this.v=0;return(b<<8|b>>8)&65535}function Sd(a,b){a^=b;this.ha(a);return a&65535}function Td(a){U(this,a,nd(this,a),td);this.a-=this.h?9+(this.R&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}
function Ud(a){var b=qd(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.v=this.m=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.v=c<<17-b,c>>=b;else if(b)if(16<b)this.m=c,c=0;else{this.v=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.m=32768)}this.b[a]=c&65535;this.w=this.o=c;this.a-=(this.h?6:7)+b}
function Vd(a){var b=qd(this,a);a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.v=this.m=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.v=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.v=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.m=32768)):d=c;this.b[a]=d>>16&65535;this.b[a|1]=d&65535;this.w=d>>16;this.o=d>>16|d;this.a-=(this.h?6:7)+b}function Wd(a){S(this,a,!$c(this))}function Xd(a){S(this,a,$c(this))}
function Yd(a){U(this,a,nd(this,a),zd);this.a-=this.h?9+(this.R&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function Zd(a){T(this,a,md(this,a),Ad);this.a-=this.h?9+(this.R&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function $d(a){U(this,a,nd(this,a),Bd);this.a-=this.h?9+(this.R&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function ae(a){T(this,a,md(this,a),Cd);this.a-=this.h?9+(this.R&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}
function be(a){var b=nd(this,a);a=qd(this,a);this.ha((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.R&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function ce(a){var b=md(this,a);a=pd(this,a);this.ha(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.R&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function de(a){S(this,a,this.o&65535?0:4)}function ee(a){S(this,a,!ad(this)==!(this.m&32768))}function fe(a){S(this,a,!!(this.o&65535)&&!ad(this)==!(this.m&32768))}
function ge(a){S(this,a,!$c(this)&&!!(this.o&65535))}function he(a){S(this,a,(this.o&65535?0:4)||!ad(this)!=!(this.m&32768))}function ie(a){S(this,a,$c(this)||(this.o&65535?0:4))}function je(a){S(this,a,!ad(this)!=!(this.m&32768))}function ke(a){S(this,a,ad(this))}function le(a){S(this,a,!!(this.o&65535))}function me(a){S(this,a,!ad(this))}function ne(){L(this,12,0,-9)}function oe(a){S(this,a,!0)}function pe(a){S(this,a,!(this.m&32768))}function qe(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 re(a){var b=nd(this,a);a=qd(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;ed(this,c,a,b);this.a-=this.h?4+(this.R&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}function se(a){var b=md(this,a);a=pd(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);ed(this,c,a,b);this.a-=this.h?4+(this.R&&6<=this.f?1:0):(this.L?4:3)+(7==this.f?2:0)}
function te(a){var b=qd(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 ue(){L(this,24,0,-9);this.a-=20}
function ve(){this.i&49152?(this.G|=128,L(this,4,0,-8)):(this.ma&&1120==this.qa&&this.ma.setData(this.b[0],!0),this.C?this.C.i():H(this));this.a-=7}function we(){L(this,16,0,-9);this.a-=20}var xe=[0,7,7,10,7,11,9,13];function ye(a){this.Y=this.a;R(this,od(this,a));this.a=this.Y-xe[this.h]}var ze=[0,14,14,17,14,18,16,20];function Ae(a){this.Y=this.a;var b=od(this,a);a=a>>6&7;fd(this,this.b[a]);this.b[a]=this.b[7];R(this,b);this.a=this.Y-ze[this.h]}var Be=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
function Ce(a){var b=nd(this,a);this.Y=this.a;sd(this,a,b,this.ha);this.a=this.Y-Be[(this.L?8:0)+this.h]+(7!=this.f||this.h?0:2)}function De(a){var b=md(this,a);rd(this,a,b,65535,this.ha);this.a-=this.h?9+(this.R&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}var Ee=[7,13,13,17,14,18,17,21];function Fe(a){var b=qd(this,a);a=a>>6&7;b=(b<<16>>16)*(this.b[a]<<16>>16);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;b|=0;this.w=b>>16;this.o=this.w|b;this.m=0;this.v=-32768>b||32767<b?65536:0;this.a-=23}
function Ge(){this.a-=5}function He(){this.i&49152||(this.u.reset(),xb(this),this.ma&&this.ma.setData(this.b[0],!0));this.a-=667}function Ie(a){if(a&8)L(this,8,0,-9);else{var b=hd(this);a&=7;7==a?R(this,b):(R(this,this.b[a]),this.b[a]=b);this.a-=9}}function Je(){gd(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 Ke(a){var b=(a&448)>>6;if(this.b[b]=this.b[b]-1&65535)R(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}
function Le(a){U(this,a,nd(this,a),Pd);this.a-=this.h?9+(this.R&&6<=this.f?1:0):(this.L?5:3)+(7==this.f?2:0)}function Me(a){U(this,a,0,Rd);this.a-=this.h?9:3+(7==this.f?2:0)}function Ne(){L(this,28,0,-9)}function Oe(){this.ma&&(this.ma.la=this.b[7],this.ma.setData(this.b[0],!0));this.g|=8;bd(this,-2);this.a-=3}function Pe(a){U(this,a,this.b[(a>>6&7)+this.Pb],Sd);this.a-=this.h?9:3+(7==this.f?2:0)}function X(){L(this,8,0,-9)}function Wc(a){Qe[a>>12].call(this,a)}
function Re(a){Se[a>>6&3].call(this,a)}function Te(a){Ue[a>>6&3].call(this,a)}function Ve(a){We[a>>6&3].call(this,a)}function Xe(a){Ye[a&15].call(this,a)}function Ze(a){$e[a&15].call(this,a)}function af(a){bf[a>>6&3].call(this,a)}function cf(a){df[a>>6&3].call(this,a)}function ef(a){ff[a>>6&3].call(this,a)}
var Qe=[function(a){gf[a>>8&15].call(this,a)},Ce,re,be,Yd,$d,Td,X,function(a){hf[a>>8&15].call(this,a)},De,se,ce,Zd,ae,Le,X],gf=[function(a){jf[a>>4&15].call(this,a)},oe,le,de,ee,je,fe,he,Ae,Ae,Re,Te,Ve,X,X,X],Se=[function(a){sd(this,a,0,this.La);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Dd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,1,Hd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,1,Fd);this.a-=this.h?9:3+(7==this.f?2:0)}],Ue=[function(a){U(this,a,0,Jd);
this.a-=this.h?11:6},function(a){U(this,a,$c(this)?1:0,td);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,$c(this)?1:0,Pd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=qd(this,a);this.La(a);this.a-=this.h?4:3+(7==this.f?2:0)}],We=[function(a){U(this,a,0,Nd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,Ld);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,xd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){U(this,a,0,vd);this.a-=this.h?9:3+(7==this.f?2:0)}],jf=
[function(a){kf[a&15].call(this,a)},X,X,X,ye,ye,ye,ye,Ie,X,Xe,Ze,Me,Me,Me,Me],kf=[ve,Oe,Je,ne,we,He,X,X,X,X,X,X,X,X,X,X],Ye=[Ge,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],$e=[Ge,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],hf=[me,ke,ge,ie,pe,qe,Wd,Xd,ue,Ne,af,cf,ef,X,X,X],bf=[function(a){rd(this,
a,0,255,this.La);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Ed);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Id);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Gd);this.a-=this.h?9:3+(7==this.f?2:0)}],df=[function(a){T(this,a,0,Kd);this.a-=this.h?11:6},function(a){T(this,a,$c(this)?1:0,ud);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,$c(this)?1:0,Qd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=pd(this,a);this.La(a<<8);this.a-=this.h?4:3+
(7==this.f?2:0)}],ff=[function(a){T(this,a,0,Od);this.a-=this.h?9+(this.Kb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Md);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,yd);this.a-=this.h?9+(this.Kb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,wd);this.a-=this.h?9:3+(7==this.f?2:0)}];function Xc(a){lf[a>>12].call(this,a)}
var lf=[function(a){mf[a>>8&15].call(this,a)},Ce,re,be,Yd,$d,Td,function(a){nf[a>>8&15].call(this,a)},function(a){of[a>>8&15].call(this,a)},De,se,ce,Zd,ae,Le,X],mf=[function(a){pf[a>>4&15].call(this,a)},oe,le,de,ee,je,fe,he,Ae,Ae,Re,Te,Ve,function(a){qf[a>>6&3].call(this,a)},X,X],qf=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.V(a|this.ta);R(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=kd(this,a,0);this.ha(a);fd(this,a);this.a-=11},function(a){var b=hd(this);this.Y=
this.a;this.ha(b);ld(this,a,0,b);this.a=this.Y-Ee[this.h]},function(a){sd(this,a,ad(this)?65535:0,this.ha);this.a-=this.h?9:3+(7==this.f?2:0)}],pf=[function(a){rf[a&15].call(this,a)},X,X,X,ye,ye,ye,ye,Ie,function(a){!(a&8)||1145>this.qa?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)},Xe,Ze,Me,Me,Me,Me],rf=[ve,Oe,function(){gd(this);this.g|=this.i&16;this.a-=13},ne,we,He,Je,function(){L(this,8,0,-9)},X,X,X,X,X,X,X,X],nf=[Fe,Fe,te,te,Ud,Ud,Vd,Vd,Pe,Pe,X,
X,X,X,Ke,Ke],of=[me,ke,ge,ie,pe,qe,Wd,Xd,ue,Ne,af,cf,ef,function(a){1145>this.qa?L(this,8,0,-9):sf[a>>6&3].call(this,a)},X,X],sf=[function(){L(this,8,0,-9)},function(a){a=kd(this,a,65536);this.ha(a);fd(this,a);this.a-=11},function(a){var b=hd(this);this.Y=this.a;this.ha(b);ld(this,a,65536,b);this.a=this.Y-Ee[this.h]},function(){L(this,8,0,-9)}];
function tf(a){r.call(this,"ROM",a,0,128);this.ja=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=F(this.g);if(this.g){a=this.g;var b=Ca(this.m);"json"!=b&&"hex"!=b&&(a=La()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;G(a,null,!0,function(a,b,f){f?(c.B("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(ra(c.Na,a,b),(a=Ka(a,b))?(c.b=a.O,c.ja=a.ja):c.g=null);uf(c)})}}n(tf,r);
h=tf.prototype;h.ca=function(a,b,c,d){this.u=b;this.c=c;this.C=d;uf(this)};h.ea=function(){this.ja&&(this.C&&this.C.a(this.id,this.h,this.a,this.ja),delete this.ja);return!0};h.da=function(){return!0};
function uf(a){if(!ya(a)){if(a.g){if(!a.b||!a.u)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a)xa(a,"ROM size ("+Ba(a.b.length,8,!0)+") does not match specified size ("+Ba(a.a,8,!0)+")");else{var b;a:{b=a.h;if(57344<=b&&b<57344+Ob){var c={},c=(c[b]=[tf.prototype.be,tf.prototype.mf,null,null,null,a.a>>1],c);if(lb(a.u,a,c)){a.status("Added "+a.a+"-byte ROM at "+Aa(b));b=a.i=!0;break a}}else if(Ub(a.u,b,a.a,vc)){for(c=0;c<a.b.length;c++)cc(a.u,b+c,a.b[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.f?
b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.u,g=d.a,k=[],l=d.h>>>f.h;0<g&&l<f.a.length;)k.push(f.a[l++]),g-=f.g;f=d.u;d=d.a;g=0;for(e>>>=f.h;0<d&&e<f.a.length;){l=k[g++];if(!l)break;f.a[e++]=l;d-=f.g}}a.i||delete a.b}}}D(a)}}h.be=function(a){return this.b[a-this.h]};h.mf=function(){};Va(function(){for(var a=C(document,B,"rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new tf(d);A(d,c)}});
function vf(a){r.call(this,"RAM",a);this.ja=this.b=null;this.f=+a.addr;this.g=+a.size;this.aa=a.load;this.Z=a.exec;null!=this.aa&&(this.aa=+this.aa);null!=this.Z&&(this.Z=+this.Z);this.h=!1;this.a=a.file;this.i=F(this.a);if(this.a){a=this.a;var b=Ca(this.i);"json"!=b&&"hex"!=b&&(a=La()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;G(a,null,!0,function(a,b,f){f?(c.B("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(ra(c.Na,a,b),(a=Ka(a,b))?(c.b=a.O,c.ja=a.ja,null==
c.aa&&(c.aa=a.aa),null==c.Z&&(c.Z=a.Z)):c.a=null);wf(c)})}}n(vf,r);vf.prototype.ca=function(a,b,c,d){this.u=b;this.c=c;this.C=d;wf(this)};vf.prototype.ea=function(){this.ja&&(this.C&&this.C.a(this.id,this.f,this.g,this.ja),delete this.ja);return!0};vf.prototype.da=function(){return!0};
function wf(a){if(a.u&&(!a.h&&a.g&&(Ub(a.u,a.f,a.g,ec)?a.h=!0:a.g=0),!ya(a))){if(!a.h)v("No RAM allocated");else if(a.a){if(!a.b||!a.u)return;xf(a,a.b,a.aa,a.Z,a.f)?a.status('Loaded image "'+a.i+'"'):a.B('Error loading image "'+a.i+'"')}D(a)}}
vf.prototype.reset=function(){if(this.h){for(var a=this.u,b=this.f,c=this.g,d=b&a.f,b=b>>>a.h;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(cb&&e.a)for(k=d;f--&&k<e.a.length;k++)e.a[k]=g;else for(k=d;f--&&k<e.size;k++)e.j(d,g,e.Ta+d);c-=a.g;b++;d=0}this.b&&xf(this,this.b,this.aa,this.Z,this.f,!0)}};
function xf(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){if(1!=m)break;if(l+6>=b.length)break;for(var l=l+2,p=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((p&255)+(p>>8)+(t&255)+(t>>8)),x=l,w=p-=6;0<p&&l<b.length;)m+=b[l++]&255,p--;if(p||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(w)for(;w--;)cc(a.u,t++,b[x++]&255);else t&1?g=!0:null==d&&(d=t);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<
b.length;e++)cc(a.u,c+e,b[e]);k=!0}if(k){if(null==d||g)H(a.c),f=!1;null!=d&&Yc(a.c,d,f)}return k}Va(function(){for(var a=C(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new vf(d);A(d,c)}});function yf(a){r.call(this,"Keyboard",a,0,1024);D(this)}n(yf,r);yf.prototype.ga=function(){return!1};yf.prototype.ca=function(a,b,c,d){this.A=a;this.c=c;this.C=d};Va(function(){for(var a=C(document,B,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new yf(d);A(d,c)}});
function Z(a){r.call(this,"SerialPort",a,0,262144);this.D=+a.adapter;this.K=+a.baudReceive||9600;this.Y=+a.baudTransmit||9600;this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.g=this.i=null;this.R=+a.tabSize;this.L=+a.charBOL;this.m=0;this.v=!0;this.H=this.F=null;this.I=this.W=-1;this.o=this.a=this.b=0;this.h=[];var b=a.binding;if("console"==b)this.i="";else{var c;a=zf;b&&(void 0===c&&(c="Panel"),(c=wa(c,this.id))&&(b=c.j[b])&&this.ga(null,a,b))}this.f=this.s=this.G=null;this.exports=
{connect:this.zc,receiveData:this.Ib,receiveStatus:this.ue,setConnection:this.ze}}n(Z,r);h=Z.prototype;
h.ga=function(a,b,c){var d=this;switch(b){case zf:return this.j[b]=this.g=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.kc:q.Kc:46==c?b=q.kc:a.ctrlKey&&c>=q.jc&&c<=q.Uc&&(b=c-(q.jc-q.Hc));b&&(a.preventDefault&&a.preventDefault(),d.Ib(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Jc&&(b=q.Ic);d.Ib(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.Ib(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ca=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.C=d;var e=this;this.H=lc(this.c,this.D?-1:48,4,262144);this.I=jc(this.c,function(){var a;a=-1;e.h.length&&(a=e.h.shift()&255,e.w&&97<=a&&122>a&&(a-=32),kc(e.c,e.I,1E3/Math.round(e.K/10)));0<=a&&(e.o=a,e.a&128?e.o|=49152:e.a|=128,e.a&64&&N(c,e.H))});this.F=lc(this.c,this.D?-1:52,4,262144);this.W=jc(this.c,function(){e.b|=128;e.b&64&&N(c,e.F)});lb(b,this,Af,this.D?64832+8*(this.D-1)-65392:0);nb(b,this.reset.bind(this));D(this)};
h.zc=function(a){if(!this.f){var b=Kc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ha(c[0]);if(d!=this.Ma)return;c=Ha(c[1]);if(this.f=va(c)){var e=this.f.exports;if(e){var f=e.connect;f&&f.call(this.f,this.v);if(this.s=e.receiveData){this.v=a;this.G=e.receiveStatus;this.status("Connected "+this.Na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.ea=function(a,b){if(!b)if(this.zc(this.v),!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.da=function(a){return a?this.save():!0};h.reset=function(){Bf(this)};h.save=function(){var a=new J(this);a.set(0,[]);return a.data()};h.restore=function(){return Bf(this)};function Bf(a){a.o=0;a.a=8192;a.b=128;a.h=[];return!0}h.Ib=function(a){if("number"==typeof a)this.h.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.h.push(b)}else this.h=this.h.concat(a);kc(this.c,this.I,1E3/Math.round(this.K/10));return!0};
h.ue=function(a){var b=this.a;this.a&=-12289;a&32&&(this.a|=8192);a&256&&(this.a|=4096);b!=this.a&&(this.a|=32768,this.a&32&&N(this.c,this.H))};h.ze=function(a,b){return this.f?!1:(this.f=a,this.s=b,!0)};h.Pd=function(){var a=this.a&65534;this.a&=-32769;return a};h.Ze=function(a){var b=a^this.a;this.a=this.a&-112|a&111;this.G&&b&6&&(b=0,b=this.v?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.G.call(this.f,b))};h.Od=function(){this.a&=-129;return this.o};h.Ye=function(){};h.te=function(){return this.b};
h.Ff=function(a){if(this.b&128)if(a&64)N(this.c,this.F);else{var b=this.F;b&&nc(this.c,b)}this.b=this.b&-70|a&69};h.se=function(){return 0};
h.Ef=function(a){a&=255;this.s&&this.s.call(this.f,a);a&=127;if(this.g)if(13==a)this.m=0;else if(8==a)this.g.value=this.g.value.slice(0,-1),0<this.m&&this.m--;else{if(a){var b;13!=a&&10!=a&&(b=Ia[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.R||8,c=a-this.m%a,this.R&&(b=" ".slice(0,c)));this.L&&!this.m&&c&&(b=String.fromCharCode(this.L)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.m+=c}}else if(null!=
this.i){if(10==a||1024<=this.i.length)this.X(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}kc(this.c,this.W,1E3/Math.round(this.Y/10));this.b&=-129};var zf="buffer",Cf={},Af=(Cf[65392]=[null,null,Z.prototype.Pd,Z.prototype.Ze,"RCSR"],Cf[65394]=[null,null,Z.prototype.Od,Z.prototype.Ye,"RBUF"],Cf[65396]=[null,null,Z.prototype.te,Z.prototype.Ff,"XCSR"],Cf[65398]=[null,null,Z.prototype.se,Z.prototype.Ef,"XBUF"],Cf);
Va(function(){for(var a=C(document,B,"serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});function sc(a){r.call(this,"PC11",a);this.D=Df(this,a.autoMount);this.b=0;this.I=+a.baudReceive||3600;this.m=this.o=this.a=0;this.i=[];this.h=Ef;this.f=Ff;this.w=this.g="";this.O=this.aa=this.Z=null;this.G=-1;this.F=!Qa("Mobi")&&window&&"FileReader"in window;this.s=null;this.H=-1;this.v=null}n(sc,r);
function Df(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=sc.prototype;
h.ga=function(a,b,c){var d=this,e=Ff;switch(b){case "listTapes":return this.j[b]=c,c.onchange=function(){var a=d.j.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("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.j[b]=c,!0;case "readTape":e=Gf;case "loadTape":return e||(e=Hf),this.j[b]=c,c.onclick=
function(){var a=d.j.listTapes;a&&If(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.j[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;If(d,F(b,!0),b,Hf,a)}return!1};return!0;case Jf:return this.j[b]=c,!0}return!1};
h.ca=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.C=d;this.v=Kf(a);var e=this;if(a=Df(this,Kc(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.D[f]=a[f]);this.s=lc(this.c,56,4,4096);this.H=jc(this.c,function(){1==(e.a&32769)&&!(e.a&128)&&e.m<e.i.length&&(e.o=e.i[e.m++]&255,Lf(e,e.m/e.i.length*100),e.a|=128,e.a&=-2049,e.a&64&&N(e.c,e.s))});lb(b,this,Mf);nb(b,this.reset.bind(this));Nf(this,"None",Ef,!0);this.F&&Nf(this,"Local Tape",Of);Nf(this,"Remote Tape",Pf);Qf(this)||D(this)};
h.ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.da=function(a){return a?this.save():!0};h.reset=function(){this.a&=-2241;this.o=0};function Qf(a){a.b=0;var b=a.D.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.j.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=F(c,!0)}c&&b?Rf(a,b,c,Hf,!0):Sf(a)}return!!a.b}
function If(a,b,c,d,e){if(c)if(c==Of)a.B('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Pf){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"');a.h=Pf}else a.h=c;Rf(a,b,c,d,!1,e)}else Tf(a,!1)}function Rf(a,b,c,d,e,f){var g=-1;if(a.g.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,Tf(a,!0),a.l.Ua?a.B("PC11 busy"):(e&&a.b++,Uf(a,b,c,d,f)?g++:a.l.Ua=!0);g&&Vf(a,a.w,a.g,a.f,a.O,a.aa,a.Z)}
function Uf(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),Vf(a,b,c,d,e),a.h=Of);Sf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Ca(c),f="json"==e||"gz"==e?encodeURI(c):La()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!G(f,null,!0,function(e,f,g){var k=0>g&&!!a.A&&!a.A.l.S;g?a.B('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(ra(a.Na,e,f),(e=Ka(e,f))&&Vf(a,b,c,d,e.O,e.aa,e.Z));
a.l.Ua=!1;a.b&&(a.b--,a.b||D(a));Sf(a)})}function Nf(a,b,c,d){if((a=a.j.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 Sf(a){var b=a.j.listTapes;if(b&&b.options){a=a.h||a.g;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 Lf(a,b){b|=0;if(b!==a.G){var c=a.j[Jf];c&&(c=(c=C(c,Wf))&&c[0])&&c.style&&(c.style.width=b+"%");a.G=b}}function Vf(a,b,c,d,e,f,g){a.w=b;a.g=c;a.f=d;a.O=e;a.aa=f;a.Z=g;d==Gf?a.v&&xf(a.v,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.B('No valid memory address for tape "'+b+'"'):(a.m=0,a.i=e,a.status('Loaded tape "'+b+'"'),Lf(a,0))}function Tf(a,b){if(a.g||!1===b)a.w="",a.g="",b||(a.f&&a.status(a.f==Hf?"tape detached":"tape unloaded"),a.h=Ef,a.f=Ff,Sf(a))}h.save=function(){return(new J(this)).data()};
h.restore=function(){return!0};h.Id=function(){return this.a&65534};h.Se=function(a){a&1&&(this.a&32768?(a&=-2,this.a&64&&N(this.c,this.s)):(this.a&=-129,this.a|=2048,this.o=0,kc(this.c,this.H,1E3/Math.round(this.I/10))));this.a=this.a&-66|a&65};h.Hd=function(){this.a&=-129;this.a|=2048;return this.o};h.Re=function(){};
var Ef="",Of="?",Pf="??",Ff=0,Hf=1,Gf=2,Jf="readProgress",Wf="pcjs-progress-bar",Xf={},Mf=(Xf[65384]=[null,null,sc.prototype.Id,sc.prototype.Se,"PRS"],Xf[65386]=[null,null,sc.prototype.Hd,sc.prototype.Re,"PRB"],Xf);
function Yf(a,b,c){r.call(this,"Disk",{id:a.Na+".disk"+Ba(++Zf,4)},0,8192);this.controller=a;this.A=a.A;this.C=a.C;this.h=b;this.oa=b.name;this.fa=this.Jb="";this.Cb=b.Cb;this.J=this.P=this.M=this.U=this.mode=0;this.a=[];this.f=null;this.g=!1;$f(this,c,b.J,b.P,b.M,b.U);this.b=this.i=null;D(this)}n(Yf,r);h=Yf.prototype;h.ca=function(a,b,c,d){this.C=d};
function $f(a,b,c,d,e,f){a.mode=b;a.J=c;a.P=d;a.M=e;a.U=f;a.a=[];if("preload"!=a.mode){b=Array(a.J);for(c=0;c<b.length;c++){d=Array(a.P);for(e=0;e<d.length;e++){f=Array(a.M);for(var g=1;g<=f.length;g++)f[g-1]=ag(null,c,e,g,a.U,0);d[e]=f}b[c]=d}a.a=b}a.f=null}
function bg(a,b,c,d,e){var f=c;if(a.b)return!0;a.oa=b;a.fa=c;a.Jb=F(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=qa[d];if(e){a.J=e[0];a.P=e[1];a.M=e[2];a.U=e[3]||512;c=a.U>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.J);for(d=0;d<a.a.length;d++)for(var x=a.a[d]=Array(a.P),w=0;w<x.length;w++)for(var Y=x[w]=Array(a.M),Da=0;Da<Y.length;Da++){for(var fc=ag(null,d,w,Da+1,a.U,0),Zg=fc.data,zc=0;zc<c;zc++,f+=4)var $g=Zg[zc]=b.getInt32(f,
!0),e=e+$g&-1;fc.ka=c;Y[Da]=fc}a.f=e;c=a}else a.B("Unrecognized disk format ("+d+" bytes)");a.b&&(a.b.call(a.controller,a.h,c,a.oa,a.fa),a.b=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Ca(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"):Ea(c,"/")&&(d="dir"),f=La()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Cb?"":e)+"&format=json"));return!!G(f,
null,!0,function(b,c,d){cg(a,b,c,d)})}
function cg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.l.S;a.g=!1;if(d)a.controller.B('Unable to load disk "'+a.oa+'" (error '+d+": "+b+")",f);else{ra(a.controller.Na,b,c);try{if(0<F(a.Jb,!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.oa]: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)v(k[0]);else{a.J=k.length;a.P=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.P;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,Y=x.length;Y<w;Y++)x[Y]=p;dg(l,x)}else t=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=t;delete l.bytes}ag(l,d,f);for(w=0;w<
t.length;w++)c=c+t[w]&-1}a.a=k;a.f=c;e=a}else v("Empty disk image: "+a.oa)}catch(Da){v("Disk image error ("+b+"): "+Da.message)}}a.b&&(a.b.call(a.i,a.h,e,a.oa,a.fa),a.b=null)}function ag(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Fg=b;a.Gg=c;a.sa=a.ka=0;a.xa=!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.P)for(k=g[b]=Array(f.vc),g=0;g<k.length;g++)k[g]=ag(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.Xc&&9==f.$b&&(d=k[g]=ag(null,a,b,f.$b,f.bc,0))}}e&&e(d,!1);return d};function dg(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.ka?f<a.sa?(a.ka+=a.sa-f,a.sa=f):f>=a.sa+a.ka&&(a.ka+=f-(a.sa+a.ka)+1):(a.sa=f,a.ka=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function eg(a,b){var c=a.P*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 fg(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 gg(a){for(var b="",c=0,d;d=eg(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(fg(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.fa,this.f,this.J,this.P,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.ka){for(var k=[],l=0,m=g.sa,p=g.sa+g.ka;m<p;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.sa,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?$f(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.sa=e;for(k.ka=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.B("Unable to restore disk '"+this.oa+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=eg(this,a++);)hg(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 hg(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 Zf=0;function Q(a){r.call(this,"RK11",a,0,65536);this.o=ig(this,a.autoMount);this.m=0;this.f=Array(8);this.s=!Qa("Mobi")&&window&&"FileReader"in window;this.Ka=null;this.w=this.b=this.a=this.i=this.h=this.g=this.v=0}n(Q,r);
function ig(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Q.prototype;
h.ga=function(a,b,c){var d=this;switch(b){case "listDisks":return this.j[b]=c,c.onchange=function(){var a=d.j.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){v("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.j[b]=c,c.onchange=function(){var a=E(c.value);null!=a&&jg(d,a)},
!0;case "loadDisk":return this.j[b]=c,c.onclick=function(){var a=d.j.listDisks;a&&a.options&&kg(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.j[b]=c,c.onclick=function(){var a,b=d.j.listDrives,b=b&&E(b.value);null==b||0>b||b>=d.f.length||!(a=d.f[b])?d.B("Unable to boot the selected drive"):a.T?(Yc(d.c,0,!0),(a=d.tc(a,0,0,0,512,0,2))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.s){c.parentNode.removeChild(c);
break}this.j[b]=c;c.onclick=function(){var a=d.j.listDrives;a&&a.options&&d.f&&((a=d.f[E(a.value)||0])?(a=a.T)?(a=Ta(gg(a),a.Jb.replace(".json",".img")),v(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.s)return this.j[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;kg(d,F(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ca=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.C=d;if(a=ig(this,Kc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.o[e]=a[e]);lg(this);this.Ka=lc(this.c,144,5,65536);lb(b,this,mg);nb(b,this.reset.bind(this));ng(this,"None",og,!0);this.s&&ng(this,"Local Disk",pg);ng(this,"Remote Disk",qg);rg(this)||D(this)};
h.ea=function(a,b){if(!b){if(!a){if(this.reset(),this.A.m){for(a=0;a<this.f.length;a++)sg(this,a,!0);rg(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";jg(this,0)}}return!0};h.da=function(a){return a?this.save():!0};h.reset=function(){lg(this)};h.save=function(){return(new J(this)).data()};
h.restore=function(a){return lg(this,a[0])};function rg(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=F(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)){!tg(a,g,f,e,!0)&&b&&D(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.m}
function kg(a,b,c,d){var e=a.j.listDrives,e=e&&E(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==pg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==qg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"')}tg(a,e,b,c,!1,d)}else sg(a,e)}
function tg(a,b,c,d,e,f){var g=-1,k=a.f[b];k.fa.toLowerCase()!=d.toLowerCase()&&(g++,sg(a,b,!0),k.Wa?a.B("RK11 busy"):(k.Wa=!0,e&&(k.Va=!0,a.m++),k.ya=!!f,bg(new Yf(a,k,"preload"),c,d,f,a.Mc)&&g++));return g}h.Mc=function(a,b,c,d,e){a.Wa=!1;b&&(b.J>a.J||b.P>a.P)&&(this.B('Disk "'+c+'" too large for drive '+("RK"+a.Ja)),b=null);b?(a.T=b,a.oa=c,a.fa=d,this.B('Loaded disk "'+c+'" in drive '+("RK"+a.Ja),a.Va||e),this.A&&Rc(this.A)):a.ya=!1;a.Va&&(a.Va=!1,--this.m||D(this));jg(this,a.Ja)};
function ng(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 jg(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=E(a.value),c=c.ya?pg:c.fa,!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 sg(a,b,c){var d=a.f[b];if(d.T||!1===c)d.oa="",d.fa="",d.T=null,d.ya=!1,c||(a.B("Drive RK"+b+" unloaded",c),jg(a,b))}
function lg(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.Ja=b;d.name=c.Ma;d.Wa=d.ya=!1;d.J=203;d.P=2;d.M=12;d.U=512;d.Cb=!0;d.Yc=0;d.Wc=0;d.$b=1;d.vc=d.M;d.bc=d.U;d.ed=0;d.we=null;d.T||(d.fa="");d.status=2368}return!0}
h.tc=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.P&&(c=0,++b))}var x,w;if(0>(x=a.read(p,t++))||0>(w=a.read(p,t++))){m=32;break}if(!k&&(Gb(this.u,id(this.c,f),x|w<<8),ic(this.u))){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=Ib(this.u,id(this.c,f));if(ic(this.u)){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.P&&(c=0,++b))}if(k){var w,Y;if(0>(w=a.read(p,t++))||0>(Y=a.read(p,t++))){m=32;break}if(x!=(w|Y<<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;ug(this);return!0};function ug(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.df=function(){};h.Vd=function(){return this.b};h.ef=function(){};h.Rd=function(){return this.a&61438};
h.af=function(a){this.a=this.a&-3968|a&3967;if(this.a&1){a=!0;var b,c,d=(this.g&57344)>>13,e=this.f[d],f,g,k,l,m,p;this.a&=-8321;this.b&=-4;switch(c=this.a&14){case 0:this.b=this.g=0;this.a=128;break;case 10:case 4:b=this.tc;case 6:case 2:b||(b=this.Nc);f=(this.g&8160)>>5;g=(this.g&16)>>4;k=this.g&15;l=65536-this.i&65535;m=(this.a&48)<<12|this.h;p=this.a&2048?0:2;if(f>=e.J){this.b|=64;break}if(k>=e.M){this.b|=32;break}a=b.call(this,e,f,g,k,l,m,p,6<=c,this.Lc.bind(this));break;case 8:f=(this.g&8160)>>
5;f<e.J?this.a|=8192:this.b|=64;break;case 12:this.b=this.g=0,this.a=8320}this.w=e.status|(e.T?128:0)|d<<13|this.g&15;ug(this);a&&(this.a&=-2,this.a|=128,this.a&64&&N(this.c,this.Ka))}};h.Wd=function(){return this.i};h.ff=function(a){this.i=a};h.Qd=function(){return this.h};h.$e=function(a){this.h=a};h.Sd=function(){return this.g};h.bf=function(a){this.g=a};h.Td=function(){return this.v};h.cf=function(a){this.v=a};
var og="",pg="?",qg="??",vg={},mg=(vg[65280]=[null,null,Q.prototype.Ud,Q.prototype.df,"RKDS"],vg[65282]=[null,null,Q.prototype.Vd,Q.prototype.ef,"RKER"],vg[65284]=[null,null,Q.prototype.Rd,Q.prototype.af,"RKCS"],vg[65286]=[null,null,Q.prototype.Wd,Q.prototype.ff,"RKWC"],vg[65288]=[null,null,Q.prototype.Qd,Q.prototype.$e,"RKBA"],vg[65290]=[null,null,Q.prototype.Sd,Q.prototype.bf,"RKDA"],vg[65294]=[null,null,Q.prototype.Td,Q.prototype.cf,"RKDB"],vg);
function P(a){r.call(this,"RL11",a,0,131072);this.s=wg(this,a.autoMount);this.o=0;this.b=Array(4);this.v=!Qa("Mobi")&&window&&"FileReader"in window;this.Ka=null;this.a=this.m=this.f=this.g=this.i=this.h=0;this.exports={selectDrive:this.xe}}n(P,r);function wg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=P.prototype;
h.ga=function(a,b,c){var d=this;switch(b){case "listDisks":return this.j[b]=c,c.onchange=function(){var a=d.j.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){v("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.j[b]=c,c.onchange=function(){var a=E(c.value);null!=a&&xg(d,a)},
!0;case "loadDisk":return this.j[b]=c,c.onclick=function(){var a=d.j.listDisks;a&&a.options&&yg(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.j[b]=c,c.onclick=function(){var a,b=d.j.listDrives,b=b&&E(b.value);null==b||0>b||b>=d.b.length||!(a=d.b[b])?d.B("Unable to boot the selected drive"):a.T?(Yc(d.c,0,!0),(a=d.uc(a,0,0,0,512,0))&&d.B("Unable to read the boot sector ("+a+")")):d.B("Load a disk into the drive first")},!0;case "saveDisk":if(!this.v){c.parentNode.removeChild(c);
break}this.j[b]=c;c.onclick=function(){var a=d.j.listDrives;a&&a.options&&d.b&&((a=d.b[E(a.value)||0])?(a=a.T)?(a=Ta(gg(a),a.Jb.replace(".json",".img")),v(a)):d.B("No disk loaded in drive."):d.B("No disk drive selected."))};return!0;case "mountDisk":if(this.v)return this.j[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;yg(d,F(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ca=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.C=d;if(a=wg(this,Kc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.s[e]=a[e]);zg(this);this.Ka=lc(this.c,112,5,131072);lb(b,this,Ag);nb(b,this.reset.bind(this));Bg(this,"None",Cg,!0);this.v&&Bg(this,"Local Disk",Dg);Bg(this,"Remote Disk",Eg);Fg(this)||D(this)};
h.ea=function(a,b){if(!b){if(!a){if(this.reset(),this.A.m){for(a=0;a<this.b.length;a++)Gg(this,a,!0);Fg(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";xg(this,0)}}return!0};h.da=function(a){return a?this.save():!0};h.reset=function(){zg(this)};h.save=function(){return(new J(this)).data()};
h.restore=function(a){return zg(this,a[0])};function Fg(a,b){b||(a.o=0);for(var c in a.s){var d=a.s[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=F(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)){!Hg(a,g,f,e,!0)&&b&&D(a,!1);continue}a.B("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.o}
function yg(a,b,c,d){var e=a.j.listDrives,e=e&&E(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==Dg)a.B('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Eg){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=F(c);a.status("Attempting to load "+c+' as "'+b+'"')}Hg(a,e,b,c,!1,d)}else Gg(a,e)}
function Hg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.fa.toLowerCase()!=d.toLowerCase()&&(g++,Gg(a,b,!0),k.Wa?a.B("RL11 busy"):(k.Wa=!0,e&&(k.Va=!0,a.o++),k.ya=!!f,bg(new Yf(a,k,"preload"),c,d,f,a.Pc)&&g++));return g}h.Pc=function(a,b,c,d,e){a.Wa=!1;b&&(b.J>a.J||b.P>a.P)&&(this.B('Disk "'+c+'" too large for drive '+("RL"+a.Ja)),b=null);b?(a.T=b,a.oa=c,a.fa=d,this.B('Loaded disk "'+c+'" in drive '+("RL"+a.Ja),a.Va||e),this.A&&Rc(this.A)):a.ya=!1;a.Va&&(a.Va=!1,--this.o||D(this));xg(this,a.Ja)};
function Bg(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 xg(a,b,c){var d=!1;if(0<=b&&b<a.b.length){var e=a.b[b],f=a.j.listDisks;a=a.j.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(E(a.options[c].value)==e.Ja){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=E(a.value);e=e.ya?Dg:e.fa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.xe=function(a){var b=this.j.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].innerHTML==a){var e=E(b.options[d].value);if(0<=e)return xg(this,e,!0)}return!1};function Gg(a,b,c){var d=a.b[b];if(d.T||!1===c)d.oa="",d.fa="",d.T=null,d.ya=!1,c||(a.B("Drive RL"+b+" unloaded",c),xg(a,b))}
function zg(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.Ja=b;d.name=c.Ma;d.Wa=d.ya=!1;d.J=512;d.P=2;d.M=40;d.U=256;d.Cb=!0;d.Yc=0;d.Wc=0;d.$b=1;d.vc=d.M;d.bc=d.U;d.ed=0;d.we=null;d.T||(d.fa="");d.status=29}return!0}
h.uc=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}Gb(this.u,id(this.c,f),p|t<<8);if(ic(this.u)){k=8192;break}f+=2;e--;if(m>=a.U&&(l=null,++d>=a.M&&(d=0,++c>=a.P&&(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=Ib(this.u,id(this.c,f));if(ic(this.u)){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.P&&(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};
h.jf=function(a){this.a=this.a&-1023|a&1022;this.h=this.h&60|(a&48)>>4;if(!(this.a&128)){a=!0;var b,c=this.b[(this.a&768)>>8],d=c.T,e,f,g;this.a&=-2;switch(this.a&14){case 4:this.i&8&&(this.a&=63);this.i=c.status|this.g&64|(d&&512==d.J?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.g=this.f&4?this.g+b:this.g-b,this.f=this.g=this.g&65408|c);break;case 8:this.i=this.g;break;case 12:b=this.tc;case 10:b||(b=this.Qc),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.J||g>=d.M?
this.a|=37888:(a=65536-this.i&65535,d=(this.h&63)<<16|this.m,a=b.call(this,c,e,f,g,a,d,this.Oc.bind(this)))}a&&(this.a|=129,this.a&64&&N(this.c,this.Ja))}};h.Xd=function(){return this.m};h.gf=function(a){this.m=a&65534};h.$d=function(){return this.f};h.kf=function(a){this.f=a};h.ae=function(){return this.i};h.lf=function(a){this.i=a};h.Yd=function(){return this.h};h.hf=function(a){this.h=a&63;this.a=this.a&-49|(this.h&3)<<4};
var zg="",Ag="?",Bg="??",Fg={},xg=(Fg[63744]=[null,null,P.prototype.Zd,P.prototype.jf,"RLCS"],Fg[63746]=[null,null,P.prototype.Xd,P.prototype.gf,"RLBA"],Fg[63748]=[null,null,P.prototype.$d,P.prototype.kf,"RLDA"],Fg[63750]=[null,null,P.prototype.ae,P.prototype.lf,"RLMP"],Fg[63752]=[null,null,P.prototype.Yd,P.prototype.hf,"RLBE"],Fg);
function Gg(a,b,c){r.call(this,"Computer",a,0,33554432);this.l.R=!1;this.G=null;Hg(this,b);this.C=Jc(this,"autoPower",a,6);this.g=0;this.K=+a.busWidth||+a.buswidth;this.v=this.s=this.w=null;this.o=this.I=!1;this.i=this.h=null;this.H=this.m=this.F=!1;this.L=Jc(this,"url")||"";(Math.random()+.1).toString(36);this.b=Ig(this);if(this.c=va("CPU",this.id)){this.D=va("Debugger",this.id);this.u=new Mb({id:this.Ma+".bus",busWidth:this.K},this.c,this.D);var d,e=y(this.id);if((this.f=va("Panel",this.id))&&this.f.ab)for(b=
0;b<e.length;b++)d=e[b],d.B=this.f.B,d.X=this.f.X,d.ab=this.f.ab;this.X(cb+" v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.X("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.aa&&d.aa(this,this.u,this.c,this.D);this.a=Jc(this,"resume",a,4,Jg);var f;b=null;if(a=Jc(this,"state")||(f=!0,a.state))this.w=b=a,f||(this.o=!0,this.a=Jg),this.a&&
(this.i=new J(this,"1.32.2"),Kg(this.i)?b=null:delete this.i);!b&&this.a&&(b=Lg(this))&&(this.o=!0);if(b){var g=this;G(b,null,!0,function(a,b,c){c?(g.s=null,g.o=!1,g.B("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.v=b,g.I=!0);D(g)})}else D(this);this.j.power||(this.C=!0);!c&&this.C&&Mg(this,this.ub)}else v("Unable to find CPU component")}n(Gg,r);
function Hg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.G=b}function Jc(a,b,c,d,e){var f=b.toLowerCase(),f=Qa(b)||Qa(f);void 0===f&&a.G&&(f=a.G[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Mg(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!xa(f)){xa(f,function(){Mg(a,b,c)});return}}b.call(a,c)}function Ng(a,b){var c=new J(a,"1.32.2",Og);if(Kg(c)&&Pg(c)){var d=c.get(Qg),e=b?b.get(Qg):"unknown";d!=e&&(a.B("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Gg.prototype;
h.ub=function(a){void 0===a&&(a=this.a||(this.v?Rg:Jg));if(!this.g){this.g++;var b=!1,c=!1;this.F=!1;var d=this.i||new J(this,"1.32.2");if(a==Sg)b=!0;else if(a>Jg){if(Kg(d,this.v)){this.h=new J(this,"1.32.2",Tg);Kg(this.h)&&(Ug(this,d),a=Vg,Yg(this.h));this.h.set(Qg,Ia());Zg(this.h);var e=this.a&&!this.o;if(a==Rg||ta("Click OK to restore the previous "+cb+" machine state, or CANCEL to reset the machine.")){if(c=Pg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Kg(d,g):("error"==f&&"no machine state"!=
g?(this.B("Error: "+g),"unable to verify user"==g&&(Oa($g,""),this.b=null)):this.X(f+": "+g),Yg(d),Kg(d)?(c=Pg(d),e=!0):c=!1))}e&&Ng(this,c?d:null)}else a==Vg&&d.clear()}else Ng(this);delete this.v;delete this.i}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=ah(this,g,d,b,c));b=[d,a,c];a!=Sg?Mg(this,this.vc,b):this.vc(b)}};
function ah(a,b,c,d,e){if(!b.l.R){b.l.R=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ha(f,d)&&f&&(v("Unable to restore state for "+b.type),a.w&&!a.I?(c.clear(),a.a=Jg,window&&window.location.reload()):a.F=!0,b.ha(null),e=!1),!d&&b.mc){var g=b.mc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.vc=function(a){var b=a[0],c=0>a[1];a=a[2];this.H=!0;this.l.R=!0;var d=this.j.power;d&&(d.textContent="Shutdown");this.c&&(ah(this,this.c,b,c,a),Cb(this),this.c.ma());this.F&&(Ug(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0};
function Ug(a,b){if(ta("There may be a problem with your "+cb+" machine.\n\nTo help us diagnose it, click OK to send this "+cb+" machine state to http://www.pcjs.org.")){var c=a.L;a=a.b||"";b=b.toString();var d={};d.app=cb;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;G("http://www.pcjs.org/api/v1/report",d,!0)}}
function bh(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new J(a,"1.32.2"),g=new J(a,"1.32.2",Og),k=Ia();g.set(Qg,k);f.set(Qg,k);f.set(ch,"1.32.2");f.set(dh,window?window.location.href:null);f.set(eh,window?window.navigator.userAgent:"");a.c&&a.c.ga&&(c&&H(a.c),d=a.c.ga(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.l.R=!1,!1===d&&(e=null)));for(var k=y(a.id),l=0;l<k.length;l++){var m=k[l];m.l.R&&(m.ga&&(d=m.ga(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&&fh(a,a.b,f.toString()),Zg(g)&&Zg(f)||(e=null,d=k=!0)):a.a&&(d=!0,k=a.a==gh),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.u&&this.u.reset&&this.u.reset();this.c&&this.c.reset&&this.c.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.u&&c!==this.c&&c.reset&&c.reset()}Cb(this,-1)};
h.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Cb(this,-1)};h.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Cb(this,-1)};
function Cb(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.Na.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++)sb(a,"R"+e,a.c.b[e]);e=pc(a.c);sb(a,"PS",e);sb(a,"NF",e&8?1:0,1);sb(a,"ZF",e&4?1:0,1);sb(a,"VF",e&2?1:0,1);sb(a,"CF",e&1?1:0,1);a.i=0}Ib(a,0<b&&c&&!d?a.c.za:a.ja);Eb(a,a.h);b=a.c;b=b.Aa?b.la&16?1:2:4;Kb(a,"B22",b&1);Kb(a,"B18",b&2);Kb(a,"B16",b&4)}}
h.ca=function(a,b,c){var d=this;switch(b){case "power":return this.j[b]=c,c.onclick=function(){d.g||(d.l.R?bh(d,!1,!0):Mg(d,d.ub))},!0;case "reset":return this.j[b]=c,c.onclick=function(){if(d.l.R&&!d.g)if(d.a&&!d.s){var a=ta("Click OK to save changes to this "+cb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");bh(d,a,!0);!a&&d.w?window&&window.location.reload():(a||(d.m=!0),d.ub(Jg),d.m=!1)}else d.reset(),d.c&&d.c.ma()},!0;case "save":if(Ca(Ka(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.j[b]=c,c.onclick=function(){var a=Ig(d,!0);if(a){var b=!!(d.a&&!d.s||d.w),c=bh(d,b);b?fh(d,a,c):d.B("Resume disabled, machine state not saved")}},!0}return!1};
function Ig(a,b){var c=a.b;c||((c=Na($g),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=hh(a,c))||a.B("The user ID is invalid.")):b&&a.B("Browser local storage is not available"));return c}
function hh(a,b){a.b=null;b=G(Ka()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Oa($g,b.data),a.b=b.data)}catch(d){v(d.message+" ("+c+")")}return a.b}function Lg(a){var b=null;a.b&&(b=Ka()+"/api/v1/user?req=load&user="+a.b+"&state="+ih(a,"1.32.2"));return b}
function fh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ih(a,"1.32.2");d.data=c;b=G(Ka()+"/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.B("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.B(c),Oa($g,""),a.b=null)}}
function Hf(a){var b;a=y(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 Qc(a){if(a.ab){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ab.focus();window&&window.scrollTo(b,c)}}var Tg="failsafe",Og="validate",Qg="timestamp",ch="version",dh="url",eh="browser",$g="user",Sg=-1,Jg=0,Rg=1,Vg=2,gh=3;
Ua(function(){for(var a=C(document,B+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=C(c,B,"computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new Gg(g,d,!0);A(g,f);g.C&&Mg(g,g.ub)}});Va.show.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=va("Computer",c.id))&&c.H&&!c.l.R&&c.ub(Sg)}});Va.exit.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=va("Computer",c.id))&&c.l.R&&bh(c,!(!c.a||c.s),!0)}});
function J(a,b,c){this.id=a.id;this.a="";this.c={};this.b=this.j=!1;this.key=ih(a,b,c);Yg(this,a.Rc)}h=J.prototype;h.set=function(a,b){try{this.c[a]=b}catch(c){}};h.get=function(a){return this.c[a]||null};h.data=function(){return this.c};function Kg(a,b){return b?(a.a=b,a.b=!0,a.j=!1,!0):a.b?!0:La()&&(b=Na(a.key))?(a.a=b,a.b=!0):!1}function Pg(a){var b=!0;if(!a.j)try{a.c=JSON.parse(a.a),a.j=!0}catch(c){v(c.message||c),b=!1}return b}
function Zg(a){var b=!0;if(La()){var c=JSON.stringify(a.c);Oa(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.c?JSON.stringify(this.c):this.a};function Yg(a,b){a.a="";a.c={};a.b=a.j=!1;b&&a.set("parms",b)}
h.clear=function(a){Yg(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 ih(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 jh=0;
function kh(a,b,c,d,e,f){e("Loading "+a+"...");G(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):lh(k,a,b,c,d,e,f)})}
function lh(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(qa(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(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?mh(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function mh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");G(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,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.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);mh(a,b,c)}})}else c(a,null)}
function nh(a,b,c,d){function e(a){if(void 0===k){var b=g&&C(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Ea(a))}function f(a){e("Error: "+a);l&&(--jh||Ya(!0));l=!1}var g,k,l=!0;jh++;ra[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));p.appendChild(t)}c||
(c="/versions/pdpjs/1.32.2/components.xsl");m=function(d,k){k?kh(c,null,null,!1,e,function(d,l){l?(qa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--jh||Ya(!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),--jh||Ya(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?kh(b,a,d,!0,e,m):lh(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(x){f(x.message)}return l}window.embedPDP11=function(a,b,c,d){Ya(!1);return nh(a,b,c,d)};window.findMachineComponent=function(a,b){return va(b,a+".machine")};window.enableEvents=Ya;window.sendEvent=$a;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11.map
h.jf=function(a){this.a=this.a&-1023|a&1022;this.h=this.h&60|(a&48)>>4;if(!(this.a&128)){a=!0;var b,c=this.b[(this.a&768)>>8],d=c.T,e,f,g;this.a&=-2;switch(this.a&14){case 4:this.i&8&&(this.a&=63);this.i=c.status|this.g&64|(d&&512==d.J?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.g=this.f&4?this.g+b:this.g-b,this.f=this.g=this.g&65408|c);break;case 8:this.i=this.g;break;case 12:b=this.uc;case 10:b||(b=this.Qc),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.J||g>=d.M?
this.a|=37888:(a=65536-this.i&65535,d=(this.h&63)<<16|this.m,a=b.call(this,c,e,f,g,a,d,this.Oc.bind(this)))}a&&(this.a|=129,this.a&64&&N(this.c,this.Ka))}};h.Xd=function(){return this.m};h.gf=function(a){this.m=a&65534};h.$d=function(){return this.f};h.kf=function(a){this.f=a};h.ae=function(){return this.i};h.lf=function(a){this.i=a};h.Yd=function(){return this.h};h.hf=function(a){this.h=a&63;this.a=this.a&-49|(this.h&3)<<4};
var Cg="",Dg="?",Eg="??",Ig={},Ag=(Ig[63744]=[null,null,P.prototype.Zd,P.prototype.jf,"RLCS"],Ig[63746]=[null,null,P.prototype.Xd,P.prototype.gf,"RLBA"],Ig[63748]=[null,null,P.prototype.$d,P.prototype.kf,"RLDA"],Ig[63750]=[null,null,P.prototype.ae,P.prototype.lf,"RLMP"],Ig[63752]=[null,null,P.prototype.Yd,P.prototype.hf,"RLBE"],Ig);
function Jg(a,b,c){r.call(this,"Computer",a,0,33554432);this.l.S=!1;this.G=null;Kg(this,b);this.D=Kc(this,"autoPower",a,6);this.g=0;this.K=+a.busWidth||+a.buswidth;this.v=this.s=this.w=null;this.o=this.I=!1;this.i=this.h=null;this.H=this.m=this.F=!1;this.L=Kc(this,"url")||"";(Math.random()+.1).toString(36);this.b=Lg(this);if(this.c=wa("CPU",this.id)){this.C=wa("Debugger",this.id);this.u=new Nb({id:this.Na+".bus",busWidth:this.K},this.c,this.C);var d,e=y(this.id);if((this.f=wa("Panel",this.id))&&this.f.bb)for(b=
0;b<e.length;b++)d=e[b],d.B=this.f.B,d.X=this.f.X,d.bb=this.f.bb;this.X(db+" v1.32.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.X("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.ca&&d.ca(this,this.u,this.c,this.C);this.a=Kc(this,"resume",a,4,Mg);var f;b=null;if(a=Kc(this,"state")||(f=!0,a.state))this.w=b=a,f||(this.o=!0,this.a=Mg),this.a&&
(this.i=new J(this,"1.32.2"),Ng(this.i)?b=null:delete this.i);!b&&this.a&&(b=Og(this))&&(this.o=!0);if(b){var g=this;G(b,null,!0,function(a,b,c){c?(g.s=null,g.o=!1,g.B("Unable to load machine state from server (error "+c+(b?": "+Ha(b):"")+")")):(g.v=b,g.I=!0);D(g)})}else D(this);this.j.power||(this.D=!0);!c&&this.D&&Pg(this,this.vb)}else v("Unable to find CPU component")}n(Jg,r);
function Kg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.G=b}function Kc(a,b,c,d,e){var f=b.toLowerCase(),f=Ra(b)||Ra(f);void 0===f&&a.G&&(f=a.G[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Pg(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ya(f)){ya(f,function(){Pg(a,b,c)});return}}b.call(a,c)}function Qg(a,b){var c=new J(a,"1.32.2",Rg);if(Ng(c)&&Sg(c)){var d=c.get(Tg),e=b?b.get(Tg):"unknown";d!=e&&(a.B("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Jg.prototype;
h.vb=function(a){void 0===a&&(a=this.a||(this.v?Ug:Mg));if(!this.g){this.g++;var b=!1,c=!1;this.F=!1;var d=this.i||new J(this,"1.32.2");if(a==Vg)b=!0;else if(a>Mg){if(Ng(d,this.v)){this.h=new J(this,"1.32.2",Wg);Ng(this.h)&&(Xg(this,d),a=Yg,ah(this.h));this.h.set(Tg,Ja());bh(this.h);var e=this.a&&!this.o;if(a==Ug||ua("Click OK to restore the previous "+db+" machine state, or CANCEL to reset the machine.")){if(c=Sg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Ng(d,g):("error"==f&&"no machine state"!=
g?(this.B("Error: "+g),"unable to verify user"==g&&(Pa(ch,""),this.b=null)):this.X(f+": "+g),ah(d),Ng(d)?(c=Sg(d),e=!0):c=!1))}e&&Qg(this,c?d:null)}else a==Yg&&d.clear()}else Qg(this);delete this.v;delete this.i}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=dh(this,g,d,b,c));b=[d,a,c];a!=Vg?Pg(this,this.wc,b):this.wc(b)}};
function dh(a,b,c,d,e){if(!b.l.S){b.l.S=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ea(f,d)&&f&&(v("Unable to restore state for "+b.type),a.w&&!a.I?(c.clear(),a.a=Mg,window&&window.location.reload()):a.F=!0,b.ea(null),e=!1),!d&&b.oc){var g=b.oc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.wc=function(a){var b=a[0],c=0>a[1];a=a[2];this.H=!0;this.l.S=!0;var d=this.j.power;d&&(d.textContent="Shutdown");this.c&&(dh(this,this.c,b,c,a),Db(this),this.c.ba());this.F&&(Xg(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0};
function Xg(a,b){if(ua("There may be a problem with your "+db+" machine.\n\nTo help us diagnose it, click OK to send this "+db+" machine state to http://www.pcjs.org.")){var c=a.L;a=a.b||"";b=b.toString();var d={};d.app=db;d.ver="1.32.2";d.url=c;d.user=a;d.type="bug";d.data=b;G("http://www.pcjs.org/api/v1/report",d,!0)}}
function eh(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new J(a,"1.32.2"),g=new J(a,"1.32.2",Rg),k=Ja();g.set(Tg,k);f.set(Tg,k);f.set(fh,"1.32.2");f.set(gh,window?window.location.href:null);f.set(hh,window?window.navigator.userAgent:"");a.c&&a.c.da&&(c&&(b&&(a.c.l.ba=a.c.l.N),H(a.c)),d=a.c.da(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.l.S=!1,!1===d&&(e=null)));for(var k=y(a.id),l=0;l<k.length;l++){var m=k[l];m.l.S&&(m.da&&(d=m.da(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.l.S=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.b&&ih(a,a.b,f.toString()),bh(g)&&bh(f)||(e=null,d=k=!0)):a.a&&(d=!0,k=a.a==jh),d&&f.clear(k)):e=f.toString());c&&(a.l.S=!1,b=a.j.power)&&(b.textContent="Power");a.g=0;return e}h.reset=function(){this.u&&this.u.reset&&this.u.reset();this.c&&this.c.reset&&this.c.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.u&&c!==this.c&&c.reset&&c.reset()}Db(this,-1)};
h.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Db(this,-1)};h.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Db(this,-1)};
function Db(a,b){if(a.c){var c=a.c,d=b||0,e=c.j.speed;e&&(0>=d||30<=(c.hc+=d))&&(e.textContent=c.l.N?c.Oa.toFixed(2)+"Mhz":"Stopped",c.hc=0)}if(a.f&&(a=a.f,b=b||0,a.m)){c=a.c.l.N;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;e<a.c.b.length;e++)tb(a,"R"+e,a.c.b[e]);e=qc(a.c);tb(a,"PS",e);tb(a,"NF",e&8?1:0,1);tb(a,"ZF",e&4?1:0,1);tb(a,"VF",e&2?1:0,1);tb(a,"CF",e&1?1:0,1);a.i=0}Jb(a,0<b&&c&&!d?a.c.Aa:a.la);Fb(a,a.h);b=a.c;b=b.Ba?b.na&16?1:2:4;Lb(a,"B22",b&1);Lb(a,"B18",b&2);Lb(a,"B16",b&4)}}
h.ga=function(a,b,c){var d=this;switch(b){case "power":return this.j[b]=c,c.onclick=function(){d.g||(d.l.S?eh(d,!1,!0):Pg(d,d.vb))},!0;case "reset":return this.j[b]=c,c.onclick=function(){if(d.l.S&&!d.g)if(d.a&&!d.s){var a=ua("Click OK to save changes to this "+db+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");eh(d,a,!0);!a&&d.w?window&&window.location.reload():(a||(d.m=!0),d.vb(Mg),d.m=!1)}else d.reset(),d.c&&d.c.ba()},!0;case "save":if(Ea(La(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.j[b]=c,c.onclick=function(){var a=Lg(d,!0);if(a){var b=!!(d.a&&!d.s||d.w),c=eh(d,b);b?ih(d,a,c):d.B("Resume disabled, machine state not saved")}},!0}return!1};
function Lg(a,b){var c=a.b;c||((c=Oa(ch),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=kh(a,c))||a.B("The user ID is invalid.")):b&&a.B("Browser local storage is not available"));return c}
function kh(a,b){a.b=null;b=G(La()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Pa(ch,b.data),a.b=b.data)}catch(d){v(d.message+" ("+c+")")}return a.b}function Og(a){var b=null;a.b&&(b=La()+"/api/v1/user?req=load&user="+a.b+"&state="+lh(a,"1.32.2"));return b}
function ih(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=lh(a,"1.32.2");d.data=c;b=G(La()+"/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.B("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.B(c),Pa(ch,""),a.b=null)}}
function Kf(a){var b;a=y(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 Rc(a){if(a.bb){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.bb.focus();window&&window.scrollTo(b,c)}}var Wg="failsafe",Rg="validate",Tg="timestamp",fh="version",gh="url",hh="browser",ch="user",Vg=-1,Mg=0,Ug=1,Yg=2,jh=3;
Va(function(){for(var a=C(document,B+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=C(c,B,"computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new Jg(g,d,!0);A(g,f);g.D&&Pg(g,g.vb)}});Wa.show.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=wa("Computer",c.id))&&c.H&&!c.l.S&&c.vb(Vg)}});Wa.exit.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=wa("Computer",c.id))&&c.l.S&&eh(c,!(!c.a||c.s),!0)}});
function J(a,b,c){this.id=a.id;this.a="";this.c={};this.b=this.j=!1;this.key=lh(a,b,c);ah(this,a.Tc)}h=J.prototype;h.set=function(a,b){try{this.c[a]=b}catch(c){}};h.get=function(a){return this.c[a]||null};h.data=function(){return this.c};function Ng(a,b){return b?(a.a=b,a.b=!0,a.j=!1,!0):a.b?!0:Ma()&&(b=Oa(a.key))?(a.a=b,a.b=!0):!1}function Sg(a){var b=!0;if(!a.j)try{a.c=JSON.parse(a.a),a.j=!0}catch(c){v(c.message||c),b=!1}return b}
function bh(a){var b=!0;if(Ma()){var c=JSON.stringify(a.c);Pa(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.c?JSON.stringify(this.c):this.a};function ah(a,b){a.a="";a.c={};a.b=a.j=!1;b&&a.set("parms",b)}
h.clear=function(a){ah(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 lh(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 mh=0;
function nh(a,b,c,d,e,f){e("Loading "+a+"...");G(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):oh(k,a,b,c,d,e,f)})}
function oh(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(ra(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(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?ph(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function ph(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");G(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,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.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);ph(a,b,c)}})}else c(a,null)}
function qh(a,b,c,d){function e(a){if(void 0===k){var b=g&&C(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Fa(a))}function f(a){e("Error: "+a);l&&(--mh||Za(!0));l=!1}var g,k,l=!0;mh++;sa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=m:t.appendChild(document.createTextNode(m));p.appendChild(t)}c||
(c="/versions/pdpjs/1.32.2/components.xsl");m=function(d,k){k?nh(c,null,null,!1,e,function(d,l){l?(ra(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--mh||Za(!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),--mh||Za(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nh(b,a,d,!0,e,m):oh(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(x){f(x.message)}return l}window.embedPDP11=function(a,b,c,d){Za(!1);return qh(a,b,c,d)};window.findMachineComponent=function(a,b){return wa(b,a+".machine")};window.enableEvents=Za;window.sendEvent=ab;})();//# sourceMappingURL=/tmp/pdpjs/1.32.2/pdp11.map