From 7e207db2a187e8ac8d6b32eb2e7984d3d79b6430 Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 7 Mar 2017 13:44:43 -0800 Subject: [PATCH] Added PDP-10 JSP and JFCL operations (which seem to be the simplest means of getting and setting the processor flags) --- apps/pdp10/tests/optest-v01.json | 4 + apps/pdp10/tests/optest-v01.simh | 6 + modules/pdp10/lib/cpuops.js | 114 ++++++++- modules/pdp10/lib/cpustate.js | 54 +--- modules/pdp10/lib/debugger.js | 82 +++++-- modules/pdp10/lib/defines.js | 5 + versions/pdpjs/1.34.2/pdp10-dbg.js | 380 ++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10.js | 161 ++++++------ 8 files changed, 456 insertions(+), 350 deletions(-) diff --git a/apps/pdp10/tests/optest-v01.json b/apps/pdp10/tests/optest-v01.json index d9fa6facd..a485b0ab5 100644 --- a/apps/pdp10/tests/optest-v01.json +++ b/apps/pdp10/tests/optest-v01.json @@ -43,5 +43,9 @@ // 0o515040170600, // 000117: HRLZI 1,170600 0o135100000001, // 000120: LDB 2,1 + 0o270000000000, // 000121: ADD 0,0 + 0o265040000123, // 000122: JSP 1,.+1 + 0o270000000000, // 000123: ADD 0,0 + 0o265040000125, // 000124: JSP 1,.+1 ] } diff --git a/apps/pdp10/tests/optest-v01.simh b/apps/pdp10/tests/optest-v01.simh index 81205ed36..a5700bc71 100644 --- a/apps/pdp10/tests/optest-v01.simh +++ b/apps/pdp10/tests/optest-v01.simh @@ -13,6 +13,12 @@ dep 113 251000000017 dep 114 577040000002 dep 115 261240000011 dep 116 262240000005 +dep 117 515040170600 +dep 120 135100000001 +dep 121 270000000000 +dep 122 265040000123 +dep 123 270000000000 +dep 124 265040000125 ex -m 100-116 dep pc 100 step 11 diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 4aa5a2196..a20646350 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -972,7 +972,7 @@ PDP10.opMOVSS = function(op, acc) */ PDP10.opMOVN = function(op, acc) { - this.writeWord(acc, this.negate(this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doNEG.call(this, this.readWord(this.regEA))); }; /** @@ -1000,7 +1000,7 @@ PDP10.opMOVN = function(op, acc) PDP10.opMOVNI = function(op, acc) { /* - * We perform an in-line twos complement of regEA, since negate() updates the flags, and the documentation + * We perform an in-line twos complement of regEA, since doNEG() updates the flags, and the documentation * above claims that this operation must "set no flags." It's certainly true that regEA, being an 18-bit value, * could never be -2^35, but it COULD be zero -- and apparently this instruction treats zero differently from MOVN. * @@ -1031,7 +1031,7 @@ PDP10.opMOVNI = function(op, acc) */ PDP10.opMOVNM = function(op, acc) { - this.writeWord(this.regEA, this.negate(this.readWord(acc))); + this.writeWord(this.regEA, PDP10.doNEG.call(this, this.readWord(acc))); }; /** @@ -1056,7 +1056,7 @@ PDP10.opMOVNM = function(op, acc) */ PDP10.opMOVNS = function(op, acc) { - var dst = this.negate(this.readWord(this.regEA)); + var dst = PDP10.doNEG.call(this, this.readWord(this.regEA)); this.writeWord(this.regEA, dst); if (acc) this.writeWord(acc, dst); }; @@ -1083,7 +1083,7 @@ PDP10.opMOVNS = function(op, acc) */ PDP10.opMOVM = function(op, acc) { - this.writeWord(acc, this.abs(this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doABS.call(this, this.readWord(this.regEA))); }; /** @@ -1110,6 +1110,9 @@ PDP10.opMOVM = function(op, acc) */ PDP10.opMOVMI = function(op, acc) { + /* + * Since the src is an 18-bit immediate value, there's no need to call doABS(). + */ this.writeWord(acc, this.regEA); }; @@ -1135,7 +1138,7 @@ PDP10.opMOVMI = function(op, acc) */ PDP10.opMOVMM = function(op, acc) { - this.writeWord(this.regEA, this.abs(this.readWord(acc))); + this.writeWord(this.regEA, PDP10.doABS.call(this, this.readWord(acc))); }; /** @@ -1160,7 +1163,7 @@ PDP10.opMOVMM = function(op, acc) */ PDP10.opMOVMS = function(op, acc) { - var dst = this.abs(this.readWord(this.regEA)); + var dst = PDP10.doABS.call(this, this.readWord(this.regEA)); this.writeWord(this.regEA, dst); if (acc) this.writeWord(acc, dst); }; @@ -1936,7 +1939,31 @@ PDP10.opJRST = function(op, acc) }; /** - * opJFCL(0o255000) + * opJFCL(0o255000): Jump on Flag and Clear + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-57: + * + * If any flag specified by F [acc] is set, clear it and take the next instruction from location E, + * continuing sequential operation from there. + * + * To select one or a combination of these flags (which are among those described above) the programmer can specify + * the equivalent of an AC address that places 1s in the appropriate bits, but MACRO recognizes mnemonics for some of + * the 13-bit instruction codes (bits 0-12). + * + * JFCL JFCL 0, No-op 25500 + * JOV JFCL 10, Jump on Overflow 25540 + * JCRY0 JFCL 4, Jump on Carry 0 25520 + * JCRY1 JFCL 2, Jump on Carry 1 25510 + * JCRY JFCL 6, Jump on Carry 0 or 1 25530 + * JFOV JFCL 1, Jump on Floating Overflow 25504 + * + * SIDEBAR: This instruction can be used simply to clear the selected flags by having the jump address point to the + * next consecutive location, as in: + * + * JFCL 17,.+1 + * + * which clears all four flags without disrupting the normal program sequence. A JFCL that selects no flag is the fastest + * no-op as it neither fetches nor stores an operand, and bits 18-35 of the instruction word can be used to store information. * * @this {CPUStatePDP10} * @param {number} op @@ -1944,7 +1971,14 @@ PDP10.opJRST = function(op, acc) */ PDP10.opJFCL = function(op, acc) { - this.opUndefined(op); + /* + * The acc (F) bits from the opcode align perfectly with the top 4 bits of regPS; all we have to do is shift acc left 14. + */ + var bitsPS = acc << 14; + if (this.regPS & bitsPS) { + this.regPS &= ~bitsPS; + this.setPC(this.regEA); + } }; /** @@ -2078,7 +2112,15 @@ PDP10.opJSR = function(op, acc) }; /** - * opJSP(0o265000) + * opJSP(0o265000): Jump and Save PC + * + * Place the current contents of the flags (as described above) in AC left and the contents of PC in AC right + * (at this time PC contains an address one greater than the location of the JSP instruction). Take the next + * instruction from location E and continue sequential operation from there. The flags are unaffected except + * Byte Interrupt, which is cleared. + * + * If this instruction is executed as a result of a priority interrupt or in un-relocated 41 or 61 while the + * processor is in user mode, bit 5 of the PC word stored is 1 and the processor leaves user mode. * * @this {CPUStatePDP10} * @param {number} op @@ -2086,7 +2128,8 @@ PDP10.opJSR = function(op, acc) */ PDP10.opJSP = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, this.getPS() + this.getPC()); + this.setPC(this.regEA); }; /** @@ -5234,6 +5277,27 @@ PDP10.opUndefined = function(op, acc) this.stopCPU(); }; +/** + * doABS(src) + * + * Used by the MOVM* (Move Magnitude) instructions. + * + * @this {CPUStatePDP10} + * @param {number} src (36-bit) + * @return {number} (absolute value of src) + */ +PDP10.doABS = function(src) +{ + if (src > PDP10.MAX_POS36) { + if (src != PDP10.MIN_NEG36) { + src = PDP10.TWO_POW36 - src; + } else { + this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); + } + } + return src; +}; + /** * doADD(dst, src) * @@ -5431,6 +5495,34 @@ PDP10.doMUL = function(dst, src) return res; }; +/** + * doNEG(src) + * + * Used by the MOVN* (Move Negative) instructions. + * + * @this {CPUStatePDP10} + * @param {number} src (36-bit) + * @return {number} (src negated, but as an unsigned 36-bit result) + */ +PDP10.doNEG = function(src) +{ + if (!src) { + this.regPS |= (PDP10.PSFLAG.CARRY0 | PDP10.PSFLAG.CARRY1); + } + else { + /* + * In the non-zero case, it's always safe to subtract src from TWO_POW36, but since we have to check for + * the MIN_NEG36 case anyway, and since subtraction in that case doesn't alter src, we skip the subtraction. + */ + if (src == PDP10.MIN_NEG36) { + this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); + } else { + src = PDP10.TWO_POW36 - src; + } + } + return src; +}; + /** * doSUB(dst, src) * diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index c246b5516..ac9398248 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -336,14 +336,15 @@ class CPUStatePDP10 extends CPUPDP10 { /** * getPS() * - * Gets the processor state flags in the format required by various program control operations. + * Gets the processor state flags in the format required by various program control operations (eg, JSP), + * pre-masked and pre-shifted for convenient loading into the left half of an accumulator. * * @this {CPUStatePDP10} * @return {number} */ getPS() { - return this.regPS & PDP10.HALF_MASK; + return (this.regPS & PDP10.HALF_MASK) * PDP10.HALF_SHIFT; } /** @@ -489,55 +490,6 @@ class CPUStatePDP10 extends CPUPDP10 { this.regPC = addr % PDP10.ADDR_LIMIT; } - /** - * abs(src) - * - * Used by the MOVM* (Move Magnitude) instructions. - * - * @this {CPUStatePDP10} - * @param {number} src (36-bit) - * @return {number} (absolute value of src) - */ - abs(src) - { - if (src > PDP10.MAX_POS36) { - if (src != PDP10.MIN_NEG36) { - src = PDP10.TWO_POW36 - src; - } else { - this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); - } - } - return src; - } - - /** - * negate(src) - * - * Used by the MOVN* (Move Negative) instructions. - * - * @this {CPUStatePDP10} - * @param {number} src (36-bit) - * @return {number} (src negated, but as an unsigned 36-bit result) - */ - negate(src) - { - if (!src) { - this.regPS |= (PDP10.PSFLAG.CARRY0 | PDP10.PSFLAG.CARRY1); - } - else { - /* - * In the non-zero case, it's always safe to subtract src from TWO_POW36, but since we have to check for - * the MIN_NEG36 case anyway, and since subtraction in that case doesn't alter src, we skip the subtraction. - */ - if (src == PDP10.MIN_NEG36) { - this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); - } else { - src = PDP10.TWO_POW36 - src; - } - } - return src; - } - /** * addIRQ(vector, priority, message) * diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index dfb67ad26..149e887aa 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -1497,16 +1497,25 @@ class DebuggerPDP10 extends Debugger { if (!fOperands) { if (!opNum) sOperation = ""; } else { - sOperation = Str.pad(sOperation, 8); if (!opNum) { - sOperation += this.toStrWord(opCode); + sOperation = Str.pad(sOperation, 8) + this.toStrWord(opCode); } else { + var n, sOperand; if (opMask == PDP10.OPCODE.OPIO) { - sOperation += this.toStrBase((opCode / PDP10.OPCODE.IO_SCALE) & PDP10.OPCODE.IO_MASK, -1); + n = (opCode / PDP10.OPCODE.IO_SCALE) & PDP10.OPCODE.IO_MASK; + sOperand = this.toStrBase(n, -1); } else { - sOperation += this.toStrBase((opCode >> PDP10.OPCODE.A_SHIFT) & PDP10.OPCODE.A_MASK, -1); + n = (opCode >> PDP10.OPCODE.A_SHIFT) & PDP10.OPCODE.A_MASK; + sOperand = this.toStrBase(n, -1); + if (opNum == DebuggerPDP10.OPS.JFCL) { + var opAlt = DebuggerPDP10.JFCL[n]; + if (opAlt) { + sOperation = DebuggerPDP10.OPNAMES[opAlt]; + sOperand = ""; + } + } } - sOperation += ','; + sOperation = Str.pad(sOperation, 8) + (sOperand? sOperand + ',' : ""); if (opCode & PDP10.OPCODE.I_BIT) sOperation += '@'; sOperation += this.toStrBase(opCode & PDP10.OPCODE.Y_MASK, -1); var i = (opCode >> PDP10.OPCODE.X_SHIFT) & PDP10.OPCODE.X_MASK; @@ -1558,7 +1567,7 @@ class DebuggerPDP10 extends Debugger { } /** - * parseInstruction(sOpCode, sOperands, addr) + * parseInstruction(sOpCode, sOperands, dbgAddr) * * @this {DebuggerPDP10} * @param {string} sOpCode @@ -1568,9 +1577,21 @@ class DebuggerPDP10 extends Debugger { */ parseInstruction(sOpCode, sOperands, dbgAddr) { - var opCode = -1, opMask; + var opCode = -1, opMask, opNum; var sMnemonic = sOpCode.toUpperCase(); + /* + * Perform any alternate mnemonic substitutions first + */ + for (var n in DebuggerPDP10.JFCL) { + opNum = DebuggerPDP10.JFCL[n]; + if (sMnemonic == DebuggerPDP10.OPNAMES[opNum]) { + sMnemonic = DebuggerPDP10.OPNAMES[DebuggerPDP10.OPS.JFCL]; + sOperands = this.toStrBase(+n) + ',' + sOperands; + break; + } + } + for (var mask in DebuggerPDP10.OPTABLE) { var aModes; @@ -1595,7 +1616,7 @@ class DebuggerPDP10 extends Debugger { var opMode = 0; for (var op in opMasks) { - var opNum = opMasks[op]; + opNum = opMasks[op]; for (var iMode = 0; iMode < aModes.length; iMode++) { var sMode = aModes[iMode]; @@ -1638,7 +1659,15 @@ class DebuggerPDP10 extends Debugger { opCode = -1; break; } - var operand = this.parseExpression(match[2]); + sOperand = match[2]; + if (i) { + /* + * If this is NOT the first operand, then replace all periods NOT preceded + * by a digit with the current address. + */ + sOperand = sOperand.replace(/(^|[^0-9])\./g, "$1" + this.toStrAddr(dbgAddr)); + } + var operand = this.parseExpression(sOperand); if (operand == undefined) { opCode = -1; break; @@ -1646,7 +1675,7 @@ class DebuggerPDP10 extends Debugger { if (!i && aOperands.length > 1) { if (opMask == PDP10.OPCODE.OPIO) { if (operand < 0 || operand > PDP10.OPCODE.IO_MASK) { - this.println("device code out of range: " + match[2]); + this.println("device code out of range: " + sOperand); opCode = -1; break; } @@ -1654,7 +1683,7 @@ class DebuggerPDP10 extends Debugger { } else { if (operand < 0 || operand > PDP10.OPCODE.A_MASK) { - this.println("accumulator address out of range: " + match[2]); + this.println("accumulator address out of range: " + sOperand); opCode = -1; break; } @@ -1663,19 +1692,20 @@ class DebuggerPDP10 extends Debugger { continue; } if (operand < 0 || operand > PDP10.OPCODE.Y_MASK) { - this.println("memory address out of range: " + match[2]); + this.println("memory address out of range: " + sOperand); opCode = -1; break; } opCode += operand; - if (match[3]) { - operand = this.parseExpression(match[3]); + sOperand = match[3]; + if (sOperand) { + operand = this.parseExpression(sOperand); if (operand == undefined) { opCode = -1; break; } if (operand < 0 || operand > PDP10.OPCODE.X_MASK) { - this.println("memory index out of range: " + match[3]); + this.println("memory index out of range: " + sOperand); opCode = -1; break; } @@ -2141,7 +2171,7 @@ class DebuggerPDP10 extends Debugger { * For now, fMisc defaults to true, providing a full register dump by default. * * @this {DebuggerPDP10} - * @param {boolean} [fMisc] (true to include misc registers) + * @param {boolean|undefined} [fMisc] (true to include misc registers) * @return {string} */ getRegDump(fMisc = true) @@ -3821,7 +3851,8 @@ if (DEBUGGER) { JSA: 89, JRA: 90, PUSHJ: 91, POPJ: 92, BLKI: 93, DATAI: 94, BLKO: 95, DATAO: 96, CONO: 97, CONI: 98, CONSZ: 99, CONSO: 100, - UUO: 101 + UUO: 101, JOV: 102, JCRY0: 103, JCRY1: 104, + JCRY: 105, JFOV: 106 }; /* @@ -3854,7 +3885,8 @@ if (DEBUGGER) { "JSA", "JRA", "PUSHJ", "POPJ", "BLKI", "DATAI", "BLKO", "DATAO", "CONO", "CONI", "CONSZ", "CONSO", - "UUO" + "UUO", "JOV", "JCRY0", "JCRY1", + "JCRY", "JFOV" ]; DebuggerPDP10.REGS = { @@ -3998,6 +4030,20 @@ if (DEBUGGER) { DebuggerPDP10.OPCOMPS = ["", "L", "E", "LE", "A", "GE", "N", "G"]; DebuggerPDP10.OPTESTS = ["N", "NE", "NA", "NN", "Z", "ZE", "ZA", "ZN", "C", "CE", "CA", "CN", "O", "OE", "OA", "ON"]; + /* + * Apparently, DEC's MACRO program permits "JFCL xxx" (with a single argument) as an alternate for "JFCL 0,xxx" + * (which in turn is long-hand for "No-op", since JFCL with 0 does nothing). If we allowed JFCL to be both a + * primary and a alternate mnemonic, that would complicate our simplistic parseInstruction() logic, so we don't. + */ + DebuggerPDP10.JFCL = { + // 0o00: DebuggerPDP10.OPS.JFCL, + 0o10: DebuggerPDP10.OPS.JOV, + 0o04: DebuggerPDP10.OPS.JCRY0, + 0o02: DebuggerPDP10.OPS.JCRY1, + 0o06: DebuggerPDP10.OPS.JCRY, + 0o01: DebuggerPDP10.OPS.JFOV + }; + DebuggerPDP10.HISTORY_LIMIT = DEBUG? 100000 : 1000; DebuggerPDP10.PROMPT = ">> "; diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index a689134b8..c8fea8487 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -198,6 +198,11 @@ var PDP10 = { /* * Flags returned by getPS() for various program control operations. + * + * NOTE: I see SIMH setting PS bits like 0o000200 and 0o000400, which are not documented for the KA10. + * The SIMH docs only refer to the KS10 ("KS10 CPU with 1MW of memory"), so I'm guessing it doesn't have + * a KA10 emulation option. The `pdp10` SIMH binary does have some SET CPU options, but unlike the `pdp11` + * binary, the only options you can set relate to the operating system to be run -- which seems very hacky. */ PSFLAG: { OVFL: 0o400000, // Overflow diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 2a73d10f1..5a8e79319 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -27,215 +27,215 @@ 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 */ -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 ia(){ia=function(){};ba.Symbol||(ba.Symbol=ja)}var ka=0;function ja(a){return"jscomp_symbol_"+(a||"")+ka++} -function la(){ia();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 ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var pa=Math.pow(2,36),qa=Math.pow(2,35),ta={$b:0,sb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,fb:8,hc:9,tb:10,ic:11,jc:12,ub:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc: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,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81, +var pa=Math.pow(2,36),qa=Math.pow(2,35),ra={$b:0,sb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,fb:8,hc:9,tb:10,ic:11,jc:12,ub:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc: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,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81, Jc:82,Kc:83,Lc:84,Mc:85,Nc:86,Oc:87,Pc:88,Qc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Rc:97,Sc:98,Tc:99,d:100,e:101,Uc:102,Vc:103,Wc:104,Xc:105,Yc:106,k:107,Zc:108,$c:109,n:110,ad:111,p:112,q:113,r:114,bd:115,t:116,dd:117,ed:118,fd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,vb:127}; -function ua(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function wa(a,b,c){b?12"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)} +function xa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)} function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ha={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ka(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"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 Ma(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 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||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} function Na(a,b){var c,d={Y:null,T:null,na:null,ma: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.na=g.load;d.ma=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ca=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.u=this.H=this.G=this.oa=null;v.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(){return Date.now()||+new Date} -function r(a){window&&window.alert(a)}function zb(a){var b=!1;window&&(b=window.confirm(a));return b}function Ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.oa=null;v.push(this)}function ob(a,b,c){pb[a]&&b&&(pb[a][b]=c)}function qb(){return Date.now()||+new Date} +function r(a){window&&window.alert(a)}function rb(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;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.u=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb, -set:this.Tb};z(this)}p(bc,u);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; -l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(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.C[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(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.v]);return a.data()}; -l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} -l.Bb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return kc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Ub=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(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} -function fc(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.Kb=function(a){a||this.u.w.K||(this.u.A=this.f%Sb,this.b[qc]&&this.b[qc][1]&&rc(this.u))};l.Lb=function(){};l.Fb=function(a){a||this.u.V()}; -l.Db=function(a){if(!a&&!this.u.w.K)if(this.b[qc]&&this.b[qc][1])rc(this.u);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),zc(a,0,null),Nb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.v&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.f;0f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.B+m;e=k+16384;f-=m;g++;continue}}return Lc(Mc,e,f)}e=new Hc(a,e,m,16384,d);Ic(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+wa(b)),!0):Lc(Oc,b,c)} -function Fc(a,b){var c=a.b[(b&a.v)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.v)>>>a.f];a.A++;d.v(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=id(a)&&(a.ia=a.ka=-1,ed(a),a.V(),c=!0);c&&a.j(id(a)+" cycles: checksum="+q(a.ua))}} -l.ha=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.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=Ab(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&md(a.G)}Bc(a,a.M);a.M=0;a.L=qb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function pd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} -l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&kd(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=nd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=pd(this,!0);this.la+=b;this.M+=b;Cc(this,b);Ac(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=qd&&(this.G&&N(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),id(this));Jb(this, -e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; -function rc(a,b){if(!Kb(a))if(a.w.K)a.j(a.toString()+" busy");else{jd(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&md(a.G,!0),a.G.start(a.L,id(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){pd(this);Bc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),id(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var ld=30,qd=15,bd=["power","reset"]; -function rd(a){var b=+a.model||1001;ad.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=sd.bind(this);this.b=P.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(rd,ad);l=rd.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.v=0;this.qa=this.A;this.C=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;dd(this);this.w.error=!1;ad.prototype.reset.call(this)};l.qb=function(){return 0}; -l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.v,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,td(this));a.set(4,od(this));return a.data()}; -l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.v=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dI&&(a!=Vb?a=Wb-a:this.v|=163840);return a};function Pd(a,b){b?b==Vb?a.v|=163840:b=Wb-b:a.v|=98304;return b}function td(a){var b=[];for(a=a.ra;a;)b.push(a.Vb),a=a.next;return b}l.Nb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.v)>>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.v)>>>c.f].i(b,a&16383,a);return b}; -l.Ja=function(a){this.w.complete=!0;var b=this.D?Qd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Rd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Rd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= -this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Sb,a=this.Na/$b|0);0<=a&&this.wb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} -function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}} -function Vd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Wd(a,b){this.i(b,this.g(this.f))}function Xd(a,b){this.i(b,this.f)}function Yd(a,b){this.i(this.f,this.g(b))}function Zd(a,b){this.i(b,0)}function $d(a,b){this.i(b,G-this.g(b))}function ae(a,b){this.i(b,G)} -function be(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ce(a,d,c)+(c-(c&A)))}function de(a,b){var c=this.g(b);this.i(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ce(a,c,b)+(b-(b&A)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ge(a,b){var c=(this.g(this.f)&A)*B,d=this.g(b);this.i(b,ce(a,d,c)+c)} -function he(a,b){var c=this.f*B,d=this.g(b);this.i(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&A)*B;var c=this.g(this.f);this.i(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&A)*B,c=ce(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function ke(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.i(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)} -function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*B;break;case 384:d+=c>Ub?A*B:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function pe(a,b){var c=this.g(this.f)/B|0,d=this.g(b);this.i(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.i(b,le(a,c,0))}function re(a,b){b=this.g(b)/B|0;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/B|0,c=le(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){te[a&7].call(this,a,a>>3&127)} -function ue(){}function P(a){this.j("undefined opcode: "+wa(a));ud(this,-1);this.V()}function ve(a,b){var c=(a+b)%H;we.call(this,a,b,c);return c}function T(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function xe(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function ye(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} -function ze(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(ac&&(c+=H);we.call(this,c,b,a);return c} -function we(a,b,c){a=Math.trunc(a/Xb);b=Math.trunc(b/Xb);c=Math.trunc(c/Xb);var d=a^(a^b)&(b^c);this.v=this.v|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function le(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*B;break;case 384:b=c>Ub?A*B:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b} -var Sd=[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,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.F&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.F&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function cc(a,b){u.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.F=!1;this.S=dc;this.B={};this.b={START:[1,1,!0,!1,this.Kb],STEP:[1,1,!1,!1,this.Lb],ENABLE:[1,1,!1,!1,this.Fb],CONT:[1,1,!0,!1,this.Db],DEP:[0,0,!0,!1,this.Eb],EXAM:[1,1,!0,!1,this.Gb],LOAD:[1,1,!0,!1,this.Ib],TEST:[0,0,!0,!1,this.Hb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb, +set:this.Tb};z(this)}p(cc,u);l=cc.prototype;l.reset=function(a){this.stop();a&&ec(this,this.A=0)}; +l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.v&&this.v.ha(a,b,c,d)||this.D&&this.D.ha(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(){fc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){fc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;hc(this);ic(this)};l.pa=function(a,b){if(!b)if(this.W&&jc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])kc(this,this.f=a[0]),ec(this,this.A=a[1]),lc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ic(this);return!0};function mc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hc(a,b){for(var c in a.B)mc(a,c,null!=b?b:a.B[c])}function nc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ic(a){for(var b in a.b)nc(a,b,a.b[b][1])} +l.Bb=function(a,b,c){if(fc(this,b)){if(c){var d=this;setTimeout(function(){gc(d,b);a&&a()},+c);return!1}gc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return lc(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,nc(this,a,c[1]),!0):!1};l.Ub=function(a){return fc(this,a)?(gc(this,a),!0):!1};function fc(a,b){var c=a.b[b];return c?(nc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=oc&&(a.P=b==pc,a.R=b==qc),!0):!1} +function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(nc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Kb=function(a){a||this.v.w.K||(this.v.A=this.f%Tb,this.b[rc]&&this.b[rc][1]&&sc(this.v))};l.Lb=function(){};l.Fb=function(a){a||this.v.V()}; +l.Db=function(a){if(!a&&!this.v.w.K)if(this.b[rc]&&this.b[rc][1])sc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),tc(a,0,null),Ob(a,!1);else try{var b=this.v.Ja(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.f;0f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ha+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.C+m;e=k+16384;f-=m;g++;continue}}return Nc(Oc,e,f)}e=new Jc(a,e,m,16384,d);Kc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Pc[d]+" at "+wa(b)),!0):Nc(Qc,b,c)} +function Hc(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Gc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Lc(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=kd(a)&&(a.ia=a.ka=-1,gd(a),a.V(),c=!0);c&&a.j(kd(a)+" cycles: checksum="+q(a.ua))}} +l.ha=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.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&od(a.G)}Dc(a,a.M);a.M=0;a.L=qb();a.O=0;md(a);return d}function pd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function qd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function rd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} +l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&md(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=pd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=rd(this,!0);this.la+=b;this.M+=b;Ec(this,b);uc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=sd&&(this.G&&O(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),kd(this));Kb(this, +e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,ld(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; +function sc(a,b){if(!Lb(a))if(a.w.K)a.j(a.toString()+" busy");else{ld(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&od(a.G,!0),a.G.start(a.L,kd(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){rd(this);Dc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),kd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var nd=30,sd=15,dd=["power","reset"]; +function td(a){var b=+a.model||1001;cd.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=ud.bind(this);this.b=Q.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(td,cd);l=td.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.u=0;this.qa=this.A;this.B=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;fd(this);this.w.error=!1;cd.prototype.reset.call(this)};l.qb=function(){return 0}; +l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.u,this.B,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,vd(this));a.set(4,qd(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();da();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];ld(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.u)>>>c.f].i(b,a&16383,a);return b}; +l.Ja=function(a){this.w.complete=!0;var b=this.D?xd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(yd(this.D,this.A,c)){this.V();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.ra||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&yd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.B&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= +this.J>>18&15)this.f=this.f+this.g(a)&Sb;this.J&4194304?a=-1:(this.A=(this.A+1)%Tb,a=this.Na/ac|0);0<=a&&this.wb(a)}while(0>4].call(this,a,a&15)}function R(a){this.b(a)} +function Ad(){var a=0,b=this.g(this.f),c=b/bc&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bc+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Bd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,wd(this,-1);else{var c=this.F/bc&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}} +function Xd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,wd(this,-1);else{var c=this.F/bc&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Yd(a,b){this.i(b,this.g(this.f))}function Zd(a,b){this.i(b,this.f)}function $d(a,b){this.i(this.f,this.g(b))}function ae(a,b){this.i(b,0)}function be(a,b){this.i(b,G-this.g(b))}function ce(a,b){this.i(b,G)} +function de(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ee(a,d,c)+(c-(c&A)))}function fe(a,b){var c=this.g(b);this.i(b,ee(a,c,0))}function ge(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ee(a,c,b)+(b-(b&A)))}function he(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ie(a,b){var c=(this.g(this.f)&A)*E,d=this.g(b);this.i(b,ee(a,d,c)+c)} +function je(a,b){var c=this.f*E,d=this.g(b);this.i(b,ee(a,d,c)+c)}function ke(a,b){b=(this.g(b)&A)*E;var c=this.g(this.f);this.i(this.f,ee(a,c,b)+b)}function le(a,b){var c=this.g(this.f),d=(c&A)*E,c=ee(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function me(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,ne(a,d,c)+c)}function oe(a,b){var c=this.g(b);this.i(b,ne(a,c,this.f)+this.f)}function pe(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)} +function qe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*E;break;case 384:d+=c>Vb?A*E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function re(a,b){var c=this.g(this.f)/E|0,d=this.g(b);this.i(b,ne(a,d,c)+c)}function se(a,b){var c=this.g(b);this.i(b,ne(a,c,0))}function te(a,b){b=this.g(b)/E|0;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)}function ue(a,b){var c=this.g(this.f),d=c/E|0,c=ne(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){ve[a&7].call(this,a,a>>3&127)} +function we(){}function Q(a){this.j("undefined opcode: "+wa(a));wd(this,-1);this.V()}function xe(a){a>I&&(a!=Wb?a=Xb-a:this.u|=163840);return a}function ye(a,b){var c=(a+b)%H;ze.call(this,a,b,c);return c}function U(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function Ae(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function Be(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function V(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} +function Ce(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(ac&&(c+=H);ze.call(this,c,b,a);return c}function ze(a,b,c){a=Math.trunc(a/Yb);b=Math.trunc(b/Yb);c=Math.trunc(c/Yb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ne(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*E;break;case 384:b=c>Vb?A*E:0}return b}function ee(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b} +var zd=[R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,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)},Ad,function(a,b){0>this.F&&Ad.call(this);Bd.call(this,0,b)},Bd,function(a,b){0>this.F&&Ad.call(this);Xd.call(this,0,b)},Xd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(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,Xd,Yd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(b,a)},function(a,b){this.i(b,this.f*B)},function(a,b){a=this.g(b);a=(a/B|0)+a%B*B;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Pd(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Wb-this.f:0)},function(a,b){this.i(this.f,Pd(this, -this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,this.abs(this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.i(this.f,a);b&&this.i(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.i(b,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Ma)},function(a,b){this.i(b,ze.call(this, -this.g(b),this.f));this.i(b+1&15,this.Ma)},function(a,b){this.i(this.f,ze.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ze.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.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){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0d?F:0,c=Tb): -(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.v|=131072):a-c<=I&&(this.v|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%H+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>> -14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Tb&&dTb&&eI&&(this.v|=131072):e-c<=I&&(this.v|=131072);e=0;f>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.v|=131072):(f-c<=I&&(this.v|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2, --a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%H+Math.trunc(d/Math.pow(2,72-a))); -this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},P,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f,a)},function(a,b){a=!1;for(var c=this.g(b), -d=c/B|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*B+c),a||ud(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)},P,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.v|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.v|=262144); -this.i(b,a)},function(a){this.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.i(b,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ve.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b), -this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.call(this,this.g(b),this.g(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)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Yd,Zd,$d,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/E|0)+a%E*E;this.i(b,a)},function(a,b){this.i(b,this.f*E)},function(a,b){a=this.g(b);a=(a/E|0)+a%E*E;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/E|0)+a%E*E;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,De.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Xb-this.f:0)},function(a,b){this.i(this.f, +De.call(this,this.g(b)))},function(a,b){a=De.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,xe.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,xe.call(this,this.g(b)))},function(a,b){a=xe.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(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.i(b,Ce.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Ma)}, +function(a,b){this.i(b,Ce.call(this,this.g(b),this.f));this.i(b+1&15,this.Ma)},function(a,b){this.i(this.f,Ce.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ce.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.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){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a> +I?-(H-a):a;0d?F:0,c=Ub):(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.u|=131072):a-c<=I&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%H+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(a)}, +function(a,b){if(a=(this.f<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Ub&&dUb&&eI&&(this.u|=131072):e-c<=I&&(this.u|=131072);e=0;f>Ub&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.u|=131072):(f-c<=I&&(this.u|=131072),d+=F,e+=F)}else-36>=a?(e=-72>= +a?d>Ub?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Ub?d=0:(d=G,e+=F)):(c=d>Ub?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Ub&&(e+=F));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a- +36)%H+Math.trunc(d/Math.pow(2,72-a)));this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},Q,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f, +a)},function(a,b){a=!1;for(var c=this.g(b),d=c/E|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*E+c),a||wd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,this.A=this.f%Tb)},function(a){this.b(a)},Q,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/E|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A); +this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/E|0)==A&&(this.u|=262144);this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,(this.u&A)*E+this.A);this.A=this.f%Tb},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b), +this.g(this.f))))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Ee.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ee.call(this,this.g(b),this.g(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)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b), -this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.i(b,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),G-this.g(this.f))))}, -ue,ue,Yd,Yd,function(a,b){this.i(b,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,xe.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,xe.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b, -U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))}, -function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b),this.g(this.f))))},$d,$d,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a, -b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b), -G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-this.g(this.f))))},ae,ae,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},ae,ae,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a, +b){this.i(this.f,this.i(b,U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},Yd,Zd,we,Yd,function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f, +U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},we,we,$d,$d,function(a,b){this.i(b,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b), +this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,Be.call(this,this.g(b),this.g(this.f)))},function(a, +b){this.i(b,Be.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Be.call(this,this.g(b),this.g(this.f))))},be,be,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,V.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,V.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f, +this.i(b,V.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a,b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),G-this.g(this.f))))}, +function(a,b){this.i(b,V.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,V.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,G-this.g(b),G-this.g(this.f))))},ce,ce,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue, +me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S, -S,S,S,S,S,S,S,S,S],te=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.v&=-131073);a&131072&&(this.v&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.v&131072&&(a|=8);this.v&262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; -function Be(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.v=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=xa(this.A);if(this.A){a=this.A;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);Ce(c)})}}p(Be,u); -Be.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;Ce(this)};Be.prototype.pa=function(){this.T&&(this.D&&De(this.D,this.id,this.C,this.v,this.T),delete this.T);return!0};Be.prototype.ga=function(){return!0}; -function Ce(a){if(!Lb(a)){if(a.A){if(!a.b||!a.H)return;a.v||(a.v=a.b.length);if(a.b.length!=a.v)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.v,8,!0)+")");else{var b;b=a.C;if(Kc(a.H,b,a.v,Sc)){var c;for(c=0;c>>f.f;0>>= -f.f;0>>a.f;0g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=ta.eb&&c<=ta.xb&&(b=c-(ta.eb-ta.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.ub&&(b=ta.tb);d.Qa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;z(this)}; -l.rb=function(a){if(!this.b){var b=cd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Bb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.v);if(this.C=e.receiveData){this.v=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.rb(this.v),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.v.length&&(a.A=0);if(0>a.A||b!=a.v[a.A])a.v.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.v[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ja(b.substring(c,f))),c=f+1}}return a} -function Le(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; +S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],ve=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; +function Fe(a){u.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.A=a.file;this.F=xa(this.A);if(this.A){a=this.A;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(ob(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);Ge(c)})}}p(Fe,u); +Fe.prototype.xa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ge(this)};Fe.prototype.pa=function(){this.T&&(this.D&&He(this.D,this.id,this.B,this.u,this.T),delete this.T);return!0};Fe.prototype.ga=function(){return!0}; +function Ge(a){if(!Mb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Kb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Mc(a.H,b,a.u,Uc)){var c;for(c=0;c>>f.f;0>>= +f.f;0>>a.f;0g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=ra.eb&&c<=ra.xb&&(b=c-(ra.eb-ra.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.ub&&(b=ra.tb);d.Qa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)}; +l.rb=function(a){if(!this.b){var b=ed(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Cb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.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.rb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.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 f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ja(b.substring(c,f))),c=f+1}}return a} +function Pe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Me(a,b,c){var d;if(b){b=Ne(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,ca--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} -function Re(a,b){if(b)return Qe(a,b,a.W[b]);var c=0;for(b in a.W)Qe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Se(a){Je.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Te(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ue(this);this.D=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ve(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return hd(b,a)}):void 0===global[x]&&(global[x]=function(a){return hd(b, -a)})}p(Se,Je);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function We(a,b,c,d){a.B=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function Xe(a){return[a.B,a.Oa,a.fa,a.ca,a.Ra]}function Ye(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Ke(a,c.Ra=b[4]));return c}l=Se.prototype; -l.xa=function(a,b,c,d){this.H=b;this.G=a;this.u=c;this.ea=a.v;(a=cd(a,"messages"))&&Ve(this,a);Ze(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Nc[c],n&&d.j(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.sa==b&&(b=ud(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(We(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function $f(a,b,c,d){var e=W(b.B),f=a.ya(b,1),g,h,k,m=0,n=f/Yb|0,t;for(t in ag)if(g=ag[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=bg;m=n&3;break;case 32256:k=cg;m=n&7;break;case 29248:k=dg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>eg&&(k="B");k=fg[g||0]+k;k=Ia(k,8);g?(k=28700==h?k+O(a,f/Zb&127,-1):k+O(a,f>>23&15,-1),k+=",",f&4194304&&(k+="@"),k+=O(a,f&262143,-1),(f=f>>18&15)&&(k+="("+O(a,f,-1)+")")):k+=af(f);f=k;g="";h=O(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),g+=" "+af(k),null== -e.B)break;while(e.B!=b.B)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.u.w.Ea?h+("cycles="+id(a.u).toString()+" cs="+q(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||gg(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.j("invalid address: "+O(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(hg(this,a,a.length-1,"set"),Ue(this)));return d};function gg(a,b,c,d,e){var f=!1;c=X(c);for(var g=1;g>>d.f],b==a.J));h.fa||Ue(a);break}}return f} -function ig(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=wa(d,2);We(e.va,d);f+="="+O(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],t=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,B:c,Cb:d,T:e,mb:f})}function lg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b>>0,h=f.Cb;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.u;switch(b){case cf:h.A= -g%Sb;We(a.L,h.A);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.v=g?h.v|f:h.v&~f);N(a.G);a.j("updated registers:")}}a.j(kg(a,e));c&&(We(a.L,d.A),qf(a,O(a,a.L.B)))}}function pg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.B=m.B;h.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j($f(a,b,g,f));e-=b.B-k;c++}}} -function jg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.P&&(a.j("ended assemble at "+O(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0n||"z"eg&&(xd="B");if(Sg==fg[uf]+xd){tf=29248!=sc?Sa:(Sa&3)<<1|(Sa&12)<<2;C=(wd|tf<<6)*Yb;break}}if(0<= -C)break}if(0<=C)break}if(0<=C)if(rf)for(var yd=rf.split(","),pb=0;pbL||127L||15 -L||262143L||15fa.length&&(a.j("note: only "+fa.length+" available"),V=fa.length);Z-=V;0>Z&&(null==fa[fa.length-1].B?(V=Z+V,Z=0):Z+=fa.length);var Dd=[];"call"==Af&&(rb=1E5,Dd=["CALL"]);for(void 0!==zf&&a.j(V+" instructions earlier:");0=fa.length&&(Z=0);a.sa=V;Cf++;rb--}}Cf||(a.j("no "+Bf+"history available"),a.sa=void 0)}else{var Ya=Y(a,ea,a.ja);if(Ya){var Ca=0,Ff="ds"==Va;if(ra){if("l"==ra.charAt(0))ra=ra.substr(1)||Vg,Ca=Oe(a,ra);else{var Gf=Y(a,ra);Gf&&(Ca=Gf.B-Ya.B)}0>Ca&&(Ca=0);65536Kf;Kf++)If+=String.fromCharCode((uc%64|0)+32),uc/=64}Da&&(Da+="\n");Da=Ff?Da+(Ea+","):Da+(ea+": "+Ea+(0>Jf?" "+If:""))}Da&&a.j(Da);a.ca=Xg}}}}break;case "e":if("else"==g[0])break;var Lf,Mf,Nf=g[0],Gd=g[1];"e"==Nf||"ew"==Nf?(Lf=a.ya,Mf=a.gb):Gd=null;if(null==Gd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var vc=Y(a,Gd,a.ja);if(vc)for(var wc=2;wc< -g.length;wc++){var Hd=Me(a,g[wc]);if(void 0===Hd){a.j("unknown value: "+g[wc]);break}a.j("changing "+O(a,vc.B)+" from "+af(Lf.call(a,vc))+" to "+af(Hd));Mf.call(a,vc,Hd,1)}}break;case "g":a:{var Of=g[1],Zg=b;if(void 0!==Of){var Id=Y(a,Of);if(!Id)break a;$e(a,Id,Zg);a.Da(a.b,Id,!0)}mf(a,!0,c)}break;case "h":a.w.K?(c||a.j("halting"),a.V()):Mb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Jd;var tb=b.substr(2),tb=Ja(tb);Me(a,tb)?(c||a.j("true: "+tb),Jd=!0):(c||a.j("false: "+tb),Jd= -!1);Jd||(d=!1);break}f=!0;break;case "k":var $g=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Kd=0,Ld=W(),ub=W();for(a.j("stack trace for "+O(a,ub.B));10>Kd;){for(var Fa=null,ah=256;65536>ub.B>>>0;){Ld.B=a.ya(ub,2);if(null==ub.B||!ah--)break;if(!(Ld.B&1)){for(var bh=a,xc=Ld,Pf=null,vb=xc.B,Qf=vb,Md=1;6>=Md&&vb;Md++){if(2Wf)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress");else{var Xf=W(a.u.A);a.ya(Xf);a.N?(a.Da(a.b,Xf,!0),mf(a)||(a.G&&md(a.G),a.N=0)):qg(a,Wf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset(); -break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var xb=+g[2];if(8==xb||10==xb||16==xb)a.ca=xb;else{a.j("invalid base: "+xb);break}}a.j("default base: "+a.ca);break;case "cs":var yb;void 0!==g[3]&&(yb=+g[3]);switch(g[2]){case "int":a.u.ia=yb;break;case "start":a.u.va=yb;break;case "stop":a.u.ka=yb;break;default:a.j("unknown cs option");break a}void 0!==yb&&ed(a.u);a.j("checksums "+(a.u.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(jd(a.u,+g[2])||a.j("warning: using 1x multiplier, previous target not reached")); -a.j("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":qg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ng(a, -b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){pg(a,b.substr(1));break}var Nd="commands:",Od;for(Od in sg)Nd+="\n"+Ia(Od,9)+sg[Od];Qd(a)||(Nd+="\nnote: history disabled if no exec breakpoints");a.j(Nd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Zf){a.j("debugger error: "+(Zf.stack||Zf.message)),d=!1}return d} -function hd(a,b,c){b=Ke(a,b,c);for(var d in b)if(!jg(a,b[+d]))return!1;return!0} -var sg={"?":"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"},eg=20,fg=".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(" "), -cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),tg={},ag=(tg[28672]={0:101},tg[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},tg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:eg,9216:53,9472:52, -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},tg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},tg[29248]={24576:79,24640:80,25088:81,25152:82},tg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},tg),bg=["","I","M","S"],cg=" L E LE A GE N G".split(" "),dg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lf=1E3,of=">> ";fb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bxg){if(yg(d,this.M)){this.C=new M(this,"1.34.2",Hg);yg(this.C)&&(Ig(this,d),a=Jg,Kg(this.C));this.C.set(Eg,La());Lg(this.C);var e=this.b&&!this.L;if(a==Fg||zb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Dg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?yg(d,g):("error"==f&&"no machine state"!= -g?(this.da("Error: "+g),"unable to verify user"==g&&(Za(Mg,""),this.f=null)):this.j(f+": "+g),Kg(d),yg(d)?(c=Dg(d),e=!0):c=!1))}e&&Bg(this,c?d:null)}else a==Jg&&d.clear()}else Bg(this);delete this.M;delete this.J}e=Ab(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ng(this,this.u,b,c,a),N(this,-2),this.u.Z());this.P&&(Ig(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0}; -function Ig(a,b){if(zb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}} -function rg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Cg),h=La();g.set(Eg,h);f.set(Eg,h);f.set(Og,"1.34.2");f.set(Pg,window?window.location.href:null);f.set(Qg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.w.Z=a.u.w.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&f.set(a.u.id,d),c&&(a.u.w.U=!1,!1===d&&(e=null)));for(var h=Ab(a.id),k=0;k=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.v&&(a=a.v,b=b||0,a.M)){c=a.u.w.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\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(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(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 k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);kh(a,b,c)}})}else c(a,null)} -function lh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ga(a))}function g(a){f("Error: "+a);m&&(--hh||jb(!0));m=!1}var h,k,m=!0;hh++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=n:D.appendChild(document.createTextNode(n));t.appendChild(D)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ih(d,null,a,null,!1,f,function(a,e){e?(nb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--hh||jb(!0)):g("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),--hh|| -jb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ih(c,b,a,e,!0,f,n):jh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(ca){g(ca.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return lh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return lh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Cb(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Fb[a]){for(var c=!0,d=Fb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,fa--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((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>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 We(a){Ne.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ye(this);this.D=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.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return jd(b,a)}):void 0===global[x]&&(global[x]=function(a){return jd(b, +a)})}p(We,Ne);function Y(a){a=a&&a.C;null==a&&(a=-1);return a}function W(a,b,c){return{C:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function $e(a,b,c,d){a.C=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function af(a){return[a.C,a.Oa,a.fa,a.ca,a.Ra]}function bf(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Oe(a,c.Ra=b[4]));return c}l=We.prototype; +l.xa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=ed(a,"messages"))&&Ze(this,a);cf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(df(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Pc[c],n&&d.j(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.v.sa==b&&(b=wd(a.v,1)));if(0d&&(d=a.v.g(b)),0<=d&&($e(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function xf(a,b,c,d){var e=W(b.C),f=a.ya(b,1),g,h,k,m=0,n=f/Zb|0,t;for(t in dg)if(g=dg[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=fg;m=n&3;break;case 32256:k=gg;m=n&7;break;case 29248:k=hg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>ig&&(k="B");k=jg[g||0]+k;if(g){if(28700==h)m=f/$b&127,h=P(a,m,-1);else if(m=f>>23&15,h=P(a,m,-1),g==kg&&(g=lg[m]))k=jg[g],h="";k=Ia(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=P(a,f&262143,-1);(f=f>>18&15)&&(k+="("+P(a,f,-1)+")")}else k=Ia(k,8)+ff(f);f=k;g="";h=Z(a, +e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.ya(e,1),g+=" "+ff(k),null==e.C)break;while(e.C!=b.C)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+kd(a.v).toString()+" cs="+q(a.v.ua)):h+(null!=d?"="+d.toString():""));return h}function Xe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||mg(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(ng(this,a,a.length-1,"set"),Ye(this)));return d};function mg(a,b,c,d,e){var f=!1;c=Y(c);for(var g=1;g>>d.f],b==a.J));h.fa||Ye(a);break}}return f} +function og(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=wa(d,2);$e(e.va,d);f+="="+P(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d=lf?1:d==jf?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],t=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,C:c,Cb:d,T:e,mb:f})}function rg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=f.Cb;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case hf:h.A= +g%Tb;$e(a.L,h.A);break;case lf:f=65536;break;case mf:f=32768;break;case nf:f=131072;break;case of:f=32;break;case pf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);O(a.G);a.j("updated registers:")}}a.j(qg(a,e));c&&($e(a.L,d.A),vf(a,Z(a,a.L)))}}function vg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.C=m.C;h.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j(xf(a,b,g,f));e-=b.C-k;c++}}} +function pg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(tf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Mb(a)&&0n||"z"ig&&(Fd="B");if(Cd== +jg[sb]+Fd){Af=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Ed|Af<<6)*Zb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Gd=vc.split(","),Va=0;VaL||127L||15L||262143L||15ha.length&&(a.j("note: only "+ha.length+" available"),X=ha.length);ba-=X;0>ba&&(null==ha[ha.length-1].C?(X=ba+X,ba=0):ba+=ha.length);var Ld=[];"call"==Gf&&(ub=1E5,Ld=["CALL"]);for(void 0!==Ff&& +a.j(X+" instructions earlier:");0=ha.length&&(ba=0);a.sa=X;If++;ub--}}If||(a.j("no "+Hf+"history available"),a.sa=void 0)}else{var ab=df(a,ga,a.ja);if(ab){var Da=0,Lf="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||$g,Da=Se(a,ta);else{var Mf=df(a,ta);Mf&&(Da=Mf.C-ab.C)}0>Da&&(Da=0);65536Qf;Qf++)Of+=String.fromCharCode((yc%64|0)+32),yc/=64}Ea&&(Ea+="\n");Ea=Lf?Ea+(Fa+","):Ea+(ga+": "+Fa+(0>Pf?" "+Of:""))}Ea&&a.j(Ea);a.ca=bh}}}}break;case "e":if("else"==g[0])break;var Rf,Sf,Tf=g[0],Od=g[1];"e"==Tf||"ew"==Tf?(Rf=a.ya,Sf=a.gb):Od=null;if(null== +Od)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=df(a,Od,a.ja);if(zc)for(var Ac=2;AcSd;){for(var Ga=null,fh=256;65536>xb.C>>>0;){Td.C=a.ya(xb,2);if(null==xb.C||!fh--)break;if(!(Td.C&1)){for(var gh=a,Bc=Td,Vf=null,yb=Bc.C,Wf=yb, +Ud=1;6>=Ud&&yb;Ud++){if(2bg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress"); +else{var cg=W(a.v.A);a.ya(cg);a.N?(a.Da(a.b,cg,!0),rf(a)||(a.G&&od(a.G),a.N=0)):wg(a,bg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}uf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ab=+g[2];if(8==Ab||10==Ab||16==Ab)a.ca=Ab;else{a.j("invalid base: "+Ab);break}}a.j("default base: "+a.ca);break;case "cs":var Bb;void 0!==g[3]&&(Bb=+g[3]);switch(g[2]){case "int":a.v.ia=Bb;break;case "start":a.v.va=Bb;break;case "stop":a.v.ka=Bb;break;default:a.j("unknown cs option");break a}void 0!== +Bb&&gd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ld(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.aa.toFixed(2)+"Mhz")+" ("+a.v.ba+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"), +a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":wg(a,g[0],g[1]);break;case "u":vf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){tg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Rb||"PDP10")+" version 1.34.2 ("+a.v.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){vg(a,b.substr(1));break}var Vd="commands:",Wd;for(Wd in yg)Vd+="\n"+Ia(Wd,9)+yg[Wd];xd(a)||(Vd+="\nnote: history disabled if no exec breakpoints");a.j(Vd);break;default:f=!0}f&&(a.j("unknown command: "+ +b),d=!1)}}catch(eg){a.j("debugger error: "+(eg.stack||eg.message)),d=!1}return d}function jd(a,b,c){b=Oe(a,b,c);for(var d in b)if(!pg(a,b[+d]))return!1;return!0} +var yg={"?":"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"},ig=20,kg=85,jg=".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 JOV JCRY0 JCRY1 JCRY JFOV".split(" "), +hf=0,jf=1,kf=2,lf=3,mf=4,nf=5,of=6,pf=7,gf="PC RA EA C0 C1 OV ND PD".split(" "),zg={},dg=(zg[28672]={0:101},zg[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:kg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},zg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:ig,9216:53,9472:52, +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},zg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},zg[29248]={24576:79,24640:80,25088:81,25152:82},zg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},zg),fg=["","I","M","S"],gg=" L E LE A GE N G".split(" "),hg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lg={8:102,4:103,2:104,6:105,1:106},qf=1E3,tf=">> ";gb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bDg){if(Eg(d,this.M)){this.B=new M(this,"1.34.2",Ng);Eg(this.B)&&(Og(this,d),a=Pg,Qg(this.B));this.B.set(Kg,La());Rg(this.B);var e=this.b&&!this.L;if(a==Lg||rb("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Jg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Eg(d,g):("error"==f&&"no machine state"!= +g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(Sg,""),this.f=null)):this.j(f+": "+g),Qg(d),Eg(d)?(c=Jg(d),e=!0):c=!1))}e&&Hg(this,c?d:null)}else a==Pg&&d.clear()}else Hg(this);delete this.M;delete this.J}e=tb(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.v&&(Tg(this,this.v,b,c,a),O(this,-2),this.v.Z());this.P&&(Og(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0}; +function Og(a,b){if(rb("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}} +function xg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Ig),h=La();g.set(Kg,h);f.set(Kg,h);f.set(Ug,"1.34.2");f.set(Vg,window?window.location.href:null);f.set(Wg,window?window.navigator.userAgent:"");a.v&&a.v.ga&&(c&&(b&&(a.v.w.Z=a.v.w.K),a.v.V()),d=a.v.ga(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.w.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.K;d=!!(a.v.B&8);if(0>=b||60<=(a.L+=b)){e=a.v.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.v.A:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\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(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(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 k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);ph(a,b,c)}})}else c(a,null)} +function qh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function g(a){f("Error: "+a);m&&(--mh||kb(!0));m=!1}var h,k,m=!0;mh++;pb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));t.appendChild(C)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?nh(d,null,a,null,!1,f,function(a,e){e?(ob(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--mh||kb(!0)):g("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),--mh|| +kb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?nh(c,b,a,e,!0,f,n):oh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(fa){g(fa.message)}return m}window.embedPDP10=function(a,b,c,d){kb(!1);return qh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){kb(!1);return qh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Db(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Gb[a]){for(var c=!0,d=Gb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n":62,"?":63,"@":64,Ma:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81, kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Xa:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=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"']/g,function(a){return sa[a]})}function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; +function oa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function pa(){var a=qa();return-1!==a.indexOf("pcjs.org",a.length-8)}function ra(a){return a.replace(/[&<>"']/g,function(a){return sa[a]})}function ta(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; function va(){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 r(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} @@ -66,9 +66,9 @@ k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(thi k.cb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; k.ub=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.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);gb(this,this.j=a)}};k.jb=function(a){a||this.i.h.A||mb(this,this.g)};k.ib=function(a){a?(this.o=!0,jb(this,!0)):(this.o=!1,jb(this),nb(this,0))};k.kb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.za+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.za){p=h.size-(e-l);p>f&&(p=f);h.za=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new T(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--} @@ -88,87 +88,88 @@ function vb(a,b){for(var c=a.G.length-1;0<=c;c--){var d=a.G[c];0>d[0]||(d[0]-=b, k.sb=function(){if(this.h.A){this.sa>=this.Fa&&Zb(this,!0);this.ea=0;this.ga=Na();if(this.I){var a=this.ga-this.I;a>this.Ea&&(this.B+=a,this.B>this.ga&&(this.B=this.ga))}try{do{for(var b,c=this.h.wa?1:this.ja,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Aa(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.ea+=b;this.C+=b;xb(this,b);vb(this,b);this.da-=b;if(0>=this.da){this.da+=this.ja;++this.Ga>=cc&&(this.u&&S(this.u,void 0),this.Ga=0);break}}while(this.h.A)}catch(f){R(this); this.u&&this.u.stop(Na(),Xb(this));a=f.stack||f.message;this.h.error=!0;this.F(a);return}if(this.h.A){a=setTimeout;b=this.Qa;this.I=Na();c=this.Ea;this.ea&&(c=Math.round(c*this.ea/this.ja));c-=this.I-this.ga;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Yb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.sa+=this.ea;this.I+=c;a(b,c)}}}; function ub(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.A)a.M(a.toString()+" busy");else{Yb(a);a.h.A=!0;a.h.Ka=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Xb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.Aa=function(){return 0};function R(a){var b=!1;if(a.h.A){bc(a);wb(a,a.C);a.C=0;a.h.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Na(),Xb(a));b=!0;a.v||a.status("Stopped")}a.h.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; -function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Ya=b;this.na=+a.addrReset||0;this.Za=ec.bind(this);this.a=U.bind(this);this.fa=null;this.Oa=[];this.h.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Ya);this.h.A&&R(this);this.b=this.w=this.ua=0;this.o=this.Ca=this.na;this.l=-1;this.ta=this.g=0;this.la=this.o;this.j=0;this.c=this.ob;this.f=this.zb;this.fa=null;Vb(this);this.h.error=!1;Sb.prototype.reset.call(this)};k.Sa=function(){return 0}; -k.save=function(){var a=new Q(this);a.set(0,[this.b,this.w,this.ua,this.o,this.l,this.g,this.j,this.Ca,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.h.J]);a.set(3,fc(this));a.set(4,ac(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.w=b.next().value;this.ua=b.next().value;this.o=b.next().value;this.l=b.next().value;this.g=b.next().value;this.j=b.next().value;this.Ca=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dO&&(a!=$a?a=ab-a:this.g|=163840);return a};function hc(a,b){b?b==$a?a.g|=163840:b=ab-b:a.g|=98304;return b}function fc(a){var b=[];for(a=a.fa;a;)b.push(a.wb),a=a.next;return b}k.ob=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.g)>>>b.b].c(a&16383,a)};k.zb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; -k.Aa=function(a){this.h.complete=!0;var b=a?this.h.Ka?0:1:-1;this.h.Ka=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){R(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ua=this.c(this.Ca=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.o=(this.o+1)%Ya,a=this.ua/cb|0);0<=a&&this.Za(a)}while(0< -this.L);return this.h.complete?this.K-this.L:!1===this.h.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%N);this.f(this.b,b)} -function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%N;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} -function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,M-this.c(b))}function rc(a,b){this.f(b,M)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,W(a,d,c)+(c-(c&I)))}function tc(a,b){var c=this.c(b);this.f(b,W(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,W(a,c,b)+(b-(b&I)))} -function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+=I;break;case 384:d+=c>O?I:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&I)*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function xc(a,b){var c=this.b*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function yc(a,b){b=(this.c(b)&I)*J;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&I)*J,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} -function Ac(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Bc(a,d,c)+c)}function Cc(a,b){var c=this.c(b);this.f(b,Bc(a,c,this.b)+this.b)}function Dc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Bc(a,c,b)+b)}function Ec(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Fc(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Bc(a,d,c)+c)}function Gc(a,b){var c=this.c(b);this.f(b,Bc(a,c,0))} -function Hc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Bc(a,c,b)+b)}function Ic(a,b){var c=this.c(this.b),d=c/J|0,c=Bc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Jc[a&7].call(this,a,a>>3&127)}function Kc(){}function U(a){this.M("undefined opcode: "+la(a));gc(this);R(this)}function Lc(a,b){var c=(a+b)%N;Mc.call(this,a,b,c);return c}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)}function Nc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)} -function Oc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)}function Pc(a,b){var c=b;b=!1;var d;a>O&&(a=N-a,b=!b);c>O&&(c=N-c,b=!b);if(ac&&(c+=N);Mc.call(this,c,b,a);return c}function Mc(a,b,c){a=Math.trunc(a/bb);b=Math.trunc(b/bb);c=Math.trunc(c/bb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Bc(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b}function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b} -var ic=[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)},jc,function(a,b){0>this.l&&jc.call(this);kc.call(this,0,b)},kc,function(a,b){0>this.l&&jc.call(this);lc.call(this,0,b)},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 dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Ya=b;this.na=+a.addrReset||0;this.Za=ec.bind(this);this.a=U.bind(this);this.fa=null;this.Oa=[];this.h.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Ya);this.h.A&&R(this);this.b=this.w=this.ua=0;this.j=this.Ca=this.na;this.o=-1;this.ta=this.g=0;this.la=this.j;this.l=0;this.c=this.ob;this.f=this.zb;this.fa=null;Vb(this);this.h.error=!1;Sb.prototype.reset.call(this)};k.Sa=function(){return 0}; +k.save=function(){var a=new Q(this);a.set(0,[this.b,this.w,this.ua,this.j,this.o,this.g,this.l,this.Ca,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.h.J]);a.set(3,fc(this));a.set(4,ac(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.w=b.next().value;this.ua=b.next().value;this.j=b.next().value;this.o=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Ca=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].c(a&16383,a)};k.zb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; +k.Aa=function(a){this.h.complete=!0;var b=a?this.h.Ka?0:1:-1;this.h.Ka=!1;this.K=this.L=a;this.l=this.l&-5|0;do{if(a=this.l)if(a=this.l&11)this.l&2?this.fa||(this.l&=-3):this.l&1&&this.l++,a=!1;if(a){if(this.l&4&&this.v.j(this.j,b)){R(this);break}if(0>b)break}this.l&=15;this.w=this.w&4194304?this.c(this.b):this.ua=this.c(this.Ca=this.j);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.j=(this.j+1)%Ya,a=this.ua/cb|0);0<=a&&this.Za(a)}while(0< +this.L);return this.h.complete?this.K-this.L:!1===this.h.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function ic(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%N);this.f(this.b,b)} +function jc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.w=this.b|4194304,gc(this);else{var c=this.o/db&63,d=this.o>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.o=-1}}function kc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.w=this.b|4194304,gc(this);else{var c=this.o/db&63,d=this.o>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%N;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.o=-1}}function lc(a,b){this.f(b,this.c(this.b))} +function mc(a,b){this.f(b,this.b)}function nc(a,b){this.f(this.b,this.c(b))}function oc(a,b){this.f(b,0)}function pc(a,b){this.f(b,M-this.c(b))}function qc(a,b){this.f(b,M)}function rc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,W(a,d,c)+(c-(c&I)))}function sc(a,b){var c=this.c(b);this.f(b,W(a,c,0))}function tc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,W(a,c,b)+(b-(b&I)))} +function uc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+=I;break;case 384:d+=c>O?I:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function vc(a,b){var c=(this.c(this.b)&I)*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function wc(a,b){var c=this.b*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function xc(a,b){b=(this.c(b)&I)*J;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function yc(a,b){var c=this.c(this.b),d=(c&I)*J,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function zc(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,Ac(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,Ac(a,c,0))} +function Gc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/J|0,c=Ac(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function U(a){this.M("undefined opcode: "+la(a));gc(this);R(this)}function Kc(a){a>O&&(a!=$a?a=ab-a:this.g|=163840);return a}function Lc(a,b){var c=(a+b)%N;Mc.call(this,a,b,c);return c}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)} +function Nc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)}function Oc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)} +function Pc(a,b){var c=b;b=!1;var d;a>O&&(a=N-a,b=!b);c>O&&(c=N-c,b=!b);if(ac&&(c+=N);Mc.call(this,c,b,a);return c}function Mc(a,b,c){a=Math.trunc(a/bb);b=Math.trunc(b/bb);c=Math.trunc(c/bb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Ac(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b}function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b} +var hc=[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)},ic,function(a,b){0>this.o&&ic.call(this);jc.call(this,0,b)},jc,function(a,b){0>this.o&&ic.call(this);kc.call(this,0,b)},kc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(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,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(b,a)},function(a,b){this.f(b,this.b*J)},function(a,b){a=this.c(b);a=(a/J|0)+a%J*J;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?ab-this.b:0)},function(a,b){this.f(this.b,hc(this, -this.c(b)))},function(a,b){a=hc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(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,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.ta)},function(a,b){this.f(b,Pc.call(this, -this.c(b),this.b));this.f(b+1&15,this.ta)},function(a,b){this.f(this.b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Pc.call(this,this.c(b),this.c(this.b))));this.f(b+1&15,this.ta)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.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){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>O?-(N-a):a;0d?L:0,c=K): -(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.g|=131072):a-c<=O&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>> -14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.g|=131072):e-c<=O&&(this.g|=131072);e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.g|=131072):(f-c<=O&&(this.g|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d>K?M:0:Math.trunc(d%L/Math.pow(2, --a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36+a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/Math.pow(2,72-a)));this.f(b, -c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/ -J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.h.A||(this.f(b,d*J+c),a||gc(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.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.g|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.g|=262144);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,b){this.f(b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Qc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Qc.call(this,this.c(b),this.b))}, -function(a,b){this.f(this.b,Qc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Qc.call(this,this.c(b),this.c(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)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},lc,mc,nc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(b,a)},function(a,b){this.f(b,this.b*J)},function(a,b){a=this.c(b);a=(a/J|0)+a%J*J;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Qc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b?ab-this.b:0)},function(a,b){this.f(this.b, +Qc.call(this,this.c(b)))},function(a,b){a=Qc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Kc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,Kc.call(this,this.c(b)))},function(a,b){a=Kc.call(this,this.c(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,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.ta)}, +function(a,b){this.f(b,Pc.call(this,this.c(b),this.b));this.f(b+1&15,this.ta)},function(a,b){this.f(this.b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Pc.call(this,this.c(b),this.c(this.b))));this.f(b+1&15,this.ta)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.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){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a> +O?-(N-a):a;0d?L:0,c=K):(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.g|=131072):a-c<=O&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)}, +function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.g|=131072):e-c<=O&&(this.g|=131072);e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.g|=131072):(f-c<=O&&(this.g|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d> +K?M:0:Math.trunc(d%L/Math.pow(2,-a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36+a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/ +Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a= +!1;for(var c=this.c(b),d=c/J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.h.A||(this.f(b,d*J+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,this.j=this.b%Ya)},function(a){this.a(a)},U,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.g|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b== +b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.g|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,(this.g&I)*J+this.j);this.j=this.b%Ya},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc.call(this,this.c(b),this.c(this.b))))},function(a, +b){this.f(b,Rc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Rc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Rc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Rc.call(this,this.c(b),this.c(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)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a, -b){this.f(b,Y.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),this.c(this.b))))},mc,nc,Kc,mc,function(a,b){this.f(b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),M-this.c(this.b))))},Kc,Kc,oc,oc,function(a, -b){this.f(b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Nc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Nc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b), -this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b, -this.f(b,Oc.call(this,this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b,M-this.c(b))},function(a,b){this.f(this.b,this.f(b,M-this.c(b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),this.c(this.b))))},function(a,b){this.f(b,M-this.c(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b, -M-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b, -Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b))))},rc,rc,function(){this.f(this.b,M)},function(a,b){this.f(this.b,this.f(b,M))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,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)},oc,oc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, +Y.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),this.c(this.b))))},lc,mc,Jc,lc,function(a,b){this.f(b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),M-this.c(this.b)))}, +function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),M-this.c(this.b))))},Jc,Jc,nc,nc,function(a,b){this.f(b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Nc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Nc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.b))},function(a,b){this.f(this.b, +Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Oc.call(this,this.c(b), +this.b))},function(a,b){this.f(this.b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Oc.call(this,this.c(b),this.c(this.b))))},pc,pc,function(a,b){this.f(this.b,M-this.c(b))},function(a,b){this.f(this.b,this.f(b,M-this.c(b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M- +this.c(b),this.c(this.b))))},function(a,b){this.f(b,M-this.c(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b,M-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),M-this.c(this.b))))},function(a,b){this.f(b, +Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b))))},qc,qc,function(){this.f(this.b,M)},function(a,b){this.f(this.b,this.f(b,M))},rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc, +zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(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],Jc=[function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; -function Rc(a){w.call(this,"ROM",a);this.O=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.j=a.file;this.o=na(this.j);if(this.j){a=this.j;var b=oa(this.o);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(La(c.pa,a,b),(a=wa(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Sc(c)})}}n(Rc,w); -Rc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.v=d;Sc(this)};Rc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Rc.prototype.R=function(){return!0}; -function Sc(a){if(!Va(a)){if(a.j){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+ma(a.a.length,8,!0)+") does not match specified size ("+ma(a.g,8,!0)+")";a.h.error=!0;a.F(b)}else{b=a.l;if(Db(a.s,b,a.g,Lb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ma&&c<=q.$a&&(b=c-(q.Ma-q.Ua));b&&(a.preventDefault&&a.preventDefault(),d.ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Wa&&(b=q.Va);d.ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(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],Ic=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; +function Sc(a){w.call(this,"ROM",a);this.O=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.j=a.file;this.o=na(this.j);if(this.j){a=this.j;var b=oa(this.o);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(La(c.pa,a,b),(a=wa(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Tc(c)})}}n(Sc,w); +Sc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.v=d;Tc(this)};Sc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Sc.prototype.R=function(){return!0}; +function Tc(a){if(!Va(a)){if(a.j){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+ma(a.a.length,8,!0)+") does not match specified size ("+ma(a.g,8,!0)+")";a.h.error=!0;a.F(b)}else{b=a.l;if(Db(a.s,b,a.g,Lb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ma&&c<=q.$a&&(b=c-(q.Ma-q.Ua));b&&(a.preventDefault&&a.preventDefault(),d.ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Wa&&(b=q.Va);d.ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;G(this)}; -k.Ta=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.oa)return;c=ua(c[1]);if(this.a=Pa(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.pa+"."+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}; -k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ya=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bad){if(bd(d,this.C)){this.l=new Q(this,"1.34.2",kd);bd(this.l)&&(ld(this,d),a=md,nd(this.l));this.l.set(hd,va());od(this.l);var e=this.a&&!this.B;if(a==id||Oa("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=gd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?bd(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa(pd,""),this.b=null)):this.M(f+": "+g),nd(d),bd(d)?(c=gd(d),e=!0):c=!1))}e&&ed(this,c?d:null)}else a==md&&d.clear()}else ed(this);delete this.C;delete this.w}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.h.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(qd(this,this.i,b,c,a),S(this,-2),this.i.J());this.K&&(ld(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function ld(a,b){if(Oa("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} -function rd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.34.2"),g=new Q(a,"1.34.2",fd),h=va();g.set(hd,h);f.set(hd,h);f.set(sd,"1.34.2");f.set(td,window?window.location.href:null);f.set(ud,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),R(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l");if(2==c.length){var d=ta(c[0]);if(d!=this.oa)return;c=ta(c[1]);if(this.a=Pa(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.pa+"."+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}; +k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ya=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bbd){if(cd(d,this.C)){this.l=new Q(this,"1.34.2",ld);cd(this.l)&&(md(this,d),a=nd,od(this.l));this.l.set(id,va());pd(this.l);var e=this.a&&!this.B;if(a==jd||Oa("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=hd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?cd(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa(qd,""),this.b=null)):this.M(f+": "+g),od(d),cd(d)?(c=hd(d),e=!0):c=!1))}e&&fd(this,c?d:null)}else a==nd&&d.clear()}else fd(this);delete this.C;delete this.w}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.h.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(rd(this,this.i,b,c,a),S(this,-2),this.i.J());this.K&&(md(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function md(a,b){if(Oa("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} +function sd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.34.2"),g=new Q(a,"1.34.2",gd),h=va();g.set(id,h);f.set(id,h);f.set(td,"1.34.2");f.set(ud,window?window.location.href:null);f.set(vd,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),R(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l=d||30<=(c.Ba+=d))&&(e.textContent=c.h.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ba=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.A;d=!!(a.i.j&8);if(0>=b||60<=(a.B+=b)){e=a.i.o;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):ma(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.o:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\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(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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,x=/( [a-z]+=)(['"])(.*?)\2/g;p=x.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]*/, -"");a=a.replace(d[0],g);Cd(a,b,c)}})}else c(a,null)} -function Dd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ra(a))}function g(a){f("Error: "+a);p&&(--zd||Ha(!0));p=!1}var h,l,p=!0;zd++;Ma[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ta=document.createElement("style");ta.type="text/css";ta.styleSheet?ta.styleSheet.cssText=x:ta.appendChild(document.createTextNode(x));A.appendChild(ta)}d|| -(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?Ad(d,null,a,null,!1,f,function(a,e){e?(La(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--zd||Ha(!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),--zd|| -Ha(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ad(c,b,a,e,!0,f,x):Bd(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Ed){g(Ed.message)}return p}window.embedPDP10=function(a,b,c,d){Ha(!1);return Dd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ha(!1);return Dd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; +function S(a,b){if(a.i){var c=a.i,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.Ba+=d))&&(e.textContent=c.h.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ba=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.A;d=!!(a.i.l&8);if(0>=b||60<=(a.B+=b)){e=a.i.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):ma(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\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(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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,x=/( [a-z]+=)(['"])(.*?)\2/g;p=x.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]*/, +"");a=a.replace(d[0],g);Dd(a,b,c)}})}else c(a,null)} +function Ed(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ra(a))}function g(a){f("Error: "+a);p&&(--Ad||Ha(!0));p=!1}var h,l,p=!0;Ad++;Ma[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ua=document.createElement("style");ua.type="text/css";ua.styleSheet?ua.styleSheet.cssText=x:ua.appendChild(document.createTextNode(x));A.appendChild(ua)}d|| +(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?Bd(d,null,a,null,!1,f,function(a,e){e?(La(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Ad||Ha(!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),--Ad|| +Ha(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Bd(c,b,a,e,!0,f,x):Cd(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Fd){g(Fd.message)}return p}window.embedPDP10=function(a,b,c,d){Ha(!1);return Ed("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ha(!1);return Ed("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ra[a]){for(var c=!0,d=Ra,e=a,f=b.length,g=[],h=[],l="",p=null,x=0;x