From 93e35dfa1778d1ea5aa110ba3b33a9ae3bccb937 Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 8 Mar 2017 11:38:54 -0800 Subject: [PATCH] Ported the Int36 72-bit division code to the PDP-10 component --- modules/pdp10/lib/cpuops.js | 326 ++++++++++++++++++++++++++--- versions/pdpjs/1.34.2/pdp10-dbg.js | 326 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 178 ++++++++-------- 3 files changed, 556 insertions(+), 274 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 83e442a6b..7de4487ba 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -30,6 +30,7 @@ if (NODE) { var Str = require("../../shared/lib/strlib"); + var Component = require("../../shared/lib/component"); var PDP10 = require("./defines"); } @@ -1427,7 +1428,18 @@ PDP10.opIDIVB = function(op, acc) }; /** - * opDIV(0o234000) + * opDIV(0o234000): Divide + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-29: + * + * If the magnitude of the number in AC is greater than or equal to that of the operand specified by M, + * set Overflow and No Divide, and go immediately to the next instruction without affecting the original AC + * or memory operand in any way. Otherwise divide the double length number contained in accumulators A and A+1 + * by the specified operand, calculating a quotient of 35 magnitude bits including leading zeros. Place the + * unrounded quotient in the specified destination. If M specifies AC as a destination, place the remainder, + * with the same sign as the dividend, in accumulator A+1. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A],[A+1] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op @@ -1435,7 +1447,12 @@ PDP10.opIDIVB = function(op, acc) */ PDP10.opDIV = function(op, acc) { - this.opUndefined(op); + var ext = this.readWord(acc); + var dst = this.readWord((acc + 1) & 0o17); + dst = PDP10.doDIV.call(this, dst, ext, this.readWord(this.regEA)); + if (dst < 0) return; + this.writeWord(acc, dst); + this.writeWord((acc + 1) & 0o17, this.regExt); }; /** @@ -2023,7 +2040,41 @@ PDP10.opAOBJN = function(op, acc) }; /** - * opJRST(0o254000) + * opJRST(0o254000): Jump and Restore + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-57: + * + * Perform the functions specified by F, then take the next instruction from location E and continue sequential + * operation from there. Bits 9-12 are programmed as follows. + * + * 9 Restore the channel on which the highest priority interrupt is currently being held [§ 2.13]. + * + * Unless the User In-out flag is set, this function cannot be executed in a user program. Instead + * of restoring the channel, it stores its own instruction code, F and effective address E in bits 0-8, + * 9-12 and 18-35 respectively of unrelocated location 40 (clearing bits 13-17), and then executes the + * instruction contained in location 41, which is under control of the monitor [§ 2.15]. + * + * 10 Halt the processor. When it stops, the MA lights on the console display an address one greater + * than that of the location containing the instruction that caused the halt, and PC displays the jump + * address (the location from which the next instruction will be taken if the operator causes the processor + * to resume operation without changing PC). + * + * Unless the User In-out flag is set, this function cannot be executed in a user program. Instead of + * halting the processor, it stores its own instruction code, F and effective address E in Bits 0-8, 9-12 + * and 18-35 respectively of unrelocated location 40 (clearing bits 13-17), and then executes the + * instruction contained in location 41, which is under control of the monitor [§ 2.15]. + * + * 11 Restore the flags listed above from the left half of the word in the last location referenced in the + * effective address calculation. Hence to restore flags requires that the JRST instruction use indexing + * or indirect addressing. + * + * Restoration of all but the user flags is directly according to the contents of the corresponding bits + * as given above: a flag is set by a 1 in the bit, cleared by a 0. A 1 in bit 5 sets User but a 0 has no + * effect, so the Monitor can restart a user program by restoring flags but the user cannot leave user + * mode by this method. A 0 in bit 6 clears User In-out, but a 1 sets it only if the JRST is being + * executed by the Monitor, ie if User is clear. + * + * 12 Enter user mode. The user program starts at relocated location E. * * @this {CPUStatePDP10} * @param {number} op @@ -2204,7 +2255,17 @@ PDP10.opPOPJ = function(op, acc) }; /** - * opJSR(0o264000) + * opJSR(0o264000): Jump to Subroutine + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-57: + * + * Place the current contents of the flags (as described above) in the left half of location E and the + * contents of PC in the right half (at this time PC contains an address one greater than the location of + * the JSR instruction). Take the next instruction from location E + 1 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 @@ -2212,7 +2273,8 @@ PDP10.opPOPJ = function(op, acc) */ PDP10.opJSR = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.getPS() + this.getPC()); + this.setPC(this.regEA + 1); }; /** @@ -5447,6 +5509,96 @@ PDP10.doAND = function(dst, src) return ((((dst / PDP10.TWO_POW32)|0) & ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst & src) >>> 0); }; +/** + * doDIV(dst, ext, src) + * + * Used by callers to perform the division (DIV) of a 72-bit operand by a 36-bit operand. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} ext (36-bit value extension) + * @param {number} src (36-bit divisor) + * @return {number} (dst / src) (the remainder is stored in regExt); -1 if error (no division performed) + */ +PDP10.doDIV = function(dst, ext, src) +{ + var fNegQ = false, fNegR = false; + + dst = PDP10.merge72.call(this, dst, ext); + ext = this.regExt; + + if (src > PDP10.MAX_POS36) { + src = PDP10.WORD_LIMIT - src; + fNegQ = !fNegQ; + } + + if (ext > PDP10.MAX_POS36) { + if (dst) { + ext = PDP10.WORD_MASK - ext; + dst = PDP10.WORD_LIMIT - dst; + } + else { + if (ext) ext = PDP10.WORD_LIMIT - ext; + } + fNegR = true; fNegQ = !fNegQ; + } + + if (ext >= src) { + this.regPS |= PDP10.PSFLAG.NO_DIVIDE; + return -1; + } + + /* + * Initialize the four double-length 72-bit values we need for the division process. + * + * The process involves shifting the divisor left 1 bit (ie, doubling it) until it equals + * or exceeds the dividend, and then repeatedly subtracting the divisor from the dividend and + * shifting the divisor right 1 bit until the divisor is "exhausted" (no bits left), with an + * "early out" if the dividend gets "exhausted" first. + * + * Note that each element of these double arrays is a 36-bit value, so it's rarely a good idea + * to use bit-wise operators on them, because those would operate on only the low 32 bits. + * Stick with the double worker functions I've created, and trust your JavaScript engine to + * inline/optimize the code. + * + * TODO: Consider pre-allocating these double-length arrays to minimize the impact on GC. + */ + var dRes = [0, 0]; + var dPow = [1, 0]; + var dDiv = [src, 0]; + var dRem = [dst, ext]; + + while (PDP10.cmpD(dRem, dDiv) > 0) { + PDP10.addD(dDiv, dDiv); + PDP10.addD(dPow, dPow); + } + do { + if (PDP10.cmpD(dRem, dDiv) >= 0) { + PDP10.subD(dRem, dDiv); + PDP10.addD(dRes, dPow); + if (PDP10.zeroD(dRem)) break; + } + PDP10.shrD(dDiv); + PDP10.shrD(dPow); + } while (!PDP10.zeroD(dPow)); + + this.assert(!dRes[1], "extended quotient"); + this.assert(!dRem[1], "extended remainder"); + + dst = dRes[0]; + this.regExt = dRem[0]; + + if (fNegQ && dst) { + dst = PDP10.WORD_LIMIT - dst; + } + + if (fNegR && this.regExt) { + this.regExt = PDP10.WORD_LIMIT - this.regExt; + } + + return dst; +}; + /** * doEOR(dst, src) * @@ -5524,6 +5676,11 @@ PDP10.doIOR = function(dst, src) * * Used by callers to perform the multiplication (MUL) of two signed 36-bit operands. * + * To support 72-bit results, we perform the multiplication process as you would "by hand", + * treating the operands to be multiplied as two 2-digit numbers, where each "digit" is an 18-bit + * number (base 2^18). Each individual multiplication of these 18-bit "digits" will produce + * a result within 2^36, well within JavaScript integer accuracy. + * * @this {CPUStatePDP10} * @param {number} dst (36-bit value) * @param {number} src (36-bit value) @@ -5578,25 +5735,7 @@ PDP10.doMUL = function(dst, src) } } - /* - * We just produced a signed 72-bit result, whereas the PDP-10 stores 72-bit arithmetic values as two - * signed 36-bit results with matching signs. Since that's effectively only 70 bits of magnitude (with - * two sign bits), we lose one bit of magnitude. - * - * The conversion requires shifting ext left one bit so that we can move the high bit of res into the - * low bit of ext, and then set the sign bit of res to match the sign bit of ext. - */ - var sign = ext - (ext % PDP10.INT_LIMIT); - ext = ((ext * 2) % PDP10.WORD_LIMIT) + Math.trunc(res / PDP10.INT_LIMIT); - res = sign + (res % PDP10.INT_LIMIT); - var signNew = ext - (ext % PDP10.INT_LIMIT); - if (sign != signNew) { - ext = sign + (ext - signNew); - this.regPS |= PDP10.PSFLAG.OVFL; - } - - this.regExt = res; - return ext; + return PDP10.split72.call(this, res, ext); }; /** @@ -5653,6 +5792,65 @@ PDP10.doSUB = function(dst, src) return res; }; +/** + * merge72(dst, ext) + * + * Returns a unified 72-bit result from dst and ext. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} ext (36-bit value) + * @return {number} (returns the lower 36 bits; the upper 36 bits are stored in regExt) + */ +PDP10.merge72 = function(dst, ext) +{ + var sign = (ext - (ext % PDP10.INT_LIMIT)); + + /* + * Let's assert that the sign bits of both halves match. + */ + Component.assert(sign == (dst - (dst % PDP10.INT_LIMIT)), "sign mismatch"); + + /* + * Compute value without the sign bit and add the low bit of extended in its place. + */ + dst = (dst % PDP10.INT_LIMIT) + ((ext * PDP10.INT_LIMIT) % PDP10.WORD_LIMIT); + this.regExt = sign + Math.trunc(ext / 2); + return dst; +}; + +/** + * split72(res, ext) + * + * Returns two split 36-bit values from a 72-bit result. + * + * @this {CPUStatePDP10} + * @param {number} res (36-bit value) + * @param {number} ext (36-bit value) + * @return {number} (returns the upper 36 bits; the lower 36 bits are stored in regExt) + */ +PDP10.split72 = function(res, ext) +{ + /* + * We just produced a signed 72-bit result, whereas the PDP-10 stores 72-bit arithmetic values as two + * signed 36-bit results with matching signs. Since that's effectively only 70 bits of magnitude (with + * two sign bits), we lose one bit of magnitude. + * + * The conversion requires shifting ext left one bit so that we can move the high bit of res into the + * low bit of ext, and then set the sign bit of res to match the sign bit of ext. + */ + var sign = ext - (ext % PDP10.INT_LIMIT); + ext = ((ext * 2) % PDP10.WORD_LIMIT) + Math.trunc(res / PDP10.INT_LIMIT); + res = sign + (res % PDP10.INT_LIMIT); + var signNew = ext - (ext % PDP10.INT_LIMIT); + if (sign != signNew) { + ext = sign + (ext - signNew); + this.regPS |= PDP10.PSFLAG.OVFL; + } + this.regExt = res; + return ext; +}; + /** * setAddFlags(dst, src, res) * @@ -5783,6 +5981,86 @@ PDP10.setHR = function(op, dst, src) return dst; }; +/** + * addD(dDst, dSrc) + * + * Adds dSrc to dDst. + * + * @param {Array.} dDst + * @param {Array.} dSrc + */ +PDP10.addD = function(dDst, dSrc) +{ + dDst[0] += dSrc[0]; + dDst[1] += dSrc[1]; + if (dDst[0] >= PDP10.WORD_LIMIT) { + dDst[0] %= PDP10.WORD_LIMIT; + dDst[1]++; + } +}; + +/** + * cmpD(dDst, dSrc) + * + * Compares dDst to dSrc, by computing dDst - dSrc. + * + * @param {Array.} dDst + * @param {Array.} dSrc + * @return {number} > 0 if dDst > dSrc, == 0 if dDst == dSrc, < 0 if dDst < dSrc + */ +PDP10.cmpD = function(dDst, dSrc) +{ + var result = dDst[1] - dSrc[1]; + if (!result) result = dDst[0] - dSrc[0]; + return result; +}; + +/** + * shrD(dDst) + * + * Shifts dDst right one bit. + * + * @param {Array.} dDst + */ +PDP10.shrD = function(dDst) +{ + if (dDst[1] % 2) { + dDst[0] += PDP10.WORD_LIMIT; + } + dDst[0] = Math.trunc(dDst[0] / 2); + dDst[1] = Math.trunc(dDst[1] / 2); +}; + +/** + * subD(dDst, dSrc) + * + * Subtracts dSrc from dDst. + * + * @param {Array.} dDst + * @param {Array.} dSrc + */ +PDP10.subD = function(dDst, dSrc) +{ + dDst[0] -= dSrc[0]; + dDst[1] -= dSrc[1]; + if (dDst[0] < 0) { + dDst[0] += PDP10.WORD_LIMIT; + dDst[1]--; + } +}; + +/** + * zeroD(d) + * + * True if bits are all zero, false otherwise. + * + * @param {Array.} d + */ +PDP10.zeroD = function(d) +{ + return !d[0] && !d[1]; +}; + /* * If we want the basic half-word operations to handle all the sub-operations; ie: * diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 758eeac79..8e9b554fc 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -32,94 +32,96 @@ function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.protot oa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); var pa={ac:0,ub:1,cc:2,dc:3,ec:4,fc:5,gc:6,hc:7,gb:8,ic:9,vb:10,jc:11,kc:12,wb:13,lc:14,mc:15,nc:16,oc:17,pc:18,qc:19,rc:20,sc:21,tc:22,uc:23,vc:24,wc:25,xc: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,fb:65,$b:66,bc:67,yc:68,E:69,zc: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,yb: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,$c:108,ad:109,n:110,bd:111,p:112,q:113,r:114,cd:115,t:116,ed:117,fd:118,gd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,xb:127}; -function qa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function sa(a,b,c){b?12a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function sa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} -function Ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ia(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Ka(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, -g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} -function La(a,b){var c,d={Y:null,T:null,oa:null,na:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.oa=f.load;d.na=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c":">",'"':""","'":"'"};function Ia(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 Ka(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 La(a,b){var c,d={Y:null,U:null,pa:null,oa: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.pa=g.load;d.oa=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.U=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.La=this.id:(this.Ma=this.id.substr(0,a),this.La=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Za:!1,U:!1,error:!1};this.Qa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.pa=null;v.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date} +function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.tb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Ma=this.id:(this.Na=this.id.substr(0,a),this.Ma=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Za:!1,V:!1,error:!1};this.Qa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.qa=null;v.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date} function r(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(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.Kb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Cb,toggle:this.Vb,reset:this.Rb, +function $b(a,b){u.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.f=this.I=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=ac;this.B={};this.b={START:[1,1,!0,!1,this.Lb],STEP:[1,1,!1,!1,this.Mb],ENABLE:[1,1,!1,!1,this.Gb],CONT:[1,1,!0,!1,this.Eb],DEP:[0,0,!0,!1,this.Fb],EXAM:[1,1,!0,!1,this.Hb],LOAD:[1,1,!0,!1,this.Jb],TEST:[0,0,!0,!1,this.Ib]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Kb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Cb,toggle:this.Vb,reset:this.Rb, set:this.Ub};z(this)}p($b,u);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(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.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[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.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.za=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;ec(this);fc(this)};l.qa=function(a,b){if(!b)if(this.W&&gc(),!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 O(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; +l.ia=function(a,b,c,d){if(this.G&&this.G.ia(a,b,c,d)||this.v&&this.v.ia(a,b,c,d)||this.D&&this.D.ia(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[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.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):u.prototype.ia.call(this,a,b,c,d)}};l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;ec(this);fc(this)};l.ra=function(a,b){if(!b)if(this.T&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ha=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Rb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.B)jc(a,c,null!=b?b:a.B[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])} l.Cb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Ub=function(a,b){if("SR"==a)return ic(this,qa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Vb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1} -function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Lb=function(a){a||this.v.w.K||(this.v.A=this.f%A,this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Mb=function(){};l.Gb=function(a){a||this.v.V()}; -l.Eb=function(a){if(!a&&!this.v.w.K)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&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.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.C)return h.Ha+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.C+m;e=k+16384;g-=m;f++;continue}}return Kc(Lc,e,g)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+sa(b)),!0):Kc(Nc,b,c)} -function Ec(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Dc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;dd.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 Kc(Lc,e,f)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+sa(b)),!0):Kc(Nc,b,c)} +function Ec(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Dc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=hd(a)&&(a.ia=a.ka=-1,dd(a),a.V(),c=!0);c&&a.j(hd(a)+" cycles: checksum="+q(a.va))}} -l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Va*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&ld(a.G)}sc(a,a.M);a.M=0;a.L=ob();a.O=0;jd(a);return d}function md(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 nd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} -l.Sb=function(){if(this.w.K){this.Na>=this.Xa&&jd(this,!0);this.la=0;this.ua=ob();if(this.O){var a=this.ua-this.O;a>this.Wa&&(this.L+=a,this.L>this.ua&&(this.L=this.ua))}try{do{var b=md(this,this.w.Ea?1:this.xa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.la+=b;this.M+=b;tc(this,b);rc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.xa;++this.Ya>=pd&&(this.G&&P(this.G,void 0),this.Ya=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(ob(),hd(this));Ib(this, -e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.lb;this.O=ob();var c=this.Wa;this.la&&(c=Math.round(c*this.la/this.xa));var c=c-(this.O-this.ua),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,id(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Na+=this.la;this.O+=c;a(b,c)}}}; -function pc(a,b){if(!Jb(a))if(a.w.K)a.j(a.toString()+" busy");else{id(a);a.w.K=!0;a.w.Ta=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&ld(a.G,!0),a.G.start(a.L,hd(a)));a.D||a.status("Started");setTimeout(a.lb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){od(this);sc(this,this.M);this.M=0;this.w.K=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),hd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var kd=30,pd=15,ad=["power","reset"]; -function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.kb=b;this.Ka=+a.addrReset||0;this.zb=rd.bind(this);this.b=R.bind(this);this.sa=null;this.ib=[];this.w.complete=!1}p(qd,$c);l=qd.prototype;l.reset=function(){this.status("Model "+this.kb);this.w.K&&this.V();this.f=this.I=this.ya=0;this.A=this.ta=this.Ka;this.F=this.ma=-1;this.Oa=this.u=0;this.ra=this.A;this.B=0;this.g=this.Ob;this.i=this.Zb;this.sa=null;cd(this);this.w.error=!1;$c.prototype.reset.call(this)};l.rb=function(){return 0}; -l.save=function(){var a=new O(this);a.set(0,[this.f,this.I,this.ya,this.A,this.ma,this.F,this.u,this.B,this.ta,this.ra,this.Ka]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,sd(this));a.set(4,nd(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.I=b.next().value;this.ya=b.next().value;this.A=b.next().value;this.ma=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.ta=b.next().value;this.ra=b.next().value;this.Ka=b.next().value;b=a[2];this.S=b[0];id(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.Zb=function(a,b){var c=this.H;a=this.ra=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?ud(this.D)?1:this.w.Ta?-1:0:0,c=a?this.w.Ta?0:1:-1;this.w.Ta=!1;this.P=this.R=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(vd(this.D,this.A,c)){this.V();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.sa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&vd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.B&=15;this.I&4194304?this.I=this.g(this.f):0<=this.ma?(this.I=this.ya=this.g(this.ma),this.ma=-1):(this.I=this.ya= -this.g(this.ta=this.A),this.A=(this.A+1)%A);this.I&=8388607;this.f=this.I&262143;if(a=this.I>>18&15)this.f=this.f+this.g(a)&Qb;a=this.I&4194304?-1:this.ya/Yb|0;0<=a&&this.zb(a)}while(0>4].call(this,a,a&15)}function S(a){this.b(a)} +l.Nb=function(a,b){if(this.b&&null!=this.C){var c=this.b;Zc(c,this.C+a,2,c.M)&&c.W(!1)}return this.G(a,b)};l.Xb=function(a,b,c){if(this.b&&null!=this.C){var d=this.b;Zc(d,this.C+b,2,d.I)&&d.W(!1)}this.H?this.Ia(a,0,c):this.D(a,b,c)};var Qc=0,Rc=2,Mc=["NONE","RAM","ROM"],Pc=0,Uc=[],Tc=[Gc.prototype.Pb,Gc.prototype.Yb],Xc=[Gc.prototype.Nb,Gc.prototype.Xb]; +function $c(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ua=0;this.Xa=b;this.ea=c;this.Va=Math.round(this.Xa/1E4)/100;this.ba=this.Va*this.ea;this.Wa=this.ya=this.fa=this.Oa=0;this.w.L=this.w.Ta=!1;this.w.Z=a.autoStart;"string"==typeof this.w.Z&&(this.w.Z="true"==this.w.Z);this.w.Ea=!1;this.wa=this.ka=0;this.xa=+a.csStart;this.ja=+a.csInterval;this.la=+a.csStop;this.O=[];this.lb=this.Sb.bind(this);this.T=this.N=this.R=this.S=this.M=this.va=this.P=this.ma=this.Ya=this.aa= +0;this.Ka=null;z(this)}p($c,u);l=$c.prototype;l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Ka=a.u;for(a=0;a=a.ka&&(a.ka+=a.ja,c=!0);0<=a.la&&a.la<=hd(a)&&(a.ja=a.la=-1,dd(a),a.W(),c=!0);c&&a.j(hd(a)+" cycles: checksum="+q(a.wa))}} +l.ia=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.V)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;ca.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Va*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&ld(a.G)}sc(a,a.N);a.N=0;a.M=ob();a.P=0;jd(a);return d}function md(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c} +l.Sb=function(){if(this.w.L){this.Oa>=this.Xa&&jd(this,!0);this.ma=0;this.va=ob();if(this.P){var a=this.va-this.P;a>this.Wa&&(this.M+=a,this.M>this.va&&(this.M=this.va))}try{do{var b=md(this,this.w.Ea?1:this.ya);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.ma+=b;this.N+=b;tc(this,b);rc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.ya;++this.Ya>=pd&&(this.G&&P(this.G,void 0),this.Ya=0);break}}while(this.w.L)}catch(e){this.W();this.G&&this.G.stop(ob(),hd(this));Ib(this, +e.stack||e.message);return}if(this.w.L){a=setTimeout;b=this.lb;this.P=ob();var c=this.Wa;this.ma&&(c=Math.round(c*this.ma/this.ya));var c=c-(this.P-this.va),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,id(this)));if(0>c||this.aac&&(this.M-=c),c=0;this.Oa+=this.ma;this.P+=c;a(b,c)}}}; +function pc(a,b){if(!Jb(a))if(a.w.L)a.j(a.toString()+" busy");else{id(a);a.w.L=!0;a.w.Ta=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&ld(a.G,!0),a.G.start(a.M,hd(a)));a.D||a.status("Started");setTimeout(a.lb,0)}}l.Ja=function(){return 0};l.W=function(a){var b=!1;if(this.w.L){od(this);sc(this,this.N);this.N=0;this.w.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),hd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var kd=30,pd=15,ad=["power","reset"]; +function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.kb=b;this.La=+a.addrReset||0;this.zb=rd.bind(this);this.b=R.bind(this);this.ta=null;this.ib=[];this.w.complete=!1}p(qd,$c);l=qd.prototype;l.reset=function(){this.status("Model "+this.kb);this.w.L&&this.W();this.f=this.I=this.za=0;this.A=this.ua=this.La;this.F=this.na=-1;this.K=this.u=0;this.sa=this.A;this.B=0;this.g=this.Ob;this.i=this.Zb;this.ta=null;cd(this);this.w.error=!1;$c.prototype.reset.call(this)};l.rb=function(){return 0}; +l.save=function(){var a=new O(this);a.set(0,[this.f,this.I,this.za,this.A,this.na,this.F,this.u,this.B,this.ua,this.sa,this.La]);a.set(1,[]);a.set(2,[this.T,this.ea,this.w.Z]);a.set(3,sd(this));a.set(4,nd(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.I=b.next().value;this.za=b.next().value;this.A=b.next().value;this.na=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.ua=b.next().value;this.sa=b.next().value;this.La=b.next().value;b=a[2];this.T=b[0];id(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.Zb=function(a,b){var c=this.H;a=this.sa=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?ud(this.D)?1:this.w.Ta?-1:0:0,c=a?this.w.Ta?0:1:-1;this.w.Ta=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(vd(this.D,this.A,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.ta||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&vd(this.D,this.A,c)){this.W();break}if(0>c)break}}this.B&=15;this.I&4194304?this.I=this.g(this.f):0<=this.na?(this.I=this.za=this.g(this.na),this.na=-1):(this.I=this.za= +this.g(this.ua=this.A),this.A=(this.A+1)%A);this.I&=8388607;this.f=this.I&262143;if(a=this.I>>18&15)this.f=this.f+this.g(a)&Qb;a=this.I&4194304?-1:this.za/Yb|0;0<=a&&this.zb(a)}while(0>4].call(this,a,a&15)}function S(a){this.b(a)} function xd(){var a=0,b=this.g(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%I);this.i(this.f,b)}function yd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304;else{var c=this.F/Zb&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 zd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304,td(this,-1);else{var c=this.F/Zb&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%I;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Ad(a,b){this.i(b,this.g(this.f))}function Bd(a,b){this.i(b,this.f)}function Cd(a,b){this.i(this.f,this.g(b))}function Yd(a,b){this.i(b,0)}function Zd(a,b){this.i(b,H-this.g(b))}function $d(a,b){this.i(b,H)} +function zd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304,td(this,-1);else{var c=this.F/Zb&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%I;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Ad(a,b){this.i(b,this.g(this.f))}function Bd(a,b){this.i(b,this.f)}function Cd(a,b){this.i(this.f,this.g(b))}function Dd(a,b){this.i(b,0)}function Zd(a,b){this.i(b,H-this.g(b))}function $d(a,b){this.i(b,H)} function ae(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,be(a,d,c)+(c-(c&E)))}function ce(a,b){var c=this.g(b);this.i(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,be(a,c,b)+(b-(b&E)))}function ee(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&E,a){case 256:d+=E;break;case 384:d+=c>J?E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function fe(a,b){var c=(this.g(this.f)&E)*F,d=this.g(b);this.i(b,be(a,d,c)+c)} function ge(a,b){var c=this.f*F,d=this.g(b);this.i(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&E)*F;var c=this.g(this.f);this.i(this.f,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.f),d=(c&E)*F,c=be(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function je(a,b){var c=this.g(this.f)&E,d=this.g(b);this.i(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.i(b,ke(a,c,this.f)+this.f)}function me(a,b){b=this.g(b)&E;var c=this.g(this.f);this.i(this.f,ke(a,c,b)+b)} function ne(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=E,a){case 256:d+=E*F;break;case 384:d+=c>Sb?E*F:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function oe(a,b){var c=this.g(this.f)/F|0,d=this.g(b);this.i(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.i(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/F|0;var c=this.g(this.f);this.i(this.f,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.f),d=c/F|0,c=ke(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function U(a){se[a&7].call(this,a,a>>3&127)} -function te(){}function R(a){this.j("undefined opcode: "+sa(a));td(this,-1);this.V()}function ue(a){a>J&&(a!=Tb?a=Ub-a:this.u|=163840);return a}function ve(a,b){var c=(a+b)%I;we.call(this,a,b,c);return c}function V(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}function xe(a,b){return((a/K|0)^(b/K|0))*K+((a^b)>>>0)}function ye(a,b){return(~((a/K|0)^(b/K|0))&15)*K+(~(a^b)>>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)} -function ze(a,b){var c=b;b=!1;var d;a>J&&(a=I-a,b=!b);c>J&&(c=I-c,b=!b);if(aJ&&(a!=Tb?a=Ub-a:this.u|=163840);return a}function ve(a,b){var c=(a+b)%I;we.call(this,a,b,c);return c}function V(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}function xe(a,b){return((a/K|0)^(b/K|0))*K+((a^b)>>>0)}function ye(a,b){return(~((a/K|0)^(b/K|0))&15)*K+(~(a^b)>>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)} +function ze(a,b){var c=a,d=b;b=!1;var e;c>J&&(c=I-c,b=!b);d>J&&(d=I-d,b=!b);if(cc&&(c+=I);we.call(this,c,b,a);return c}function we(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);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 ke(a,b,c){switch(a&384){case 0:b-=b&E;break;case 128:b=0;break;case 256:b=E*F;break;case 384:b=c>Sb?E*F:0}return b}function be(a,b,c){switch(a&384){case 0:b&=E;break;case 128:b=0;break;case 256:b=E;break;case 384:b=c>J?E:0}return b} +function Ce(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=I&&(a[0]%=I,a[1]++)}function De(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Ee(a){a[1]%2&&(a[0]+=I);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)} var wd=[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,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},xd,function(a,b){0>this.F&&xd.call(this);yd.call(this,0,b)},yd,function(a,b){0>this.F&&xd.call(this);zd.call(this,0,b)},zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,Bd,Cd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/F|0)+a%F*F;this.i(b,a)},function(a,b){this.i(b,this.f*F)},function(a,b){a=this.g(b);a=(a/F|0)+a%F*F;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/F|0)+a%F*F;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Ae.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Ub-this.f:0)},function(a,b){this.i(this.f, -Ae.call(this,this.g(b)))},function(a,b){a=Ae.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,ue.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,ue.call(this,this.g(b)))},function(a,b){a=ue.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,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Oa)}, -function(a,b){this.i(b,ze.call(this,this.g(b),this.f));this.i(b+1&15,this.Oa)},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.Oa)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.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> -J?-(I-a):a;0d?G:0,c=Rb):(d=d*Math.pow(2,c)%G,c=G-Math.pow(2,35-c)),a<=J?a+c>J&&(this.u|=131072):a-c<=J&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+I: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)%I+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,b){a= -0;var c=this.g(b);if(c){for(;c>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Rb&&dRb&&eJ&&(this.u|=131072):e-c<=J&&(this.u|=131072);e=0;g>Rb&&(d+=G,e+=G)}else d=d*Math.pow(2,a)%G+Math.trunc(e%G/Math.pow(2,35-a)),e=e*Math.pow(2,a)%G,c=G-Math.pow(2,35-a),g<=J?g+c> -J&&(this.u|=131072):(g-c<=J&&(this.u|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d>Rb?H:0:Math.trunc(d%G/Math.pow(2,-a-35)),d<=Rb?d=0:(d=H,e+=G)):(c=d>Rb?I-Math.pow(2,36+a):0,e=Math.trunc(e%G/Math.pow(2,-a))+d%G*Math.pow(2,35+a)%G,d=Math.trunc(d/Math.pow(2,-a))+c,d>Rb&&(e+=G));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)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I+Math.trunc(e/Math.pow(2,36- -a))):(c=d*Math.pow(2,a-36)%I+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%I+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)%I,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+ -1&15,d)}},R,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/F|0,c=c&E;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&E,c=c+1&E,this.w.K||(this.i(b,d*F+c),a||td(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%A)},function(){this.ma=this.f},R,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&E,this.g(this.f));a>=I&&(a-=I);a/ -F|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&E);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=I);(a/F|0)==E&&(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&E)*F+this.A);this.A=this.f%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,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))))},function(a){this.b(a)},function(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.call(this,this.g(b)))},function(a,b){a=Ae.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,ue.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,ue.call(this,this.g(b)))},function(a,b){a=ue.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,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.K)},function(a, +b){this.i(b,ze.call(this,this.g(b),this.f));this.i(b+1&15,this.K)},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.K)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=this.g(b);var c=this.g(b+1&15);var d=c,e=a,f=this.g(this.f),c=a=!1,g=e-e%G,d=d%G+e*G%I,e=this.K=g+Math.trunc(e/2);f>J&&(f=I-f,a=!a);e>J&&(d?(e=H-e,d=I-d):e&& +(e=I-e),c=!0,a=!a);if(e>=f)this.u|=32,c=-1;else{for(var g=[0,0],h=[1,0],f=[f,0],e=[d,e];0d[0]&&(d[0]+=I,d[1]--);Ce(g,h);if(!e[0]&&!e[1])break}Ee(f);Ee(h)}while(h[0]||h[1]);d=g[0];this.K=e[0];a&&d&&(d=I-d);c&&this.K&&(this.K=I-this.K);c=d}0>c||(this.i(b,c),this.i(b+1&15,this.K))},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>J?-(I- +a):a;0d?G:0,c=Rb):(d=d*Math.pow(2,c)%G,c=G-Math.pow(2,35-c)),a<=J?a+c>J&&(this.u|=131072):a-c<=J&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+I: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)%I+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,b){a=0;var c= +this.g(b);if(c){for(;c>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Rb&&dRb&&eJ&&(this.u|=131072):e-c<=J&&(this.u|=131072);e=0;f>Rb&&(d+=G,e+=G)}else d=d*Math.pow(2,a)%G+Math.trunc(e%G/Math.pow(2,35-a)),e=e*Math.pow(2,a)%G,c=G-Math.pow(2,35-a),f<=J?f+c>J&&(this.u|= +131072):(f-c<=J&&(this.u|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d>Rb?H:0:Math.trunc(d%G/Math.pow(2,-a-35)),d<=Rb?d=0:(d=H,e+=G)):(c=d>Rb?I-Math.pow(2,36+a):0,e=Math.trunc(e%G/Math.pow(2,-a))+d%G*Math.pow(2,35+a)%G,d=Math.trunc(d/Math.pow(2,-a))+c,d>Rb&&(e+=G));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)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2, +a-36)%I+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%I+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)%I,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},R,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/F|0,c=c&E;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&E,c=c+1&E,this.w.L||(this.i(b,d*F+c),a||td(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%A)},function(){this.na=this.f},R,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&E,this.g(this.f));a>=I&&(a-=I);a/F|0||(this.u|=262144); +this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&E);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=I);(a/F|0)==E&&(this.u|=262144);this.i(b,a)},function(a){this.b(a)},function(){this.i(this.f,(this.u&E)*F+this.A);this.A=(this.f+1)%A},function(a,b){this.i(b,(this.u&E)*F+this.A);this.A=this.f%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,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))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(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,Yd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},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), +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Dd,Dd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},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,V.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.f))},function(a,b){this.i(this.f,V.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,H-this.g(b),this.g(this.f))))},Ad,Bd,te,Ad,function(a,b){this.i(b,V.call(this,this.g(b),H-this.g(this.f)))}, function(a,b){this.i(b,V.call(this,this.g(b),H-this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),H-this.g(this.f))))},te,te,Cd,Cd,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, W.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,W.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.f))},function(a,b){this.i(this.f,V.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,H-this.g(b),H- @@ -131,111 +133,111 @@ function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a) function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],se=[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 Ce(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=va(this.A);if(this.A){a=this.A;var b=wa(this.F);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(mb(c.Ma,a,b),(a=La(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);De(c)})}}p(Ce,u); -Ce.prototype.za=function(a,b,c,d){this.H=b;this.v=c;this.D=d;De(this)};Ce.prototype.qa=function(){this.T&&(this.D&&Ee(this.D,this.id,this.B,this.u,this.T),delete this.T);return!0};Ce.prototype.ga=function(){return!0}; -function De(a){if(!Kb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ib(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(Jc(a.H,b,a.u,Rc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=-Tb&&(f+=I);for(var f=Math.trunc(Math.abs(f))%I,h=d;g--&&h=pa.fb&&c<=pa.yb&&(b=c-(pa.fb-pa.ub));b&&(a.preventDefault&&a.preventDefault(),d.Ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==pa.wb&&(b=pa.vb);d.Ra(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.Ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.za=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)}; -l.sb=function(a){if(!this.b){var b=bd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ha(c[0]);if(d!=this.La)return;c=Ha(c[1]);if(this.b=sb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.qa=function(a,b){if(!b)if(this.sb(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 O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ra=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 g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ha(b.substring(c,g))),c=g+1}}return a} -function Me(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; -case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function Ne(a,b,c){var d;if(b){b=Oe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,fa--;f=t+f;d>>=8}d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} -function Se(a,b){if(b)return Re(a,b,a.W[b]);var c=0;for(b in a.W)Re(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 Qe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Te(a){Ke.call(this,a);this.wa=!1;this.la=!0;this.va=Y();this.L=Y(0);this.ja=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];Ue(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ve(this);this.D=this;this.ma={};this.X=this.ob=0;this.S=null;this.O=[];We(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.ya=this.xa=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b, -a)})}p(Te,Ke);function Xe(a){a=a&&a.C;null==a&&(a=-1);return a}function Y(a,b,c){return{C:void 0===a?null:a,Pa:void 0===b?!1:b,fa:!1,ca:c}}function Ye(a,b,c,d){a.C=b;a.Pa=c||!1;a.fa=!1;a.ca=d}function Ze(a){return[a.C,a.Pa,a.fa,a.ca,a.Sa]}function $e(a,b){var c=Y(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.mb=Le(a,c.Sa=b[4]));return c}l=Te.prototype; -l.za=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=bd(a,"messages"))&&We(this,a);af(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Xe(bf(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=Mc[c],n&&d.j(q(n.id,8)+" %"+q(e<>>f.f;0>>= +f.f;0>>a.f;0g&&g>=-Tb&&(g+=I);for(var g=Math.trunc(Math.abs(g))%I,h=d;f--&&h=pa.fb&&c<=pa.yb&&(b=c-(pa.fb-pa.ub));b&&(a.preventDefault&&a.preventDefault(),d.Ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==pa.wb&&(b=pa.vb);d.Ra(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.Ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)}; +l.sb=function(a){if(!this.b){var b=bd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ha(c[0]);if(d!=this.Ma)return;c=Ha(c[1]);if(this.b=sb(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.Na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ra=function(a,b){if(!b)if(this.sb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ha=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ra=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(Ha(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 Qe(a,b,c){var d;if(b){b=Re(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,fa--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+sa(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.T[b]);var c=0;for(b in a.T)Ue(a,b,a.T[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=X();this.K=X(0);this.ja=X(0);this.ba=X(0);this.F=[];this.b=this.M=this.I=[];Xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ye(this);this.D=this;this.ma={};this.X=this.ob=0;this.S=null;this.O=[];Ze(this,a.messages);this.ua=a.commands;this.N=0;this.za=this.ta=null;this.B=this.ya=this.xa=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b, +a)})}p(We,Ne);function $e(a){a=a&&a.C;null==a&&(a=-1);return a}function X(a,b,c){return{C:void 0===a?null:a,Pa:void 0===b?!1:b,ga:!1,ca:c}}function af(a,b,c,d){a.C=b;a.Pa=c||!1;a.ga=!1;a.ca=d}function bf(a){return[a.C,a.Pa,a.ga,a.ca,a.Sa]}function cf(a,b){var c=X(b[0],b[1],b[2]);c.ga=b[3];b[4]&&(c.mb=Oe(a,c.Sa=b[4]));return c}l=We.prototype; +l.Aa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=bd(a,"messages"))&&Ze(this,a);df(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=$e(ef(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=Mc[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.ta==b&&(b=td(a.v,1)));if(0d&&(d=a.v.g(b)),0<=d&&(Ye(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function vf(a,b,c,d){var e=Y(b.C),g=a.Aa(b,1),f,h,k,m=0,n=g/Wb|0,t;for(t in wf)if(f=wf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=xf;m=n&3;break;case 32256:k=dg;m=n&7;break;case 29248:k=fg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>gg&&(k="B");k=hg[f||0]+k;if(f){if(28700==h)m=g/Xb&127,h=Q(a,m,-1);else if(m=g>>23&15,h=Q(a,m,-1),f==ig&&(f=jg[m]))k=hg[f],h="";k=Ba(k,8)+(h?h+",":"");g&4194304&&(k+="@");k+=Q(a,g&262143,-1);(g=g>>18&15)&&(k+="("+Q(a,g,-1)+")")}else k=Ba(k,8)+df(g);g=k;f="";h=Z(a, -e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Aa(e,1),f+=" "+df(k),null==e.C)break;while(e.C!=b.C)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+hd(a.v).toString()+" cs="+q(a.v.va)):h+(null!=d?"="+d.toString():""));return h}function Ue(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.f],!0);a.I=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||kg(this,a,b,!1,!0);if(a!=this.b){var e=Xe(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var g=this.H;g.b[e>>>g.f].Da(e&16383,a==this.I)}}d&&(a.push(b),c?b.fa=!0:(lg(this,a,a.length-1,"set"),Ve(this)));return d};function kg(a,b,c,d,e){var g=!1;c=Xe(c);for(var f=1;f>>d.f],b==a.I));h.fa||Ve(a);break}}return g} -function mg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=sa(d,2);Ye(e.va,d);g+="="+Q(e,e.Aa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=jf?1:d==gf?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],t=Ia(n,k,a.pb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({dd:b,C:c,Db:d,T:e,nb:g})}function pg(a,b,c){var d=[],e=Xe(b)>>>0;for(b=0;b>>0,h=g.Db;if(e>=f&&eb){a.j("unknown register: "+g);return}var g=0,h=a.v;switch(b){case ff:h.A= -f%A;Ye(a.L,h.A);break;case jf:g=65536;break;case kf:g=32768;break;case lf:g=131072;break;case mf:g=32;break;case nf:g=262144}g&&(h.u=f?h.u|g:h.u&~g);P(a.G);a.j("updated registers:")}}a.j(og(a,e));c&&(Ye(a.L,d.A),tf(a,Z(a,a.L)))}}function tg(a,b){b=Ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.C=m.C;h.Pa=m.Pa;h.fa=m.fa;h.ca=m.ca;a.j(vf(a,b,f,g));e-=b.C-k;c++}}} -function ng(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(rf+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(Kb(a)&&0n||"z"gg&&(Gd="B");if(Dd== -hg[rb]+Gd){Af=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Fd|Af<<6)*Wb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Hd=vc.split(","),Va=0;VaL||127L||15L||262143L||15ha.length&&(a.j("note: only "+ha.length+" available"),X=ha.length);ca-=X;0>ca&&(null==ha[ha.length-1].C?(X=ca+X,ca=0):ca+=ha.length);var Md=[];"call"==Gf&&(tb=1E5,Md=["CALL"]);for(void 0!==Ff&& -a.j(X+" instructions earlier:");0=ha.length&&(ca=0);a.sa=X;If++;tb--}}If||(a.j("no "+Hf+"history available"),a.sa=void 0)}else{var ab=bf(a,ga,a.ja);if(ab){var Da=0,Lf="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||Yg,Da=Pe(a,ta);else{var Mf=bf(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=$g}}}}break;case "e":if("else"==f[0])break;var Rf,Sf,Tf=f[0],Pd=f[1];"e"==Tf||"ew"==Tf?(Rf=a.Aa,Sf=a.hb):Pd=null;if(null== -Pd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=bf(a,Pd,a.ja);if(zc)for(var Ac=2;AcTd;){for(var Ga=null,dh=256;65536>wb.C>>>0;){Ud.C=a.Aa(wb,2);if(null==wb.C||!dh--)break;if(!(Ud.C&1)){for(var eh=a,Bc=Ud,Vf=null,xb=Bc.C,Wf=xb, -Vd=1;6>=Vd&&xb;Vd++){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=Y(a.v.A);a.Aa(cg);a.N?(a.Da(a.b,cg,!0),pf(a)||(a.G&&ld(a.G),a.N=0)):ug(a,bg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var zb=+f[2];if(8==zb||10==zb||16==zb)a.ca=zb;else{a.j("invalid base: "+zb);break}}a.j("default base: "+a.ca);break;case "cs":var Ab;void 0!==f[3]&&(Ab=+f[3]);switch(f[2]){case "int":a.v.ia=Ab;break;case "start":a.v.wa=Ab;break;case "stop":a.v.ka=Ab;break;default:a.j("unknown cs option");break a}void 0!== -Ab&&dd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(id(a.v,+f[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(f[1]){a.j("unknown option: "+f[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":ug(a,f[0],f[1]);break;case "u":tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){rg(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.kb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){tg(a,b.substr(1));break}var Wd="commands:",Xd;for(Xd in wg)Wd+="\n"+Ba(Xd,9)+wg[Xd];ud(a)||(Wd+="\nnote: history disabled if no exec breakpoints");a.j(Wd);break;default:g=!0}g&&(a.j("unknown command: "+ -b),d=!1)}}catch(eg){a.j("debugger error: "+(eg.stack||eg.message)),d=!1}return d}function gd(a,b,c){b=Le(a,b,c);for(var d in b)if(!ng(a,b[+d]))return!1;return!0} -var wg={"?":"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"},gg=20,ig=85,hg=".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(" "), -ff=0,gf=1,hf=2,jf=3,kf=4,lf=5,mf=6,nf=7,ef="PC RA EA C0 C1 OV ND PD".split(" "),xg={},wf=(xg[28672]={0:101},xg[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:ig,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},xg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:gg,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},xg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},xg[29248]={24576:79,24640:80,25088:81,25152:82},xg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},xg),xf=["","I","M","S"],dg=" L E LE A GE N G".split(" "),fg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),jg={8:102,4:103,2:104,6:105,1:106},of=1E3,rf=">> ";eb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bBg){if(Cg(d,this.M)){this.B=new O(this,"1.34.2",Lg);Cg(this.B)&&(Mg(this,d),a=Ng,Og(this.B));this.B.set(Ig,Ja());Pg(this.B);var e=this.b&&!this.L;if(a==Jg||pb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=Hg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Cg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Pa(Qg,""),this.f=null)):this.j(g+": "+f),Og(d),Cg(d)?(c=Hg(d),e=!0):c=!1))}e&&Fg(this,c?d:null)}else a==Ng&&d.clear()}else Fg(this);delete this.M;delete this.I}e=qb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Rg(this,this.v,b,c,a),P(this,-2),this.v.Z());this.P&&(Mg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0}; -function Mg(a,b){if(pb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}} -function vg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new O(a,"1.34.2"),f=new O(a,"1.34.2",Gg),h=Ja();f.set(Ig,h);g.set(Ig,h);g.set(Sg,"1.34.2");g.set(Tg,window?window.location.href:null);g.set(Ug,window?window.navigator.userAgent:"");a.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&&g.set(a.v.id,d),c&&(a.v.w.U=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;kd&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.v.ua==b&&(b=td(a.v,1)));if(0d&&(d=a.v.g(b)),0<=d&&(af(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function yf(a,b,c,d){var e=X(b.C),f=a.Ba(b,1),g,h,k,m=0,n=f/Wb|0,t;for(t in zf)if(g=zf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=Af;m=n&3;break;case 32256:k=gg;m=n&7;break;case 29248:k=ig,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>jg&&(k="B");k=kg[g||0]+k;if(g){if(28700==h)m=f/Xb&127,h=Q(a,m,-1);else if(m=f>>23&15,h=Q(a,m,-1),g==lg&&(g=mg[m]))k=kg[g],h="";k=Ba(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=Q(a,f&262143,-1);(f=f>>18&15)&&(k+="("+Q(a,f,-1)+")")}else k=Ba(k,8)+gf(f);f=k;g="";h=Z(a, +e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Ba(e,1),g+=" "+gf(k),null==e.C)break;while(e.C!=b.C)}h+=Ba(g,16)+f;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+hd(a.v).toString()+" cs="+q(a.v.wa)):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.I)for(b=1;b>>d.f],!0);a.I=["bw"];a.na=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||ng(this,a,b,!1,!0);if(a!=this.b){var e=$e(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.I)}}d&&(a.push(b),c?b.ga=!0:(og(this,a,a.length-1,"set"),Ye(this)));return d};function ng(a,b,c,d,e){var f=!1;c=$e(c);for(var g=1;g>>d.f],b==a.I));h.ga||Ye(a);break}}return f} +function pg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=sa(d,2);af(e.va,d);f+="="+Q(e,e.Ba(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d=mf?1:d==kf?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],t=Ia(n,k,a.pb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({dd:b,C:c,Db:d,U:e,nb:f})}function sg(a,b,c){var d=[],e=$e(b)>>>0;for(b=0;b>>0,h=f.Db;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case jf:h.A= +g%A;af(a.K,h.A);break;case mf:f=65536;break;case nf:f=32768;break;case of:f=131072;break;case pf:f=32;break;case qf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);P(a.G);a.j("updated registers:")}}a.j(rg(a,e));c&&(af(a.K,d.A),wf(a,Z(a,a.K)))}}function wg(a,b){b=Ha(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.Pa=m.Pa;h.ga=m.ga;h.ca=m.ca;a.j(yf(a,b,g,f));e-=b.C-k;c++}}} +function qg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(uf+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(Kb(a)&&0n||"z"jg&&(Hd="B");if(Ed== +kg[rb]+Hd){Df=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Gd|Df<<6)*Wb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Id=vc.split(","),Va=0;VaL||127L||15L||262143L||15ha.length&&(a.j("note: only "+ha.length+" available"),Y=ha.length);ca-=Y;0>ca&&(null==ha[ha.length-1].C?(Y=ca+Y,ca=0):ca+=ha.length);var Nd=[];"call"==Jf&&(tb=1E5,Nd=["CALL"]);for(void 0!==If&& +a.j(Y+" instructions earlier:");0=ha.length&&(ca=0);a.sa=Y;Lf++;tb--}}Lf||(a.j("no "+Kf+"history available"),a.sa=void 0)}else{var ab=ef(a,ga,a.ja);if(ab){var Da=0,Of="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||ah,Da=Se(a,ta);else{var Pf=ef(a,ta);Pf&&(Da=Pf.C-ab.C)}0>Da&&(Da=0);65536Tf;Tf++)Rf+=String.fromCharCode((yc%64|0)+32),yc/=64}Ea&&(Ea+="\n");Ea=Of?Ea+(Fa+","):Ea+(ga+": "+Fa+(0>Sf?" "+Rf:""))}Ea&&a.j(Ea);a.ca=ch}}}}break;case "e":if("else"==g[0])break;var Uf,Vf,Wf=g[0],Qd=g[1];"e"==Wf||"ew"==Wf?(Uf=a.Ba,Vf=a.hb):Qd=null;if(null== +Qd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=ef(a,Qd,a.ja);if(zc)for(var Ac=2;AcUd;){for(var Ga=null,gh=256;65536>wb.C>>>0;){Vd.C=a.Ba(wb,2);if(null==wb.C||!gh--)break;if(!(Vd.C&1)){for(var hh=a,Bc=Vd,Yf=null,xb=Bc.C,Zf=xb, +Wd=1;6>=Wd&&xb;Wd++){if(2eg)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 fg=X(a.v.A);a.Ba(fg);a.N?(a.Da(a.b,fg,!0),sf(a)||(a.G&&ld(a.G),a.N=0)):xg(a,eg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}vf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var zb=+g[2];if(8==zb||10==zb||16==zb)a.ca=zb;else{a.j("invalid base: "+zb);break}}a.j("default base: "+a.ca);break;case "cs":var Ab;void 0!==g[3]&&(Ab=+g[3]);switch(g[2]){case "int":a.v.ja=Ab;break;case "start":a.v.xa=Ab;break;case "stop":a.v.la=Ab;break;default:a.j("unknown cs option");break a}void 0!== +Ab&&dd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(id(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"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":xg(a,g[0],g[1]);break;case "u":wf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ug(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.kb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){wg(a,b.substr(1));break}var Xd="commands:",Yd;for(Yd in zg)Xd+="\n"+Ba(Yd,9)+zg[Yd];ud(a)||(Xd+="\nnote: history disabled if no exec breakpoints");a.j(Xd);break;default:f=!0}f&&(a.j("unknown command: "+ +b),d=!1)}}catch(hg){a.j("debugger error: "+(hg.stack||hg.message)),d=!1}return d}function gd(a,b,c){b=Oe(a,b,c);for(var d in b)if(!qg(a,b[+d]))return!1;return!0} +var zg={"?":"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"},jg=20,lg=85,kg=".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(" "), +jf=0,kf=1,lf=2,mf=3,nf=4,of=5,pf=6,qf=7,hf="PC RA EA C0 C1 OV ND PD".split(" "),Ag={},zf=(Ag[28672]={0:101},Ag[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:lg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Ag[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:jg,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},Ag[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Ag[29248]={24576:79,24640:80,25088:81,25152:82},Ag[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},Ag),Af=["","I","M","S"],gg=" L E LE A GE N G".split(" "),ig="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),mg={8:102,4:103,2:104,6:105,1:106},rf=1E3,uf=">> ";eb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bEg){if(Fg(d,this.M)){this.B=new O(this,"1.34.2",Og);Fg(this.B)&&(Pg(this,d),a=Qg,Rg(this.B));this.B.set(Lg,Ja());Sg(this.B);var e=this.b&&!this.K;if(a==Mg||pb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=Kg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Fg(d,g):("error"==f&&"no machine state"!= +g?(this.da("Error: "+g),"unable to verify user"==g&&(Pa(Tg,""),this.f=null)):this.j(f+": "+g),Rg(d),Fg(d)?(c=Kg(d),e=!0):c=!1))}e&&Ig(this,c?d:null)}else a==Qg&&d.clear()}else Ig(this);delete this.M;delete this.I}e=qb(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.w.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Ug(this,this.v,b,c,a),P(this,-2),this.v.Z());this.P&&(Pg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0}; +function Pg(a,b){if(pb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}} +function yg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Jg),h=Ja();g.set(Lg,h);f.set(Lg,h);f.set(Vg,"1.34.2");f.set(Wg,window?window.location.href:null);f.set(Xg,window?window.navigator.userAgent:"");a.v&&a.v.ha&&(c&&(b&&(a.v.w.Z=a.v.w.L),a.v.W()),d=a.v.ha(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.w.V=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k=d||30<=(c.Ua+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ua=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.J.PC){var g=a.D&&a.D.ca||8,e=e||0,e=8==g?sa(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.L=0}-1>b?a.f=a.v.A:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);nh(a,b,c)}})}else c(a,null)} -function oh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--kh||ib(!0));m=!1}var h,k,m=!0;kh++;nb[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?lh(d,null,a,null,!1,g,function(a,e){e?(mb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--kh||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--kh|| -ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?lh(c,b,a,e,!0,g,n):mh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(fa){f(fa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return oh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return oh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n=d||30<=(c.Ua+=d))&&(e.textContent=c.w.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Ua=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.A;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?sa(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=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+"...");Ka(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);qh(a,b,c)}})}else c(a,null)} +function rh(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=za(a))}function g(a){f("Error: "+a);m&&(--nh||ib(!0));m=!1}var h,k,m=!0;nh++;nb[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?oh(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--nh||ib(!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),--nh|| +ib(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?oh(c,b,a,e,!0,f,n):ph(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){ib(!1);return rh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return rh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;na?this.qa=this.id:(this.ra=this.id.substr(0,a),this.qa=this.id.substr(a+1));this.h={ready:!1,wa:!1,Ia:!1,D:!1,error:!1};this.ya=null;this.h.error=!1;this.w=this.i=this.s=this.u=this.ba=null;y.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date} +function w(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Qa=b.comment;this.Va=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.ra=this.id:(this.sa=this.id.substr(0,a),this.ra=this.id.substr(a+1));this.h={ready:!1,wa:!1,Ia:!1,F:!1,error:!1};this.ya=null;this.h.error=!1;this.w=this.i=this.s=this.u=this.ca=null;y.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date} function t(a){window&&window.alert(a)}function Ma(a){var b=!1;window&&(b=window.confirm(a));return b}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.w=this.i=this.s=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, +function bb(a,b){w.call(this,"Panel",a);this.B=this.C=0;this.P=b;this.b=this.v=this.g=this.j=0;this.D=this.I=-1;this.K=this.L=this.o=!1;this.N=cb;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.w=this.i=this.s=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, set:this.vb};G(this)}n(bb,w);k=bb.prototype;k.reset=function(a){this.stop();a&&db(this,this.j=0)}; k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.i&&this.i.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){eb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){eb(a, b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fb(a,b)}}(this,b),!0):w.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.w=d;gb(this);hb(this)};k.V=function(a,b){if(!b)if(this.P&&ib(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new R(this);a.set(0,[this.b,this.j,this.g]);return a.data()}; @@ -64,111 +64,113 @@ k.restore=function(a){if(a=a[0])jb(this,this.b=a[0]),db(this,this.j=a[1]),kb(thi k.eb=function(a,b,c){if(eb(this,b)){if(c){var d=this;setTimeout(function(){fb(d,b);a&&a()},+c);return!1}fb(this,b)}return!0}; k.vb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);db(this,this.j=a)}};k.kb=function(a){a||this.i.h.A||jb(this,this.g)};k.jb=function(a){a?(this.o=!0,gb(this,!0)):(this.o=!1,gb(this),kb(this,0))};k.lb=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.Aa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.Aa){p=h.size-(e-l);p>f&&(p=f);h.Aa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Bb(Cb,e,f)}e=new U(a,e,p,16384,d);yb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Db[d]+" at "+ja(b)),!0):Bb(Eb,b,c)}function wb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--} +function Ab(a,b,c,d){for(var e=b,f=c,g=e>>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.ba)return h.Aa+=h.ba-e,h.ba=e,!0;if(e>=h.ba+h.Aa){p=h.size-(e-l);p>f&&(p=f);h.Aa=e-h.ba+p;e=l+16384;f-=p;g++;continue}}return Bb(Cb,e,f)}e=new U(a,e,p,16384,d);yb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Db[d]+" at "+ja(b)),!0):Bb(Eb,b,c)}function wb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--} function zb(a){for(var b=0,c=[],d=0;d=a.X&&(a.X+=a.ja,c=!0);0<=a.ka&&a.ka<=Ub(a)&&(a.ja=a.ka=-1,Tb(a),S(a),c=!0);c&&a.M(Ub(a)+" cycles: checksum="+ka(a.sa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.h.D)a=!0;else{var b=null,c,h=z(a.id);for(c=0;ca.P/a.W&&(b=1);a.ca=b;b=a.Ea*a.ca;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}tb(a,a.C);a.C=0;a.B=La();a.I=0;Wb(a)}function Yb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zb(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} -k.tb=function(){if(this.h.A){this.ua>=this.Ga&&Wb(this,!0);this.ea=0;this.ia=La();if(this.I){var a=this.ia-this.I;a>this.Fa&&(this.B+=a,this.B>this.ia&&(this.B=this.ia))}try{do{for(var b,c=this.h.xa?1:this.la,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.Ba(b)}catch(f){if("number"!=typeof f)throw f;}b=Zb(this,!0);this.ea+=b;this.C+=b;ub(this,b);sb(this,b);this.da-=b;if(0>=this.da){this.da+=this.la;++this.Ha>=$b&&(this.u&&T(this.u,void 0),this.Ha=0);break}}while(this.h.A)}catch(f){S(this); -this.u&&this.u.stop(La(),Ub(this));a=f.stack||f.message;this.h.error=!0;this.F(a);return}if(this.h.A){a=setTimeout;b=this.Ra;this.I=La();c=this.Fa;this.ea&&(c=Math.round(c*this.ea/this.la));c-=this.I-this.ia;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Vb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.ua+=this.ea;this.I+=c;a(b,c)}}}; -function rb(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{Vb(a);a.h.A=!0;a.h.La=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Ub(a));a.w||a.status("Started");setTimeout(a.Ra,0)}}k.Ba=function(){return 0};function S(a){var b=!1;if(a.h.A){Zb(a);tb(a,a.C);a.C=0;a.h.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(La(),Ub(a));b=!0;a.w||a.status("Stopped")}a.h.complete=void 0;return b}var Xb=30,$b=15,Qb=["power","reset"]; -function ac(a){var b=+a.model||1001;Pb.call(this,a,1E6);this.$a=b;this.pa=+a.addrReset||0;this.bb=bc.bind(this);this.a=V.bind(this);this.ha=null;this.Pa=[];this.h.complete=!1}n(ac,Pb);k=ac.prototype;k.reset=function(){this.status("Model "+this.$a);this.h.A&&S(this);this.b=this.v=this.ma=0;this.j=this.Da=this.pa;this.o=this.fa=-1;this.va=this.g=0;this.ga=this.j;this.l=0;this.c=this.pb;this.f=this.Ab;this.ha=null;Sb(this);this.h.error=!1;Pb.prototype.reset.call(this)};k.Ta=function(){return 0}; -k.save=function(){var a=new R(this);a.set(0,[this.b,this.v,this.ma,this.j,this.fa,this.o,this.g,this.l,this.Da,this.ga,this.pa]);a.set(1,[]);a.set(2,[this.N,this.ca,this.h.J]);a.set(3,cc(this));a.set(4,Yb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.v=b.next().value;this.ma=b.next().value;this.j=b.next().value;this.fa=b.next().value;this.o=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Da=b.next().value;this.ga=b.next().value;this.pa=b.next().value;b=a[2];this.N=b[0];Vb(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.Ab=function(a,b){var c=this.s;a=this.ga=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; -k.Ba=function(a){this.h.complete=!0;var b=a?this.h.La?0:1:-1;this.h.La=!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.ha||(this.l&=-3):this.l&1&&this.l++,a=!1;if(a){if(this.l&4&&this.w.j(this.j,b)){S(this);break}if(0>b)break}this.l&=15;this.v&4194304?this.v=this.c(this.b):0<=this.fa?(this.v=this.ma=this.c(this.fa),this.fa=-1):(this.v=this.ma=this.c(this.Da=this.j),this.j=(this.j+1)%I);this.v&=8388607;this.b=this.v&262143;if(a=this.v>>18&15)this.b=this.b+this.c(a)& -Va;a=this.v&4194304?-1:this.ma/$a|0;0<=a&&this.bb(a)}while(0>4].call(this,a,a&15)}function W(a){this.a(a)}function fc(){var a=0,b=this.c(this.b),c=b/ab&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ab+(d<<24)+(b&16777215);a&&(b=(b+a)%O);this.f(this.b,b)} +function Pb(a,b){w.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Ca=0;this.Ga=b;this.ea=c;this.Ea=Math.round(this.Ga/1E4)/100;this.X=this.Ea*this.ea;this.Fa=this.ma=this.fa=this.va=0;this.h.A=this.h.La=!1;this.h.J=a.autoStart;"string"==typeof this.h.J&&(this.h.J="true"==this.h.J);this.h.xa=!1;this.ta=this.da=0;this.ua=+a.csStart;this.ka=+a.csInterval;this.la=+a.csStop;this.I=[];this.Ra=this.tb.bind(this);this.P=this.D=this.L=this.N=this.C=this.ja=this.K=this.ga=this.Ha=this.W=0;this.pa= +null;G(this)}n(Pb,w);k=Pb.prototype;k.Z=function(a,b,c,d){this.u=a;this.s=b;this.w=d;this.pa=a.g;for(a=0;a=a.da&&(a.da+=a.ka,c=!0);0<=a.la&&a.la<=Ub(a)&&(a.ka=a.la=-1,Tb(a),S(a),c=!0);c&&a.M(Ub(a)+" cycles: checksum="+ka(a.ta))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.h.F)a=!0;else{var b=null,c,h=z(a.id);for(c=0;ca.W/a.X&&(b=1);a.ea=b;b=a.Ea*a.ea;if(a.X!=b){a.X=b;b=a.X.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ca&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ca.focus(),window&&window.scrollTo(b,d)))}tb(a,a.D);a.D=0;a.C=La();a.K=0;Wb(a)}function Yb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zb(a,b){var c=a.L-=a.N;a.N=0;b&&(a.L=0);return c} +k.tb=function(){if(this.h.A){this.va>=this.Ga&&Wb(this,!0);this.ga=0;this.ja=La();if(this.K){var a=this.ja-this.K;a>this.Fa&&(this.C+=a,this.C>this.ja&&(this.C=this.ja))}try{do{for(var b,c=this.h.xa?1:this.ma,d=this.I.length-1;0<=d;d--){var e=this.I[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ba(b)}catch(f){if("number"!=typeof f)throw f;}b=Zb(this,!0);this.ga+=b;this.D+=b;ub(this,b);sb(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.ma;++this.Ha>=$b&&(this.u&&T(this.u,void 0),this.Ha=0);break}}while(this.h.A)}catch(f){S(this); +this.u&&this.u.stop(La(),Ub(this));a=f.stack||f.message;this.h.error=!0;this.G(a);return}if(this.h.A){a=setTimeout;b=this.Ra;this.K=La();c=this.Fa;this.ga&&(c=Math.round(c*this.ga/this.ma));c-=this.K-this.ja;if(d=this.K-this.C)this.W=Math.round(this.D/(10*d))/100,864E5<=d&&(this.P=0,Vb(this));if(0>c||this.Wc&&(this.C-=c),c=0;this.va+=this.ga;this.K+=c;a(b,c)}}}; +function rb(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{Vb(a);a.h.A=!0;a.h.La=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.C,Ub(a));a.w||a.status("Started");setTimeout(a.Ra,0)}}k.Ba=function(){return 0};function S(a){var b=!1;if(a.h.A){Zb(a);tb(a,a.D);a.D=0;a.h.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(La(),Ub(a));b=!0;a.w||a.status("Stopped")}a.h.complete=void 0;return b}var Xb=30,$b=15,Qb=["power","reset"]; +function ac(a){var b=+a.model||1001;Pb.call(this,a,1E6);this.$a=b;this.qa=+a.addrReset||0;this.bb=bc.bind(this);this.a=V.bind(this);this.ia=null;this.Pa=[];this.h.complete=!1}n(ac,Pb);k=ac.prototype;k.reset=function(){this.status("Model "+this.$a);this.h.A&&S(this);this.b=this.v=this.na=0;this.j=this.Da=this.qa;this.o=this.aa=-1;this.B=this.g=0;this.ha=this.j;this.l=0;this.c=this.pb;this.f=this.Ab;this.ia=null;Sb(this);this.h.error=!1;Pb.prototype.reset.call(this)};k.Ta=function(){return 0}; +k.save=function(){var a=new R(this);a.set(0,[this.b,this.v,this.na,this.j,this.aa,this.o,this.g,this.l,this.Da,this.ha,this.qa]);a.set(1,[]);a.set(2,[this.P,this.ea,this.h.J]);a.set(3,cc(this));a.set(4,Yb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.v=b.next().value;this.na=b.next().value;this.j=b.next().value;this.aa=b.next().value;this.o=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Da=b.next().value;this.ha=b.next().value;this.qa=b.next().value;b=a[2];this.P=b[0];Vb(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.Ab=function(a,b){var c=this.s;a=this.ha=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; +k.Ba=function(a){this.h.complete=!0;var b=a?this.h.La?0:1:-1;this.h.La=!1;this.L=this.N=a;this.l=this.l&-5|0;do{if(a=this.l)if(a=this.l&11)this.l&2?this.ia||(this.l&=-3):this.l&1&&this.l++,a=!1;if(a){if(this.l&4&&this.w.j(this.j,b)){S(this);break}if(0>b)break}this.l&=15;this.v&4194304?this.v=this.c(this.b):0<=this.aa?(this.v=this.na=this.c(this.aa),this.aa=-1):(this.v=this.na=this.c(this.Da=this.j),this.j=(this.j+1)%I);this.v&=8388607;this.b=this.v&262143;if(a=this.v>>18&15)this.b=this.b+this.c(a)& +Va;a=this.v&4194304?-1:this.na/$a|0;0<=a&&this.bb(a)}while(0>4].call(this,a,a&15)}function W(a){this.a(a)}function fc(){var a=0,b=this.c(this.b),c=b/ab&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ab+(d<<24)+(b&16777215);a&&(b=(b+a)%O);this.f(this.b,b)} function gc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.v=this.b|4194304;else{var c=this.o/ab&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 hc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.v=this.b|4194304,dc(this);else{var c=this.o/ab&63,d=this.o>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%O;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.o=-1}}function ic(a,b){this.f(b,this.c(this.b))} function jc(a,b){this.f(b,this.b)}function kc(a,b){this.f(this.b,this.c(b))}function lc(a,b){this.f(b,0)}function mc(a,b){this.f(b,N-this.c(b))}function nc(a,b){this.f(b,N)}function oc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,pc(a,d,c)+(c-(c&J)))}function qc(a,b){var c=this.c(b);this.f(b,pc(a,c,0))}function rc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,pc(a,c,b)+(b-(b&J)))} function sc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&J,a){case 256:d+=J;break;case 384:d+=c>P?J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function tc(a,b){var c=(this.c(this.b)&J)*K,d=this.c(b);this.f(b,pc(a,d,c)+c)}function uc(a,b){var c=this.b*K,d=this.c(b);this.f(b,pc(a,d,c)+c)}function vc(a,b){b=(this.c(b)&J)*K;var c=this.c(this.b);this.f(this.b,pc(a,c,b)+b)}function wc(a,b){var c=this.c(this.b),d=(c&J)*K,c=pc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} function xc(a,b){var c=this.c(this.b)&J,d=this.c(b);this.f(b,yc(a,d,c)+c)}function zc(a,b){var c=this.c(b);this.f(b,yc(a,c,this.b)+this.b)}function Ac(a,b){b=this.c(b)&J;var c=this.c(this.b);this.f(this.b,yc(a,c,b)+b)}function Bc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=J,a){case 256:d+=J*K;break;case 384:d+=c>Wa?J*K:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Cc(a,b){var c=this.c(this.b)/K|0,d=this.c(b);this.f(b,yc(a,d,c)+c)}function Dc(a,b){var c=this.c(b);this.f(b,yc(a,c,0))} function Ec(a,b){b=this.c(b)/K|0;var c=this.c(this.b);this.f(this.b,yc(a,c,b)+b)}function Fc(a,b){var c=this.c(this.b),d=c/K|0,c=yc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Gc[a&7].call(this,a,a>>3&127)}function Hc(){}function V(a){this.M("undefined opcode: "+ja(a));dc(this);S(this)}function Ic(a){a>P&&(a!=Xa?a=Ya-a:this.g|=163840);return a}function Jc(a,b){var c=(a+b)%O;Kc.call(this,a,b,c);return c}function Y(a,b){return((a/Q|0)&(b/Q|0))*Q+((a&b)>>>0)} function Lc(a,b){return((a/Q|0)^(b/Q|0))*Q+((a^b)>>>0)}function Mc(a,b){return(~((a/Q|0)^(b/Q|0))&15)*Q+(~(a^b)>>>0)}function Z(a,b){return(a/Q|0|b/Q|0)*Q+((a|b)>>>0)} -function Nc(a,b){var c=b;b=!1;var d;a>P&&(a=O-a,b=!b);c>P&&(c=O-c,b=!b);if(aP&&(c=O-c,b=!b);d>P&&(d=O-d,b=!b);if(cc&&(c+=O);Kc.call(this,c,b,a);return c}function Kc(a,b,c){a=Math.trunc(a/Za);b=Math.trunc(b/Za);c=Math.trunc(c/Za);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 yc(a,b,c){switch(a&384){case 0:b-=b&J;break;case 128:b=0;break;case 256:b=J*K;break;case 384:b=c>Wa?J*K:0}return b}function pc(a,b,c){switch(a&384){case 0:b&=J;break;case 128:b=0;break;case 256:b=J;break;case 384:b=c>P?J:0}return b} +function Qc(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=O&&(a[0]%=O,a[1]++)}function Rc(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Sc(a){a[1]%2&&(a[0]+=O);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)} var ec=[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},fc,function(a,b){0>this.o&&fc.call(this);gc.call(this,0,b)},gc,function(a,b){0>this.o&&fc.call(this);hc.call(this,0,b)},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)},ic,jc,kc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/K|0)+a%K*K;this.f(b,a)},function(a,b){this.f(b,this.b*K)},function(a,b){a=this.c(b);a=(a/K|0)+a%K*K;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/K|0)+a%K*K;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Oc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b?Ya-this.b:0)},function(a,b){this.f(this.b, -Oc.call(this,this.c(b)))},function(a,b){a=Oc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Ic.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,Ic.call(this,this.c(b)))},function(a,b){a=Ic.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,Nc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.va)}, -function(a,b){this.f(b,Nc.call(this,this.c(b),this.b));this.f(b+1&15,this.va)},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))));this.f(b+1&15,this.va)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.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> -P?-(O-a):a;0d?M:0,c=L):(d=d*Math.pow(2,c)%M,c=M-Math.pow(2,35-c)),a<=P?a+c>P&&(this.g|=131072):a-c<=P&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+O: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)%O+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,b){a= -0;var c=this.c(b);if(c){for(;c>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0L&&dL&&eP&&(this.g|=131072):e-c<=P&&(this.g|=131072);e=0;f>L&&(d+=M,e+=M)}else d=d*Math.pow(2,a)%M+Math.trunc(e%M/Math.pow(2,35-a)),e=e*Math.pow(2,a)%M,c=M-Math.pow(2,35-a),f<=P?f+c>P&& -(this.g|=131072):(f-c<=P&&(this.g|=131072),d+=M,e+=M)}else-36>=a?(e=-72>=a?d>L?N:0:Math.trunc(d%M/Math.pow(2,-a-35)),d<=L?d=0:(d=N,e+=M)):(c=d>L?O-Math.pow(2,36+a):0,e=Math.trunc(e%M/Math.pow(2,-a))+d%M*Math.pow(2,35+a)%M,d=Math.trunc(d/Math.pow(2,-a))+c,d>L&&(e+=M));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)%O+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%O+Math.trunc(e/Math.pow(2,36-a))):(c= -d*Math.pow(2,a-36)%O+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%O+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)%O,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}}, -V,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/K|0,c=c&J;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&J,c=c+1&J,this.h.A||(this.f(b,d*K+c),a||dc(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%I)},function(){this.fa=this.b},V,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&J,this.c(this.b));a>=O&&(a-=O);a/K|0||(this.g|= -262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&J);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=O);(a/K|0)==J&&(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&J)*K+this.j);this.j=this.b%I},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Jc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Jc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Jc.call(this,this.c(b),this.c(this.b)))}, -function(a,b){this.f(this.b,this.f(b,Jc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Pc.call(this,this.c(b),this.b))},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))))},function(a){this.a(a)},function(a){this.a(a)},function(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.call(this,this.c(b)))},function(a,b){a=Oc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Ic.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,Ic.call(this,this.c(b)))},function(a,b){a=Ic.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,Nc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.B)},function(a, +b){this.f(b,Nc.call(this,this.c(b),this.b));this.f(b+1&15,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))));this.f(b+1&15,this.B)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){a=this.c(b);var c=this.c(b+1&15);var d=c,e=a,f=this.c(this.b),c=a=!1,g=e-e%M,d=d%M+e*M%O,e=this.B=g+Math.trunc(e/2);f>P&&(f=O-f,a=!a);e>P&&(d?(e=N-e,d=O-d):e&& +(e=O-e),c=!0,a=!a);if(e>=f)this.g|=32,c=-1;else{for(var g=[0,0],h=[1,0],f=[f,0],e=[d,e];0d[0]&&(d[0]+=O,d[1]--);Qc(g,h);if(!e[0]&&!e[1])break}Sc(f);Sc(h)}while(h[0]||h[1]);d=g[0];this.B=e[0];a&&d&&(d=O-d);c&&this.B&&(this.B=O-this.B);c=d}0>c||(this.f(b,c),this.f(b+1&15,this.B))},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>P?-(O- +a):a;0d?M:0,c=L):(d=d*Math.pow(2,c)%M,c=M-Math.pow(2,35-c)),a<=P?a+c>P&&(this.g|=131072):a-c<=P&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+O: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)%O+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,b){a=0;var c= +this.c(b);if(c){for(;c>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0L&&dL&&eP&&(this.g|=131072):e-c<=P&&(this.g|=131072);e=0;f>L&&(d+=M,e+=M)}else d=d*Math.pow(2,a)%M+Math.trunc(e%M/Math.pow(2,35-a)),e=e*Math.pow(2,a)%M,c=M-Math.pow(2,35-a),f<=P?f+c>P&&(this.g|= +131072):(f-c<=P&&(this.g|=131072),d+=M,e+=M)}else-36>=a?(e=-72>=a?d>L?N:0:Math.trunc(d%M/Math.pow(2,-a-35)),d<=L?d=0:(d=N,e+=M)):(c=d>L?O-Math.pow(2,36+a):0,e=Math.trunc(e%M/Math.pow(2,-a))+d%M*Math.pow(2,35+a)%M,d=Math.trunc(d/Math.pow(2,-a))+c,d>L&&(e+=M));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)%O+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%O+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2, +a-36)%O+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%O+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)%O,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},V,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/K|0,c=c&J;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&J,c=c+1&J,this.h.A||(this.f(b,d*K+c),a||dc(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%I)},function(){this.aa=this.b},V,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&J,this.c(this.b));a>=O&&(a-=O);a/K|0||(this.g|=262144);this.f(b, +a)},function(a,b){a=this.c(b);var c=this.c(a&J);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=O);(a/K|0)==J&&(this.g|=262144);this.f(b,a)},function(a){this.a(a)},function(){this.f(this.b,(this.g&J)*K+this.j);this.j=(this.b+1)%I},function(a,b){this.f(b,(this.g&J)*K+this.j);this.j=this.b%I},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Jc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Jc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Jc.call(this, +this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Jc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Pc.call(this,this.c(b),this.b))},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))))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(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,lc,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,N-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,N-this.c(b),this.c(this.b))))},ic,jc,Hc,ic,function(a,b){this.f(b,Y.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(b, -Y.call(this,this.c(b),N-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),N-this.c(this.b))))},Hc,Hc,kc,kc,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,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,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),N-this.b))},function(a,b){this.f(this.b,Y.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,N-this.c(b),N-this.c(this.b))))},function(a, -b){this.f(b,Mc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Mc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Mc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Mc.call(this,this.c(b),this.c(this.b))))},mc,mc,function(a,b){this.f(this.b,N-this.c(b))},function(a,b){this.f(this.b,this.f(b,N-this.c(b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),this.b))},function(a,b){this.f(this.b, -Z.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,N-this.c(b),this.c(this.b))))},function(a,b){this.f(b,N-this.c(this.b))},function(a,b){this.f(b,N-this.b)},function(){this.f(this.b,N-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),N-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),N-this.c(this.b)))},function(a, -b){this.f(this.b,this.f(b,Z.call(this,this.c(b),N-this.c(this.b))))},function(a,b){this.f(b,Z.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),N-this.b))},function(a,b){this.f(this.b,Z.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,N-this.c(b),N-this.c(this.b))))},nc,nc,function(){this.f(this.b,N)},function(a,b){this.f(this.b,this.f(b,N))},oc,qc,rc,sc,tc,uc,vc,wc,oc,qc,rc,sc,tc,uc,vc,wc,oc,qc,rc,sc,tc,uc,vc,wc,oc, -qc,rc,sc,tc,uc,vc,wc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(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,lc,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,N-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,N-this.c(b),this.c(this.b))))},ic,jc,Hc,ic,function(a,b){this.f(b,Y.call(this,this.c(b),N-this.c(this.b)))}, +function(a,b){this.f(b,Y.call(this,this.c(b),N-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),N-this.c(this.b))))},Hc,Hc,kc,kc,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, +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,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),N-this.b))},function(a,b){this.f(this.b,Y.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,N-this.c(b),N- +this.c(this.b))))},function(a,b){this.f(b,Mc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Mc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Mc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Mc.call(this,this.c(b),this.c(this.b))))},mc,mc,function(a,b){this.f(this.b,N-this.c(b))},function(a,b){this.f(this.b,this.f(b,N-this.c(b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),this.b))}, +function(a,b){this.f(this.b,Z.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,N-this.c(b),this.c(this.b))))},function(a,b){this.f(b,N-this.c(this.b))},function(a,b){this.f(b,N-this.b)},function(){this.f(this.b,N-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),N-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),N- +this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),N-this.c(this.b))))},function(a,b){this.f(b,Z.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),N-this.b))},function(a,b){this.f(this.b,Z.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,N-this.c(b),N-this.c(this.b))))},nc,nc,function(){this.f(this.b,N)},function(a,b){this.f(this.b,this.f(b,N))},oc,qc,rc,sc,tc,uc,vc,wc,oc,qc,rc,sc,tc,uc,vc,wc, +oc,qc,rc,sc,tc,uc,vc,wc,oc,qc,rc,sc,tc,uc,vc,wc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(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],Gc=[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 Qc(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=la(this.j);if(this.j){a=this.j;var b=ma(this.o);"json"!=b&&"hex"!=b&&(a=oa()+"/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):(Ja(c.ra,a,b),(a=ta(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Rc(c)})}}n(Qc,w); -Qc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.w=d;Rc(this)};Qc.prototype.V=function(){this.O&&(this.w&&this.w.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Qc.prototype.R=function(){return!0}; -function Rc(a){if(!Ta(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 ("+ka(a.a.length,8,!0)+") does not match specified size ("+ka(a.g,8,!0)+")";a.h.error=!0;a.F(b)}else{b=a.l;if(Ab(a.s,b,a.g,Ib)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-Xa&&(g+=O);for(var g=Math.trunc(Math.abs(g))%O,h=d;f--&&h=q.Na&&c<=q.ab&&(b=c-(q.Na-q.Wa));b&&(a.preventDefault&&a.preventDefault(),d.za(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ya&&(b=q.Xa);d.za(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)},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],Gc=[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 Tc(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=la(this.j);if(this.j){a=this.j;var b=ma(this.o);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ja(c.sa,a,b),(a=ta(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Uc(c)})}}n(Tc,w); +Tc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.w=d;Uc(this)};Tc.prototype.V=function(){this.O&&(this.w&&this.w.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Tc.prototype.R=function(){return!0}; +function Uc(a){if(!Ta(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 ("+ka(a.a.length,8,!0)+") does not match specified size ("+ka(a.g,8,!0)+")";a.h.error=!0;a.G(b)}else{b=a.l;if(Ab(a.s,b,a.g,Ib)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-Xa&&(g+=O);for(var g=Math.trunc(Math.abs(g))%O,h=d;f--&&h=q.Na&&c<=q.ab&&(b=c-(q.Na-q.Wa));b&&(a.preventDefault&&a.preventDefault(),d.za(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ya&&(b=q.Xa);d.za(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.za(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.w=d;G(this)}; -k.Ua=function(a){if(!this.a){var b=Rb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ra(c[0]);if(d!=this.qa)return;c=ra(c[1]);if(this.a=Na(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.ra+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ua(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 R(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.za=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;b$c){if(ad(d,this.C)){this.l=new R(this,"1.34.2",jd);ad(this.l)&&(kd(this,d),a=ld,md(this.l));this.l.set(gd,sa());nd(this.l);var e=this.a&&!this.B;if(a==hd||Ma("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=fd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ad(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(od,""),this.b=null)):this.M(f+": "+g),md(d),ad(d)?(c=fd(d),e=!0):c=!1))}e&&dd(this,c?d:null)}else a==ld&&d.clear()}else dd(this);delete this.C;delete this.v}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&&(pd(this,this.i,b,c,a),T(this,-2),this.i.J());this.K&&(kd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function kd(a,b){if(Ma("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 qd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new R(a,"1.34.2"),g=new R(a,"1.34.2",ed),h=sa();g.set(gd,h);f.set(gd,h);f.set(rd,"1.34.2");f.set(sd,window?window.location.href:null);f.set(td,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),S(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=ra(c[0]);if(d!=this.ra)return;c=ra(c[1]);if(this.a=Na(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.sa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ua(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 R(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.za=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;bcd){if(dd(d,this.C)){this.l=new R(this,"1.34.2",md);dd(this.l)&&(nd(this,d),a=od,pd(this.l));this.l.set(jd,sa());qd(this.l);var e=this.a&&!this.B;if(a==kd||Ma("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=id(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?dd(d,g):("error"==f&&"no machine state"!= +g?(this.G("Error: "+g),"unable to verify user"==g&&(ya(rd,""),this.b=null)):this.M(f+": "+g),pd(d),dd(d)?(c=id(d),e=!0):c=!1))}e&&gd(this,c?d:null)}else a==od&&d.clear()}else gd(this);delete this.C;delete this.v}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.h.F=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(sd(this,this.i,b,c,a),T(this,-2),this.i.J());this.K&&(nd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function nd(a,b){if(Ma("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 td(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new R(a,"1.34.2"),g=new R(a,"1.34.2",hd),h=sa();g.set(jd,h);f.set(jd,h);f.set(ud,"1.34.2");f.set(vd,window?window.location.href:null);f.set(wd,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),S(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.F=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l=d||30<=(c.Ca+=d))&&(e.textContent=c.h.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ca=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.w&&a.w.l||8,e=e||0,e=8==f?ja(e,void 0):ka(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);Bd(a,b,c)}})}else c(a,null)} -function Cd(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=pa(a))}function g(a){f("Error: "+a);p&&(--yd||Fa(!0));p=!1}var h,l,p=!0;yd++;Ka[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?zd(d,null,a,null,!1,f,function(a,e){e?(Ja(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--yd||Fa(!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),--yd|| -Fa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?zd(c,b,a,e,!0,f,x):Ad(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Dd){g(Dd.message)}return p}window.embedPDP10=function(a,b,c,d){Fa(!1);return Cd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fa(!1);return Cd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; +function T(a,b){if(a.i){var c=a.i,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.h.A?c.W.toFixed(2)+"Mhz":"Stopped",c.Ca=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.w&&a.w.l||8,e=e||0,e=8==f?ja(e,void 0):ka(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);Ed(a,b,c)}})}else c(a,null)} +function Fd(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=pa(a))}function g(a){f("Error: "+a);p&&(--Bd||Fa(!0));p=!1}var h,l,p=!0;Bd++;Ka[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?Cd(d,null,a,null,!1,f,function(a,e){e?(Ja(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Bd||Fa(!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),--Bd|| +Fa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Cd(c,b,a,e,!0,f,x):Dd(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Gd){g(Gd.message)}return p}window.embedPDP10=function(a,b,c,d){Fa(!1);return Fd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fa(!1);return Fd("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&&!Pa[a]){for(var c=!0,d=Pa,e=a,f=b.length,g=[],h=[],l="",p=null,x=0;x