From 01550cc95e46ba16dbac79a5a7f5c8372cd6a82e Mon Sep 17 00:00:00 2001 From: Jeff Date: Sun, 2 Apr 2017 10:35:59 -0700 Subject: [PATCH] Well, that was brutal, but ALL the PDP-10 DAKAL multiplication and division tests FINALLY pass --- modules/pdp10/lib/cpuops.js | 62 +++++++------ versions/pdpjs/1.34.3/pdp10-dbg.js | 138 ++++++++++++++--------------- versions/pdpjs/1.34.3/pdp10.js | 38 ++++---- 3 files changed, 125 insertions(+), 113 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index ed55f1a35..382d3637e 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1431,7 +1431,7 @@ PDP10.opMULB = function(op, ac) */ PDP10.opIDIV = function(op, ac) { - var dst = PDP10.doDIV.call(this, this.readWord(ac), 0, this.readWord(this.regEA)); + var dst = PDP10.doDIV.call(this, this.readWord(this.regEA), this.readWord(ac)); if (dst < 0) return; this.writeWord(ac, dst); this.writeWord((ac + 1) & 0o17, this.regEX); @@ -1456,7 +1456,7 @@ PDP10.opIDIV = function(op, ac) */ PDP10.opIDIVI = function(op, ac) { - var dst = PDP10.doDIV.call(this, this.readWord(ac), 0, this.regEA); + var dst = PDP10.doDIV.call(this, this.regEA, this.readWord(ac)); if (dst < 0) return; this.writeWord(ac, dst); this.writeWord((ac + 1) & 0o17, this.regEX); @@ -1481,7 +1481,7 @@ PDP10.opIDIVI = function(op, ac) */ PDP10.opIDIVM = function(op, ac) { - var dst = PDP10.doDIV.call(this, this.readWord(ac), 0, this.readWord(this.regEA)); + var dst = PDP10.doDIV.call(this, this.readWord(this.regEA), this.readWord(ac)); if (dst < 0) return; this.writeWord(this.regEA, dst); }; @@ -1505,9 +1505,10 @@ PDP10.opIDIVM = function(op, ac) */ PDP10.opIDIVB = function(op, ac) { - var dst = PDP10.doDIV.call(this, this.readWord(ac), 0, this.readWord(this.regEA)); + var dst = PDP10.doDIV.call(this, this.readWord(this.regEA), this.readWord(ac)); if (dst < 0) return; - this.writeWord(this.regEA, dst); + this.writeWord(this.regEA, this.writeWord(ac, dst)); + this.writeWord((ac + 1) & 0o17, this.regEX); }; /** @@ -1532,7 +1533,7 @@ PDP10.opDIV = function(op, ac) { var ext = this.readWord(ac); var dst = this.readWord((ac + 1) & 0o17); - dst = PDP10.doDIV.call(this, dst, ext, this.readWord(this.regEA)); + dst = PDP10.doDIV.call(this, this.readWord(this.regEA), dst, ext); if (dst < 0) return; this.writeWord(ac, dst); this.writeWord((ac + 1) & 0o17, this.regEX); @@ -1560,7 +1561,7 @@ PDP10.opDIVI = function(op, ac) { var ext = this.readWord(ac); var dst = this.readWord((ac + 1) & 0o17); - dst = PDP10.doDIV.call(this, dst, ext, this.regEA); + dst = PDP10.doDIV.call(this, this.regEA, dst, ext); if (dst < 0) return; this.writeWord(ac, dst); this.writeWord((ac + 1) & 0o17, this.regEX); @@ -1588,7 +1589,7 @@ PDP10.opDIVM = function(op, ac) { var ext = this.readWord(ac); var dst = this.readWord((ac + 1) & 0o17); - dst = PDP10.doDIV.call(this, dst, ext, this.readWord(this.regEA)); + dst = PDP10.doDIV.call(this, this.readWord(this.regEA), dst, ext); if (dst < 0) return; this.writeWord(this.regEA, dst); }; @@ -1615,7 +1616,7 @@ PDP10.opDIVB = function(op, ac) { var ext = this.readWord(ac); var dst = this.readWord((ac + 1) & 0o17); - dst = PDP10.doDIV.call(this, dst, ext, this.readWord(this.regEA)); + dst = PDP10.doDIV.call(this, this.readWord(this.regEA), dst, ext); if (dst < 0) return; this.writeWord(ac, this.writeWord(this.regEA, dst)); this.writeWord((ac + 1) & 0o17, this.regEX); @@ -1643,7 +1644,7 @@ PDP10.opDIVB = function(op, ac) * by 2. * * The number of places shifted is specified by the result of the effective address calculation - * taken as a signed number (in twos complement notation) modulo 28 in magnitude. In other words + * taken as a signed number (in twos complement notation) modulo 2^8 in magnitude. In other words * the effective shift E is the number composed of bit 18 (which is the sign) and bits 28-35 of the * calculation result. Hence the programmer may specify the shift directly in the instruction * (perhaps indexed) or give an indirect address to be used in calculating the shift. A positive E @@ -6226,20 +6227,36 @@ PDP10.doADD = function(dst, src) }; /** - * doDIV(dst, ext, src) + * doDIV(src, dst, ext) * * Performs 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) + * @param {number} dst (36-bit value) + * @param {number} [ext] (36-bit value extension) * @return {number} (dst / src) (the remainder is stored in regEX); -1 if error (no division performed) */ -PDP10.doDIV = function(dst, ext, src) +PDP10.doDIV = function(src, dst, ext) { var fNegQ = false, fNegR = false; + if (ext === undefined) { + if (!src) { + this.regPS |= PDP10.PSFLAG.DCK | PDP10.PSFLAG.AROV; + return -1; + } + ext = (dst > PDP10.INT_MASK)? PDP10.WORD_MASK : 0; + } else { + var srcAbs = (src < PDP10.INT_LIMIT? src : PDP10.TWO_POW36 - src); + var dstAbs = (dst < PDP10.INT_LIMIT? dst : PDP10.TWO_POW36 - dst); + var extAbs = (ext < PDP10.INT_LIMIT? ext : PDP10.TWO_POW36 - ext - (dstAbs? 1 : 0)); + if (extAbs >= srcAbs) { + this.regPS |= PDP10.PSFLAG.DCK | PDP10.PSFLAG.AROV; + return -1; + } + } + dst = PDP10.merge72.call(this, dst, ext); ext = this.regEX; @@ -6259,11 +6276,6 @@ PDP10.doDIV = function(dst, ext, src) fNegR = true; fNegQ = !fNegQ; } - if (ext >= src) { - this.regPS |= PDP10.PSFLAG.DCK | PDP10.PSFLAG.AROV; - return -1; - } - /* * Initialize the four double-length 72-bit values we need for the division process. * @@ -6515,14 +6527,14 @@ PDP10.merge72 = function(dst, ext) var sign = (ext - (ext % PDP10.INT_LIMIT)); /* - * Let's assert that the sign bits of both halves match. - */ - this.assert(sign == (dst - (dst % PDP10.INT_LIMIT)), "sign mismatch"); - - /* + * For 72-bit inputs, the PDP-10 doesn't care whether or not the low word's sign + * matches the high word's sign. The high word's sign bit is the controlling bit. + * + * this.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); + dst = (dst % PDP10.INT_LIMIT) + ((ext & 1) * PDP10.INT_LIMIT); this.regEX = sign + Math.trunc(ext / 2); return dst; }; diff --git a/versions/pdpjs/1.34.3/pdp10-dbg.js b/versions/pdpjs/1.34.3/pdp10-dbg.js index 82c57cb86..ee397fc36 100644 --- a/versions/pdpjs/1.34.3/pdp10-dbg.js +++ b/versions/pdpjs/1.34.3/pdp10-dbg.js @@ -56,7 +56,7 @@ function w(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.g function tb(a){for(var b=!0,c=ub[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=vb.indexOf(e)&&(f=function(){return function(){tb(a)}}());var g=wb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=rb(d[1],a);if(h)if(g=xb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){q("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete ub[a];return b}m=r.prototype; m.toString=function(){return this.name?this.name:this.id||this.type}; m.ta=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.Aa=this.J[b]=c,c.value="",this.u=function(a){return function(b,c){8192a;a++)this.b["S"+a]=[0,0,!1,!1,this.dc,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Vb,toggle:this.oc,reset:this.kc, -set:this.nc};Mb(this)}ja(cc,r);m=cc.prototype;m.reset=function(a){this.stop();a&&ec(this,this.w=0)}; +set:this.nc};Cb(this)}ja(cc,r);m=cc.prototype;m.reset=function(a){this.stop();a&&ec(this,this.w=0)}; m.ta=function(a,b,c,d){if(this.H&&this.H.ta(a,b,c,d)||this.v&&this.v.ta(a,b,c,d)||this.D&&this.D.ta(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!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(){fc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gc(a,b)}}(this,b),a.ontouchstart= function(a,b){return function(c){fc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gc(a,b)}}(this,b),!0):r.prototype.ta.call(this,a,b,c,d)}};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;hc(this);ic(this)};m.Ca=function(a,b){if(!b)if(this.V&&jc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.j]);return a.data()}; m.restore=function(a){if(a=a[0])kc(this,this.i=a[0]),ec(this,this.w=a[1]),lc(this,a[2]);return!0};m.kc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ic(this);return!0};function mc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hc(a,b){for(var c in a.C)mc(a,c,null!=b?b:a.C[c])}function nc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ic(a){for(var b in a.b)nc(a,b,a.b[b][1])} m.Vb=function(a,b,c){if(fc(this,b)){if(c){var d=this;setTimeout(function(){gc(d,b);a&&a()},+c);return!1}gc(this,b)}return!0};m.nc=function(a,b){if("SR"==a)return lc(this,oa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,nc(this,a,c[1]),!0):!1};m.oc=function(a){return fc(this,a)?(gc(this,a),!0):!1};function fc(a,b){var c=a.b[b];return c?(nc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=oc&&(a.O=b==pc,a.R=b==qc),!0):!1} -function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(nc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(I(this.v,this.i),this.b[rc]&&this.b[rc][1]&&sc(this.v))};m.fc=function(){};m.$b=function(a){a||this.v.Y()}; +function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(nc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(H(this.v,this.i),this.b[rc]&&this.b[rc][1]&&sc(this.v))};m.fc=function(){};m.$b=function(a){a||this.v.Y()}; m.Yb=function(a){if(!a&&!this.v.A.P)if(this.b[rc]&&this.b[rc][1])sc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),tc(a,0,null),Ob(a,!1);else try{var b=this.v.$a(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.j&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.i;0f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ya+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ya){l=h.size-(e-k);l>f&&(l=f);h.Ya=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Fc(Gc,e,f)}e=new Bc(a,e,l,16384,d);Cc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Hc[d]+" at "+va(b)),!0):Fc(Lc,b,c)} +function Ec(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ya+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ya){l=h.size-(e-k);l>f&&(l=f);h.Ya=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Fc(Gc,e,f)}e=new Bc(a,e,l,16384,d);Cc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Hc[d]+" at "+va(b)),!0):Fc(Ic,b,c)} function zc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function yc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Dc(a){for(var b=0,c=[],d=0;d=a.ua&&(a.ua+=a.qa,c=!0);0<=a.va&&a.va<=fd(a)&&(a.qa=a.va=-1,bd(a),a.Y(),c=!0);c&&a.u(fd(a)+" cycles: checksum="+n(a.Ha))}} m.ta=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.H)if(a=d.H,a.A.aa)a=!0;else{var b=null,c,h=pb(a.id);for(c=0;c>>b.i].f(a&16383,a)}; +if(e.pc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Ea,this.Ea=d)}a=a[4];for(b=0;b>>b.i].f(a&16383,a)}; m.sc=function(a,b){var c=this.G;a=this.Da=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b}; m.$a=function(a){this.A.complete=!0;var b=this.D?td(this.D)?1:this.A.jb?-1:0:0,c=a?this.A.jb?0:1:-1;this.A.jb=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(ud(this.D,this.i,c)){this.Y();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Ea||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&ud(this.D,this.i,c)){this.Y();break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ka=this.f(this.b):0<=this.O?(this.I=this.La=this.f(this.O),this.O=-1):(this.I=this.La= this.f(this.pa=this.i),this.i=(this.i+1)%Tb);this.I&=8388607;this.b=this.I&262143;if(a=this.I>>18&15)this.b=this.b+(this.Ka=this.f(a))&Sb;a=this.I&4194304?-1:this.La/$b|0;0<=a&&this.Sb(a);this.N--}while(0>4].call(this,a,a&15)}function O(a){this.w(a)} function wd(){var a=0,b=this.f(this.b),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function xd(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/ac&63,d=this.K>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.j&=-8193;this.K=-1}} function yd(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/ac&63,d=this.K>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.j&=-8193;this.K=-1}}function zd(a,b){this.g(b,this.f(this.b))}function Ad(a,b){this.g(b,this.b)}function Bd(a,b){this.g(this.b,this.f(b))}function Cd(a,b){this.g(b,0)}function Dd(a,b){this.g(b,C-this.f(b))}function Ed(a,b){this.g(b,C)} function Fd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Gd(a,d,c)+(c-(c&x)))}function Hd(a,b){var c=this.f(b);this.g(b,Gd(a,c,0))}function Id(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+(b-(b&x)))}function Jd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Kd(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)} -function be(a,b){var c=this.b*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)}function ce(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+b)}function de(a,b){var c=this.f(this.b),d=(c&x)*y,c=Gd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ee(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,fe(a,c,this.b)+this.b)}function he(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)} +function Ld(a,b){var c=this.b*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)}function ce(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+b)}function de(a,b){var c=this.f(this.b),d=(c&x)*y,c=Gd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ee(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,fe(a,c,this.b)+this.b)}function he(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)} function ie(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Ub?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function je(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ke(a,b){var c=this.f(b);this.g(b,fe(a,c,0))}function le(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}function me(a,b){var c=this.f(this.b),d=c/y|0,c=fe(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function P(a){ne[a&7].call(this,a,a>>3&127)} function oe(){}function pe(){}function M(a){this.u("undefined opcode: "+va(a));sd(this,-1);this.Y()}function qe(a){a>z&&(a!=B?a=Xb-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%D;re.call(this,a,b,c);return c} -function se(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%D;b=this.F=f+Math.trunc(b/2);c>z&&(c=D-c,d=!d);b>z&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.kb;f[0]=0;f[1]=0;f=this.xa;f[0]=1;f[1]=0;f=this.oa;f[0]=c;f[1]=0;c=this.ya;c[0]=a;for(c[1]=b;0b[0]&&(b[0]+=D,b[1]--),ue(this.kb,this.xa),ve(this.ya)))break;we(this.oa);we(this.xa)}while(!ve(this.xa)); -a=this.kb[0];this.F=this.ya[0];d&&a&&(a=D-a);e&&this.F&&(this.F=D-this.F);return a} +function se(a,b,c){var d=!1,e=!1;if(void 0===c){if(!a)return this.j|=131104,-1;c=b>z?C:0}else{var f=b=(az&&(a=D-a,d=!d);c>z&&(b?(c=C-c,b=D-b):c&&(c=D-c),e=!0,d=!d);f=this.kb;f[0]=0;f[1]=0;f=this.xa;f[0]=1;f[1]=0;f=this.oa;f[0]=a;f[1]=0;a=this.ya;a[0]=b;for(a[1]=c;0c[0]&&(c[0]+=D,c[1]--),ue(this.kb,this.xa),ve(this.ya)))break;we(this.oa);we(this.xa)}while(!ve(this.xa));b=this.kb[0];this.F=this.ya[0];d&&b&&(b=D-b);e&&this.F&&(this.F=D-this.F);return b} function xe(a,b,c,d){var e=a,f=b;b=!1;var g;e>z&&(d||1001!=this.nb||e!=B)&&(e=D-e,b=!b);f>z&&(f=D-f,b=!b);if(ez)&&(g!=C||a<=z)&&(this.j|=131072),g=a);return g} function ye(a){a?a==B?this.j|=163840:a=Xb-a:this.j|=98304;return a}function ze(a,b){var c=a-b;0>c&&(c+=D);re.call(this,c,b,a);return c}function re(a,b,c){a=Math.trunc(a/Wb);b=Math.trunc(b/Wb);c=Math.trunc(c/Wb);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function T(a,b){return(a>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a>>0)}function X(a){return(a/y|0)+(a&x)*y}function fe(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Ub?x*y:0}return b}function Gd(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b} @@ -120,52 +120,52 @@ function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a) function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},zd,Ad,Bd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ye.call(this,this.f(this.b)))},function(a,b){this.g(b, ye.call(this,this.b))},function(a,b){this.g(this.b,ye.call(this,this.f(b)))},function(a,b){a=ye.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,qe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,qe.call(this,this.f(b)))},function(a,b){a=qe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,xe.call(this,this.f(b),this.b,!0))},function(a, b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,xe.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=se.call(this, -this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this, -c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);b=this.f(b+1&15);b=se.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c,d,e=this.f(b);0a&&(c+=e*Math.pow(2,a)%B,d=B-Math.pow(2,35-a)),ez&&(this.j|=131072):e-d=a?c=ez&&(d=D-Math.pow(2,36+a),c+=d));this.g(b,c)}},function(a,b){if(a=((this.b&Vb)<<14>>23|this.b&255)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c=this.f(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c>23|this.b&255){var c,d=this.f(b),e=this.f(b+1&15);if(0z&&dz&&ez&&(this.j|=131072):e-c<=z&&(this.j|=131072);e=0;f>z&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=z?f+c>z&&(this.j|=131072):(f-c<=z&&(this.j|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>z?C:0:Math.trunc(d% -B/Math.pow(2,-a-35)),d<=z?d=0:(d=C,e+=B)):(c=d>z?D-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=((this.b&Vb)<<14>>23|this.b&255)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/ -Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c=this.f(b),d=this.f(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)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},M,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a, -b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.P||(this.g(b,d*y+c),a||sd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a=B&&I(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&rd(this,this.Ka/y|0);b&4&&this.Y();b&8&&this.w(a);I(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,I(this,this.b))},function(){this.O=this.b},M,function(a,b){a=(this.f(b)+ -262145)%D;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&Sb,(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&Sb,this.f(this.b));a>=D&&(a-=D);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a);I(this,c&Sb)},function(){this.g(this.b, -(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;I(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);I(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));I(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this, -this.f(b),this.f(this.b))))},function(a,b){this.g(b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze.call(this,this.f(b),this.f(this.b))))},oe,function(a,b){0>T(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){T(this.f(b),this.b)||I(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&I(this,this.i+1)},function(){I(this,this.i+1)},function(a, -b){0<=T(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){T(this.f(b),this.b)&&I(this,this.i+1)},function(a,b){0T(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))||I(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(){I(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&&I(this,this.i+1)},function(a, -b){0V(this.f(b))&&I(this,this.b)},function(a,b){V(this.f(b))||I(this,this.b)},function(a,b){0>=V(this.f(b))&&I(this,this.b)},function(){I(this,this.b)},function(a,b){0<=V(this.f(b))&&I(this,this.b)},function(a,b){V(this.f(b))&&I(this,this.b)},function(a,b){0V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b); -V(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){I(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0V(a)&&I(this, -this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)||I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&I(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&&I(this,this.i+ -1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));V(a)||I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>=V(a)&&I(this,this.b)},function(a, -b){this.g(b,Q.call(this,this.f(b),C));I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<=V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));V(a)&&I(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b), -C));V(a)||I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<=V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));V(a)&&I(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C)); -0a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.b,this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(this.b),this.f(b));0>a||this.g(this.b,a)},function(a,b){a=se.call(this,this.f(this.b),this.f(b));0>a||(this.g(this.b,this.g(b,a)),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,this.f(this.b),c,a);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c= +this.f(b+1&15),c=se.call(this,this.b,c,a);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);b=this.f(b+1&15);b=se.call(this,this.f(this.b),b,a);0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,this.f(this.b),c,a);0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c,d,e=this.f(b);0a&&(c+=e*Math.pow(2,a)%B,d=B-Math.pow(2,35-a)),ez&&(this.j|=131072):e-d=a?c=ez&&(d=D-Math.pow(2,36+a),c+=d));this.g(b,c)}},function(a,b){if(a=((this.b&Vb)<<14>>23|this.b&255)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c=this.f(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c>23|this.b&255){var c,d=this.f(b),e=this.f(b+1&15);if(0z&&dz&&ez&&(this.j|=131072):e-c<=z&&(this.j|=131072);e=0;f>z&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=z?f+c>z&&(this.j|=131072):(f-c<=z&&(this.j|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d> +z?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=z?d=0:(d=C,e+=B)):(c=d>z?D-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=((this.b&Vb)<<14>>23|this.b&255)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, +a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b&Vb)<<14>>23|this.b&255){var c=this.f(b),d=this.f(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)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},M,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b, +a)},function(a,b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.P||(this.g(b,d*y+c),a||sd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a=B&&H(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&rd(this,this.Ka/y|0);b&4&&this.Y();b&8&&this.w(a);H(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,H(this,this.b))},function(){this.O=this.b},M,function(a, +b){a=(this.f(b)+262145)%D;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&Sb,(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&Sb,this.f(this.b));a>=D&&(a-=D);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&Sb);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a);H(this,c&Sb)}, +function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;H(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);H(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));H(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b, +this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,ze.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze.call(this,this.f(b),this.f(this.b))))},oe,function(a,b){0>T(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){T(this.f(b),this.b)||H(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&H(this,this.i+1)},function(){H(this, +this.i+1)},function(a,b){0<=T(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){T(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){0T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&& +H(this,this.i+1)},function(a,b){0V(this.f(b))&&H(this,this.b)},function(a,b){V(this.f(b))||H(this,this.b)},function(a,b){0>=V(this.f(b))&&H(this,this.b)},function(){H(this,this.b)},function(a,b){0<=V(this.f(b))&&H(this,this.b)},function(a,b){V(this.f(b))&&H(this,this.b)},function(a,b){0V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a, +b){a=this.f(this.b);V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){H(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)||H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&H(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&& +H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));V(a)||H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>=V(a)&&H(this,this.b)}, +function(a,b){this.g(b,Q.call(this,this.f(b),C));H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<=V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this, +this.f(this.b),C));V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b), +C));0>>f.i;0>>= -f.i;0>>f.i;0>>= +f.i;0>>a.i;0g&&g>=-B&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h=na.xb&&c<=na.Rb&&(b=c-(na.xb-na.Nb));b&&(a.preventDefault&&a.preventDefault(),d.hb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==na.Pb&&(b=na.Ob);d.hb(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.hb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Mb(this)}; +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.hb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.Ma=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Cb(this)}; m.Mb=function(a){if(!this.b){var b=$c(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.bb)return;c=Da(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.cb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.Ca=function(a,b){if(!b)if(this.Mb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0}; m.sa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new G(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.hb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d=":11,">":11,"< function Ze(a){Je.call(this,a);this.Ja=!1;this.Ga=18;this.L=36;this.T=["<",">"];this.ua=[];this.Ia=Z();this.M=Z(0);this.pa=Z(0);this.ka=Z(0);this.I=[];this.b=this.N=this.K=[];$e(this);this.W=this.qa=0;this.j=[];this.Da=void 0;af(this);this.D=this;this.wa={};this.ca=this.Fb=0;this.ba=null;this.R=[];bf(this,a.messages);this.va=a.commands;this.Ha=[];this.O=0;this.Oa=this.Ea=null;this.F=this.La=this.Ka=this.oa=this.ya=0;this.xa=this.na=this.ga=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return ed(b, a)}):void 0===global[v]&&(global[v]=function(a){return ed(b,a)})}ja(Ze,Je);function cf(a){a=a&&a.B;null==a&&(a=-1);return a}function Z(a,b,c){return{B:void 0===a?null:a,fb:void 0===b?!1:b,ra:!1,U:c}}function df(a,b,c,d){a.B=b;a.fb=c||!1;a.ra=!1;a.U=d}function ef(a){return[a.B,a.fb,a.ra,a.U,a.ib]}function ff(a,b){var c=Z(b[0],b[1],b[2]);c.ra=b[3];b[4]&&(c.Ab=Ke(a,c.ib=b[4]));return c}m=Ze.prototype; m.Ma=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.na=a.j;this.Ga=b.F;(b=$c(a,"messages"))&&bf(this,b);if(a=$c(a,"commands"))this.va=a;gf(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=cf(hf(d,c,d.pa));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Hc[c],p&&d.u(n(p.id,8)+" %"+ -n(e<a&&(a+=D);0>b&&(b+=D);a=xe.call(this.v,a,b,!1,!0);a>=B&&(a-=D);return a}; @@ -197,7 +197,7 @@ m.vb=function(a){var b,c=this.v;switch(a){case nf:b=c.i;break;case of:b=c.I;brea m.message=function(a,b){b&&(a+=" @"+L(this,Z(this.v.pa).B,18));if(!this.ba||a!=this.ba)if(this.ba=a,this.ca&1073741824)this.R.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.P)||Nb(this,!0))this.Y(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,md(a),a.na=0,a.H&&K(a.H,void 0))}}; function af(a){var b;if(!td(a))a.j&&a.j.length&&a.u("instruction history buffer freed"),a.W=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(wf);for(b=0;b>23&&a.v.pa==b&&(b=sd(a.v,1)));if(0d&&(d=a.v.f(b)),0<=d&&(df(a.j[a.W],b),++a.W==a.j.length&&(a.W=0)));return!1} @@ -211,30 +211,30 @@ function Of(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=va(d,2);df(e.Ia,d);f+="="+L(e,e.Na(e.Ia),36)+" ";c+=f}if(b){b="";for(d=0;d=rf?1:d==of?23:18)+" "),b+=e;c+="\n"+b}return c}m.Hb=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],u=Ga(p,k,a.Hb);0>u&&p.splice(-(u+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.I.push({yd:b,B:c,Wb:d,Z:e,Cb:f})}function Rf(a,b,c){var d=[],e=cf(b)>>>0;for(b=0;b>>0,h=f.Wb;if(e>=g&&e>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(I(a.v,c),b+=L(a,c)):b+="unspecified",a.u(e+" words loaded at "+L(a,f)+"-"+L(a,g)+", "+b),cd(a)):a.u("no data")}function rg(a,b,c,d){var e={},f=a.I[b].Cb,g=0,h=null;0<=c&&c>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(H(a.v,c),b+=L(a,c)):b+="unspecified",a.u(e+" words loaded at "+L(a,f)+"-"+L(a,g)+", "+b),cd(a)):a.u("no data")}function rg(a,b,c,d){var e={},f=a.I[b].Cb,g=0,h=null;0<=c&&c=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=hf(a,d,a.ka);if(!e)return a.u("begin assemble at "+L(a,f.B,18)),a.V=!0,K(a.H),!0;var g=e.match(/^(['"]?)(.*\.klm|.*\.mac|.*\.html|.*\.txt)\1$/i);if(g){f=hf(a,d);if(a.xa)a.u("assembly already in progress");else var h=g[2],k=f.B,l=a.xa=new vg(h,k,c,a,function(b,c){if(!b)try{var d=l.H;null==d&&(d=k);tg(a,l.S,d)}catch(J){"number"==typeof J?b=J||-1:(a.u(J.message),b=-1)}b&&a.u("error ("+b+") processing "+ (c||h));a.xa=null;b||ed(a)});return!1}b.shift();b.shift();b.shift();b=Lf(a,e,b.join(""),f.B||0);0<=b&&(a.zb(f,b),a.u(Df(a,f)));return!0}function wg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ye(a)||a.u("no variables"),!0;if(!c[2])return Ye(a,c[1]);if(!c[3])return delete a.i[c[1]],!0;b=Ve(a,c[3]);return void 0!==b?(a.i[c[1]]={value:b,ja:void 0},!0):!1}a.u("invalid assignment:"+b);return!1} function xg(a,b,c){var d=null;b=hf(a,b);var e=Rf(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+L(a,e[1],18)+")"+g,c&&a.u(f),d=f);4b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case nf:I(h, +function Af(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case nf:H(h, g);df(a.M,h.i);break;case qf:rd(h,g);break;case rf:f=131072;break;case sf:f=65536;break;case tf:f=32768;break;case uf:f=32;break;case vf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);K(a.H);a.u("updated registers:")}}a.u(Qf(a,e));c&&(df(a.M,0<=d.O?d.O:d.I&4194304?d.pa:d.i),Bf(a,L(a,a.M.B,18)))}}function yg(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ka;l=b;h.B=l.B;h.fb=l.fb;h.ra=l.ra;h.U=l.U;a.u(Df(a,b,g,f));e-=b.B-k;c++}} -function Pf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(zf+b):(a.V&&(a.u("ended assemble at "+L(a,a.ka.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ba=null;if(Bb(a)&&0p||"z"ra.length&&(a.u("note: only "+ra.length+" available"),ea=ra.length);la-=ea;0>la&&(null==ra[ra.length-1].B?(ea=la+ea,la=0):la+=ra.length);var Od=[];"call"==Wf&&(Cb= -1E5,Od=["CALL"]);for(void 0!==Vf&&a.u(ea+" instructions earlier:");0=ra.length&&(la=0);a.Da=ea;Yf++;Cb--}}Yf||(a.u("no "+Xf+"history available"),a.Da=void 0)}else{var Na=0,ag="ds"==ib,Eb=hf(a,qa,a.pa);Ea&&("l"==Ea.charAt(0)?(Ea=Ea.substr(1)||Jh,Na=Qe(a,Ea)):Na=hf(a,Ea).B-Eb.B,0>Na&&(Na=0),65536Fb?".":String.fromCharCode(Fb)),Ic=Ic-7}Oa&&(Oa+="\n");Oa=ag?Oa+(sa+","):Oa+(qa+": "+sa+(0>cg?" "+Rd:""))}Oa&&a.u(Oa);a.U=Lh}}}break;case "e":if("else"== -g[0])break;var dg,eg,fg=g[0],Td=g[1];"e"==fg||"ew"==fg?(dg=a.Na,eg=a.zb):Td=null;if(null==Td)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var Ud=hf(a,Td,a.pa),Vd=2;VdXd;){for(var Pa=null,Qh=256;65536>Ib.B>>>0;){Yd.B=a.Na(Ib,2);if(null==Ib.B||!Qh--)break;if(!(Yd.B& -1)){for(var Rh=a,Jc=Yd,ig=null,Jb=Jc.B,jg=Jb,Zd=1;6>=Zd&&Jb;Zd++){if(2pg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update"); -else if(a.O)a.u("step in progress");else{var qg=Z(a.v.i);a.Na(qg);a.O?(a.Ra(a.b,qg,!0),xf(a)||(a.H&&jd(a.H),a.O=0)):zg(a,pg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}Af(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var lb=+g[2];if(2==lb||8==lb||10==lb||16==lb)a.U=lb;else{a.u("invalid base: "+lb);break}}a.u("default base: "+a.U);break;case "cs":var Lb;void 0!==g[3]&&(Lb=+g[3]);switch(g[2]){case "int":a.v.qa=Lb;break;case "start":a.v.Ia=Lb;break;case "stop":a.v.va=Lb; -break;default:a.u("unknown cs option");break a}void 0!==Lb&&bd(a.v);a.u("checksums "+(a.v.A.Va?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(gd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ga.toFixed(2)+"Mhz")+" ("+a.v.ka+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"), -a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":zg(a,g[0],g[1]);break;case "u":Bf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){wg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.nb+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){yg(a,b.substr(1));break}var $d="commands:",ae;for(ae in Bg)$d+="\n"+Ca(ae,9)+Bg[ae];td(a)||($d+="\nnote: history disabled if no exec breakpoints"); -a.u($d);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(sg){a.u("Debugger "+(sg.stack||sg.message)),d=!1}return d}function ed(a,b,c){null!=b&&(a.Ha=Ke(a,b,c));for(;b=a.Ha.shift();)if(!Pf(a,b))return!1;return!0} +function Pf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(zf+b):(a.V&&(a.u("ended assemble at "+L(a,a.ka.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ba=null;if(Ab(a)&&0p||"z"ra.length&&(a.u("note: only "+ra.length+" available"),ea=ra.length);la-=ea;0>la&&(null==ra[ra.length-1].B?(ea=la+ea,la=0):la+=ra.length);var Pd=[];"call"==Wf&&(Db= +1E5,Pd=["CALL"]);for(void 0!==Vf&&a.u(ea+" instructions earlier:");0=ra.length&&(la=0);a.Da=ea;Yf++;Db--}}Yf||(a.u("no "+Xf+"history available"),a.Da=void 0)}else{var Na=0,ag="ds"==ib,Fb=hf(a,qa,a.pa);Ea&&("l"==Ea.charAt(0)?(Ea=Ea.substr(1)||Jh,Na=Qe(a,Ea)):Na=hf(a,Ea).B-Fb.B,0>Na&&(Na=0),65536Gb?".":String.fromCharCode(Gb)),Jc=Jc-7}Oa&&(Oa+="\n");Oa=ag?Oa+(sa+","):Oa+(qa+": "+sa+(0>cg?" "+Sd:""))}Oa&&a.u(Oa);a.U=Lh}}}break;case "e":if("else"== +g[0])break;var dg,eg,fg=g[0],Ud=g[1];"e"==fg||"ew"==fg?(dg=a.Na,eg=a.zb):Ud=null;if(null==Ud)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var Vd=hf(a,Ud,a.pa),Wd=2;WdYd;){for(var Pa=null,Qh=256;65536>Jb.B>>>0;){Zd.B=a.Na(Jb,2);if(null==Jb.B||!Qh--)break;if(!(Zd.B& +1)){for(var Rh=a,Kc=Zd,ig=null,Kb=Kc.B,jg=Kb,$d=1;6>=$d&&Kb;$d++){if(2<$d){Kc.B=Kb;var Lc=Df(Rh,Kc);if(0<=Lc.indexOf("JSR")){var kg=Lc.indexOf(" ");if(Kb+(Lc.indexOf(" ",kg+1)-kg-1)/2==jg){ig=Lc;break}}}Kb-=2}Kc.B=jg;if(Pa=ig)break}}if(!Pa||null==Pa)break;var lg=null;if("ks"==Ph){var mg=Pa.match(/[0-9A-F]+$/);mg&&(lg=xg(a,mg[0]))}Pa=Ca(Pa,50)+" ;"+(lg||"stack="+L(a,Jb.B,18));a.u(Pa);Yd++}Yd||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){xg(a,g[1],!0);break}f=!0;break;case "m":a:{var ta, +ua=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Fa=0;if("all"==N)Fa=1879046143,N=null;else if("on"==N)ua=!0,N=null;else if("off"==N)ua=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(ta in bc)if(N==ta){Fa=bc[ta];ua=!!(a.ca&Fa);break}if(!Fa){a.u("unknown message category: "+N);break a}}if(Fa)if("on"==g[2])a.ca|=Fa,ua=!0;else if("off"==g[2]&&(a.ca&=~Fa,ua=!1,1073741824==Fa)){for(var ng=1E3<=a.R.length?a.R.length-1E3:0;ngpg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update"); +else if(a.O)a.u("step in progress");else{var qg=Z(a.v.i);a.Na(qg);a.O?(a.Ra(a.b,qg,!0),xf(a)||(a.H&&jd(a.H),a.O=0)):zg(a,pg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}Af(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var lb=+g[2];if(2==lb||8==lb||10==lb||16==lb)a.U=lb;else{a.u("invalid base: "+lb);break}}a.u("default base: "+a.U);break;case "cs":var Mb;void 0!==g[3]&&(Mb=+g[3]);switch(g[2]){case "int":a.v.qa=Mb;break;case "start":a.v.Ia=Mb;break;case "stop":a.v.va=Mb; +break;default:a.u("unknown cs option");break a}void 0!==Mb&&bd(a.v);a.u("checksums "+(a.v.A.Va?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(gd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ga.toFixed(2)+"Mhz")+" ("+a.v.ka+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"), +a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":zg(a,g[0],g[1]);break;case "u":Bf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){wg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.nb+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){yg(a,b.substr(1));break}var ae="commands:",be;for(be in Bg)ae+="\n"+Ca(be,9)+Bg[be];td(a)||(ae+="\nnote: history disabled if no exec breakpoints"); +a.u(ae);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(sg){a.u("Debugger "+(sg.stack||sg.message)),d=!1}return d}function ed(a,b,c){null!=b&&(a.Ha=Ke(a,b,c));for(;b=a.Ha.shift();)if(!Pf(a,b))return!1;return!0} var Bg={"?":"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"},If=20,Jf=".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 CAM 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 HALT JRSTF JEN".split(" "), nf=0,of=1,pf=2,qf=3,rf=4,sf=5,tf=6,uf=7,vf=8,mf="PC RA EA PS OV C0 C1 ND PD".split(" "),Cg={},Ef=(Cg[28672]={0:101},Cg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Cg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:If,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},Cg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Cg[29248]={24576:79,24640:80,25088:81,25152:82},Cg[28700]={28672:93,28676:94,28680:95,28684:96, @@ -246,9 +246,9 @@ function Eg(a){if(0<=a.W.indexOf("p"))return a.u(a.G.join("")),0;var b=Xe(a.b);t d;f+c.Ta<=a.X;f++){for(var g=void 0,g=0;g -J)break;var u=J+1,F=J+l.length,ka="",Ab="";J&&(ka=b[J-1]).match(/[0-9A-Z$%.]/i)||!(F>=b.length)&&(Ab=b[F]).match(/[0-9A-Z$%.]/i)||("'"==ka&&J--,"'"==Ab&&F++,b=b.substr(0,J)+p+b.substr(F),u=J+p.length,g=!0)}c=null}}d=h[1];b=h[3];c=h[4].trim();h=h[4]+h[5];d&&(d=d.slice(0,-1),Ig(a,d,a.X,Jg));var H;f&&(H=c.match(/^([=:]+)(.*)/))&&(e=0,d=f,f=H[1],c=H[2],"=="==f?e|=Sg:"=:"==f&&(e|=Tg),Ig(a,d,c,e),f=c="");if(!f&&!c)return!0;a.M=f;if(H=Ug(a,c))c=c.replace(H,Vg(a,Wg,Ug(a,h))),b||(b="\t");for(;H=Xg(a,c);)c= -c.replace(H,H.slice(0,-1));if(!Yg(a,f,c))switch(f){case Zg:case $g:case ah:Pg(a,h);break;case bh:f=c;H=Mg(a,f);void 0!==H&&null==a.b.ja&&0<=H&&262143>=H?a.X+=H:a.error("unrecognized BLOCK expression '"+f+"'");break;case ch:(f=c)?(a.H=Mg(a,f,!0),void 0===a.H&&a.error("unrecognized END expression '"+f+"'")):a.H=a.la;break;case dh:eh(a,c);break;case fh:a.X=Mg(a,c)||0;break;case gh:eh(a,c.replace(",",",,"));break;case hh:case ih:case jh:case kh:case lh:case mh:case nh:case Qg:case Rg:case oh:case ph:Vg(a, -f,h);break;case qh:case rh:case sh:case th:case uh:case vh:case wh:break;default:f=(f+b+c).trim(),H=Mg(a,f,!0),void 0!==H?Kg(a,H,a.b.ja):a.error("unrecognized word expression '"+f+"'")}return!0} +J)break;var u=J+1,F=J+l.length,ka="",Bb="";J&&(ka=b[J-1]).match(/[0-9A-Z$%.]/i)||!(F>=b.length)&&(Bb=b[F]).match(/[0-9A-Z$%.]/i)||("'"==ka&&J--,"'"==Bb&&F++,b=b.substr(0,J)+p+b.substr(F),u=J+p.length,g=!0)}c=null}}d=h[1];b=h[3];c=h[4].trim();h=h[4]+h[5];d&&(d=d.slice(0,-1),Ig(a,d,a.X,Jg));var I;f&&(I=c.match(/^([=:]+)(.*)/))&&(e=0,d=f,f=I[1],c=I[2],"=="==f?e|=Sg:"=:"==f&&(e|=Tg),Ig(a,d,c,e),f=c="");if(!f&&!c)return!0;a.M=f;if(I=Ug(a,c))c=c.replace(I,Vg(a,Wg,Ug(a,h))),b||(b="\t");for(;I=Xg(a,c);)c= +c.replace(I,I.slice(0,-1));if(!Yg(a,f,c))switch(f){case Zg:case $g:case ah:Pg(a,h);break;case bh:f=c;I=Mg(a,f);void 0!==I&&null==a.b.ja&&0<=I&&262143>=I?a.X+=I:a.error("unrecognized BLOCK expression '"+f+"'");break;case ch:(f=c)?(a.H=Mg(a,f,!0),void 0===a.H&&a.error("unrecognized END expression '"+f+"'")):a.H=a.la;break;case dh:eh(a,c);break;case fh:a.X=Mg(a,c)||0;break;case gh:eh(a,c.replace(",",",,"));break;case hh:case ih:case jh:case kh:case lh:case mh:case nh:case Qg:case Rg:case oh:case ph:Vg(a, +f,h);break;case qh:case rh:case sh:case th:case uh:case vh:case wh:break;default:f=(f+b+c).trim(),I=Mg(a,f,!0),void 0!==I?Kg(a,I,a.b.ja):a.error("unrecognized word expression '"+f+"'")}return!0} function Yg(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){if(d.Sa==xh){var e=a.X;Lg(a,d.ma);if(e d.Sa&&Lg(a,d.ma);break;case mh:case ih:d.Sa&&Lg(a,d.ma);break;case Qg:case Rg:for(b=0;ba.Fa&&(a.Fa=a.X);a.X=0} function zh(a){if(a.w.length){var b=a.w[a.w.length-1].name;b&&a.R.push({name:b,S:a.S,ea:a.ea});b=a.w.pop();a.S=b.S;a.ea=b.ea;a.X=b.X;a.Fa=b.Fa;a.w.length||-1==a.Fa||a.error("scope restore error")}else a.error("scope nesting error")} @@ -267,8 +267,8 @@ function Kg(a,b,c){a.S[a.X]=Ng(a,b);null!=c&&(a.ea[a.X]=c);a.X++}function Ng(a,b var Jg=1,Sg=2,Tg=4,Zg="ASCII",$g="ASCIZ",bh="BLOCK",hh="DEFINE",ch="END",dh="EXP",ih="IFDEF",jh="IFE",kh="IFG",lh="IFL",mh="IFN",nh="IFNDEF",Qg="IRP",Rg="IRPC",qh="LALL",Wg="LITERAL",rh="LIST",fh="LOC",sh="NOSYM",oh="OPDEF",th="PAGE",ph="REPEAT",ah="SIXBIT",uh="SUBTTL",vh="TITLE",gh="XWD",wh="XLIST",Dh=-1,xh=-2,Eh=-3,Ch=-4; function Fh(a,b,c){r.call(this,"Computer",a,33554432);this.A.aa=!1;this.R=null;Gh(this,b);this.N=$c(this,"autoPower",a,6);this.w=0;this.W=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.V=!1;this.I=this.C=null;this.T=this.O=!1;this.ba=$c(this,"url")||"";(Math.random()+.1).toString(36);this.i=Hh(this);if(this.v=rb("CPU",this.id)){this.D=rb("Debugger",this.id);this.G=new Ac({id:this.cb+".bus",busWidth:this.W},this.v,this.D);var d,e=pb(this.id);if((this.j=rb("Panel",this.id))&&this.j.Aa)for(b= 0;b\nLicense: GPL version 3 or later ");for(b=0;bIh){if(Uh(d,this.L)){this.C=new G(this,"1.34.3",ci);Uh(this.C)&&(di(this,d),a=ei,fi(this.C));this.C.set($h,Ha());gi(this.C);var e=this.b&&!this.K;if(a==ai||ob("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Zh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Uh(d,g):("error"==f&&"no machine state"!= g?(this.ha("Error: "+g),"unable to verify user"==g&&(Ra(hi,""),this.i=null)):this.u(f+": "+g),fi(d),Uh(d)?(c=Zh(d),e=!0):c=!1))}e&&Xh(this,c?d:null)}else a==ei&&d.clear()}else Xh(this);delete this.L;delete this.I}e=pb(this.id);for(f=0;f>8&255,d.I[f++]=e[c]>>16&255,d.I[f++]=e[c]>>24&255;else(e function pa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function va(){if(null==wa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}wa=a}return wa}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Da(a){r.init.push(a)} -function Fa(a){if(Ga)try{for(var b=0;ba?this.va=this.id:(this.wa=this.id.substr(0,a),this.va=this.id.substr(a+1));this.h={ready:!1,Aa:!1,Oa:!1,F:!1,error:!1};this.Ca=null;this.h.error=!1;this.w=this.j=this.s=this.v=this.ga=null;v.push(this)}function La(a,b,c){Ma[a]&&b&&(Ma[a][b]=c)}function Na(){return Date.now()||+new Date} function q(a){window&&window.alert(a)}function Oa(a){var b=!1;window&&(b=window.confirm(a));return b}function w(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;bF?C:0}c=d;this.c(this.a,c);b&&this.c(b,c)}function zc(a,b){var c=(this.b(this.a)&C)*E,d=this.b(b);this.c(b,vc(a,d,c)+c)}function Ac(a,b){var c=this.a*E,d=this.b(b);this.c(b,vc(a,d,c)+c)}function Bc(a,b){b=(this.b(b)&C)*E;var c=this.b(this.a);this.c(this.a,vc(a,c,b)+b)}function Cc(a,b){var c=this.b(this.a),d=(c&C)*E,c=vc(a,c,d)+d;this.c(this.a,c);b&&this.c(b,c)} function Dc(a,b){var c=this.b(this.a)&C,d=this.b(b);this.c(b,Ec(a,d,c)+c)}function Fc(a,b){var c=this.b(b);this.c(b,Ec(a,c,this.a)+this.a)}function Gc(a,b){b=this.b(b)&C;var c=this.b(this.a);this.c(this.a,Ec(a,c,b)+b)}function Hc(a,b){var c=this.b(this.a),d=c;if(a&=384)switch(d&=C,a){case 256:d+=C*E;break;case 384:d+=c>ab?C*E:0}c=d;this.c(this.a,c);b&&this.c(b,c)}function Ic(a,b){var c=this.b(this.a)/E|0,d=this.b(b);this.c(b,Ec(a,d,c)+c)}function Jc(a,b){var c=this.b(b);this.c(b,Ec(a,c,0))} function Kc(a,b){b=this.b(b)/E|0;var c=this.b(this.a);this.c(this.a,Ec(a,c,b)+b)}function Lc(a,b){var c=this.b(this.a),d=c/E|0,c=Ec(a,c,d)+d;this.c(this.a,c);b&&this.c(b,c)}function Q(a){Mc[a&7].call(this,a,a>>3&127)}function Nc(){}function Oc(){}function O(a){this.M("undefined opcode: "+ka(a));this.f=(this.f+-1)%$a;N(this)}function Pc(a){a>F&&(a!=G?a=db-a:this.g|=163840);return a}function R(a,b){var c=(a+b)%J;Qc.call(this,a,b,c);return c} -function S(a,b,c){var d=!1,e=!1,f=b-b%G;a=a%G+b*G%J;b=this.l=f+Math.trunc(b/2);c>F&&(c=J-c,d=!d);b>F&&(a?(b=I-b,a=J-a):b&&(b=J-b),e=!0,d=!d);if(b>=c)return this.g|=131104,-1;f=this.Na;f[0]=0;f[1]=0;f=this.da;f[0]=1;f[1]=0;f=this.X;f[0]=c;f[1]=0;c=this.ea;c[0]=a;for(c[1]=b;0b[0]&&(b[0]+=J,b[1]--),Sc(this.Na,this.da),Tc(this.ea)))break;Uc(this.X);Uc(this.da)}while(!Tc(this.da)); -a=this.Na[0];this.l=this.ea[0];d&&a&&(a=J-a);e&&this.l&&(this.l=J-this.l);return a} +function S(a,b,c){var d=!1,e=!1;if(void 0===c){if(!a)return this.g|=131104,-1;c=b>F?I:0}else{var f=b=(aF&&(a=J-a,d=!d);c>F&&(b?(c=I-c,b=J-b):c&&(c=J-c),e=!0,d=!d);f=this.Na;f[0]=0;f[1]=0;f=this.da;f[0]=1;f[1]=0;f=this.X;f[0]=a;f[1]=0;a=this.ea;a[0]=b;for(a[1]=c;0c[0]&&(c[0]+=J,c[1]--),Sc(this.Na,this.da),Tc(this.ea)))break;Uc(this.X);Uc(this.da)}while(!Tc(this.da));b=this.Na[0];this.l=this.ea[0];d&&b&&(b=J-b);e&&this.l&&(this.l=J-this.l);return b} function Vc(a,b,c,d){var e=a,f=b;b=!1;var g;e>F&&(d||1001!=this.Wa||e!=G)&&(e=J-e,b=!b);f>F&&(f=J-f,b=!b);if(eF)&&(g!=I||a<=F)&&(this.g|=131072),g=a);return g} function Wc(a){a?a==G?this.g|=163840:a=db-a:this.g|=98304;return a}function Xc(a,b){var c=a-b;0>c&&(c+=J);Qc.call(this,c,b,a);return c}function Qc(a,b,c){a=Math.trunc(a/cb);b=Math.trunc(b/cb);c=Math.trunc(c/cb);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 T(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}function U(a,b){return T(a,(~(b/K|0)&15)*K+(~b>>>0))}function V(a,b){return(a>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)}function X(a){return a>>0)}function Z(a){return(a/E|0)+(a&C)*E}function Ec(a,b,c){switch(a&384){case 0:b-=b&C;break;case 128:b=0;break;case 256:b=C*E;break;case 384:b=c>ab?C*E:0}return b}function vc(a,b,c){switch(a&384){case 0:b&=C;break;case 128:b=0;break;case 256:b=C;break;case 384:b=c>F?C:0}return b} @@ -112,21 +112,21 @@ function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a) function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},function(a){this.i(a)},oc,pc,qc,function(a,b){b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);a=(a/E|0)+(a&C)*E;this.c(b,a)},function(a,b){this.c(b,this.a*E)},function(a,b){a=this.b(b);a=(a/E|0)+(a&C)*E;this.c(this.a,a)},function(a,b){a=this.b(this.a);a=(a/E|0)+(a&C)*E;this.c(this.a,a);b&&this.c(b,a)},function(a,b){this.c(b,Wc.call(this,this.b(this.a)))},function(a,b){this.c(b, Wc.call(this,this.a))},function(a,b){this.c(this.a,Wc.call(this,this.b(b)))},function(a,b){a=Wc.call(this,this.b(this.a));this.c(this.a,a);b&&this.c(b,a)},function(a,b){this.c(b,Pc.call(this,this.b(this.a)))},function(a,b){this.c(b,this.a)},function(a,b){this.c(this.a,Pc.call(this,this.b(b)))},function(a,b){a=Pc.call(this,this.b(this.a));this.c(this.a,a);b&&this.c(b,a)},function(a,b){this.c(b,Vc.call(this,this.b(b),this.b(this.a),!0))},function(a,b){this.c(b,Vc.call(this,this.b(b),this.a,!0))},function(a, b){this.c(this.a,Vc.call(this,this.b(b),this.b(this.a),!0))},function(a,b){this.c(this.a,this.c(b,Vc.call(this,this.b(b),this.b(this.a),!0)))},function(a,b){this.c(b,Vc.call(this,this.b(b),this.b(this.a)));this.c(b+1&15,this.l)},function(a,b){this.c(b,Vc.call(this,this.b(b),this.a));this.c(b+1&15,this.l)},function(a,b){this.c(this.a,Vc.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Vc.call(this,this.b(b),this.b(this.a))));this.c(b+1&15,this.l)},function(a,b){a=S.call(this, -this.b(b),0,this.b(this.a));0>a||(this.c(b,a),this.c(b+1&15,this.l))},function(a,b){a=S.call(this,this.b(b),0,this.a);0>a||(this.c(b,a),this.c(b+1&15,this.l))},function(a,b){a=S.call(this,this.b(b),0,this.b(this.a));0>a||this.c(this.a,a)},function(a,b){a=S.call(this,this.b(b),0,this.b(this.a));0>a||this.c(this.a,a)},function(a,b){a=this.b(b);var c=this.b(b+1&15),c=S.call(this,c,a,this.b(this.a));0>c||(this.c(b,c),this.c(b+1&15,this.l))},function(a,b){a=this.b(b);var c=this.b(b+1&15),c=S.call(this, -c,a,this.a);0>c||(this.c(b,c),this.c(b+1&15,this.l))},function(a,b){a=this.b(b);b=this.b(b+1&15);b=S.call(this,b,a,this.b(this.a));0>b||this.c(this.a,b)},function(a,b){a=this.b(b);var c=this.b(b+1&15),c=S.call(this,c,a,this.b(this.a));0>c||(this.c(b,this.c(this.a,c)),this.c(b+1&15,this.l))},function(a,b){if(a=(this.a&bb)<<14>>23|this.a&255){var c,d,e=this.b(b);0a&&(c+=e*Math.pow(2,a)%G,d=G-Math.pow(2,35-a)),eF&&(this.g|=131072):e-d=a?c=eF&&(d=J-Math.pow(2,36+a),c+=d));this.c(b,c)}},function(a,b){if(a=((this.a&bb)<<14>>23|this.a&255)%36){var c=this.b(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%J+Math.trunc(c/Math.pow(2,36-a));this.c(b,c)}},function(a,b){if(a=(this.a&bb)<<14>>23|this.a&255){var c=this.b(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.c(b,c)}},function(a,b){a=0;var c=this.b(b);if(c){for(;c>23|this.a&255){var c,d=this.b(b),e=this.b(b+1&15);if(0F&&dF&&eF&&(this.g|=131072):e-c<=F&&(this.g|=131072);e=0;f>F&&(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<=F?f+c>F&&(this.g|=131072):(f-c<=F&&(this.g|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d>F?I:0:Math.trunc(d% -G/Math.pow(2,-a-35)),d<=F?d=0:(d=I,e+=G)):(c=d>F?J-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>F&&(e+=G));this.c(b,d);this.c(b+1&15,e)}},function(a,b){if(a=((this.a&bb)<<14>>23|this.a&255)%72){var c=this.b(b),d=this.b(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%J+Math.trunc(d/ -Math.pow(2,72-a)));this.c(b,c);this.c(b+1&15,d)}},function(a,b){if(a=(this.a&bb)<<14>>23|this.a&255){var c=this.b(b),d=this.b(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)%J,c=Math.trunc(c/Math.pow(2,-a)));this.c(b,c);this.c(b+1&15,d)}},O,function(a,b){a=this.b(b);this.c(b,this.b(this.a));this.c(this.a,a)},function(a, -b){a=!1;for(var c=this.b(b),d=c/E|0,c=c&C;!a;)this.c(c,this.b(d)),c==this.a&&(a=!0),d=d+1&C,c=c+1&C,this.h.B||(this.c(b,d*E+c),a||(this.f=(this.f+-1)%$a),a=!0)},function(a,b){a=(this.b(b)+262145)%J;this.c(b,a);a=G&&M(this,this.a)},function(a,b){b&1&&(this.g|=4096);if(b&2){var c=this.qa/E|0;this.g=this.g&-254049|c&254048;this.g|=c&4096;c&2048?this.g&4096||(this.g|=2048):this.g&=-2049}b&4&&N(this);b&8&&this.i(a);M(this,this.a)}, -function(a,b){a=b<<14;this.g&a&&(this.g&=~a,M(this,this.a))},function(){this.aa=this.a},O,function(a,b){a=(this.b(b)+262145)%J;this.c(b,a);a/E|0||(this.g|=262144);this.c(a&Za,(this.g&C)*E+this.f);this.g&=-8193;M(this,this.a)},function(a,b){a=this.b(b);a+=262145;this.c(a&Za,this.b(this.a));a>=J&&(a-=J);a/E|0||(this.g|=262144);this.c(b,a)},function(a,b){a=this.b(b);var c=this.b(a&Za);this.c(this.a,c);this.a==b&&(a=c);a-=262145;0>a&&(a+=J);(a/E|0)==C&&(this.g|=262144);this.c(b,a)},function(a,b){a=this.b(b); -var c=this.b(a&Za);a-=262145;0>a&&(a+=J);(a/E|0)==C&&(this.g|=262144);this.c(b,a);M(this,c&Za)},function(){this.c(this.a,(this.g&C)*E+this.f);this.g&=-8193;M(this,this.a+1)},function(a,b){this.c(b,(this.g&C)*E+this.f);this.g&=-8193;M(this,this.a)},function(a,b){this.c(this.a,this.b(b));this.c(b,this.a*E+this.f);M(this,this.a+1)},function(a,b){a=this.b(b);this.c(b,this.b(a/E|0));M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,R.call(this,this.b(b), -this.a))},function(a,b){this.c(this.a,R.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,R.call(this,this.b(b),this.b(this.a))))},function(a,b){this.c(b,Xc.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,Xc.call(this,this.b(b),this.a))},function(a,b){this.c(this.a,Xc.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Xc.call(this,this.b(b),this.b(this.a))))},Nc,function(a,b){0>V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){V(this.b(b), -this.a)||M(this,this.f+1)},function(a,b){0>=V(this.b(b),this.a)&&M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){0<=V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){0V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){V(this.b(b),this.b(this.a))||M(this,this.f+1)},function(a,b){0>=V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(){M(this,this.f+1)},function(a, -b){0<=V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){0X(this.b(b))&&M(this,this.a)},function(a,b){X(this.b(b))||M(this,this.a)},function(a,b){0>=X(this.b(b))&&M(this,this.a)},function(){M(this,this.a)},function(a,b){0<=X(this.b(b))&&M(this,this.a)},function(a,b){X(this.b(b))&&M(this,this.a)},function(a,b){0X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){M(this,this.f+1);b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));X(a)||M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0>=X(a)&&M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),1));M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0<=X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));X(a)&&M(this,this.a)},function(a, -b){a=this.c(b,R.call(this,this.b(b),1));0X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a), +this.b(this.a),this.b(b));0>a||(this.c(b,a),this.c(b+1&15,this.l))},function(a,b){a=S.call(this,this.a,this.b(b));0>a||(this.c(b,a),this.c(b+1&15,this.l))},function(a,b){a=S.call(this,this.b(this.a),this.b(b));0>a||this.c(this.a,a)},function(a,b){a=S.call(this,this.b(this.a),this.b(b));0>a||(this.c(this.a,this.c(b,a)),this.c(b+1&15,this.l))},function(a,b){a=this.b(b);var c=this.b(b+1&15),c=S.call(this,this.b(this.a),c,a);0>c||(this.c(b,c),this.c(b+1&15,this.l))},function(a,b){a=this.b(b);var c=this.b(b+ +1&15),c=S.call(this,this.a,c,a);0>c||(this.c(b,c),this.c(b+1&15,this.l))},function(a,b){a=this.b(b);b=this.b(b+1&15);b=S.call(this,this.b(this.a),b,a);0>b||this.c(this.a,b)},function(a,b){a=this.b(b);var c=this.b(b+1&15),c=S.call(this,this.b(this.a),c,a);0>c||(this.c(b,this.c(this.a,c)),this.c(b+1&15,this.l))},function(a,b){if(a=(this.a&bb)<<14>>23|this.a&255){var c,d,e=this.b(b);0a&&(c+=e*Math.pow(2,a)%G,d=G-Math.pow(2,35-a)),eF&&(this.g|=131072):e-d=a?c=eF&&(d=J-Math.pow(2,36+a),c+=d));this.c(b,c)}},function(a,b){if(a=((this.a&bb)<<14>>23|this.a&255)%36){var c=this.b(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%J+Math.trunc(c/Math.pow(2,36-a));this.c(b,c)}},function(a,b){if(a=(this.a&bb)<<14>>23|this.a&255){var c=this.b(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.c(b,c)}},function(a,b){a=0;var c=this.b(b);if(c){for(;c>23|this.a&255){var c,d=this.b(b),e=this.b(b+1&15);if(0F&&dF&&eF&&(this.g|=131072):e-c<=F&&(this.g|=131072);e=0;f>F&&(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<=F?f+c>F&&(this.g|=131072):(f-c<=F&&(this.g|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d> +F?I:0:Math.trunc(d%G/Math.pow(2,-a-35)),d<=F?d=0:(d=I,e+=G)):(c=d>F?J-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>F&&(e+=G));this.c(b,d);this.c(b+1&15,e)}},function(a,b){if(a=((this.a&bb)<<14>>23|this.a&255)%72){var c=this.b(b),d=this.b(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, +a-36)%J+Math.trunc(d/Math.pow(2,72-a)));this.c(b,c);this.c(b+1&15,d)}},function(a,b){if(a=(this.a&bb)<<14>>23|this.a&255){var c=this.b(b),d=this.b(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)%J,c=Math.trunc(c/Math.pow(2,-a)));this.c(b,c);this.c(b+1&15,d)}},O,function(a,b){a=this.b(b);this.c(b,this.b(this.a));this.c(this.a, +a)},function(a,b){a=!1;for(var c=this.b(b),d=c/E|0,c=c&C;!a;)this.c(c,this.b(d)),c==this.a&&(a=!0),d=d+1&C,c=c+1&C,this.h.B||(this.c(b,d*E+c),a||(this.f=(this.f+-1)%$a),a=!0)},function(a,b){a=(this.b(b)+262145)%J;this.c(b,a);a=G&&M(this,this.a)},function(a,b){b&1&&(this.g|=4096);if(b&2){var c=this.qa/E|0;this.g=this.g&-254049|c&254048;this.g|=c&4096;c&2048?this.g&4096||(this.g|=2048):this.g&=-2049}b&4&&N(this);b&8&&this.i(a);M(this, +this.a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,M(this,this.a))},function(){this.aa=this.a},O,function(a,b){a=(this.b(b)+262145)%J;this.c(b,a);a/E|0||(this.g|=262144);this.c(a&Za,(this.g&C)*E+this.f);this.g&=-8193;M(this,this.a)},function(a,b){a=this.b(b);a+=262145;this.c(a&Za,this.b(this.a));a>=J&&(a-=J);a/E|0||(this.g|=262144);this.c(b,a)},function(a,b){a=this.b(b);var c=this.b(a&Za);this.c(this.a,c);this.a==b&&(a=c);a-=262145;0>a&&(a+=J);(a/E|0)==C&&(this.g|=262144);this.c(b,a)},function(a, +b){a=this.b(b);var c=this.b(a&Za);a-=262145;0>a&&(a+=J);(a/E|0)==C&&(this.g|=262144);this.c(b,a);M(this,c&Za)},function(){this.c(this.a,(this.g&C)*E+this.f);this.g&=-8193;M(this,this.a+1)},function(a,b){this.c(b,(this.g&C)*E+this.f);this.g&=-8193;M(this,this.a)},function(a,b){this.c(this.a,this.b(b));this.c(b,this.a*E+this.f);M(this,this.a+1)},function(a,b){a=this.b(b);this.c(b,this.b(a/E|0));M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,R.call(this, +this.b(b),this.a))},function(a,b){this.c(this.a,R.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,R.call(this,this.b(b),this.b(this.a))))},function(a,b){this.c(b,Xc.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(b,Xc.call(this,this.b(b),this.a))},function(a,b){this.c(this.a,Xc.call(this,this.b(b),this.b(this.a)))},function(a,b){this.c(this.a,this.c(b,Xc.call(this,this.b(b),this.b(this.a))))},Nc,function(a,b){0>V(this.b(b),this.a)&&M(this,this.f+1)},function(a, +b){V(this.b(b),this.a)||M(this,this.f+1)},function(a,b){0>=V(this.b(b),this.a)&&M(this,this.f+1)},function(){M(this,this.f+1)},function(a,b){0<=V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){V(this.b(b),this.a)&&M(this,this.f+1)},function(a,b){0V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){V(this.b(b),this.b(this.a))||M(this,this.f+1)},function(a,b){0>=V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(){M(this,this.f+ +1)},function(a,b){0<=V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){V(this.b(b),this.b(this.a))&&M(this,this.f+1)},function(a,b){0X(this.b(b))&&M(this,this.a)},function(a,b){X(this.b(b))||M(this,this.a)},function(a,b){0>=X(this.b(b))&&M(this,this.a)},function(){M(this,this.a)},function(a,b){0<=X(this.b(b))&&M(this,this.a)},function(a,b){X(this.b(b))&&M(this,this.a)},function(a,b){0X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){M(this,this.f+1);b&&this.c(b,this.b(this.a))},function(a,b){a=this.b(this.a);0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.b(this.a);0X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));X(a)||M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0>=X(a)&&M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),1));M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));0<=X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),1));X(a)&&M(this,this.a)}, +function(a,b){a=this.c(b,R.call(this,this.b(b),1));0X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a), 1));M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),1));0X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this, this.b(b),I));X(a)||M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0>=X(a)&&M(this,this.a)},function(a,b){this.c(b,R.call(this,this.b(b),I));M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0<=X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));X(a)&&M(this,this.a)},function(a,b){a=this.c(b,R.call(this,this.b(b),I));0X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));X(a)||M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0>=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a,R.call(this,this.b(this.a),I));0<=X(a)&&M(this,this.f+1);b&&this.c(b,a)},function(a,b){a=this.c(this.a, @@ -188,7 +188,7 @@ function Jd(a,b,c,d,e,f,g,h){function m(a,g){if(g)h(g,null);else{c&&(La(c,b,a),( 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(H){g=null,a=H.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");p(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 m=h[0],u,D=/( [a-z]+=)(['"])(.*?)\2/g;u=D.exec(f);)m=0>m.indexOf(u[1])?m.replace(">",u[0]+">"):m.replace(new RegExp(u[1]+"(['\"])(.*?)\\1"),u[0]);h[0]!=m&&(g=g.replace(h[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);Kd(a,b,c)}})}else c(a,null)} -function Ld(a,b,c,d,e){function f(a){if(void 0===m){var b=h&&A(h,"machine-warning");m=b&&b[0]||h}m&&(m.innerHTML=qa(a))}function g(a){f("Error: "+a);u&&(--Hd||Ha(!0));u=!1}var h,m,u=!0;Hd++;Ma[b]={};try{if(h=document.getElementById(b)){var D;if("object"==typeof resources&&(D=resources.css)){var H=document.head||document.getElementsByTagName("head")[0],Ea=document.createElement("style");Ea.type="text/css";Ea.styleSheet?Ea.styleSheet.cssText=D:Ea.appendChild(document.createTextNode(D));H.appendChild(Ea)}d|| +function Ld(a,b,c,d,e){function f(a){if(void 0===m){var b=h&&A(h,"machine-warning");m=b&&b[0]||h}m&&(m.innerHTML=qa(a))}function g(a){f("Error: "+a);u&&(--Hd||Ha(!0));u=!1}var h,m,u=!0;Hd++;Ma[b]={};try{if(h=document.getElementById(b)){var D;if("object"==typeof resources&&(D=resources.css)){var H=document.head||document.getElementsByTagName("head")[0],Fa=document.createElement("style");Fa.type="text/css";Fa.styleSheet?Fa.styleSheet.cssText=D:Fa.appendChild(document.createTextNode(D));H.appendChild(Fa)}d|| (D=a,"pdp"==a.substr(0,3)&&(D="pdpjs"),d="/versions/"+D+"/1.34.3/components.xsl");D=function(e,m){m?Id(d,null,a,null,!1,f,function(a,e){e?(La(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=m.transformNode(e))?(h.outerHTML=e,--Hd||Ha(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(m,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Hd|| Ha(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Id(c,b,a,e,!0,f,D):Jd(c,null,b,a,e,!1,f,D)}else g("missing machine element: "+b)}catch(Md){g(Md.message)}return u}window.embedPDP10=function(a,b,c,d){Ha(!1);return Ld("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ha(!1);return Ld("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return x(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Sa[a]){for(var c=!0,d=Sa,e=a,f=b.length,g=[],h=[],m="",u=null,D=0;D