Started work on PDP-10 logical operations

This commit is contained in:
Jeff 2017-03-03 11:30:34 -08:00 committed by Jeff Parsons
commit 616f9d4cda
7 changed files with 468 additions and 503 deletions

View file

@ -216,7 +216,7 @@ PDP10.opIBP = function(op, acc)
* but I would like to keep PTR_MASK distinct from both the P and S fields. * but I would like to keep PTR_MASK distinct from both the P and S fields.
*/ */
w = (p * PDP10.OPCODE.P_SCALE) + (s << PDP10.OPCODE.S_SHIFT) + (w & PDP10.OPCODE.PTR_MASK); w = (p * PDP10.OPCODE.P_SCALE) + (s << PDP10.OPCODE.S_SHIFT) + (w & PDP10.OPCODE.PTR_MASK);
if (inc) w = (w + inc) % PDP10.DATA_LIMIT; if (inc) w = (w + inc) % PDP10.WORD_LIMIT;
this.writeWord(this.regEA, w); this.writeWord(this.regEA, w);
}; };
@ -293,7 +293,12 @@ PDP10.opLDB = function(op, acc)
var p = (this.regPS / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; var p = (this.regPS / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK;
var s = (this.regPS >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; var s = (this.regPS >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK;
if (p + s <= 32) { if (p + s <= 32) {
w = (w >> p) & ((1 << s) - 1); /*
* WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a
* negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is
* positive.
*/
w = ((w >> p) & ((1 << s) - 1)) >>> 0;
} else { } else {
/* /*
* Regarding the SPECIAL CONSIDERATIONS above, even if the P ("shift") and/or S ("mask") values are * Regarding the SPECIAL CONSIDERATIONS above, even if the P ("shift") and/or S ("mask") values are
@ -382,7 +387,7 @@ PDP10.opDPB = function(op, acc)
* over-large, we "mask" the resulting byte value (b) to 36 bits, so that when we re-assemble the final * over-large, we "mask" the resulting byte value (b) to 36 bits, so that when we re-assemble the final
* result (w), there shouldn't be any overlap or overflow. * result (w), there shouldn't be any overlap or overflow.
*/ */
var b = ((this.readWord(acc) % Math.pow(2, s)) * Math.pow(2, p)) % PDP10.DATA_LIMIT; var b = ((this.readWord(acc) % Math.pow(2, s)) * Math.pow(2, p)) % PDP10.WORD_LIMIT;
w = (w - (w % Math.pow(2, p + s))) + b + (w % Math.pow(2, p)); w = (w - (w % Math.pow(2, p + s))) + b + (w % Math.pow(2, p));
this.writeWord(this.regEA, w); this.writeWord(this.regEA, w);
this.regPS = -1; this.regPS = -1;
@ -782,6 +787,8 @@ PDP10.opFDVRB = function(op, acc)
* *
* NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory").
* *
* Equivalents: opSETM(0o414000) and opSETMB(0o417000)
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
@ -803,6 +810,8 @@ PDP10.opMOVE = function(op, acc)
* *
* NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A].
* *
* Equivalents: opSETMI(0o415000)
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
@ -822,6 +831,8 @@ PDP10.opMOVEI = function(op, acc)
* *
* NOTE: This is a "Memory" mode instruction: the source is [A] and the destination is [E] (opposite of "Basic"). * NOTE: This is a "Memory" mode instruction: the source is [A] and the destination is [E] (opposite of "Basic").
* *
* Equivalents: opSETAM(0o426000) and opSETAB(0o427000).
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
@ -869,7 +880,7 @@ PDP10.opMOVES = function(op, acc)
PDP10.opMOVS = function(op, acc) PDP10.opMOVS = function(op, acc)
{ {
var src = this.readWord(this.regEA); var src = this.readWord(this.regEA);
src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); src = ((src / PDP10.HALF_SHIFT)|0) + ((src % PDP10.HALF_SHIFT) * PDP10.HALF_SHIFT);
this.writeWord(acc, src); this.writeWord(acc, src);
}; };
@ -891,7 +902,7 @@ PDP10.opMOVS = function(op, acc)
*/ */
PDP10.opMOVSI = function(op, acc) PDP10.opMOVSI = function(op, acc)
{ {
this.writeWord(acc, this.regEA * PDP10.WORD_SHIFT); this.writeWord(acc, this.regEA * PDP10.HALF_SHIFT);
}; };
/** /**
@ -911,7 +922,7 @@ PDP10.opMOVSI = function(op, acc)
PDP10.opMOVSM = function(op, acc) PDP10.opMOVSM = function(op, acc)
{ {
var src = this.readWord(acc); var src = this.readWord(acc);
src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); src = ((src / PDP10.HALF_SHIFT)|0) + ((src % PDP10.HALF_SHIFT) * PDP10.HALF_SHIFT);
this.writeWord(this.regEA, src); this.writeWord(this.regEA, src);
}; };
@ -932,7 +943,7 @@ PDP10.opMOVSM = function(op, acc)
PDP10.opMOVSS = function(op, acc) PDP10.opMOVSS = function(op, acc)
{ {
var src = this.readWord(this.regEA); var src = this.readWord(this.regEA);
src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); src = ((src / PDP10.HALF_SHIFT)|0) + ((src % PDP10.HALF_SHIFT) * PDP10.HALF_SHIFT);
this.writeWord(this.regEA, src); this.writeWord(this.regEA, src);
if (acc) this.writeWord(acc, src) if (acc) this.writeWord(acc, src)
}; };
@ -1475,19 +1486,19 @@ PDP10.opBLT = function(op, acc)
{ {
var fDone = false; var fDone = false;
var addrDst = this.readWord(acc); var addrDst = this.readWord(acc);
var addrSrc = (addrDst / PDP10.WORD_SHIFT)|0; var addrSrc = (addrDst / PDP10.HALF_SHIFT)|0;
addrDst &= PDP10.WORD_MASK; addrDst &= PDP10.HALF_MASK;
while (!fDone) { while (!fDone) {
this.writeWord(addrDst, this.readWord(addrSrc)); this.writeWord(addrDst, this.readWord(addrSrc));
if (addrDst == this.regEA) fDone = true; if (addrDst == this.regEA) fDone = true;
addrSrc = (addrSrc + 1) & PDP10.WORD_MASK; addrSrc = (addrSrc + 1) & PDP10.HALF_MASK;
addrDst = (addrDst + 1) & PDP10.WORD_MASK; addrDst = (addrDst + 1) & PDP10.HALF_MASK;
if (!this.isRunning()) { if (!this.isRunning()) {
/* /*
* Since the CPU isn't currently running, the CPU is presumably being stepped, so we'll treat that the * Since the CPU isn't currently running, the CPU is presumably being stepped, so we'll treat that the
* same as the "priority interrupt" condition described above, update the accumulator, rewind the PC, and leave. * same as the "priority interrupt" condition described above, update the accumulator, rewind the PC, and leave.
*/ */
this.writeWord(acc, addrSrc * PDP10.WORD_SHIFT + addrDst); this.writeWord(acc, addrSrc * PDP10.HALF_SHIFT + addrDst);
if (!fDone) this.advancePC(-1); if (!fDone) this.advancePC(-1);
fDone = true; fDone = true;
} }
@ -1602,18 +1613,18 @@ PDP10.opPUSH = function(op, acc)
* This is the behavior that is clearly documented by DEC. * This is the behavior that is clearly documented by DEC.
*/ */
p += 0o000001000001; p += 0o000001000001;
this.writeWord(p & PDP10.WORD_MASK, this.readWord(this.regEA)); this.writeWord(p & PDP10.HALF_MASK, this.readWord(this.regEA));
if (p >= PDP10.DATA_LIMIT) p -= PDP10.DATA_LIMIT; if (p >= PDP10.WORD_LIMIT) p -= PDP10.WORD_LIMIT;
if (!((p / PDP10.WORD_SHIFT) | 0)) this.fPDOverflow = true; if (!((p / PDP10.HALF_SHIFT)|0)) this.fPDOverflow = true;
} else { } else {
/* /*
* This is the SIMH behavior, which appears to increment each half of AC independently. * This is the SIMH behavior, which appears to increment each half of AC independently.
*/ */
var addr = (p + 1) & PDP10.WORD_MASK; var addr = (p + 1) & PDP10.HALF_MASK;
this.writeWord(addr, this.readWord(this.regEA)); this.writeWord(addr, this.readWord(this.regEA));
p = (p + 0o000001000000) - (p & PDP10.WORD_MASK) + addr; p = (p + 0o000001000000) - (p & PDP10.HALF_MASK) + addr;
if (p >= PDP10.DATA_LIMIT) { if (p >= PDP10.WORD_LIMIT) {
p -= PDP10.DATA_LIMIT; p -= PDP10.WORD_LIMIT;
this.fPDOverflow = true; this.fPDOverflow = true;
} }
} }
@ -1639,12 +1650,12 @@ PDP10.opPUSH = function(op, acc)
PDP10.opPOP = function(op, acc) PDP10.opPOP = function(op, acc)
{ {
var p = this.readWord(acc); var p = this.readWord(acc);
var src = this.readWord(p & PDP10.WORD_MASK); var src = this.readWord(p & PDP10.HALF_MASK);
this.writeWord(this.regEA, src); this.writeWord(this.regEA, src);
if (this.regEA == acc) p = src; // this avoids re-reading the accumulator if the write just overwrote it if (this.regEA == acc) p = src; // this avoids re-reading the accumulator if the write just overwrote it
p -= 0o000001000001; p -= 0o000001000001;
if (p < 0) p += PDP10.DATA_LIMIT; if (p < 0) p += PDP10.WORD_LIMIT;
if (((p / PDP10.WORD_SHIFT) | 0) == PDP10.WORD_MASK) this.fPDOverflow = true; if (((p / PDP10.HALF_SHIFT)|0) == PDP10.HALF_MASK) this.fPDOverflow = true;
this.writeWord(acc, p); this.writeWord(acc, p);
}; };
@ -2573,7 +2584,7 @@ PDP10.opSOSG = function(op, acc)
}; };
/** /**
* opSETZ(0o400000) * opSETZ(0o400000) and opSETZI(0o401000)
* *
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
@ -2581,19 +2592,7 @@ PDP10.opSOSG = function(op, acc)
*/ */
PDP10.opSETZ = function(op, acc) PDP10.opSETZ = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, 0);
};
/**
* opSETZI(0o401000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETZI = function(op, acc)
{
this.opUndefined(op);
}; };
/** /**
@ -2605,7 +2604,7 @@ PDP10.opSETZI = function(op, acc)
*/ */
PDP10.opSETZM = function(op, acc) PDP10.opSETZM = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(this.regEA, 0);
}; };
/** /**
@ -2617,55 +2616,66 @@ PDP10.opSETZM = function(op, acc)
*/ */
PDP10.opSETZB = function(op, acc) PDP10.opSETZB = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, 0);
this.writeWord(this.regEA, 0);
}; };
/** /**
* opAND(0o404000) * opAND(0o404000)
* *
* Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand ([E]) and [AC].
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opAND = function(op, acc) PDP10.opAND = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, PDP10.doAND(this.readWord(acc), this.readWord(this.regEA)));
}; };
/** /**
* opANDI(0o405000) * opANDI(0o405000)
* *
* Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand (E) and [AC].
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opANDI = function(op, acc) PDP10.opANDI = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, PDP10.doAND(this.readWord(acc), this.regEA));
}; };
/** /**
* opANDM(0o406000) * opANDM(0o406000)
* *
* Change the contents of the destination specified by M ([E]) to the AND function of the specified operand ([E]) and [AC].
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opANDM = function(op, acc) PDP10.opANDM = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(this.regEA, PDP10.doAND(this.readWord(acc), this.readWord(this.regEA)));
}; };
/** /**
* opANDB(0o407000) * opANDB(0o407000)
* *
* Change the contents of the destination specified by M ([E] and [AC]) to the AND function of the specified operand ([E]) and [AC].
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opANDB = function(op, acc) PDP10.opANDB = function(op, acc)
{ {
this.opUndefined(op); var result = PDP10.doAND(this.readWord(acc), this.readWord(this.regEA));
this.writeWord(this.regEA, result);
this.writeWord(acc, result);
}; };
/** /**
@ -2716,54 +2726,6 @@ PDP10.opANDCAB = function(op, acc)
this.opUndefined(op); this.opUndefined(op);
}; };
/**
* opSETM(0o414000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETM = function(op, acc)
{
this.opUndefined(op);
};
/**
* opSETMI(0o415000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETMI = function(op, acc)
{
this.opUndefined(op);
};
/**
* opSETMM(0o416000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETMM = function(op, acc)
{
this.opUndefined(op);
};
/**
* opSETMB(0o417000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETMB = function(op, acc)
{
this.opUndefined(op);
};
/** /**
* opANDCM(0o420000) * opANDCM(0o420000)
* *
@ -2812,54 +2774,6 @@ PDP10.opANDCMB = function(op, acc)
this.opUndefined(op); this.opUndefined(op);
}; };
/**
* opSETA(0o424000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETA = function(op, acc)
{
this.opUndefined(op);
};
/**
* opSETAI(0o425000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETAI = function(op, acc)
{
this.opUndefined(op);
};
/**
* opSETAM(0o426000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETAM = function(op, acc)
{
this.opUndefined(op);
};
/**
* opSETAB(0o427000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETAB = function(op, acc)
{
this.opUndefined(op);
};
/** /**
* opXOR(0o430000) * opXOR(0o430000)
* *
@ -3053,7 +2967,9 @@ PDP10.opEQVB = function(op, acc)
}; };
/** /**
* opSETCA(0o450000) * opSETCA(0o450000) and opSETCAI(0o451000)
*
* Change the contents of the destination specified by M ([AC]) to the complement of [AC].
* *
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
@ -3061,43 +2977,37 @@ PDP10.opEQVB = function(op, acc)
*/ */
PDP10.opSETCA = function(op, acc) PDP10.opSETCA = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, PDP10.WORD_MASK - this.readWord(acc));
};
/**
* opSETCAI(0o451000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETCAI = function(op, acc)
{
this.opUndefined(op);
}; };
/** /**
* opSETCAM(0o452000) * opSETCAM(0o452000)
* *
* Change the contents of the destination specified by M ([E]) to the complement of [AC].
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opSETCAM = function(op, acc) PDP10.opSETCAM = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(this.regEA, PDP10.WORD_MASK - this.readWord(acc));
}; };
/** /**
* opSETCAB(0o453000) * opSETCAB(0o453000)
* *
* Change the contents of the destination specified by M ([E] and [AC]) to the complement of [AC].
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opSETCAB = function(op, acc) PDP10.opSETCAB = function(op, acc)
{ {
this.opUndefined(op); var dst = PDP10.WORD_MASK - this.readWord(acc);
this.writeWord(acc, dst);
this.writeWord(this.regEA, dst);
}; };
/** /**
@ -3151,49 +3061,59 @@ PDP10.opORCAB = function(op, acc)
/** /**
* opSETCM(0o460000) * opSETCM(0o460000)
* *
* Change the contents of the destination specified by M ([AC]) to the complement of the specified source operand ([E]).
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opSETCM = function(op, acc) PDP10.opSETCM = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, PDP10.WORD_MASK - this.readWord(this.regEA));
}; };
/** /**
* opSETCMI(0o461000) * opSETCMI(0o461000)
* *
* Change the contents of the destination specified by M ([AC]) to the complement of the specified source operand (E).
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opSETCMI = function(op, acc) PDP10.opSETCMI = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, PDP10.WORD_MASK - this.regEA);
}; };
/** /**
* opSETCMM(0o462000) * opSETCMM(0o462000)
* *
* Change the contents of the destination specified by M ([E]) to the complement of the specified source operand ([E]).
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opSETCMM = function(op, acc) PDP10.opSETCMM = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(this.regEA, PDP10.WORD_MASK - this.readWord(this.regEA));
}; };
/** /**
* opSETCMB(0o463000) * opSETCMB(0o463000)
* *
* Change the contents of the destination specified by M ([E] and [AC]) to the complement of the specified source operand ([E]).
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opSETCMB = function(op, acc) PDP10.opSETCMB = function(op, acc)
{ {
this.opUndefined(op); var dst = PDP10.WORD_MASK - this.readWord(this.regEA);
this.writeWord(acc, dst);
this.writeWord(this.regEA, dst);
}; };
/** /**
@ -3293,7 +3213,9 @@ PDP10.opORCBB = function(op, acc)
}; };
/** /**
* opSETO(0o474000) * opSETO(0o474000) and opSETOI(0o475000)
*
* Change the contents of the destination specified by M (AC) to all 1s.
* *
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
@ -3301,43 +3223,36 @@ PDP10.opORCBB = function(op, acc)
*/ */
PDP10.opSETO = function(op, acc) PDP10.opSETO = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, PDP10.WORD_MASK);
};
/**
* opSETOI(0o475000)
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opSETOI = function(op, acc)
{
this.opUndefined(op);
}; };
/** /**
* opSETOM(0o476000) * opSETOM(0o476000)
* *
* Change the contents of the destination specified by M ([E]) to all 1s.
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opSETOM = function(op, acc) PDP10.opSETOM = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(this.regEA, PDP10.WORD_MASK);
}; };
/** /**
* opSETOB(0o477000) * opSETOB(0o477000)
* *
* Change the contents of the destination specified by M ([E] and [AC]) to all 1s.
*
* @this {CPUStatePDP10} * @this {CPUStatePDP10}
* @param {number} op * @param {number} op
* @param {number} acc * @param {number} acc
*/ */
PDP10.opSETOB = function(op, acc) PDP10.opSETOB = function(op, acc)
{ {
this.opUndefined(op); this.writeWord(acc, PDP10.WORD_MASK);
this.writeWord(this.regEA, PDP10.WORD_MASK);
}; };
/** /**
@ -3358,7 +3273,7 @@ PDP10.opHLL = function(op, acc)
{ {
var src = this.readWord(this.regEA); var src = this.readWord(this.regEA);
var dst = this.readWord(acc); var dst = this.readWord(acc);
this.writeWord(acc, PDP10.getHR(op, dst, src) + (src - (src & PDP10.WORD_MASK))); this.writeWord(acc, PDP10.getHR(op, dst, src) + (src - (src & PDP10.HALF_MASK)));
}; };
/** /**
@ -3402,7 +3317,7 @@ PDP10.opHLLM = function(op, acc)
{ {
var src = this.readWord(acc); var src = this.readWord(acc);
var dst = this.readWord(this.regEA); var dst = this.readWord(this.regEA);
this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + (src - (src & PDP10.WORD_MASK))); this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + (src - (src & PDP10.HALF_MASK)));
}; };
/** /**
@ -3446,7 +3361,7 @@ PDP10.opHLLS = function(op, acc)
*/ */
PDP10.opHRL = function(op, acc) PDP10.opHRL = function(op, acc)
{ {
var src = (this.readWord(this.regEA) & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; var src = (this.readWord(this.regEA) & PDP10.HALF_MASK) * PDP10.HALF_SHIFT;
var dst = this.readWord(acc); var dst = this.readWord(acc);
this.writeWord(acc, PDP10.getHR(op, dst, src) + src); this.writeWord(acc, PDP10.getHR(op, dst, src) + src);
}; };
@ -3468,7 +3383,7 @@ PDP10.opHRL = function(op, acc)
*/ */
PDP10.opHRLI = function(op, acc) PDP10.opHRLI = function(op, acc)
{ {
var src = this.regEA * PDP10.WORD_SHIFT; var src = this.regEA * PDP10.HALF_SHIFT;
var dst = this.readWord(acc); var dst = this.readWord(acc);
this.writeWord(acc, PDP10.getHR(op, dst, src) + src); this.writeWord(acc, PDP10.getHR(op, dst, src) + src);
}; };
@ -3490,7 +3405,7 @@ PDP10.opHRLI = function(op, acc)
*/ */
PDP10.opHRLM = function(op, acc) PDP10.opHRLM = function(op, acc)
{ {
var src = (this.readWord(acc) & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; var src = (this.readWord(acc) & PDP10.HALF_MASK) * PDP10.HALF_SHIFT;
var dst = this.readWord(this.regEA); var dst = this.readWord(this.regEA);
this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + src); this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + src);
}; };
@ -3513,7 +3428,7 @@ PDP10.opHRLM = function(op, acc)
PDP10.opHRLS = function(op, acc) PDP10.opHRLS = function(op, acc)
{ {
var dst = this.readWord(this.regEA); var dst = this.readWord(this.regEA);
var src = (dst & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; var src = (dst & PDP10.HALF_MASK) * PDP10.HALF_SHIFT;
dst = PDP10.getHR(op, dst, src) + src; dst = PDP10.getHR(op, dst, src) + src;
this.writeWord(this.regEA, dst); this.writeWord(this.regEA, dst);
if (acc) this.writeWord(acc, dst); if (acc) this.writeWord(acc, dst);
@ -3536,7 +3451,7 @@ PDP10.opHRLS = function(op, acc)
*/ */
PDP10.opHRR = function(op, acc) PDP10.opHRR = function(op, acc)
{ {
var src = this.readWord(this.regEA) & PDP10.WORD_MASK; var src = this.readWord(this.regEA) & PDP10.HALF_MASK;
var dst = this.readWord(acc); var dst = this.readWord(acc);
this.writeWord(acc, PDP10.getHL(op, dst, src) + src); this.writeWord(acc, PDP10.getHL(op, dst, src) + src);
}; };
@ -3579,7 +3494,7 @@ PDP10.opHRRI = function(op, acc)
*/ */
PDP10.opHRRM = function(op, acc) PDP10.opHRRM = function(op, acc)
{ {
var src = this.readWord(acc) & PDP10.WORD_MASK; var src = this.readWord(acc) & PDP10.HALF_MASK;
var dst = this.readWord(this.regEA); var dst = this.readWord(this.regEA);
this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src); this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src);
}; };
@ -3625,7 +3540,7 @@ PDP10.opHRRS = function(op, acc)
*/ */
PDP10.opHLR = function(op, acc) PDP10.opHLR = function(op, acc)
{ {
var src = (this.readWord(this.regEA) / PDP10.WORD_SHIFT)|0; var src = (this.readWord(this.regEA) / PDP10.HALF_SHIFT)|0;
var dst = this.readWord(acc); var dst = this.readWord(acc);
this.writeWord(acc, PDP10.getHL(op, dst, src) + src); this.writeWord(acc, PDP10.getHL(op, dst, src) + src);
}; };
@ -3668,7 +3583,7 @@ PDP10.opHLRI = function(op, acc)
*/ */
PDP10.opHLRM = function(op, acc) PDP10.opHLRM = function(op, acc)
{ {
var src = (this.readWord(acc) / PDP10.WORD_SHIFT)|0; var src = (this.readWord(acc) / PDP10.HALF_SHIFT)|0;
var dst = this.readWord(this.regEA); var dst = this.readWord(this.regEA);
this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src); this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src);
}; };
@ -3690,7 +3605,7 @@ PDP10.opHLRM = function(op, acc)
PDP10.opHLRS = function(op, acc) PDP10.opHLRS = function(op, acc)
{ {
var dst = this.readWord(this.regEA); var dst = this.readWord(this.regEA);
var src = (dst / PDP10.WORD_SHIFT)|0; var src = (dst / PDP10.HALF_SHIFT)|0;
dst = PDP10.getHL(op, dst, src) + src; dst = PDP10.getHL(op, dst, src) + src;
this.writeWord(this.regEA, dst); this.writeWord(this.regEA, dst);
if (acc) this.writeWord(acc, dst); if (acc) this.writeWord(acc, dst);
@ -4572,6 +4487,19 @@ PDP10.opIO = function(op, acc)
this.opUndefined(op); this.opUndefined(op);
}; };
/**
* opNOP(op, acc)
*
* Used for all "defined" operations that, in fact, do nothing (eg, SETA and SETAI).
*
* @this {CPUStatePDP10}
* @param {number} op
* @param {number} acc
*/
PDP10.opNOP = function(op, acc)
{
};
/** /**
* opUndefined(op, acc) * opUndefined(op, acc)
* *
@ -4600,16 +4528,16 @@ PDP10.getHL = function(op, dst, src)
{ {
switch(op & 0o600) { switch(op & 0o600) {
case 0o000: case 0o000:
dst -= (dst & PDP10.WORD_MASK); dst -= (dst & PDP10.HALF_MASK);
break; break;
case 0o200: case 0o200:
dst = 0; dst = 0;
break; break;
case 0o400: case 0o400:
dst = (PDP10.WORD_MASK * PDP10.WORD_SHIFT); dst = (PDP10.HALF_MASK * PDP10.HALF_SHIFT);
break; break;
case 0o600: case 0o600:
dst = (src > PDP10.MAX_POS18? (PDP10.WORD_MASK * PDP10.WORD_SHIFT) : 0); dst = (src > PDP10.MAX_POS18? (PDP10.HALF_MASK * PDP10.HALF_SHIFT) : 0);
break; break;
} }
return dst; return dst;
@ -4628,13 +4556,13 @@ PDP10.getHL = function(op, dst, src)
PDP10.setHL = function(op, dst, src) PDP10.setHL = function(op, dst, src)
{ {
if (op &= 0o600) { if (op &= 0o600) {
dst &= PDP10.WORD_MASK; dst &= PDP10.HALF_MASK;
switch(op) { switch(op) {
case 0o400: case 0o400:
dst += (PDP10.WORD_MASK * PDP10.WORD_SHIFT); dst += (PDP10.HALF_MASK * PDP10.HALF_SHIFT);
break; break;
case 0o600: case 0o600:
dst += (src > PDP10.MAX_POS18? (PDP10.WORD_MASK * PDP10.WORD_SHIFT) : 0); dst += (src > PDP10.MAX_POS18? (PDP10.HALF_MASK * PDP10.HALF_SHIFT) : 0);
break; break;
} }
} }
@ -4655,16 +4583,16 @@ PDP10.getHR = function(op, dst, src)
{ {
switch(op & 0o600) { switch(op & 0o600) {
case 0o000: case 0o000:
dst = (dst & PDP10.WORD_MASK); dst = (dst & PDP10.HALF_MASK);
break; break;
case 0o200: case 0o200:
dst = 0; dst = 0;
break; break;
case 0o400: case 0o400:
dst = PDP10.WORD_MASK; dst = PDP10.HALF_MASK;
break; break;
case 0o600: case 0o600:
dst = (src > PDP10.MAX_POS36? PDP10.WORD_MASK : 0); dst = (src > PDP10.MAX_POS36? PDP10.HALF_MASK : 0);
break; break;
} }
return dst; return dst;
@ -4683,19 +4611,41 @@ PDP10.getHR = function(op, dst, src)
PDP10.setHR = function(op, dst, src) PDP10.setHR = function(op, dst, src)
{ {
if (op &= 0o600) { if (op &= 0o600) {
dst -= (dst & PDP10.WORD_MASK); dst -= (dst & PDP10.HALF_MASK);
switch(op) { switch(op) {
case 0o400: case 0o400:
dst += PDP10.WORD_MASK; dst += PDP10.HALF_MASK;
break; break;
case 0o600: case 0o600:
dst += (src > PDP10.MAX_POS36? PDP10.WORD_MASK : 0); dst += (src > PDP10.MAX_POS36? PDP10.HALF_MASK : 0);
break; break;
} }
} }
return dst; return dst;
}; };
/**
* doAND(dst, src)
*
* Used by callers to perform a logical "AND" of two 36-bit operands.
*
* @param {number} dst (36-bit value)
* @param {number} src (36-bit value)
* @return {number} (dst & src)
*/
PDP10.doAND = function(dst, src)
{
/*
* Since dst and src are 36-bit values, we must "AND" the low 32 bits separately from the higher bits,
* and then combine them with addition.
*
* WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a
* negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is
* positive.
*/
return ((((dst / PDP10.TWO_POW32)|0) & ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst & src) >>> 0);
};
/* /*
* If we want the basic half-word operations to handle all the sub-operations; ie: * If we want the basic half-word operations to handle all the sub-operations; ie:
* *
@ -4755,6 +4705,18 @@ PDP10.opHLREI = PDP10.opHLRI;
PDP10.opHLREM = PDP10.opHLRM; PDP10.opHLREM = PDP10.opHLRM;
PDP10.opHLRES = PDP10.opHLRS; PDP10.opHLRES = PDP10.opHLRS;
PDP10.opSETZI = PDP10.opSETZ;
PDP10.opSETOI = PDP10.opSETO;
PDP10.opSETCAI = PDP10.opSETCA;
PDP10.opSETA = PDP10.opNOP;
PDP10.opSETAI = PDP10.opNOP;
PDP10.opSETAM = PDP10.opMOVEM;
PDP10.opSETAB = PDP10.opMOVEM;
PDP10.opSETM = PDP10.opMOVE;
PDP10.opSETMI = PDP10.opMOVEI;
PDP10.opSETMM = PDP10.opNOP;
PDP10.opSETMB = PDP10.opMOVE;
PDP10.aOpXXX_KA10 = [ PDP10.aOpXXX_KA10 = [
PDP10.opUUO, // 0o000xxx PDP10.opUUO, // 0o000xxx
PDP10.opUUO, // 0o001xxx PDP10.opUUO, // 0o001xxx

View file

@ -459,7 +459,7 @@ class DebuggerPDP10 extends Debugger {
*/ */
getWord(dbgAddr, inc) getWord(dbgAddr, inc)
{ {
var w = PDP10.DATA_INVALID; var w = PDP10.WORD_INVALID;
var addr = this.getAddr(dbgAddr, false); var addr = this.getAddr(dbgAddr, false);
if (addr !== PDP10.ADDR_INVALID) { if (addr !== PDP10.ADDR_INVALID) {
w = this.bus.getWordDirect(addr); w = this.bus.getWordDirect(addr);
@ -590,14 +590,14 @@ class DebuggerPDP10 extends Debugger {
* toStrWord(w) * toStrWord(w)
* *
* @this {DebuggerPDP10} * @this {DebuggerPDP10}
* @param {number} w (up to, but not including, DATA_LIMIT) * @param {number} w (up to, but not including, WORD_LIMIT)
* @return {string} octal representation of the 36-bit word, as two 18-bit values * @return {string} octal representation of the 36-bit word, as two 18-bit values
*/ */
toStrWord(w) toStrWord(w)
{ {
/* /*
* ADDR_LIMIT is not derived from DATA_LIMIT; we're just taking advantage of the fact * ADDR_LIMIT is not derived from WORD_LIMIT; we're just taking advantage of the fact
* that ADDR_LIMIT happens to be exactly half of DATA_LIMIT, and they are both powers of two. * that ADDR_LIMIT happens to be exactly half of WORD_LIMIT, and they are both powers of two.
*/ */
return Str.toOct(w / PDP10.ADDR_LIMIT, 6) + ' ' + Str.toOct(w % PDP10.ADDR_LIMIT, 6); return Str.toOct(w / PDP10.ADDR_LIMIT, 6) + ' ' + Str.toOct(w % PDP10.ADDR_LIMIT, 6);
} }
@ -3891,7 +3891,7 @@ if (DEBUGGER) {
0o23400: DebuggerPDP10.OPS.DIV, 0o23400: DebuggerPDP10.OPS.DIV,
0o27000: DebuggerPDP10.OPS.ADD, 0o27000: DebuggerPDP10.OPS.ADD,
0o27400: DebuggerPDP10.OPS.SUB, 0o27400: DebuggerPDP10.OPS.SUB,
0o40000: DebuggerPDP10.OPS.SETZ, 0o40000: DebuggerPDP10.OPS.SETZ, // MACRO alias: CLEAR
0o40400: DebuggerPDP10.OPS.AND, 0o40400: DebuggerPDP10.OPS.AND,
0o41000: DebuggerPDP10.OPS.ANDCA, 0o41000: DebuggerPDP10.OPS.ANDCA,
0o41400: DebuggerPDP10.OPS.SETM, 0o41400: DebuggerPDP10.OPS.SETM,

View file

@ -103,10 +103,11 @@ var PDP10 = {
ADDR_INVALID: -1, ADDR_INVALID: -1,
ADDR_LIMIT: Math.pow(2, 18), ADDR_LIMIT: Math.pow(2, 18),
ADDR_MASK: Math.pow(2, 18) - 1, ADDR_MASK: Math.pow(2, 18) - 1,
DATA_INVALID: -1, WORD_INVALID: -1,
DATA_LIMIT: Math.pow(2, 36), WORD_LIMIT: Math.pow(2, 36),
WORD_SHIFT: Math.pow(2, 18), WORD_MASK: Math.pow(2, 36) - 1,
WORD_MASK: 0o777777, HALF_SHIFT: Math.pow(2, 18),
HALF_MASK: Math.pow(2, 18) - 1,
/* /*
* 18-bit and 36-bit largest positive (and smallest negative) values; however, since we store all * 18-bit and 36-bit largest positive (and smallest negative) values; however, since we store all
@ -117,6 +118,7 @@ var PDP10 = {
MAX_POS36: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777) MAX_POS36: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777)
MIN_NEG36: Math.pow(2, 35), // -34,359,738,368 (400000 000000) MIN_NEG36: Math.pow(2, 35), // -34,359,738,368 (400000 000000)
TWO_POW36: Math.pow(2, 36), // the two's complement of a 36-bit value is (value? TWO_POW36 - value : 0) TWO_POW36: Math.pow(2, 36), // the two's complement of a 36-bit value is (value? TWO_POW36 - value : 0)
TWO_POW32: Math.pow(2, 32),
/* /*
* PDP-10 opcodes are 36-bit values, most of which use the following layout: * PDP-10 opcodes are 36-bit values, most of which use the following layout:

View file

@ -396,7 +396,7 @@ class MemoryPDP10 {
this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true); this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true);
} }
this.bus.fault(addr); this.bus.fault(addr);
return PDP10.DATA_INVALID; return PDP10.WORD_INVALID;
} }
/** /**

View file

@ -1043,7 +1043,7 @@ class PanelPDP10 extends Component {
*/ */
updateData(value) updateData(value)
{ {
this.regData = value % PDP10.DATA_LIMIT; this.regData = value % PDP10.WORD_LIMIT;
if (this.ledData !== this.regData) { if (this.ledData !== this.regData) {
this.ledData = this.regData; this.ledData = this.regData;
this.updateLEDArray("D", this.ledData, 16); this.updateLEDArray("D", this.ledData, 16);

View file

@ -27,204 +27,204 @@
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
*/ */
var l,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++} var l,ca="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)},da="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ea(){ea=function(){};da.Symbol||(da.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++}
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 ha(){ea();var a=da.Symbol.iterator;a||(a=da.Symbol.iterator=da.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ca(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return ja(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ja(a){ha();a={next:a};a[da.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]}function ka(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}} 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]}function ma(a,b){if(b){var c=da;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ca(c,a,{configurable:!0,writable:!0,value:b})}}
ka("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); ma("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ma("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var la=Math.pow(2,36),ma=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc: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,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, var na=Math.pow(2,36),oa=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc: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,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81,
Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127};
function na(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 g,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&& function pa(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 g,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(g=parseInt(a,b))&&(c=g)}return c}function oa(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var g=a%b,g=g+(0<=g&&9>=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return oa(a,8,b,c?"0o":"")}function t(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return oa(a,16,b,c?"0x":"")} d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(c=g)}return c}function qa(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var g=a%b,g=g+(0<=g&&9>=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ra(a,b,c){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return qa(a,8,b,c?"0o":"")}function t(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return qa(a,16,b,c?"0x":"")}
function qa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ra(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function xa(){var a=ya();return-1!==a.indexOf("pcjs.org",a.length-8)}function za(a){return a.replace(/[&<>"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} function sa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ta(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function za(){var a=Aa();return-1!==a.indexOf("pcjs.org",a.length-8)}function Ba(a){return a.replace(/[&<>"']/g,function(a){return Ca[a]})}function Da(a,b){return(a+" ").slice(0,b)}
function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Da(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d}function Ea(){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 Ea(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ca={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Fa(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d}function Ga(){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 Fa(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, function Ha(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f}
function Ga(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c<e.length;c++)d.Y[g++]=e[c]&255,d.Y[g++]=e[c]>>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c<e.length;c++)d.Y[g++]= function Ia(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c<e.length;c++)d.Y[g++]=e[c]&255,d.Y[g++]=e[c]>>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c<e.length;c++)d.Y[g++]=
e[c]&255,d.Y[g++]=e[c]>>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){g=parseInt(b[c],16);if(isNaN(g)){u("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.Y=e)}return d} e[c]&255,d.Y[g++]=e[c]>>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){g=parseInt(b[c],16);if(isNaN(g)){u("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.Y=e)}return d}
function ya(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ha(){if(null==Ia){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}Ia=a}return Ia}function Ra(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function Aa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ja(){if(null==Ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Ka=a}return Ka}function Ta(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Sa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ta(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 Ua(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Va(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 Ua(a){if(!Va){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Va=c}return Va[a]}function Wa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function Wa(a){if(!Xa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Xa=c}return Xa[a]}function Ya(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Xa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}function Ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Za(a){$a.init.push(a)} function Za(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}function $a(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ab(a){bb.init.push(a)}
function ab(a){if(bb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function cb(a){!bb&&a?(bb=!0,db&&eb("init"),fb&&eb("show")):bb=a}function eb(a){$a[a]&&ab($a[a])}var Va=null,$a={init:[],show:[],exit:[]},db=!1,fb=!1,bb=!0,Ia=null;Ya("onload",function(){db=!0;ab($a.init)});Ya("onpageshow",function(){fb=!0;ab($a.show)});Ya(Ta("Opera")||Ta("iOS")?"onunload":"onbeforeunload",function(){ab($a.exit)}); function cb(a){if(db)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function eb(a){!db&&a?(db=!0,fb&&gb("init"),hb&&gb("show")):db=a}function gb(a){bb[a]&&cb(bb[a])}var Xa=null,bb={init:[],show:[],exit:[]},fb=!1,hb=!1,db=!0,Ka=null;$a("onload",function(){fb=!0;cb(bb.init)});$a("onpageshow",function(){hb=!0;cb(bb.show)});$a(Va("Opera")||Va("iOS")?"onunload":"onbeforeunload",function(){cb(bb.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.hb=b.comment;this.Bb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.G=this.F=this.oa=null;w.push(this)}function gb(a,b,c){ib[a]&&b&&(ib[a][b]=c)}function rb(){return Date.now()||+new Date} function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.hb=b.comment;this.Bb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.C=this.i=this.G=this.F=this.oa=null;w.push(this)}function ib(a,b,c){kb[a]&&b&&(kb[a][b]=c)}function tb(){return Date.now()||+new Date}
function u(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ub(a){if(void 0!==a){var b;for(b=0;b<w.length;b++)if(w[b].id===a)return w[b]}return null} function u(a){window&&window.alert(a)}function ub(a){var b=!1;window&&(b=window.confirm(a));return b}function vb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}function wb(a){if(void 0!==a){var b;for(b=0;b<w.length;b++)if(w[b].id===a)return w[b]}return null}
function vb(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function x(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b} function xb(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function x(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
function wb(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,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=x(f))&&h.binding&&a.ga(h.type,h.binding,f,h.value),m=k.length}}}} function yb(a,b){var c=y;b=C(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=x(f))&&h.binding&&a.ga(h.type,h.binding,f,h.value),m=k.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} 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}
function xb(a){for(var b=!0,c=yb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=zb.indexOf(e)&&(g=function(){return function(){xb(a)}}());var f=Ab[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=vb(d[1],a);if(h)if(f=Bb[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){u("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete yb[a];return b}l=v.prototype; function zb(a){for(var b=!0,c=Ab[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=Bb.indexOf(e)&&(g=function(){return function(){zb(a)}}());var f=Cb[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=xb(d[1],a);if(h)if(f=Db[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){u("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete Ab[a];return b}l=v.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type}; l.toString=function(){return this.name?this.name:this.id||this.type};
l.ga=function(a,b,c){switch(b){case "clear":return this.I[b]||(this.I[b]=c,c.onclick=function(a){return function(){a.I.print&&(a.I.print.value="")}}(this)),!0;case "print":return this.I[b]||(this.oa=this.I[b]=c,c.value="",this.g=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.da=function(a){this.g(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.g=function(){}; l.ga=function(a,b,c){switch(b){case "clear":return this.I[b]||(this.I[b]=c,c.onclick=function(a){return function(){a.I.print&&(a.I.print.value="")}}(this)),!0;case "print":return this.I[b]||(this.oa=this.I[b]=c,c.value="",this.g=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.da=function(a){this.g(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.g=function(){};
l.status=function(a){this.g(this.Ka+": "+a)};l.da=function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)};function Cb(a,b){a.j.error=!0;a.da(b)}function Db(a){return a.j.error?(a.g(a.toString()+" error"),!0):!1}function Eb(a,b){b&&(a.j.ready?b():a.Ma=b);return a.j.ready}function D(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.Ma;a.Ma=null;b&&b()}}function Fb(a,b){a.j.Fa&&(b?a.j.Xa=!0:void 0===b&&a.g(a.toString()+" busy"));return a.j.Fa} l.status=function(a){this.g(this.Ka+": "+a)};l.da=function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)};function Eb(a,b){a.j.error=!0;a.da(b)}function Fb(a){return a.j.error?(a.g(a.toString()+" error"),!0):!1}function Gb(a,b){b&&(a.j.ready?b():a.Ma=b);return a.j.ready}function D(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.Ma;a.Ma=null;b&&b()}}function Hb(a,b){a.j.Fa&&(b?a.j.Xa=!0:void 0===b&&a.g(a.toString()+" busy"));return a.j.Fa}
function Gb(a,b){if(a.j.Xa)return a.j.Fa=!1,a.j.Xa=!1;if(a.j.error)return a.g(a.toString()+" error"),!1;a.j.Fa=b;return a.j.Fa}l.pa=function(){return this.j.U=!0};l.fa=function(a,b){b&&(this.j.U=!1);return!0};function Hb(a,b){if(a.A){a===a.A?b|=0:b=b||a.X;var c=a.A.X&b;return!!b&&c===b||!!(c&a.A.nb)}return!1}function Ib(a,b,c,d){a.A&&(!0===c||Hb(a,c|0))&&a.A.message(b,d)} function Ib(a,b){if(a.j.Xa)return a.j.Fa=!1,a.j.Xa=!1;if(a.j.error)return a.g(a.toString()+" error"),!1;a.j.Fa=b;return a.j.Fa}l.pa=function(){return this.j.U=!0};l.fa=function(a,b){b&&(this.j.U=!1);return!0};function Jb(a,b){if(a.C){a===a.C?b|=0:b=b||a.X;var c=a.C.X&b;return!!b&&c===b||!!(c&a.C.nb)}return!1}function Kb(a,b,c,d){a.C&&(!0===c||Jb(a,c|0))&&a.C.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={})); window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var ib=window?window.PCjs.Machines:{},w=window?window.PCjs.Components:[],yb=window?window.PCjs.Commands:{},zb=["hold","sleep","wait"],Ab={alert:function(a){u(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Bb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}}; var kb=window?window.PCjs.Machines:{},w=window?window.PCjs.Components:[],Ab=window?window.PCjs.Commands:{},Bb=["hold","sleep","wait"],Cb={alert:function(a){u(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Db={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
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)}); 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.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var B="pdp10",Jb="PDPjs",Kb=Math.pow(2,18),Lb=Math.pow(2,18)-1,Mb=Math.pow(2,36),F=Math.pow(2,18),Nb=Math.pow(2,17)-1,Ob=Math.pow(2,35)-1,Pb=Math.pow(2,35),Qb=Math.pow(2,36),Rb=Math.pow(2,21),Sb=Math.pow(2,26),Tb=Math.pow(2,23),Ub=Math.pow(2,30),B="pdp10",Jb="PDPjs",G={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912, var y="pdp10",Lb="PDPjs",Mb=Math.pow(2,18),Nb=Math.pow(2,18)-1,Ob=Math.pow(2,36),E=Math.pow(2,36)-1,G=Math.pow(2,18),H=Math.pow(2,18)-1,Pb=Math.pow(2,17)-1,Qb=Math.pow(2,35)-1,Rb=Math.pow(2,35),Sb=Math.pow(2,36),Tb=Math.pow(2,32),Ub=Math.pow(2,21),Vb=Math.pow(2,26),Wb=Math.pow(2,23),Xb=Math.pow(2,30),y="pdp10",Lb="PDPjs",I={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,
buffer:1073741824,halt:-2147483648}; computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Vb(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.u=this.v=0;this.N=this.O=-1;this.P=this.R=this.H=!1;this.S=Wb;this.B={};this.b={START:[1,1,!0,!1,this.Nb],STEP:[1,1,!1,!1,this.Ob],ENABLE:[1,1,!1,!1,this.Ib],CONT:[1,1,!0,!1,this.Gb],DEP:[0,0,!0,!1,this.Hb],EXAM:[1,1,!0,!1,this.Jb],LOAD:[1,1,!0,!1,this.Lb],TEST:[0,0,!0,!1,this.Kb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.A=this.i=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, function Yb(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.H=!1;this.S=Zb;this.D={};this.b={START:[1,1,!0,!1,this.Nb],STEP:[1,1,!1,!1,this.Ob],ENABLE:[1,1,!1,!1,this.Ib],CONT:[1,1,!0,!1,this.Gb],DEP:[0,0,!0,!1,this.Hb],EXAM:[1,1,!0,!1,this.Jb],LOAD:[1,1,!0,!1,this.Lb],TEST:[0,0,!0,!1,this.Kb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.i=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb,
set:this.Wb};D(this)}p(Vb,v);l=Vb.prototype;l.reset=function(a){this.stop();a&&Xb(this,this.v=0)}; set:this.Wb};D(this)}p(Yb,v);l=Yb.prototype;l.reset=function(a){this.stop();a&&$b(this,this.A=0)};
l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Yb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Zb(a,b)}}(this,b),a.ontouchstart= l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ac(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){Yb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Zb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;$b(this);ac(this)};l.pa=function(a,b){if(!b)if(this.W&&bc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.f,this.v,this.u]);return a.data()}; function(a,b){return function(c){ac(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.C=d;cc(this);dc(this)};l.pa=function(a,b){if(!b)if(this.W&&ec(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,[this.f,this.A,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])cc(this,this.f=a[0]),Xb(this,this.v=a[1]),dc(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ac(this);return!0};function ec(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function $b(a,b){for(var c in a.B)ec(a,c,null!=b?b:a.B[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ac(a){for(var b in a.b)mc(a,b,a.b[b][1])} l.restore=function(a){if(a=a[0])fc(this,this.f=a[0]),$b(this,this.A=a[1]),gc(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}dc(this);return!0};function hc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cc(a,b){for(var c in a.D)hc(a,c,null!=b?b:a.D[c])}function pc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function dc(a){for(var b in a.b)pc(a,b,a.b[b][1])}
l.Eb=function(a,b,c){if(Yb(this,b)){if(c){var d=this;setTimeout(function(){Zb(d,b);a&&a()},+c);return!1}Zb(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return dc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Xb=function(a){return Yb(this,a)?(Zb(this,a),!0):!1};function Yb(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1} l.Eb=function(a,b,c){if(ac(this,b)){if(c){var d=this;setTimeout(function(){bc(d,b);a&&a()},+c);return!1}bc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return gc(this,pa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,pc(this,a,c[1]),!0):!1};l.Xb=function(a){return ac(this,a)?(bc(this,a),!0):!1};function ac(a,b){var c=a.b[b];return c?(pc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=qc&&(a.P=b==rc,a.R=b==sc),!0):!1}
function Zb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.i.j.K||(this.i.u=this.f%Kb,this.b[qc]&&this.b[qc][1]&&rc(this.i))};l.Ob=function(){};l.Ib=function(a){a||this.i.V()}; function bc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(pc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.i.j.K||(this.i.u=this.f%Mb,this.b[tc]&&this.b[tc][1]&&uc(this.i))};l.Ob=function(){};l.Ib=function(a){a||this.i.V()};
l.Gb=function(a){if(!a&&!this.i.j.K)if(this.b[qc]&&this.b[qc][1])rc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),sc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0<b&&(tc(this.i,b),uc(this.i,b,!0),vc(this.i,b))}catch(c){"number"!=typeof c&&Cb(this.i,c.stack||c.message)}this.stop();this.F&&I(this.F)}};l.Hb=function(a){a&&!this.i.j.K&&(this.P&&wc(this),a=Xb(this,this.v=this.u),this.S==Wb?xc(this.G,this.f,a):this.i.D(this.f,a))}; l.Gb=function(a){if(!a&&!this.i.j.K)if(this.b[tc]&&this.b[tc][1])uc(this.i);else{if((a=this.C)&&!Hb(a,!0))Ib(a,!0),vc(a,0,null),Ib(a,!1);else try{var b=this.i.Ja(1);0<b&&(wc(this.i,b),xc(this.i,b,!0),yc(this.i,b))}catch(c){"number"!=typeof c&&Eb(this.i,c.stack||c.message)}this.stop();this.F&&L(this.F)}};l.Hb=function(a){a&&!this.i.j.K&&(this.P&&zc(this),a=$b(this,this.A=this.u),this.S==Zb?Ac(this.G,this.f,a):this.i.v(this.f,a))};
l.Jb=function(a){if(!a&&!this.i.j.K){var b;this.R&&wc(this);this.S==Wb?b=yc(this.G,this.f):b=this.i.C(this.f);Xb(this,this.v=b)}};l.Lb=function(a){a||this.i.j.K||cc(this,this.u)};l.Kb=function(a){a?(this.H=!0,$b(this,!0)):(this.H=!1,$b(this),dc(this,0))};l.Mb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function wc(a){var b=1,c=a.G.u;a.b[nc]&&a.b[nc][1]||(b=-b);cc(a,a.f&~c|a.f+b&c)} l.Jb=function(a){if(!a&&!this.i.j.K){var b;this.R&&zc(this);this.S==Zb?b=Bc(this.G,this.f):b=this.i.w(this.f);$b(this,this.A=b)}};l.Lb=function(a){a||this.i.j.K||fc(this,this.u)};l.Kb=function(a){a?(this.H=!0,cc(this,!0)):(this.H=!1,cc(this),gc(this,0))};l.Mb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function zc(a){var b=1,c=a.G.u;a.b[qc]&&a.b[qc][1]||(b=-b);fc(a,a.f&~c|a.f+b&c)}
function cc(a,b){a.f=b&a.G.u;if(a.N!==a.f){a.N=a.f;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.B[e]=g;d.H||ec(d,e,g)}}}function Xb(a,b){a.J=b%Mb;if(a.O!==a.J){a.O=a.J;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.B[e]=g;d.H||ec(d,e,g)}}return a.J}function dc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;ac(a);return!0}l.stop=function(){cc(this,this.i.u)}; function fc(a,b){a.f=b&a.G.u;if(a.N!==a.f){a.N=a.f;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.D[e]=g;d.H||hc(d,e,g)}}}function $b(a,b){a.J=b%Ob;if(a.O!==a.J){a.O=a.J;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.D[e]=g;d.H||hc(d,e,g)}}return a.J}function gc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;dc(a);return!0}l.stop=function(){fc(this,this.i.u)};
function bc(){for(var a=C(document,B,"panel"),b=0;b<a.length;b++){var c=a[b],d=x(c),e=ub(d.id);e||(e=new Vb(d,!0));wb(e,c)}}var Wb=7,oc="DEP",qc="ENABLE",pc="EXAM",nc="STEP";Za(bc);function zc(a,b,c){v.call(this,"Bus",a,16);this.i=b;this.A=c;this.J=+a.busWidth||18;this.H=1<<this.J;this.u=this.H-1;this.f=Math.log2(16384);this.B=this.H/16384|0;this.v=0;this.b=[];a=new Ac(this);Bc(a,this.A);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;D(this)}p(zc,v);l=zc.prototype;l.reset=function(){}; function ec(){for(var a=C(document,y,"panel"),b=0;b<a.length;b++){var c=a[b],d=x(c),e=wb(d.id);e||(e=new Yb(d,!0));yb(e,c)}}var Zb=7,rc="DEP",tc="ENABLE",sc="EXAM",qc="STEP";ab(ec);function Cc(a,b,c){v.call(this,"Bus",a,16);this.i=b;this.C=c;this.J=+a.busWidth||18;this.H=1<<this.J;this.u=this.H-1;this.f=Math.log2(16384);this.D=this.H/16384|0;this.A=0;this.b=[];a=new Dc(this);Ec(a,this.C);this.b=Array(this.D);for(b=0;b<this.D;b++)this.b[b]=a;D(this)}p(Cc,v);l=Cc.prototype;l.reset=function(){};
l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,Cc(this));return a.data()};l.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&&4096>d.length){for(var e=0,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}e=this.b[c];if(!e||!e.restore(d)){u("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a}; l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,Fc(this));return a.data()};l.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&&4096>d.length){for(var e=0,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}e=this.b[c];if(!e||!e.restore(d)){u("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Dc(a,b,c,d){for(var e=b,g=c,f=e>>>a.f;0<g&&f<a.b.length;){var h=a.b[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Ec(Fc,e,g)}e=new Ac(a,e,m,16384,d);Bc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Gc[d]+" at "+pa(b)),!0):Ec(Hc,b,c)} function Gc(a,b,c,d){for(var e=b,g=c,f=e>>>a.f;0<g&&f<a.b.length;){var h=a.b[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Hc(Ic,e,g)}e=new Dc(a,e,m,16384,d);Ec(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Jc[d]+" at "+ra(b)),!0):Hc(Kc,b,c)}
function yc(a,b){var c=a.b[(b&a.u)>>>a.f];a.v++;b=c.G(b&16383,b);a.v--;return b}function xc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.v++;d.F(c,b&16383,b);a.v--}function Cc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.Za||e.Cb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c} function Bc(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ac(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Fc(a){for(var b=0,c=[],d=0;d<a.D;d++){var e=a.b[d];if(e.Za||e.Cb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c}
l.Db=function(a){this.v||(this.A&&Hb(this.A,4)&&Ib(this.A,"memory fault on "+K(this.A,a),!0,!0),this.i.V())};function Ec(a,b,c){u("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Fc=1,Hc=2;function Ic(a){v.call(this,"Device",a,256)}p(Ic,v);l=Ic.prototype;l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.A=d;D(this)};l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new H(this)).data()}; l.Db=function(a){this.A||(this.C&&Jb(this.C,4)&&Kb(this.C,"memory fault on "+M(this.C,a),!0,!0),this.i.V())};function Hc(a,b,c){u("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Ic=1,Kc=2;function Lc(a){v.call(this,"Device",a,256)}p(Lc,v);l=Lc.prototype;l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.C=d;D(this)};l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new J(this)).data()};
l.restore=function(){return!0};Za(function(){for(var a=C(document,B,"device"),b=0;b<a.length;b++){var c,d=a[b];c=x(d);switch(c.type){case "default":c=new Ic(c),wb(c,d)}}});function Ac(a,b,c,d,e){this.u=a;this.id=Jc+=2;this.w=b;this.Ha=c;this.size=d||0;this.type=e||Kc;this.I=e==Lc;this.b=null;this.C=this.G=this.ab;this.D=this.F=this.Ia;this.i=this.f=0;Bc(this);this.Za=this.Cb=!1;if(this.size){a=this.A=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Mc(this,Nc)}else Mc(this)}l=Ac.prototype;l.save=function(){return this.A}; l.restore=function(){return!0};ab(function(){for(var a=C(document,y,"device"),b=0;b<a.length;b++){var c,d=a[b];c=x(d);switch(c.type){case "default":c=new Lc(c),yb(c,d)}}});function Dc(a,b,c,d,e){this.u=a;this.id=Mc+=2;this.B=b;this.Ha=c;this.size=d||0;this.type=e||Nc;this.I=e==Oc;this.b=null;this.w=this.G=this.ab;this.v=this.F=this.Ia;this.i=this.f=0;Ec(this);this.Za=this.Cb=!1;if(this.size){a=this.C=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Pc(this,Qc)}else Pc(this)}l=Dc.prototype;l.save=function(){return this.C};
l.restore=function(a){return a&&this.size==a.length?(this.A=a,this.Za=!0):!1};function Mc(a,b){b||(b=Oc);Pc(a,b,void 0);Qc(a,b,void 0)}function Pc(a,b,c){c&&a.i||(a.C=b[0]||a.ab);if(c||void 0===c)a.G=b[0]||a.ab}function Qc(a,b,c){c&&a.f||(a.D=!a.I&&b[1]||a.Ia);if(c||void 0===c)a.F=b[1]||a.Ia}l.Da=function(a,b){b?this.f++||Qc(this,Rc,!1):this.i++||Pc(this,Rc,!1)};function Sc(a,b){b?--a.f||(a.D=a.I?a.Ia:a.F):--a.i||(a.C=a.G)} l.restore=function(a){return a&&this.size==a.length?(this.C=a,this.Za=!0):!1};function Pc(a,b){b||(b=Rc);Sc(a,b,void 0);Tc(a,b,void 0)}function Sc(a,b,c){c&&a.i||(a.w=b[0]||a.ab);if(c||void 0===c)a.G=b[0]||a.ab}function Tc(a,b,c){c&&a.f||(a.v=!a.I&&b[1]||a.Ia);if(c||void 0===c)a.F=b[1]||a.Ia}l.Da=function(a,b){b?this.f++||Tc(this,Uc,!1):this.i++||Sc(this,Uc,!1)};function Vc(a,b){b?--a.f||(a.v=a.I?a.Ia:a.F):--a.i||(a.w=a.G)}
function Bc(a,b,c){a.b=b;a.i=a.f=0;c&&((a.i=c.i)&&Pc(a,Rc,!1),(a.f=c.f)&&Qc(a,Rc,!1))}l.ab=function(a,b){this.b&&Hb(this.b,32)&&Ib(this.b,"attempt to read invalid address "+K(this.b,b),!0);this.u.Db(b);return-1};l.Ia=function(a,b,c){this.b&&Hb(this.b,32)&&Ib(this.b,"attempt to write "+K(this.b,a)+" to invalid addresses "+K(this.b,c),!0)};l.Rb=function(a){return this.A[a]};l.$b=function(a,b){this.A[b]!=a&&(this.A[b]=a,this.Za=!0)}; function Ec(a,b,c){a.b=b;a.i=a.f=0;c&&((a.i=c.i)&&Sc(a,Uc,!1),(a.f=c.f)&&Tc(a,Uc,!1))}l.ab=function(a,b){this.b&&Jb(this.b,32)&&Kb(this.b,"attempt to read invalid address "+M(this.b,b),!0);this.u.Db(b);return-1};l.Ia=function(a,b,c){this.b&&Jb(this.b,32)&&Kb(this.b,"attempt to write "+M(this.b,a)+" to invalid addresses "+M(this.b,c),!0)};l.Rb=function(a){return this.C[a]};l.$b=function(a,b){this.C[b]!=a&&(this.C[b]=a,this.Za=!0)};
l.Pb=function(a,b){if(this.b&&null!=this.w){var c=this.b;Tc(c,this.w+a,2,c.M)&&c.V(!1)}return this.G(a,b)};l.Zb=function(a,b,c){if(this.b&&null!=this.w){var d=this.b;Tc(d,this.w+b,2,d.J)&&d.V(!1)}this.I?this.Ia(a,0,c):this.F(a,b,c)};var Kc=0,Lc=2,Gc=["NONE","RAM","ROM"],Jc=0,Oc=[],Nc=[Ac.prototype.Rb,Ac.prototype.$b],Rc=[Ac.prototype.Pb,Ac.prototype.Zb]; l.Pb=function(a,b){if(this.b&&null!=this.B){var c=this.b;Wc(c,this.B+a,2,c.M)&&c.V(!1)}return this.G(a,b)};l.Zb=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Wc(d,this.B+b,2,d.J)&&d.V(!1)}this.I?this.Ia(a,0,c):this.F(a,b,c)};var Nc=0,Oc=2,Jc=["NONE","RAM","ROM"],Mc=0,Rc=[],Qc=[Dc.prototype.Rb,Dc.prototype.$b],Uc=[Dc.prototype.Pb,Dc.prototype.Zb];
function Uc(a,b){v.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Qa=0;this.Va=b;this.aa=c;this.Ta=Math.round(this.Va/1E4)/100;this.W=this.Ta*this.aa;this.Ua=this.va=this.ba=this.Aa=0;this.j.K=this.j.Pa=!1;this.j.Z=a.autoStart;"string"==typeof this.j.Z&&(this.j.Z="true"==this.j.Z);this.j.Ea=!1;this.ta=this.ia=0;this.ua=+a.csStart;this.ha=+a.csInterval;this.ja=+a.csStop;this.M=[];this.kb=this.Ub.bind(this);this.R=this.L=this.O=this.P=this.J=this.sa=this.N=this.ka=this.Wa=this.S=0; function Xc(a,b){v.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Qa=0;this.Va=b;this.aa=c;this.Ta=Math.round(this.Va/1E4)/100;this.W=this.Ta*this.aa;this.Ua=this.va=this.ba=this.Aa=0;this.j.K=this.j.Pa=!1;this.j.Z=a.autoStart;"string"==typeof this.j.Z&&(this.j.Z="true"==this.j.Z);this.j.Ea=!1;this.ta=this.ia=0;this.ua=+a.csStart;this.ha=+a.csInterval;this.ja=+a.csStop;this.M=[];this.kb=this.Ub.bind(this);this.R=this.L=this.O=this.P=this.J=this.sa=this.N=this.ka=this.Wa=this.S=0;
this.ya=null;D(this)}p(Uc,v);l=Uc.prototype;l.wa=function(a,b,c,d){this.F=a;this.G=b;this.A=d;this.ya=a.u;for(a=0;a<Vc.length;a++)(b=this.I[Vc[a]])&&this.F.ga(null,Vc[a],b);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1}; this.ya=null;D(this)}p(Xc,v);l=Xc.prototype;l.wa=function(a,b,c,d){this.F=a;this.G=b;this.C=d;this.ya=a.u;for(a=0;a<Yc.length;a++)(b=this.I[Yc[a]])&&this.F.ga(null,Yc[a],b);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.pa=function(a,b){var c=Wc(this.F,"autoStart");null!=c?this.j.Z="true"==c?!0:"false"==c?!1:!!c:null==this.j.Z&&(this.j.Z=!this.A&&void 0===this.I.run);if(!b){if(a){Xc(this);if(!this.restore(a))return!1;Yc(this)}else this.reset();this.A?(a=this.A,b=this.j.Z,a.ya=!0,a.g("Type ? for help with PDPjs Debugger commands"),Zc(a),b||$c(a),a.ua&&(b=a.ua,a.ua=null,ad(a,b))):this.status("No debugger detected");this.j.Z||this.g("CPU will not be auto-started "+(this.ya?"(click Run to start)":"(type 'go' to start)"))}return!0}; l.pa=function(a,b){var c=Zc(this.F,"autoStart");null!=c?this.j.Z="true"==c?!0:"false"==c?!1:!!c:null==this.j.Z&&(this.j.Z=!this.C&&void 0===this.I.run);if(!b){if(a){$c(this);if(!this.restore(a))return!1;ad(this)}else this.reset();this.C?(a=this.C,b=this.j.Z,a.ya=!0,a.g("Type ? for help with PDPjs Debugger commands"),bd(a),b||cd(a),a.ua&&(b=a.ua,a.ua=null,dd(a,b))):this.status("No debugger detected");this.j.Z||this.g("CPU will not be auto-started "+(this.ya?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.fa=function(a){return a?this.save():!0};l.Z=function(){return this.j.K?!0:this.j.Z?(rc(this),!0):!1};l.rb=function(){return 0};function Yc(a){void 0===a.ua&&(a.ua=0);void 0===a.ha&&(a.ha=-1);void 0===a.ja&&(a.ja=-1);a.j.Ea=0<=a.ua&&0<a.ha;a.j.Ea&&(a.ta=0,a.ia=a.ua-a.R)}function vc(a,b){if(a.j.Ea){var c=!1;a.ta=a.ta+a.rb()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=bd(a)&&(a.ha=a.ja=-1,Yc(a),a.V(),c=!0);c&&a.g(bd(a)+" cycles: checksum="+t(a.ta))}} l.fa=function(a){return a?this.save():!0};l.Z=function(){return this.j.K?!0:this.j.Z?(uc(this),!0):!1};l.rb=function(){return 0};function ad(a){void 0===a.ua&&(a.ua=0);void 0===a.ha&&(a.ha=-1);void 0===a.ja&&(a.ja=-1);a.j.Ea=0<=a.ua&&0<a.ha;a.j.Ea&&(a.ta=0,a.ia=a.ua-a.R)}function yc(a,b){if(a.j.Ea){var c=!1;a.ta=a.ta+a.rb()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=ed(a)&&(a.ha=a.ja=-1,ad(a),a.V(),c=!0);c&&a.g(ed(a)+" cycles: checksum="+t(a.ta))}}
l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.j.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.j.U);c++);c==h.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.Ma?" (waiting for notification)":""))+".");a=!1}a&&(d.j.K?d.V():rc(d))},!0;case "speed":return this.I[b]= l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=vb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.j.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.j.U);c++);c==h.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.Ma?" (waiting for notification)":""))+".");a=!1}a&&(d.j.K?d.V():uc(d))},!0;case "speed":return this.I[b]=
c,!0;case "setSpeed":return this.I[b]=c,c.onclick=function(){cd(d,d.aa<<1,!0)},c.textContent=this.W.toFixed(2)+"Mhz",!0}return!1};function uc(a,b,c){a.R+=b;c&&(a.O=a.P=0)}function dd(a,b){var c=1;b&&1<a.aa&&a.S&&(c=a.S/a.Ta);a.Ua=Math.round(1E3/yd);a.va=Math.floor(a.Va/yd*c);b||(a.ba=a.va);a.Aa=0}function bd(a){return a.R+a.L+a.O-a.P}function Xc(a){a.S=0;a.Wa=0;a.R=a.L=a.O=a.P=0;Yc(a);cd(a,1)} c,!0;case "setSpeed":return this.I[b]=c,c.onclick=function(){fd(d,d.aa<<1,!0)},c.textContent=this.W.toFixed(2)+"Mhz",!0}return!1};function xc(a,b,c){a.R+=b;c&&(a.O=a.P=0)}function gd(a,b){var c=1;b&&1<a.aa&&a.S&&(c=a.S/a.Ta);a.Ua=Math.round(1E3/hd);a.va=Math.floor(a.Va/hd*c);b||(a.ba=a.va);a.Aa=0}function ed(a){return a.R+a.L+a.O-a.P}function $c(a){a.S=0;a.Wa=0;a.R=a.L=a.O=a.P=0;ad(a);fd(a,1)}
function cd(a,b,c){var d=!1;if(void 0!==b){.8>a.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&zd(a.F)}uc(a,a.L);a.L=0;a.J=rb();a.N=0;dd(a);return d}function Ad(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Bd(a){for(var b=[],c=0;c<a.M.length;c++)b.push(a.M[c][0]);return b} function fd(a,b,c){var d=!1;if(void 0!==b){.8>a.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&id(a.F)}xc(a,a.L);a.L=0;a.J=tb();a.N=0;gd(a);return d}function jd(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;c<a.M.length;c++)b.push(a.M[c][0]);return b}
function tc(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Cd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} function wc(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c}
l.Ub=function(){if(this.j.K){this.Aa>=this.Va&&dd(this,!0);this.ka=0;this.sa=rb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=Ad(this,this.j.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Cd(this,!0);this.ka+=b;this.L+=b;vc(this,b);tc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Dd&&(this.F&&I(this.F,void 0),this.Wa=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(rb(),bd(this));Cb(this, l.Ub=function(){if(this.j.K){this.Aa>=this.Va&&gd(this,!0);this.ka=0;this.sa=tb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=jd(this,this.j.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Fd(this,!0);this.ka+=b;this.L+=b;yc(this,b);wc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Gd&&(this.F&&L(this.F,void 0),this.Wa=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(tb(),ed(this));Eb(this,
e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.kb;this.N=rb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,cd(this)));if(0>c||this.S<this.W)-1E3>c&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.kb;this.N=tb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,fd(this)));if(0>c||this.S<this.W)-1E3>c&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}};
function rc(a,b){if(!Db(a))if(a.j.K)a.g(a.toString()+" busy");else{cd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&zd(a.F,!0),a.F.start(a.J,bd(a)));a.A||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Cd(this);uc(this,this.L);this.L=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(rb(),bd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var yd=30,Dd=15,Vc=["power","reset"]; function uc(a,b){if(!Fb(a))if(a.j.K)a.g(a.toString()+" busy");else{fd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&id(a.F,!0),a.F.start(a.J,ed(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Fd(this);xc(this,this.L);this.L=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(tb(),ed(this));b=!0;this.C||this.status("Stopped")}this.j.complete=a;return b};var hd=30,Gd=15,Yc=["power","reset"];
function Ed(a){var b=+a.model||1001;Uc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Fd.bind(this);this.b=L.bind(this);this.la=null;this.fb=[];this.j.complete=!1}p(Ed,Uc);l=Ed.prototype;l.reset=function(){this.status("Model "+this.jb);this.j.K&&this.V();this.f=this.H=this.Ba=0;this.u=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.B=-1;this.qa=this.u;this.v=0;this.C=this.Qb;this.D=this.ac;this.la=null;Xc(this);this.j.error=!1;Uc.prototype.reset.call(this)};l.rb=function(){return 0}; function Hd(a){var b=+a.model||1001;Xc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Id.bind(this);this.b=N.bind(this);this.la=null;this.fb=[];this.j.complete=!1}p(Hd,Xc);l=Hd.prototype;l.reset=function(){this.status("Model "+this.jb);this.j.K&&this.V();this.f=this.H=this.Ba=0;this.u=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.u;this.A=0;this.w=this.Qb;this.v=this.ac;this.la=null;$c(this);this.j.error=!1;Xc.prototype.reset.call(this)};l.rb=function(){return 0};
l.save=function(){var a=new H(this);a.set(0,[this.f,this.H,this.B,this.Ba,this.u,this.ra,this.qa,this.v]);a.set(1,[]);a.set(2,[this.R,this.aa,this.j.Z]);a.set(3,Gd(this));a.set(4,Bd(this));return a.data()}; l.save=function(){var a=new J(this);a.set(0,[this.f,this.H,this.D,this.Ba,this.u,this.ra,this.qa,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.j.Z]);a.set(3,Jd(this));a.set(4,kd(this));return a.data()};
l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.f=b.next().value;this.H=b.next().value;this.B=b.next().value;this.Ba=b.next().value;this.u=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.v=b.next().value;b=a[2];this.R=b[0];cd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.fb.length;d++){var e=this.fb[d];if(e.Yb===b[c]){d=e;break a}}d=null}d&&(d.next=this.la,this.la=d)}a=a[4];for(b=0;b<this.M.length&& l.restore=function(a){var b;b=a[0];ha();ea();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ba=b.next().value;this.u=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];fd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.fb.length;d++){var e=this.fb[d];if(e.Yb===b[c]){d=e;break a}}d=null}d&&(d.next=this.la,this.la=d)}a=a[4];for(b=0;b<this.M.length&&
b<a.length;b++)this.M[b][0]=a[b];return!0};function Hd(a,b){var c=a.u;a.u=(c+b)%Kb;return c}l.abs=function(a){a>Ob&&(a!=Pb?a=Qb-a:this.Ra=this.za=!0);return a};function Id(a,b){b?b==Pb?a.Ra=a.za=!0:b=Qb-b:a.ib=a.za=!0;return b}function Gd(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.u)>>>b.f].C(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.u)>>>c.f].D(b,a&16383,a)}; b<a.length;b++)this.M[b][0]=a[b];return!0};function Kd(a,b){var c=a.u;a.u=(c+b)%Mb;return c}l.abs=function(a){a>Qb&&(a!=Rb?a=Sb-a:this.Ra=this.za=!0);return a};function Ld(a,b){b?b==Rb?a.Ra=a.za=!0:b=Sb-b:a.ib=a.za=!0;return b}function Jd(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.u)>>>b.f].w(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.u)>>>c.f].v(b,a&16383,a)};
l.Ja=function(a){this.j.complete=!0;var b=this.A?Jd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.O=this.P=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Kd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.la||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Kd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.H=this.H&4194304?this.C(this.f):this.Ba=this.C(this.ra=this.u);this.H&=8388607;this.f=this.H&262143;if(a= l.Ja=function(a){this.j.complete=!0;var b=this.C?Md(this.C)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Nd(this.C,this.u,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.la||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Nd(this.C,this.u,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.w(this.f):this.Ba=this.w(this.ra=this.u);this.H&=8388607;this.f=this.H&262143;if(a=
this.H>>18&15)this.f=this.f+this.C(a)&Lb;this.H&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.Ba/Tb|0);0<=a&&this.Ab(a)}while(0<this.P);return this.j.complete?this.O-this.P:!1===this.j.complete?-1:0};Za(function(){for(var a=C(document,B,"cpu"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new Ed(d);wb(d,c)}});function Fd(a){Ld[a>>4].call(this,a,a&15)}function M(a){this.b(a)} this.H>>18&15)this.f=this.f+this.w(a)&Nb;this.H&4194304?a=-1:(this.u=(this.u+1)%Mb,a=this.Ba/Wb|0);0<=a&&this.Ab(a)}while(0<this.P);return this.j.complete?this.O-this.P:!1===this.j.complete?-1:0};ab(function(){for(var a=C(document,y,"cpu"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new Hd(d);yb(d,c)}});function Id(a){Od[a>>4].call(this,a,a&15)}function O(a){this.b(a)}
function Md(){var a=0,b=this.C(this.f),c=b/Ub&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Ub+(d<<24)+(b&16777215);a&&(b=(b+a)%Mb);this.D(this.f,b)}function Nd(a,b){a=this.C(this.f);if(0>this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.D(b,a);this.B=-1}} function Pd(){var a=0,b=this.w(this.f),c=b/Xb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Xb+(d<<24)+(b&16777215);a&&(b=(b+a)%Ob);this.v(this.f,b)}function Qd(a,b){a=this.w(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Kd(this,-1);else{var c=this.D/Xb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.v(b,a);this.D=-1}}
function Od(a,b){a=this.C(this.f);if(0>this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;b=this.C(b)%Math.pow(2,d)*Math.pow(2,c)%Mb;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.D(this.f,a);this.B=-1}}function Pd(a,b){var c=this.C(this.f),d=this.C(b);this.D(b,Qd(a,d,c)+(c-(c&262143)))}function Rd(a,b){var c=this.C(b);this.D(b,Qd(a,c,0))}function Sd(a,b){b=this.C(b);var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+(b-(b&262143)))} function Rd(a,b){a=this.w(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Kd(this,-1);else{var c=this.D/Xb&63,d=this.D>>24&63;b=this.w(b)%Math.pow(2,d)*Math.pow(2,c)%Ob;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.v(this.f,a);this.D=-1}}function Sd(a,b){this.v(b,this.w(this.f))}function Td(a,b){this.v(b,this.f)}function Ud(a,b){this.v(this.f,this.w(b))}function Vd(a,b){this.v(b,0)}function Wd(a,b){this.v(b,E-this.w(b))}function Xd(a,b){this.v(b,E)}
function Td(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Ud(a,b){var c=(this.C(this.f)&262143)*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)}function Vd(a,b){var c=this.f*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)}function Wd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+b)}function Xd(a,b){var c=this.C(this.f),d=(c&262143)*F,c=Qd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)} function Yd(a,b){var c=this.w(this.f),d=this.w(b);this.v(b,Zd(a,d,c)+(c-(c&H)))}function $d(a,b){var c=this.w(b);this.v(b,Zd(a,c,0))}function ae(a,b){b=this.w(b);var c=this.w(this.f);this.v(this.f,Zd(a,c,b)+(b-(b&H)))}function be(a,b){var c=this.w(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Qb?H:0}c=d;this.v(this.f,c);b&&this.v(b,c)}function ce(a,b){var c=(this.w(this.f)&H)*G,d=this.w(b);this.v(b,Zd(a,d,c)+c)}
function Yd(a,b){var c=this.C(this.f)&262143,d=this.C(b);this.D(b,Zd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.D(b,Zd(a,c,this.f)+this.f)}function ae(a,b){b=this.C(b)&262143;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)}function be(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function ce(a,b){var c=this.C(this.f)/F|0,d=this.C(b);this.D(b,Zd(a,d,c)+c)} function de(a,b){var c=this.f*G,d=this.w(b);this.v(b,Zd(a,d,c)+c)}function ee(a,b){b=(this.w(b)&H)*G;var c=this.w(this.f);this.v(this.f,Zd(a,c,b)+b)}function fe(a,b){var c=this.w(this.f),d=(c&H)*G,c=Zd(a,c,d)+d;this.v(this.f,c);b&&this.v(b,c)}function ge(a,b){var c=this.w(this.f)&H,d=this.w(b);this.v(b,he(a,d,c)+c)}function ie(a,b){var c=this.w(b);this.v(b,he(a,c,this.f)+this.f)}function je(a,b){b=this.w(b)&H;var c=this.w(this.f);this.v(this.f,he(a,c,b)+b)}
function de(a,b){var c=this.C(b);this.D(b,Zd(a,c,0))}function ee(a,b){b=this.C(b)/F|0;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)}function fe(a,b){var c=this.C(this.f),d=c/F|0,c=Zd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function O(a){this.b(a)}function L(a){this.g("undefined opcode: "+pa(a));Hd(this,-1);this.V()}function Zd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b} function ke(a,b){var c=this.w(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Pb?H*G:0}c=d;this.v(this.f,c);b&&this.v(b,c)}function le(a,b){var c=this.w(this.f)/G|0,d=this.w(b);this.v(b,he(a,d,c)+c)}function me(a,b){var c=this.w(b);this.v(b,he(a,c,0))}function ne(a,b){b=this.w(b)/G|0;var c=this.w(this.f);this.v(this.f,he(a,c,b)+b)}function oe(a,b){var c=this.w(this.f),d=c/G|0,c=he(a,c,d)+d;this.v(this.f,c);b&&this.v(b,c)}function Q(a){this.b(a)}function pe(){}
function Qd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} function N(a){this.g("undefined opcode: "+ra(a));Kd(this,-1);this.V()}function he(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Pb?H*G:0}return b}function Zd(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Qb?H:0}return b}function qe(a,b){return((a/Tb|0)&(b/Tb|0))*Tb+((a&b)>>>0)}
var Ld=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Md,function(a,b){0>this.B&&Md.call(this);Nd.call(this,0,b)},Nd,function(a,b){0>this.B&&Md.call(this);Od.call(this,0,b)},Od,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, var Od=[O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Pd,function(a,b){0>this.D&&Pd.call(this);Qd.call(this,0,b)},Qd,function(a,b){0>this.D&&Pd.call(this);Rd.call(this,0,b)},Rd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.D(b,this.C(this.f))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.C(b))},function(a,b){b&&this.D(b,this.C(this.f))},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(b,a)},function(a,b){this.D(b,this.f*F)},function(a,b){a=this.C(b);a=a/F|(a&262143)*F;this.D(this.f,a)},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(this.f,a);b&&this.D(b,a)},function(a, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Sd,Td,Ud,function(a,b){b&&this.v(b,this.w(this.f))},function(a,b){a=this.w(this.f);a=(a/G|0)+a%G*G;this.v(b,a)},function(a,b){this.v(b,this.f*G)},function(a,b){a=this.w(b);a=(a/G|0)+a%G*G;this.v(this.f,a)},function(a,b){a=this.w(this.f);a=(a/G|0)+a%G*G;this.v(this.f,a);b&&this.v(b,a)},function(a,b){this.v(b,Ld(this,this.w(this.f)))},function(a,b){this.v(b,this.f?Sb-this.f:0)},function(a,b){this.v(this.f,Ld(this,
b){this.D(b,Id(this,this.C(this.f)))},function(a,b){this.D(b,this.f?Qb-this.f:0)},function(a,b){this.D(this.f,Id(this,this.C(b)))},function(a,b){a=Id(this,this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a,b){this.D(b,this.abs(this.C(this.f)))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.abs(this.C(b)))},function(a,b){a=this.abs(this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, this.w(b)))},function(a,b){a=Ld(this,this.w(this.f));this.v(this.f,a);b&&this.v(b,a)},function(a,b){this.v(b,this.abs(this.w(this.f)))},function(a,b){this.v(b,this.f)},function(a,b){this.v(this.f,this.abs(this.w(b)))},function(a,b){a=this.abs(this.w(this.f));this.v(this.f,a);b&&this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a,b){a=this.C(b);this.D(b,this.C(this.f));this.D(this.f, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a,b){a=this.w(b);this.v(b,this.w(this.f));this.v(this.f,a)},function(a,b){a=!1;for(var c=this.w(b),d=c/G|0,c=c&H;!a;)this.v(c,this.w(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.j.K||(this.v(b,
a)},function(a,b){a=!1;for(var c=this.C(b),d=c/F|0,c=c&262143;!a;)this.D(c,this.C(d)),c==this.f&&(a=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.D(b,d*F+c),a||Hd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a,b){a=this.C(b);a+=262145;this.D(a&262143,this.C(this.f));a>=Mb&&(a-=Mb);a/F|0||(this.Sa=!0);this.D(b,a)},function(a,b){a=this.C(b);var c=this.C(a&262143);this.D(this.f,c); d*G+c),a||Kd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a){this.b(a)},function(a,b){a=this.w(b);a+=262145;this.v(a&H,this.w(this.f));a>=Ob&&(a-=Ob);a/G|0||(this.Sa=!0);this.v(b,a)},function(a,b){a=this.w(b);var c=this.w(a&H);this.v(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=Ob);(a/G|0)==H&&(this.Sa=!0);this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
this.f==b&&(a=c);a-=262145;0>a&&(a+=Mb);262143==(a/F|0)&&(this.Sa=!0);this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Vd,Vd,function(){this.v(this.f,0)},function(a,b){this.v(b,0);this.v(this.f,0)},function(a,b){this.v(b,qe(this.w(b),this.w(this.f)))},function(a,b){this.v(b,qe(this.w(b),this.f))},function(a,b){this.v(this.f,qe(this.w(b),this.w(this.f)))},function(a,b){a=qe(this.w(b),this.w(this.f));this.v(this.f,a);this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},Sd,Td,pe,Sd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},pe,pe,Ud,Ud,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},Wd,Wd,function(a,b){this.v(this.f,E-this.w(b))},function(a,b){a=E-this.w(b);this.v(b,a);this.v(this.f,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.v(b,E-this.w(this.f))},function(a,b){this.v(b,E-this.f)},function(){this.v(this.f,E-this.w(this.f))},function(a,b){a=E-this.w(this.f);this.v(b,a);this.v(this.f,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.v(this.f,E)},function(a,b){this.v(b,E);this.v(this.f,E)},Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q];
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function re(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=sa(this.A);if(this.A){a=this.A;var b=ta(this.H);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(ib(c.La,a,b),(a=Ia(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);se(c)})}}p(re,v);
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, re.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.C=d;se(this)};re.prototype.pa=function(){this.T&&(this.C&&te(this.C,this.id,this.D,this.u,this.T),delete this.T);return!0};re.prototype.fa=function(){return!0};
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O, function se(a){if(!Gb(a)){if(a.A){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Eb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.D;if(Gc(a.G,b,a.u,Oc)){var c;for(c=0;c<a.b.length;c++)Ac(a.G,b+c,a.b[c]);b=!0}else 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],g=d.G,f=d.u,h=[],k=d.D>>>g.f;0<f&&k<g.b.length;)h.push(g.b[k++]),f-=16384;g=d.G;d=d.u;f=0;for(e>>>=
O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O]; g.f;0<d&&e<g.b.length;){k=h[f++];if(!k)break;g.b[e++]=k;d-=16384}}delete a.b}}}D(a)}}ab(function(){for(var a=C(document,y,"rom"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new re(d);yb(d,c)}});
function ge(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.v=a.file;this.H=qa(this.v);if(this.v){a=this.v;var b=ra(this.H);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(gb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);he(c)})}}p(ge,v); function ue(a){v.call(this,"RAM",a);this.T=this.Ca=null;this.f=+a.addr;this.u=+a.size;this.na=a.load;this.ma=a.exec;null!=this.na&&(this.na=+this.na);null!=this.ma&&(this.ma=+this.ma);this.A=this.H=!1;this.b=a.file;this.D=sa(this.b);if(this.b){a=this.b;var b=ta(this.D);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,g){g?(c.da("Unable to load RAM resource (error "+g+": "+a+")"),c.b=null):(ib(c.La,a,b),(a=Ia(a,b))?(c.Ca=a.Ca,
ge.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.A=d;he(this)};ge.prototype.pa=function(){this.T&&(this.A&&ie(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ge.prototype.fa=function(){return!0}; c.T=a.T,null==c.na&&(c.na=a.na),null==c.ma&&(c.ma=a.ma)):c.b=null);ve(c)})}}p(ue,v);ue.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.C=d;ve(this)};ue.prototype.pa=function(a,b){this.T&&(this.C&&te(this.C,this.id,this.f,this.u,this.T),delete this.T);b||this.reset();return!0};ue.prototype.fa=function(){return!0};
function he(a){if(!Eb(a)){if(a.v){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Dc(a.G,b,a.u,Lc)){var c;for(c=0;c<a.b.length;c++)xc(a.G,b+c,a.b[c]);b=!0}else 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],g=d.G,f=d.u,h=[],k=d.B>>>g.f;0<f&&k<g.b.length;)h.push(g.b[k++]),f-=16384;g=d.G;d=d.u;f=0;for(e>>>= function ve(a){if(a.G&&(!a.A&&a.u&&(Gc(a.G,a.f,a.u,1)?a.A=!0:a.u=0),!Gb(a))){if(!a.A)u("No RAM allocated");else if(a.b){if(!a.Ca)return;we(a,a.Ca,a.na,a.ma,a.f)?a.status('Loaded image "'+a.D+'"'):a.da('Error loading image "'+a.D+'"')}a.H=!0;D(a)}}
g.f;0<d&&e<g.b.length;){k=h[f++];if(!k)break;g.b[e++]=k;d-=16384}}delete a.b}}}D(a)}}Za(function(){for(var a=C(document,B,"rom"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new ge(d);wb(d,c)}}); ue.prototype.reset=function(){if(this.A&&!this.H){for(var a=this.G,b=this.f,c=this.u,d=b&16383,b=b>>>a.f;0<c&&b<a.b.length;){var e=a.b[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=oa&&(f+=na);f=Math.trunc(Math.abs(f))%na;void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.F(f,d,e.B+d);c-=16384;b++;d=0}this.Ca&&we(this,this.Ca,this.na,this.ma,this.f,!this.C)}this.H=!1};
function je(a){v.call(this,"RAM",a);this.T=this.Ca=null;this.f=+a.addr;this.u=+a.size;this.na=a.load;this.ma=a.exec;null!=this.na&&(this.na=+this.na);null!=this.ma&&(this.ma=+this.ma);this.v=this.H=!1;this.b=a.file;this.B=qa(this.b);if(this.b){a=this.b;var b=ra(this.B);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.da("Unable to load RAM resource (error "+g+": "+a+")"),c.b=null):(gb(c.La,a,b),(a=Ga(a,b))?(c.Ca=a.Ca, function we(a,b,c,d,e,g){var f=!1;null==c&&(c=e);if(null!=c){for(f=0;f<b.length;f++)Ac(a.G,c+f,b[f]);f=!0}f&&(null==d&&(a.i.V(),g=!1),null!=d&&(a=a.i,a.gb=d,a.u=d%Mb,g?a.j.U?a.j.K||uc(a):a.j.Z=!0:a.C&&a.j.U?a.V()||a.F.j.reset||(bd(a.C),L(a.F,-1)):!1===g&&a.V(),!a.j.K&&a.ya&&a.ya.stop()));return f}ab(function(){for(var a=C(document,y,"ram"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new ue(d);yb(d,c)}});
c.T=a.T,null==c.na&&(c.na=a.na),null==c.ma&&(c.ma=a.ma)):c.b=null);ke(c)})}}p(je,v);je.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.A=d;ke(this)};je.prototype.pa=function(a,b){this.T&&(this.A&&ie(this.A,this.id,this.f,this.u,this.T),delete this.T);b||this.reset();return!0};je.prototype.fa=function(){return!0}; function xe(a){v.call(this,"SerialPort",a,1048576);this.A=a.upperCase;"string"==typeof this.A&&(this.A="true"==this.A);this.u=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=ye;b&&(void 0===c&&(c="Panel"),(c=xb(c,this.id))&&(b=c.I[b])&&this.ga(null,a,b))}this.b=this.D=null;this.exports={connect:this.tb,receiveData:this.Na,receiveStatus:this.Sb,setConnection:this.Vb}}p(xe,v);l=xe.prototype;
function ke(a){if(a.G&&(!a.v&&a.u&&(Dc(a.G,a.f,a.u,1)?a.v=!0:a.u=0),!Eb(a))){if(!a.v)u("No RAM allocated");else if(a.b){if(!a.Ca)return;le(a,a.Ca,a.na,a.ma,a.f)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.H=!0;D(a)}} l.ga=function(a,b,c){var d=this;switch(b){case ye:return this.I[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.cb:q.yb:46==c?b=q.cb:a.ctrlKey&&c>=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
je.prototype.reset=function(){if(this.v&&!this.H){for(var a=this.G,b=this.f,c=this.u,d=b&16383,b=b>>>a.f;0<c&&b<a.b.length;){var e=a.b[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.F(f,d,e.w+d);c-=16384;b++;d=0}this.Ca&&le(this,this.Ca,this.na,this.ma,this.f,!this.A)}this.H=!1}; a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.C=d;D(this)};
function le(a,b,c,d,e,g){var f=!1;null==c&&(c=e);if(null!=c){for(f=0;f<b.length;f++)xc(a.G,c+f,b[f]);f=!0}f&&(null==d&&(a.i.V(),g=!1),null!=d&&(a=a.i,a.gb=d,a.u=d%Kb,g?a.j.U?a.j.K||rc(a):a.j.Z=!0:a.A&&a.j.U?a.V()||a.F.j.reset||(Zc(a.A),I(a.F,-1)):!1===g&&a.V(),!a.j.K&&a.ya&&a.ya.stop()));return f}Za(function(){for(var a=C(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new je(d);wb(d,c)}}); l.tb=function(a){if(!this.b){var b=Zc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.Ka)return;c=Ea(c[1]);if(this.b=wb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.D=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
function me(a){v.call(this,"SerialPort",a,1048576);this.v=a.upperCase;"string"==typeof this.v&&(this.v="true"==this.v);this.u=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=ne;b&&(void 0===c&&(c="Panel"),(c=vb(c,this.id))&&(b=c.I[b])&&this.ga(null,a,b))}this.b=this.B=null;this.exports={connect:this.tb,receiveData:this.Na,receiveStatus:this.Sb,setConnection:this.Vb}}p(me,v);l=me.prototype; l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new J(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.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.f.push(b)}else this.f=this.f.concat(a);return!0};l.Sb=function(){};l.Vb=function(a,b){return this.b?!1:(this.b=a,this.D=b,!0)};var ye="buffer";
l.ga=function(a,b,c){var d=this;switch(b){case ne:return this.I[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.cb:q.yb:46==c?b=q.cb:a.ctrlKey&&c>=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); ab(function(){for(var a=C(document,y,"serial"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new xe(d);yb(d,c)}});function ze(a){v.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.D=0;this.P=!1;this.A=-1;this.u=[];this.W={}}p(ze,v);ze.prototype.sb=function(){return-1};ze.prototype.$a=function(){};
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;D(this)}; function Ae(a,b,c,d){if(c)if(b){0>a.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ea(b.substring(c,g))),c=g+1}}return a}
l.tb=function(a){if(!this.b){var b=Wc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; function Be(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break;
l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.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.f.push(b)}else this.f=this.f.concat(a);return!0};l.Sb=function(){};l.Vb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var ne="buffer";
Za(function(){for(var a=C(document,B,"serial"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new me(d);wb(d,c)}});function oe(a){v.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.v=-1;this.u=[];this.W={}}p(oe,v);oe.prototype.sb=function(){return-1};oe.prototype.$a=function(){};
function pe(a,b,c,d){if(c)if(b){0>a.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a}
function qe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break;
case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function P(a,b,c){var d;if(b){b=re(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Ca(n);if(!n){g=!0;break}n=se(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],z=n.length;k.length&&te[n]<te[k[k.length-1]]&&qe(h,k,1);k.push(n);b=b.substr(r+z)}qe(h,k)&&1==h.length||(g=!0);g?c&&a.g("error parsing '"+f+"' at character "+(f.length-b.length)):(d=h.pop(),c&&ue(a,null, function R(a,b,c){var d;if(b){b=Ce(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Ea(n);if(!n){g=!0;break}n=De(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],A=n.length;k.length&&Ee[n]<Ee[k[k.length-1]]&&Be(h,k,1);k.push(n);b=b.substr(r+A)}Be(h,k)&&1==h.length||(g=!0);g?c&&a.g("error parsing '"+f+"' at character "+(f.length-b.length)):(d=h.pop(),c&&Fe(a,null,
d))}return d}function re(a,b){for(var c,d=a.la?"(":"{",e=a.la?")":"}",g=new RegExp(a.la?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=P(a,c[1]);b=b.replace(d+c[1]+e,null!=f?K(a,f):"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} d))}return d}function Ce(a,b){for(var c,d=a.la?"(":"{",e=a.la?")":"}",g=new RegExp(a.la?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=R(a,c[1]);b=b.replace(d+c[1]+e,null!=f?M(a,f):"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 se(a,b,c,d){var e;null!=b?(e=a.sb(b),0<=e?e=a.$a(e):(e=a.W[b],null==e&&(e=na(b,a.ca))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e} function De(a,b,c,d){var e;null!=b?(e=a.sb(b),0<=e?e=a.$a(e):(e=a.W[b],null==e&&(e=pa(b,a.ca))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
function ue(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,r="";n?32<n&&(n=32):n=32;for(var z=null==k||isNaN(k),U=m=m||n;0<n--;)U||(r=","+r,U=m),r=(z?"?":k&1?"1":"0")+r,k>>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} function Fe(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,r="";n?32<n&&(n=32):n=32;for(var A=null==k||isNaN(k),W=m=m||n;0<n--;)W||(r=","+r,W=m),r=(A?"?":k&1?"1":"0")+r,k>>=1,W--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+ra(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}
function ve(a,b){if(b)return ue(a,b,a.W[b]);var c=0;for(b in a.W)ue(a,b,a.W[b]),c++;return 0<c}function K(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=pa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=oa(b,10,a);break;default:b=t(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Ge(a,b){if(b)return Fe(a,b,a.W[b]);var c=0;for(b in a.W)Fe(a,b,a.W[b]),c++;return 0<c}function M(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=ra(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=qa(b,10,a);break;default:b=t(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ee={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function we(a){oe.call(this,a);this.ya=!1;this.la=!0;this.va=Q();this.L=Q(0);this.ja=Q(0);this.ba=Q(0);this.H=[];this.b=this.M=this.J=[];xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;ye(this);this.A=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];ze(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return ad(b,a)}):void 0===global[B]&&(global[B]=function(a){return ad(b, function He(a){ze.call(this,a);this.ya=!1;this.la=!0;this.va=S();this.L=S(0);this.ja=S(0);this.ba=S(0);this.H=[];this.b=this.M=this.J=[];Ie(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Je(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ke(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return dd(b,a)}):void 0===global[y]&&(global[y]=function(a){return dd(b,
a)})}p(we,oe);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Ae(a,b,c,d){a.w=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Be(a){return[a.w,a.qb,a.ca,a.ea,a.Oa]}function Ce(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=pe(a,c.Oa=b[4]));return c}l=we.prototype; a)})}p(He,ze);function U(a){a=a&&a.B;null==a&&(a=-1);return a}function S(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Le(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Me(a){return[a.B,a.qb,a.ca,a.ea,a.Oa]}function Ne(a,b){var c=S(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=Ae(a,c.Oa=b[4]));return c}l=He.prototype;
l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.ha=a.u;(a=Wc(a,"messages"))&&ze(this,a);De(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Gc[c],n&&d.g(t(n.id,8)+" %"+t(e<<d.G.f,8)+" %"+t(n.w,8)+" "+t(n.Ha, l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.ha=a.u;(a=Zc(a,"messages"))&&Ke(this,a);Oe(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=U(V(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Jc[c],n&&d.g(t(n.id,8)+" %"+t(e<<d.G.f,8)+" %"+t(n.B,8)+" "+t(n.Ha,
4,!0)+" "+t(n.size,4,!0)+" "+m),c!=Kc&&(c=-1),m=0);a+=16384;e++}}});D(this)}; 4,!0)+" "+t(n.size,4,!0)+" "+m),c!=Nc&&(c=-1),m=0);a+=16384;e++}}});D(this)};
l.ga=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ad(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.u.length-1&&(b=d.u[++d.v])):40==a.keyCode&&(0<d.v?b=d.u[--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.I[b]=c,Xa(c,function(){if(d.aa){var a=d.aa.value; l.ga=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",dd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.u.length-1&&(b=d.u[++d.A])):40==a.keyCode&&(0<d.A?b=d.u[--d.A]:(b="",d.A=-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.I[b]=c,Za(c,function(){if(d.aa){var a=d.aa.value;
d.aa.value="";ad(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,Xa(c,function(a){var b=!1;Fb(d,!0)||(Gb(d,!0),b=sc(d,a?1:0,null),Gb(d,!1));return b}),!0}return!1};function $c(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.xa=function(a,b){var c=-1,d=S(a);-1!==d&&(c=yc(this.G,d),b&&null!=a.w&&(a.w+=b||1));return c};l.eb=function(a,b,c){var d=S(a);-1!==d&&(xc(this.G,d,b),c&&null!=a.w&&(a.w+=c||1),I(this.F,-1))}; d.aa.value="";dd(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,Za(c,function(a){var b=!1;Hb(d,!0)||(Ib(d,!0),b=vc(d,a?1:0,null),Ib(d,!1));return b}),!0}return!1};function cd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.xa=function(a,b){var c=-1,d=U(a);-1!==d&&(c=Bc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};l.eb=function(a,b,c){var d=U(a);-1!==d&&(Ac(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),L(this.F,-1))};
function T(a,b,c){var d,e;c||(c=Q());var g=c.w;if(void 0!==b){b=re(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var f,g=b,h;if(g.match(/^[a-z_][a-z0-9_]*$/i))for(var g=g.toUpperCase(),k=0;k<a.H.length;k++){var m=a.H[k].T[g];if(null!=m){h=m.o;break}}null!=h&&(f=Q(h));if(f)return f;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);g=P(a,b,void 0)}null!=g&&Ae(c,g,d,e);return c}function Ee(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.lb=pe(a,b.Oa=c[2]))} function V(a,b,c){var d,e;c||(c=S());var g=c.B;if(void 0!==b){b=Ce(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var f,g=b,h;if(g.match(/^[a-z_][a-z0-9_]*$/i))for(var g=g.toUpperCase(),k=0;k<a.H.length;k++){var m=a.H[k].T[g];if(null!=m){h=m.o;break}}null!=h&&(f=S(h));if(f)return f;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);g=R(a,b,void 0)}null!=g&&Le(c,g,d,e);return c}function Pe(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.lb=Ae(a,b.Oa=c[2]))}
function Fe(a){return pa(a/Kb,6)+" "+pa(a%Kb,6)}function ze(a,b){a.A=a;a.X=a.nb=536870916;a.S=null;a.O=[];b=pe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in G){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.X|=G[c],a.g(c+" messages enabled"))}}function De(a,b){for(var c in G)if(16==G[c]){a.qa[c]=b;break}}l.sb=function(a){return Ge.indexOf(a.toUpperCase())}; function Qe(a){return ra(a/Mb,6)+" "+ra(a%Mb,6)}function Ke(a,b){a.C=a;a.X=a.nb=536870916;a.S=null;a.O=[];b=Ae(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in I){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.X|=I[c],a.g(c+" messages enabled"))}}function Oe(a,b){for(var c in I)if(16==I[c]){a.qa[c]=b;break}}l.sb=function(a){return Re.indexOf(a.toUpperCase())};
l.$a=function(a){var b;switch(a){case He:b=this.i.u;break;case Ie:b=this.i.H;break;case Je:b=this.i.f;break;case Ke:b=this.i.ib?1:0;break;case Le:b=this.i.za?1:0;break;case Me:b=this.i.Ra?1:0;break;case Ne:b=this.i.ub?1:0;break;case Oe:b=this.i.Sa?1:0}return b}; l.$a=function(a){var b;switch(a){case Se:b=this.i.u;break;case Te:b=this.i.H;break;case Ue:b=this.i.f;break;case Ve:b=this.i.ib?1:0;break;case We:b=this.i.za?1:0;break;case Xe:b=this.i.Ra?1:0;break;case Ye:b=this.i.ub?1:0;break;case Ze:b=this.i.Sa?1:0}return b};
l.message=function(a,b){b&&(a+=" @"+K(this,Q(this.i.ra).w));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.i&&(c=this.i.j.K)||Fb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.g(a);this.i&&(a=this.i,Cd(a),a.ba=0,a.F&&I(a.F,void 0))}}; l.message=function(a,b){b&&(a+=" @"+M(this,S(this.i.ra).B));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.i&&(c=this.i.j.K)||Hb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.g(a);this.i&&(a=this.i,Fd(a),a.ba=0,a.F&&L(a.F,void 0))}};
function ye(a){var b;if(!Jd(a))a.f&&a.f.length&&a.g("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array(Pe);for(b=0;b<a.f.length;b++)a.f[b]=Q();a.R=0;a.g("instruction history buffer allocated")}}function Qe(a,b,c){if(!Re(a,c))return!1;rc(a.i,b);return!0} function Je(a){var b;if(!Md(a))a.f&&a.f.length&&a.g("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array($e);for(b=0;b<a.f.length;b++)a.f[b]=S();a.R=0;a.g("instruction history buffer allocated")}}function af(a,b,c){if(!bf(a,c))return!1;uc(a.i,b);return!0}
function sc(a,b,c,d){if(!Re(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.B=0;b||Jd(a)&&Kd(a,a.i.u,0);try{b=Ad(a.i,b);var g=a.i.Ja(b);0<g&&(tc(a.i,g),a.B+=g,uc(a.i,g,!0),vc(a.i,g),a.ia++)}catch(f){"number"!=typeof f&&(a.B=0,Cb(a.i,f.stack||f.message))}!1!==d&&(a.ha&&a.ha.stop(),I(a.F,-1));Zc(a,c||!1,e);return 0<a.B}l.V=function(a){this.i&&this.i.V(a)};function Zc(a,b,c){b=void 0===b?!0:b;a.ya&&(c&&a.g(zf+c),Ae(a.L,a.i.u),b&&1!=a.N?Bf(a):Cf(a))} function vc(a,b,c,d){if(!bf(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.D=0;b||Md(a)&&Nd(a,a.i.u,0);try{b=jd(a.i,b);var g=a.i.Ja(b);0<g&&(wc(a.i,g),a.D+=g,xc(a.i,g,!0),yc(a.i,g),a.ia++)}catch(f){"number"!=typeof f&&(a.D=0,Eb(a.i,f.stack||f.message))}!1!==d&&(a.ha&&a.ha.stop(),L(a.F,-1));bd(a,c||!1,e);return 0<a.D}l.V=function(a){this.i&&this.i.V(a)};function bd(a,b,c){b=void 0===b?!0:b;a.ya&&(c&&a.g(Kf+c),Le(a.L,a.i.u),b&&1!=a.N?Mf(a):Nf(a))}
function Re(a,b){var c;(c=!a.i||!Eb(a.i))||(c=a.i,c.j.U?c=!0:(c.g(c.toString()+" not powered"),c=!1),c=!c);return c||a.i.j.K?(b||a.g("cpu busy or unavailable, command ignored"),!1):!Db(a.i)}l.pa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.fa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){ye(this);this.ia=0;this.S=null;this.B=0;Ae(this.L,this.i.u);this.j.K=!1;Df(this);a||Zc(this)}; function bf(a,b){var c;(c=!a.i||!Gb(a.i))||(c=a.i,c.j.U?c=!0:(c.g(c.toString()+" not powered"),c=!1),c=!c);return c||a.i.j.K?(b||a.g("cpu busy or unavailable, command ignored"),!1):!Fb(a.i)}l.pa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.fa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Je(this);this.ia=0;this.S=null;this.D=0;Le(this.L,this.i.u);this.j.K=!1;Of(this);a||bd(this)};
l.save=function(){var a=new H(this);a.set(0,Be(this.L));a.set(1,Be(this.ja));a.set(2,Be(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=Ce(this,a[b++]),this.ja=Ce(this,a[b++]),this.ba=Ce(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.H=a[4]);return!0};l.start=function(a,b){this.N||this.g("running");this.j.K=!0;this.za=a;this.Aa=b}; l.save=function(){var a=new J(this);a.set(0,Me(this.L));a.set(1,Me(this.ja));a.set(2,Me(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=Ne(this,a[b++]),this.ja=Ne(this,a[b++]),this.ba=Ne(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.H=a[4]);return!0};l.start=function(a,b){this.N||this.g("running");this.j.K=!0;this.za=a;this.Aa=b};
l.stop=function(a,b){if(this.j.K){this.j.K=!1;this.B=b-this.Aa;if(!this.N){b="stopped";if(this.B){a-=this.za;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";Jd(this)&&(b+=this.ia+" instructions, ",this.ia=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Hb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}Zc(this,!0);$c(this);Df(this,this.i.u);this.S=null}};function Jd(a){return 1<a.b.length||!!a.ka} l.stop=function(a,b){if(this.j.K){this.j.K=!1;this.D=b-this.Aa;if(!this.N){b="stopped";if(this.D){a-=this.za;var c=0<a?Math.round(1E3*this.D/a):0;b+=" (";Md(this)&&(b+=this.ia+" instructions, ",this.ia=0);b+=this.D+" cycles, "+a+" ms, "+c+" hz)"}else Jb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}bd(this,!0);cd(this);Of(this,this.i.u);this.S=null}};function Md(a){return 1<a.b.length||!!a.ka}
function Kd(a,b,c){var d=-1;c||(d=a.i.C(b),2756==d>>23&&a.i.ra==b&&(b=Hd(a.i,1)));if(0<c&&(a.ka&&!--a.ka||Tc(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.ia++,0>d&&(d=a.i.C(b)),0<=d&&(Ae(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} function Nd(a,b,c){var d=-1;c||(d=a.i.w(b),2756==d>>23&&a.i.ra==b&&(b=Kd(a.i,1)));if(0<c&&(a.ka&&!--a.ka||Wc(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.ia++,0>d&&(d=a.i.w(b)),0<=d&&(Le(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1}
function Ef(a,b,c,d){var e=Q(b.w),g=a.xa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in Ff)if(f=Ff[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Gf;m=n&3;break;case 32256:k=Hf;m=n&7;break;case 29248:k=If,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Jf&&(k="B");k=Kf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Fe(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.xa(e,1),f+=" "+Fe(k),null== function Pf(a,b,c,d){var e=S(b.B),g=a.xa(b,1),f,h,k,m=0,n=g/Ub|0,r;for(r in Qf)if(f=Qf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Rf;m=n&3;break;case 32256:k=Sf;m=n&7;break;case 29248:k=Tf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Uf&&(k="B");k=Vf[f||0]+k;k=Da(k,8);f?(k=28700==h?k+M(a,g/Vb&127,-1):k+M(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=M(a,g&262143,-1),(g=g>>18&15)&&(k+="("+M(a,g,-1)+")")):k+=Qe(g);g=k;f="";h=M(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.xa(e,1),f+=" "+Qe(k),null==
e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+bd(a.i).toString()+" cs="+t(a.i.ta)):h+(null!=d?"="+d.toString():""));return h}function xe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=S(c);var d=a.G;Sc(d.b[c>>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b<a.J.length;b++)c=a.J[b],c=S(c),d=a.G,Sc(d.b[c>>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} e.B)break;while(e.B!=b.B)}h+=Da(f,16)+g;c&&(h=Da(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+ed(a.i).toString()+" cs="+t(a.i.ta)):h+(null!=d?"="+d.toString():""));return h}function Ie(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=U(c);var d=a.G;Vc(d.b[c>>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b<a.J.length;b++)c=a.J[b],c=U(c),d=a.G,Vc(d.b[c>>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0}
l.Da=function(a,b,c){var d=!0;c||Lf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.g("invalid address: "+K(this,b.w)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Mf(this,a,a.length-1,"set"),ye(this)));return d};function Lf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==S(h)&&(!d||h.ea)){g=!0;h.ea||e||Mf(a,b,f,"cleared");b.splice(f,1);b!=a.b&&(d=a.G,Sc(d.b[c>>>d.f],b==a.J));h.ea||ye(a);break}}return g} l.Da=function(a,b,c){var d=!0;c||Wf(this,a,b,!1,!0);if(a!=this.b){var e=U(b);if(-1===e)this.g("invalid address: "+M(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Xf(this,a,a.length-1,"set"),Je(this)));return d};function Wf(a,b,c,d,e){var g=!1;c=U(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==U(h)&&(!d||h.ea)){g=!0;h.ea||e||Xf(a,b,f,"cleared");b.splice(f,1);b!=a.b&&(d=a.G,Vc(d.b[c>>>d.f],b==a.J));h.ea||Je(a);break}}return g}
function Nf(a,b){for(var c=1;c<b.length;c++)Mf(a,b,c);return b.length-1}function Mf(a,b,c,d){c=b[c];a.g(b[0]+" "+K(a,c.w)+(d?" "+d:c.Oa?' "'+c.Oa+'"':""))}function Df(a,b){if(void 0!==b)Tc(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ea){if(!Lf(a,a.b,c,!0))break;b=0}}} function Yf(a,b){for(var c=1;c<b.length;c++)Xf(a,b,c);return b.length-1}function Xf(a,b,c,d){c=b[c];a.g(b[0]+" "+M(a,c.B)+(d?" "+d:c.Oa?' "'+c.Oa+'"':""))}function Of(a,b){if(void 0!==b)Wc(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ea){if(!Wf(a,a.b,c,!0))break;b=0}}}
function Tc(a,b,c,d,e){var g=!1;if(!a.ra++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.ea)for(var k=S(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.ea&&(Lf(a,d,h,!0),e=!0);if(n=h.lb){for(var g=!1,r=0;r<n.length;r++)if(!Of(a,n[r],!0)){if(n[r].indexOf("if")){g=!0;break}for(var z=r+1;z<n.length&&n[z].indexOf("else");z++)r++;if(z==n.length){g=!0;break}}a.i.j.K||(g=!0)}if(g){e||Mf(a,d,f,"hit");break}}}a.ra--;return g} function Wc(a,b,c,d,e){var g=!1;if(!a.ra++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.ea)for(var k=U(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.ea&&(Wf(a,d,h,!0),e=!0);if(n=h.lb){for(var g=!1,r=0;r<n.length;r++)if(!Zf(a,n[r],!0)){if(n[r].indexOf("if")){g=!0;break}for(var A=r+1;A<n.length&&n[A].indexOf("else");A++)r++;if(A==n.length){g=!0;break}}a.i.j.K||(g=!0)}if(g){e||Xf(a,d,f,"hit");break}}}a.ra--;return g}
function Pf(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);Ae(e.va,d);g+="="+K(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d<Ge.length;d++)(e=Ge[d]||"")&&(e+="="+K(a,a.$a(d),d>=Ke?1:d==Ie?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function $f(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,g=ra(d,2);Le(e.va,d);g+="="+M(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d<Re.length;d++)(e=Re[d]||"")&&(e+="="+M(a,a.$a(d),d>=Ve?1:d==Te?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function ie(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],r=Da(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,w:c,Fb:d,T:e,mb:g})}function Qf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b<a.H.length;b++){var g=a.H[b],f=g.w>>>0,h=g.Fb;if(e>=f&&e<f+h){e=Da(g.mb,[e-f],a.ob);0<=e?Rf(a,b,e,d):c&&(e=~e,Rf(a,b,e-1,d),Rf(a,b,e,d));break}}return d} function te(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],r=Fa(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function ag(a,b,c){var d=[],e=U(b)>>>0;for(b=0;b<a.H.length;b++){var g=a.H[b],f=g.B>>>0,h=g.Fb;if(e>=f&&e<f+h){e=Fa(g.mb,[e-f],a.ob);0<=e?bg(a,b,e,d):c&&(e=~e,bg(a,b,e-1,d),bg(a,b,e,d));break}}return d}
function Rf(a,b,c,d){var e={},g=a.H[b].mb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.H[b].T[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)}function Sf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ve(a)||a.g("no variables"),!0;if(!c[2])return ve(a,c[1]);if(!c[3])return delete a.W[c[1]],!0;b=P(a,c[3]);return void 0!==b?(a.W[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1} function bg(a,b,c,d){var e={},g=a.H[b].mb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.H[b].T[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)}function cg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ge(a)||a.g("no variables"),!0;if(!c[2])return Ge(a,c[1]);if(!c[3])return delete a.W[c[1]],!0;b=R(a,c[3]);return void 0!==b?(a.W[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
function Tf(a,b,c){var d=null;if(b=T(a,b)){var e=Qf(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.w-e[1])&&(f=" + "+t(g,4,!0)),g=e[0]+" ("+K(a,e[1])+")"+f,c&&a.g(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.w)&&(f=" - "+t(g,4,!0)),g=e[4]+" ("+K(a,e[5])+")"+f,c&&a.g(g),d||(d=g))}else c&&a.g("no symbols")}return d} function dg(a,b,c){var d=null;if(b=V(a,b)){var e=ag(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.B-e[1])&&(f=" + "+t(g,4,!0)),g=e[0]+" ("+M(a,e[1])+")"+f,c&&a.g(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.B)&&(f=" - "+t(g,4,!0)),g=e[4]+" ("+M(a,e[5])+")"+f,c&&a.g(g),d||(d=g))}else c&&a.g("no symbols")}return d}
function Bf(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trm\tdump misc registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.i,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)e=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}f=P(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":d.u=f%Kb;Ae(a.L,d.u);break;default:a.g("unknown register: "+ function Mf(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trm\tdump misc registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.i,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)e=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}f=R(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":d.u=f%Mb;Le(a.L,d.u);break;default:a.g("unknown register: "+
g);return}I(a.F);a.g("updated registers:")}}a.g(Pf(a,e));c&&(Ae(a.L,d.u),Cf(a,K(a,a.L.w)))}}function Uf(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.g(c[2]):ue(a,null,c[2].charCodeAt(0)):P(a,b,!0)} g);return}L(a.F);a.g("updated registers:")}}a.g($f(a,e));c&&(Le(a.L,d.u),Nf(a,M(a,a.L.B)))}}function eg(a,b){b=Ea(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.g(c[2]):Fe(a,null,c[2].charCodeAt(0)):R(a,b,!0)}
function Vf(a,b,c){if("?"==c)a.g("trace commands:"),a.g("\tt [#]\ttrace # instructions"),a.g("\ttr [#]\ttrace # instructions with register updates"),a.g("\ttc [#]\ttrace # cycles"),a.g("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=se(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;Wa(c,function(){return Gb(a,!0)&&sc(a,e,d,!1)},function(){a.ha&&a.ha.stop();I(a.F,-1);Gb(a,!1)})}} function fg(a,b,c){if("?"==c)a.g("trace commands:"),a.g("\tt [#]\ttrace # instructions"),a.g("\ttr [#]\ttrace # instructions with register updates"),a.g("\ttc [#]\ttrace # cycles"),a.g("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=De(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;Ya(c,function(){return Ib(a,!0)&&vc(a,e,d,!1)},function(){a.ha&&a.ha.stop();L(a.F,-1);Ib(a,!1)})}}
function Cf(a,b,c,d){if(b=T(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=se(a,c.substr(1)),null!=c&&(d=c);else{d=T(a,c);if(!d||d.w<b.w)return;e=d.w-b.w;if(256<e){a.g("range too large");return}d=-1}for(c=0;0<e&&d--;){var g=Fb(a,!1)||a.N?a.B:null,f=null!=g?"cycles":null,h=Qf(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.w=m.w;h.ea=m.ea;h.ca=m.ca;a.g(Ef(a,b,f,g));e-=b.w-k;c++}}} function Nf(a,b,c,d){if(b=V(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=De(a,c.substr(1)),null!=c&&(d=c);else{d=V(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.g("range too large");return}d=-1}for(c=0;0<e&&d--;){var g=Hb(a,!1)||a.N?a.D:null,f=null!=g?"cycles":null,h=ag(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.g(Pf(a,b,f,g));e-=b.B-k;c++}}}
function Of(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(zf+b):(a.P&&(a.g("ended assemble at "+K(a,a.ba.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0<b.length){a.P&&(b="a "+K(a,a.ba.w)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var r=T(a, function Zf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(Kf+b):(a.P&&(a.g("ended assemble at "+M(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Gb(a)&&0<b.length){a.P&&(b="a "+M(a,a.ba.B)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var r=V(a,
f[1],a.ba);if(r){var z=f[2];if(void 0==z)a.g("begin assemble at "+K(a,r.w)),a.P=!0,I(a.F);else{f.shift();f.shift();f.shift();var U,Se=f.join(""),y=-1,fc,wg=z.toUpperCase(),ed;for(ed in Ff){var Ja;fc=+ed;var Te=Ff[ed];switch(fc){case 32512:Ja=Gf;break;case 32256:Ja=Hf;break;case 29248:Ja=If;break;default:Ja=[""]}var Ue,fd;for(fd in Te){for(var Ve=Te[fd],Ka=0;Ka<Ja.length;Ka++){var gd=Ja[Ka];"S"==gd&&Ve>Jf&&(gd="B");if(wg==Kf[Ve]+gd){Ue=29248!=fc?Ka:(Ka&3)<<1|(Ka&12)<<2;y=(fd|Ue<<6)*Rb;break}}if(0<= f[1],a.ba);if(r){var A=f[2];if(void 0==A)a.g("begin assemble at "+M(a,r.B)),a.P=!0,L(a.F);else{f.shift();f.shift();f.shift();var W,cf=f.join(""),z=-1,ic,Hg=A.toUpperCase(),ld;for(ld in Qf){var La;ic=+ld;var df=Qf[ld];switch(ic){case 32512:La=Rf;break;case 32256:La=Sf;break;case 29248:La=Tf;break;default:La=[""]}var ef,md;for(md in df){for(var ff=df[md],Ma=0;Ma<La.length;Ma++){var nd=La[Ma];"S"==nd&&ff>Uf&&(nd="B");if(Hg==Vf[ff]+nd){ef=29248!=ic?Ma:(Ma&3)<<1|(Ma&12)<<2;z=(md|ef<<6)*Ub;break}}if(0<=
y)break}if(0<=y)break}if(0<=y)if(Se)for(var hd=Se.split(","),hb=0;hb<hd.length;hb++){var gc=hd[hb].trim();if(gc){if(1<hb){a.g("too many operands: "+gc);y=-1;break}var V=gc.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!V){a.g("unknown operand: "+gc);y=-1;break}var E=P(a,V[2]);if(void 0==E){y=-1;break}if(!hb&&1<hd.length)if(28700==fc){if(0>E||127<E){a.g("device code out of range: "+V[2]);y=-1;break}y+=E*Sb}else{if(0>E||15<E){a.g("accumulator address out of range: "+V[2]);y=-1;break}y+=E<<23}else{if(0>E||262143< z)break}if(0<=z)break}if(0<=z)if(cf)for(var od=cf.split(","),jb=0;jb<od.length;jb++){var jc=od[jb].trim();if(jc){if(1<jb){a.g("too many operands: "+jc);z=-1;break}var X=jc.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!X){a.g("unknown operand: "+jc);z=-1;break}var F=R(a,X[2]);if(void 0==F){z=-1;break}if(!jb&&1<od.length)if(28700==ic){if(0>F||127<F){a.g("device code out of range: "+X[2]);z=-1;break}z+=F*Vb}else{if(0>F||15<F){a.g("accumulator address out of range: "+X[2]);z=-1;break}z+=F<<23}else{if(0>F||262143<
E){a.g("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15<E){a.g("memory index out of range: "+V[3]);y=-1;break}y+=E<<18}V[1]&&(y+=4194304)}}}else a.g("missing operand(s)"),y=-1;else a.g("unknown instruction: "+z);U=y;0<=U&&(a.eb(r,U),a.g(Ef(a,r)))}}break;case "b":a:{var xg=f[0],La=f[1],yg=b;if("?"==La)a.g("breakpoint commands:"),a.g("\tbp #\tset exec breakpoint"),a.g("\tbr #\tset read breakpoint"),a.g("\tbw #\tset write breakpoint"),a.g("\tbc #\tclear breakpoint (* to clear all)"), F){a.g("memory address out of range: "+X[2]);z=-1;break}z+=F;if(X[3]){F=R(a,X[3]);if(void 0==F){z=-1;break}if(0>F||15<F){a.g("memory index out of range: "+X[3]);z=-1;break}z+=F<<18}X[1]&&(z+=4194304)}}}else a.g("missing operand(s)"),z=-1;else a.g("unknown instruction: "+A);W=z;0<=W&&(a.eb(r,W),a.g(Pf(a,r)))}}break;case "b":a:{var Ig=f[0],Na=f[1],Jg=b;if("?"==Na)a.g("breakpoint commands:"),a.g("\tbp #\tset exec breakpoint"),a.g("\tbr #\tset read breakpoint"),a.g("\tbw #\tset write breakpoint"),a.g("\tbc #\tclear breakpoint (* to clear all)"),
a.g("\tbl\tlist all breakpoints"),a.g("\tbn [#]\tbreak after # instruction(s)");else{var sa=xg.charAt(1);if("l"==sa){var id;id=0+Nf(a,a.b);id+=Nf(a,a.M);(id+=Nf(a,a.J))||a.g("no breakpoints")}else if("n"==sa){var We=+La||0;La&&(a.ka=We);a.g("break after "+We+" instruction(s)")}else if(void 0===La)a.g("missing breakpoint address");else{var J=Q();if("*"!=La&&(J=T(a,La,a.L),!J))break a;"c"==sa?null==J.w?(xe(a),a.g("all breakpoints cleared")):Lf(a,a.b,J)||Lf(a,a.M,J)||Lf(a,a.J,J)||a.g("breakpoint missing: "+ a.g("\tbl\tlist all breakpoints"),a.g("\tbn [#]\tbreak after # instruction(s)");else{var ua=Ig.charAt(1);if("l"==ua){var pd;pd=0+Yf(a,a.b);pd+=Yf(a,a.M);(pd+=Yf(a,a.J))||a.g("no breakpoints")}else if("n"==ua){var gf=+Na||0;Na&&(a.ka=gf);a.g("break after "+gf+" instruction(s)")}else if(void 0===Na)a.g("missing breakpoint address");else{var K=S();if("*"!=Na&&(K=V(a,Na,a.L),!K))break a;"c"==ua?null==K.B?(Ie(a),a.g("all breakpoints cleared")):Wf(a,a.b,K)||Wf(a,a.M,K)||Wf(a,a.J,K)||a.g("breakpoint missing: "+
K(a,J.w)):null!=J.w&&(Ee(a,J,yg),"p"==sa?a.Da(a.b,J):"r"==sa?a.Da(a.M,J):"w"==sa?a.Da(a.J,J):a.g("unknown breakpoint command: "+sa))}}}break;case "c":a.oa&&(a.oa.value="");break;case "d":a:{var Ma,Na=f[0],W=f[1],ia=f[2],zg=f[3];if("?"==W){var Oa="";for(Ma in G)a.qa[Ma]&&(Oa&&(Oa+=","),Oa+=Ma);Oa+=",state,symbols";a.g("dump memory commands:");a.g("\tdw [a] [n] dump n words at address a");a.g("\tds [a] [n] dump n words at address a as JSON");a.g("\tdh [p] [n] dump n instructions from history position p"); M(a,K.B)):null!=K.B&&(Pe(a,K,Jg),"p"==ua?a.Da(a.b,K):"r"==ua?a.Da(a.M,K):"w"==ua?a.Da(a.J,K):a.g("unknown breakpoint command: "+ua))}}}break;case "c":a.oa&&(a.oa.value="");break;case "d":a:{var Oa,Pa=f[0],Y=f[1],ka=f[2],Kg=f[3];if("?"==Y){var Qa="";for(Oa in I)a.qa[Oa]&&(Qa&&(Qa+=","),Qa+=Oa);Qa+=",state,symbols";a.g("dump memory commands:");a.g("\tdw [a] [n] dump n words at address a");a.g("\tds [a] [n] dump n words at address a as JSON");a.g("\tdh [p] [n] dump n instructions from history position p");
Oa.length&&a.g("dump extension commands:\n\t"+Oa)}else if("state"==W){var jd=Wf(a.F,!0);"console"==ia?console.log(jd):(a.oa&&(a.oa.value=""),jd&&a.g(jd))}else if("symbols"==W)for(var kd=0;kd<a.H.length;kd++){var ld=a.H[kd],Pa;for(Pa in ld.T)if("."!=Pa.charAt(0)){var Xe=ld.T[Pa].o;if(void 0!==Xe){var Ye=ld.T[Pa].l;Ye&&(Pa=Ye);a.g(K(a,Xe)+" "+Pa)}}}else{if("d"==Na){for(Ma in G)if(f[1]==Ma){var Ze=a.qa[Ma];Ze?(f.shift(),f.shift(),Ze(f)):a.g("no dump registered for "+W);break a}W||(Na=a.Ba||"dw")}else a.Ba= Qa.length&&a.g("dump extension commands:\n\t"+Qa)}else if("state"==Y){var qd=gg(a.F,!0);"console"==ka?console.log(qd):(a.oa&&(a.oa.value=""),qd&&a.g(qd))}else if("symbols"==Y)for(var rd=0;rd<a.H.length;rd++){var sd=a.H[rd],Ra;for(Ra in sd.T)if("."!=Ra.charAt(0)){var hf=sd.T[Ra].o;if(void 0!==hf){var jf=sd.T[Ra].l;jf&&(Ra=jf);a.g(M(a,hf)+" "+Ra)}}}else{if("d"==Pa){for(Oa in I)if(f[1]==Oa){var kf=a.qa[Oa];kf?(f.shift(),f.shift(),kf(f)):a.g("no dump registered for "+Y);break a}Y||(Pa=a.Ba||"dw")}else a.Ba=
Na;if("dh"==Na){var $e=W,af=ia,bf="",cf=0,R=a.R,X=a.f;if(X.length){var N=+$e||a.sa,jb=+af||10;isNaN(N)?N=jb:bf="more ";N>X.length&&(a.g("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var md=[];"call"==af&&(jb=1E5,md=["CALL"]);for(void 0!==$e&&a.g(N+" instructions earlier:");0<jb&&R!=a.R;){var df=X[R++];if(null==df.w)break;var kb=Q(df.w),Ag=N--,ef=Ef(a,kb,"history",Ag);(!md.length||0<=ef.indexOf(md[0]))&&a.g(ef);kb.Ya&&(R+=kb.Ya,jb-=kb.Ya, Pa;if("dh"==Pa){var lf=Y,mf=ka,nf="",of=0,T=a.R,Z=a.f;if(Z.length){var P=+lf||a.sa,lb=+mf||10;isNaN(P)?P=lb:nf="more ";P>Z.length&&(a.g("note: only "+Z.length+" available"),P=Z.length);T-=P;0>T&&(null==Z[Z.length-1].B?(P=T+P,T=0):T+=Z.length);var td=[];"call"==mf&&(lb=1E5,td=["CALL"]);for(void 0!==lf&&a.g(P+" instructions earlier:");0<lb&&T!=a.R;){var pf=Z[T++];if(null==pf.B)break;var mb=S(pf.B),Lg=P--,qf=Pf(a,mb,"history",Lg);(!td.length||0<=qf.indexOf(td[0]))&&a.g(qf);mb.Ya&&(T+=mb.Ya,lb-=mb.Ya,
N-=kb.Ya);R>=X.length&&(R=0);a.sa=N;cf++;jb--}}cf||(a.g("no "+bf+"history available"),a.sa=void 0)}else{var Qa=T(a,W,a.ja);if(Qa){var ta=0,ff="ds"==Na;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||zg,ta=se(a,ia);else{var gf=T(a,ia);gf&&(ta=gf.w-Qa.w)}0>ta&&(ta=0);65536<ta&&(ta=65536)}var Bg=a.ca;Qa.ca&&(a.ca=Qa.ca);for(var hf="db"==Na?1:2,nd=ta||32,od=1==hf?2:4,Cg=(nd+od-1)/od|0||1,ua="";Cg--&&0<nd;){for(var va="",jf="",W=K(a,Qa.w),kf=od;0<kf--&&0<nd--;){var hc=a.xa(Qa,1);ff?(va&&(va+=","),va+=hc): P-=mb.Ya);T>=Z.length&&(T=0);a.sa=P;of++;lb--}}of||(a.g("no "+nf+"history available"),a.sa=void 0)}else{var Sa=V(a,Y,a.ja);if(Sa){var va=0,rf="ds"==Pa;if(ka){if("l"==ka.charAt(0))ka=ka.substr(1)||Kg,va=De(a,ka);else{var sf=V(a,ka);sf&&(va=sf.B-Sa.B)}0>va&&(va=0);65536<va&&(va=65536)}var Mg=a.ca;Sa.ca&&(a.ca=Sa.ca);for(var tf="db"==Pa?1:2,ud=va||32,vd=1==tf?2:4,Ng=(ud+vd-1)/vd|0||1,wa="";Ng--&&0<ud;){for(var xa="",uf="",Y=M(a,Sa.B),vf=vd;0<vf--&&0<ud--;){var kc=a.xa(Sa,1);rf?(xa&&(xa+=","),xa+=kc):
(va+=Fe(hc),va+=" ");for(var lf=0;1==hf&&6>lf;lf++)jf+=String.fromCharCode((hc%64|0)+32),hc/=64}ua&&(ua+="\n");ua=ff?ua+(va+","):ua+(W+": "+va+(0>kf?" "+jf:""))}ua&&a.g(ua);a.ca=Bg}}}}break;case "e":if("else"==f[0])break;var mf,nf,of=f[0],pd=f[1];"e"==of||"ew"==of?(mf=a.xa,nf=a.eb):pd=null;if(null==pd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var ic=T(a,pd,a.ja);if(ic)for(var jc=2;jc<f.length;jc++){var qd=P(a,f[jc]);if(void 0===qd){a.g("unknown value: "+f[jc]); (xa+=Qe(kc),xa+=" ");for(var wf=0;1==tf&&6>wf;wf++)uf+=String.fromCharCode((kc%64|0)+32),kc/=64}wa&&(wa+="\n");wa=rf?wa+(xa+","):wa+(Y+": "+xa+(0>vf?" "+uf:""))}wa&&a.g(wa);a.ca=Mg}}}}break;case "e":if("else"==f[0])break;var xf,yf,zf=f[0],wd=f[1];"e"==zf||"ew"==zf?(xf=a.xa,yf=a.eb):wd=null;if(null==wd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var lc=V(a,wd,a.ja);if(lc)for(var mc=2;mc<f.length;mc++){var xd=R(a,f[mc]);if(void 0===xd){a.g("unknown value: "+f[mc]);
break}a.g("changing "+K(a,ic.w)+" from "+Fe(mf.call(a,ic))+" to "+Fe(qd));nf.call(a,ic,qd,1)}}break;case "g":a:{var pf=f[1],Dg=b;if(void 0!==pf){var rd=T(a,pf);if(!rd)break a;Ee(a,rd,Dg);a.Da(a.b,rd,!0)}Qe(a,!0,c)}break;case "h":a.j.K?(c||a.g("halting"),a.V()):Fb(a,!0)||c||a.g("already halted");break;case "i":if("if"==f[0]){var sd;var lb=b.substr(2),lb=Ca(lb);P(a,lb)?(c||a.g("true: "+lb),sd=!0):(c||a.g("false: "+lb),sd=!1);sd||(d=!1);break}g=!0;break;case "k":var Eg=f[0];if("?"==f[1])a.g("stack trace commands:"), break}a.g("changing "+M(a,lc.B)+" from "+Qe(xf.call(a,lc))+" to "+Qe(xd));yf.call(a,lc,xd,1)}}break;case "g":a:{var Af=f[1],Og=b;if(void 0!==Af){var yd=V(a,Af);if(!yd)break a;Pe(a,yd,Og);a.Da(a.b,yd,!0)}af(a,!0,c)}break;case "h":a.j.K?(c||a.g("halting"),a.V()):Hb(a,!0)||c||a.g("already halted");break;case "i":if("if"==f[0]){var zd;var nb=b.substr(2),nb=Ea(nb);R(a,nb)?(c||a.g("true: "+nb),zd=!0):(c||a.g("false: "+nb),zd=!1);zd||(d=!1);break}g=!0;break;case "k":var Pg=f[0];if("?"==f[1])a.g("stack trace commands:"),
a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var td=0,ud=Q(),mb=Q();for(a.g("stack trace for "+K(a,mb.w));10>td;){for(var wa=null,Fg=256;65536>mb.w>>>0;){ud.w=a.xa(mb,2);if(null==mb.w||!Fg--)break;if(!(ud.w&1)){for(var Gg=a,kc=ud,qf=null,nb=kc.w,rf=nb,vd=1;6>=vd&&nb;vd++){if(2<vd){kc.w=nb;var lc=Ef(Gg,kc);if(0<=lc.indexOf("JSR")){var sf=lc.indexOf(" ");if(nb+(lc.indexOf(" ",sf+1)-sf-1)/2==rf){qf=lc;break}}}nb-=2}kc.w=rf;if(wa=qf)break}}if(!wa||null==wa)break;var tf=null; a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Ad=0,Bd=S(),ob=S();for(a.g("stack trace for "+M(a,ob.B));10>Ad;){for(var ya=null,Qg=256;65536>ob.B>>>0;){Bd.B=a.xa(ob,2);if(null==ob.B||!Qg--)break;if(!(Bd.B&1)){for(var Rg=a,nc=Bd,Bf=null,pb=nc.B,Cf=pb,Cd=1;6>=Cd&&pb;Cd++){if(2<Cd){nc.B=pb;var oc=Pf(Rg,nc);if(0<=oc.indexOf("JSR")){var Df=oc.indexOf(" ");if(pb+(oc.indexOf(" ",Df+1)-Df-1)/2==Cf){Bf=oc;break}}}pb-=2}nc.B=Cf;if(ya=Bf)break}}if(!ya||null==ya)break;var Ef=null;
if("ks"==Eg){var uf=wa.match(/[0-9A-F]+$/);uf&&(tf=Tf(a,uf[0]))}wa=Ba(wa,50)+" ;"+(tf||"stack="+K(a,mb.w));a.g(wa);td++}td||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Tf(a,f[1],!0);break}g=!0;break;case "m":a:{var Y,Z=null,A=f[1];"?"==A&&(A=void 0);if(void 0!==A){var ja=0;if("all"==A)ja=1879046143,A=null;else if("on"==A)Z=!0,A=null;else if("off"==A)Z=!1,A=null;else{"keys"==A&&(A="key");"kbd"==A&&(A="keyboard");for(Y in G)if(A==Y){ja=G[Y];Z=!!(a.X&ja);break}if(!ja){a.g("unknown message category: "+ if("ks"==Pg){var Ff=ya.match(/[0-9A-F]+$/);Ff&&(Ef=dg(a,Ff[0]))}ya=Da(ya,50)+" ;"+(Ef||"stack="+M(a,ob.B));a.g(ya);Ad++}Ad||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){dg(a,f[1],!0);break}g=!0;break;case "m":a:{var aa,ba=null,B=f[1];"?"==B&&(B=void 0);if(void 0!==B){var la=0;if("all"==B)la=1879046143,B=null;else if("on"==B)ba=!0,B=null;else if("off"==B)ba=!1,B=null;else{"keys"==B&&(B="key");"kbd"==B&&(B="keyboard");for(aa in I)if(B==aa){la=I[aa];ba=!!(a.X&la);break}if(!la){a.g("unknown message category: "+
A);break a}}if(ja)if("on"==f[2])a.X|=ja,Z=!0;else if("off"==f[2]&&(a.X&=~ja,Z=!1,1073741824==ja)){for(var vf=1E3<=a.O.length?a.O.length-1E3:0;vf<a.O.length;)a.g(a.O[vf++]);a.O=[]}}var Hg=0,ob="";for(Y in G)if(!A||A==Y){var Ig=!!(a.X&G[Y]);if(null===Z||Z==Ig)ob&&(ob+=","),++Hg%10||(ob+="\n\t"),"key"==Y&&(Y="keys"),ob+=Y}void 0===A&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Z?Z?"messages on: ":"messages off: ":"message categories:\n\t")+(ob||"none"));ye(a)}break; B);break a}}if(la)if("on"==f[2])a.X|=la,ba=!0;else if("off"==f[2]&&(a.X&=~la,ba=!1,1073741824==la)){for(var Gf=1E3<=a.O.length?a.O.length-1E3:0;Gf<a.O.length;)a.g(a.O[Gf++]);a.O=[]}}var Sg=0,qb="";for(aa in I)if(!B||B==aa){var Tg=!!(a.X&I[aa]);if(null===ba||ba==Tg)qb&&(qb+=","),++Sg%10||(qb+="\n\t"),"key"==aa&&(aa="keys"),qb+=aa}void 0===B&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==ba?ba?"messages on: ":"messages off: ":"message categories:\n\t")+(qb||
case "p":if("print"==f[0]){Uf(a,b.substr(5));break}var wf=f[0],xf="p"==wf?0:"pr"==wf?1:-1;if("?"==f[1]||0>xf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var yf=Q(a.i.u);a.xa(yf);a.N?(a.Da(a.b,yf,!0),Qe(a)||(a.F&&zd(a.F),a.N=0)):Vf(a,xf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Bf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var pb=+f[2];if(8==pb||10==pb||16== "none"));Je(a)}break;case "p":if("print"==f[0]){eg(a,b.substr(5));break}var Hf=f[0],If="p"==Hf?0:"pr"==Hf?1:-1;if("?"==f[1]||0>If)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var Jf=S(a.i.u);a.xa(Jf);a.N?(a.Da(a.b,Jf,!0),af(a)||(a.F&&id(a.F),a.N=0)):fg(a,If?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Mf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var rb=+f[2];
pb)a.ca=pb;else{a.g("invalid base: "+pb);break}}a.g("default base: "+a.ca);break;case "cs":var qb;void 0!==f[3]&&(qb=+f[3]);switch(f[2]){case "int":a.i.ha=qb;break;case "start":a.i.ua=qb;break;case "stop":a.i.ja=qb;break;default:a.g("unknown cs option");break a}void 0!==qb&&Yc(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(cd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.W.toFixed(2)+"Mhz")+" ("+a.i.aa+ if(8==rb||10==rb||16==rb)a.ca=rb;else{a.g("invalid base: "+rb);break}}a.g("default base: "+a.ca);break;case "cs":var sb;void 0!==f[3]&&(sb=+f[3]);switch(f[2]){case "int":a.i.ha=sb;break;case "start":a.i.ua=sb;break;case "stop":a.i.ja=sb;break;default:a.g("unknown cs option");break a}void 0!==sb&&ad(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(fd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.W.toFixed(2)+
"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),a.g("\tcs int #\tset checksum cycle interval to #"),a.g("\tcs start #\tset checksum cycle start count to #"),a.g("\tcs stop #\tset checksum cycle stop count to #"),a.g("\tsp #\t\tset speed multiplier to #")}break;case "t":Vf(a,f[0],f[1]);break;case "u":Cf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Sf(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Jb||"PDP10")+ "Mhz")+" ("+a.i.aa+"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),a.g("\tcs int #\tset checksum cycle interval to #"),a.g("\tcs start #\tset checksum cycle start count to #"),a.g("\tcs stop #\tset checksum cycle stop count to #"),a.g("\tsp #\t\tset speed multiplier to #")}break;case "t":fg(a,f[0],f[1]);break;case "u":Nf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){cg(a,b.substr(3))||(d=!1);break}if("ver"==
" version 1.34.2 ("+a.i.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){Uf(a,b.substr(1));break}var wd="commands:",xd;for(xd in Xf)wd+="\n"+Ba(xd,9)+Xf[xd];Jd(a)||(wd+="\nnote: history disabled if no exec breakpoints");a.g(wd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Af){a.g("debugger error: "+(Af.stack||Af.message)),d=!1}return d}function ad(a,b,c){b=pe(a,b,c);for(var d in b)if(!Of(a,b[+d]))return!1;return!0} f[0]){a.g((Lb||"PDP10")+" version 1.34.2 ("+a.i.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){eg(a,b.substr(1));break}var Dd="commands:",Ed;for(Ed in hg)Dd+="\n"+Da(Ed,9)+hg[Ed];Md(a)||(Dd+="\nnote: history disabled if no exec breakpoints");a.g(Dd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Lf){a.g("debugger error: "+(Lf.stack||Lf.message)),d=!1}return d}
var Xf={"?":"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"},Jf=20,Kf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), function dd(a,b,c){b=Ae(a,b,c);for(var d in b)if(!Zf(a,b[+d]))return!1;return!0}
He=0,Ie=1,Je=2,Ke=3,Le=4,Me=5,Ne=6,Oe=7,Ge="PC RA EA C0 C1 OV ND PD".split(" "),Yf={},Ff=(Yf[28672]={0:101},Yf[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Yf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Jf,9216:53,9472:52, var hg={"?":"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"},Uf=20,Vf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "),
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Yf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Yf[29248]={24576:79,24640:80,25088:81,25152:82},Yf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, Se=0,Te=1,Ue=2,Ve=3,We=4,Xe=5,Ye=6,Ze=7,Re="PC RA EA C0 C1 OV ND PD".split(" "),ig={},Qf=(ig[28672]={0:101},ig[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},ig[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Uf,9216:53,9472:52,
28692:98,28696:99,28700:100},Yf),Gf=["","I","M","S"],Hf=" L E LE A GE N G".split(" "),If="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Pe=1E3,zf=">> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new we(d);wb(d,c)}}); 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},ig[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},ig[29248]={24576:79,24640:80,25088:81,25152:82},ig[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
function Zf(a,b,c){v.call(this,"Computer",a,33554432);this.j.U=!1;this.R=null;$f(this,b);this.O=Wc(this,"autoPower",a,6);this.v=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.H=this.N=null;this.L=this.W=!1;this.J=this.B=null;this.S=this.P=!1;this.ba=Wc(this,"url")||"";(Math.random()+.1).toString(36);this.f=ag(this);if(this.i=vb("CPU",this.id)){this.A=vb("Debugger",this.id);this.G=new zc({id:this.La+".bus",busWidth:this.aa},this.i,this.A);var d,e=tb(this.id);if((this.u=vb("Panel",this.id))&&this.u.oa)for(b= 28692:98,28696:99,28700:100},ig),Rf=["","I","M","S"],Sf=" L E LE A GE N G".split(" "),Tf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),$e=1E3,Kf=">> ";ab(function(){for(var a=C(document,y,"debugger"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new He(d);yb(d,c)}});
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.g=this.u.g,d.oa=this.u.oa;this.g(Jb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.wa&&d.wa(this,this.G,this.i,this.A);b=null;d=Wc(this,"resume",a);void 0!==d&&(1<d.length?b=this.H=d:this.b=parseInt(d,10));var g;if(a=Wc(this,"state")||(g=!0,a.state))this.N=b=a,g||(this.L=!0,this.b=bg),this.b&&(this.J=new H(this,"1.34.2"),cg(this.J)?b=null: function jg(a,b,c){v.call(this,"Computer",a,33554432);this.j.U=!1;this.R=null;kg(this,b);this.O=Zc(this,"autoPower",a,6);this.A=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.H=this.N=null;this.L=this.W=!1;this.J=this.D=null;this.S=this.P=!1;this.ba=Zc(this,"url")||"";(Math.random()+.1).toString(36);this.f=lg(this);if(this.i=xb("CPU",this.id)){this.C=xb("Debugger",this.id);this.G=new Cc({id:this.La+".bus",busWidth:this.aa},this.i,this.C);var d,e=vb(this.id);if((this.u=xb("Panel",this.id))&&this.u.oa)for(b=
delete this.J);!b&&this.b&&(b=dg(this))&&(this.L=!0);if(b){var f=this;Fa(b,null,!0,function(a,b,c){c?(f.H=null,f.L=!1,f.da("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(f.M=b,f.W=!0);D(f)})}else D(this);this.I.power||(this.O=!0);!c&&this.O&&eg(this,this.Ga)}else u("Unable to find CPU component")}p(Zf,v);function $f(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.R=b} 0;b<e.length;b++)d=e[b],d.da=this.u.da,d.g=this.u.g,d.oa=this.u.oa;this.g(Lb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.wa&&d.wa(this,this.G,this.i,this.C);b=null;d=Zc(this,"resume",a);void 0!==d&&(1<d.length?b=this.H=d:this.b=parseInt(d,10));var g;if(a=Zc(this,"state")||(g=!0,a.state))this.N=b=a,g||(this.L=!0,this.b=mg),this.b&&(this.J=new J(this,"1.34.2"),ng(this.J)?b=null:
function Wc(a,b,c,d){var e=b.toLowerCase(),e=Ua(b)||Ua(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function eg(a,b,c){for(var d=tb(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!Eb(g)){Eb(g,function(){eg(a,b,c)});return}}b.call(a,c)} delete this.J);!b&&this.b&&(b=og(this))&&(this.L=!0);if(b){var f=this;Ha(b,null,!0,function(a,b,c){c?(f.H=null,f.L=!1,f.da("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(f.M=b,f.W=!0);D(f)})}else D(this);this.I.power||(this.O=!0);!c&&this.O&&pg(this,this.Ga)}else u("Unable to find CPU component")}p(jg,v);function kg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.R=b}
function fg(a,b){var c=new H(a,"1.34.2",gg);if(cg(c)&&hg(c)){var d=c.get(ig),e=b?b.get(ig):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Zf.prototype; function Zc(a,b,c,d){var e=b.toLowerCase(),e=Wa(b)||Wa(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function pg(a,b,c){for(var d=vb(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!Gb(g)){Gb(g,function(){pg(a,b,c)});return}}b.call(a,c)}
l.Ga=function(a){void 0===a&&(a=this.b||(this.M?jg:bg));if(!this.v){this.v++;var b=!1,c=!1;this.P=!1;var d=this.J||new H(this,"1.34.2");if(a==kg)b=!0;else if(a>bg){if(cg(d,this.M)){this.B=new H(this,"1.34.2",lg);cg(this.B)&&(mg(this,d),a=ng,og(this.B));this.B.set(ig,Ea());pg(this.B);var e=this.b&&!this.L;if(a==jg||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=hg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?cg(d,f):("error"==g&&"no machine state"!= function qg(a,b){var c=new J(a,"1.34.2",rg);if(ng(c)&&sg(c)){var d=c.get(tg),e=b?b.get(tg):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=jg.prototype;
f?(this.da("Error: "+f),"unable to verify user"==f&&(Sa(qg,""),this.f=null)):this.g(g+": "+f),og(d),cg(d)?(c=hg(d),e=!0):c=!1))}e&&fg(this,c?d:null)}else a==ng&&d.clear()}else fg(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.i&&(c=rg(this,f,d,b,c));b=[d,a,c];a!=kg?eg(this,this.pb,b):this.pb(b)}}; l.Ga=function(a){void 0===a&&(a=this.b||(this.M?ug:mg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.J||new J(this,"1.34.2");if(a==vg)b=!0;else if(a>mg){if(ng(d,this.M)){this.D=new J(this,"1.34.2",wg);ng(this.D)&&(xg(this,d),a=yg,zg(this.D));this.D.set(tg,Ga());Ag(this.D);var e=this.b&&!this.L;if(a==ug||ub("Click OK to restore the previous "+Lb+" machine state, or CANCEL to reset the machine.")){if(c=sg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?ng(d,f):("error"==g&&"no machine state"!=
function rg(a,b,c,d,e){if(!b.j.U){b.j.U=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.pa(g,d)&&g&&(u("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=bg,window&&window.location.reload()):a.P=!0,b.pa(null),e=!1),!d&&b.hb){var f=b.hb.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){u("Error restoring state for "+b.type+" ("+h.message+")")}}return e} f?(this.da("Error: "+f),"unable to verify user"==f&&(Ua(Bg,""),this.f=null)):this.g(g+": "+f),zg(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.M;delete this.J}e=vb(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.i&&(c=Cg(this,f,d,b,c));b=[d,a,c];a!=vg?pg(this,this.pb,b):this.pb(b)}};
l.pb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(rg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(mg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; function Cg(a,b,c,d,e){if(!b.j.U){b.j.U=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.pa(g,d)&&g&&(u("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=mg,window&&window.location.reload()):a.P=!0,b.pa(null),e=!1),!d&&b.hb){var f=b.hb.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){u("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
function mg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} l.pb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(Cg(this,this.i,b,c,a),L(this,-2),this.i.Z());this.P&&(xg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0};
function Wf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",gg),h=Ea();f.set(ig,h);g.set(ig,h);g.set(sg,"1.34.2");g.set(tg,window?window.location.href:null);g.set(ug,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k<h.length;k++){var m=h[k];m.j.U&&(m.fa&&(d=m.fa(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.j.U= function xg(a,b){if(ub("There may be a problem with your "+Lb+" machine.\n\nTo help us diagnose it, click OK to send this "+Lb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Lb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&vg(a,a.f,g.toString()),pg(f)&&pg(g)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Jg),d&&g.clear(h)):e=g.toString());c&&(a.j.U=!1,b=a.I.power)&&(b.textContent="Power");a.v=0;return e} function gg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new J(a,"1.34.2"),f=new J(a,"1.34.2",rg),h=Ga();f.set(tg,h);g.set(tg,h);g.set(Dg,"1.34.2");g.set(Eg,window?window.location.href:null);g.set(Fg,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=vb(a.id),k=0;k<h.length;k++){var m=h[k];m.j.U&&(m.fa&&(d=m.fa(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.j.U=
l.reset=function(){this.j.reset=!0;this.G&&this.G.reset&&(Ib(this,"Resetting "+this.G.type),this.G.reset());this.i&&this.i.reset&&(Ib(this,"Resetting "+this.i.type),this.i.reset());for(var a=tb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.i&&c.reset&&(Ib(this,"Resetting "+c.type),c.reset())}this.j.reset=!1;I(this,-1)};l.start=function(a,b){for(var c=tb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}I(this,-1)}; !1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&Gg(a,a.f,g.toString()),Ag(f)&&Ag(g)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Ug),d&&g.clear(h)):e=g.toString());c&&(a.j.U=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return e}
l.stop=function(a,b){for(var c=tb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}I(this,-1)}; l.reset=function(){this.j.reset=!0;this.G&&this.G.reset&&(Kb(this,"Resetting "+this.G.type),this.G.reset());this.i&&this.i.reset&&(Kb(this,"Resetting "+this.i.type),this.i.reset());for(var a=vb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.i&&c.reset&&(Kb(this,"Resetting "+c.type),c.reset())}this.j.reset=!1;L(this,-1)};l.start=function(a,b){for(var c=vb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}L(this,-1)};
function I(a,b){if(a.i){var c=a.i,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Qa+=d))&&(e.textContent=c.j.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.A&&a.A.ca||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.i.u:0<b&&c&&!d&&(a.f=a.i.qa);cc(a,a.f);Xb(a,a.v)}} l.stop=function(a,b){for(var c=vb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}L(this,-1)};
l.ga=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.v||(d.j.U?Wf(d,!1,!0):eg(d,d.Ga))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.j.U&&!d.v)if(d.b&&!d.H){var a=sb("Click OK to save changes to this "+Jb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Wf(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ga(bg)}else d.reset(),d.i&&!d.A&&d.i.Z()},!0;case "save":if(xa())c.parentNode.removeChild(c);else return this.I[b]= function L(a,b){if(a.i){var c=a.i,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Qa+=d))&&(e.textContent=c.j.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.A&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?ra(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.i.u:0<b&&c&&!d&&(a.f=a.i.qa);fc(a,a.f);$b(a,a.A)}}
c,c.onclick=function(){var a=ag(d,!0);if(a){var b=!!(d.b&&!d.H||d.N),c=Wf(d,b);b?vg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1}; l.ga=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.j.U?gg(d,!1,!0):pg(d,d.Ga))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.j.U&&!d.A)if(d.b&&!d.H){var a=ub("Click OK to save changes to this "+Lb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");gg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ga(mg)}else d.reset(),d.i&&!d.C&&d.i.Z()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.I[b]=
function ag(a,b){var c=a.f;c||((c=Ra(qg),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=Kg(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c} c,c.onclick=function(){var a=lg(d,!0);if(a){var b=!!(d.b&&!d.H||d.N),c=gg(d,b);b?Gg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function Kg(a,b){a.f=null;b=Fa(ya()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Sa(qg,b.data),a.f=b.data)}catch(d){u(d.message+" ("+c+")")}return a.f}function dg(a){var b=null;a.f&&(b=ya()+"/api/v1/user?req=load&user="+a.f+"&state="+Lg(a,"1.34.2"));return b} function lg(a,b){var c=a.f;c||((c=Ta(Bg),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=Vg(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
function vg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Lg(a,"1.34.2");d.data=c;b=Fa(ya()+"/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.da("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.da(c),Sa(qg,""),a.f=null)}} function Vg(a,b){a.f=null;b=Ha(Aa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ua(Bg,b.data),a.f=b.data)}catch(d){u(d.message+" ("+c+")")}return a.f}function og(a){var b=null;a.f&&(b=Aa()+"/api/v1/user?req=load&user="+a.f+"&state="+Wg(a,"1.34.2"));return b}
function zd(a,b){if(a.oa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.oa.focus();!b&&window&&window.scrollTo(c,d)}}var lg="failsafe",gg="validate",ig="timestamp",sg="version",tg="url",ug="browser",qg="user",kg=-1,bg=0,jg=1,ng=2,Jg=3;Za(function(){for(var a=C(document,B+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=x(c),c=C(c,B,"computer"),e=0;e<c.length;e++){var g=c[e],f=x(g),f=new Zf(f,d,!0);wb(f,g);f.O&&eg(f,f.Ga)}}); function Gg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Wg(a,"1.34.2");d.data=c;b=Ha(Aa()+"/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.da("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.da(c),Ua(Bg,""),a.f=null)}}
$a.show.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=x(a[b]);(c=vb("Computer",c.id))&&c.S&&!c.j.U&&c.Ga(kg)}});$a.exit.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=x(a[b]);(c=vb("Computer",c.id))&&c.j.U&&Wf(c,!(!c.b||c.H),!0)}});function H(a,b,c){this.id=a.id;this.i="";this.b={};this.f=this.A=!1;this.key=Lg(a,b,c);og(this,a.Bb)}l=H.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null}; function id(a,b){if(a.oa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.oa.focus();!b&&window&&window.scrollTo(c,d)}}var wg="failsafe",rg="validate",tg="timestamp",Dg="version",Eg="url",Fg="browser",Bg="user",vg=-1,mg=0,ug=1,yg=2,Ug=3;ab(function(){for(var a=C(document,y+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=x(c),c=C(c,y,"computer"),e=0;e<c.length;e++){var g=c[e],f=x(g),f=new jg(f,d,!0);yb(f,g);f.O&&pg(f,f.Ga)}});
l.data=function(){return this.b};function cg(a,b){return b?(a.i=b,a.f=!0,a.A=!1,!0):a.f?!0:Ha()&&(b=Ra(a.key))?(a.i=b,a.f=!0):!1}function hg(a){var b=!0;if(!a.A)try{a.b=JSON.parse(a.i),a.A=!0}catch(c){u(c.message||c),b=!1}return b}function pg(a){var b=!0;if(Ha()){var c=JSON.stringify(a.b);Sa(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i}; bb.show.push(function(){for(var a=C(document,y,"computer"),b=0;b<a.length;b++){var c=x(a[b]);(c=xb("Computer",c.id))&&c.S&&!c.j.U&&c.Ga(vg)}});bb.exit.push(function(){for(var a=C(document,y,"computer"),b=0;b<a.length;b++){var c=x(a[b]);(c=xb("Computer",c.id))&&c.j.U&&gg(c,!(!c.b||c.H),!0)}});function J(a,b,c){this.id=a.id;this.i="";this.b={};this.f=this.C=!1;this.key=Wg(a,b,c);zg(this,a.Bb)}l=J.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
function og(a,b){a.i="";a.b={};a.f=a.A=!1;b&&a.set("parms",b)}l.clear=function(a){og(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 Lg(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 Mg=0; l.data=function(){return this.b};function ng(a,b){return b?(a.i=b,a.f=!0,a.C=!1,!0):a.f?!0:Ja()&&(b=Ta(a.key))?(a.i=b,a.f=!0):!1}function sg(a){var b=!0;if(!a.C)try{a.b=JSON.parse(a.i),a.C=!0}catch(c){u(c.message||c),b=!1}return b}function Ag(a){var b=!0;if(Ja()){var c=JSON.stringify(a.b);Ua(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Ng(a,b,c,d,e,g,f){g("Loading "+a+"...");Fa(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):Og(k,a,b,c,d,e,g,f)})} function zg(a,b){a.i="";a.b={};a.f=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){zg(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 Wg(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 Xg=0;
function Og(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(gb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"), function Yg(a,b,c,d,e,g,f){g("Loading "+a+"...");Ha(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):Zg(k,a,b,c,d,e,g,f)})}
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(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(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?Pg(a,f,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)} function Zg(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(ib(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
function Pg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(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(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?$g(a,f,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
"");a=a.replace(d[0],f);Pg(a,b,c)}})}else c(a,null)} function $g(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/,
function Qg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Mg||cb(!0));m=!1}var h,k,m=!0;Mg++;ib[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| "");a=a.replace(d[0],f);$g(a,b,c)}})}else c(a,null)}
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Ng(d,null,a,null,!1,g,function(a,e){e?(gb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Mg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Mg|| function ah(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function f(a){g("Error: "+a);m&&(--Xg||eb(!0));m=!1}var h,k,m=!0;Xg++;kb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],A=document.createElement("style");A.type="text/css";A.styleSheet?A.styleSheet.cssText=n:A.appendChild(document.createTextNode(n));r.appendChild(A)}d||
cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Ng(c,b,a,e,!0,g,n):Og(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Qg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Qg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; (n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Yg(d,null,a,null,!1,g,function(a,e){e?(ib(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Xg||eb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Xg||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var r=b[n];if('"'==r||"'"==r)m&&r!=m?k+=r:(m?m=null:m=r,k&&(h.push(k),k=""));else{if(!m){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){k&&(h.push(k),k="");";"==r&&h.length&&(f.push(h),h=[]);continue}}k+=r}}k&&h.push(k);h.length&&f.push(h);d[e]=f;xb(a)||(c=!1)}return c};window.enableEvents=cb;window.sendEvent=eb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map eb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Yg(c,b,a,e,!0,g,n):Zg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(W){f(W.message)}return m}window.embedPDP10=function(a,b,c,d){eb(!1);return ah("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){eb(!1);return ah("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return xb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ab[a]){for(var c=!0,d=Ab,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var r=b[n];if('"'==r||"'"==r)m&&r!=m?k+=r:(m?m=null:m=r,k&&(h.push(k),k=""));else{if(!m){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){k&&(h.push(k),k="");";"==r&&h.length&&(f.push(h),h=[]);continue}}k+=r}}k&&h.push(k);h.length&&f.push(h);d[e]=f;zb(a)||(c=!1)}return c};window.enableEvents=eb;window.sendEvent=gb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map

View file

@ -33,131 +33,132 @@ function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.protot
ha("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); ha("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Cb:0,Va:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,La:8,Kb:9,Wa:10,Lb:11,Mb:12,Xa:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb: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,Ka:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81, var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Cb:0,Va:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,La:8,Kb:9,Wa:10,Lb:11,Mb:12,Xa:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb: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,Ka:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81,
lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ya:127}; lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ya:127};
function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return ka(a,8,b,"")}function t(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ka(a,16,b,c?"0x":"")}function na(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b} function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return ka(a,8,b,"")}function r(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ka(a,16,b,c?"0x":"")}function ma(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}
function oa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function pa(){var a=u();return-1!==a.indexOf("pcjs.org",a.length-8)}function qa(a){return a.replace(/[&<>"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"}; function oa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function pa(){var a=t();return-1!==a.indexOf("pcjs.org",a.length-8)}function qa(a){return a.replace(/[&<>"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};
function ta(){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 ta(){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 v(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, function v(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function ua(a,b){var c,d={H:null,N:null,T:null,S: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")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c<e.length;c++)d.H[f++]=e[c]&255,d.H[f++]=e[c]>>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c<e.length;c++)d.H[f++]= function ua(a,b){var c,d={H:null,N:null,T:null,S: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")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c<e.length;c++)d.H[f++]=e[c]&255,d.H[f++]=e[c]>>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c<e.length;c++)d.H[f++]=
e[c]&255,d.H[f++]=e[c]>>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(x(d.H[0]),d=null):(x("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){x("Resource data error ("+a+"): "+h.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)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.H=e)}return d} e[c]&255,d.H[f++]=e[c]>>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(w(d.H[0]),d=null):(w("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){w("Resource data error ("+a+"): "+h.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)){w("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.H=e)}return d}
function u(){return"http://"+(window?window.location.host:"www.pcjs.org")}function va(){if(null==wa){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}wa=a}return wa}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function t(){return"http://"+(window?window.location.host:"www.pcjs.org")}function va(){if(null==wa){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}wa=a}return wa}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(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 ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(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 Aa(a){if(!Ba){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," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){z.init.push(a)} function Aa(a){if(!Ba){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," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){z.init.push(a)}
function Da(a){if(Ea)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function A(a){!Ea&&a?(Ea=!0,Fa&&Ga("init"),Ha&&Ga("show")):Ea=a}function Ga(a){z[a]&&Da(z[a])}var Ba=null,z={init:[],show:[],exit:[]},Fa=!1,Ha=!1,Ea=!0,wa=null;Ca("onload",function(){Fa=!0;Da(z.init)});Ca("onpageshow",function(){Ha=!0;Da(z.show)});Ca(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Da(z.exit)}); function Da(a){if(Ea)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function A(a){!Ea&&a?(Ea=!0,Fa&&Ga("init"),Ha&&Ga("show")):Ea=a}function Ga(a){z[a]&&Da(z[a])}var Ba=null,z={init:[],show:[],exit:[]},Fa=!1,Ha=!1,Ea=!0,wa=null;Ca("onload",function(){Fa=!0;Da(z.init)});Ca("onpageshow",function(){Ha=!0;Da(z.show)});Ca(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Da(z.exit)});
function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Oa=b.comment;this.Ua=b;this.exports={};this.m=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.c={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.c.error=!1;this.v=this.f=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Oa=b.comment;this.Ua=b;this.exports={};this.m=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.c={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.c.error=!1;this.v=this.g=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function Ka(){return Date.now()||+new Date}
function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<C.length;b++){var d=C[b];a&&d.id.indexOf(a)||c.push(d)}return c}function La(a){if(void 0!==a){var b;for(b=0;b<C.length;b++)if(C[b].id===a)return C[b]}return null} function w(a){window&&window.alert(a)}function La(a){var b=!1;window&&(b=window.confirm(a));return b}function D(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<C.length;b++){var d=C[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ma(a){if(void 0!==a){var b;for(b=0;b<C.length;b++)if(C[b].id===a)return C[b]}return null}
function F(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<C.length;d++)if(c)c==C[d]&&(c=null);else if(!(a!=C[d].type||b&&C[d].id.indexOf(b)))return C[d]}return null}function G(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b} function E(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<C.length;d++)if(c)c==C[d]&&(c=null);else if(!(a!=C[d].type||b&&C[d].id.indexOf(b)))return C[d]}return null}function F(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
function H(a,b){var c=I;b=J(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 h=g.getAttribute("class");if(h)for(var l=h.split(" "),p=0;p<l.length;p++)switch(h=l[p],h){case c+"-binding":(h=G(g))&&h.binding&&a.U(h.type,h.binding,g,h.value),p=l.length}}}} function G(a,b){var c=H;b=I(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 h=g.getAttribute("class");if(h)for(var l=h.split(" "),p=0;p<l.length;p++)switch(h=l[p],h){case c+"-binding":(h=F(g))&&h.binding&&a.U(h.type,h.binding,g,h.value),p=l.length}}}}
function J(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} function I(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}
function Ma(a){for(var b=!0,c=Na[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Oa.indexOf(e)&&(f=function(){return function(){Ma(a)}}());var g=Pa[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=F(d[1],a);if(h)if(g=Qa[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){x("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Na[a];return b}k=B.prototype; function Na(a){for(var b=!0,c=Oa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Pa.indexOf(e)&&(f=function(){return function(){Na(a)}}());var g=Qa[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=E(d[1],a);if(h)if(g=Ra[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){w("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Oa[a];return b}k=B.prototype;
k.toString=function(){return this.name?this.name:this.id||this.type}; k.toString=function(){return this.name?this.name:this.id||this.type};
k.U=function(a,b,c){switch(b){case "clear":return this.m[b]||(this.m[b]=c,c.onclick=function(a){return function(){a.m.print&&(a.m.print.value="")}}(this)),!0;case "print":return this.m[b]||(this.ba=this.m[b]=c,c.value="",this.M=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.F=function(a){this.M(a,this.ma)}),!0;default:return!1}};k.log=function(){};k.M=function(){}; k.U=function(a,b,c){switch(b){case "clear":return this.m[b]||(this.m[b]=c,c.onclick=function(a){return function(){a.m.print&&(a.m.print.value="")}}(this)),!0;case "print":return this.m[b]||(this.ba=this.m[b]=c,c.value="",this.M=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.F=function(a){this.M(a,this.ma)}),!0;default:return!1}};k.log=function(){};k.M=function(){};
k.status=function(a){this.M(this.ma+": "+a)};k.F=function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)};function Ra(a,b){b&&(a.c.ready?b():a.ua=b);return a.c.ready}function K(a){if(!a.c.error&&(a.c.ready=!0,a.c.ready)){var b=a.ua;a.ua=null;b&&b()}}function Sa(a,b){a.c.Fa?(a.c.sa=!1,a.c.Fa=!1):a.c.error?a.M(a.toString()+" error"):a.c.sa=b}k.V=function(){return this.c.C=!0};k.P=function(a,b){b&&(this.c.C=!1);return!0}; k.status=function(a){this.M(this.ma+": "+a)};k.F=function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)};function Sa(a,b){b&&(a.c.ready?b():a.ua=b);return a.c.ready}function J(a){if(!a.c.error&&(a.c.ready=!0,a.c.ready)){var b=a.ua;a.ua=null;b&&b()}}function Ta(a,b){a.c.Fa?(a.c.sa=!1,a.c.Fa=!1):a.c.error?a.M(a.toString()+" error"):a.c.sa=b}k.V=function(){return this.c.C=!0};k.P=function(a,b){b&&(this.c.C=!1);return!0};
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={})); window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var Ja=window?window.PCjs.Machines:{},C=window?window.PCjs.Components:[],Na=window?window.PCjs.Commands:{},Oa=["hold","sleep","wait"],Pa={alert:function(a){x(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Qa={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}}; var Ja=window?window.PCjs.Machines:{},C=window?window.PCjs.Components:[],Oa=window?window.PCjs.Commands:{},Pa=["hold","sleep","wait"],Qa={alert:function(a){w(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ra={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
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)}); 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.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var I="pdp10",L="PDPjs",Ta=Math.pow(2,18),Ua=Math.pow(2,18)-1,M=Math.pow(2,36),N=Math.pow(2,18),Va=Math.pow(2,17)-1,Wa=Math.pow(2,35)-1,Xa=Math.pow(2,35),Ya=Math.pow(2,36),Za=Math.pow(2,23),$a=Math.pow(2,30),I="pdp10",L="PDPjs"; var H="pdp10",K="PDPjs",Ua=Math.pow(2,18),Va=Math.pow(2,18)-1,L=Math.pow(2,36),M=Math.pow(2,36)-1,N=Math.pow(2,18),O=Math.pow(2,18)-1,Wa=Math.pow(2,17)-1,Xa=Math.pow(2,35)-1,Ya=Math.pow(2,35),Za=Math.pow(2,36),$a=Math.pow(2,32),ab=Math.pow(2,23),bb=Math.pow(2,30),H="pdp10",K="PDPjs";
function ab(a,b){B.call(this,"Panel",a);this.B=this.D=0;this.R=b;this.b=this.w=this.g=this.i=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.O=bb;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.f=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, function cb(a,b){B.call(this,"Panel",a);this.B=this.D=0;this.R=b;this.b=this.w=this.i=this.j=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.O=db;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.g=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb,
set:this.vb};K(this)}n(ab,B);k=ab.prototype;k.reset=function(a){this.stop();a&&cb(this,this.i=0)}; set:this.vb};J(this)}n(cb,B);k=cb.prototype;k.reset=function(a){this.stop();a&&eb(this,this.j=0)};
k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){db(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){eb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){db(a, k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.g&&this.g.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){fb(a,
b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){eb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.f=c;this.v=d;fb(this);gb(this)};k.V=function(a,b){if(!b)if(this.R&&hb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.i,this.g]);return a.data()}; b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.g=c;this.v=d;hb(this);ib(this)};k.V=function(a,b){if(!b)if(this.R&&jb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()};
k.restore=function(a){if(a=a[0])ib(this,this.b=a[0]),cb(this,this.i=a[1]),jb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}gb(this);return!0};function kb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fb(a,b){for(var c in a.l)kb(a,c,null!=b?b:a.l[c])}function lb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gb(a){for(var b in a.a)lb(a,b,a.a[b][1])} k.restore=function(a){if(a=a[0])kb(this,this.b=a[0]),eb(this,this.j=a[1]),lb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}ib(this);return!0};function mb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hb(a,b){for(var c in a.l)mb(a,c,null!=b?b:a.l[c])}function nb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ib(a){for(var b in a.a)nb(a,b,a.a[b][1])}
k.eb=function(a,b,c){if(db(this,b)){if(c){var d=this;setTimeout(function(){eb(d,b);a&&a()},+c);return!1}eb(this,b)}return!0}; k.eb=function(a,b,c){if(fb(this,b)){if(c){var d=this;setTimeout(function(){gb(d,b);a&&a()},+c);return!1}gb(this,b)}return!0};
k.vb=function(a,b){if("SR"==a){a=b;b=8;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]+$/): k.vb=function(a,b){if("SR"==a){a=b;b=8;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)}return jb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,lb(this,a,c[1]),!0):!1};k.wb=function(a){return db(this,a)?(eb(this,a),!0):!1};function db(a,b){var c=a.a[b];return c?(lb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mb&&(a.K=b==nb,a.L=b==ob),!0):!1}function eb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(lb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} 2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return lb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,nb(this,a,c[1]),!0):!1};k.wb=function(a){return fb(this,a)?(gb(this,a),!0):!1};function fb(a,b){var c=a.a[b];return c?(nb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=ob&&(a.K=b==pb,a.L=b==qb),!0):!1}function gb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(nb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
k.mb=function(a){a||this.f.c.A||(this.f.i=this.b%Ta,this.a[pb]&&this.a[pb][1]&&qb(this.f))};k.nb=function(){};k.hb=function(a){a||P(this.f)};k.fb=function(a){if(!a&&!this.f.c.A)if(this.a[pb]&&this.a[pb][1])qb(this.f);else{a=this.v;var b;if(b=a)a.c.sa&&(a.c.Fa=!0),b=!a.c.sa;if(b)Sa(a,!0),a.b(0,null),Sa(a,!1);else try{var c=this.f.xa(1);0<c&&(rb(this.f,c),sb(this.f,c,!0),tb(this.f,c))}catch(d){"number"!=typeof d&&(c=this.f,a=d.stack||d.message,c.c.error=!0,c.F(a))}this.stop();this.u&&Q(this.u)}}; k.mb=function(a){a||this.g.c.A||(this.g.j=this.b%Ua,this.a[rb]&&this.a[rb][1]&&sb(this.g))};k.nb=function(){};k.hb=function(a){a||Q(this.g)};k.fb=function(a){if(!a&&!this.g.c.A)if(this.a[rb]&&this.a[rb][1])sb(this.g);else{a=this.v;var b;if(b=a)a.c.sa&&(a.c.Fa=!0),b=!a.c.sa;if(b)Ta(a,!0),a.b(0,null),Ta(a,!1);else try{var c=this.g.xa(1);0<c&&(tb(this.g,c),ub(this.g,c,!0),vb(this.g,c))}catch(d){"number"!=typeof d&&(c=this.g,a=d.stack||d.message,c.c.error=!0,c.F(a))}this.stop();this.u&&R(this.u)}};
k.gb=function(a){a&&!this.f.c.A&&(this.K&&ub(this),a=cb(this,this.i=this.g),this.O==bb?vb(this.o,this.b,a):this.f.j(this.b,a))};k.ib=function(a){if(!a&&!this.f.c.A){this.L&&ub(this);if(this.O==bb){a=this.o;var b=this.b,c=a.a[(b&a.g)>>>a.b];a.i++;b=c.o(b&16383,b);a.i--;a=b}else a=this.f.h(this.b);cb(this,this.i=a)}};k.kb=function(a){a||this.f.c.A||ib(this,this.g)};k.jb=function(a){a?(this.s=!0,fb(this,!0)):(this.s=!1,fb(this),jb(this,0))};k.lb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)}; k.gb=function(a){a&&!this.g.c.A&&(this.K&&wb(this),a=eb(this,this.j=this.i),this.O==db?xb(this.o,this.b,a):this.g.f(this.b,a))};k.ib=function(a){if(!a&&!this.g.c.A){this.L&&wb(this);if(this.O==db){a=this.o;var b=this.b,c=a.a[(b&a.i)>>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.g.h(this.b);eb(this,this.j=a)}};k.kb=function(a){a||this.g.c.A||kb(this,this.i)};k.jb=function(a){a?(this.s=!0,hb(this,!0)):(this.s=!1,hb(this),lb(this,0))};k.lb=function(a,b){this.i=a?this.i|1<<b:this.i&~(1<<b)};
function ub(a){var b=1,c=a.o.g;a.a[mb]&&a.a[mb][1]||(b=-b);ib(a,a.b&~c|a.b+b&c)}function ib(a,b){a.b=b&a.o.g;if(a.G!==a.b){a.G=a.b;b=a.G;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.l[e]=f;d.s||kb(d,e,f)}}}function cb(a,b){a.w=b%M;if(a.I!==a.w){a.I=a.w;b=a.I;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.l[e]=f;d.s||kb(d,e,f)}}return a.w}function jb(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;gb(a);return!0}k.stop=function(){ib(this,this.f.i)}; function wb(a){var b=1,c=a.o.i;a.a[ob]&&a.a[ob][1]||(b=-b);kb(a,a.b&~c|a.b+b&c)}function kb(a,b){a.b=b&a.o.i;if(a.G!==a.b){a.G=a.b;b=a.G;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.l[e]=f;d.s||mb(d,e,f)}}}function eb(a,b){a.w=b%L;if(a.I!==a.w){a.I=a.w;b=a.I;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.l[e]=f;d.s||mb(d,e,f)}}return a.w}function lb(a,b){a.i=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.i&1<<b?1:0;ib(a);return!0}k.stop=function(){kb(this,this.g.j)};
function hb(){for(var a=J(document,I,"panel"),b=0;b<a.length;b++){var c=a[b],d=G(c),e=La(d.id);e||(e=new ab(d,!0));H(e,c)}}var bb=7,nb="DEP",pb="ENABLE",ob="EXAM",mb="STEP";y(hb);function wb(a,b,c){B.call(this,"Bus",a);this.f=b;this.v=c;this.w=+a.busWidth||18;this.s=1<<this.w;this.g=this.s-1;this.b=Math.log2(16384);this.l=this.s/16384|0;this.i=0;this.a=[];a=new R(this);xb(a);this.a=Array(this.l);for(b=0;b<this.l;b++)this.a[b]=a;K(this)}n(wb,B);k=wb.prototype;k.reset=function(){}; function jb(){for(var a=I(document,H,"panel"),b=0;b<a.length;b++){var c=a[b],d=F(c),e=Ma(d.id);e||(e=new cb(d,!0));G(e,c)}}var db=7,pb="DEP",rb="ENABLE",qb="EXAM",ob="STEP";y(jb);function yb(a,b,c){B.call(this,"Bus",a);this.g=b;this.v=c;this.w=+a.busWidth||18;this.s=1<<this.w;this.i=this.s-1;this.b=Math.log2(16384);this.l=this.s/16384|0;this.j=0;this.a=[];a=new S(this);zb(a);this.a=Array(this.l);for(b=0;b<this.l;b++)this.a[b]=a;J(this)}n(yb,B);k=yb.prototype;k.reset=function(){};
k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,yb(this));return a.data()};k.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&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a}; k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,Ab(this));return a.data()};k.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&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){w("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function zb(a,b,c,d){for(var e=b,f=c,g=e>>>a.b;0<f&&g<a.a.length;){var h=a.a[g],l=16384*g,p=16384-(e-l);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Ab(Bb,e,f)}e=new R(a,e,p,16384,d);xb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Cb[d]+" at "+ma(b)),!0):Ab(Db,b,c)}function vb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.i++;d.m(c,b&16383,b);a.i--} function Bb(a,b,c,d){for(var e=b,f=c,g=e>>>a.b;0<f&&g<a.a.length;){var h=a.a[g],l=16384*g,p=16384-(e-l);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Cb(Db,e,f)}e=new S(a,e,p,16384,d);zb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Eb[d]+" at "+la(b)),!0):Cb(Fb,b,c)}function xb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--}
function yb(a){for(var b=0,c=[],d=0;d<a.l;d++){var e=a.a[d];if(e.Ga||e.cb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var p=e[g],r=g+1;r<e.length&&e[r]===p;)r++;l[h++]=r-g;l[h++]=p;g=r}l.length<e.length&&(e=l)}c[f]=e}}return c}function Ab(a,b,c){x("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Bb=1,Db=2;function Eb(a){B.call(this,"Device",a)}n(Eb,B);k=Eb.prototype;k.Z=function(a,b,c,d){this.o=b;this.u=a;this.f=c;this.v=d;K(this)}; function Ab(a){for(var b=0,c=[],d=0;d<a.l;d++){var e=a.a[d];if(e.Ga||e.cb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var p=e[g],u=g+1;u<e.length&&e[u]===p;)u++;l[h++]=u-g;l[h++]=p;g=u}l.length<e.length&&(e=l)}c[f]=e}}return c}function Cb(a,b,c){w("Memory block error ("+a+": "+r(b)+","+r(c)+")");return!1}var Db=1,Fb=2;function Gb(a){B.call(this,"Device",a)}n(Gb,B);k=Gb.prototype;k.Z=function(a,b,c,d){this.o=b;this.u=a;this.g=c;this.v=d;J(this)};
k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new O(this)).data()};k.restore=function(){return!0};y(function(){for(var a=J(document,I,"device"),b=0;b<a.length;b++){var c,d=a[b];c=G(d);switch(c.type){case "default":c=new Eb(c),H(c,d)}}}); k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new P(this)).data()};k.restore=function(){return!0};y(function(){for(var a=I(document,H,"device"),b=0;b<a.length;b++){var c,d=a[b];c=F(d);switch(c.type){case "default":c=new Gb(c),G(c,d)}}});
function R(a,b,c,d,e){this.v=a;this.id=Fb+=2;this.aa=b;this.wa=c;this.size=d||0;this.type=e||Gb;this.u=e==Hb;this.h=this.o=this.Ha;this.j=this.m=this.Ja;this.b=this.f=0;xb(this);this.Ga=this.cb=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Ib(this,Jb)}else Ib(this)}k=R.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Ga=!0):!1};function Ib(a,b){b||(b=Kb);Lb(a,b,void 0);Mb(a,b,void 0)} function S(a,b,c,d,e){this.v=a;this.id=Hb+=2;this.aa=b;this.wa=c;this.size=d||0;this.type=e||Ib;this.u=e==Jb;this.h=this.o=this.Ha;this.f=this.m=this.Ja;this.b=this.g=0;zb(this);this.Ga=this.cb=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Kb(this,Lb)}else Kb(this)}k=S.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Ga=!0):!1};function Kb(a,b){b||(b=Mb);Nb(a,b,void 0);Ob(a,b,void 0)}
function Lb(a,b,c){c&&a.b||(a.h=b[0]||a.Ha);if(c||void 0===c)a.o=b[0]||a.Ha}function Mb(a,b,c){c&&a.f||(a.j=!a.u&&b[1]||a.Ja);if(c||void 0===c)a.m=b[1]||a.Ja}function xb(a,b){a.b=a.f=0;b&&((a.b=b.b)&&Lb(a,Nb,!1),(a.f=b.f)&&Mb(a,Nb,!1))}k.Ha=function(){var a=this.v;a.i||P(a.f);return-1};k.Ja=function(){};k.qb=function(a){return this.a[a]};k.zb=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Ga=!0)};k.ob=function(a,b){return this.o(a,b)};k.yb=function(a,b,c){this.u||this.m(a,b,c)}; function Nb(a,b,c){c&&a.b||(a.h=b[0]||a.Ha);if(c||void 0===c)a.o=b[0]||a.Ha}function Ob(a,b,c){c&&a.g||(a.f=!a.u&&b[1]||a.Ja);if(c||void 0===c)a.m=b[1]||a.Ja}function zb(a,b){a.b=a.g=0;b&&((a.b=b.b)&&Nb(a,Pb,!1),(a.g=b.g)&&Ob(a,Pb,!1))}k.Ha=function(){var a=this.v;a.j||Q(a.g);return-1};k.Ja=function(){};k.qb=function(a){return this.a[a]};k.zb=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Ga=!0)};k.ob=function(a,b){return this.o(a,b)};k.yb=function(a,b,c){this.u||this.m(a,b,c)};
var Gb=0,Hb=2,Cb=["NONE","RAM","ROM"],Fb=0,Kb=[],Jb=[R.prototype.qb,R.prototype.zb],Nb=[R.prototype.ob,R.prototype.yb]; var Ib=0,Jb=2,Eb=["NONE","RAM","ROM"],Hb=0,Mb=[],Lb=[S.prototype.qb,S.prototype.zb],Pb=[S.prototype.ob,S.prototype.yb];
function Ob(a,b){B.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.ya=0;this.Da=b;this.X=c;this.Ba=Math.round(this.Da/1E4)/100;this.R=this.Ba*this.X;this.Ca=this.ha=this.ca=this.qa=0;this.c.A=this.c.Ia=!1;this.c.J=a.autoStart;"string"==typeof this.c.J&&(this.c.J="true"==this.c.J);this.c.ta=!1;this.oa=this.W=0;this.pa=+a.csStart;this.fa=+a.csInterval;this.ga=+a.csStop;this.D=[];this.Qa=this.tb.bind(this);this.L=this.B=this.I=this.K=this.w=this.ea=this.G=this.da=this.Ea=this.O=0;this.la= function Qb(a,b){B.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.ya=0;this.Da=b;this.X=c;this.Ba=Math.round(this.Da/1E4)/100;this.R=this.Ba*this.X;this.Ca=this.ha=this.ca=this.qa=0;this.c.A=this.c.Ia=!1;this.c.J=a.autoStart;"string"==typeof this.c.J&&(this.c.J="true"==this.c.J);this.c.ta=!1;this.oa=this.W=0;this.pa=+a.csStart;this.fa=+a.csInterval;this.ga=+a.csStop;this.D=[];this.Qa=this.tb.bind(this);this.L=this.B=this.I=this.K=this.w=this.ea=this.G=this.da=this.Ea=this.O=0;this.la=
null;K(this)}n(Ob,B);k=Ob.prototype;k.Z=function(a,b,c,d){this.u=a;this.o=b;this.v=d;this.la=a.g;for(a=0;a<Pb.length;a++)(b=this.m[Pb[a]])&&this.u.U(null,Pb[a],b);K(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1}; null;J(this)}n(Qb,B);k=Qb.prototype;k.Z=function(a,b,c,d){this.u=a;this.o=b;this.v=d;this.la=a.i;for(a=0;a<Rb.length;a++)(b=this.m[Rb[a]])&&this.u.U(null,Rb[a],b);J(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
k.V=function(a,b){var c=S(this.u,"autoStart");null!=c?this.c.J="true"==c?!0:"false"==c?!1:!!c:null==this.c.J&&(this.c.J=void 0===this.m.run);if(!b){if(a){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.status("No debugger detected");this.c.J||this.M("CPU will not be auto-started "+(this.la?"(click Run to start)":"(type 'go' to start)"))}return!0};k.P=function(a){return a?this.save():!0};k.J=function(){return this.c.A?!0:this.c.J?(qb(this),!0):!1};k.Sa=function(){return 0}; k.V=function(a,b){var c=T(this.u,"autoStart");null!=c?this.c.J="true"==c?!0:"false"==c?!1:!!c:null==this.c.J&&(this.c.J=void 0===this.m.run);if(!b){if(a){Sb(this);if(!this.restore(a))return!1;Tb(this)}else this.reset();this.status("No debugger detected");this.c.J||this.M("CPU will not be auto-started "+(this.la?"(click Run to start)":"(type 'go' to start)"))}return!0};k.P=function(a){return a?this.save():!0};k.J=function(){return this.c.A?!0:this.c.J?(sb(this),!0):!1};k.Sa=function(){return 0};
function Rb(a){void 0===a.pa&&(a.pa=0);void 0===a.fa&&(a.fa=-1);void 0===a.ga&&(a.ga=-1);a.c.ta=0<=a.pa&&0<a.fa;a.c.ta&&(a.oa=0,a.W=a.pa-a.L)}function tb(a,b){if(a.c.ta){var c=!1;a.oa=a.oa+a.Sa()|0;a.W-=b;0>=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Sb(a)&&(a.fa=a.ga=-1,Rb(a),P(a),c=!0);c&&a.M(Sb(a)+" cycles: checksum="+t(a.oa))}} function Tb(a){void 0===a.pa&&(a.pa=0);void 0===a.fa&&(a.fa=-1);void 0===a.ga&&(a.ga=-1);a.c.ta=0<=a.pa&&0<a.fa;a.c.ta&&(a.oa=0,a.W=a.pa-a.L)}function vb(a,b){if(a.c.ta){var c=!1;a.oa=a.oa+a.Sa()|0;a.W-=b;0>=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Ub(a)&&(a.fa=a.ga=-1,Tb(a),Q(a),c=!0);c&&a.M(Ub(a)+" cycles: checksum="+r(a.oa))}}
k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.c.C)a=!0;else{var b=null,c,h=E(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.c.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.c.C);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.c.ready?"powered yet":"ready yet"+(b.ua?" (waiting for notification)":""))+".");a=!1}a&&(d.c.A?P(d):qb(d))},!0;case "speed":return this.m[b]= k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.c.C)a=!0;else{var b=null,c,h=D(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.c.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.c.C);c++);c==h.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.c.ready?"powered yet":"ready yet"+(b.ua?" (waiting for notification)":""))+".");a=!1}a&&(d.c.A?Q(d):sb(d))},!0;case "speed":return this.m[b]=
c,!0;case "setSpeed":return this.m[b]=c,c.onclick=function(){Tb(d,d.X<<1,!0)},c.textContent=this.R.toFixed(2)+"Mhz",!0}return!1};function sb(a,b,c){a.L+=b;c&&(a.I=a.K=0)}function Ub(a,b){var c=1;b&&1<a.X&&a.O&&(c=a.O/a.Ba);a.Ca=Math.round(1E3/Vb);a.ha=Math.floor(a.Da/Vb*c);b||(a.ca=a.ha);a.qa=0}function Sb(a){return a.L+a.B+a.I-a.K}function Qb(a){a.O=0;a.Ea=0;a.L=a.B=a.I=a.K=0;Rb(a);Tb(a,1)} c,!0;case "setSpeed":return this.m[b]=c,c.onclick=function(){Vb(d,d.X<<1,!0)},c.textContent=this.R.toFixed(2)+"Mhz",!0}return!1};function ub(a,b,c){a.L+=b;c&&(a.I=a.K=0)}function Wb(a,b){var c=1;b&&1<a.X&&a.O&&(c=a.O/a.Ba);a.Ca=Math.round(1E3/Xb);a.ha=Math.floor(a.Da/Xb*c);b||(a.ca=a.ha);a.qa=0}function Ub(a){return a.L+a.B+a.I-a.K}function Sb(a){a.O=0;a.Ea=0;a.L=a.B=a.I=a.K=0;Tb(a);Vb(a,1)}
function Tb(a,b,c){if(void 0!==b){.8>a.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}sb(a,a.B);a.B=0;a.w=D();a.G=0;Ub(a)}function Wb(a){for(var b=[],c=0;c<a.D.length;c++)b.push(a.D[c][0]);return b} function Vb(a,b,c){if(void 0!==b){.8>a.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}ub(a,a.B);a.B=0;a.w=Ka();a.G=0;Wb(a)}function Yb(a){for(var b=[],c=0;c<a.D.length;c++)b.push(a.D[c][0]);return b}
function rb(a,b){for(var c=a.D.length-1;0<=c;c--){var d=a.D[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Xb(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} function tb(a,b){for(var c=a.D.length-1;0<=c;c--){var d=a.D[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zb(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c}
k.tb=function(){if(this.c.A){this.qa>=this.Da&&Ub(this,!0);this.da=0;this.ea=D();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.c.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=Xb(this,!0);this.da+=b;this.B+=b;tb(this,b);rb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=Yb&&(this.u&&Q(this.u,void 0),this.Ea=0);break}}while(this.c.A)}catch(f){P(this); k.tb=function(){if(this.c.A){this.qa>=this.Da&&Wb(this,!0);this.da=0;this.ea=Ka();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.c.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=Zb(this,!0);this.da+=b;this.B+=b;vb(this,b);tb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=$b&&(this.u&&R(this.u,void 0),this.Ea=0);break}}while(this.c.A)}catch(f){Q(this);
this.u&&this.u.stop(D(),Sb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Qa;this.G=D();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Tb(this));if(0>c||this.O<this.R)-1E3>c&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; this.u&&this.u.stop(Ka(),Ub(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Qa;this.G=Ka();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Vb(this));if(0>c||this.O<this.R)-1E3>c&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}};
function qb(a){var b;a.c.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.M(a.toString()+" busy");else{Tb(a);a.c.A=!0;a.c.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Sb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function P(a){var b=!1;if(a.c.A){Xb(a);sb(a,a.B);a.B=0;a.c.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(D(),Sb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Vb=30,Yb=15,Pb=["power","reset"]; function sb(a){var b;a.c.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.M(a.toString()+" busy");else{Vb(a);a.c.A=!0;a.c.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Ub(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function Q(a){var b=!1;if(a.c.A){Zb(a);ub(a,a.B);a.B=0;a.c.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ka(),Ub(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Xb=30,$b=15,Rb=["power","reset"];
function Zb(a){var b=+a.model||1001;Ob.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=$b.bind(this);this.a=T.bind(this);this.ja=null;this.Ma=[];this.c.complete=!1}n(Zb,Ob);k=Zb.prototype;k.reset=function(){this.status("Model "+this.$a);this.c.A&&P(this);this.b=this.s=this.ra=0;this.i=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.i;this.g=0;this.h=this.pb;this.j=this.Ab;this.ja=null;Qb(this);this.c.error=!1;Ob.prototype.reset.call(this)};k.Sa=function(){return 0}; function ac(a){var b=+a.model||1001;Qb.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=bc.bind(this);this.a=U.bind(this);this.ja=null;this.Ma=[];this.c.complete=!1}n(ac,Qb);k=ac.prototype;k.reset=function(){this.status("Model "+this.$a);this.c.A&&Q(this);this.b=this.s=this.ra=0;this.j=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.j;this.i=0;this.h=this.pb;this.f=this.Ab;this.ja=null;Sb(this);this.c.error=!1;Qb.prototype.reset.call(this)};k.Sa=function(){return 0};
k.save=function(){var a=new O(this);a.set(0,[this.b,this.s,this.l,this.ra,this.i,this.Aa,this.ka,this.g]);a.set(1,[]);a.set(2,[this.L,this.X,this.c.J]);a.set(3,ac(this));a.set(4,Wb(this));return a.data()}; k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.l,this.ra,this.j,this.Aa,this.ka,this.i]);a.set(1,[]);a.set(2,[this.L,this.X,this.c.J]);a.set(3,cc(this));a.set(4,Yb(this));return a.data()};
k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.i=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.g=b.next().value;b=a[2];this.L=b[0];Tb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ma.length;d++){var e=this.Ma[d];if(e.xb===b[c]){d=e;break a}}d=null}d&&(d.next=this.ja,this.ja=d)}a=a[4];for(b=0;b<this.D.length&& k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.j=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.i=b.next().value;b=a[2];this.L=b[0];Vb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ma.length;d++){var e=this.Ma[d];if(e.xb===b[c]){d=e;break a}}d=null}d&&(d.next=this.ja,this.ja=d)}a=a[4];for(b=0;b<this.D.length&&
b<a.length;b++)this.D[b][0]=a[b];return!0};function bc(a){a.i=(a.i+-1)%Ta}k.abs=function(a){a>Wa&&(a!=Xa?a=Ya-a:this.Pa=this.za=!0);return a};function cc(a,b){b?b==Xa?a.Pa=a.za=!0:b=Ya-b:a.Za=a.za=!0;return b}function ac(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.g)>>>b.b].h(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.g)>>>c.b].j(b,a&16383,a)}; b<a.length;b++)this.D[b][0]=a[b];return!0};function dc(a){a.j=(a.j+-1)%Ua}k.abs=function(a){a>Xa&&(a!=Ya?a=Za-a:this.Pa=this.za=!0);return a};function ec(a,b){b?b==Ya?a.Pa=a.za=!0:b=Za-b:a.Za=a.za=!0;return b}function cc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].h(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a)};
k.xa=function(a){this.c.complete=!0;var b=a?this.c.Ia?0:1:-1;this.c.Ia=!1;this.I=this.K=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ja||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.v.i(this.i,b)){P(this);break}if(0>b)break}this.g&=15;this.s=this.s&4194304?this.h(this.b):this.ra=this.h(this.Aa=this.i);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.h(a)&Ua;this.s&4194304?a=-1:(this.i=(this.i+1)%Ta,a=this.ra/Za|0);0<=a&&this.bb(a)}while(0< k.xa=function(a){this.c.complete=!0;var b=a?this.c.Ia?0:1:-1;this.c.Ia=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.h(this.b):this.ra=this.h(this.Aa=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.h(a)&Va;this.s&4194304?a=-1:(this.j=(this.j+1)%Ua,a=this.ra/ab|0);0<=a&&this.bb(a)}while(0<
this.K);return this.c.complete?this.I-this.K:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Zb(d);H(d,c)}});function $b(a){dc[a>>4].call(this,a,a&15)}function U(a){this.a(a)}function ec(){var a=0,b=this.h(this.b),c=b/$a&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$a+(d<<24)+(b&16777215);a&&(b=(b+a)%M);this.j(this.b,b)} this.K);return this.c.complete?this.I-this.K:!1===this.c.complete?-1:0};y(function(){for(var a=I(document,H,"cpu"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new ac(d);G(d,c)}});function bc(a){fc[a>>4].call(this,a,a&15)}function V(a){this.a(a)}function gc(){var a=0,b=this.h(this.b),c=b/bb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bb+(d<<24)+(b&16777215);a&&(b=(b+a)%L);this.f(this.b,b)}
function fc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/$a&63,d=this.l>>24&63;a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.l=-1}}function gc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/$a&63,d=this.l>>24&63;b=this.h(b)%Math.pow(2,d)*Math.pow(2,c)%M;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.b,a);this.l=-1}} function hc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,dc(this);else{var c=this.l/bb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function ic(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,dc(this);else{var c=this.l/bb&63,d=this.l>>24&63;b=this.h(b)%Math.pow(2,d)*Math.pow(2,c)%L;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function jc(a,b){this.f(b,this.h(this.b))}
function hc(a,b){var c=this.h(this.b),d=this.h(b);this.j(b,V(a,d,c)+(c-(c&262143)))}function ic(a,b){var c=this.h(b);this.j(b,V(a,c,0))}function jc(a,b){b=this.h(b);var c=this.h(this.b);this.j(this.b,V(a,c,b)+(b-(b&262143)))}function kc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Wa?262143:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function lc(a,b){var c=(this.h(this.b)&262143)*N,d=this.h(b);this.j(b,V(a,d,c)+c)} function kc(a,b){this.f(b,this.b)}function lc(a,b){this.f(this.b,this.h(b))}function mc(a,b){this.f(b,0)}function nc(a,b){this.f(b,M-this.h(b))}function oc(a,b){this.f(b,M)}function pc(a,b){var c=this.h(this.b),d=this.h(b);this.f(b,W(a,d,c)+(c-(c&O)))}function qc(a,b){var c=this.h(b);this.f(b,W(a,c,0))}function rc(a,b){b=this.h(b);var c=this.h(this.b);this.f(this.b,W(a,c,b)+(b-(b&O)))}
function mc(a,b){var c=this.b*N,d=this.h(b);this.j(b,V(a,d,c)+c)}function nc(a,b){b=(this.h(b)&262143)*N;var c=this.h(this.b);this.j(this.b,V(a,c,b)+b)}function oc(a,b){var c=this.h(this.b),d=(c&262143)*N,c=V(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function pc(a,b){var c=this.h(this.b)&262143,d=this.h(b);this.j(b,W(a,d,c)+c)}function qc(a,b){var c=this.h(b);this.j(b,W(a,c,this.b)+this.b)}function rc(a,b){b=this.h(b)&262143;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)} function sc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d-=d&O,a){case 256:d+=O;break;case 384:d+=c>Xa?O:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function tc(a,b){var c=(this.h(this.b)&O)*N,d=this.h(b);this.f(b,W(a,d,c)+c)}function uc(a,b){var c=this.b*N,d=this.h(b);this.f(b,W(a,d,c)+c)}function vc(a,b){b=(this.h(b)&O)*N;var c=this.h(this.b);this.f(this.b,W(a,c,b)+b)}function wc(a,b){var c=this.h(this.b),d=(c&O)*N,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}
function sc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*N;break;case 384:d+=c>Va?262143*N:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function tc(a,b){var c=this.h(this.b)/N|0,d=this.h(b);this.j(b,W(a,d,c)+c)}function uc(a,b){var c=this.h(b);this.j(b,W(a,c,0))}function vc(a,b){b=this.h(b)/N|0;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)}function wc(a,b){var c=this.h(this.b),d=c/N|0,c=W(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function X(a){this.a(a)} function xc(a,b){var c=this.h(this.b)&O,d=this.h(b);this.f(b,X(a,d,c)+c)}function yc(a,b){var c=this.h(b);this.f(b,X(a,c,this.b)+this.b)}function zc(a,b){b=this.h(b)&O;var c=this.h(this.b);this.f(this.b,X(a,c,b)+b)}function Ac(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d&=O,a){case 256:d+=O*N;break;case 384:d+=c>Wa?O*N:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Bc(a,b){var c=this.h(this.b)/N|0,d=this.h(b);this.f(b,X(a,d,c)+c)}function Cc(a,b){var c=this.h(b);this.f(b,X(a,c,0))}
function T(a){this.M("undefined opcode: "+ma(a));bc(this);P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} function Dc(a,b){b=this.h(b)/N|0;var c=this.h(this.b);this.f(this.b,X(a,c,b)+b)}function Ec(a,b){var c=this.h(this.b),d=c/N|0,c=X(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function Y(a){this.a(a)}function Fc(){}function U(a){this.M("undefined opcode: "+la(a));dc(this);Q(this)}function X(a,b,c){switch(a&384){case 0:b-=b&O;break;case 128:b=0;break;case 256:b=O*N;break;case 384:b=c>Wa?O*N:0}return b}
var dc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ec,function(a,b){0>this.l&&ec.call(this);fc.call(this,0,b)},fc,function(a,b){0>this.l&&ec.call(this);gc.call(this,0,b)},gc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function W(a,b,c){switch(a&384){case 0:b&=O;break;case 128:b=0;break;case 256:b=O;break;case 384:b=c>Xa?O:0}return b}function Gc(a,b){return((a/$a|0)&(b/$a|0))*$a+((a&b)>>>0)}
var fc=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},gc,function(a,b){0>this.l&&gc.call(this);hc.call(this,0,b)},hc,function(a,b){0>this.l&&gc.call(this);ic.call(this,0,b)},ic,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.j(b,this.h(this.b))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.h(b))},function(a,b){b&&this.j(b,this.h(this.b))},function(a,b){a=this.h(this.b);a=a/N|(a&262143)*N;this.j(b,a)},function(a,b){this.j(b,this.b*N)},function(a,b){a=this.h(b);a=a/N|(a&262143)*N;this.j(this.b,a)},function(a,b){a=this.h(this.b);a=a/N|(a&262143)*N;this.j(this.b,a);b&&this.j(b,a)},function(a, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,kc,lc,function(a,b){b&&this.f(b,this.h(this.b))},function(a,b){a=this.h(this.b);a=(a/N|0)+a%N*N;this.f(b,a)},function(a,b){this.f(b,this.b*N)},function(a,b){a=this.h(b);a=(a/N|0)+a%N*N;this.f(this.b,a)},function(a,b){a=this.h(this.b);a=(a/N|0)+a%N*N;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,ec(this,this.h(this.b)))},function(a,b){this.f(b,this.b?Za-this.b:0)},function(a,b){this.f(this.b,ec(this,
b){this.j(b,cc(this,this.h(this.b)))},function(a,b){this.j(b,this.b?Ya-this.b:0)},function(a,b){this.j(this.b,cc(this,this.h(b)))},function(a,b){a=cc(this,this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.h(this.b)))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.abs(this.h(b)))},function(a,b){a=this.abs(this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, this.h(b)))},function(a,b){a=ec(this,this.h(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.h(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.h(b)))},function(a,b){a=this.abs(this.h(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.h(b);this.j(b,this.h(this.b));this.j(this.b, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a,b){a=this.h(b);this.f(b,this.h(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.h(b),d=c/N|0,c=c&O;!a;)this.f(c,this.h(d)),c==this.b&&(a=!0),d=d+1&O,c=c+1&O,this.c.A||(this.f(b,
a)},function(a,b){a=!1;for(var c=this.h(b),d=c/N|0,c=c&262143;!a;)this.j(c,this.h(d)),c==this.b&&(a=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.j(b,d*N+c),a||bc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.h(b);a+=262145;this.j(a&262143,this.h(this.b));a>=M&&(a-=M);this.j(b,a)},function(a,b){a=this.h(b);var c=this.h(a&262143);this.j(this.b,c);this.b==b&&(a=c);a-=262145; d*N+c),a||dc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a,b){a=this.h(b);a+=262145;this.f(a&O,this.h(this.b));a>=L&&(a-=L);this.f(b,a)},function(a,b){a=this.h(b);var c=this.h(a&O);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=L);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
0>a&&(a+=M);this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,mc,function(){this.f(this.b,0)},function(a,b){this.f(b,0);this.f(this.b,0)},function(a,b){this.f(b,Gc(this.h(b),this.h(this.b)))},function(a,b){this.f(b,Gc(this.h(b),this.b))},function(a,b){this.f(this.b,Gc(this.h(b),this.h(this.b)))},function(a,b){a=Gc(this.h(b),this.h(this.b));this.f(this.b,a);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
jc,kc,Fc,jc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Fc,Fc,lc,lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(a,
b){this.f(this.b,M-this.h(b))},function(a,b){a=M-this.h(b);this.f(b,a);this.f(this.b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,M-this.h(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b,M-this.h(this.b))},function(a,b){a=M-this.h(this.b);this.f(b,a);this.f(this.b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},oc,oc,function(){this.f(this.b,M)},function(a,b){this.f(b,M);this.f(this.b,M)},pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y];
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function Hc(a){B.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=oa(this.s);"json"!=b&&"hex"!=b&&(a=t()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ia(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.j=null);Ic(c)})}}n(Hc,B);
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, Hc.prototype.Z=function(a,b,c,d){this.o=b;this.g=c;this.v=d;Ic(this)};Hc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.i,this.N),delete this.N);return!0};Hc.prototype.P=function(){return!0};
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; function Ic(a){if(!Sa(a)){if(a.j){if(!a.a||!a.o)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.l;if(Bb(a.o,b,a.i,Jb)){var c;for(c=0;c<a.a.length;c++)xb(a.o,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.b?b.push(a.b):null!=a.b&&a.b.length&&(b=a.b);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.o,g=d.i,h=[],l=d.l>>>f.b;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.o;
function xc(a){B.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.i=a.file;this.s=na(this.i);if(this.i){a=this.i;var b=oa(this.s);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.i=null):(Ia(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.i=null);yc(c)})}}n(xc,B); d=d.i;g=0;for(e>>>=f.b;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}J(a)}}y(function(){for(var a=I(document,H,"rom"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new Hc(d);G(d,c)}});
xc.prototype.Z=function(a,b,c,d){this.o=b;this.f=c;this.v=d;yc(this)};xc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.g,this.N),delete this.N);return!0};xc.prototype.P=function(){return!0}; function Z(a){B.call(this,"RAM",a);this.N=this.Y=null;this.b=+a.addr;this.i=+a.size;this.T=a.load;this.S=a.exec;null!=this.T&&(this.T=+this.T);null!=this.S&&(this.S=+this.S);this.j=this.s=!1;this.a=a.file;this.l=ma(this.a);if(this.a){a=this.a;var b=oa(this.l);"json"!=b&&"hex"!=b&&(a=t()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(Ia(c.na,a,b),(a=ua(a,b))?(c.Y=a.Y,c.N=a.N,null==
function yc(a){if(!Ra(a)){if(a.i){if(!a.a||!a.o)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.l;if(zb(a.o,b,a.g,Hb)){var c;for(c=0;c<a.a.length;c++)vb(a.o,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.b?b.push(a.b):null!=a.b&&a.b.length&&(b=a.b);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.o,g=d.g,h=[],l=d.l>>>f.b;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.o; c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);Jc(c)})}}n(Z,B);Z.prototype.Z=function(a,b,c,d){this.o=b;this.g=c;this.v=d;Jc(this)};Z.prototype.V=function(a,b){this.N&&(this.v&&this.v.a(this.id,this.b,this.i,this.N),delete this.N);b||this.reset();return!0};Z.prototype.P=function(){return!0};
d=d.g;g=0;for(e>>>=f.b;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}K(a)}}y(function(){for(var a=J(document,I,"rom"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new xc(d);H(d,c)}}); function Jc(a){if(a.o&&(!a.j&&a.i&&(Bb(a.o,a.b,a.i,1)?a.j=!0:a.i=0),!Sa(a))){if(!a.j)w("No RAM allocated");else if(a.a){if(!a.Y)return;Kc(a,a.Y,a.T,a.S,a.b)?a.status('Loaded image "'+a.l+'"'):a.F('Error loading image "'+a.l+'"')}a.s=!0;J(a)}}
function Y(a){B.call(this,"RAM",a);this.N=this.Y=null;this.b=+a.addr;this.g=+a.size;this.T=a.load;this.S=a.exec;null!=this.T&&(this.T=+this.T);null!=this.S&&(this.S=+this.S);this.i=this.s=!1;this.a=a.file;this.l=na(this.a);if(this.a){a=this.a;var b=oa(this.l);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(Ia(c.na,a,b),(a=ua(a,b))?(c.Y=a.Y,c.N=a.N,null== Z.prototype.reset=function(){if(this.j&&!this.s){for(var a=this.o,b=this.b,c=this.i,d=b&16383,b=b>>>a.b;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.m(g,d,e.aa+d);c-=16384;b++;d=0}this.Y&&Kc(this,this.Y,this.T,this.S,this.b,!this.v)}this.s=!1};
c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);zc(c)})}}n(Y,B);Y.prototype.Z=function(a,b,c,d){this.o=b;this.f=c;this.v=d;zc(this)};Y.prototype.V=function(a,b){this.N&&(this.v&&this.v.a(this.id,this.b,this.g,this.N),delete this.N);b||this.reset();return!0};Y.prototype.P=function(){return!0}; function Kc(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)xb(a.o,c+g,b[g]);g=!0}g&&(null==d&&(Q(a.g),f=!1),null!=d&&(a=a.g,a.Na=d,a.j=d%Ua,f?a.c.C?a.c.A||sb(a):a.c.J=!0:a.v&&a.c.C?Q(a)||a.u.c.reset||(a.v.i(),R(a.u,-1)):!1===f&&Q(a),!a.c.A&&a.la&&a.la.stop()));return g}y(function(){for(var a=I(document,H,"ram"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new Z(d);G(d,c)}});
function zc(a){if(a.o&&(!a.i&&a.g&&(zb(a.o,a.b,a.g,1)?a.i=!0:a.g=0),!Ra(a))){if(!a.i)x("No RAM allocated");else if(a.a){if(!a.Y)return;Ac(a,a.Y,a.T,a.S,a.b)?a.status('Loaded image "'+a.l+'"'):a.F('Error loading image "'+a.l+'"')}a.s=!0;K(a)}} function Lc(a){B.call(this,"SerialPort",a);this.j=a.upperCase;"string"==typeof this.j&&(this.j="true"==this.j);this.i=!0;this.b=[];var b=a.binding;if("console"!=b){var c;a=Mc;b&&(void 0===c&&(c="Panel"),(c=E(c,this.id))&&(b=c.m[b])&&this.U(null,a,b))}this.a=this.l=null;this.exports={connect:this.Ta,receiveData:this.va,receiveStatus:this.rb,setConnection:this.ub}}n(Lc,B);k=Lc.prototype;
Y.prototype.reset=function(){if(this.i&&!this.s){for(var a=this.o,b=this.b,c=this.g,d=b&16383,b=b>>>a.b;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.m(g,d,e.aa+d);c-=16384;b++;d=0}this.Y&&Ac(this,this.Y,this.T,this.S,this.b,!this.v)}this.s=!1}; k.U=function(a,b,c){var d=this;switch(b){case Mc:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.La:q.Ya:46==c?b=q.La:a.ctrlKey&&c>=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
function Ac(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)vb(a.o,c+g,b[g]);g=!0}g&&(null==d&&(P(a.f),f=!1),null!=d&&(a=a.f,a.Na=d,a.i=d%Ta,f?a.c.C?a.c.A||qb(a):a.c.J=!0:a.v&&a.c.C?P(a)||a.u.c.reset||(a.v.g(),Q(a.u,-1)):!1===f&&P(a),!a.c.A&&a.la&&a.la.stop()));return g}y(function(){for(var a=J(document,I,"ram"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Y(d);H(d,c)}}); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.g=c;this.v=d;J(this)};
function Bc(a){B.call(this,"SerialPort",a);this.i=a.upperCase;"string"==typeof this.i&&(this.i="true"==this.i);this.g=!0;this.b=[];var b=a.binding;if("console"!=b){var c;a=Cc;b&&(void 0===c&&(c="Panel"),(c=F(c,this.id))&&(b=c.m[b])&&this.U(null,a,b))}this.a=this.l=null;this.exports={connect:this.Ta,receiveData:this.va,receiveStatus:this.rb,setConnection:this.ub}}n(Bc,B);k=Bc.prototype; k.Ta=function(a){if(!this.a){var b=T(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=Ma(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0};
k.U=function(a,b,c){var d=this;switch(b){case Cc:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.La:q.Ya:46==c?b=q.La:a.ctrlKey&&c>=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.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.b.push(b)}else this.b=this.b.concat(a);return!0};k.rb=function(){};k.ub=function(a,b){return this.a?!1:(this.a=a,this.l=b,!0)};var Mc="buffer";
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.f=c;this.v=d;K(this)}; y(function(){for(var a=I(document,H,"serial"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new Lc(d);G(d,c)}});
k.Ta=function(a){if(!this.a){var b=S(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; function Nc(a,b,c){B.call(this,"Computer",a);this.c.C=!1;this.L=null;Oc(this,b);this.I=T(this,"autoPower",a,6);this.j=0;this.W=+a.busWidth||+a.buswidth;this.D=this.s=this.G=null;this.B=this.R=!1;this.w=this.l=null;this.O=this.K=!1;this.X=T(this,"url")||"";(Math.random()+.1).toString(36);this.b=Pc(this);if(this.g=E("CPU",this.id)){this.v=E("Debugger",this.id);this.o=new yb({id:this.na+".bus",busWidth:this.W},this.g,this.v);var d,e=D(this.id);if((this.i=E("Panel",this.id))&&this.i.ba)for(b=0;b<e.length;b++)d=
k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.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.b.push(b)}else this.b=this.b.concat(a);return!0};k.rb=function(){};k.ub=function(a,b){return this.a?!1:(this.a=a,this.l=b,!0)};var Cc="buffer"; e[b],d.F=this.i.F,d.M=this.i.M,d.ba=this.i.ba;this.M(K+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Z&&d.Z(this,this.o,this.g,this.v);b=null;d=T(this,"resume",a);void 0!==d&&(1<d.length?b=this.s=d:this.a=parseInt(d,10));var f;if(a=T(this,"state")||(f=!0,a.state))this.G=b=a,f||(this.B=!0,this.a=Qc),this.a&&(this.w=new P(this,"1.34.2"),Rc(this.w)?b=null:delete this.w);!b&&this.a&&
y(function(){for(var a=J(document,I,"serial"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Bc(d);H(d,c)}}); (b=Sc(this))&&(this.B=!0);if(b){var g=this;v(b,null,!0,function(a,b,c){c?(g.s=null,g.B=!1,g.F("Unable to load machine state from server (error "+c+(b?": "+sa(b):"")+")")):(g.D=b,g.R=!0);J(g)})}else J(this);this.m.power||(this.I=!0);!c&&this.I&&Tc(this,this.ia)}else w("Unable to find CPU component")}n(Nc,B);function Oc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.L=b}
function Dc(a,b,c){B.call(this,"Computer",a);this.c.C=!1;this.L=null;Ec(this,b);this.I=S(this,"autoPower",a,6);this.i=0;this.W=+a.busWidth||+a.buswidth;this.D=this.s=this.G=null;this.B=this.R=!1;this.w=this.l=null;this.O=this.K=!1;this.X=S(this,"url")||"";(Math.random()+.1).toString(36);this.b=Fc(this);if(this.f=F("CPU",this.id)){this.v=F("Debugger",this.id);this.o=new wb({id:this.na+".bus",busWidth:this.W},this.f,this.v);var d,e=E(this.id);if((this.g=F("Panel",this.id))&&this.g.ba)for(b=0;b<e.length;b++)d= function T(a,b,c,d){var e=b.toLowerCase(),e=Aa(b)||Aa(e);void 0===e&&a.L&&(e=a.L[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Tc(a,b,c){for(var d=D(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Sa(f)){Sa(f,function(){Tc(a,b,c)});return}}b.call(a,c)}
e[b],d.F=this.g.F,d.M=this.g.M,d.ba=this.g.ba;this.M(L+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Z&&d.Z(this,this.o,this.f,this.v);b=null;d=S(this,"resume",a);void 0!==d&&(1<d.length?b=this.s=d:this.a=parseInt(d,10));var f;if(a=S(this,"state")||(f=!0,a.state))this.G=b=a,f||(this.B=!0,this.a=Gc),this.a&&(this.w=new O(this,"1.34.2"),Z(this.w)?b=null:delete this.w);!b&&this.a&& function Uc(a,b){var c=new P(a,"1.34.2",Vc);if(Rc(c)&&Wc(c)){var d=c.get(Xc),e=b?b.get(Xc):"unknown";d!=e&&(a.F("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=Nc.prototype;
(b=Hc(this))&&(this.B=!0);if(b){var g=this;v(b,null,!0,function(a,b,c){c?(g.s=null,g.B=!1,g.F("Unable to load machine state from server (error "+c+(b?": "+sa(b):"")+")")):(g.D=b,g.R=!0);K(g)})}else K(this);this.m.power||(this.I=!0);!c&&this.I&&Ic(this,this.ia)}else x("Unable to find CPU component")}n(Dc,B);function Ec(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.L=b} k.ia=function(a){void 0===a&&(a=this.a||(this.D?Yc:Qc));if(!this.j){this.j++;var b=!1,c=!1;this.K=!1;var d=this.w||new P(this,"1.34.2");if(a==Zc)b=!0;else if(a>Qc){if(Rc(d,this.D)){this.l=new P(this,"1.34.2",$c);Rc(this.l)&&(ad(this,d),a=bd,cd(this.l));this.l.set(Xc,ta());dd(this.l);var e=this.a&&!this.B;if(a==Yc||La("Click OK to restore the previous "+K+" machine state, or CANCEL to reset the machine.")){if(c=Wc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Rc(d,g):("error"==f&&"no machine state"!=
function S(a,b,c,d){var e=b.toLowerCase(),e=Aa(b)||Aa(e);void 0===e&&a.L&&(e=a.L[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Ic(a,b,c){for(var d=E(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ra(f)){Ra(f,function(){Ic(a,b,c)});return}}b.call(a,c)} g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(ed,""),this.b=null)):this.M(f+": "+g),cd(d),Rc(d)?(c=Wc(d),e=!0):c=!1))}e&&Uc(this,c?d:null)}else a==bd&&d.clear()}else Uc(this);delete this.D;delete this.w}e=D(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.g&&(c=fd(this,g,d,b,c));b=[d,a,c];a!=Zc?Tc(this,this.Ra,b):this.Ra(b)}};
function Jc(a,b){var c=new O(a,"1.34.2",Kc);if(Z(c)&&Lc(c)){var d=c.get(Mc),e=b?b.get(Mc):"unknown";d!=e&&(a.F("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=Dc.prototype; function fd(a,b,c,d,e){if(!b.c.C){b.c.C=!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.V(f,d)&&f&&(w("Unable to restore state for "+b.type),a.G&&!a.R?(c.clear(),a.a=Qc,window&&window.location.reload()):a.K=!0,b.V(null),e=!1),!d&&b.Oa){var g=b.Oa.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){w("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
k.ia=function(a){void 0===a&&(a=this.a||(this.D?Nc:Gc));if(!this.i){this.i++;var b=!1,c=!1;this.K=!1;var d=this.w||new O(this,"1.34.2");if(a==Oc)b=!0;else if(a>Gc){if(Z(d,this.D)){this.l=new O(this,"1.34.2",Pc);Z(this.l)&&(Qc(this,d),a=Rc,Sc(this.l));this.l.set(Mc,ta());Tc(this.l);var e=this.a&&!this.B;if(a==Nc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Lc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= k.Ra=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.c.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.g&&(fd(this,this.g,b,c,a),R(this,-2),this.g.J());this.K&&(ad(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0};
g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Uc,""),this.b=null)):this.M(f+": "+g),Sc(d),Z(d)?(c=Lc(d),e=!0):c=!1))}e&&Jc(this,c?d:null)}else a==Rc&&d.clear()}else Jc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Vc(this,g,d,b,c));b=[d,a,c];a!=Oc?Ic(this,this.Ra,b):this.Ra(b)}}; function ad(a,b){if(La("There may be a problem with your "+K+" machine.\n\nTo help us diagnose it, click OK to send this "+K+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=K;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}}
function Vc(a,b,c,d,e){if(!b.c.C){b.c.C=!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.V(f,d)&&f&&(x("Unable to restore state for "+b.type),a.G&&!a.R?(c.clear(),a.a=Gc,window&&window.location.reload()):a.K=!0,b.V(null),e=!1),!d&&b.Oa){var g=b.Oa.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e} function gd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",Vc),h=ta();g.set(Xc,h);f.set(Xc,h);f.set(hd,"1.34.2");f.set(id,window?window.location.href:null);f.set(jd,window?window.navigator.userAgent:"");a.g&&a.g.P&&(c&&(b&&(a.g.c.J=a.g.c.A),Q(a.g)),d=a.g.P(b,c),"object"===typeof d&&f.set(a.g.id,d),c&&(a.g.c.C=!1,!1===d&&(e=null)));for(var h=D(a.id),l=0;l<h.length;l++){var p=h[l];p.c.C&&(p.P&&(d=p.P(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.c.C=!1,!1===
k.Ra=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.c.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.f&&(Vc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Qc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.i=0}; d&&(e=null)))}e&&(c?(h=d=!1,b?(a.b&&kd(a,a.b,f.toString()),dd(g)&&dd(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==ld),d&&f.clear(h)):e=f.toString());c&&(a.c.C=!1,b=a.m.power)&&(b.textContent="Power");a.j=0;return e}k.reset=function(){this.c.reset=!0;this.o&&this.o.reset&&this.o.reset();this.g&&this.g.reset&&this.g.reset();for(var a=D(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.o&&c!==this.g&&c.reset&&c.reset()}this.c.reset=!1;R(this,-1)};
function Qc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} k.start=function(a,b){for(var c=D(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}R(this,-1)};k.stop=function(a,b){for(var c=D(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}R(this,-1)};
function Wc(a,b,c){var d,e="none";if(a.i)return null;a.i--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Kc),h=ta();g.set(Mc,h);f.set(Mc,h);f.set(Xc,"1.34.2");f.set(Yc,window?window.location.href:null);f.set(Zc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.C=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l<h.length;l++){var p=h[l];p.c.C&&(p.P&&(d=p.P(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.c.C=!1,!1=== function R(a,b){if(a.g){var c=a.g,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.ya+=d))&&(e.textContent=c.c.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.g.c.A;d=!!(a.g.i&8);if(0>=b||60<=(a.B+=b)){e=a.g.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.g.j:0<b&&c&&!d&&(a.b=a.g.ka);kb(a,a.b);eb(a,a.j)}}
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.b&&$c(a,a.b,f.toString()),Tc(g)&&Tc(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==ad),d&&f.clear(h)):e=f.toString());c&&(a.c.C=!1,b=a.m.power)&&(b.textContent="Power");a.i=0;return e}k.reset=function(){this.c.reset=!0;this.o&&this.o.reset&&this.o.reset();this.f&&this.f.reset&&this.f.reset();for(var a=E(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.o&&c!==this.f&&c.reset&&c.reset()}this.c.reset=!1;Q(this,-1)}; k.U=function(a,b,c){var d=this;switch(b){case "power":return this.m[b]=c,c.onclick=function(){d.j||(d.c.C?gd(d,!1,!0):Tc(d,d.ia))},!0;case "reset":return this.m[b]=c,c.onclick=function(){if(d.c.C&&!d.j)if(d.a&&!d.s){var a=La("Click OK to save changes to this "+K+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");gd(d,a,!0);!a&&d.G?window&&window.location.reload():d.ia(Qc)}else d.reset(),d.g&&!d.v&&d.g.J()},!0;case "save":if(pa())c.parentNode.removeChild(c);else return this.m[b]=
k.start=function(a,b){for(var c=E(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Q(this,-1)};k.stop=function(a,b){for(var c=E(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Q(this,-1)}; c,c.onclick=function(){var a=Pc(d,!0);if(a){var b=!!(d.a&&!d.s||d.G),c=gd(d,b);b?kd(d,a,c):d.F("Resume disabled, machine state not saved")}},!0}return!1};function Pc(a,b){var c=a.b;c||((c=xa(ed),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=md(a,c))||a.F("The user ID is invalid.")):b&&a.F("Browser local storage is not available"));return c}
function Q(a,b){if(a.f){var c=a.f,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.ya+=d))&&(e.textContent=c.c.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.g&8);if(0>=b||60<=(a.B+=b)){e=a.f.i;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.f.i:0<b&&c&&!d&&(a.b=a.f.ka);ib(a,a.b);cb(a,a.i)}} function md(a,b){a.b=null;b=v(t()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ya(ed,b.data),a.b=b.data)}catch(d){w(d.message+" ("+c+")")}return a.b}function Sc(a){var b=null;a.b&&(b=t()+"/api/v1/user?req=load&user="+a.b+"&state="+nd(a,"1.34.2"));return b}
k.U=function(a,b,c){var d=this;switch(b){case "power":return this.m[b]=c,c.onclick=function(){d.i||(d.c.C?Wc(d,!1,!0):Ic(d,d.ia))},!0;case "reset":return this.m[b]=c,c.onclick=function(){if(d.c.C&&!d.i)if(d.a&&!d.s){var a=Ka("Click OK to save changes to this "+L+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Wc(d,a,!0);!a&&d.G?window&&window.location.reload():d.ia(Gc)}else d.reset(),d.f&&!d.v&&d.f.J()},!0;case "save":if(pa())c.parentNode.removeChild(c);else return this.m[b]= function kd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=nd(a,"1.34.2");d.data=c;b=v(t()+"/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.F("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.F(c),ya(ed,""),a.b=null)}}
c,c.onclick=function(){var a=Fc(d,!0);if(a){var b=!!(d.a&&!d.s||d.G),c=Wc(d,b);b?$c(d,a,c):d.F("Resume disabled, machine state not saved")}},!0}return!1};function Fc(a,b){var c=a.b;c||((c=xa(Uc),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=bd(a,c))||a.F("The user ID is invalid.")):b&&a.F("Browser local storage is not available"));return c} var $c="failsafe",Vc="validate",Xc="timestamp",hd="version",id="url",jd="browser",ed="user",Zc=-1,Qc=0,Yc=1,bd=2,ld=3;y(function(){for(var a=I(document,H+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=F(c),c=I(c,H,"computer"),e=0;e<c.length;e++){var f=c[e],g=F(f),g=new Nc(g,d,!0);G(g,f);g.I&&Tc(g,g.ia)}});z.show.push(function(){for(var a=I(document,H,"computer"),b=0;b<a.length;b++){var c=F(a[b]);(c=E("Computer",c.id))&&c.O&&!c.c.C&&c.ia(Zc)}});
function bd(a,b){a.b=null;b=v(u()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ya(Uc,b.data),a.b=b.data)}catch(d){x(d.message+" ("+c+")")}return a.b}function Hc(a){var b=null;a.b&&(b=u()+"/api/v1/user?req=load&user="+a.b+"&state="+cd(a,"1.34.2"));return b} z.exit.push(function(){for(var a=I(document,H,"computer"),b=0;b<a.length;b++){var c=F(a[b]);(c=E("Computer",c.id))&&c.c.C&&gd(c,!(!c.a||c.s),!0)}});function P(a,b,c){this.id=a.id;this.b="";this.a={};this.g=this.m=!1;this.key=nd(a,b,c);cd(this,a.Ua)}k=P.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function Rc(a,b){return b?(a.b=b,a.g=!0,a.m=!1,!0):a.g?!0:va()&&(b=xa(a.key))?(a.b=b,a.g=!0):!1}
function $c(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=cd(a,"1.34.2");d.data=c;b=v(u()+"/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.F("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.F(c),ya(Uc,""),a.b=null)}} function Wc(a){var b=!0;if(!a.m)try{a.a=JSON.parse(a.b),a.m=!0}catch(c){w(c.message||c),b=!1}return b}function dd(a){var b=!0;if(va()){var c=JSON.stringify(a.a);ya(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.b};function cd(a,b){a.b="";a.a={};a.g=a.m=!1;b&&a.set("parms",b)}
var Pc="failsafe",Kc="validate",Mc="timestamp",Xc="version",Yc="url",Zc="browser",Uc="user",Oc=-1,Gc=0,Nc=1,Rc=2,ad=3;y(function(){for(var a=J(document,I+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=G(c),c=J(c,I,"computer"),e=0;e<c.length;e++){var f=c[e],g=G(f),g=new Dc(g,d,!0);H(g,f);g.I&&Ic(g,g.ia)}});z.show.push(function(){for(var a=J(document,I,"computer"),b=0;b<a.length;b++){var c=G(a[b]);(c=F("Computer",c.id))&&c.O&&!c.c.C&&c.ia(Oc)}}); k.clear=function(a){cd(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 nd(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 od=0;
z.exit.push(function(){for(var a=J(document,I,"computer"),b=0;b<a.length;b++){var c=G(a[b]);(c=F("Computer",c.id))&&c.c.C&&Wc(c,!(!c.a||c.s),!0)}});function O(a,b,c){this.id=a.id;this.b="";this.a={};this.f=this.m=!1;this.key=cd(a,b,c);Sc(this,a.Ua)}k=O.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function Z(a,b){return b?(a.b=b,a.f=!0,a.m=!1,!0):a.f?!0:va()&&(b=xa(a.key))?(a.b=b,a.f=!0):!1} function pd(a,b,c,d,e,f,g){f("Loading "+a+"...");v(a,null,!0,function(h,l,p){p?(l||(l="unable to load "+a+" ("+p+")"),g(l,null)):qd(l,a,b,c,d,e,f,g)})}
function Lc(a){var b=!0;if(!a.m)try{a.a=JSON.parse(a.b),a.m=!0}catch(c){x(c.message||c),b=!1}return b}function Tc(a){var b=!0;if(va()){var c=JSON.stringify(a.a);ya(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.b};function Sc(a,b){a.b="";a.a={};a.f=a.m=!1;b&&a.set("parms",b)} function qd(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(Ia(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
k.clear=function(a){Sc(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 cd(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 dd=0; a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(x){g=null,a=x.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?rd(a,g,l):l(a,null):h("no data"+(b?" for file: "+b:""),null)}
function ed(a,b,c,d,e,f,g){f("Loading "+a+"...");v(a,null,!0,function(h,l,p){p?(l||(l="unable to load "+a+" ("+p+")"),g(l,null)):fd(l,a,b,c,d,e,f,g)})} function rd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],p,u=/( [a-z]+=)(['"])(.*?)\2/g;p=u.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
function fd(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(Ia(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"), "");a=a.replace(d[0],g);rd(a,b,c)}})}else c(a,null)}
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?gd(a,g,l):l(a,null):h("no data"+(b?" for file: "+b:""),null)} function sd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&I(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--od||A(!0));p=!1}var h,l,p=!0;od++;Ja[b]={};try{if(h=document.getElementById(b)){var u;if("object"==typeof resources&&(u=resources.css)){var x=document.head||document.getElementsByTagName("head")[0],na=document.createElement("style");na.type="text/css";na.styleSheet?na.styleSheet.cssText=u:na.appendChild(document.createTextNode(u));x.appendChild(na)}d||
function gd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, (u=a,"pdp"==a.substr(0,3)&&(u="pdpjs"),d="/versions/"+u+"/1.34.2/components.xsl");u=function(e,l){l?pd(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--od||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--od||
"");a=a.replace(d[0],g);gd(a,b,c)}})}else c(a,null)} A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?pd(c,b,a,e,!0,f,u):qd(c,null,b,a,e,!1,f,u)}else g("missing machine element: "+b)}catch(td){g(td.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return sd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return sd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return E(b,a+".machine")};
function hd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--dd||A(!0));p=!1}var h,l,p=!0;dd++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],la=document.createElement("style");la.type="text/css";la.styleSheet?la.styleSheet.cssText=r:la.appendChild(document.createTextNode(r));w.appendChild(la)}d|| window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Oa[a]){for(var c=!0,d=Oa,e=a,f=b.length,g=[],h=[],l="",p=null,u=0;u<f;u++){var x=b[u];if('"'==x||"'"==x)p&&x!=p?l+=x:(p?p=null:p=x,l&&(h.push(l),l=""));else{if(!p){if("\r"==x||"\n"==x)x=";";if(" "==x||"\t"==x||";"==x){l&&(h.push(l),l="");";"==x&&h.length&&(g.push(h),h=[]);continue}}l+=x}}l&&h.push(l);h.length&&g.push(h);d[e]=g;Na(a)||(c=!1)}return c};window.enableEvents=A;window.sendEvent=Ga;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10.map
(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?ed(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--dd||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--dd||
A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ed(c,b,a,e,!0,f,r):fd(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(id){g(id.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return hd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return hd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r<f;r++){var w=b[r];if('"'==w||"'"==w)p&&w!=p?l+=w:(p?p=null:p=w,l&&(h.push(l),l=""));else{if(!p){if("\r"==w||"\n"==w)w=";";if(" "==w||"\t"==w||";"==w){l&&(h.push(l),l="");";"==w&&h.length&&(g.push(h),h=[]);continue}}l+=w}}l&&h.push(l);h.length&&g.push(h);d[e]=g;Ma(a)||(c=!1)}return c};window.enableEvents=A;window.sendEvent=Ga;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10.map