Fixed CGA graphics modes on VGA cards

This commit is contained in:
Jeff Parsons 2016-03-12 13:33:21 -08:00
commit 0eddbd05a3
60 changed files with 6775 additions and 404 deletions

View file

@ -74,12 +74,12 @@ function Uc(a,b){if(a.la.We){var c=!1;a.X.If=a.X.If+a.Qi()|0;a.X.gf-=b;0>=a.X.gf
function Wc(a,b){for(var c=0;c<a.gd.length;c++)Xc(a.gd[c],b);if(a.da&&a.da.Xd&&(c=a.da.Xd,c.Ja)){Ib(c,18,c.Y,c.Ia);if(c.fb){var d=c.ea,e=c.A,f,g;null==f&&(f=0);null==g&&(g=d.W-f|0);null==e&&(e={$g:0,Qd:0,Rg:[]});var h=f>>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Qd=0;h<=f;)g=d.ra[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Qd++),h++;c.A=e;c.za=c.A.Qd*c.ea.Mb/691200;d=0;c.A.Bi=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f<c.A.Qd;f++){var l=c.A.Rg[f];g=ta(Hb.type,l);l=ta(Hb.$j,l);if(g!=e||
l!=k+1)(k=f-h)&&(d+=Kb(c,h,k,e)),e=g,h=f;k=l}d+=Kb(c,h,f-h,e);e=c.A.Jk!=d;c.A.Jk=d;if(e){e=new Cb(0,0,c.Y.width,c.Y.height);c.A.Ne=[];h=c.A.Qd;for(d=0;d<c.A.Bi;d++)f=c.A.Af[d].Qd,c.A.Ne.push(Db(e,f,h,!d)),h-=f;for(d=0;d<c.A.Ne.length;d++)e=c.A.Af[d],h=f=c.A.Ne[d],g=c.Ia,(k=xc[e.type])||(k=new Bb),g.strokeStyle="black",g.strokeRect(h.x,h.y,h.$c,h.A),g.fillStyle="string"==typeof k?k:k.toString(),g.fillRect(h.x,h.y,h.$c,h.A),h=c,g=f,h.ga=h.ua,h.W=h.wa,f=g.x+(g.$c>>1),k=g.y+(g.A>>1),l=g.A,g.$c<g.A&&(l=
g.$c,h.sa=!0,h.N.save(),h.N.translate(f,k),h.N.rotate(-Math.PI/2),f=k=0),l<h.W&&(h.W=l,h.ga=h.W+"px Monaco, Lucida Console, Courier New"),g=k,h.B=f,h.U=g,h=c,e=wc[e.type]+" ("+(e.Qd*c.ea.Mb/1024|0)+"Kb)",h.N.font=h.ga,h.B-=h.N.measureText(e).width>>1,h.U+=(h.W>>1)-2,Jb(h,e),h.sa&&(h.N.restore(),h.sa=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.Y,0,0,c.Y.width,c.Y.height,c.vb,c.Jb,c.Ya,c.eb);c.Ja=!1}}
m.Tc=function(){if(this.gd.length){var a=0,b=0;window&&(a=window.scrollX,b=window.scrollY);this.gd[0].Tc();window&&window.scrollTo(a,b)}};
m.Tc=function(a){if(this.gd.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);this.gd[0].Tc();a&&window&&window.scrollTo(b,c)}};
m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.da)if(a=d.da,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.la.Ze);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.la.cc);c++);c==h.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.la.Ze?"powered yet":"ready yet"+(b.rg?" (waiting for notification)":""))+".");a=!1}a&&(d.la.Ib?d.Xb(!0):d.Ie(!0))};
a=!0;break;case "speed":this.qa[b]=c;a=!0;break;case "setSpeed":this.qa[b]=c,c.onclick=function(){Yc(d,d.X.Ud<<1,!0)},c.textContent=this.X.Ce.toFixed(2)+"Mhz",a=!0}return a};function Zc(a,b){if(a.la.Ib){var c=a.A-b;a.A-=c;a.eb-=c}}function $c(a,b,c){a.Ub+=b;c&&(a.eb=a.A=0)}
function ad(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.X.Ud&&a.X.me&&(d=a.X.me/a.X.tg);a.X.Xi=Math.round(1E3/30);a.X.gm=Math.floor(a.X.Hd/c*d);a.X.sh=Math.floor(a.X.Hd/30*d);a.X.Zi=Math.floor(a.X.Hd/60*d);a.X.Yi=Math.floor(a.X.Hd/2*d);b||(a.X.jf=a.X.sh,a.X.Lf=a.X.Zi,a.X.Kf=a.X.Yi);a.X.th=0}function Vc(a,b){var c=a.Ub+a.Jb+a.eb-a.A;b&&1<a.X.Ud&&a.X.me>a.X.tg&&(c=Math.round(c/a.X.Ud));return c}function Nc(a){a.X.me=0;a.Ub=a.Jb=a.eb=a.A=0;Oc(a);Yc(a,1)}
function Yc(a,b,c){var d=!1;if(void 0!==b){.8>a.X.me/a.X.Ce?b=1:d=!0;a.X.Ud=b;b=a.X.tg*a.X.Ud;if(a.X.Ce!=b){a.X.Ce=b;b=a.X.Ce.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.Tc()}$c(a,a.Jb);a.Jb=0;a.X.ef=pa();a.X.De=0;ad(a);return d}
m.Ie=function(a){if(qb(this,!0)){if(!this.la.Ib){Yc(this);this.da&&this.da.start(this.X.ef,Vc(this));this.la.Ib=!0;this.la.fh=!0;this.N&&bd(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.od(!0);a&&this.Tc()}this.X.th>=this.X.Hd&&ad(this,!0);this.X.Mf=0;this.X.ug=pa();this.X.De&&(a=this.X.ug-this.X.De,a>this.X.Xi&&(this.X.ef+=a,this.X.ef>this.X.ug&&(this.X.ef=this.X.ug)));try{do{var c=this.la.We?1:this.X.gm;if(this.N){cd(this.N);var d=this.N;a=c;var e=d.L[0];if(e.xe){var f=(Vc(d.F,d.pa)-
m.Ie=function(a){if(qb(this,!0)){if(!this.la.Ib){Yc(this);this.da&&this.da.start(this.X.ef,Vc(this));this.la.Ib=!0;this.la.fh=!0;this.N&&bd(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.od(!0);a&&this.Tc(!0)}this.X.th>=this.X.Hd&&ad(this,!0);this.X.Mf=0;this.X.ug=pa();this.X.De&&(a=this.X.ug-this.X.De,a>this.X.Xi&&(this.X.ef+=a,this.X.ef>this.X.ug&&(this.X.ef=this.X.ug)));try{do{var c=this.la.We?1:this.X.gm;if(this.N){cd(this.N);var d=this.N;a=c;var e=d.L[0];if(e.xe){var f=(Vc(d.F,d.pa)-
e.xd)/d.pb|0,g=dd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.pb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.Ba-Vc(k.F,k.pa);0<l&&a>l&&(a=l)}c=a}try{this.tf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.eb-this.A;this.Jb+=n;this.X.Mf+=n;$c(this,0,!0);Uc(this,n);this.X.Lf-=n;0>=this.X.Lf&&(this.X.Lf+=this.X.Zi,Wc(this));this.X.Kf-=n;0>=this.X.Kf&&(this.X.Kf+=this.X.Yi,this.od());this.X.jf-=n;if(0>=this.X.jf){this.X.jf+=this.X.sh;break}}while(this.la.Ib)}catch(q){this.Xb();
Pc(this);this.da&&this.da.stop(pa(),Vc(this));qb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.si;this.X.De=pa();e=this.X.Xi;this.X.Mf&&(e=Math.round(e*this.X.Mf/this.X.sh));e-=this.X.De-this.X.ug;if(f=this.X.De-this.X.ef)this.X.me=Math.round(this.Jb/(10*f))/100,864E5<=f&&(this.Ub=0,this.N&&cd(this.N,!0),Yc(this));if(0>e||this.X.me<this.X.Ce)e=0;this.X.th+=this.X.Mf;this.X.De+=e;c(d,e)}else Pc(this),this.da&&this.da.stop(pa(),Vc(this))};m.tf=function(){return 0};
m.Xb=function(a){rb(this,!0);this.eb-=this.A;this.A=0;$c(this,this.Jb);this.Jb=0;if(this.la.Ib){this.la.Ib=!1;this.N&&bd(this.N);var b=this.qa.run;b&&(b.textContent="Run")}this.la.Sd=a};function Pc(a,b){Wc(a,b);a.od()}
@ -89,7 +89,7 @@ m.bm=function(a){var b=this.F;a<<=3;var c=b.Nc+a|0;if(7<=(b.Pd-c|0))return this.
m.Ik=function(a,b){return(a>>>0)+b>this.$b?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};function id(a,b,c,d,e){a.ba=b;a.Aa=d;a.Ta=e;a.$b=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Yb=(b&4?a.F.Bc.Aa:a.F.Dc)+(b&65528)|0;4>a.id&&fd(a,!0)}function jd(a,b,c){var d=a.F,e=d.oa(b+2),f=d.oa(b)|(e&255)<<16,d=d.oa(b+4);a.ba=c;a.Aa=f;a.Ta=d;a.$b=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Yb=b;4>a.id&&fd(a,!0)}
function hd(a,b,c,d){var e=a.F;if(!d&&c===a.A.ba)return a.ba=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.$b=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Yb=a.A.Yb,a.A.ba=-1,fd(a,!0,!0,!1),a.Aa;a.A.ba=-1;var f=e.oa(b+0),g=e.oa(b+4),h=g&7936,k=e.oa(b+2)|(g&255)<<16,l=e.oa(b+6),n=c&65528;if(80386<=e.ia){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.af=!1;if(p&&1==c&&a.B.length){var A=a.B[a.Wf-1];if(A&&!A())return-1}var F=c&3,v=(g&24576)>>13,A=-1,D,H;n||
b>=e.Dc&&b<e.zd&&(h=0);if(6144<=h){if(A=0,F>a.Vb&&(A=-1,!1===p||v==a.Vb||h&1024&&v<=a.Vb))A=E(e),kd(e,E(e),!0),G(e,A),a.af=!0,A=0}else{if(256==h||2304==h)return ld(a,c,p)?a.Aa:-1;if(1024==h)A=2,H=0,F<a.Vb&&(F=a.Vb);else if(3072==h)A=4,H=0,F<a.Vb&&(F=a.Vb);else if(1536==h)A=2,H=148224;else if(3584==h)A=4,H=148224;else if(1792==h)A=2,H=147712;else if(3840==h)A=4,H=147712;else if(1280==h)return ld(a,k&65535,p)?a.Aa:-1}0<A&&!(g&32768)&&(A=0);if(0<A&&(n=a.Vb,D=b==e.Nc+c,F<=v&&(!D||0<=e.pb||n<=v))){b=k&
65535;h&2048&&(f=q|l<<16);l=h=0;c=b&3;if(c<n){if(-1===a.sg(b,!0))return-1;l=e.Sa.Aa;e.Sa.type&2048?(c=(c<<3)+4,d=4):(c=(c<<2)+2,d=2);h=e.oa(l+c+d);if(!h)return C.call(e,10,h),-1;if(-1===e.ta.sg(h,!0))return-1;l=2==d?e.oa(l+c):e.na(l+c)}c=e.aa;e.aa&=~H;c&131072&&md(e,!0,!1);if(-1===a.sg(b))return-1;sd(e,A);a.Wf=f;if(a.Vb<n){if(!0!==p)return-1;A=I(e);f=0;for(g&=31;g--;)a.N[f++]=td(e,e.ta,A),A+=2;p=e.ta.ba;g=I(e);kd(e,h,!0);G(e,l);c&131072&&(sd(e,4),ud(e,e.Ob.ba,4,2),e.Ob.load(0),ud(e,e.Nb.ba,4,2),e.Nb.load(0),
65535;h&2048&&(f=q|l<<16);l=h=0;c=b&3;if(c<n){if(-1===a.sg(b,!0))return-1;l=e.Sa.Aa;e.Sa.type&2048?(c=(c<<3)+4,d=4):(c=(c<<2)+2,d=2);h=e.oa(l+c+d);if(!h)return C.call(e,10,h),-1;if(-1===e.ta.sg(h,!0))return-1;l=2==d?e.oa(l+c):e.na(l+c)}c=e.aa;e.aa&=~H;c&131072&&md(e,!0,!1);if(-1===a.sg(b))return-1;nd(e,A);a.Wf=f;if(a.Vb<n){if(!0!==p)return-1;A=I(e);f=0;for(g&=31;g--;)a.N[f++]=td(e,e.ta,A),A+=2;p=e.ta.ba;g=I(e);kd(e,h,!0);G(e,l);c&131072&&(nd(e,4),ud(e,e.Ob.ba,4,2),e.Ob.load(0),ud(e,e.Nb.ba,4,2),e.Nb.load(0),
ud(e,e.ub.ba,4,2),vd(e,0),ud(e,e.Wa.ba,4,2),wd(e,0));ud(e,p,e.Z,2);for(J(e,g);f;)J(e,a.N[--f]);a.af=!0}return a.Aa}if(0!=A)return C.call(e,13,c&65532|(D?2:0)),-1;if(!(g&32768))return C.call(e,11,c&65532|(D?2:0)),-1;break;case 2:if(n){if(4096>h||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1;break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,
13,c&65532),-1;2304==p&&(a.vi=k+e.oa(k+100+2)|0,a.Dk=k+a.Ta|0);break;case 6:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.ba=c,a.A.Aa=k,a.A.Ta=f,a.A.wb=g,a.A.type=h,a.A.ext=l,a.A.Yb=b):(a.ba=c,a.Aa=k,a.Ta=f,a.$b=(f>>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Yb=b,fd(a,!0,!0,!1));return k}
function ld(a,b,c){var d=a.F,e=a.Vb,f=d.Sa.ba,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.ib(d.Sa.Yb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.ib(d.Sa.Yb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.ib(g+14,K(d)),d.ib(g+16,xd(d)),d.ib(g+18,d.G),d.ib(g+20,d.I),d.ib(g+22,d.M),d.ib(g+24,d.H),d.ib(g+26,I(d)),d.ib(g+28,d.P),d.ib(g+30,d.K),d.ib(g+32,d.J),d.ib(g+
@ -100,7 +100,7 @@ m.restore=function(a){"number"==typeof a?this.load(a):(this.ba=a[0],this.Aa=a[1]
function fd(a,b,c,d){void 0===c&&(c=!!(a.F.ab&1));a.bd=!1;if(c)if(a.load=a.sg,a.Wi=a.bm,a.pc=a.Di,a.qc=a.Fi,void 0===d&&(d=!!(a.F.aa&131072)),d)a.load=a.L,a.pc=a.ea,a.qc=a.qa,a.Vb=a.Kc=3,a.Z=a.Mc=2,a.R=a.Ca=65535,a.Ta=65535,a.$b=a.Ta+1,a.Mc=a.Z,a.Yb=-1,a.af=!1;else{if(!(a.ba&-4))a.pc=a.ng,a.qc=a.og;else if(a.type&4096){6144==(a.type&6656)&&(a.pc=a.ng);if(a.type&2048||!(a.type&512))a.qc=a.og;1024==(a.type&3072)&&(a.pc==a.Di&&(a.pc=a.Hk),a.qc==a.Fi&&(a.qc=a.Ik),a.bd=!0);b&&6>a.id&&a.ba&-4&&-1!==a.Yb&&
(c=a.Yb+5,d=a.F.Qa(c),d&1||a.F.sc(c,d|1))}b&&(a.Vb=a.ba&3,a.Kc=(a.wb&24576)>>13,80386>a.F.ia||!(a.ext&64)?(a.Z=2,a.R=65535):(a.Z=4,a.R=-1),a.Mc=a.Z,a.Ca=a.R)}else a.load=a.mh,a.Wi=a.cm,a.pc=a.Ei,a.qc=a.Gi,a.Vb=a.Kc=0,a.Yb=-1,a.af=!1}
function Bd(a){this.ia=a.model||8088;var b=a.stepping;this.nc=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.ag=61442;this.mc=1792;this.Yf=28672;this.Ed=4;this.sa=255;this.B=80286<=this.ia?xb:wb;this.U=Cd;this.gg=Dd;this.hg=Ed;this.Ng=Fd;if(80186<=this.ia&&(this.U=Cd.slice(),this.gg=Dd.slice(),this.hg=Ed.slice(),this.sa=31,this.U[15]=Gd,this.U[96]=Hd,this.U[97]=Id,this.U[98]=Jd,this.U[99]=Gd,this.U[100]=Gd,this.U[101]=
Gd,this.U[102]=Gd,this.U[103]=Gd,this.U[104]=Kd,this.U[105]=Ld,this.U[106]=Md,this.U[107]=Nd,this.U[108]=Od,this.U[109]=Pd,this.U[110]=Td,this.U[111]=Ud,this.U[192]=Vd,this.U[193]=Wd,this.U[200]=Xd,this.U[201]=Yd,this.U[241]=de,this.gg[7]=ee,this.hg[7]=ee,80286<=this.ia)){this.ag=2;this.mc|=28672;this.Ed=0;this.U[15]=fe;this.Tb=ge.slice();for(a=0;a<this.Tb.length;a++)this.Tb[a]||(this.Tb[a]=he);this.U[84]=ie;this.U[99]=je;if(80386<=this.ia){var c;this.Yf=0;this.mc|=196608;this.U[100]=ke;this.U[101]=
Gd,this.U[102]=Gd,this.U[103]=Gd,this.U[104]=Kd,this.U[105]=Ld,this.U[106]=Md,this.U[107]=Nd,this.U[108]=Od,this.U[109]=Pd,this.U[110]=Qd,this.U[111]=Ud,this.U[192]=Vd,this.U[193]=Wd,this.U[200]=Xd,this.U[201]=Yd,this.U[241]=de,this.gg[7]=ee,this.hg[7]=ee,80286<=this.ia)){this.ag=2;this.mc|=28672;this.Ed=0;this.U[15]=fe;this.Tb=ge.slice();for(a=0;a<this.Tb.length;a++)this.Tb[a]||(this.Tb[a]=he);this.U[84]=ie;this.U[99]=je;if(80386<=this.ia){var c;this.Yf=0;this.mc|=196608;this.U[100]=ke;this.U[101]=
le;this.U[102]=me;this.U[103]=ne;for(c in M)this.Tb[+c]=M[c];80546<=this.nc&&80562>=this.nc&&(this.Tb[166]=oe,this.Tb[167]=pe)}}this.ie=[];this.je=[];this.le=0;Nc(this);this.la.Sd=this.la.Mi=!1;this.Pg=0;this.jd=this.ra=[];this.La=this.Mb=this.Fa=this.Fd=this.hd=this.Gb=this.vb=0;qe(this)}db(Bd,Lc);function re(a,b,c,d){Gc((d?a.jd:a.ra)[b>>>a.La],c);d&&Vb(a)}
function se(a){var b;if(a.ra===a.jd){a.ra=Array(a.Fd);a.ke=new B(null,0,0,5,null,a);Mb(a.ke,a.ha);for(b=0;b<a.Fd;b++)a.ra[b]=a.ke;a.qd=new B;a.bg=Array(512);a.ye=0}else for(var c=0;c<a.Gd.length;c++){b=a.Gd[c];var d=a.ra[b];512>a.ye&&(a.bg[a.ye++]=d);a.ra[b]=a.ke}a.Gd=[]}function Vb(a){a.ab&-2147483648&&se(a)}
function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.jd[(a.Md+e&a.Gb)>>>a.La],g=f.Kd(e);if(!(g&1))return d||te.call(a,b,!1,c),a.qd;if(!(g&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.qd;var h=(b&4190208)>>>10,g=a.jd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Kd(h);if(!(k&1))return d||te.call(a,b,!1,c),a.qd;if(!(k&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.qd;c=a.jd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.ra[d];b=b&-4096;var l;0<a.ye?(l=a.bg[--a.ye],l.ih(b)):l=new B(b,0,0,6);b=l;b.Bd=c;b.yb=f;b.A=
@ -108,8 +108,8 @@ e>>2;b.zb=g;b.B=h>>2;vb&&ac&&c.ca&&!c.controller&&!c.Re&&!c.Se?(b.Xa=c.Xa,b.ce=c
function ve(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function we(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}}
function qe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.fb=0;a.P=0;a.K=0;a.J=0;a.bb=!1;a.ja=a.wa=0;a.Y=0;a.Og=0;a.L=0;a.ab=65520;a.Nc=0;a.Pd=1023;a.aa=a.Pa=0;a.Vc=a.td=a.Uc=a.Wc=0;a.pb=-1;a.Jc=a.pd=-1;a.Ge=a.W=-1;a.va=new ed(a,1,"CS");a.ub=new ed(a,2,"DS");a.Wa=new ed(a,2,"ES");a.ta=new ed(a,3,"SS");G(a,0);kd(a,0);if(80386<=a.ia){switch(a.nc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.ab=16;a.ki=0;a.pe=0;a.Md=0;a.Ja=[0,0,0,0,null,null,0,
0];a.Be=[null,null,null,null,null,null,0,0];a.Nb=new ed(a,2,"FS");a.Ob=new ed(a,2,"GS");ue(a)}a.of=new ed(a,0,"NULL");a.ka=a.ub;a.Ka=a.ta;a.S=a.Ga=0;a.D=a.C=-1;a.ac=a.of;a.ua=0;if(80286>a.ia)zd(a,0,65535);else{a.Dc=0;a.zd=65535;a.Bc=new ed(a,5,"LDT",!0);a.Sa=new ed(a,4,"TSS",!0);a.Ea=new ed(a,6,"VER",!0);zd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ia&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.nf=(b>>>0)+(a.va.Ta>>>0)+1}yd(a,0);md(a)}
function xe(a,b){b.ba&65528&&b.Kc<a.pa&&7168!=(b.wb&7168)&&b.load(0)}function ye(a){2==a.Mc?(a.dc=a.oa,a.Na=ze,a.Ya=Ae,a.Db=Be,2==a.Z?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Fe,a.fa=Ge,a.za=He)):(a.dc=a.na,a.Na=Ke,a.Ya=Le,a.Db=Me,2==a.Z?(a.V=Ne,a.fa=Oe,a.za=Pe):(a.V=Qe,a.fa=Re,a.za=Se))}function sd(a,b){a.Z!=b&&(a.Ga|=1024,a.Z=b,a.R=2==b?65535:-1,af(a))}
function af(a){2==a.Z?(a.Ia=32768,a.rb=a.oa,a.tc=a.ib,2==a.Mc?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Ne,a.fa=Oe,a.za=Pe)):(a.Ia=-2147483648,a.rb=a.na,a.tc=a.mb,2==a.Mc?(a.V=Fe,a.fa=Ge,a.za=He):(a.V=Qe,a.fa=Re,a.za=Se))}function bf(a){a.Mc=a.va.Mc;a.Ca=a.va.Ca;ye(a);a.Z=a.va.Z;a.R=a.va.R;af(a);a.Ga&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.ba+this.ub.ba+this.ta.ba+this.Wa.ba+xd(this)|0};
function xe(a,b){b.ba&65528&&b.Kc<a.pa&&7168!=(b.wb&7168)&&b.load(0)}function ye(a){2==a.Mc?(a.dc=a.oa,a.Na=ze,a.Ya=Ae,a.Db=Be,2==a.Z?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Fe,a.fa=Ge,a.za=He)):(a.dc=a.na,a.Na=Ke,a.Ya=Le,a.Db=Me,2==a.Z?(a.V=Ne,a.fa=Oe,a.za=Pe):(a.V=Qe,a.fa=Re,a.za=Se))}function nd(a,b){a.Z!=b&&(a.Ga|=1024,a.Z=b,a.R=2==b?65535:-1,af(a))}
function af(a){2==a.Z?(a.Ia=32768,a.sb=a.oa,a.tc=a.ib,2==a.Mc?(a.V=Ce,a.fa=De,a.za=Ee):(a.V=Ne,a.fa=Oe,a.za=Pe)):(a.Ia=-2147483648,a.sb=a.na,a.tc=a.mb,2==a.Mc?(a.V=Fe,a.fa=Ge,a.za=He):(a.V=Qe,a.fa=Re,a.za=Se))}function bf(a){a.Mc=a.va.Mc;a.Ca=a.va.Ca;ye(a);a.Z=a.va.Z;a.R=a.va.R;af(a);a.Ga&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.ba+this.ub.ba+this.ta.ba+this.Wa.ba+xd(this)|0};
function cf(a,b,c){void 0===a.ie[b]&&(a.ie[b]=[]);a.ie[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function ef(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.ra[g>>>a.La].Od(g&a.Fa,f,a):Gc(a.ra[g>>>a.La],f)}c>>=2;d>>=4}}
function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<<g;a.ua|=2;break}}e>>=2;f>>=4}}}function md(a,b,c){void 0===b&&(b=!!(a.ab&1));void 0===c&&(c=!!(a.aa&131072));a.Ng=b&&!c?gf:Fd;fd(a.va,!1,b,c);fd(a.ub,!1,b,c);fd(a.ta,!1,b,c);fd(a.Wa,!1,b,c);80386<=a.ia&&(fd(a.Nb,!1,b,c),fd(a.Ob,!1,b,c));bf(a)}
m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.ub.save(),e=this.ta.save(),f=this.Wa.save(),g;null!=this.Dc?(g=[this.ab,this.Dc,this.zd,this.Nc,this.Pd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ia&&(g.push(this.ki),g.push(this.pe),g.push(this.Md),g.push(this.Ja),g.push(this.Be))):g=null;b=[b,c,d,e,f,g,xd(this)];80386<=this.ia&&(b.push(this.Nb.save()),b.push(this.Ob.save()));N(a,1,b);N(a,2,[this.ka.lc,
@ -128,9 +128,9 @@ m.Pb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "E
function If(a,b,c,d){var e=(d?a.jd:a.ra)[(b&a.vb)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.oe(f,b);if(2==c)return f<a.Fa?e.cg(f,b):e.oe(f,b)|If(a,b+1,1,d)<<8;if(4==c)return f<a.Fa-2?e.ji(f,b):f==a.Fa-1?e.cg(f,b)|If(a,b+2,2,d)<<16:e.oe(f,b)|If(a,b+1,1,d)<<8|If(a,b+2,1,d)<<16|If(a,b+3,1,d)<<24}return null}m.Qa=function(a){return this.ra[(a&this.vb)>>>this.La].jc(a&this.Fa,a)};
m.oa=function(a){var b=a&this.Fa,c=(a&this.vb)>>>this.La;this.A-=this.B.Dg;if(b<this.Fa)return this.ra[c].pf(b,a);b=this.ra[c].jc(b,a);this.S&4096||(b|=this.ra[c+1&this.hd].jc(0,a+1)<<8);return b};m.na=function(a){var b=a&this.Fa,c=(a&this.vb)>>>this.La;if(b<this.Fa-2)return this.ra[c].Kd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.ra[c].jc(b++,a++)<<f;if(this.S&4096)break;--g||(c=c+1&this.hd,b=0);f+=8}return d};m.sc=function(a,b){this.ra[(a&this.vb)>>>this.La].uc(a&this.Fa,b&255,a)};
m.ib=function(a,b){var c=a&this.Fa,d=(a&this.vb)>>>this.La;this.A-=this.B.Dg;c<this.Fa?this.ra[d].wf(c,b&65535,a):(this.ra[d++].uc(c,b&255,a),this.S&4096||this.ra[d&this.hd].uc(0,b>>8&255,a+1))};m.mb=function(a,b){var c=a&this.Fa,d=(a&this.vb)>>>this.La;this.A-=this.B.Dg;if(c<this.Fa-2)this.ra[d].vf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.ra[d].uc(c++,b&255,a++);if(this.S&4096)break;--f||(d=d+1&this.hd,c=0);b>>>=8}};
function Jf(a,b,c){a.ac=b;a.Ba=c&a.Ca;a.D=b.pc(a.Ba,1);return a.S&1?0:a.Qa(a.D)}function P(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.ac=b;a.Ba=c&a.Ca;a.D=b.pc(a.Ba,a.Z);return a.S&1?0:a.rb(a.D)}function R(a,b){a.ac=a.ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,2);return a.S&1?0:a.oa(a.D)}function Mf(a,b){a.ac=a.Ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,2);return a.S&1?0:a.oa(a.D)}function S(a,b){a.ac=a.ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,4);return a.S&1?0:a.na(a.D)}
function Nf(a,b){a.ac=a.Ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,4);return a.S&1?0:a.na(a.D)}function Of(a,b){a.S&2||a.sc(a.ac.qc(a.Ba,1),b)}function Pf(a,b){a.S&2||a.ib(a.ac.qc(a.Ba,2),b)}function Qf(a,b){a.S&2||a.mb(a.ac.qc(a.Ba,4),b)}function td(a,b,c){return a.rb(b.pc(c,a.Z))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Rf(a){var b=mf(a,2),c=a.oa(a.Ha);a.Ha=b;return c}function T(a){var b=mf(a,a.Mc),c=a.dc(a.Ha);a.Ha=b;return c}
m.Ma=function(){var a=mf(this,this.Z),b=this.rb(this.Ha);this.Ha=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function E(a){var b=a.rb(a.ga);a.ga=a.ga+a.Z|0;var c=a.Kg-a.ga|0;0>c&&0<=(a.Kg^a.ga)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ca||a.ta.bd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ca):-1>c&&C.call(a,12,0));return b}
function Jf(a,b,c){a.ac=b;a.Ba=c&a.Ca;a.D=b.pc(a.Ba,1);return a.S&1?0:a.Qa(a.D)}function P(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.ac=b;a.Ba=c&a.Ca;a.D=b.pc(a.Ba,a.Z);return a.S&1?0:a.sb(a.D)}function R(a,b){a.ac=a.ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,2);return a.S&1?0:a.oa(a.D)}function Mf(a,b){a.ac=a.Ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,2);return a.S&1?0:a.oa(a.D)}function S(a,b){a.ac=a.ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,4);return a.S&1?0:a.na(a.D)}
function Nf(a,b){a.ac=a.Ka;a.Ba=b&a.Ca;a.D=a.ac.pc(a.Ba,4);return a.S&1?0:a.na(a.D)}function Of(a,b){a.S&2||a.sc(a.ac.qc(a.Ba,1),b)}function Pf(a,b){a.S&2||a.ib(a.ac.qc(a.Ba,2),b)}function Qf(a,b){a.S&2||a.mb(a.ac.qc(a.Ba,4),b)}function td(a,b,c){return a.sb(b.pc(c,a.Z))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ha);this.Ha=a;return b};function Rf(a){var b=mf(a,2),c=a.oa(a.Ha);a.Ha=b;return c}function T(a){var b=mf(a,a.Mc),c=a.dc(a.Ha);a.Ha=b;return c}
m.Ma=function(){var a=mf(this,this.Z),b=this.sb(this.Ha);this.Ha=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ha)<<24>>24;this.Ha=a;return b};function E(a){var b=a.sb(a.ga);a.ga=a.ga+a.Z|0;var c=a.Kg-a.ga|0;0>c&&0<=(a.Kg^a.ga)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ca||a.ta.bd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ca):-1>c&&C.call(a,12,0));return b}
function ud(a,b,c,d){c=a.ga-c|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ca||a.ta.bd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));switch(d){case 1:a.sc(c,b);break;case 2:a.ib(c,b);break;case 4:a.mb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.Z|0;0>(c-a.sd|0)&&0<=(a.sd^c)&&(8088>=a.ia||!a.ta.bd&&a.ta.Ta==a.ta.Ca||a.ta.bd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ca),c=a.ga):C.call(a,12,0));a.tc(c,b);a.ga=c}
function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.qa[b]&&(void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.Xb()),d=!a.la.Ib||a.la.Oi?r(c,d):"--------".substr(0,d),a.qa[b].textContent!=d&&(a.qa[b].textContent=d))}
m.od=function(a){if(this.Pg&&(a||!this.la.Ib||this.la.Oi)){Sf(this,"EAX",this.G);Sf(this,"EBX",this.H);Sf(this,"ECX",this.I);Sf(this,"EDX",this.M);Sf(this,"ESP",I(this));Sf(this,"EBP",this.P);Sf(this,"ESI",this.K);Sf(this,"EDI",this.J);Sf(this,"CS",this.va.ba);Sf(this,"DS",this.ub.ba);Sf(this,"SS",this.ta.ba);Sf(this,"ES",this.Wa.ba);Sf(this,"EIP",K(this));var b=xd(this);Sf(this,"PS",b);Sf(this,"V",b&2048);Sf(this,"D",b&1024);Sf(this,"I",b&512);Sf(this,"T",b&256);Sf(this,"S",b&128);Sf(this,"Z",b&
@ -147,7 +147,7 @@ function U(a,b){var c=null,d=a.B+b&7;a.C&1<<d?c=a.L[d]:fg(a,1)||(c=a.ka[0]);retu
function Fg(a){a.ea[0]=a.F.na(a.F.D);a.ea[1]=a.F.na(a.F.D+4);a.ea[2]=a.F.oa(a.F.D+8);return a.ea}m.pi=function(){this.F.mb(this.F.D,this.da[0])};m.lk=function(){this.F.mb(this.F.D,this.da[0]);this.F.mb(this.F.D+4,this.da[1])};m.nk=Xf.prototype.pi;m.mk=Xf.prototype.lk;function Gg(a){a.F.mb(a.F.D,a.ea[0]);a.F.mb(a.F.D+4,a.ea[1]);a.F.ib(a.F.D+8,a.ea[2])}
function Hg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.da[0]=f;a.da[1]=c|(d|e)<<20;return a.W[0]}function Ag(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Ig(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Jg(a,b){for(var c=0,d=0;b--;)c|=a%10<<d,a/=10,d+=4;return c}
function Kg(a){var b=null,c=1<<a.B;if(!(a.C&c)&&(a.ma&=-513,fg(a,65)))return b;a.C&=~c;b=a.L[a.B];a.B=a.B+1&7;return b}function Lg(a,b){if(null!=b){var c=a.B-1&7,d=1<<c;if(a.C&d&&(a.ma|=512,fg(a,65)))return;if(isNaN(b)&&fg(a,1)){if(fg(a,1))return;b=NaN}a.L[a.B=c]=b;a.C|=d}}
function Mg(a,b){var c,d=a.F;c=d.rb(b);a.kc=c&-57409;c=d.rb(b+=d.Z);a.ma=c&-14337;a.B=(c&14336)>>11;ag(a);bg(a,d.rb(b+=d.Z));!(d.ab&1)||d.aa&131072?(a.V=d.rb(b+=d.Z),c=d.rb(b+=d.Z),a.ja=c&2047,a.V|=(c&-4096)<<4,a.fa=-1,a.U=d.rb(b+=d.Z),a.U|=(d.rb(b+=d.Z)&-4096)<<4,a.ga=-1):(a.V=d.rb(b+=d.Z),c=d.rb(b+=d.Z),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.rb(b+=d.Z),a.ga=d.rb(b+=d.Z)&65535);return b+d.Z}
function Mg(a,b){var c,d=a.F;c=d.sb(b);a.kc=c&-57409;c=d.sb(b+=d.Z);a.ma=c&-14337;a.B=(c&14336)>>11;ag(a);bg(a,d.sb(b+=d.Z));!(d.ab&1)||d.aa&131072?(a.V=d.sb(b+=d.Z),c=d.sb(b+=d.Z),a.ja=c&2047,a.V|=(c&-4096)<<4,a.fa=-1,a.U=d.sb(b+=d.Z),a.U|=(d.sb(b+=d.Z)&-4096)<<4,a.ga=-1):(a.V=d.sb(b+=d.Z),c=d.sb(b+=d.Z),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.sb(b+=d.Z),a.ga=d.sb(b+=d.Z)&65535);return b+d.Z}
function Ng(a,b){var c=a.F;c.tc(b,a.kc);c.tc(b+=c.Z,Zf(a));c.tc(b+=c.Z,$f(a));if(!(c.ab&1)||c.aa&131072){var d=(a.fa<<4)+a.V;c.tc(b+=c.Z,d);c.tc(b+=c.Z,d>>4&-4096|a.ja);d=(a.ga<<4)+a.U;c.tc(b+=c.Z,d);c.tc(b+=c.Z,d>>4&-4096)}else c.tc(b+=c.Z,a.V),c.tc(b+=c.Z,a.fa|a.ja<<16),c.tc(b+=c.Z,a.U),c.tc(b+=c.Z,a.ga);return b+c.Z}var Og=Math.log(10)/Math.LN2,Pg=Math.LOG2E,Qg=Math.PI,Rg=Math.log(2)/Math.LN10,Sg=Math.LN2,Tg=Math.pow(2,63);function Ug(){this.ma&=-32896;ag(this)}
function Vg(){lg(this,U(this,0),U(this,this.A))}function Wg(){lg(this,U(this,0),U(this,this.A))&&Kg(this)}function Xg(){Wg.call(this)}function Yg(){W(this,0,kg(this,U(this,0),Dg(this)))}function Zg(){this.C&=~(1<<this.B)}function $g(){Yf(this)}function ah(){this.kc=this.F.oa(this.F.D)&-57409}function bh(){Mg(this,this.F.D)}function ch(){for(var a=this.F,b=Mg(this,a.D),c=this.ea,d=0;d<this.L.length;d++)c[0]=a.na(b),c[1]=a.na(b+=4),c[2]=a.oa(b+=4),c&&W(this,d,Hg(this,c)),b+=2}
function dh(){for(var a=this.F,b=Ng(this,a.D),c=0;c<this.L.length;c++){var d=zg(this,c,!0);a.mb(b,d[0]);a.mb(b+=4,d[1]);a.ib(b+=4,d[2]);b+=2}Yf(this)}function eh(){Ng(this,this.F.D);this.kc|=63}function fh(){W(this,this.A,U(this,0))&&Kg(this)}function gh(){fh.call(this)}function hh(){this.F.ib(this.F.D,this.kc)}function ih(){this.F.ib(this.F.D,Zf(this))}function jh(){80287<=this.ia&&(this.F.G=this.F.G&-65536|Zf(this))}function kh(){var a=U(this,0);W(this,0,U(this,this.A));W(this,this.A,a)}
@ -166,7 +166,7 @@ kg(this,U(this,this.A),U(this,0)))&&Kg(this)}},223:{0:function(){Lg(this,Bg(this
Jg(a,8),this.ea[1]=Jg(a/1E8,8),this.ea[2]=Jg(a/1E16,2),0>a&&(this.ea[2]|=32768),Gg(this))},7:function(){null!=mg(this,U(this,0),Tg)&&(this.lk(),Kg(this))},48:function(){Zg.call(this);Kg(this)},49:lh,50:gh,51:gh,52:jh}},nh=[Ug,$g,ah,bh,ch,dh,hh,eh,ih,jh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Xf(d);mb(d,c)}});function oh(a,b){var c=a+b+Bf(this)|0;of(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&255}
function ph(a,b){var c=a+b+Bf(this)|0;of(this,a,b,c,this.Ia|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&this.R}function qh(a,b){var c=a+b|0;of(this,a,b,c,191);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&255}function rh(a,b){var c=a+b|0;of(this,a,b,c,this.Ia|63);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&this.R}
function sh(a,b){var c=a&b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c}function th(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a&b,this.Ia)&this.R}function uh(a,b){this.A-=10+(-1===this.D?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Ff(this),a;Df(this);return a}
function vh(a){if(-1===this.D)return C.call(this,6),a;var b=a,c=this.rb(this.D),d=this.rb(this.D+this.Z);2==this.Z&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(b<c||b>d)&&C.call(this,5);this.S|=2;return a}function wh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function xh(a,b){var c=0;if(b){Df(this);for(var d=2==this.Z?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a}
function vh(a){if(-1===this.D)return C.call(this,6),a;var b=a,c=this.sb(this.D),d=this.sb(this.D+this.Z);2==this.Z&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(b<c||b>d)&&C.call(this,5);this.S|=2;return a}function wh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function xh(a,b){var c=0;if(b){Df(this);for(var d=2==this.Z?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a}
function yh(a,b){a&1<<(b&(2==this.Z?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function zh(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Ah(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Bh(a,b){var c=1<<(b&(2==this.Z?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c}
function Ch(a,b){if(-1===this.D)return yh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ba+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Dh(a,b){if(-1===this.D)return zh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ba+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b}
function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ba+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.Z<<3;if(b>=c||b<-c)a=Lf(this,this.ac,this.Ba+(b>>(2==this.Z?4:5))*this.Z);b=1<<(b&(2==this.Z?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b}
@ -178,7 +178,7 @@ function Sh(a,b){if(-1===this.D)return he.call(this),a;vd(this,this.oa(this.D+th
function Wh(a,b){if(-1===this.D)return he.call(this),a;var c=this.oa(this.D+this.Z);this.Ob.load(c);this.A-=this.B.lf;return b}function Xh(a,b){this.A-=14+(-1===this.D?0:2);if(b&65528&&-1!==this.Ea.load(b)&&(7168==(this.Ea.wb&7168)||this.Ea.Kc>=this.pa)&&this.Ea.Kc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function Yh(a,b){if(-1===this.D)return he.call(this),a;kd(this,this.oa(this.D+this.Z));this.A-=this.B.lf;return b}
function Zh(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function $h(a,b){switch(this.L>>3&7){case 4:this.Y=this.G;break;case 5:this.Y=this.I;break;case 6:this.Y=this.M;break;case 7:this.Y=this.H}return b}function ai(a,b){return b}
function bi(a,b){var c=this.L>>3&7;switch(c){case 0:this.Y=this.G;break;case 2:this.Y=this.M;break;case 3:this.Y=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.Y=this.I;break;case 4:this.Y=I(this);break;case 5:this.Y=this.P;break;case 6:this.Y=this.K;break;case 7:this.Y=this.J}}return Zh.call(this,0,b)}
function ci(a,b){switch(this.L>>3&7){case 0:b=this.Wa.ba;break;case 1:b=this.va.ba;break;case 2:b=this.ta.ba;break;case 3:b=this.ub.ba;break;case 4:if(80386<=this.ia){b=this.Nb.ba;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Ob.ba;break}default:C.call(this,6),b=a}-1!==this.C&&sd(this,2);return Zh.call(this,0,b)}
function ci(a,b){switch(this.L>>3&7){case 0:b=this.Wa.ba;break;case 1:b=this.va.ba;break;case 2:b=this.ta.ba;break;case 3:b=this.ub.ba;break;case 4:if(80386<=this.ia){b=this.Nb.ba;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Ob.ba;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return Zh.call(this,0,b)}
function Qh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function di(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a|b,128)}function vi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return vf(this,a|b,this.Ia)&this.R}
function wi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&255}function xi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Wb:this.B.Lc;return c&this.R}function yi(){return uf(this)?1:0}function zi(){return pf(this)?1:0}function Ai(){return pf(this)?0:1}function Bi(){return sf(this)?1:0}function Ci(){return sf(this)?0:1}function Di(){return pf(this)||sf(this)?1:0}
function Ei(){return pf(this)||sf(this)?0:1}function Fi(){return tf(this)?1:0}function Gi(){return tf(this)?0:1}function Hi(){return qf(this)?1:0}function Ii(){return qf(this)?0:1}function Ji(){return!tf(this)!=!uf(this)?1:0}function Ki(){return!tf(this)!=!uf(this)?0:1}function Li(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Mi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Ni(a,b){return Oi.call(this,a,b,this.xa())}function Pi(a,b){return Qi.call(this,a,b,this.xa())}
@ -285,7 +285,7 @@ function Id(){this.W=this.ga;this.J=this.J&~this.R|E(this);this.K=this.K&~this.R
function le(){this.S|=20;this.ka=this.Ka=this.Ob;this.A-=this.B.md}function me(){this.S|=1024;this.Ga&1024||(this.Z^=6,this.R^=-65536,af(this));this.A-=this.B.md}function ne(){this.S|=2048;this.Ga&2048||(this.Mc^=6,this.Ca^=-65536,ye(this));this.A-=this.B.md}function Kd(){J(this,this.Ma());this.A-=this.B.Rc}function Ld(){this.V.call(this,Nh)}function Md(){J(this,this.T());this.A-=this.B.Rc}function Nd(){this.V.call(this,Lh)}
function Od(){var a=1,b=0,c=this.Ca,d=5;this.Ga&192&&(a=this.I&c,b=1,this.Ga&256&&(d=4));if(a--){var e=this.M&65535;Hf(this,e,1,!0)&&(e=ic(this.ea,e,1,this.Ha-b-1),this.sc(this.Wa.qc(this.J&c,1),e),this.J=this.J&~c|this.J+(this.aa&1024?-1:1)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(nf(this),this.S|=256))}}
function Pd(){var a=1,b=0,c=this.Ca,d=5;this.Ga&192&&(a=this.I&c,b=1,this.Ga&256&&(d=4));if(a--){var e=this.M&65535;Hf(this,e,this.Z,!0)&&(e=ic(this.ea,e,this.Z,this.Ha-b-1),this.tc(this.Wa.qc(this.J&c,this.Z),e),this.J=this.J&~c|this.J+(this.aa&1024?-this.Z:this.Z)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(nf(this),this.S|=256))}}
function Td(){var a=1,b=0,c=this.Ca,d=5;this.Ga&192&&(a=this.I&c,b=1,this.Ga&256&&(d=4));if(a--){var e=this.M&65535;if(Hf(this,e,1,!1)){var f=this.Qa(this.ub.pc(this.K&c,1));mc(this.ea,e,1,f,this.Ha-b-1);this.K=this.K&~c|this.K+(this.aa&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}}}
function Qd(){var a=1,b=0,c=this.Ca,d=5;this.Ga&192&&(a=this.I&c,b=1,this.Ga&256&&(d=4));if(a--){var e=this.M&65535;if(Hf(this,e,1,!1)){var f=this.Qa(this.ub.pc(this.K&c,1));mc(this.ea,e,1,f,this.Ha-b-1);this.K=this.K&~c|this.K+(this.aa&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}}}
function Ud(){var a=1,b=0,c=this.Ca,d=5;this.Ga&192&&(a=this.I&c,b=1,this.Ga&256&&(d=4));if(a--){var e=td(this,this.ub,this.K&c),f=this.M&65535;Hf(this,f,this.Z,!1)&&(mc(this.ea,f,this.Z,e,this.Ha-b-1),this.K=this.K&~c|this.K+(this.aa&1024?-this.Z:this.Z)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(nf(this),this.S|=256))}}function yj(){var a=this.T();uf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a}
function zj(){var a=this.T();uf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}function Aj(){var a=this.T();pf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a}function Bj(){var a=this.T();pf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}function Cj(){var a=this.T();sf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a}function Dj(){var a=this.T();sf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}
function Ej(){var a=this.T();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a}function Fj(){var a=this.T();pf(this)||sf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}function Gj(){var a=this.T();tf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a}function Hj(){var a=this.T();tf(this)?this.A-=this.B.$a:(O(this,K(this)+a),this.A-=this.B.Za)}function Ij(){var a=this.T();qf(this)?(O(this,K(this)+a),this.A-=this.B.Za):this.A-=this.B.$a}
@ -358,10 +358,10 @@ M[159]=function(){nj.call(this,Mi)};M[160]=function(){ud(this,this.Nb.ba,this.Z,
M[169]=function(){this.W=this.ga;var a=E(this);this.Ob.load(a);this.A-=this.B.zc;this.W=-1};M[171]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.Z?Ti:Vi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.Z?Xi:Yi);this.A-=-1===this.D?3:7};M[175]=function(){this.V.call(this,2==this.Z?Mh:Oh)};M[178]=function(){this.V.call(this,Yh)};M[179]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=5)};
M[180]=function(){this.V.call(this,Vh)};M[181]=function(){this.V.call(this,Wh)};
M[182]=function(){this.Na.call(this,$h);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.fb=this.fb&~this.R|this.G>>8&255;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.Y}this.A-=-1===
this.D?3:6};M[183]=function(){sd(this,2);this.V.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.fb=this.fb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.za.call(this,kk,this.xa)};M[187]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=5)};
this.D?3:6};M[183]=function(){nd(this,2);this.V.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.fb=this.fb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.za.call(this,kk,this.xa)};M[187]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=5)};
M[188]=function(){this.V.call(this,wh)};M[189]=function(){this.V.call(this,xh)};
M[190]=function(){this.Na.call(this,$h);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.fb=this.fb&~this.R|this.G<<16>>24&this.R;this.G=this.Y;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.Y;break;case 6:this.K=this.K&~this.R|this.M<<16>>24&this.R;
this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.Y}this.A-=-1===this.D?3:6};M[191]=function(){sd(this,2);this.V.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.fb=this.fb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6};
this.M=this.Y;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.Y}this.A-=-1===this.D?3:6};M[191]=function(){nd(this,2);this.V.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.fb=this.fb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6};
var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.ba},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.ba},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.ib(this.Sa.Yb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Kc>=this.pa&&this.Ea.Kc>=(a&3)||7168==(this.Ea.wb&
7168)))return Ff(this),a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Kc>=this.pa&&this.Ea.Kc>=(a&3))return Ff(this),a;Df(this);return a},Kh,Kh],Fd=[ee,ee,ee,ee,ee,ee,Kh,Kh],jk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.zd-this.Dc;var b=this.Dc;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.Z&&(a|=b<<16);this.mb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Pd-
this.Nc;var b=this.Nc;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.Z&&(a|=b<<16);this.mb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.aa&131072?C.call(this,6):(this.Dc=this.na(this.D+2)&(this.R|this.R<<8),a&=65535,this.zd=this.Dc+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.aa&131072?C.call(this,6):(this.Nc=this.na(this.D+2)&(this.R|this.R<<8),a&=65535,this.Pd=this.Nc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.ab},
@ -463,7 +463,7 @@ var om=1,Ml=7,nm={mda:1,cga:3,ega:5,vga:7},qm=7,um={2:{Bg:15700,Ag:208,Gg:85,Hg:
pm[17]=[640,480,8];pm[18]=[640,480,8];pm[19]=[320,200,1];pm[20]=[320,240,4];pm[21]=[320,400,4];pm[0]=pm[1];pm[2]=pm[3];pm[5]=pm[4];
var wm=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],xm=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],ym=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],zm=[2,4,6],Am=[3,5,7],Bm=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Cm=[0,255,65280,65535,16711680,16711935,16776960,
16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Dm=[0];Dm[128]=1;Dm[32768]=2;Dm[32896]=3;Dm[8388608]=4;Dm[8388736]=5;Dm[8421376]=6;Dm[8421504]=7;Dm[-2147483648]=8;Dm[-2147483520]=9;Dm[-2147450880]=10;Dm[-2147450752]=11;Dm[-2139095040]=12;Dm[-2139094912]=13;Dm[-2139062272]=14;Dm[-2139062144]=15;
function Em(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Fm[b],f=a.za||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Gm:Hm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.kb=b;this.nb=e[2];this.bc=e[3];this.Cd=d||e[4];65536<=this.Cd&&720896<=this.nb&&(this.bc=Math.min(this.Cd>>2,32768));this.Fc=c[0];this.fd=c[1];this.qf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Ig=c[4]>>8&255;this.tb=c[5];this.oh=Gm;this.jg=Im;if(5<=b){this.oh=Hm;this.jg=Jm;b=c[6];void 0===b&&(b=[!1,0,Array(20),
function Em(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Fm[b],f=a.za||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Gm:Hm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.kb=b;this.nb=e[2];this.bc=e[3];this.Cd=d||e[4];65536<=this.Cd&&720896<=this.nb&&(this.bc=Math.min(this.Cd>>2,32768));this.Fc=c[0];this.fd=c[1];this.qf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Ig=c[4]>>8&255;this.rb=c[5];this.oh=Gm;this.jg=Im;if(5<=b){this.oh=Hm;this.jg=Jm;b=c[6];void 0===b&&(b=[!1,0,Array(20),
0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.nb,this.bc,this.Cd],Array(this.Cd>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ve=b[0];this.Ld=b[1];this.Sc=b[2];this.Tg=Km;this.Lg=b[3];this.sf=b[4];this.dg=b[5];this.$d=b[6];this.He=b[7];this.Vg=Lm;this.fk=b[8];this.gk=b[9];this.Zd=b[10];this.Yd=b[11];this.Ug=Mm;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.nb,this.bc,d]);this.nb=d[0];this.bc=d[1];d=this.Cd>>2;if((this.rd=b[14])&&this.rd.length<d){for(var e=this.rd,g=0,
h=Array(d),k=0;k<e.length-1;){for(var l=e[k++],n=e[k++];l--;)h[g]=n,g+=2;g==d&&(g=1)}this.rd=h}(d=b[15])&&(d&-2147483648?d&=2147483647:d=Nm[d&65280]|Nm[d&255]);this.Mg(d);this.ei=b[16];this.qb=b[17];this.cd=b[18];this.Lb=b[19];this.Uf=b[20];this.Wd=b[21];this.ne=b[22];this.ph=b[23];this.qh=b[24];this.Xf=b[25];this.fi=this.mf=0;this.kb==Ml&&(this.mi=b[26],this.li=b[27],this.nd=b[28],this.Ic=b[29],this.Jg=b[30],this.rf=b[31])}f=um[f]||um[3];this.rh=a.F.X.Hd/f.Bg|0;this.fm=this.rh*f.Gg/100|0;this.uh=
this.rh*f.Ag|0;this.hm=this.uh*f.Hg/100|0;this.wh=c[7]||0}}
@ -479,11 +479,11 @@ Om[16]=function(a,b){a+=this.C;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controll
Om[17]=function(a){a+=this.C;var b=a&-2;a=this.controller.qb&(b==a?16711935:-16711936);a=this.ca[b]&~a|this.controller.Fb&a;this.ca[b]!=a&&(this.ca[b]=a,this.Va=!0)};Om[2]=function(a,b){var c=a+this.C,d=Cm[b&15],d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb,d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
Om[98]=function(a,b){var c=a+this.C,d=Cm[b&15],d=d&this.controller.Fb,d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb,d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};Om[162]=function(a,b){var c=a+this.C,d=Cm[b&15],d=d|this.controller.Fb,d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb,d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
Om[226]=function(a,b){var c=a+this.C,d=Cm[b&15],d=d^this.controller.Fb,d=d&this.controller.Lb|this.controller.Fb&~this.controller.Lb,d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};Om[3]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Lb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.ca[c]&~this.controller.qb;this.ca[c]!=d&&(this.ca[c]=d,this.Va=!0)};
function Pm(a){var b=[];if(void 0!==a.kb){b[0]=a.Fc;b[1]=a.fd;b[2]=a.qf;b[3]=a.ma;b[4]=a.Ac|a.Ig<<8;b[5]=a.tb;if(5<=a.kb){var c=[];c[0]=a.Ve;c[1]=a.Ld;c[2]=a.Sc;c[3]=a.Lg;c[4]=a.sf;c[5]=a.dg;c[6]=a.$d;c[7]=a.He;c[8]=a.fk;c[9]=a.gk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Fb;c[13]=[a.nb,a.bc,a.Cd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
function Pm(a){var b=[];if(void 0!==a.kb){b[0]=a.Fc;b[1]=a.fd;b[2]=a.qf;b[3]=a.ma;b[4]=a.Ac|a.Ig<<8;b[5]=a.rb;if(5<=a.kb){var c=[];c[0]=a.Ve;c[1]=a.Ld;c[2]=a.Sc;c[3]=a.Lg;c[4]=a.sf;c[5]=a.dg;c[6]=a.$d;c[7]=a.He;c[8]=a.fk;c[9]=a.gk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Fb;c[13]=[a.nb,a.bc,a.Cd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.vg|-2147483648;c[16]=a.ei;c[17]=a.qb;c[18]=a.cd;c[19]=a.Lb;c[20]=a.Uf;c[21]=a.Wd;c[22]=a.ne;c[23]=a.ph;c[24]=a.qh;c[25]=a.Xf;a.kb==Ml&&(c[26]=a.mi,c[27]=a.li,c[28]=a.nd,c[29]=a.Ic,c[30]=a.Jg,c[31]=a.rf);b[6]=c}b[7]=a.wh}return b}function Qm(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++)g&&(g+="\n"),g+=b+"["+t(f)+"]: "+la(e[f],19)+t(d[f])+(f===c?"*":"");a.ha.O(g)}else a.ha.O(b+": "+t(c))}Em.prototype.Ri=function(a){return[this.rd,a-this.nb]};Em.prototype.hh=function(){return this.A};
Em.prototype.Mg=function(a){if(null!=a&&a!=this.vg){var b=a&65280,c=Om[b];c||b&4096&&(c=Om[4096]);var b=a&255,d=Om[b];d||b&16&&(d=Om[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.vg=a}};var Fm=[];Fm[om]=["MDA",948,720896,4096,0,3];Fm[3]=["CGA",980,753664,16384,0,2];Fm[5]=["EGA",980,753664,16384,65536,4];Fm[Ml]=["VGA",980,753664,16384,262144,7];var rm=0;m=Z.prototype;
m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;3!=nm[this.ia]&&(hc(b,this,Rm),lc(b,this,Sm));nm[this.ia]!=om&&(hc(b,this,Tm),lc(b,this,Um));5<=this.kb&&(hc(b,this,Vm),lc(b,this,Wm));this.kb==Ml&&(hc(b,this,Xm),lc(b,this,Ym));if(d){var e=this;Ck(d,262144,function(a){if(e.B)if(a[0]){var b=e.B;if(b.rd){var c,d,f,q=!1,p=8,A=8,F=-1,v=b.video.L>>3;for(c=0;c<a.length;c++){var D=a[c];if(c){var H=D.charAt(0);d=ca(D.substr(1));switch(H){case "l":p=d;break;case "n":1<=d&&8>=d&&(A=d,q=!0);break;case "p":0<=
d&&3>=d&&(F=d);break;case "w":d<v&&(v=d);break;default:b.ha.O("unrecognized argument: "+D)}}else f=ca(D)}void 0===f?f=b.B||0:f>=b.nb&&(f-=b.nb);a="";for(c=0;c<p;c++){D=r(b.nb+f)+":";for(d=0;d<A&&f<b.rd.length;d++)H=b.rd[f++],D+=" "+(0>F?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.B,Qm(b,"CRTC",b.Ac,b.tb,b.jg),5<=b.kb&&(Qm(b," GRC",b.Zd,b.Yd,b.Ug),Qm(b," SEQ",b.$d,b.He,b.Vg),Qm(b," ATC",b.Ld,b.Sc,b.Tg),Qm(b," ATCINDX",
d&&3>=d&&(F=d);break;case "w":d<v&&(v=d);break;default:b.ha.O("unrecognized argument: "+D)}}else f=ca(D)}void 0===f?f=b.B||0:f>=b.nb&&(f-=b.nb);a="";for(c=0;c<p;c++){D=r(b.nb+f)+":";for(d=0;d<A&&f<b.rd.length;d++)H=b.rd[f++],D+=" "+(0>F?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=D}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.B,Qm(b,"CRTC",b.Ac,b.rb,b.jg),5<=b.kb&&(Qm(b," GRC",b.Zd,b.Yd,b.Ug),Qm(b," SEQ",b.$d,b.He,b.Vg),Qm(b," ATC",b.Ld,b.Sc,b.Tg),Qm(b," ATCINDX",
b.Ld),b.ha.O(" ATCDATA: "+b.Ve),Qm(b," FEAT",b.dg),Qm(b," MISC",b.sf),Qm(b," STATUS0",b.Lg)),Qm(b," STATUS1",b.ma),b.kb!=om&&3!=b.kb||Qm(b," MODEREG",b.fd),3==b.kb&&Qm(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.C=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0<f.indexOf("lock")&&this.C.Pb("led",f,this.qa[f]);this.C.Pb(this.uk?
"textarea":"canvas","kbd",this.da)}this.Uc=9;(this.N=Eb(a,"ChipSet"))&&this.ag&&5==this.kb&&(this.Uc=pk(this.ag,this.Uc));"mouse"==this.bg?(this.V=Eb(a,"Mouse"))&&Zm(this,2):"keygrid"==this.bg&&this.C&&Zm(this,1)};
m.Pb=function(a,b,c){var d=this;if(!this.qa[b])switch(this.qa[b]=c,b){case "fullScreen":return this.ga&&this.ga.Ue?c.onclick=function(){d.Ue()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.tk=c.textContent,this.da&&this.da.ze?c.onclick=function(){d.ze(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Xc(d,!0)},!0}return!1};m.Tc=function(){this.da&&this.da.focus()};
@ -500,26 +500,26 @@ function gn(a,b){if(1==b)return a.Ba[0]=ym[0],a.Ba[1]=ym[7],a.Ba;if(2==b){var c=
(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ba[f]=[h,k,g,255]}a.pb=!0}return a.Ba}function Ll(a,b,c,d){a.Jc=b;a.qd=c;a.Sb=d}
function cn(a,b){var c=!1;if(window&&a.Jc&&(!b||a.U)){var d=0,e=a.Sb?a.Sb:8,f=gn(a);hn(a,3,a.qd[0],d,e,8,a.Jc,f)&&(c=!0);d=a.Sb?0:2048;e=a.Sb?a.Sb:9;hn(a,1,a.qd[1],d,e,14,a.Jc,wm,xm)&&(c=!0);a.Sb&&hn(a,a.kb,a.qd[1],0,a.Sb,14,a.Jc,f)&&(c=!0)}return c}function hn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(jn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&jn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l}
function jn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Pc:e<<n,Qc:f<<n,Me:Array(p),ui:h.slice(0,p),zf:k,Sg:Array(p)});for(k=0;k<p;k++){var A=h[k],F=q.Me[k]?q.ui[k]:[];if(A[0]!==F[0]||A[1]!==F[1]||A[2]!==F[2]){var l=q,F=k,v=n,D=c,H=d,L=e,V=f,Q=g,$a=[0,0,0,0],ma=document.createElement("canvas");ma.width=l.Pc<<4;ma.height=l.Qc<<4;for(var ga=ma.getContext("2d"),Ga=void 0,Wa=void 0,Ba=void 0,Pb=8>V||!H?V:8,va=ga.createImageData(l.Pc,l.Qc),Ga=0;256>Ga;Ga++){for(Ba=
0;Ba<V;Ba++)for(var Qd=l.zf&&F&1&&Ba>=V-2,Qc=Q[Ba<Pb?D+Ga*Pb+Ba:H+Ga*Pb+Ba-Pb],Rd=0;Rd<=v;Rd++)for(Wa=0;Wa<L;Wa++){var Ie=Wa<<v,Sd=(Ba<<v)+Rd,Je=Qd||Qc&128>>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:$a;kn(va,Ie,Sd,Je);v&&kn(va,Ie+1,Sd,Je)}ga.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ui[F]=A;l.Sg[F]=ma;l=!0}}a.Na[b]=q;return l}function ln(a){0<a.Pa||0<=a.ka?0>a.bb&&(a.bb=0):a.bb=-1}
function fn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.B.tb[b])return;var c=a.B.tb[10],b=c&31,d=a.B.tb[11]&31,e=a.B.tb[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)mn(a);else{c=a.B.tb[15]+((a.B.tb[14]&63)<<8);a.ka!=c&&(mn(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ye!=d)a.hg=b,a.ye=d;a.Ya=e+1;ln(a)}}}
0;Ba<V;Ba++)for(var Rd=l.zf&&F&1&&Ba>=V-2,Qc=Q[Ba<Pb?D+Ga*Pb+Ba:H+Ga*Pb+Ba-Pb],Sd=0;Sd<=v;Sd++)for(Wa=0;Wa<L;Wa++){var Ie=Wa<<v,Td=(Ba<<v)+Sd,Je=Rd||Qc&128>>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:$a;kn(va,Ie,Td,Je);v&&kn(va,Ie+1,Td,Je)}ga.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ui[F]=A;l.Sg[F]=ma;l=!0}}a.Na[b]=q;return l}function ln(a){0<a.Pa||0<=a.ka?0>a.bb&&(a.bb=0):a.bb=-1}
function fn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.B.rb[b])return;var c=a.B.rb[10],b=c&31,d=a.B.rb[11]&31,e=a.B.rb[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)mn(a);else{c=a.B.rb[15]+((a.B.rb[14]&63)<<8);a.ka!=c&&(mn(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ye!=d)a.hg=b,a.ye=d;a.Ya=e+1;ln(a)}}}
function mn(a){if(0<=a.ka){if(void 0!==a.fa){var b=a.fa[a.ka];if(b&131072){var b=b&-131073,c=a.ka%a.L,d=a.ka/a.L|0;a.U&&a.Na[a.U]&&(a.fb&&nn(a,c,d,b,a.fb),nn(a,c,d,b));a.fa[a.ka]=b}}a.ka=-1}}
function on(a){var b,c=a.B;a.Be=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==Ml&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Be=!0));b|=e}return b}
function pn(a,b){var c=a.B;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.nb,c.bc,c.hh(),!0),!0):!1}
function en(a,b){var c,d=a.Ia,e=a.B;if(e)if(e.kb==om)d=qm;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768<f?32768:f,h=e.Yd[6];if(null!=h){switch(h&12){case 0:e.nb=655360;e.bc=f;d=255;break;case 4:e.nb=655360;e.bc=f;d=3==a.za?15:16;break;case 8:e.nb=720896;e.bc=g;d=qm;break;case 12:e.nb=753664,e.bc=g,d=3==a.za?2:3}var k=80==(e.Yd[5]&80);!k||e.nb==a.nb&&e.bc==a.bc||(b=!0);c=e.He[1]&8;f=e.tb[6];f|=e.tb[7]&1?256:0;e.kb==Ml&&(f|=e.tb[7]&32?512:0);g=e.tb[9];255!=d&&(h&1?655360!=e.nb&&!k&&350>f?d=c?7-d:6:
e.Yd[5]&64?d=g&31?143>=e.tb[18]?19:20:21:g&128||350>f?d=c?13:14:480<=f&&(d=3==a.za?17:18):d-=c?2:0);c=on(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!dn(a,d,b))return!1;pn(a,c);return!0}
function dn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.B||(b==qm?a.sa:a.Y);if(b!=a.B||b.nb!=a.nb||b.bc!=a.bc){mn(a);if(a.nb){if(!Zb(a.ea,a.nb,a.bc))return!1;a.B&&(a.B.Fc=!1)}a.B=b;b.Fc=!0;a.nb=b.nb;a.bc=b.bc;if(!Tb(a.ea,b.nb,b.bc,3,b===a.A?b:null))return!1}a.U=0;a.L=a.hd;a.W=a.ie;a.Db=a.L;a.gd=pm[qm][2];b=0;if(c=pm[a.Ia])a.L=c[0],a.W=c[1],a.gd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.B!==a.A||3!=a.U||(7==a.A.tb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.gd|0;a.Jb=a.of;a.sd=0;void 0!==
function en(a,b){var c,d=a.Ia,e=a.B;if(e)if(e.kb==om)d=qm;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768<f?32768:f,h=e.Yd[6];if(null!=h){switch(h&12){case 0:e.nb=655360;e.bc=f;d=255;break;case 4:e.nb=655360;e.bc=f;d=3==a.za?15:16;break;case 8:e.nb=720896;e.bc=g;d=qm;break;case 12:e.nb=753664,e.bc=g,d=3==a.za?2:3}c=80==(e.Yd[5]&80);!c||e.nb==a.nb&&e.bc==a.bc||(b=!0);f=e.He[1]&8;g=e.rb[6];g|=e.rb[7]&1?256:0;e.kb==Ml&&(g|=e.rb[7]&32?512:0);var k=e.rb[9],l=e.rb[23];255!=d&&(h&1?655360==e.nb||c||l&1?e.Yd[5]&
64?d=k&31?143>=e.rb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.za?17:18):d=f?7-d:6:d-=f?2:0);c=on(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!dn(a,d,b))return!1;pn(a,c);return!0}
function dn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.B||(b==qm?a.sa:a.Y);if(b!=a.B||b.nb!=a.nb||b.bc!=a.bc){mn(a);if(a.nb){if(!Zb(a.ea,a.nb,a.bc))return!1;a.B&&(a.B.Fc=!1)}a.B=b;b.Fc=!0;a.nb=b.nb;a.bc=b.bc;if(!Tb(a.ea,b.nb,b.bc,3,b===a.A?b:null))return!1}a.U=0;a.L=a.hd;a.W=a.ie;a.Db=a.L;a.gd=pm[qm][2];b=0;if(c=pm[a.Ia])a.L=c[0],a.W=c[1],a.gd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.B!==a.A||3!=a.U||(7==a.A.rb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.gd|0;a.Jb=a.of;a.sd=0;void 0!==
b&&(a.Jb=(a.Jb<<1)+b|0,a.sd=a.Jb+b>>1);a.Na.length&&(a.Ja=a.ua/a.L|0,a.Ka=a.Ea/a.W|0,a.U?(b=a.Na[a.U],c=a.Na[a.U<<1],a.si&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc)),a.Tb=a.Ub=0,b&&(a.Tb=a.L*b.Pc,a.Ub=a.W*b.Qc)):(a.Ja=a.Ka=1,a.Tb=a.L,a.Ub=a.W),a.vb=a.ja.createImageData(a.Tb,a.Ub),a.eb=document.createElement("canvas"),a.eb.width=a.Tb,a.eb.height=a.Ub,a.fb=a.eb.getContext("2d"),a.ke=a.le=0,a.td=a.ua,a.Ed=a.Ea,b=a.ua-a.L*a.Ja,c=a.Ea-a.W*a.Ka,0<b&&
(a.ke=b>>1,a.td-=b),0<c&&(a.le=c>>1,a.Ed-=c),b||c)&&(a.ja.fillStyle=a.pa.style.backgroundColor,a.ja.fillRect(0,0,a.ua,a.Ea));Ln(a,!0);Xc(a)}return!0}function kn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Mn(a){a.Pa=-1;a.Fa=!1;var b=a.of;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function Ln(a,b){b||(a.pb=!1);Mn(a)}
function nn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ja.fillStyle=h.Me[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ja.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ye,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Me[d],
e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ja.fillStyle=h.Me[d],a.ja.fillRect(b,c+f,a.Ja,g)))}
function Xc(a,b){if(a.la.cc){var c=!1,d=a.B;d&&(d!==a.A?d.fd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)Mn(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.bb&&(a.bb++,e=!0);var f=0,g=a.Yf,h=a.nb,c=h,k=c+a.bc;19<=a.Ia&&(h=c=655360,k=c+65536);if(Nn(a,d)&8||d.mf&&d.mf<d.fi)d.Xf=(d.tb[12]<<8)+d.tb[13]|0,d.mf=0;var l=d.Xf;a.U&&(l<<=1);c+=l;l=a.Jb;5<=a.kb&&d.tb[19]&&d.tb[19]<<1!=d.tb[1]+1&&(a.Db=d.tb[19]<<(a.U?1:d.tb[20]&64?3:4),l=(a.Db*(a.W-1)+a.L)/a.gd|0,a.Ia<=qm&&(l<<=1));c+l>k&&(l=k-c,
function Xc(a,b){if(a.la.cc){var c=!1,d=a.B;d&&(d!==a.A?d.fd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)Mn(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.bb&&(a.bb++,e=!0);var f=0,g=a.Yf,h=a.nb,c=h,k=c+a.bc;19<=a.Ia&&(h=c=655360,k=c+65536);if(Nn(a,d)&8||d.mf&&d.mf<d.fi)d.Xf=(d.rb[12]<<8)+d.rb[13]|0,d.mf=0;var l=d.Xf;a.U&&(l<<=1);c+=l;l=a.Jb;5<=a.kb&&d.rb[19]&&d.rb[19]<<1!=d.rb[1]+1&&(a.Db=d.rb[19]<<(a.U?1:d.rb[20]&64?3:4),l=(a.Db*(a.W-1)+a.L)/a.gd|0,a.Ia<=qm&&(l<<=1));c+l>k&&(l=k-c,
0>l&&(l=0));k=c+l;if(d=!b&&a.Fa){for(var d=a.ea,n=!0,q=c>>>d.La;0<l&&q<d.ra.length;)d.ra[q].Va&&(d.ra[q].Va=n=!1,d.ra[q].Ni=!0),l-=d.Mb,q++;d=n}if(d){if(!e)return;if(!a.Pa){if(0>a.ka)return;f=a.ka;g=f+1}}if(a.U){if(a.Na[a.U]){e=0;h=a.Pa=0;d=1048575;l=a.B.fd&32;5<=a.kb&&(l=a.B.Sc[16]&8);l&&(h=32768,d&=~h,a.bb&2||(d&=-65537));for(c+=f<<1;c<k&&f<g;)l=ec(a.ea,c),l|=65536,l&h&&(a.Pa++,l&=d),f==a.ka&&(l|=a.bb&1?131072:0),a.Fa&&l===a.fa[f]||(nn(a,f%a.L,f/a.L|0,l,a.fb),a.fa[f]=l,e++),c+=2,f++;a.Fa=!0;e&&
a.fb&&a.ja.drawImage(a.eb,0,0,a.Tb,a.Ub,a.ke,a.le,a.td,a.Ed);ln(a)}}else if(a.sd){for(var g=k,p,k=c,f=a.Pa=0,e=a.gd,h=16==e?65536:196608,d=16==e?1:2,l=gn(a,d),q=n=0,A=a.L,F=0,v=a.W,D=0;k<g;){p=ec(a.ea,k);if(a.Fa&&p===a.fa[f])n+=e;else{a.fa[f]=p;p=p>>8|(p&255)<<8;var H=h,L=16;n<A&&(A=n);for(var V=0;V<e;V++){var Q=(p&(H>>=d))>>(L-=d);kn(a.vb,n++,q,l[Q])}n>F&&(F=n);q<v&&(v=q);q>=D&&(D=q+1)}k+=2;f++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0;A<a.L&&(a.fb.putImageData(a.vb,0,0,
A,v,F-A,D-v),a.ja.drawImage(a.eb,0,0,a.L,a.W,0,0,a.ua,a.Ea))}else if(a.Be){g=h;e=a.Pa=0;h=gn(a,8);d=a.B.rd;n=l=0;q=a.L;A=0;F=a.W;v=0;D=a.B.He[4]&8?4:1;p=a.B.Sc[19]&15;for(H=a.Db>a.L?a.Db-a.L-p>>3:0;c<k;){f=d[c-g];V=4;p||(a.Fa&&f===a.fa[e]?(l+=V,V=0):a.fa[e]=f,e++);if(V){l<q&&(q=l);for(L=0;L<V;L++)kn(a.vb,l++,n,h[f&255]),f>>=8;l>A&&(A=l);n<F&&(F=n);n>=v&&(v=n+1)}c+=D;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}p||(a.Fa=!0);q<a.L&&(a.fb.putImageData(a.vb,0,0,q,F,A-q,v-F),a.ja.drawImage(a.eb,0,0,a.L,a.W,0,
0,a.ua,a.Ea))}else{g=h;f=a.Pa=0;e=gn(a);h=a.B.rd;l=d=0;n=a.L;q=0;A=a.W;F=0;v=a.B.Sc[19]&15;for(D=a.Db>a.L?a.Db-a.L-v>>3:0;c<k;){p=c++-g;p=h[p];L=8;v?d?(H=a.L-d,L>H&&(L=H)):(p<<=v,L-=v,a.Fa=!1):(a.Fa&&p===a.fa[f]?(d+=L,L=0):a.fa[f]=p,f++);if(L){d<n&&(n=d);for(H=0;H<L;H++)V=Dm[p&-2139062144]||0,kn(a.vb,d++,l,e[V]),p<<=1;d>q&&(q=d);l<A&&(A=l);l>=F&&(F=l+1)}if(d>=a.L){d=0;if(++l>a.W)break;c+=D}}v||(a.Fa=!0);n<a.L&&(a.fb.putImageData(a.vb,0,0,n,A,q-n,F-A),a.ja.drawImage(a.eb,0,0,a.L,a.W,0,0,a.ua,a.Ea))}}}}
function Nn(a,b){var c=0,d=Vc(a.F)-b.wh;0>d&&(b.wh=d,d=-d|0);d%b.rh>b.fm&&(c|=1);d%b.uh>b.hm&&(c|=9);b.fi=d/b.uh|0;return c}m.Bl=function(a,b){return On(this,this.sa,a,b)};m.Vm=function(a,b,c){var d=this.sa;d.Ig=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Al=function(a,b){return Pn(this,this.sa,a,b)};m.Um=function(a,b,c){Qn(this,this.sa,a,b,c)};m.Cl=function(a,b){return Rn(this,this.sa,b)};m.Wm=function(a,b,c){a=this.sa;x(this,a.port+4,b,c,"MODE");a.fd=b;en(this,!1)};
m.Dl=function(a,b){return Sn(this,this.sa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.al=function(a,b){var c=this.A.Ld;b&&!z(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Bk=function(a,b){var c=this.A.Sc[this.A.Ld&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Ld&31],c);return c};
m.dk=function(a,b,c){var d=this.A,e=d.Ld&32;if(d.Ve){d.Ve=!1;var f=d.Ld&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Sc[f]=b,Ln(this,!1)}else d.Ld=b,x(this,a,b,c,"ATC.INDX"),d.Ve=!0,b&32&&!e&&cn(this,!0)&&Xc(this,!0),d.Xf=(d.tb[12]<<8)+d.tb[13]|0,d.mf=0};m.Ol=function(a,b){var c=0;if(5==this.kb)c=3-((this.A.sf&12)>>2),c=(this.Uc&1<<c)<<4-c;else{var d=this.A.rf[0];45!=(d&63)&&2880!=(d&4032)&&184320!=(d&258048)&&(c|=16)}c|=this.A.Lg&-17;this.A.Lg=c;x(this,962,null,b,"STATUS0",c);return c};
m.dk=function(a,b,c){var d=this.A,e=d.Ld&32;if(d.Ve){d.Ve=!1;var f=d.Ld&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Sc[f]=b,Ln(this,!1)}else d.Ld=b,x(this,a,b,c,"ATC.INDX"),d.Ve=!0,b&32&&!e&&cn(this,!0)&&Xc(this,!0),d.Xf=(d.rb[12]<<8)+d.rb[13]|0,d.mf=0};m.Ol=function(a,b){var c=0;if(5==this.kb)c=3-((this.A.sf&12)>>2),c=(this.Uc&1<<c)<<4-c;else{var d=this.A.rf[0];45!=(d&63)&&2880!=(d&4032)&&184320!=(d&258048)&&(c|=16)}c|=this.A.Lg&-17;this.A.Lg=c;x(this,962,null,b,"STATUS0",c);return c};
m.Xm=function(a,b,c){this.A.sf=b;bn(this);x(this,962,b,c,"MISC")};m.Pl=function(a,b){var c=this.A.mi;x(this,963,null,b,"VGA_ENABLE",c);return c};m.gn=function(a,b,c){this.A.mi=b;x(this,963,b,c,"VGA_ENABLE")};m.Ml=function(a,b){var c=this.A.$d;x(this,964,null,b,"SEQ.INDX",c);return c};m.en=function(a,b,c){this.A.$d=b;x(this,964,b,c,"SEQ.INDX")};m.Ll=function(a,b){var c=this.A.He[this.A.$d];b&&!z(this)||x(this,965,null,b,"SEQ."+this.A.Vg[this.A.$d],c);return c};
m.dn=function(a,b,c){c&&!z(this)||x(this,965,b,c,"SEQ."+this.A.Vg[this.A.$d]);this.A.He[this.A.$d]=b;switch(this.A.$d){case 2:this.A.qb=Cm[b&15];break;case 4:pn(this,on(this))&&Xc(this,!0)}};m.nl=function(a,b){var c=this.A.li;b&&!z(this)||x(this,966,null,b,"DAC.MASK",c);return c};m.Em=function(a,b,c){c&&!z(this)||x(this,966,b,c,"DAC.MASK");this.A.li=b};m.ol=function(a,b){var c=this.A.Jg;b&&!z(this)||x(this,967,null,b,"DAC.STATE",c);return c};
m.Fm=function(a,b,c){c&&!z(this)||x(this,967,b,c,"DAC.READ");this.A.nd=b;this.A.Jg=3;this.A.Ic=0};m.Gm=function(a,b,c){c&&!z(this)||x(this,968,b,c,"DAC.WRITE");this.A.nd=b;this.A.Jg=0;this.A.Ic=0};m.ml=function(a,b){var c=this.A.rf[this.A.nd]>>this.A.Ic&63;b&&!z(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.nd)+"]["+t(this.A.Ic)+"]",c);this.A.Ic+=6;12<this.A.Ic&&(this.A.Ic=0,this.A.nd=this.A.nd+1&255);return c};
@ -527,8 +527,8 @@ m.Dm=function(a,b,c){a=this.A.rf[this.A.nd];c&&!z(this)||x(this,969,b,c,"DAC.DAT
m.Pm=function(a,b,c){this.A.fk=b;x(this,972,b,c,"GRC1")};m.ul=function(a,b){var c=this.A.Zd;x(this,974,null,b,"GRC.INDX",c);return c};m.Om=function(a,b,c){this.A.Zd=b;x(this,974,b,c,"GRC.INDX")};m.tl=function(a,b){var c=this.A.Yd[this.A.Zd];b&&!z(this)||x(this,975,null,b,"GRC."+this.A.Ug[this.A.Zd],c);return c};
m.Nm=function(a,b,c){c&&!z(this)||x(this,975,b,c,"GRC."+this.A.Ug[this.A.Zd]);this.A.Yd[this.A.Zd]=b;switch(this.A.Zd){case 0:this.A.Uf=Cm[b&15];this.A.ne=this.A.Uf&~this.A.Wd;break;case 1:this.A.Wd=~Cm[b&15];this.A.ne=this.A.Uf&~this.A.Wd;break;case 2:this.A.ph=Cm[b&15]&-2139062144;break;case 3:case 5:pn(this,on(this));break;case 4:this.A.ei=(b&3)<<3;break;case 6:en(this,!1);break;case 7:this.A.qh=Cm[b&15]&-2139062144;break;case 8:this.A.Lb=b|b<<8|b<<16|b<<24}};
m.gl=function(a,b){return On(this,this.Y,a,b)};m.ym=function(a,b,c){var d=this.Y;d.Ig=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.fl=function(a,b){return Pn(this,this.Y,a,b)};m.xm=function(a,b,c){Qn(this,this.Y,a,b,c)};m.hl=function(a,b){return Rn(this,this.Y,b)};m.zm=function(a,b,c){a=this.Y;x(this,a.port+4,b,c,"MODE");a.fd=b;en(this,!1)};m.el=function(a,b){var c=this.Y.qf;b&&!z(this)||x(this,a,null,b,this.Y.type+".COLOR",c);return c};
m.wm=function(a,b,c){c&&!z(this)||x(this,a,b,c,this.Y.type+".COLOR");this.Y.qf!==b&&(this.Y.qf=b,Ln(this,!1))};m.il=function(a,b){return Sn(this,this.Y,b)};function On(a,b,c,d){var e;b.Fc&&(e=b.Ac);x(a,c,null,d,"CRTC.INDX",e);return e}function Pn(a,b,c,d){var e;b.Fc&&b.Ac<b.oh&&(e=b.tb[b.Ac]);d&&!z(a)||x(a,c,null,d,"CRTC."+b.jg[b.Ac],e);return e}
function Qn(a,b,c,d,e){if(b.Ac<b.oh){e&&!z(a)||x(a,c,d,e,"CRTC."+b.jg[b.Ac]);b.tb[b.Ac]=d;if(12==b.Ac||13==b.Ac)Nn(a,b)&1?b.Xf=(b.tb[12]<<8)+b.tb[13]|0:b.mf||(b.mf=b.fi);(9==b.Ac&&8!=b.Ig||18==b.Ac&&223==d)&&en(a,!0);fn(a)}}function Rn(a,b,c){var d=b.fd;x(a,b.port+4,null,c,"MODE",d);return d}function Sn(a,b,c){var d=Nn(a,b);b===a.A?(d|=b.ma&48^48,b.Ve=!1):d=(b.ma^=9)|240;b.ma=d;x(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
m.wm=function(a,b,c){c&&!z(this)||x(this,a,b,c,this.Y.type+".COLOR");this.Y.qf!==b&&(this.Y.qf=b,Ln(this,!1))};m.il=function(a,b){return Sn(this,this.Y,b)};function On(a,b,c,d){var e;b.Fc&&(e=b.Ac);x(a,c,null,d,"CRTC.INDX",e);return e}function Pn(a,b,c,d){var e;b.Fc&&b.Ac<b.oh&&(e=b.rb[b.Ac]);d&&!z(a)||x(a,c,null,d,"CRTC."+b.jg[b.Ac],e);return e}
function Qn(a,b,c,d,e){if(b.Ac<b.oh){e&&!z(a)||x(a,c,d,e,"CRTC."+b.jg[b.Ac]);b.rb[b.Ac]=d;if(12==b.Ac||13==b.Ac)Nn(a,b)&1?b.Xf=(b.rb[12]<<8)+b.rb[13]|0:b.mf||(b.mf=b.fi);(9==b.Ac&&8!=b.Ig||18==b.Ac&&223==d)&&en(a,!0);fn(a)}}function Rn(a,b,c){var d=b.fd;x(a,b.port+4,null,c,"MODE",d);return d}function Sn(a,b,c){var d=Nn(a,b);b===a.A?(d|=b.ma&48^48,b.Ve=!1):d=(b.ma^=9)|240;b.ma=d;x(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var Rm={948:Z.prototype.Bl,949:Z.prototype.Al,952:Z.prototype.Cl,954:Z.prototype.Dl},Sm={948:Z.prototype.Vm,949:Z.prototype.Um,952:Z.prototype.Wm},Tm={980:Z.prototype.gl,981:Z.prototype.fl,984:Z.prototype.hl,985:Z.prototype.el,986:Z.prototype.il},Um={980:Z.prototype.ym,981:Z.prototype.xm,984:Z.prototype.zm,985:Z.prototype.wm},Vm={960:Z.prototype.al,961:Z.prototype.Bk,962:Z.prototype.Ol,964:Z.prototype.Ml,965:Z.prototype.Ll,974:Z.prototype.ul,975:Z.prototype.tl},Wm={954:Z.prototype.ek,960:Z.prototype.dk,
961:Z.prototype.dk,962:Z.prototype.Xm,964:Z.prototype.en,965:Z.prototype.dn,970:Z.prototype.Qm,972:Z.prototype.Pm,974:Z.prototype.Om,975:Z.prototype.Nm,986:Z.prototype.ek},Xm={963:Z.prototype.Pl,966:Z.prototype.nl,967:Z.prototype.ol,969:Z.prototype.ml,970:Z.prototype.Ql,972:Z.prototype.Rl},Ym={963:Z.prototype.gn,966:Z.prototype.Em,967:Z.prototype.Fm,968:Z.prototype.Gm,969:Z.prototype.Dm};
Qa(function(){for(var a=nb(document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=kb(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
@ -554,250 +554,251 @@ function go(a){if(!a.ja)for(var b=0;b<a.A.length;b++)ko(a,a.A[b])&&(a.ja=!0)}fun
function lo(a,b,c){if(void 0!==c){var d;!(d=!1!==a.ga)&&(d=a.B.length)&&(d=a.B[0],d=d.Og?d.ze(!0):!1);d||(a.ga=null);a.ge(b.button,c)}else{if(0>a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}}
m.ge=function(a,b){if(this.Fc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case an:if(this.Y!=b){this.Y=b;mo(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;mo(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Fc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,mo(this,null,c,d))};
function mo(a,b,c,d){var e=64|(a.Y?32:0)|(a.fa?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);ao(a.N,[e,f,g]);a.U=a.W=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new io(d);mb(d,c)}});
function no(a,b,c){Ua.call(this,"Disk",{id:a.re+".disk"+r(++oo,4)},no,2097152);this.controller=a;this.da=a.da;this.ha=a.ha;this.B=b;this.ea=b.name;this.$e=b.$e;this.qg=this.N=!1;po(this,c,b.Bb,b.sb,b.lb,b.Ua);this.U=[];this.fa=[];this.L=null;this.ja=0;this.ga=!1;sb(this)}var oo=0;db(no);function qo(a,b,c,d,e,f){this.ya=a;this.lc=c;this.Wg=d;this.Ci=e;this.te=f}var ro=[0,2],so=[24,2],to=[60,4],uo=[0,2],vo=[4,2],wo=[6,2],xo=[28,2],yo=[32,2],zo=[34,2],Ao=[38,2],Bo=[44,4],Co=[50,2];
function no(a,b,c){Ua.call(this,"Disk",{id:a.re+".disk"+r(++oo,4)},no,2097152);this.controller=a;this.da=a.da;this.ha=a.ha;this.B=b;this.ea=b.name;this.$e=b.$e;this.qg=this.N=!1;po(this,c,b.Bb,b.tb,b.lb,b.Ua);this.U=[];this.fa=[];this.L=null;this.ja=0;this.ga=!1;sb(this)}var oo=0;db(no);function qo(a,b,c,d,e,f){this.ya=a;this.lc=c;this.Wg=d;this.Ci=e;this.te=f}var ro=[0,2],so=[24,2],to=[60,4],uo=[0,2],vo=[4,2],wo=[6,2],xo=[28,2],yo=[32,2],zo=[34,2],Ao=[38,2],Bo=[44,4],Co=[50,2];
function Do(a,b,c){var d;c=c||2;var e=b&511,f=Eo(a.ya,a.te[b>>9]);if(f){if(e+c<=f.length)return Fo(a.ya,f,e,c);for(e=d=0;c--;)d|=Do(a,b++,1)<<e,e+=8}return d}function Go(a,b,c){return Do(a,b[0]+(c||0),b[1])}function Ho(a,b,c){for(var d=0;!c||b<c;){var e=Do(a,b,1);if(!e)break;var f;f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var l=Do(f,g++,1);if(!l)break;k+=String.fromCharCode(l)}f=k;if(!f)break;b+=1+e;if(d){if(e=Do(a,b),g=a.A[e])g=g[0],a.yd[g]&&a.yd[g].se[e].push(f)}else c||(a.fg=f);b+=2;d++}}
qo.prototype.Si=function(a,b){var c=null;if(this.yd)for(var d in this.yd){var e=this.yd[d];if(a>=e.gi&&a<=e.ak){d=a-=e.gi;var f,g;for(g in e.se){var h=e.se[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.fg+"!"+f[1]+"+"+u(d));break}}return c||this.lc+"+"+("0x"+r(a))};m=no.prototype;m.Gc=function(a,b,c,d){this.ha=d};m.ic=function(a,b){b||!this.qg||this.N||(sb(this,!1),this.load(this.ea,this.V,null,this.Ok,this));return!0};m.Ok=function(){sb(this,!0)};
m.hc=function(a,b){if(this.N){var c,d=0;if(this.ga&&!za("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Io(this,!1);)if(d=c[0]){this.controller.Oa('Unable to save "'+this.ea+'" (error '+d+")");break}b&&this.N&&(c="action=close&volume="+this.V,c+="&machine="+this.controller.df(),c+="&user="+this.controller.he(),wa(xa()+"/api/v1/disk?"+c,null,!0),this.N=!1);!d&&a&&this.controller.Oa(this.ea+" saved")}return!0};
function po(a,b,c,d,e,f){a.mode=b;a.Bb=c;a.sb=d;a.lb=e;a.Ua=f;a.A=[];if("preload"!=a.mode){b=Array(a.Bb);for(c=0;c<b.length;c++){d=Array(a.sb);for(e=0;e<d.length;e++){f=Array(a.lb);for(var g=1;g<=f.length;g++)f[g-1]=Jo(null,c,e,g,a.Ua,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.Y=null}
m.load=function(a,b,c,d,e){var f=b;if(this.W)return!0;this.ea=a;this.V=b;this.ni=fa(b);var g=this;this.W=d;this.ka=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Bb=d[0];g.sb=d[1];g.lb=d[2];g.Ua=512;b=g.Ua>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.sb),F=0;F<f.length;F++)for(var v=f[F]=Array(g.lb),D=0;D<v.length;D++){for(var H=Jo(null,c,F,D+1,g.Ua,0),L=H.data,V=0;V<b;V++,
function po(a,b,c,d,e,f){a.mode=b;a.Bb=c;a.tb=d;a.lb=e;a.Ua=f;a.A=[];if("preload"!=a.mode){b=Array(a.Bb);for(c=0;c<b.length;c++){d=Array(a.tb);for(e=0;e<d.length;e++){f=Array(a.lb);for(var g=1;g<=f.length;g++)f[g-1]=Jo(null,c,e,g,a.Ua,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.Y=null}
m.load=function(a,b,c,d,e){var f=b;if(this.W)return!0;this.ea=a;this.V=b;this.ni=fa(b);var g=this;this.W=d;this.ka=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Bb=d[0];g.tb=d[1];g.lb=d[2];g.Ua=512;b=g.Ua>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.tb),F=0;F<f.length;F++)for(var v=f[F]=Array(g.lb),D=0;D<v.length;D++){for(var H=Jo(null,c,F,D+1,g.Ua,0),L=H.data,V=0;V<b;V++,
e+=4)var Q=L[V]=a.getInt32(e,!0),d=d+Q&-1;H.Yc=b;v[D]=H}g.Y=d;b=g}else g.Oa("Unrecognized diskette format ("+c+" bytes)");g.W&&(g.W.call(g.controller,g.B,b,g.ea,g.V),g.W=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ko(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ia(b,"/")&&
(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.$e?"":d)+"&format=json"));return!!wa(f,null,!0,function(a,b,c){Lo(g,a,b,c)})};
function Lo(a,b,c,d){var e=null;a.cf=!1;var f=0>d&&a.da&&!a.da.la.cc;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,Mo(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.re,b,c);try{if(0<fa(a.ni,!0).toLowerCase().indexOf("-readonly"))a.cf=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.cf=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.ea]:
h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.sb=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Ua=k&&k.length||512;for(d=c=0;d<a.Bb;d++)for(f=0;f<a.sb;f++)for(g=0;g<a.lb;g++)if(k=h[d][f][g]){var l=k.length;void 0===l&&(l=k.length=512);var l=l>>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var A=
h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.tb=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Ua=k&&k.length||512;for(d=c=0;d<a.Bb;d++)for(f=0;f<a.tb;f++)for(g=0;g<a.lb;g++)if(k=h[d][f][g]){var l=k.length;void 0===l&&(l=k.length=512);var l=l>>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var A=
l<<2,F=p.length;F<A;F++)p[F]=n;No(k,p,0)}else q=[],n=k.pattern=n|n<<8|n<<16|n<<24,k.data=q;delete k.bytes}Jo(k,d,f);for(A=0;A<q.length;A++)c=c+q[A]&-1}a.A=h;a.Y=c;Mo(a);e=a}else w("Empty disk image: "+a.ea)}catch(v){w("Disk image error ("+b+"): "+v.message)}}a.W&&(a.W.call(a.ka,a.B,e,a.ea,a.V),a.W=null)}
function Mo(a){var b,c,d={},e;if(a.C&&a.C.length)for(b=a.A,c=0;c<b.length;c++)for(var f=0;f<b[c].length;f++)for(e=0;e<b[c][f].length;e++){var g=b[c][f][e];g&&(delete g.file,delete g.jm)}a.C=[];d.Zf=d.Gf=0;b=a.Bb*a.sb*a.lb*a.Ua;a.N&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=Eo(a,0)){d.Ua=Fo(a,e,11,2);f=!0;if(d.Ua!=a.Ua){f=!1;d.Ff=1;d.zg=12;d.lh=d.Ff+2;d.xg=1;d.Ua=a.Ua;if(163840==b&&254==Oo(a,d,0,0))d.Gf=320,d.vh=64,f=!0;else if(327680==b&&255==Oo(a,d,0,0))d.Gf=640,
function Mo(a){var b,c,d={},e;if(a.C&&a.C.length)for(b=a.A,c=0;c<b.length;c++)for(var f=0;f<b[c].length;f++)for(e=0;e<b[c][f].length;e++){var g=b[c][f][e];g&&(delete g.file,delete g.jm)}a.C=[];d.Zf=d.Gf=0;b=a.Bb*a.tb*a.lb*a.Ua;a.N&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=Eo(a,0)){d.Ua=Fo(a,e,11,2);f=!0;if(d.Ua!=a.Ua){f=!1;d.Ff=1;d.zg=12;d.lh=d.Ff+2;d.xg=1;d.Ua=a.Ua;if(163840==b&&254==Oo(a,d,0,0))d.Gf=320,d.vh=64,f=!0;else if(327680==b&&255==Oo(a,d,0,0))d.Gf=640,
d.vh=112,f=!0;else for(c=446,b=0;4>b;b++){if(128==Fo(a,e,c+0,1)){d.Zf=Fo(a,e,c+8,4);(e=Eo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Fo(a,e,19,2)||Fo(a,e,32,4),d.Ff=Fo(a,e,14,2),d.lh=d.Ff+Fo(a,e,22,2)*Fo(a,e,16,1),d.vh=Fo(a,e,17,2),d.xg=Fo(a,e,13,1));d.jh=d.lh+((32*d.vh+(d.Ua-1))/d.Ua|0);d.em=(d.Gf-d.jh)/d.xg|0;d.zg=4084>=d.em?12:16;d.Rk=12==d.zg?4086:65526;b=[];for(e=d.lh;e<d.jh;e++)b.push(d.Zf+e);Po(a,d,a.ni,"",b);for(b=0;b<a.C.length;b++){d=a.C[b];for(e=c=0;e<d.te.length;e++){var f=
d.te[e],g=c,h=a.sb*a.lb,k=f%h,l=k/a.lb|0,k=k%a.lb,n=void 0,q=void 0,p=void 0;(n=a.A[f/h|0])&&(q=n[l])&&(p=q[k])&&!p.file&&(p.file=d,p.jm=g);c+=a.Ua}e=d;if((ia(e.lc,".EXE")||ia(e.lc,".DLL")||ia(e.lc,".DRV"))&&23117==Go(e,ro)&&64==Go(e,so)&&(c=Go(e,to),17742==Go(e,uo,c))){l=Go(e,xo,c);g=Go(e,zo,c);h=Go(e,Co,c);if(g&&l){d=e;f=g+c;g=l;h=h||0;l=1;d.yd=[];for(d.A=[];g--;){if(k=Do(d,f)<<h)n=Do(d,f+2)||65536,d.yd[l++]={gi:k,ak:k+n-1,se:[]};f+=8}d.yd[254]={gi:0,ak:0,se:[]}}g=Go(e,vo,c);h=Go(e,wo,c);if(g&&
d.te[e],g=c,h=a.tb*a.lb,k=f%h,l=k/a.lb|0,k=k%a.lb,n=void 0,q=void 0,p=void 0;(n=a.A[f/h|0])&&(q=n[l])&&(p=q[k])&&!p.file&&(p.file=d,p.jm=g);c+=a.Ua}e=d;if((ia(e.lc,".EXE")||ia(e.lc,".DLL")||ia(e.lc,".DRV"))&&23117==Go(e,ro)&&64==Go(e,so)&&(c=Go(e,to),17742==Go(e,uo,c))){l=Go(e,xo,c);g=Go(e,zo,c);h=Go(e,Co,c);if(g&&l){d=e;f=g+c;g=l;h=h||0;l=1;d.yd=[];for(d.A=[];g--;){if(k=Do(d,f)<<h)n=Do(d,f+2)||65536,d.yd[l++]={gi:k,ak:k+n-1,se:[]};f+=8}d.yd[254]={gi:0,ak:0,se:[]}}g=Go(e,vo,c);h=Go(e,wo,c);if(g&&
h)for(d=e,f=g+=c,g=g+h,h=1;f<g;){k=Do(d,f);l=k&255;if(!l)break;k=k>>8;f+=2;if(k)for(;l--;)Do(d,f,1),254>=k?(n=k,q=Do(d,f+1),f+=3):(n=Do(d,f+3,1),q=Do(d,f+4),f+=6),d.yd[n]&&(d.yd[n].se[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=Go(e,Ao,c))&&Ho(e,g+c);g=Go(e,Bo,c);h=Go(e,yo,c);g&&h&&Ho(e,g,g+h)}}}}
function Po(a,b,c,d,e){var f,g=a.C.length,h=b.Ua/32|0;b.uo=d+"\\";for(var k=0;k<e.length;k++)for(var l=e[k],n=0;n<h;n++){var q=a,p=b;f=n;p.qe&&p.ii&&p.ii==l||(p.ii=l,p.qe=Eo(q,p.ii));if(p.qe){f*=32;var A=Fo(q,p.qe,f,1);if(0==A)f=!1;else{if(229==A)p.lc=null;else{p.lc=na(Qo(q,p.qe,f+0,8));A=na(Qo(q,p.qe,f+8,3));A.length&&(p.lc+="."+A);p.Wg=Fo(q,p.qe,f+11,1);p.Ci=Fo(q,p.qe,f+28,2);p.Qk=Fo(q,p.qe,f+26,2);f=p;var A=[],F=p.Qk;if(F){do{if(2>F)break;for(var v=p.jh+(F-2)*p.xg,D=0;D<p.xg;D++)A.push(p.Zf+v++);
F=Oo(q,p,F,0)|Oo(q,p,F,1)}while(F<=p.Rk)}f.te=A}f=!0}}else f=!1;if(!f){k=e.length;break}null!=b.lc&&"."!=b.lc&&".."!=b.lc&&(f=new qo(a,0,b.lc,b.Wg,b.Ci,b.te),a.C.push(f))}for(e=a.C.length;g<e;g++)f=a.C[g],f.Wg&16&&f.te.length&&Po(a,b,c,d+"\\"+f.lc,f.te)}function Oo(a,b,c,d){var e=0,f=8*b.Ua;c=b.zg*c+(d?8:0);var g=c/f|0;b.oi&&b.kh&&b.kh==b.Ff+g||(b.kh=b.Ff+g,b.oi=Eo(a,b.Zf+b.kh));b.oi&&(c=c%f|0,e=Fo(a,b.oi,c>>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e}
function Eo(a,b){var c=a.sb*a.lb,d=b/c|0;return d<a.Bb?(c=b%c,a.seek(d,c/a.lb|0,c%a.lb+1)):null}function Fo(a,b,c,d){for(var e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Qo(a,b,c,d){for(var e="";d--;){var f=a.read(b,c++);if(0>=f)break;e+=String.fromCharCode(f)}return e}function Jo(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Sk=b;a.Tk=c;a.wd=a.Yc=0;a.Va=!1;return a}
function Ko(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.sb+":"+a.lb+":"+a.Ua;c+="&machine="+a.controller.df();c+="&user="+a.controller.he();return xa()+"/api/v1/disk?"+c}
function Ro(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.sb+":"+a.lb+":"+a.Ua;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.df());h+="&user="+a.controller.he();wa(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],A=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var D=a.seek(p,A,F,!0);if(!D)break;No(D,l,q);q+=D.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)}
function So(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.sb+":"+a.lb+":"+a.Ua;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.df();h.user=a.controller.he();h.data=JSON.stringify(f);wa(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],A=q[3],q=q[4];a.ga=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(p=p-1;0<A--&&0<=p&&p<a.A[f][h].length;p++){var F=a.A[f][h][p];n?To(a,F,!1):F.Va||(F.wd=F.Yc=0)}q&&Uo(a)})}return!1}
function Eo(a,b){var c=a.tb*a.lb,d=b/c|0;return d<a.Bb?(c=b%c,a.seek(d,c/a.lb|0,c%a.lb+1)):null}function Fo(a,b,c,d){for(var e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Qo(a,b,c,d){for(var e="";d--;){var f=a.read(b,c++);if(0>=f)break;e+=String.fromCharCode(f)}return e}function Jo(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Sk=b;a.Tk=c;a.wd=a.Yc=0;a.Va=!1;return a}
function Ko(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;c+="&machine="+a.controller.df();c+="&user="+a.controller.he();return xa()+"/api/v1/disk?"+c}
function Ro(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.df());h+="&user="+a.controller.he();wa(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],A=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var D=a.seek(p,A,F,!0);if(!D)break;No(D,l,q);q+=D.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)}
function So(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.df();h.user=a.controller.he();h.data=JSON.stringify(f);wa(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],A=q[3],q=q[4];a.ga=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(p=p-1;0<A--&&0<=p&&p<a.A[f][h].length;p++){var F=a.A[f][h][p];n?To(a,F,!1):F.Va||(F.wd=F.Yc=0)}q&&Uo(a)})}return!1}
function To(a,b,c){b.Va=!0;var d=a.U.indexOf(b);0<=d&&(a.U.splice(d,1),a.fa.splice(d,1));a.U.push(b);a.fa.push(pa());c&&Uo(a)}function Uo(a){if(a.U.length){var b=a.fa[0]+2E3;a.L&&a.ja<b&&(clearTimeout(a.L),a.L=null);if(!a.L){var c=pa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.L=setTimeout(function(){Io(a,!0)},b);a.ja=c+b}}else a.L&&(clearTimeout(a.L),a.L=null)}
function Io(a,b){b&&(a.L=null);var c=a.U[0];if(c){for(var d=c.Sk,e=c.Tk,c=c.sector,f=0,g=[],h=c-1;h<a.A[d][e].length;h++){var k=a.A[d][e][h];if(!k.Va)break;var l=a.U.indexOf(k);a.U.splice(l,1);a.fa.splice(l,1);g=g.concat(Vo(k));k.Va=!1;f++}d=So(a,d,e,c,f,g,b);return b||d}return!1}m.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
m.seek=function(a,b,c,d,e){var f=null,g=this.B,h=this.A[a];if(h){var k=h[b];if(!k&&g.Yg&&b<g.sb)for(k=h[b]=Array(g.ee),h=0;h<k.length;h++)k[h]=Jo(null,a,b,h+1,g.Hb,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;Ro(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.Yg&&9==g.xb&&(f=k[h]=Jo(null,a,b,g.xb,g.Hb,0))}}e&&e(f,!1);return f};
m.seek=function(a,b,c,d,e){var f=null,g=this.B,h=this.A[a];if(h){var k=h[b];if(!k&&g.Yg&&b<g.tb)for(k=h[b]=Array(g.ee),h=0;h<k.length;h++)k[h]=Jo(null,a,b,h+1,g.Hb,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;Ro(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.Yg&&9==g.xb&&(f=k[h]=Jo(null,a,b,g.xb,g.Hb,0))}}e&&e(f,!1);return f};
function No(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}function Vo(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};
m.write=function(a,b,c){if(this.cf)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Yc?f<a.wd?(a.Yc+=a.wd-f,a.wd=f):f>=a.wd+a.Yc&&(a.Yc+=f-(a.wd+a.Yc)+1):(a.wd=f,a.Yc=1);d[f]=d[f]&~(255<<b)|c<<b;this.N&&To(this,a,!0)}return!0}return null};
m.save=function(){var a=0,b=[];b[a++]=[this.V,this.Y,this.Bb,this.sb,this.lb,this.Ua];if(!this.N&&!this.cf)for(var c=this.A,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Yc){for(var h=[],k=0,l=g.wd,n=g.wd+g.Yc;l<n;)h[k++]=g.data[l++];b[a++]=[d,e,f,g.wd,h]}}return b};
m.save=function(){var a=0,b=[];b[a++]=[this.V,this.Y,this.Bb,this.tb,this.lb,this.Ua];if(!this.N&&!this.cf)for(var c=this.A,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Yc){for(var h=[],k=0,l=g.wd,n=g.wd+g.Yc;l<n;)h[k++]=g.data[l++];b[a++]=[d,e,f,g.wd,h]}}return b};
m.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.A.length&&6<=e.length?po(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.Y&&e[1]!=this.Y&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Y+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],l=g[f++];if(h>=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+
b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.wd=e;for(h.Yc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):Mo(this);return b};
m.toJSON=function(){var a=JSON.stringify(this.A,function(a,c){return"file"==a?void 0:c}),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,""),a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function Wo(a){Ua.call(this,"FDC",a,Wo,524288);this.dmaRead=this.vk;this.dmaWrite=this.wk;this.dmaFormat=this.Kk;this.U=a.autoMount||null;this.B=[];this.ga=!Ha("Mobi")&&window&&"FileReader"in window}db(Wo);aa={};var Xo={3:{Rd:3,fe:0,name:aa.Tn},4:{Rd:2,fe:1,name:aa.Rn},5:{Rd:9,fe:7,name:aa.ao},6:{Rd:9,fe:7,name:aa.Mn},7:{Rd:2,fe:0,name:aa.On},8:{Rd:1,fe:2,name:aa.Sn},10:{Rd:2,fe:7,name:aa.Nn},13:{Rd:6,fe:7,name:aa.zn},15:{Rd:3,fe:0,name:aa.Qn}};m=Wo.prototype;
m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Yo(d,a)},!0;
case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&Zo(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.ya){for(var b=a.ya,c="",h=0,k;k=Eo(b,h++);)for(var l=0,n=k.length;l<n;l++)c+=String.fromCharCode(Fo(b,k,l,1));a=Ia(btoa(c),"octet-stream",!0,a.ya.ni.replace(".json",".img"));w(a)}else d.Oa("No disk loaded in drive");
else d.Oa("No drive selected")};return!0;case "mountDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Zo(d,fa(b,!0),b,a)}return!1};return!0}return!1};
m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;this.N=Eb(a,"ChipSet");if((this.U=$o(this.da,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}ap(this);hc(b,this,bp);lc(b,this,cp);this.ga&&dp(this,"Local Disk","?");dp(this,"Remote Disk","??");ep(this)||sb(this)};
m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.da.eh){this.B=[];for(var c=0;c<this.A.length;c++)fp(this,c,!0);ep(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.ja;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ja&&(c.value="0",Yo(this,0))}}return!0};m.hc=function(a){return a?this.save():!0};
m.reset=function(){ap(this)};
m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.gb;c[b++]=0;c[b++]=this.ma;c[b++]=this.V;c[b++]=this.L;c[b++]=this.C;c[b++]=this.Y;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.sb,k.lb,k.Ua,k.$e,k.yg,k.Nf,k.Of];n[l++]=k.jb;n[l++]=k.de+100;n[l++]=k.Qb;n[l++]=k.xb;n[l++]=k.ee;n[l++]=k.Hb;n[l++]=k.cb;n[l++]=k.Ye;n[l++]=k.ik;n[l]=k.Je;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.ya&&gp(this,f.Je,f.ya);c[d]=this.B;
c[b++]=this.W;c[b]=this.kc;N(a,0,c);return a.data()};m.restore=function(a){return ap(this,a[0])};
function ap(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.gb=b[c++];c++;a.ma=b[c++];a.V=b[c++];a.L=b[c++];a.C=b[c++];a.Y=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.ja=4,a.N&&(a.ja=Wk(a.N)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.N)a:{h=a.N;if(d<Wk(h)){if(!h.ka){h=360;break a}if(d<h.ka.length){h=h.ka[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.sb=1;default:g.Bb=40;g.lb=9;break;case 720:g.Bb=80;g.lb=
9;break;case 1200:g.Bb=80;g.lb=15;break;case 1440:g.Bb=80,g.lb=18}}var k=a,l=d,n=f[d],q=0;h=!0;g.gb=l;g.ad=g.Ye=!1;void 0===n&&(n=[192,!0,0,2,0]);"boolean"==typeof n[1]&&(n[1]=["Floppy Drive",g.Bb||40,g.sb||n[3],g.lb||9,g.Ua||512,n[1],g.yg,g.Nf,g.Of]);g.Cb=n[q++];var p=n[q++];g.name=p[0];g.Bb=p[1];g.sb=p[2];g.lb=p[3];g.Ua=p[4];g.$e=p[5];(g.yg=p[6])?(g.Nf=p[7],g.Of=p[8]):(g.yg=g.Bb,g.Nf=g.sb,g.Of=g.lb);g.jb=n[q++];g.de=n[q++];g.Qb=n[q++];g.de=100<=g.de?g.de-100:g.de-g.Qb;g.xb=n[q++];g.ee=n[q++];g.Hb=
n[q++];g.cb=n[q++];g.ob=null;g.ya||(g.Je="");p=n[q++];102==p&&(p=!1);if("boolean"==typeof p){var A=p,p=n[q++],n=n[q];A?(q=p,p=k.A[l],fp(k,l,!0,!0),p.Ye=!0,l=new no(k,p,"preload"),k.Ii(p,l,q,n,!0)):hp(k,l,p,n,!0)?g.ya&&n&&ip(k,p,n,g.ya):sb(k,!1)}else void 0!==p&&g.ya&&0>g.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Qb,g.jb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.kc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
m.toJSON=function(){var a;a=0;for(var b;b=Eo(this,a++);)Wo(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function Wo(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function Xo(a){Ua.call(this,"FDC",a,Xo,524288);this.dmaRead=this.vk;this.dmaWrite=this.wk;this.dmaFormat=this.Kk;this.U=a.autoMount||null;this.B=[];this.ga=!Ha("Mobi")&&window&&"FileReader"in window}db(Xo);aa={};
var Yo={3:{Rd:3,fe:0,name:aa.Tn},4:{Rd:2,fe:1,name:aa.Rn},5:{Rd:9,fe:7,name:aa.ao},6:{Rd:9,fe:7,name:aa.Mn},7:{Rd:2,fe:0,name:aa.On},8:{Rd:1,fe:2,name:aa.Sn},10:{Rd:2,fe:7,name:aa.Nn},13:{Rd:6,fe:7,name:aa.zn},15:{Rd:3,fe:0,name:aa.Qn}};m=Xo.prototype;
m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Zo(d,a)},!0;
case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&$o(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.ya){for(var b=a.ya,c="",h=0,k;k=Eo(b,h++);)for(var l=0,n=k.length;l<n;l++)c+=String.fromCharCode(Fo(b,k,l,1));a=Ia(btoa(c),"octet-stream",!0,a.ya.ni.replace(".json",".img"));w(a)}else d.Oa("No disk loaded in drive");
else d.Oa("No drive selected")};return!0;case "mountDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;$o(d,fa(b,!0),b,a)}return!1};return!0}return!1};
m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;this.N=Eb(a,"ChipSet");if((this.U=ap(this.da,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}bp(this);hc(b,this,cp);lc(b,this,dp);this.ga&&ep(this,"Local Disk","?");ep(this,"Remote Disk","??");fp(this)||sb(this)};
m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.da.eh){this.B=[];for(var c=0;c<this.A.length;c++)gp(this,c,!0);fp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.ja;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ja&&(c.value="0",Zo(this,0))}}return!0};m.hc=function(a){return a?this.save():!0};
m.reset=function(){bp(this)};
m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.gb;c[b++]=0;c[b++]=this.ma;c[b++]=this.V;c[b++]=this.L;c[b++]=this.C;c[b++]=this.Y;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.tb,k.lb,k.Ua,k.$e,k.yg,k.Nf,k.Of];n[l++]=k.jb;n[l++]=k.de+100;n[l++]=k.Qb;n[l++]=k.xb;n[l++]=k.ee;n[l++]=k.Hb;n[l++]=k.cb;n[l++]=k.Ye;n[l++]=k.ik;n[l]=k.Je;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.ya&&hp(this,f.Je,f.ya);c[d]=this.B;
c[b++]=this.W;c[b]=this.kc;N(a,0,c);return a.data()};m.restore=function(a){return bp(this,a[0])};
function bp(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.gb=b[c++];c++;a.ma=b[c++];a.V=b[c++];a.L=b[c++];a.C=b[c++];a.Y=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.ja=4,a.N&&(a.ja=Wk(a.N)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.N)a:{h=a.N;if(d<Wk(h)){if(!h.ka){h=360;break a}if(d<h.ka.length){h=h.ka[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.tb=1;default:g.Bb=40;g.lb=9;break;case 720:g.Bb=80;g.lb=
9;break;case 1200:g.Bb=80;g.lb=15;break;case 1440:g.Bb=80,g.lb=18}}var k=a,l=d,n=f[d],q=0;h=!0;g.gb=l;g.ad=g.Ye=!1;void 0===n&&(n=[192,!0,0,2,0]);"boolean"==typeof n[1]&&(n[1]=["Floppy Drive",g.Bb||40,g.tb||n[3],g.lb||9,g.Ua||512,n[1],g.yg,g.Nf,g.Of]);g.Cb=n[q++];var p=n[q++];g.name=p[0];g.Bb=p[1];g.tb=p[2];g.lb=p[3];g.Ua=p[4];g.$e=p[5];(g.yg=p[6])?(g.Nf=p[7],g.Of=p[8]):(g.yg=g.Bb,g.Nf=g.tb,g.Of=g.lb);g.jb=n[q++];g.de=n[q++];g.Qb=n[q++];g.de=100<=g.de?g.de-100:g.de-g.Qb;g.xb=n[q++];g.ee=n[q++];g.Hb=
n[q++];g.cb=n[q++];g.ob=null;g.ya||(g.Je="");p=n[q++];102==p&&(p=!1);if("boolean"==typeof p){var A=p,p=n[q++],n=n[q];A?(q=p,p=k.A[l],gp(k,l,!0,!0),p.Ye=!0,l=new no(k,p,"preload"),k.Ii(p,l,q,n,!0)):ip(k,l,p,n,!0)?g.ya&&n&&jp(k,p,n,g.ya):sb(k,!1)}else void 0!==p&&g.ya&&0>g.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Qb,g.jb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.kc=b[c]||0;return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
m.jk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Qb=Math.floor(b/f),b%=f,a.jb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1};
function ep(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;g<f.options.length;g++)if(f.options[g].value==e){f=f.options[g].innerText;break a}f=fa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!hp(a,g,f,e,!0)&&b&&sb(a,!1);continue}a.Oa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.fa}
function Zo(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Oa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c)}for(;hp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}fp(a,
e,!1,!0)}}else fp(a,e);else a.Oa("Unable to load the selected drive")}function hp(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Je!=d){fp(a,b,e,!0);if(g.ad)return a.Oa("Drive "+b+" busy"),!0;g.ad=!0;e&&(g.we=!0,a.fa++,z(a)&&y(a,"loading diskette '"+c+"'"));g.Ye=!!f;if(!(new no(a,g,"preload")).load(c,d,f,a.Ii))return!1}return!0}
m.Ii=function(a,b,c,d,e){var f;a.ad=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.sb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.ik=c,a.Je=d,ip(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.we||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.we&&(a.we=!1,--this.fa||sb(this));Yo(this,a.gb)};
function dp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function Yo(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.Ye?"?":c.Je,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function fp(a,b,c,d){var e=a.A[b];e.ya&&(gp(a,e.Je,e.ya),e.ik="",e.Je="",e.ya=null,e.Ye=!1,a.W|=128,d||a.Oa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Yo(a,b))}
function ip(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function gp(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}m.Km=function(a,b,c){x(this,a,b,c,"OUTPUT");b&4?this.Y&4||this.Y&8&&this.N&&eg(this.N,6):ap(this);this.Y=b};m.sl=function(a,b){x(this,a,null,b,"STATUS",this.ma);return this.ma};
function fp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;g<f.options.length;g++)if(f.options[g].value==e){f=f.options[g].innerText;break a}f=fa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!ip(a,g,f,e,!0)&&b&&sb(a,!1);continue}a.Oa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.fa}
function $o(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Oa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c)}for(;ip(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}gp(a,
e,!1,!0)}}else gp(a,e);else a.Oa("Unable to load the selected drive")}function ip(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Je!=d){gp(a,b,e,!0);if(g.ad)return a.Oa("Drive "+b+" busy"),!0;g.ad=!0;e&&(g.we=!0,a.fa++,z(a)&&y(a,"loading diskette '"+c+"'"));g.Ye=!!f;if(!(new no(a,g,"preload")).load(c,d,f,a.Ii))return!1}return!0}
m.Ii=function(a,b,c,d,e){var f;a.ad=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.tb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.ik=c,a.Je=d,jp(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.we||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.we&&(a.we=!1,--this.fa||sb(this));Zo(this,a.gb)};
function ep(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function Zo(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.Ye?"?":c.Je,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function gp(a,b,c,d){var e=a.A[b];e.ya&&(hp(a,e.Je,e.ya),e.ik="",e.Je="",e.ya=null,e.Ye=!1,a.W|=128,d||a.Oa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Zo(a,b))}
function jp(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function hp(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}m.Km=function(a,b,c){x(this,a,b,c,"OUTPUT");b&4?this.Y&4||this.Y&8&&this.N&&eg(this.N,6):bp(this);this.Y=b};m.sl=function(a,b){x(this,a,null,b,"STATUS",this.ma);return this.ma};
m.ql=function(a,b){var c=0;this.L<this.C&&(c=this.V[this.L]);this.Y&8&&this.N&&dg(this.N,6);z(this)&&x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.ma&=-81,this.L=this.C=0);return c};
m.Jm=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C<this.V.length&&(this.V[this.C++]=b);a=this.V[0]&31;if(void 0!==Xo[a]&&this.C>=Xo[a].Rd){b=!1;this.L=0;a=jp(this);var d,e,f,g,h=a&31;switch(h){case 3:jp(this);jp(this);kp(this);break;case 4:c=jp(this);this.gb=c&3;d=this.A[this.gb];kp(this);lp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=jp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Qb=jp(this);e=jp(this);f=d.xb=jp(this);g=jp(this);d.Hb=128<<g;d.ee=jp(this);jp(this);
jp(this);6==h?(h=d,h.Cb=72,h.ya&&(h.ob=null,h.Cb=0,this.N&&(ll(this.N,2,this,"dmaRead",h),el(this.N,2)))):(h=d,h.Cb=72,h.ya&&(h.ya.cf?h.Cb=576:(h.ob=null,h.Cb=0,this.N&&(ll(this.N,2,this,"dmaWrite",h),el(this.N,2)))));mp(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=jp(this);this.gb=c&3;d=this.A[this.gb];d.Qb=d.de=0;d.Cb=268435488;kp(this);b=!0;break;case 8:d=this.A[this.gb];d.jb=0;kp(this);lp(this,d.gb|d.jb<<2|d.Cb&255);lp(this,d.Qb);this.gb=this.gb+1&3;break;case 10:c=jp(this);b=c>>2&1;this.gb=c&3;d=
this.A[this.gb];c=d.Qb;e=d.jb=b;f=d.xb=1;g=0;d.Cb=0;d.ya&&(d.ob=d.ya.seek(d.Qb,d.jb,d.xb))?g=d.ob.length>>8:d.Cb=72;mp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=jp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Qb;e=d.jb=b;f=1;g=jp(this);d.Hb=128<<g;d.ee=jp(this);jp(this);d.zi=jp(this);h=d;h.Cb=72;h.ya&&(h.ob=null,h.Cb=0,this.N&&(h.Te=0,h.kd=Array(4),h.Yg=!0,h.mg=0,ll(this.N,2,this,"dmaFormat",h),el(this.N,2),h.Yg=!1));mp(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=jp(this),this.gb=c&3,d=this.A[this.gb],
d.jb=c>>2&1,c=jp(this),d.Qb+=c-d.de,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.de=c,d.Cb=32,d.Qb||(d.Cb|=268435456),kp(this),b=!0}0<this.C&&(this.ma|=80);this.Y&8&&(!d||d.Cb&8||!b||this.N&&eg(this.N,6))}};m.rl=function(a,b){var c=this.W;this.W&=-129;x(this,a,null,b,"INPUT",c);return c};m.Im=function(a,b,c){x(this,a,b,c,"CONTROL");this.kc=b};
function mp(a,b,c,d,e,f,g,h){kp(a);lp(a,b.gb|b.jb<<2|b.Cb&255);lp(a,(b.Cb&65280)>>>8);lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));lp(a,e+k);lp(a,f);lp(a,g);lp(a,h)}function jp(a){var b=a.V[a.L];a.L++;return b}function kp(a){a.L=a.C=0}function lp(a,b){a.V[a.C++]=b}
m.vk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Qb,a.jb,a.xb);if(!a.ob){a.Cb=1088;break}a.cb=0;np(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.wk=function(a,b){return void 0!==b&&0<=b?op(a,b):-1};
m.Kk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.kd[a.Te++]=c;if(a.Te==a.kd.length){a.Qb=a.kd[0];a.jb=a.kd[1];a.xb=a.kd[2];a.Hb=128<<a.kd[3];for(var d=a.Te=0;d<a.Hb;d++)if(0>op(a,a.zi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function op(a,b){if(a.Cb||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Qb,a.jb,a.xb);if(!a.ob){a.Cb=8256;b=-1;break}a.cb=0;np(a)}while(1);return b}
function np(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Qb++))}var bp={1012:Wo.prototype.sl,1013:Wo.prototype.ql,1015:Wo.prototype.rl},cp={1010:Wo.prototype.Km,1013:Wo.prototype.Jm,1015:Wo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Wo(d);mb(d,c)}});
function pp(a){Ua.call(this,"HDC",a,pp,1048576);this.dmaRead=this.xk;this.dmaWrite=this.yk;this.dmaWriteBuffer=this.Lk;this.dmaWriteFormat=this.Mk;this.ua=[];this.Fa=a.drives;this.ja="at"==a.type}db(pp);
var qp=["XTC","ATC","COMPAQ"],rp=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];m=pp.prototype;m.Pb=function(){return!1};
m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;if(d=$o(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){w("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Eb(a,"ChipSet");this.U=0;this.Ia=3;hc(b,this,this.ja?sp:tp);lc(b,this,this.ja?up:vp);this.ja&&(this.U++,this.N&&5180==this.N.ia&&this.U++,this.Ia=2,b.Y[496]=2,b.fa[496]=2);cf(c,19,this.Vl.bind(this));cf(c,64,this.Wl.bind(this));this.reset();wp(this)||sb(this)};
m.ic=function(a,b){if(!b)if(!a||!this.restore)xp(this),this.da.eh&&wp(this,!0);else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.df=function(){return this.da?this.da.df():""};m.he=function(){return this.da?this.da.he():""};m.reset=function(){xp(this,null,!0)};
m.Jm=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C<this.V.length&&(this.V[this.C++]=b);a=this.V[0]&31;if(void 0!==Yo[a]&&this.C>=Yo[a].Rd){b=!1;this.L=0;a=kp(this);var d,e,f,g,h=a&31;switch(h){case 3:kp(this);kp(this);lp(this);break;case 4:c=kp(this);this.gb=c&3;d=this.A[this.gb];lp(this);mp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=kp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Qb=kp(this);e=kp(this);f=d.xb=kp(this);g=kp(this);d.Hb=128<<g;d.ee=kp(this);kp(this);
kp(this);6==h?(h=d,h.Cb=72,h.ya&&(h.ob=null,h.Cb=0,this.N&&(ll(this.N,2,this,"dmaRead",h),el(this.N,2)))):(h=d,h.Cb=72,h.ya&&(h.ya.cf?h.Cb=576:(h.ob=null,h.Cb=0,this.N&&(ll(this.N,2,this,"dmaWrite",h),el(this.N,2)))));np(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=kp(this);this.gb=c&3;d=this.A[this.gb];d.Qb=d.de=0;d.Cb=268435488;lp(this);b=!0;break;case 8:d=this.A[this.gb];d.jb=0;lp(this);mp(this,d.gb|d.jb<<2|d.Cb&255);mp(this,d.Qb);this.gb=this.gb+1&3;break;case 10:c=kp(this);b=c>>2&1;this.gb=c&3;d=
this.A[this.gb];c=d.Qb;e=d.jb=b;f=d.xb=1;g=0;d.Cb=0;d.ya&&(d.ob=d.ya.seek(d.Qb,d.jb,d.xb))?g=d.ob.length>>8:d.Cb=72;np(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=kp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Qb;e=d.jb=b;f=1;g=kp(this);d.Hb=128<<g;d.ee=kp(this);kp(this);d.zi=kp(this);h=d;h.Cb=72;h.ya&&(h.ob=null,h.Cb=0,this.N&&(h.Te=0,h.kd=Array(4),h.Yg=!0,h.mg=0,ll(this.N,2,this,"dmaFormat",h),el(this.N,2),h.Yg=!1));np(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=kp(this),this.gb=c&3,d=this.A[this.gb],
d.jb=c>>2&1,c=kp(this),d.Qb+=c-d.de,0>d.Qb&&(d.Qb=0),d.Qb>=d.Bb&&(d.Qb=d.Bb-1),d.de=c,d.Cb=32,d.Qb||(d.Cb|=268435456),lp(this),b=!0}0<this.C&&(this.ma|=80);this.Y&8&&(!d||d.Cb&8||!b||this.N&&eg(this.N,6))}};m.rl=function(a,b){var c=this.W;this.W&=-129;x(this,a,null,b,"INPUT",c);return c};m.Im=function(a,b,c){x(this,a,b,c,"CONTROL");this.kc=b};
function np(a,b,c,d,e,f,g,h){lp(a);mp(a,b.gb|b.jb<<2|b.Cb&255);mp(a,(b.Cb&65280)>>>8);mp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Qb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));mp(a,e+k);mp(a,f);mp(a,g);mp(a,h)}function kp(a){var b=a.V[a.L];a.L++;return b}function lp(a){a.L=a.C=0}function mp(a,b){a.V[a.C++]=b}
m.vk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Qb,a.jb,a.xb);if(!a.ob){a.Cb=1088;break}a.cb=0;op(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.wk=function(a,b){return void 0!==b&&0<=b?pp(a,b):-1};
m.Kk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.kd[a.Te++]=c;if(a.Te==a.kd.length){a.Qb=a.kd[0];a.jb=a.kd[1];a.xb=a.kd[2];a.Hb=128<<a.kd[3];for(var d=a.Te=0;d<a.Hb;d++)if(0>pp(a,a.zi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function pp(a,b){if(a.Cb||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Qb,a.jb,a.xb);if(!a.ob){a.Cb=8256;b=-1;break}a.cb=0;op(a)}while(1);return b}
function op(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Qb++))}var cp={1012:Xo.prototype.sl,1013:Xo.prototype.ql,1015:Xo.prototype.rl},dp={1010:Xo.prototype.Km,1013:Xo.prototype.Jm,1015:Xo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Xo(d);mb(d,c)}});
function qp(a){Ua.call(this,"HDC",a,qp,1048576);this.dmaRead=this.xk;this.dmaWrite=this.yk;this.dmaWriteBuffer=this.Lk;this.dmaWriteFormat=this.Mk;this.ua=[];this.Fa=a.drives;this.ja="at"==a.type}db(qp);
var rp=["XTC","ATC","COMPAQ"],sp=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];m=qp.prototype;m.Pb=function(){return!1};
m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.da=a;if(d=ap(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){w("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Eb(a,"ChipSet");this.U=0;this.Ia=3;hc(b,this,this.ja?tp:up);lc(b,this,this.ja?vp:wp);this.ja&&(this.U++,this.N&&5180==this.N.ia&&this.U++,this.Ia=2,b.Y[496]=2,b.fa[496]=2);cf(c,19,this.Vl.bind(this));cf(c,64,this.Wl.bind(this));this.reset();xp(this)||sb(this)};
m.ic=function(a,b){if(!b)if(!a||!this.restore)yp(this),this.da.eh&&xp(this,!0);else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.df=function(){return this.da?this.da.df():""};m.he=function(){return this.da?this.da.he():""};m.reset=function(){yp(this,null,!0)};
m.save=function(){var a=new hf(this),b=0,c=[];this.ja?(c[b++]=this.W,c[b++]=this.Pa,c[b++]=this.Y,c[b++]=this.Ba,c[b++]=this.za,c[b++]=this.wa,c[b++]=this.sa,c[b++]=this.ma,c[b++]=this.Ea,c[b++]=[this.ga,this.gb]):(c[b++]=this.pa,c[b++]=this.ma,c[b++]=this.V,c[b++]=this.L,c[b++]=this.C,c[b++]=this.Na,c[b++]=this.Ka,c[b++]=this.Ja,c[b++]=this.ka);for(var d=0,e=[],f=0;f<this.A.length;f++){var g=d++,h=this.A[f],k=0,l=[];l[k++]=h.errorCode;l[k++]=h.kk;l[k++]=h.$e;l[k++]=h.Oe;l[k++]=h.Pe;l[k++]=h.jb;l[k++]=
h.sb;l[k++]=h.ae;l[k++]=h.xb;l[k++]=h.ee;l[k++]=h.Hb;l[k++]=h.cb;l[k]=h.ya?h.ya.save():null;e[g]=l}c[b]=e;N(a,0,c);return a.data()};m.restore=function(a){return xp(this,a[0])};
function xp(a,b,c){var d=0,e=!0;a.gb=-1;if(a.ja){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.W=b[d++],a.Pa=b[d++],a.Y=b[d++],a.Ba=b[d++],a.za=b[d++],a.wa=b[d++],a.sa=b[d++],a.ma=b[d++],a.Ea=b[d++],a.ga=b[d++],"object"==typeof a.ga){var f=a.ga;a.ga=f[0];a.gb=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.pa=b[d++],a.ma=b[d++],a.V=b[d++],a.L=b[d++],a.C=b[d++],a.Na=b[d++],a.Ka=b[d++],a.Ja=b[d++],f=b[d++],void 0!==f?a.ka=f:void 0===a.ka&&(a.ka=-1);void 0===a.A&&(a.A=Array(a.ua.length));b=b[d];void 0===
b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,l=a.ua[d],n=b[d],q=c,p=0,A=!0;void 0===n&&(n=[0,0,!1,Array(8)]);k.gb=h;k.errorCode=n[p++];k.kk=n[p++];k.$e=n[p++];k.Oe=n[p++];k.Pe=n[p++];k.jb=n[p++];k.sb=n[p++];k.ae=n[p++];k.xb=n[p++];k.ee=n[p++];k.Hb=n[p++];k.lg=g.ja?0:1;k.name=l.name;void 0===k.name&&(k.name="Hard Drive");k.path=l.path;k.mode=l.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||g.he()||(k.mode="local");k.type=l.type;
if(void 0===k.type||void 0===rp[g.U][k.type])k.type=g.Ia;l=rp[g.U][k.type];k.lb=l[2]||17;k.Ua=l[3]||512;if(q&&g.N){var F=g.N,v=k.type;if(F.A){var q=null,l=void 0,D=F.A[18];15<v&&(q=v,v=15);h?(D=D&240|v,l=26):(D=D&15|v<<4,l=25);v=F;v.A&&(v.A[18]=D,Ok(v));null!=q&&F.A&&(F.A[l]=q,Ok(F))}}void 0===k.ya&&(k.ya=null,g.Oa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));yp(g,k);k.cb=n[p++];k.ob=null;k.ya&&(g=n[p],void 0!==g&&0>k.ya.restore(g)&&(A=!1),A&&void 0!==k.cb&&(k.ob=k.ya.seek(k.ae,k.jb,k.xb+
h.tb;l[k++]=h.ae;l[k++]=h.xb;l[k++]=h.ee;l[k++]=h.Hb;l[k++]=h.cb;l[k]=h.ya?h.ya.save():null;e[g]=l}c[b]=e;N(a,0,c);return a.data()};m.restore=function(a){return yp(this,a[0])};
function yp(a,b,c){var d=0,e=!0;a.gb=-1;if(a.ja){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.W=b[d++],a.Pa=b[d++],a.Y=b[d++],a.Ba=b[d++],a.za=b[d++],a.wa=b[d++],a.sa=b[d++],a.ma=b[d++],a.Ea=b[d++],a.ga=b[d++],"object"==typeof a.ga){var f=a.ga;a.ga=f[0];a.gb=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.pa=b[d++],a.ma=b[d++],a.V=b[d++],a.L=b[d++],a.C=b[d++],a.Na=b[d++],a.Ka=b[d++],a.Ja=b[d++],f=b[d++],void 0!==f?a.ka=f:void 0===a.ka&&(a.ka=-1);void 0===a.A&&(a.A=Array(a.ua.length));b=b[d];void 0===
b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,l=a.ua[d],n=b[d],q=c,p=0,A=!0;void 0===n&&(n=[0,0,!1,Array(8)]);k.gb=h;k.errorCode=n[p++];k.kk=n[p++];k.$e=n[p++];k.Oe=n[p++];k.Pe=n[p++];k.jb=n[p++];k.tb=n[p++];k.ae=n[p++];k.xb=n[p++];k.ee=n[p++];k.Hb=n[p++];k.lg=g.ja?0:1;k.name=l.name;void 0===k.name&&(k.name="Hard Drive");k.path=l.path;k.mode=l.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||g.he()||(k.mode="local");k.type=l.type;
if(void 0===k.type||void 0===sp[g.U][k.type])k.type=g.Ia;l=sp[g.U][k.type];k.lb=l[2]||17;k.Ua=l[3]||512;if(q&&g.N){var F=g.N,v=k.type;if(F.A){var q=null,l=void 0,D=F.A[18];15<v&&(q=v,v=15);h?(D=D&240|v,l=26):(D=D&15|v<<4,l=25);v=F;v.A&&(v.A[18]=D,Ok(v));null!=q&&F.A&&(F.A[l]=q,Ok(F))}}void 0===k.ya&&(k.ya=null,g.Oa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));zp(g,k);k.cb=n[p++];k.ob=null;k.ya&&(g=n[p],void 0!==g&&0>k.ya.restore(g)&&(A=!1),A&&void 0!==k.cb&&(k.ob=k.ya.seek(k.ae,k.jb,k.xb+
k.lg)));A||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.gb&&(a.B=a.A[a.gb]);return e}m.Hi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function yp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Oe[2])?e=b.Oe[0]<<8|b.Oe[1]:c=b.type);null==c||d||(d=rp[a.U][c][1],e=rp[a.U][c][0]);d&&((c=rp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Oa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.sb=d,null==b.ya&&(b.ya=new no(a,b,b.mode)))}}
function zp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Oe[2])?e=b.Oe[0]<<8|b.Oe[1]:c=b.type);null==c||d||(d=sp[a.U][c][1],e=sp[a.U][c][0]);d&&((c=sp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Oa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.tb=d,null==b.ya&&(b.ya=new no(a,b,b.mode)))}}
m.jk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.ae=Math.floor(b/g),b%=g,a.jb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1};
function wp(a,b){b||(a.fa=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.ya&&d.ya.qg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.ad?(e.Oa("Drive "+c+" busy"),e=!0):(g.ad=!0,g.we=!0,e.fa++,z(e)&&y(e,"loading "+f),(g.ya||new no(e,g,g.mode)).load(f,d,null,e.Nk),e=!1);!e&&b&&sb(a,!1)}}else b&&void 0!==d.type&&(d.ya=null,yp(a,d,d.type))}return!!a.fa}
m.Nk=function(a,b,c){a.ad=!1;if(a.ya=b)this.Oa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.gb),a.we),b=b.info(),b[0]==a.Bb&&b[1]==a.sb&&b[2]==a.lb&&b[3]==a.Ua||this.Oa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+qp[this.U]+" drive type "+a.type+" ("+a.Bb+":"+a.sb+":"+a.lb+")");a.we&&(a.we=!1,--this.fa||sb(this))};
m.Tl=function(a,b){var c=0;this.L<this.C&&(c=this.V[this.L]);this.N&&dg(this.N,5);this.ma&=-33;x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.hn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C<this.V.length&&(this.V[this.C++]=b);a=12!=this.V[0]?6:this.V.length;6==this.C&&(this.ma&=-2);this.C>=a&&(this.ma|=2,this.ma&=-2,zp(this))};m.Ul=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L<this.C&&(this.ma|=1);return c};
m.mn=function(a,b,c){x(this,a,b,c,"RESET");this.Na=b;this.N&&dg(this.N,5);xp(this)};m.Sl=function(a,b){x(this,a,null,b,"CONFIG",this.pa);return this.pa};m.kn=function(a,b,c){x(this,a,b,c,"PULSE");this.Ka=b;this.ma=13};m.jn=function(a,b,c){x(this,a,b,c,"PATTERN");this.Ja=b};m.hi=function(a,b,c){x(this,a,b,c,"NOISE")};
function Ap(a,b,c){var d=-1;a.B&&(d=Bp(a.B,function(){}),1==a.B.cb||a.B.cb==a.B.Ua)&&(z(a,1048832)&&x(a,b,null,c,"DATA["+a.B.cb+"]",d),1<a.B.cb&&(a.B.Hb-=a.B.Ua,a.Y=a.Y-1&255,a.B.Hb>=a.B.Ua?(a.ma=128,Bp(a.B,function(b){0<=b?(Cp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.zk=function(a,b){return Ap(this,a,b)|Ap(this,a,b)<<8};
function Dp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Ua)if(0>Ep(a.B,c))a.ma=1,a.W=16;else if(1==a.B.cb||a.B.cb==a.B.Ua)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.cb+"]"),1<a.B.cb&&(a.B.Hb-=a.B.Ua,a.Y=a.Y-1&255,Cp(a),a.ma=80,a.B.Hb>=a.B.Ua&&(a.ma|=8))}m.qm=function(a,b,c){Dp(this,a,b&255,c);Dp(this,a,b>>8&255,c)};m.$k=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.bl=function(a,b){var c=this.Y;x(this,a,null,b,"SECCNT",c);return c};
function xp(a,b){b||(a.fa=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.ya&&d.ya.qg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.ad?(e.Oa("Drive "+c+" busy"),e=!0):(g.ad=!0,g.we=!0,e.fa++,z(e)&&y(e,"loading "+f),(g.ya||new no(e,g,g.mode)).load(f,d,null,e.Nk),e=!1);!e&&b&&sb(a,!1)}}else b&&void 0!==d.type&&(d.ya=null,zp(a,d,d.type))}return!!a.fa}
m.Nk=function(a,b,c){a.ad=!1;if(a.ya=b)this.Oa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.gb),a.we),b=b.info(),b[0]==a.Bb&&b[1]==a.tb&&b[2]==a.lb&&b[3]==a.Ua||this.Oa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+rp[this.U]+" drive type "+a.type+" ("+a.Bb+":"+a.tb+":"+a.lb+")");a.we&&(a.we=!1,--this.fa||sb(this))};
m.Tl=function(a,b){var c=0;this.L<this.C&&(c=this.V[this.L]);this.N&&dg(this.N,5);this.ma&=-33;x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.hn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C<this.V.length&&(this.V[this.C++]=b);a=12!=this.V[0]?6:this.V.length;6==this.C&&(this.ma&=-2);this.C>=a&&(this.ma|=2,this.ma&=-2,Ap(this))};m.Ul=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L<this.C&&(this.ma|=1);return c};
m.mn=function(a,b,c){x(this,a,b,c,"RESET");this.Na=b;this.N&&dg(this.N,5);yp(this)};m.Sl=function(a,b){x(this,a,null,b,"CONFIG",this.pa);return this.pa};m.kn=function(a,b,c){x(this,a,b,c,"PULSE");this.Ka=b;this.ma=13};m.jn=function(a,b,c){x(this,a,b,c,"PATTERN");this.Ja=b};m.hi=function(a,b,c){x(this,a,b,c,"NOISE")};
function Bp(a,b,c){var d=-1;a.B&&(d=Cp(a.B,function(){}),1==a.B.cb||a.B.cb==a.B.Ua)&&(z(a,1048832)&&x(a,b,null,c,"DATA["+a.B.cb+"]",d),1<a.B.cb&&(a.B.Hb-=a.B.Ua,a.Y=a.Y-1&255,a.B.Hb>=a.B.Ua?(a.ma=128,Cp(a.B,function(b){0<=b?(Dp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.W=16)},!1)):a.ma=80));return d}m.zk=function(a,b){return Bp(this,a,b)|Bp(this,a,b)<<8};
function Ep(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Ua)if(0>Fp(a.B,c))a.ma=1,a.W=16;else if(1==a.B.cb||a.B.cb==a.B.Ua)z(a,1048832)&&x(a,b,c,d,"DATA["+a.B.cb+"]"),1<a.B.cb&&(a.B.Hb-=a.B.Ua,a.Y=a.Y-1&255,Dp(a),a.ma=80,a.B.Hb>=a.B.Ua&&(a.ma|=8))}m.qm=function(a,b,c){Ep(this,a,b&255,c);Ep(this,a,b>>8&255,c)};m.$k=function(a,b){var c=this.W;x(this,a,null,b,"ERROR",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.bl=function(a,b){var c=this.Y;x(this,a,null,b,"SECCNT",c);return c};
m.tm=function(a,b,c){x(this,a,b,c,"SECCNT");this.Y=b};m.cl=function(a,b){var c=this.Ba;x(this,a,null,b,"SECNUM",c);return c};m.um=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ba=b};m.Yk=function(a,b){var c=this.za;x(this,a,null,b,"CYLLO",c);return c};m.pm=function(a,b,c){x(this,a,b,c,"CYLLO");this.za=b};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.om=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.Zk=function(a,b){var c=this.sa;x(this,a,null,b,"DRVHD",c);return c};
m.rm=function(a,b,c){x(this,a,b,c,"DRVHD");this.sa=b;this.ma=this.A[this.sa&16?1:0]?this.ma|80:this.ma&-65};m.dl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.nm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);Fp(this)};m.sm=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.W=1);this.ga=b};
function Fp(a){var b=!1,c=a.Ea,d=a.sa&16?1:0,e=a.sa&15,f=a.za|(a.wa&3)<<8,g=a.Ba,h=a.Y||256;a.gb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ae=f,k.jb=e,k.xb=g,k.Hb=h*k.Ua,c=144<=c?c:c&240,k.ob=null,k.cb=0,k.errorCode=0,a.gb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Bp(k,function(b){0<=b&&a.N?(Cp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.sb=e+1,k.lb=h,b=!0}b&&Cp(a)}
function Cp(a){!a.N||a.ga&2||eg(a.N,14,120)}
function zp(a){a.L=0;var b=Gp(a),c=Gp(a),d=c&32,e=d>>5,f=c&31,g=Gp(a),h=Gp(a),k=g<<2&768|h,l=g&63,n=Gp(a),q=Gp(a),p=a.A[e];p&&(p.ae=k,p.jb=f,p.xb=l,p.Hb=n*p.Ua);switch(b){case 3:Hp(a,p?p.errorCode:4);Ip(a,c);Ip(a,g);Ip(a,h);Ip(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Gp(a));)p&&c<p.Oe.length&&(p.Oe[c++]=b);p&&yp(a,p);b=0;p||a.ka!=e||(a.ka=-1,b=2);Hp(a,b|d);b=-1;break;case 224:case 228:Hp(a,0|d),b=-1}if(0<=b)switch(void 0===p?b=-1:(p.errorCode=0,p.kk=0),b){case 0:Hp(a,0|d);break;case 1:p.Bf=q;Hp(a,
0|d);break;case 5:Hp(a,0|d);break;case 8:Jp(a,p,function(b){Hp(a,b|d)});break;case 10:Kp(a,p,function(b){Hp(a,b|d)});break;case 15:Lp(a,p,function(b){Hp(a,b|d)});break;default:Hp(a,2|d)}}function Gp(a){var b=-1;a.L<a.C&&(b=a.V[a.L++]);return b}function Hp(a,b){a.L=a.C=0;void 0!==b&&Ip(a,b);a.N&&eg(a.N,5);a.ma|=32}function Ip(a,b){a.V[a.C++]=b}m.xk=function(a,b,c){void 0===b||0>b?Bp(a,c):c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Ep(a,b):-1};
m.Lk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.cb<a.Pe.length?a.Pe[a.cb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};m.Mk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.kd[a.Te++]=c;if(a.Te==a.kd.length){a.ae=a.kd[0];a.jb=a.kd[1];a.xb=a.kd[2];a.Hb=128<<a.kd[3];for(var d=a.Te=0;d<a.Hb;d++)if(0>Ep(a,a.zi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};
function Jp(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;ll(a.N,3,a,"dmaRead",b);el(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function Kp(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;ll(a.N,3,a,"dmaWrite",b);el(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function Lp(a,b,c){b.errorCode=4;b.Pe&&b.Pe.length==b.Hb||(b.Pe=Array(b.Hb));b.cb=0;a.N?(b.errorCode=0,ll(a.N,3,a,"dmaWriteBuffer",b),el(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
function Bp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.ob&&(f=a.cb,d=a.ya.read(a.ob,a.cb),a.cb+=g,0<=d))return e=a.ob,b&&b(d,!1,e,f),d;if(b){if(a.ya)return a.ya.seek(a.ae,a.jb,a.xb+a.lg,!1,function(c,k){(a.ob=c)?(e=c,f=a.cb=0,Mp(a),d=a.ya.read(a.ob,a.cb),a.cb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
function Ep(a,b){if(a.errorCode)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ya&&a.ya.seek(a.ae,a.jb,a.xb+a.lg,!0,function(b){a.ob=b});if(!a.ob){a.errorCode=20;b=-1;break}a.cb=0;Mp(a)}while(1);return b}function Mp(a){a.xb++;var b=1-a.lg;a.xb>=a.lb+b&&(a.xb=b,a.jb++,a.jb>=a.sb&&(a.jb=0,a.ae++))}m.Vl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128<a&&(this.ka=a-128);return!0};m.Wl=function(){var a;(a=this.F.G>>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1};
var tp={800:pp.prototype.Tl,801:pp.prototype.Ul,802:pp.prototype.Sl},sp={496:pp.prototype.zk,497:pp.prototype.$k,498:pp.prototype.bl,499:pp.prototype.cl,500:pp.prototype.Yk,501:pp.prototype.Xk,502:pp.prototype.Zk,503:pp.prototype.dl},vp={800:pp.prototype.hn,801:pp.prototype.mn,802:pp.prototype.kn,803:pp.prototype.jn,807:pp.prototype.hi,811:pp.prototype.hi,815:pp.prototype.hi},up={496:pp.prototype.qm,497:pp.prototype.vm,498:pp.prototype.tm,499:pp.prototype.um,500:pp.prototype.pm,501:pp.prototype.om,
502:pp.prototype.rm,503:pp.prototype.nm,1014:pp.prototype.sm};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new pp(d);mb(d,c)}});
function Np(a){Ua.call(this,"Debugger",a,Np);this.pa=this.za=this.fa=0;this.Ja=4;this.Ba=5;this.Ca=1048575;this.Y=Op(this);this.Db=Op(this);this.U=-1;this.L=[];this.Ea=!1;this.ua=Op(this);this.B=[];this.wa={};this.A=this.sa=this.ga=[];Pp(this);this.Na=0;Qp(this);this.Ya=[];Rp(this,a.messages);this.fb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return Sp(b,a)}):void 0===global.$&&(global.$=function(a){return Sp(b,a)})}db(Np);
var Tp={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Up=[26,28,40,42,109],Vp={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Wp="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
Xp="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
Yp=["VALID","ZERO ","SPEC ","EMPTY"],Zp=[8086,80186,80286,80386],$p=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2","DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],aq="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),bq={cpu:1,seg:2,desc:4,tss:8,"int":16,fault:32,
bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,hdc:1048576,disk:2097152,parallel:4194304,serial:8388608,mouse:16777216,speaker:33554432,computer:67108864,dos:134217728,data:268435456,log:536870912,warn:1073741824,halt:-2147483648},cq=[0,0],dq=[176,12291],eq=[[6,12417,4273],[6,12420,4276],[6,12465,4225],[6,12468,4228],[6,12385,4097],[6,14436,4100],[108,4211],[103,8307],[99,12417,4273],[99,12420,4276],
m.rm=function(a,b,c){x(this,a,b,c,"DRVHD");this.sa=b;this.ma=this.A[this.sa&16?1:0]?this.ma|80:this.ma&-65};m.dl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.nm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);Gp(this)};m.sm=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.W=1);this.ga=b};
function Gp(a){var b=!1,c=a.Ea,d=a.sa&16?1:0,e=a.sa&15,f=a.za|(a.wa&3)<<8,g=a.Ba,h=a.Y||256;a.gb=-1;a.B=null;a.W=0;a.ma=80;var k=a.A[d];k?(k.ae=f,k.jb=e,k.xb=g,k.Hb=h*k.Ua,c=144<=c?c:c&240,k.ob=null,k.cb=0,k.errorCode=0,a.gb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Cp(k,function(b){0<=b&&a.N?(Dp(a),a.ma=88):(a.ma=1,a.W=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.W=1;b=!0;break;case 145:k.tb=e+1,k.lb=h,b=!0}b&&Dp(a)}
function Dp(a){!a.N||a.ga&2||eg(a.N,14,120)}
function Ap(a){a.L=0;var b=Hp(a),c=Hp(a),d=c&32,e=d>>5,f=c&31,g=Hp(a),h=Hp(a),k=g<<2&768|h,l=g&63,n=Hp(a),q=Hp(a),p=a.A[e];p&&(p.ae=k,p.jb=f,p.xb=l,p.Hb=n*p.Ua);switch(b){case 3:Ip(a,p?p.errorCode:4);Jp(a,c);Jp(a,g);Jp(a,h);Jp(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Hp(a));)p&&c<p.Oe.length&&(p.Oe[c++]=b);p&&zp(a,p);b=0;p||a.ka!=e||(a.ka=-1,b=2);Ip(a,b|d);b=-1;break;case 224:case 228:Ip(a,0|d),b=-1}if(0<=b)switch(void 0===p?b=-1:(p.errorCode=0,p.kk=0),b){case 0:Ip(a,0|d);break;case 1:p.Bf=q;Ip(a,
0|d);break;case 5:Ip(a,0|d);break;case 8:Kp(a,p,function(b){Ip(a,b|d)});break;case 10:Lp(a,p,function(b){Ip(a,b|d)});break;case 15:Mp(a,p,function(b){Ip(a,b|d)});break;default:Ip(a,2|d)}}function Hp(a){var b=-1;a.L<a.C&&(b=a.V[a.L++]);return b}function Ip(a,b){a.L=a.C=0;void 0!==b&&Jp(a,b);a.N&&eg(a.N,5);a.ma|=32}function Jp(a,b){a.V[a.C++]=b}m.xk=function(a,b,c){void 0===b||0>b?Cp(a,c):c(-1,!1)};m.yk=function(a,b){return void 0!==b&&0<=b?Fp(a,b):-1};
m.Lk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.cb<a.Pe.length?a.Pe[a.cb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};m.Mk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.kd[a.Te++]=c;if(a.Te==a.kd.length){a.ae=a.kd[0];a.jb=a.kd[1];a.xb=a.kd[2];a.Hb=128<<a.kd[3];for(var d=a.Te=0;d<a.Hb;d++)if(0>Fp(a,a.zi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};
function Kp(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;ll(a.N,3,a,"dmaRead",b);el(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function Lp(a,b,c){b.errorCode=4;if(b.ya&&(b.ob=null,a.N)){b.errorCode=0;ll(a.N,3,a,"dmaWrite",b);el(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function Mp(a,b,c){b.errorCode=4;b.Pe&&b.Pe.length==b.Hb||(b.Pe=Array(b.Hb));b.cb=0;a.N?(b.errorCode=0,ll(a.N,3,a,"dmaWriteBuffer",b),el(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
function Cp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.ob&&(f=a.cb,d=a.ya.read(a.ob,a.cb),a.cb+=g,0<=d))return e=a.ob,b&&b(d,!1,e,f),d;if(b){if(a.ya)return a.ya.seek(a.ae,a.jb,a.xb+a.lg,!1,function(c,k){(a.ob=c)?(e=c,f=a.cb=0,Np(a),d=a.ya.read(a.ob,a.cb),a.cb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
function Fp(a,b){if(a.errorCode)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ya&&a.ya.seek(a.ae,a.jb,a.xb+a.lg,!0,function(b){a.ob=b});if(!a.ob){a.errorCode=20;b=-1;break}a.cb=0;Np(a)}while(1);return b}function Np(a){a.xb++;var b=1-a.lg;a.xb>=a.lb+b&&(a.xb=b,a.jb++,a.jb>=a.tb&&(a.jb=0,a.ae++))}m.Vl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128<a&&(this.ka=a-128);return!0};m.Wl=function(){var a;(a=this.F.G>>8||!this.N)||(a=!(this.N.vc[0].Ad&64));return a?!0:!1};
var up={800:qp.prototype.Tl,801:qp.prototype.Ul,802:qp.prototype.Sl},tp={496:qp.prototype.zk,497:qp.prototype.$k,498:qp.prototype.bl,499:qp.prototype.cl,500:qp.prototype.Yk,501:qp.prototype.Xk,502:qp.prototype.Zk,503:qp.prototype.dl},wp={800:qp.prototype.hn,801:qp.prototype.mn,802:qp.prototype.kn,803:qp.prototype.jn,807:qp.prototype.hi,811:qp.prototype.hi,815:qp.prototype.hi},vp={496:qp.prototype.qm,497:qp.prototype.vm,498:qp.prototype.tm,499:qp.prototype.um,500:qp.prototype.pm,501:qp.prototype.om,
502:qp.prototype.rm,503:qp.prototype.nm,1014:qp.prototype.sm};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new qp(d);mb(d,c)}});
function Op(a){Ua.call(this,"Debugger",a,Op);this.pa=this.za=this.fa=0;this.Ja=4;this.Ba=5;this.Ca=1048575;this.Y=Pp(this);this.Db=Pp(this);this.U=-1;this.L=[];this.Ea=!1;this.ua=Pp(this);this.B=[];this.wa={};this.A=this.sa=this.ga=[];Qp(this);this.Na=0;Rp(this);this.Ya=[];Sp(this,a.messages);this.fb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return Tp(b,a)}):void 0===global.$&&(global.$=function(a){return Tp(b,a)})}db(Op);
var Up={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Vp=[26,28,40,42,109],Wp={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Xp="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
Yp="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
Zp=["VALID","ZERO ","SPEC ","EMPTY"],$p=[8086,80186,80286,80386],aq=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2","DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],bq="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),cq={cpu:1,seg:2,desc:4,tss:8,"int":16,fault:32,
bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,hdc:1048576,disk:2097152,parallel:4194304,serial:8388608,mouse:16777216,speaker:33554432,computer:67108864,dos:134217728,data:268435456,log:536870912,warn:1073741824,halt:-2147483648},dq=[0,0],eq=[176,12291],fq=[[6,12417,4273],[6,12420,4276],[6,12465,4225],[6,12468,4228],[6,12385,4097],[6,14436,4100],[108,4211],[103,8307],[99,12417,4273],[99,12420,4276],
[99,12465,4225],[99,12468,4228],[99,12385,4097],[99,14436,4100],[108,4467],[103,8563],[5,12417,4273],[5,12420,4276],[5,12465,4225],[5,12468,4228],[5,12385,4097],[5,14436,4100],[108,4723],[103,8819],[120,12417,4273],[120,12420,4276],[120,12465,4225],[120,12468,4228],[120,12385,4097],[120,14436,4100],[108,4979],[103,9075],[7,12417,4273],[7,12420,4276],[7,12465,4225],[7,12468,4228],[7,12385,4097],[7,14436,4100],[35,8],[29],[154,12417,4273],[154,12420,4276],[154,12465,4225],[154,12468,4228],[154,12385,
4097],[154,14436,4100],[27,8],[30],[162,12417,4273],[162,12420,4276],[162,12465,4225],[162,12468,4228],[162,12385,4097],[162,14436,4100],[147,8],[1],[24,4225,4273],[24,4228,4276],[24,4273,4225],[24,4276,4228],[24,4193,4097],[24,6244,4100],[33,8],[4],[44,14436],[44,14692],[44,14948],[44,15204],[44,15460],[44,15716],[44,15972],[44,16228],[31,14436],[31,14692],[31,14948],[31,15204],[31,15460],[31,15716],[31,15972],[31,16228],[108,6244],[108,6500],[108,6756],[108,7012],[108,7268],[108,7524],[108,7780],
[108,8036],[103,10340],[103,10596],[103,10852],[103,11108],[103,11364],[103,11620],[103,11876],[103,12132],[107,32768],[104,32768],[10,37044,4228],[8,8323,4275],[37,49160],[38,49160],[100,49160],[9,49160],[108,36868],[42,45235,4228,4100],[108,36866],[42,41139,4228,4097],[45,41041,6756],[45,41044,6756],[102,39524,4161],[102,39524,4164],[64,4145],[60,4145],[51,4145],[59,4145],[67,4145],[63,4145],[50,4145],[58,4145],[66,4145],[62,4145],[65,4145],[61,4145],[55,4145],[54,4145],[56,4145],[53,4145],[163,
12417,4097],[164,12420,4100],[163,12417,4097],[165,12420,4097],[155,4225,4273],[155,4228,4276],[160,12465,12417],[160,12468,12420],[90,8321,4273],[90,8324,4276],[90,8369,4225],[90,8372,4228],[90,8324,4291],[71,8372,148],[90,8387,4228],[103,8324],[97],[160,14436,14692],[160,14436,14948],[160,14436,15204],[160,14436,15460],[160,14436,15716],[160,14436,15972],[160,14436,16228],[18],[28],[17,4103],[158],[106],[105],[117],[68],[90,8289,4129],[90,10340,4132],[90,8225,4193],[90,8228,6244],[91,8273,4161],
[92,8276,4164],[25,4177,4161],[26,4180,4164],[155,4193,4097],[155,6244,4100],[151,8273,4193],[152,8276,6244],[82,8289,4161],[83,10340,4164],[121,4193,4177],[122,6244,4180],[90,8289,4097],[90,8545,4097],[90,8801,4097],[90,9057,4097],[90,9313,4097],[90,9569,4097],[90,9825,4097],[90,10081,4097],[90,10340,4100],[90,10596,4100],[90,10852,4100],[90,11108,4100],[90,11364,4100],[90,11620,4100],[90,11876,4100],[90,12132,4100],[166,28801,4097],[167,28804,4097],[113,4099],[113],[73,8372,4246],[70,8372,4246],
[90,8321,4097],[90,8324,4100],[34,36867,4097],[72,32768],[114,4099],[114],[47],[46,4097],[48],[49],[168,12417,4113],[169,12420,4113],[170,12417,4449],[171,12420,4449],[3,1],[2,1],[118],[161],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[85,4145],[86,4145],[84,4145],[52,4145],[43,8289,4097],[43,10340,4097],[101,4097,4193],[101,4097,6244],[17,4148],[57,4148],[57,4103],[57,4145],[43,8289,6759],[43,10340,6759],[101,6759,4193],[101,6759,6244],[81,8],[0],[111,8],[112,
8],[39],[23],[172,12417],[173,12420],[19],[148],[21],[150],[20],[149],[174,12417],[175,12420]],fq={0:[177,12419],1:[178,12419],2:[69,41139,4243],3:[87,41139,4243],5:[80,32768],6:[22,32768],7:[80,49152],32:[90,57509,4309],33:[90,57509,4325],34:[90,57557,4261],35:[90,57573,4261],36:[90,57509,4341],38:[90,57589,4261],128:[64,53300],129:[60,53300],130:[51,53300],131:[59,53300],132:[67,53300],133:[63,53300],134:[50,53300],135:[58,53300],136:[66,53300],137:[62,53300],138:[65,53300],139:[61,53300],140:[55,
8],[39],[23],[172,12417],[173,12420],[19],[148],[21],[150],[20],[149],[174,12417],[175,12420]],gq={0:[177,12419],1:[178,12419],2:[69,41139,4243],3:[87,41139,4243],5:[80,32768],6:[22,32768],7:[80,49152],32:[90,57509,4309],33:[90,57509,4325],34:[90,57557,4261],35:[90,57573,4261],36:[90,57509,4341],38:[90,57589,4261],128:[64,53300],129:[60,53300],130:[51,53300],131:[59,53300],132:[67,53300],133:[63,53300],134:[50,53300],135:[58,53300],136:[66,53300],137:[62,53300],138:[65,53300],139:[61,53300],140:[55,
53300],141:[54,53300],142:[56,53300],143:[53,53300],144:[135,57473],145:[131,57473],146:[124,57473],147:[130,57473],148:[138,57473],149:[134,57473],150:[123,57473],151:[129,57473],152:[137,57473],153:[133,57473],154:[136,57473],155:[132,57473],156:[127,57473],157:[126,57473],158:[128,57473],159:[125,57473],160:[108,54387],161:[103,58483],163:[13,53380,4276],164:[141,57476,4276,4097],165:[141,57476,4276,4449],166:[159,57524,4228,6244,4449],167:[40,57476,6244,4449,4276],168:[108,54643],169:[103,58739],
171:[16,57476,4276],172:[143,57476,4276,4097],173:[143,57476,4276,4449],175:[42,61572,4276],178:[88,8372,4246],179:[15,57476,4276],180:[74,8372,4246],181:[76,8372,4246],182:[94,57524,4225],183:[94,57525,4227],186:[179,61572,4097],187:[14,57476,4276],188:[11,57524,4228],189:[12,57524,4228],190:[93,57524,4225],191:[93,57525,4227]},gq={216:{0:[9,4235],1:[18,4235],2:[34,4235],3:[35,4235],4:[12,4235],5:[15,4235],6:[21,4235],7:[24,4235],48:[9,8297,4202],49:[18,8297,4202],50:[34,8297,4202],51:[35,8297,4202],
171:[16,57476,4276],172:[143,57476,4276,4097],173:[143,57476,4276,4449],175:[42,61572,4276],178:[88,8372,4246],179:[15,57476,4276],180:[74,8372,4246],181:[76,8372,4246],182:[94,57524,4225],183:[94,57525,4227],186:[179,61572,4097],187:[14,57476,4276],188:[11,57524,4228],189:[12,57524,4228],190:[93,57524,4225],191:[93,57525,4227]},hq={216:{0:[9,4235],1:[18,4235],2:[34,4235],3:[35,4235],4:[12,4235],5:[15,4235],6:[21,4235],7:[24,4235],48:[9,8297,4202],49:[18,8297,4202],50:[34,8297,4202],51:[35,8297,4202],
52:[12,8297,4202],53:[15,8297,4202],54:[21,8297,4202],55:[24,8297,4202]},217:{0:[0,4235],2:[1,8331],3:[2,8331],4:[68,4239],5:[59,4227],6:[66,8335],7:[60,8323],48:[0,8298],49:[3,8298],50:[76],51:[2,8298],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,4235],1:[20,4235],2:[37,4235],3:[38,4235],4:[14,4235],5:[17,4235],6:[23,4235],7:[26,4235]},219:{0:[4,
4235],2:[5,8331],3:[6,8331],5:[0,4237],7:[2,8333],64:[57],65:[55],66:[64],67:[53],68:[78,32768],115:[79,49152]},220:{0:[9,4236],1:[18,4236],2:[34,4236],3:[35,4236],4:[12,4236],5:[15,4236],6:[21,4236],7:[24,4236],48:[9,8298,4201],49:[18,8298,4201],50:[34,4202],51:[35,4202],52:[15,8298,4201],53:[12,8298,4201],54:[24,8298,4201],55:[21,8298,4201]},221:{0:[0,4236],2:[1,8332],3:[2,8332],4:[71,4239],6:[69,8335],7:[62,8323],48:[74,4202],49:[3,8298],50:[1,4202],51:[2,4202]},222:{0:[11,4227],1:[20,4227],2:[37,
4227],3:[38,4227],4:[14,4227],5:[17,4227],6:[23,4227],7:[26,4227],48:[10,8298,4201],49:[19,8298,4201],50:[35,4202],51:[36,4202],52:[16,8298,4201],53:[13,8298,4201],54:[25,8298,4201],55:[22,8298,4201]},223:{0:[4,4227],2:[5,8323],3:[6,8323],4:[7,4238],5:[4,4236],6:[8,8334],7:[6,8332],48:[75,4202],49:[3,8298],50:[2,4202],51:[2,4202],52:[80,32768]}},hq=[[[6,12417,4097],[99,12417,4097],[5,12417,4097],[120,12417,4097],[7,12417,4097],[154,12417,4097],[162,12417,4097],[24,4225,4097]],[[6,12420,4100],[99,
12420,4100],[5,12420,4100],[120,12420,4100],[7,12420,4100],[154,12420,4100],[162,12420,4100],[24,4228,4100]],[[6,12420,4098],[99,12420,4098],[5,12420,4098],[120,12420,4098],[7,12420,4098],[154,12420,4098],[162,12420,4098],[24,4228,4098]],[[115,45185,4097],[116,45185,4097],[109,45185,4097],[110,45185,4097],[140,45185,4097],[142,45185,4097],cq,[119,45185,4097]],[[115,45188,4097],[116,45188,4097],[109,45188,4097],[110,45188,4097],[140,45188,4097],[142,45188,4097],cq,[119,45188,4097]],[[115,12417,4113],
[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],cq,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],cq,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],cq,[119,12417,4449]],[[115,12420,4449],[116,12420,4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],cq,[119,12420,4449]],[[155,4225,4097],cq,[98,
12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],cq,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],cq,cq,cq,cq,cq,cq],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],cq],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],cq,cq],[[139,41091],[144,41091],[75,36995],[77,36995],[146,41091],cq,[79,36995],cq],[cq,cq,cq,cq,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];
m=Np.prototype;
m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.da=a;this.mc=Eb(a,"FDC");this.Jb=Eb(a,"HDC");this.Sb=Eb(a,"FPU");this.V=Eb(a,"Mouse");(a=$o(a,"messages"))&&Rp(this,a);this.Ba=b.N>>2;this.Ca=b.wg;this.Ub=new ed(this.F,7,"DBG");this.Ia=eq;80186<=this.F.ia&&(this.Ia=eq.slice(),this.Ia[15]=cq,80286<=this.F.ia&&(this.Ia[15]=dq,80386<=this.F.ia&&(this.Ja=8)));Ck(this,64,function(a){iq(d,d.F.jd,a[0])});Ck(this,128,function(a){iq(d,d.F.ra,a[0],d.F.ra!==d.F.jd)});Ck(this,4,function(a){if(a=a[0]){var b=jq(d,
a);if(void 0===b)d.O("invalid selector: "+a);else if(a=kq(d,b,2),d.O("dumpSel("+u(a?a.ba:b)+"): %"+r(a?a.Yb:null,d.Ba)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=lq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ba)+" limit="+mq(a.Ta))+
" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+" dpl="+t(a.Kc))}}else d.O("no selector")});Ck(this,8,function(a){a:{if(a=a[0]){var b=jq(d,a);if(void 0===b){d.O("invalid task selector: "+a);break a}a=kq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.ba:b)+"): %"+r(a?a.Aa:null,d.Ba));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?nq:oq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+la(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;l<a.$b&&
1023>p;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});Ck(this,134217728,function(a){var b;(a=a[0])&&(b=jq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=Op(d,0,b);var c=d.Qa(a,1),h=d.oa(a,2),k=d.oa(a,5);if(77!=c&&90!=c)break;d.O(pq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+qq(d,a,8)+'"');b+=1+k}});this.C=null;this.pb=0;this.bb=!1;cf(this.F,48,this.Yl.bind(this));cf(this.F,65,this.Zl.bind(this));
this.ka=null;cf(this.F,104,this.$l.bind(this));sb(this)};function rq(a,b,c,d,e,f){b=qq(a,b);var g=kq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=sq(a,b,c);e[b+h]=0;Kl(a,b,c,d,0,null,g,e)}
function tq(a,b,c,d){var e=a.oa(b,2),f=a.oa(b,2),g=a.na(b,4),h=a.na(b,4),k=Op(a,a.na(b,4),a.oa(b,2));b=Op(a,a.na(b,4),a.oa(b,2));b=qq(a,b).toUpperCase();var k=qq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=sq(a,k,e);c[k+l]=g;Kl(a,k,e,f,g,null,h,c)}function uq(a,b,c){c=qq(a,c).toUpperCase();vq(a,c,b)}
m.Yl=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=Op(this,I(a)+12,a.ta.ba);switch(this.na(d)){case 336:tq(this,Op(this,a.H,b),!c,!!this.C)}}return!0};
m.Zl=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Wa.ba;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:rq(this,Op(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:vq(this,null,d);
break;case 127:this.C&&(b.G=b.G&-65536|(this.bb?0:1));break;case 131:this.C&&(a=Op(this,b.M,e),this.pb++?(this.O("TRAPFAULT failed"),wq(this,this.A,a,!0,!0),this.pb=0,this.Xb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+xq(a)),this.Od(this.A,a,!0),Qp(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:tq(this,Op(this,b.H,f),!g,!!this.C);break;case 338:uq(this,d,Op(this,b.J,f))}this.bb=!1;return!this.C};
4227],3:[38,4227],4:[14,4227],5:[17,4227],6:[23,4227],7:[26,4227],48:[10,8298,4201],49:[19,8298,4201],50:[35,4202],51:[36,4202],52:[16,8298,4201],53:[13,8298,4201],54:[25,8298,4201],55:[22,8298,4201]},223:{0:[4,4227],2:[5,8323],3:[6,8323],4:[7,4238],5:[4,4236],6:[8,8334],7:[6,8332],48:[75,4202],49:[3,8298],50:[2,4202],51:[2,4202],52:[80,32768]}},iq=[[[6,12417,4097],[99,12417,4097],[5,12417,4097],[120,12417,4097],[7,12417,4097],[154,12417,4097],[162,12417,4097],[24,4225,4097]],[[6,12420,4100],[99,
12420,4100],[5,12420,4100],[120,12420,4100],[7,12420,4100],[154,12420,4100],[162,12420,4100],[24,4228,4100]],[[6,12420,4098],[99,12420,4098],[5,12420,4098],[120,12420,4098],[7,12420,4098],[154,12420,4098],[162,12420,4098],[24,4228,4098]],[[115,45185,4097],[116,45185,4097],[109,45185,4097],[110,45185,4097],[140,45185,4097],[142,45185,4097],dq,[119,45185,4097]],[[115,45188,4097],[116,45188,4097],[109,45188,4097],[110,45188,4097],[140,45188,4097],[142,45188,4097],dq,[119,45188,4097]],[[115,12417,4113],
[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],dq,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],dq,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],dq,[119,12417,4449]],[[115,12420,4449],[116,12420,4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],dq,[119,12420,4449]],[[155,4225,4097],dq,[98,
12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],dq,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],dq,dq,dq,dq,dq,dq],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],dq],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],dq,dq],[[139,41091],[144,41091],[75,36995],[77,36995],[146,41091],dq,[79,36995],dq],[dq,dq,dq,dq,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];
m=Op.prototype;
m.Gc=function(a,b,c,d){this.ea=b;this.F=c;this.da=a;this.mc=Eb(a,"FDC");this.Jb=Eb(a,"HDC");this.Sb=Eb(a,"FPU");this.V=Eb(a,"Mouse");(a=ap(a,"messages"))&&Sp(this,a);this.Ba=b.N>>2;this.Ca=b.wg;this.Ub=new ed(this.F,7,"DBG");this.Ia=fq;80186<=this.F.ia&&(this.Ia=fq.slice(),this.Ia[15]=dq,80286<=this.F.ia&&(this.Ia[15]=eq,80386<=this.F.ia&&(this.Ja=8)));Ck(this,64,function(a){jq(d,d.F.jd,a[0])});Ck(this,128,function(a){jq(d,d.F.ra,a[0],d.F.ra!==d.F.jd)});Ck(this,4,function(a){if(a=a[0]){var b=kq(d,
a);if(void 0===b)d.O("invalid selector: "+a);else if(a=lq(d,b,2),d.O("dumpSel("+u(a?a.ba:b)+"): %"+r(a?a.Yb:null,d.Ba)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=mq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ba)+" limit="+nq(a.Ta))+
" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+" dpl="+t(a.Kc))}}else d.O("no selector")});Ck(this,8,function(a){a:{if(a=a[0]){var b=kq(d,a);if(void 0===b){d.O("invalid task selector: "+a);break a}a=lq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.ba:b)+"): %"+r(a?a.Aa:null,d.Ba));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?oq:pq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+la(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;l<a.$b&&
1023>p;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});Ck(this,134217728,function(a){var b;(a=a[0])&&(b=kq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=Pp(d,0,b);var c=d.Qa(a,1),h=d.oa(a,2),k=d.oa(a,5);if(77!=c&&90!=c)break;d.O(qq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+rq(d,a,8)+'"');b+=1+k}});this.C=null;this.pb=0;this.bb=!1;cf(this.F,48,this.Yl.bind(this));cf(this.F,65,this.Zl.bind(this));
this.ka=null;cf(this.F,104,this.$l.bind(this));sb(this)};function sq(a,b,c,d,e,f){b=rq(a,b);var g=lq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&z(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=tq(a,b,c);e[b+h]=0;Kl(a,b,c,d,0,null,g,e)}
function uq(a,b,c,d){var e=a.oa(b,2),f=a.oa(b,2),g=a.na(b,4),h=a.na(b,4),k=Pp(a,a.na(b,4),a.oa(b,2));b=Pp(a,a.na(b,4),a.oa(b,2));b=rq(a,b).toUpperCase();var k=rq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&z(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=tq(a,k,e);c[k+l]=g;Kl(a,k,e,f,g,null,h,c)}function vq(a,b,c){c=rq(a,c).toUpperCase();wq(a,c,b)}
m.Yl=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=Pp(this,I(a)+12,a.ta.ba);switch(this.na(d)){case 336:uq(this,Pp(this,a.H,b),!c,!!this.C)}}return!0};
m.Zl=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Wa.ba;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:sq(this,Pp(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:wq(this,null,d);
break;case 127:this.C&&(b.G=b.G&-65536|(this.bb?0:1));break;case 131:this.C&&(a=Pp(this,b.M,e),this.pb++?(this.O("TRAPFAULT failed"),xq(this,this.A,a,!0,!0),this.pb=0,this.Xb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+yq(a)),this.Od(this.A,a,!0),Rp(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:uq(this,Pp(this,b.H,f),!g,!!this.C);break;case 338:vq(this,d,Pp(this,b.J,f))}this.bb=!1;return!this.C};
m.$l=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Wa.ba;if(null==this.ka){if(67==d){if(609437257==b.na((b.va.ba<<4)+10)||1111835735==b.na((b.va.ba<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=gd(b.va,this.Gk.bind(this)))&&
(b.J=a[0],wd(b,a[1]));break;case 72:vq(this,null,e);break;case 80:32==c?rq(this,Op(this,h,k),0,f,!0,!!this.ka):128>c?rq(this,Op(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):tq(this,Op(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Gk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1};
m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Sp(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U<d.L.length-1&&(b=d.L[++d.U]):40==a.keyCode&&(0<d.U?b=d.L[--d.U]:(b="",d.U=-1)),null!=b){var g=b.length;c.value=b;c.setSelectionRange(g,g)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.qa[b]=c,Ka(c,function(){if(d.Ka){var a=d.Ka.value;d.Ka.value=
"";Sp(d,a,!0);return!0}return!1}),!0;case "step":return this.qa[b]=c,Ka(c,function(a){var b=!1;rb(d,!0)||(qb(d,!0),b=d.tf(a?1:0),qb(d,!1));return b}),!0}return!1};m.Tc=function(){this.Ka&&this.Ka.focus()};function yq(a){return a.F&&!!(a.F.ab&1)&&!(a.F.aa&131072)}
function kq(a,b,c){var d=yq(a)?2:1;c||(c=d);if(c==d){if(b===a.F.va.ba)return a.F.va;if(b===a.F.ub.ba)return a.F.ub;if(b===a.F.Wa.ba)return a.F.Wa;if(b===a.F.ta.ba)return a.F.ta;if(80386<=a.F.ia){if(b===a.F.Nb.ba)return a.F.Nb;if(b===a.F.Ob.ba)return a.F.Ob}if(a.eb&&2==c||!a.Ub)return null}a=a.Ub;if(2!=c)a.mh(b),a.Ta=65535,a.$b=65536;else{var e;c=a.F;b=b&65535;b&4?(d=c.Bc.Aa,e=d+c.Bc.Ta|0):(d=c.Dc,e=c.zd);d=d+(b&65528)|0;if(e-d|0){e=If(c,d+0,2);var f=If(c,d+4,2),g=f&7936,h=If(c,d+2,2)|(f&255)<<16,
k=If(c,d+6,2);80386<=c.ia&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.ba=b;a.Aa=h;a.Ta=e;a.$b=(e>>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Yb=d;fd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=kq(this,a.ba,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Yb||e.bd&&(b>>>0)+c>e.$b||!e.bd&&(b>>>0)+c<=e.$b?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&zq(this,a,b));return c};
m.rb=function(a,b){return a.Rb?this.na(a,b?4:0):this.oa(a,b?2:0)};m.oa=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&zq(this,a,b));return c};m.na=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&zq(this,a,b));return c};m.sc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.sc(d,b);else{var e=this.ea;e.ra[(d&e.Gb)>>>e.La].uf(d&e.A,b&255,d)}c&&zq(this,a,c);Pc(this.F,!0)}};
m.ib=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.ib(d,b):fc(this.ea,d,b),c&&zq(this,a,c),Pc(this.F,!0))};function Op(a,b,c,d,e,f,g){return Aq(a,{},b,c,d,e,f,g)}function Aq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.ba=d;b.Da=e;b.type=f||(yq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.Z;b.rc=null!=h?h:a.F&&4==a.F.va.Mc;b.Td=!1;return b}function Bq(a){return[a.Ra,a.ba,a.Da,a.Td,a.Rb,a.rc,a.Qe,a.Sd]}function Cq(a){return{Ra:a[0],ba:a[1],Da:a[2],Td:a[3],Rb:a[4],rc:a[5],Qe:a[6],Sd:a[7]}}
function Dq(a,b,c){if(null!=b.ba&&(a=kq(a,b.ba,b.type))){var d=b.Ra&a.Ca;if(!a.bd){if(d>>>0>=a.$b)return!1}else if(d>>>0<a.$b)return!1;c&&(b.Ra=d,b.Rb=4==a.Z,b.rc=4==a.Mc)}return!0}
function Eq(a,b,c,d){var e,f=c?a.Y:a.Db;c=d?0:f.type;var g=f.Ra,h=f.ba,f=f.Da;if(void 0!==b){b=Fq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;h=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var l=e.toUpperCase(),n=0;n<a.B.length;n++){e=a.B[n];var q=e.Nd[l];if(void 0!==q){l=q.o;void 0!==l&&(k=q.s,void 0===k&&(k=e.ba),k=Op(a,l,k,q.p));
break}}if(e=k)return e;0>f?null!=h?(g=Gq(a,b,void 0),f=null):(f=Gq(a,b,void 0),null==f&&(g=null)):(h=Gq(a,b.substring(0,f),void 0),g=Gq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=Op(a,g,h,f,c),d||Dq(a,e,!0)||(a.O("invalid offset: "+xq(e)),e=null));return e}function Hq(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ck=Iq(a,b.hk=c[2]))}function zq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.ba&&(b.Ra+=c,Dq(a,b)||(b.Ra=0,b.Da=null))}
function pq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function xq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.ba?"":"%"}return 4<=a.type||null==a.ba?b+r(a.Da):b+pq(a.Ra,a.ba,a.rc)}function qq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Qa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function iq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.dc(Eq(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],6==c&&(d=d.Bd,h+=" -> "+wc[d.type]),d&&a.O(r(d.id)+" %"+r(f<<a.F.La)+" %%"+r(d.Da)+" "+u(d.Le)+" "+u(d.size)+" "+h),c!=
vc&&5!=c&&(c=-1),h=0),e+=a.F.Mb,f++}function Jq(a,b,c){a=r(a)+" "+r(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
var lq={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},nq={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,
TASK_LDT:42},oq={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,TASK_IOPM:100};
function sq(a,b,c){var d=[],e;for(e=null;e=Eb(a.da,"Disk",e);){var f=e,g=b,h=c,d=[];if(f.C)for(var k=0;k<f.C.length;k++){var l=f.C[k];if(l.fg==g&&(l=l.yd[h])){for(var n in l.se)f=l.se[n],d[f[1]]=f[0];break}}if(d.length)break}return d}function Rp(a,b){a.ha=a;a.wc=a.Fk=1073741824;a.Pa=null;var c=Iq(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in bq)0<=ua(c,d)&&(a.wc|=bq[d],a.O(d+" messages enabled"));Qp(a)}
function Ck(a,b,c){for(var d in bq)if(b==bq[d]){a.Ya[d]=c;break}}function Kq(a,b){var c;a=a.toUpperCase();null==b?c=ua($p,a):(c=ua($p,a.substr(b,3)),0>c&&(c=ua($p,a.substr(b,2))));return c}
function Lq(a,b){var c=0,d=Mq(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"}
function Mq(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=xd(d);break;
(b.J=a[0],wd(b,a[1]));break;case 72:wq(this,null,e);break;case 80:32==c?sq(this,Pp(this,h,k),0,f,!0,!!this.ka):128>c?sq(this,Pp(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):uq(this,Pp(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Gk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1};
m.Pb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Tp(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U<d.L.length-1&&(b=d.L[++d.U]):40==a.keyCode&&(0<d.U?b=d.L[--d.U]:(b="",d.U=-1)),null!=b){var g=b.length;c.value=b;c.setSelectionRange(g,g)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.qa[b]=c,Ka(c,function(){if(d.Ka){var a=d.Ka.value;d.Ka.value=
"";Tp(d,a,!0);return!0}return!1}),!0;case "step":return this.qa[b]=c,Ka(c,function(a){var b=!1;rb(d,!0)||(qb(d,!0),b=d.tf(a?1:0),qb(d,!1));return b}),!0}return!1};m.Tc=function(){this.Ka&&this.Ka.focus()};function zq(a){return a.F&&!!(a.F.ab&1)&&!(a.F.aa&131072)}
function lq(a,b,c){var d=zq(a)?2:1;c||(c=d);if(c==d){if(b===a.F.va.ba)return a.F.va;if(b===a.F.ub.ba)return a.F.ub;if(b===a.F.Wa.ba)return a.F.Wa;if(b===a.F.ta.ba)return a.F.ta;if(80386<=a.F.ia){if(b===a.F.Nb.ba)return a.F.Nb;if(b===a.F.Ob.ba)return a.F.Ob}if(a.eb&&2==c||!a.Ub)return null}a=a.Ub;if(2!=c)a.mh(b),a.Ta=65535,a.$b=65536;else{var e;c=a.F;b=b&65535;b&4?(d=c.Bc.Aa,e=d+c.Bc.Ta|0):(d=c.Dc,e=c.zd);d=d+(b&65528)|0;if(e-d|0){e=If(c,d+0,2);var f=If(c,d+4,2),g=f&7936,h=If(c,d+2,2)|(f&255)<<16,
k=If(c,d+6,2);80386<=c.ia&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.ba=b;a.Aa=h;a.Ta=e;a.$b=(e>>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Yb=d;fd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=lq(this,a.ba,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Yb||e.bd&&(b>>>0)+c>e.$b||!e.bd&&(b>>>0)+c<=e.$b?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Aq(this,a,b));return c};
m.sb=function(a,b){return a.Rb?this.na(a,b?4:0):this.oa(a,b?2:0)};m.oa=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Aq(this,a,b));return c};m.na=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Aq(this,a,b));return c};m.sc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.sc(d,b);else{var e=this.ea;e.ra[(d&e.Gb)>>>e.La].uf(d&e.A,b&255,d)}c&&Aq(this,a,c);Pc(this.F,!0)}};
m.ib=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.ib(d,b):fc(this.ea,d,b),c&&Aq(this,a,c),Pc(this.F,!0))};function Pp(a,b,c,d,e,f,g){return Bq(a,{},b,c,d,e,f,g)}function Bq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.ba=d;b.Da=e;b.type=f||(zq(a)?2:1);b.Rb=null!=g?g:a.F&&4==a.F.va.Z;b.rc=null!=h?h:a.F&&4==a.F.va.Mc;b.Td=!1;return b}function Cq(a){return[a.Ra,a.ba,a.Da,a.Td,a.Rb,a.rc,a.Qe,a.Sd]}function Dq(a){return{Ra:a[0],ba:a[1],Da:a[2],Td:a[3],Rb:a[4],rc:a[5],Qe:a[6],Sd:a[7]}}
function Eq(a,b,c){if(null!=b.ba&&(a=lq(a,b.ba,b.type))){var d=b.Ra&a.Ca;if(!a.bd){if(d>>>0>=a.$b)return!1}else if(d>>>0<a.$b)return!1;c&&(b.Ra=d,b.Rb=4==a.Z,b.rc=4==a.Mc)}return!0}
function Fq(a,b,c,d){var e,f=c?a.Y:a.Db;c=d?0:f.type;var g=f.Ra,h=f.ba,f=f.Da;if(void 0!==b){b=Gq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;h=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var l=e.toUpperCase(),n=0;n<a.B.length;n++){e=a.B[n];var q=e.Nd[l];if(void 0!==q){l=q.o;void 0!==l&&(k=q.s,void 0===k&&(k=e.ba),k=Pp(a,l,k,q.p));
break}}if(e=k)return e;0>f?null!=h?(g=Hq(a,b,void 0),f=null):(f=Hq(a,b,void 0),null==f&&(g=null)):(h=Hq(a,b.substring(0,f),void 0),g=Hq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=Pp(a,g,h,f,c),d||Eq(a,e,!0)||(a.O("invalid offset: "+yq(e)),e=null));return e}function Iq(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ck=Jq(a,b.hk=c[2]))}function Aq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.ba&&(b.Ra+=c,Eq(a,b)||(b.Ra=0,b.Da=null))}
function qq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)}function yq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.ba?"":"%"}return 4<=a.type||null==a.ba?b+r(a.Da):b+qq(a.Ra,a.ba,a.rc)}function rq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Qa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function jq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.dc(Fq(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=wc[c],6==c&&(d=d.Bd,h+=" -> "+wc[d.type]),d&&a.O(r(d.id)+" %"+r(f<<a.F.La)+" %%"+r(d.Da)+" "+u(d.Le)+" "+u(d.size)+" "+h),c!=
vc&&5!=c&&(c=-1),h=0),e+=a.F.Mb,f++}function Kq(a,b,c){a=r(a)+" "+r(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
var mq={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},oq={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,
TASK_LDT:42},pq={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,TASK_IOPM:100};
function tq(a,b,c){var d=[],e;for(e=null;e=Eb(a.da,"Disk",e);){var f=e,g=b,h=c,d=[];if(f.C)for(var k=0;k<f.C.length;k++){var l=f.C[k];if(l.fg==g&&(l=l.yd[h])){for(var n in l.se)f=l.se[n],d[f[1]]=f[0];break}}if(d.length)break}return d}function Sp(a,b){a.ha=a;a.wc=a.Fk=1073741824;a.Pa=null;var c=Jq(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in cq)0<=ua(c,d)&&(a.wc|=cq[d],a.O(d+" messages enabled"));Rp(a)}
function Ck(a,b,c){for(var d in cq)if(b==cq[d]){a.Ya[d]=c;break}}function Lq(a,b){var c;a=a.toUpperCase();null==b?c=ua(aq,a):(c=ua(aq,a.substr(b,3)),0>c&&(c=ua(aq,a.substr(b,2))));return c}
function Mq(a,b){var c=0,d=Nq(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"}
function Nq(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=xd(d);break;
case 16:c=d.Wa.ba;break;case 17:c=d.va.ba;break;case 18:c=d.ta.ba;break;case 19:c=d.ub.ba;break;default:if(80286==a.F.ia)32==b&&(c=d.ab);else if(80386<=a.F.ia)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.ab;break;case 33:c=d.ki;break;case 34:c=d.pe;break;case 35:c=d.Md;break;case 20:c=d.Nb.ba;break;case 21:c=d.Ob.ba;break;case 56:c=K(d)}}}return c}
function Nq(a,b){b=Fq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Kq(b,c+1),0<=e&&(b=b.substr(0,c)+Lq(a,e)+b.substr(c+1+$p[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Eq(a,e))?(d=e+' "'+qq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Eq(a,e))?(zq(a,d),d=e+
' "'+qq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=Np.prototype;m.message=function(a,b){b&&(a+=" at "+xq(Op(this,K(this.F),this.F.va.ba))+" (%"+r(this.F.Ha)+")");if(!this.Pa||a!=this.Pa)if(this.O(a),this.Pa=a,this.F){this.wc&-2147483648&&this.Xb();var c=this.F;c.X.jf=0;c.eb-=c.A;c.A=0;Pc(c)}};
function gk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Up.indexOf(b),!d)){var g=Tp[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=zb[b])&&g[e]||"")&&(g=" "+Nq(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+pq(c-2-a.F.va.Aa,a.F.va.ba)+g));return d}
function pb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.ba,e-=a.F.va.Aa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+pq(e,h):""))}m.ih=function(){this.O("Type ? for help with PCjs Debugger commands");this.od();if(this.fb){var a=this.fb;this.fb=null;Sp(this,a)}};
function Qp(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c<a.ja.length;c++)a.ja[c]=Op(a);a.Fa=0;b||a.O("instruction history buffer allocated")}if(!a.W||!a.W.length)for(a.W=Array(256),c=0;c<a.W.length;c++)a.W[c]=[c,0]}else a.ja&&a.ja.length&&!b&&a.O("instruction history buffer freed"),a.Fa=0,a.ja=[],a.W=[]}m.Ie=function(a){if(!Oq(this))return!1;this.F.Ie(a);return!0};
m.tf=function(a,b,c){if(!Oq(this))return!1;this.fa=0;do{a||Tf(this)&&Wf(this,this.F.Ha,0);try{var d=this.F.tf(a);0<d&&(this.fa+=d,$c(this.F,d,!0),Uc(this.F,d),this.pa++)}catch(f){if("number"!=typeof f){var e=f;this.fa=0;ub(this.F,e.stack||e.message)}}}while(this.F.S&3312);!1!==c&&Pc(this.F);this.od(b||!1);return 0<this.fa};m.Xb=function(a){this.F&&this.F.Xb(a)};m.od=function(a){void 0===a&&(a=!0);this.Y=Op(this,K(this.F),this.F.va.ba);a&&1!=this.N?Pq(this):Qq(this)};
function Oq(a){var b;if(b=a.F&&tb(a.F))b=a.F,b.la.cc?b=!0:(b.O(b.toString()+" not powered"),b=!1);b&&!rb(a.F)?(a=a.F,a.la.ud?(a.O(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.ic=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.hc=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Qp(this);this.pa=this.za=0;this.Pa=null;this.fa=0;this.Y=Op(this,K(this.F),this.F.va.ba);this.la.Ib=!1;Rq(this);a||this.od()};
m.save=function(){var a=new hf(this);N(a,0,Bq(this.Y));N(a,1,Bq(this.ua));N(a,2,[this.L,this.Ea,this.wc]);N(a,3,this.B);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.Y=Cq(a[b++]),this.ua=Cq(a[b++]),this.L=a[b][0],"string"==typeof this.L&&(this.L=[this.L]),this.Ea=a[b][1],this.wc|=a[b][2]);a[3]&&(this.B=a[3]);return!0};m.start=function(a,b){this.N||this.O("running");this.la.Ib=!0;this.nc=a;this.xd=b};
m.stop=function(a,b){if(this.la.Ib){this.la.Ib=!1;this.fa=b-this.xd;if(!this.N){var c="stopped";if(this.fa){var d=a-this.nc,e=0<d?Math.round(1E3*this.fa/d):0,c=c+" (";Tf(this)&&(c+=this.pa+" opcodes, ",this.za-=this.pa,this.pa=0);c+=this.fa+" cycles, "+d+" ms, "+e+" hz)"}this.O(c)}this.od(!0);this.Tc();Rq(this,this.F.Ha)}};function Tf(a){return 1<a.A.length||!!a.Na||z(a,16)}
function Wf(a,b,c){var d=a.F;if(0<c&&(a.Na&&!--a.Na||Sq(a,b,1,a.A)))return!0;0<=c&&a.W.length&&(a.pa++,b=If(d,b),null!=b&&(a.W[b][1]++,Aq(a,a.ja[a.Fa],K(d),d.va.ba),++a.Fa==a.ja.length&&(a.Fa=0)));return!1}function Cc(a,b,c){return Sq(a,b,c||1,a.sa)?(a.Xb(!0),!0):!1}function Ec(a,b,c){return Sq(a,b,c||1,a.ga)?(a.Xb(!0),!0):!1}function jc(a,b,c){a.O("break on input from port "+u(b)+": "+r(c));a.Xb(!0)}function nc(a,b,c){a.O("break on output to port "+u(b)+": "+r(c));a.Xb(!0)}
function Pp(a){var b,c;a.A=["bp"];if(void 0!==a.sa)for(b=1;b<a.sa.length;b++)c=a.sa[b],re(a.F,a.dc(c),!1,5==c.type);a.sa=["br"];if(void 0!==a.ga)for(b=1;b<a.ga.length;b++)c=a.ga[b],re(a.F,a.dc(c),!0,5==c.type);a.ga=["bw"];a.eb=0}
m.Od=function(a,b,c){var d=!0;c||wq(this,a,b,!1,!0);if(a!=this.A){var e=this.dc(b);if(-1===e)this.O("invalid address: "+xq(b)),d=!1;else{var f=this.F,g=5==b.type;(g?f.jd:f.ra)[e>>>f.La].Od(e&f.Fa,a==this.ga);g&&Vb(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.ba=null),b.Td=!0):(Tq(this,a,a.length-1,"set"),Qp(this)));return d};
function wq(a,b,c,d,e){for(var f=!1,g=Uq(a,a.dc(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Uq(a,a.dc(k))||-1===g&&c.ba==k.ba&&c.Ra==k.Ra)if(!d||k.Td){f=!0;k.Td||e||Tq(a,b,h,"cleared");b.splice(h,1);b!=a.A&&re(a.F,g,b==a.ga,5==k.type);k.Td||Qp(a);break}}return f}function Vq(a,b){for(var c=1;c<b.length;c++)Tq(a,b,c);return b.length-1}function Tq(a,b,c,d){c=b[c];a.O(b[0]+" "+xq(c)+(d?" "+d:c.hk?' "'+c.hk+'"':""))}
function Rq(a,b){if(void 0!==b)Sq(a,b,1,a.A,!0),a.N=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.Td){if(!wq(a,a.A,d,!0))break;c=0}}}function Uq(a,b){if(-1!==b){var c=a.Ca&-65536;(b&c)==c&&(b&=1048575)}return b}
function Sq(a,b,c,d,e){var f=!1;if(!a.eb++){b=Uq(a,b);z(a,-2147483632)&&204==If(a.F,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Td){null!=h.ba&&(h.Da=null);for(var k=Uq(a,a.dc(h)),l=0;l<c;l++)if(b+l==k){var n,f=!0;h.Td&&(wq(a,d,h,!0),e=!0);if(n=h.Ck){for(var f=!1,q=0;q<n.length;q++)if(!Wq(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){f=!0;break}}a.F.la.Ib||(f=!0)}if(f){e||Tq(a,d,g,"hit");break}}}}}a.eb--;return f}
function Xq(a,b,c,d){for(var e=Op(a,b.Ra,b.ba,b.Da,b.type),f=a.Qa(b,1),g=4,h=0,k=!1,l=!1;(102==f||103==f)&&g--;)102==f?k||(b.Rb=!b.Rb,k=!0):l||(b.rc=!b.rc,l=!0),h++,f=a.Qa(b,1);var g=-1,n=Wp,k=a.Ia[f],l=k[0];176==l&&(l=a.Qa(b,1),k=fq[l]||cq,f|=l<<8,l=k[0]);if(36==l){var g=a.Qa(b,1),q;q=null;var p=g>>3&7,A=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=A&&(A=p<<4|g&7);(p=gq[f])&&(q=p[A]);q&&(n=Xp,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=hq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==
function Oq(a,b){b=Gq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Lq(b,c+1),0<=e&&(b=b.substr(0,c)+Mq(a,e)+b.substr(c+1+aq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Fq(a,e))?(d=e+' "'+rq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Fq(a,e))?(Aq(a,d),d=e+
' "'+rq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=Op.prototype;m.message=function(a,b){b&&(a+=" at "+yq(Pp(this,K(this.F),this.F.va.ba))+" (%"+r(this.F.Ha)+")");if(!this.Pa||a!=this.Pa)if(this.O(a),this.Pa=a,this.F){this.wc&-2147483648&&this.Xb();var c=this.F;c.X.jf=0;c.eb-=c.A;c.A=0;Pc(c)}};
function gk(a,b,c,d){var e,f;if(!d&&(d=z(a,1)&&0>Vp.indexOf(b),!d)){var g=Up[b];g&&(d=z(a,g)?!0:524288==g&&z(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=zb[b])&&g[e]||"")&&(g=" "+Oq(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+qq(c-2-a.F.va.Aa,a.F.va.ba)+g));return d}
function pb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.ba,e-=a.F.va.Aa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+qq(e,h):""))}m.ih=function(){this.O("Type ? for help with PCjs Debugger commands");this.od();if(this.fb){var a=this.fb;this.fb=null;Tp(this,a)}};
function Rp(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c<a.ja.length;c++)a.ja[c]=Pp(a);a.Fa=0;b||a.O("instruction history buffer allocated")}if(!a.W||!a.W.length)for(a.W=Array(256),c=0;c<a.W.length;c++)a.W[c]=[c,0]}else a.ja&&a.ja.length&&!b&&a.O("instruction history buffer freed"),a.Fa=0,a.ja=[],a.W=[]}m.Ie=function(a){if(!Pq(this))return!1;this.F.Ie(a);return!0};
m.tf=function(a,b,c){if(!Pq(this))return!1;this.fa=0;do{a||Tf(this)&&Wf(this,this.F.Ha,0);try{var d=this.F.tf(a);0<d&&(this.fa+=d,$c(this.F,d,!0),Uc(this.F,d),this.pa++)}catch(f){if("number"!=typeof f){var e=f;this.fa=0;ub(this.F,e.stack||e.message)}}}while(this.F.S&3312);!1!==c&&Pc(this.F);this.od(b||!1);return 0<this.fa};m.Xb=function(a){this.F&&this.F.Xb(a)};m.od=function(a){void 0===a&&(a=!0);this.Y=Pp(this,K(this.F),this.F.va.ba);a&&1!=this.N?Qq(this):Rq(this)};
function Pq(a){var b;if(b=a.F&&tb(a.F))b=a.F,b.la.cc?b=!0:(b.O(b.toString()+" not powered"),b=!1);b&&!rb(a.F)?(a=a.F,a.la.ud?(a.O(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.ic=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.hc=function(a,b){b&&this.O(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Rp(this);this.pa=this.za=0;this.Pa=null;this.fa=0;this.Y=Pp(this,K(this.F),this.F.va.ba);this.la.Ib=!1;Sq(this);a||this.od()};
m.save=function(){var a=new hf(this);N(a,0,Cq(this.Y));N(a,1,Cq(this.ua));N(a,2,[this.L,this.Ea,this.wc]);N(a,3,this.B);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.Y=Dq(a[b++]),this.ua=Dq(a[b++]),this.L=a[b][0],"string"==typeof this.L&&(this.L=[this.L]),this.Ea=a[b][1],this.wc|=a[b][2]);a[3]&&(this.B=a[3]);return!0};m.start=function(a,b){this.N||this.O("running");this.la.Ib=!0;this.nc=a;this.xd=b};
m.stop=function(a,b){if(this.la.Ib){this.la.Ib=!1;this.fa=b-this.xd;if(!this.N){var c="stopped";if(this.fa){var d=a-this.nc,e=0<d?Math.round(1E3*this.fa/d):0,c=c+" (";Tf(this)&&(c+=this.pa+" opcodes, ",this.za-=this.pa,this.pa=0);c+=this.fa+" cycles, "+d+" ms, "+e+" hz)"}this.O(c)}this.od(!0);this.Tc();Sq(this,this.F.Ha)}};function Tf(a){return 1<a.A.length||!!a.Na||z(a,16)}
function Wf(a,b,c){var d=a.F;if(0<c&&(a.Na&&!--a.Na||Tq(a,b,1,a.A)))return!0;0<=c&&a.W.length&&(a.pa++,b=If(d,b),null!=b&&(a.W[b][1]++,Bq(a,a.ja[a.Fa],K(d),d.va.ba),++a.Fa==a.ja.length&&(a.Fa=0)));return!1}function Cc(a,b,c){return Tq(a,b,c||1,a.sa)?(a.Xb(!0),!0):!1}function Ec(a,b,c){return Tq(a,b,c||1,a.ga)?(a.Xb(!0),!0):!1}function jc(a,b,c){a.O("break on input from port "+u(b)+": "+r(c));a.Xb(!0)}function nc(a,b,c){a.O("break on output to port "+u(b)+": "+r(c));a.Xb(!0)}
function Qp(a){var b,c;a.A=["bp"];if(void 0!==a.sa)for(b=1;b<a.sa.length;b++)c=a.sa[b],re(a.F,a.dc(c),!1,5==c.type);a.sa=["br"];if(void 0!==a.ga)for(b=1;b<a.ga.length;b++)c=a.ga[b],re(a.F,a.dc(c),!0,5==c.type);a.ga=["bw"];a.eb=0}
m.Od=function(a,b,c){var d=!0;c||xq(this,a,b,!1,!0);if(a!=this.A){var e=this.dc(b);if(-1===e)this.O("invalid address: "+yq(b)),d=!1;else{var f=this.F,g=5==b.type;(g?f.jd:f.ra)[e>>>f.La].Od(e&f.Fa,a==this.ga);g&&Vb(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.ba=null),b.Td=!0):(Uq(this,a,a.length-1,"set"),Rp(this)));return d};
function xq(a,b,c,d,e){for(var f=!1,g=Vq(a,a.dc(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Vq(a,a.dc(k))||-1===g&&c.ba==k.ba&&c.Ra==k.Ra)if(!d||k.Td){f=!0;k.Td||e||Uq(a,b,h,"cleared");b.splice(h,1);b!=a.A&&re(a.F,g,b==a.ga,5==k.type);k.Td||Rp(a);break}}return f}function Wq(a,b){for(var c=1;c<b.length;c++)Uq(a,b,c);return b.length-1}function Uq(a,b,c,d){c=b[c];a.O(b[0]+" "+yq(c)+(d?" "+d:c.hk?' "'+c.hk+'"':""))}
function Sq(a,b){if(void 0!==b)Tq(a,b,1,a.A,!0),a.N=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.Td){if(!xq(a,a.A,d,!0))break;c=0}}}function Vq(a,b){if(-1!==b){var c=a.Ca&-65536;(b&c)==c&&(b&=1048575)}return b}
function Tq(a,b,c,d,e){var f=!1;if(!a.eb++){b=Vq(a,b);z(a,-2147483632)&&204==If(a.F,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Td){null!=h.ba&&(h.Da=null);for(var k=Vq(a,a.dc(h)),l=0;l<c;l++)if(b+l==k){var n,f=!0;h.Td&&(xq(a,d,h,!0),e=!0);if(n=h.Ck){for(var f=!1,q=0;q<n.length;q++)if(!Xq(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){f=!0;break}}a.F.la.Ib||(f=!0)}if(f){e||Uq(a,d,g,"hit");break}}}}}a.eb--;return f}
function Yq(a,b,c,d){for(var e=Pp(a,b.Ra,b.ba,b.Da,b.type),f=a.Qa(b,1),g=4,h=0,k=!1,l=!1;(102==f||103==f)&&g--;)102==f?k||(b.Rb=!b.Rb,k=!0):l||(b.rc=!b.rc,l=!0),h++,f=a.Qa(b,1);var g=-1,n=Xp,k=a.Ia[f],l=k[0];176==l&&(l=a.Qa(b,1),k=gq[l]||dq,f|=l<<8,l=k[0]);if(36==l){var g=a.Qa(b,1),q;q=null;var p=g>>3&7,A=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=A&&(A=p<<4|g&7);(p=hq[f])&&(q=p[A]);q&&(n=Yp,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=iq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Rb&&(18==
l?n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Rb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,A=!0,F=1;F<=p;F++){var v,D;v="";D=k[F];if(void 0!==D){null==f&&(f=D>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.rc?"E":"")+"DI]"));var H=D&15;if(0!=H)if(8==H)A=!1;else{var L=D&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,Q="",$a=g>>6,ma=g&7;if(3>$a){var ga=void 0,L=0==n.indexOf("FI");if(!$a&&(!H.rc&&6==ma||H.rc&&5==ma))$a=2;else{if(H.rc)if(4!=
ma)ma+=8;else{var Q=v,ga=$a,Ga=H,Wa=Q.Qa(Ga,1),Ba=Wa>>6,Pb=Wa>>3&7,Wa=Wa&7,va="";if(ga||5!=Wa)va=aq[Wa+8];4!=Pb&&(va&&(va+="+"),va+=aq[Pb+8],Ba&&(va+="*"+(1<<Ba)));ga||5!=Wa||(va&&(va+="+"),va+=r(Q.na(Ga,4)));Q=va}Q||(Q=aq[ma])}1==$a?(ga=v.Qa(H,1),ga&128?(ga=ga<<24>>24,Q+="-"+r(-ga,2)):Q+="+"+r(ga,2)):2==$a&&(Q&&(Q+="+"),H.rc?(ga=v.na(H,4),Q+=r(ga)):(ga=v.oa(H,2),Q+=r(ga,4)));Q="["+Q+"]";if(1==V){v="";D&=15;4==D&&(D=H.Rb?5:3);switch(D){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16";
break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(Q=v+" "+Q)}}else Q=Yq(v,ma,D,H);v=Q}else v=160==L?Yq(a,g&7,D,b):Yq(a,g>>3&7,D,b);else if(16==L)v="1";else if(0==L){v=a;H=D;L=b;D=" ";switch(H&15){case 1:H&12288&&(D=r(v.Qa(L,1),2));break;case 2:D=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){D=r(v.na(L,4));break}case 3:D=r(v.oa(L,2),4);break;case 7:L=
Op(v,v.rb(L,!0),v.oa(L,2),null,L.type,L.Rb,L.rc);D=xq(L);v=Zq(v,L);v[0]&&(D+=" ("+v[0]+")");break;default:D="imm("+u(H)+")"}v=D}else 32==L?(b.rc?(v=8,D=a.na(b,4)):(v=4,D=a.oa(b,2)),v="["+r(D,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.rb(b,!0),D=b.Ra+v&(b.Rb?-1:65535),v=r(D,b.Rb?8:4),D=Zq(a,Op(a,D,b.ba)),D[0]&&(v+=" ("+D[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":Yq(a,(D&3840)>>8,D,b):112==L?v=Yq(a,(D&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0<
q.length&&(q+=",");q+=v||"???"}}}g="";k=xq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=la(g,e.rc?24:16);k+=la(n,8);q&&(k+=" "+q);a.F.ia<Zp[f]&&(c=Zp[f]+" CPU only");c&&A&&(k=la(k,e.rc?74:56)+";"+c,k=a.F.la.We?k+("cycles="+Vc(a.F).toString()+" cs="+r(a.F.X.If)):k+(null!=d?"="+d.toString():""));$q(b,A,h);return k}
function Yq(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return $p[b]}
function ar(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.aa&1024;break;case "I":c=a.F.aa&512;break;case "T":c=a.F.aa&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function mq(a){return r(a,a&-65536?8:4)}function br(a,b){8<=b&&15>=b&&4<a.Ja&&(b+=16);var c=$p[b];32==b&&80286==a.F.ia&&(c="MS");return c+"="+Lq(a,b)+" "}
function cr(a,b,c){return b.lc+"="+r(b.ba,4)+(c?"["+r(b.Aa,a.Ba)+","+mq(b.Ta)+"]":"")}function dr(a,b,c,d,e){return b+"="+(null!=c?r(c,4):"")+"["+r(d,a.Ba)+","+r(e-d,4)+"]"}
function er(a,b){var c;void 0===b&&(b=yq(a));c=br(a,8)+br(a,11)+br(a,9)+br(a,10)+(4<a.Ja?"\n":"")+br(a,12)+br(a,13)+br(a,14)+br(a,15)+"\n"+cr(a,a.F.ta,b)+" "+cr(a,a.F.ub,b)+" "+cr(a,a.F.Wa,b)+" ";if(b){var d="TR="+r(a.F.Sa.ba,4),e=a.ea,e="A20="+(e.L||e.wg!=e.Gb?"OFF ":"ON ");80386>a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+cr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=cr(a,a.F.Nb,b)+" "+cr(a,a.F.Ob,b)+"\n");c+=dr(a,"LD",a.F.Bc.ba,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+dr(a,"GD",null,a.F.Dc,a.F.zd)+" "+dr(a,
"ID",null,a.F.Nc,a.F.Pd)+" ";c=c+(d+" "+e)+br(a,32);80386<=a.F.ia&&(c+=br(a,34)+br(a,35))}else 80386<=a.F.ia&&(c+=cr(a,a.F.Nb,b)+" "+cr(a,a.F.Ob,b)+" ");return c+=br(a,23)+ar(a,"V")+ar(a,"D")+ar(a,"I")+ar(a,"T")+ar(a,"S")+ar(a,"Z")+ar(a,"A")+ar(a,"P")+ar(a,"C")}var fr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function gr(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
ma)ma+=8;else{var Q=v,ga=$a,Ga=H,Wa=Q.Qa(Ga,1),Ba=Wa>>6,Pb=Wa>>3&7,Wa=Wa&7,va="";if(ga||5!=Wa)va=bq[Wa+8];4!=Pb&&(va&&(va+="+"),va+=bq[Pb+8],Ba&&(va+="*"+(1<<Ba)));ga||5!=Wa||(va&&(va+="+"),va+=r(Q.na(Ga,4)));Q=va}Q||(Q=bq[ma])}1==$a?(ga=v.Qa(H,1),ga&128?(ga=ga<<24>>24,Q+="-"+r(-ga,2)):Q+="+"+r(ga,2)):2==$a&&(Q&&(Q+="+"),H.rc?(ga=v.na(H,4),Q+=r(ga)):(ga=v.oa(H,2),Q+=r(ga,4)));Q="["+Q+"]";if(1==V){v="";D&=15;4==D&&(D=H.Rb?5:3);switch(D){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16";
break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(Q=v+" "+Q)}}else Q=Zq(v,ma,D,H);v=Q}else v=160==L?Zq(a,g&7,D,b):Zq(a,g>>3&7,D,b);else if(16==L)v="1";else if(0==L){v=a;H=D;L=b;D=" ";switch(H&15){case 1:H&12288&&(D=r(v.Qa(L,1),2));break;case 2:D=r(v.Qa(L,1)<<24>>24,L.Rb?8:4);break;case 4:if(L.Rb){D=r(v.na(L,4));break}case 3:D=r(v.oa(L,2),4);break;case 7:L=
Pp(v,v.sb(L,!0),v.oa(L,2),null,L.type,L.Rb,L.rc);D=yq(L);v=$q(v,L);v[0]&&(D+=" ("+v[0]+")");break;default:D="imm("+u(H)+")"}v=D}else 32==L?(b.rc?(v=8,D=a.na(b,4)):(v=4,D=a.oa(b,2)),v="["+r(D,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.sb(b,!0),D=b.Ra+v&(b.Rb?-1:65535),v=r(D,b.Rb?8:4),D=$q(a,Pp(a,D,b.ba)),D[0]&&(v+=" ("+D[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":Zq(a,(D&3840)>>8,D,b):112==L?v=Zq(a,(D&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0<
q.length&&(q+=",");q+=v||"???"}}}g="";k=yq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=la(g,e.rc?24:16);k+=la(n,8);q&&(k+=" "+q);a.F.ia<$p[f]&&(c=$p[f]+" CPU only");c&&A&&(k=la(k,e.rc?74:56)+";"+c,k=a.F.la.We?k+("cycles="+Vc(a.F).toString()+" cs="+r(a.F.X.If)):k+(null!=d?"="+d.toString():""));ar(b,A,h);return k}
function Zq(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Rb))b+=16;return aq[b]}
function br(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.aa&1024;break;case "I":c=a.F.aa&512;break;case "T":c=a.F.aa&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function nq(a){return r(a,a&-65536?8:4)}function cr(a,b){8<=b&&15>=b&&4<a.Ja&&(b+=16);var c=aq[b];32==b&&80286==a.F.ia&&(c="MS");return c+"="+Mq(a,b)+" "}
function dr(a,b,c){return b.lc+"="+r(b.ba,4)+(c?"["+r(b.Aa,a.Ba)+","+nq(b.Ta)+"]":"")}function er(a,b,c,d,e){return b+"="+(null!=c?r(c,4):"")+"["+r(d,a.Ba)+","+r(e-d,4)+"]"}
function fr(a,b){var c;void 0===b&&(b=zq(a));c=cr(a,8)+cr(a,11)+cr(a,9)+cr(a,10)+(4<a.Ja?"\n":"")+cr(a,12)+cr(a,13)+cr(a,14)+cr(a,15)+"\n"+dr(a,a.F.ta,b)+" "+dr(a,a.F.ub,b)+" "+dr(a,a.F.Wa,b)+" ";if(b){var d="TR="+r(a.F.Sa.ba,4),e=a.ea,e="A20="+(e.L||e.wg!=e.Gb?"OFF ":"ON ");80386>a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+dr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=dr(a,a.F.Nb,b)+" "+dr(a,a.F.Ob,b)+"\n");c+=er(a,"LD",a.F.Bc.ba,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+er(a,"GD",null,a.F.Dc,a.F.zd)+" "+er(a,
"ID",null,a.F.Nc,a.F.Pd)+" ";c=c+(d+" "+e)+cr(a,32);80386<=a.F.ia&&(c+=cr(a,34)+cr(a,35))}else 80386<=a.F.ia&&(c+=dr(a,a.F.Nb,b)+" "+dr(a,a.F.Ob,b)+" ");return c+=cr(a,23)+br(a,"V")+br(a,"D")+br(a,"I")+br(a,"T")+br(a,"S")+br(a,"Z")+br(a,"A")+br(a,"P")+br(a,"C")}var gr={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function hr(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function Gq(a,b,c){var d;if(b){b=Fq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],q=n.length,n=na(n);if(!n){f=!0;break}n=jq(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==l.length)break;var n=l[e++],p=n.length;k.length&&fr[n]<fr[k[k.length-1]]&&gr(h,k,1);k.push(n);b=b.substr(q+p)}gr(h,k)&&1==h.length||(f=!0);f?c&&a.O("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&hr(a,null,
d))}return d}function Fq(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Gq(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Eq(a,c[1]),b=b.replace("["+c[1]+"]",d?r(a.rb(d),d.Rb?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.pa-a.za}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function jq(a,b,c,d){var e;void 0!==b?(e=Kq(b),0<=e?e=Mq(a,e):(e=a.wa[b],void 0===e&&(e=ca(b))),void 0!==e||d||a.O("invalid "+(c?c:"value")+": "+b)):d||a.O("missing "+(c||"value"));return e}function hr(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d="0x"+r(c)+" "+c+". ("+ea(c)+")");a.O((null!=b?b+": ":"")+d);return e}function ir(a,b){if(b)return hr(a,b,a.wa[b]);var c=0;for(b in a.wa)hr(a,b,a.wa[b]),c++;return 0<c}Np.prototype.vb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Hq(a,b,c){var d;if(b){b=Gq(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],q=n.length,n=na(n);if(!n){f=!0;break}n=kq(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==l.length)break;var n=l[e++],p=n.length;k.length&&gr[n]<gr[k[k.length-1]]&&hr(h,k,1);k.push(n);b=b.substr(q+p)}hr(h,k)&&1==h.length||(f=!0);f?c&&a.O("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&ir(a,null,
d))}return d}function Gq(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Hq(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Fq(a,c[1]),b=b.replace("["+c[1]+"]",d?r(a.sb(d),d.Rb?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.pa-a.za}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function kq(a,b,c,d){var e;void 0!==b?(e=Lq(b),0<=e?e=Nq(a,e):(e=a.wa[b],void 0===e&&(e=ca(b))),void 0!==e||d||a.O("invalid "+(c?c:"value")+": "+b)):d||a.O("missing "+(c||"value"));return e}function ir(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d="0x"+r(c)+" "+c+". ("+ea(c)+")");a.O((null!=b?b+": ":"")+d);return e}function jr(a,b){if(b)return ir(a,b,a.wa[b]);var c=0;for(b in a.wa)ir(a,b,a.wa[b]),c++;return 0<c}Op.prototype.vb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Kl(a,b,c,d,e,f,g,h){var k={},l=[],n;for(n in h){var q=h[n];"number"==typeof q&&(h[n]=q={o:q});var p=q.o,A=q.s,F=q.a;if(void 0!==p){void 0!==A&&(k.Ra=p,k.ba=A,k.Da=null,a.dc(k),(k.Da&-65536)==(a.ea.wg&-65536)&&(k.Da&=1048575),q.p=k.Da);var A=l,p=[p>>>0,n],v=oa(A,p,a.vb);0>v&&A.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,im:c,ba:d,Ra:e,Da:f,am:g,Nd:h,ti:l})}
function vq(a,b,c){for(var d=0;d<a.B.length;d++){var e=a.B[d];if(!b||e.fg==b)if(b&&c==e.im||!b&&c==e.ba){a.B.splice(d,1);break}}}function Zq(a,b,c){for(var d=[],e=b.Ra>>>0,f=a.dc(b)>>>0,g=0;g<a.B.length;g++){var h=a.B[g],k=h.ba,l=h.Ra>>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.am;48==k&&(k=40);if(k==b.ba&&e>=l&&e<l+q||null!=n&&f>=n&&f<n+q){b=oa(h.ti,[e],a.vb);0<=b?jr(a,g,b,d):c&&(b=~b,jr(a,g,b-1,d),jr(a,g,b,d));break}}!d.length&&(a=a.ea.Si(f,!0))&&(d.push(a),d.push(f));return d}
function jr(a,b,c,d){var e={},f=a.B[b].ti,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.B[b].Nd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function kr(a){a.Df&&(a.Df.value="")}
function lr(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c,d=0;if(a.W)if("clear"==b){for(c=0;c<a.W.length;c++)a.W[c]=[c,0];a.O("frequency data cleared");d++}else if(void 0!==b)a.O("unknown frequency command: "+b),d++;else{var e=a.W.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.O((Wp[a.Ia[f][0]]+" ").substr(0,5)+" ("+t(f)+"): "+g+" times"),d++)}}d||a.O("no frequency data available")}}
function mr(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ir(a)||a.O("no variables"),!0;if(!c[2])return ir(a,c[1]);if(!c[3])return delete a.wa[c[1]],!0;var d=Gq(a,c[3]);return void 0!==d?(a.wa[c[1]]=d,!0):!1}a.O("invalid assignment:"+b);return!1}
function nr(a,b,c){var d=null;if(b=Eq(a,b,!0)){a.dc(b);var e=Zq(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ra-e[1])&&(g=" + "+u(f)),f=e[0]+" ("+pq(e[1],b.ba)+")"+g,c&&a.O(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ra)&&(g=" - "+u(f)),f=e[4]+" ("+pq(e[5],b.ba)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
function or(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Eq(a,b[1]);if(g&&(d=jq(a,b[2],"drive #"),void 0!==d)){if(!c){e=jq(a,b[3],"sector #");if(void 0===e)return;f=jq(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.mc;2<=d&&a.Jb&&(d-=2,h=a.Jb);if(h){var k=h.Hi(d);if(k)if(k.ya)if(c)kr(a),a.O(k.ya.toJSON());else if(h.jk(k,e,f)){for(var l=0,n=!1,c=xq(g);!n&&0<k.Hb--;)(function(a,b){h.jc(k,function(c){0>c?(a.O("out of data at address "+xq(b)),n=!0):(a.sc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+
function wq(a,b,c){for(var d=0;d<a.B.length;d++){var e=a.B[d];if(!b||e.fg==b)if(b&&c==e.im||!b&&c==e.ba){a.B.splice(d,1);break}}}function $q(a,b,c){for(var d=[],e=b.Ra>>>0,f=a.dc(b)>>>0,g=0;g<a.B.length;g++){var h=a.B[g],k=h.ba,l=h.Ra>>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.am;48==k&&(k=40);if(k==b.ba&&e>=l&&e<l+q||null!=n&&f>=n&&f<n+q){b=oa(h.ti,[e],a.vb);0<=b?kr(a,g,b,d):c&&(b=~b,kr(a,g,b-1,d),kr(a,g,b,d));break}}!d.length&&(a=a.ea.Si(f,!0))&&(d.push(a),d.push(f));return d}
function kr(a,b,c,d){var e={},f=a.B[b].ti,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.B[b].Nd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function lr(a){a.Df&&(a.Df.value="")}
function mr(a,b){if("?"==b)a.O("frequency commands:"),a.O("\tclear\tclear all frequency counts");else{var c,d=0;if(a.W)if("clear"==b){for(c=0;c<a.W.length;c++)a.W[c]=[c,0];a.O("frequency data cleared");d++}else if(void 0!==b)a.O("unknown frequency command: "+b),d++;else{var e=a.W.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.O((Xp[a.Ia[f][0]]+" ").substr(0,5)+" ("+t(f)+"): "+g+" times"),d++)}}d||a.O("no frequency data available")}}
function nr(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return jr(a)||a.O("no variables"),!0;if(!c[2])return jr(a,c[1]);if(!c[3])return delete a.wa[c[1]],!0;var d=Hq(a,c[3]);return void 0!==d?(a.wa[c[1]]=d,!0):!1}a.O("invalid assignment:"+b);return!1}
function or(a,b,c){var d=null;if(b=Fq(a,b,!0)){a.dc(b);var e=$q(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ra-e[1])&&(g=" + "+u(f)),f=e[0]+" ("+qq(e[1],b.ba)+")"+g,c&&a.O(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ra)&&(g=" - "+u(f)),f=e[4]+" ("+qq(e[5],b.ba)+")"+g,c&&a.O(f),d||(d=f))}else c&&a.O("no symbols")}return d}
function pr(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Fq(a,b[1]);if(g&&(d=kq(a,b[2],"drive #"),void 0!==d)){if(!c){e=kq(a,b[3],"sector #");if(void 0===e)return;f=kq(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.mc;2<=d&&a.Jb&&(d-=2,h=a.Jb);if(h){var k=h.Hi(d);if(k)if(k.ya)if(c)lr(a),a.O(k.ya.toJSON());else if(h.jk(k,e,f)){for(var l=0,n=!1,c=yq(g);!n&&0<k.Hb--;)(function(a,b){h.jc(k,function(c){0>c?(a.O("out of data at address "+yq(b)),n=!0):(a.sc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+
c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
function Pq(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Sb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1];if(a.Sb&&"fp"==e){c=a.Sb;d=Zf(c);for(var f=c.kc,g=0;8>g;g++){var h=c,e=null;if(g<h.L.length){var e=[],k=h.B+g&7;e[0]=k;e[1]=wg(h,k);e[2]=h.L[k];k<<=1;e[3]=h.Y[k];e[4]=h.Y[k+1];h=Ag(h,e[3],e[4]);e[5]=h[0];e[6]=h[1];e[7]=
h[2]}if(!e)break;a.O("ST"+g+": "+la(e[2].toFixed(15),24,!0)+" "+r(e[4])+","+r(e[3])+" ["+e[0]+":"+Yp[e[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+da(d,16)+" ("+u(d)+") CW: "+da(f,16)+" ("+u(f)+")");return}if("p"==e)d=80286<=a.F.ia;else{f=null;g=e.indexOf("=");if(0<g)f=e.substr(g+1),e=e.substr(0,g);else if(2<b.length)f=b[2];else{a.O("missing value for "+b[1]);return}g=!1;h=Gq(a,f);if(void 0!==h)switch(g=!0,k=e.toUpperCase(),"E"==k.charAt(0)&&4>=a.Ja&&(k=null),
function Qq(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Sb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1];if(a.Sb&&"fp"==e){c=a.Sb;d=Zf(c);for(var f=c.kc,g=0;8>g;g++){var h=c,e=null;if(g<h.L.length){var e=[],k=h.B+g&7;e[0]=k;e[1]=wg(h,k);e[2]=h.L[k];k<<=1;e[3]=h.Y[k];e[4]=h.Y[k+1];h=Ag(h,e[3],e[4]);e[5]=h[0];e[6]=h[1];e[7]=
h[2]}if(!e)break;a.O("ST"+g+": "+la(e[2].toFixed(15),24,!0)+" "+r(e[4])+","+r(e[3])+" ["+e[0]+":"+Zp[e[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+da(d,16)+" ("+u(d)+") CW: "+da(f,16)+" ("+u(f)+")");return}if("p"==e)d=80286<=a.F.ia;else{f=null;g=e.indexOf("=");if(0<g)f=e.substr(g+1),e=e.substr(0,g);else if(2<b.length)f=b[2];else{a.O("missing value for "+b[1]);return}g=!1;h=Hq(a,f);if(void 0!==h)switch(g=!0,k=e.toUpperCase(),"E"==k.charAt(0)&&4>=a.Ja&&(k=null),
k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535;
break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":vd(a.F,h);break;case "ES":wd(a.F,h);break;case "SS":kd(a.F,h);break;case "CS":kf(a.F,h);a.Y=Op(a,K(a.F),a.F.va.ba);break;case "IP":case "EIP":O(a.F,h);a.Y=Op(a,K(a.F),a.F.va.ba);break;case "PC":case "PS":yd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.aa|=4):(e=a.F,e.resultType&=
break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":vd(a.F,h);break;case "ES":wd(a.F,h);break;case "SS":kd(a.F,h);break;case "CS":kf(a.F,h);a.Y=Pp(a,K(a.F),a.F.va.ba);break;case "IP":case "EIP":O(a.F,h);a.Y=Pp(a,K(a.F),a.F.va.ba);break;case "PC":case "PS":yd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.aa|=4):(e=a.F,e.resultType&=
-3,e.aa&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.aa|=128):(e=a.F,e.resultType&=-17,e.aa&=-129);break;case "I":h?(e=a.F,e.aa|=512):(e=a.F,e.aa&=-513);break;case "D":h?(e=a.F,e.aa|=1024):(e=a.F,e.aa&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ia)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ia)switch(l=!1,k){case "EAX":a.F.G=h;
break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.ab=h;mj.call(a.F,h);break;case "CR2":a.F.pe=h;break;case "CR3":a.F.Md=h;Ad.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Pc(a.F);a.O("updated registers:")}}a.O(er(a,d));c&&(a.Y=
Op(a,K(a.F),a.F.va.ba),Qq(a,xq(a.Y)))}}function pr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(Nq(a,c[2])):Gq(a,b,!0)}function qr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ra=e;b.Da=null;var h=Xq(a,b);if(0<h.indexOf("CALL")||c&&0<h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ra=f;return d}
function rr(a,b,c){var d="t"!=b;c=jq(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ja(c,function(){return qb(a,!0)&&a.tf(e,d,!1)},function(){Pc(a.F);qb(a,!1)})}function $q(a,b,c){if(a.Sd=b)null!=a.Li&&(a.Rb=a.Li),null!=a.Ki&&(a.rc=a.Ki),a.Li=a.Rb,a.Ki=a.rc;a.Qe=c||0}
function Qq(a,b,c,d){if(b=Eq(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Eq(a,c,!0);if(!d||d.Ra<b.Ra)return;e=d.Ra-b.Ra;if(256<e){a.O("range too large");return}d=-1}c=0;var f;for($q(b,!0);0<e&&d--;){f=rb(a,!1)||a.N?a.fa:null;var g=null!=f?"cycles":null,h=Zq(a,b),k=b.Da;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=Xq(a,b,g,f);b.Sd||d||d++;a.O(f);a.Y=b;e-=b.Da-k;c++}}}
function Iq(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().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(na(b.substring(c,f))),c=f+1}}return a}
function Wq(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+xq(a.ua)),a.Y=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.ab&1&&(e=a.F.aa&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(tb(a)&&0<b.length){a.Ea&&(b="a "+xq(a.ua)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),l=1;l<h.length;l++){var n=h.charAt(l);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":var q=
Eq(a,g[1],!0);if(q)if(a.ua=q,void 0===g[2])a.O("begin assemble at "+xq(q)),a.Ea=!0,Pc(a.F);else{var p;a.O("not supported yet");p=[];if(p.length){for(var A=0;A<p.length;A++)a.sc(q,p[A],1);a.O(Xq(a,a.ua))}}break;case "b":a:{var F=g[0],v=g[1],D=b;if("?"==v)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+Vq(a,a.A),L=L+Vq(a,a.sa);(L+=Vq(a,a.ga))||a.O("no breakpoints")}else if("n"==H)a.Na=jq(a,v),a.O("break after "+a.Na+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var V={};if("*"!=v&&(V=Eq(a,v,!0,!0),!V))break a;v=null==V.Ra?v:u(V.Ra);"c"==H?null==V.Ra?(Pp(a),a.O("all breakpoints cleared")):wq(a,
a.A,V)||wq(a,a.sa,V)||wq(a,a.ga,V)||a.O("breakpoint missing: "+xq(V)):"i"==H?a.O("breakpoint "+(gc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(kc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=V.Ra&&(Hq(a,V,D),"p"==H?a.Od(a.A,V):"r"==H?a.Od(a.sa,V):"w"==H?a.Od(a.ga,V):a.O("unknown breakpoint command: "+H))}}}break;case "c":kr(a);break;case "d":a:{var Q=g,$a,ma=Q[0],ga=Q[1],Ga=Q[2],Wa=Q[3];if("?"==ga){var Ba="";for($a in bq)a.Ya[$a]&&(Ba&&(Ba+=
","),Ba+=$a);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ga){var Pb=sr(a.da,!0);"console"==Ga?console.log(Pb):(kr(a),a.O(Pb))}else if("symbols"==ga)for(var va=0;va<a.B.length;va++){var Qd=
a.B[va],Qc;for(Qc in Qd.Nd)if("."!=Qc.charAt(0)){var Rd=Qd.Nd[Qc],Ie=Rd.o;if(void 0!==Ie){var Sd=Rd.s;void 0===Sd&&(Sd=Qd.ba);var Je=Qd.Nd[Qc].l;Je&&(Qc=Je);a.O(pq(Ie,Sd)+" "+Qc)}}}else{if("ds"==ma||"dg"==ma||"dl"==ma)ma="d",Q=[ma,"desc",ga];"d"==ma&&"page"==ga&&(ma="dp",Q.shift());if("dp"==ma){Q.shift();var ei=Q[0];if(ei){var Te=a.dc(Eq(a,ei));if(-1===Te)a.O("invalid address: "+ei);else{var Zd,Da=null;if(80386<=a.F.ia){var $d=a.ea,Da={};Da.bk=(Te&-4194304)>>>20;Da.wi=a.F.Md+Da.bk;Da.yb=$d.ra[(Da.wi&
$d.Gb)>>>$d.La];Da.Ui=Da.yb.Kd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.xi=(Da.Ui&-4096)+Da.ck;Da.zb=$d.ra[(Da.xi&$d.Gb)>>>$d.La];Da.Vi=Da.zb.Kd(Da.ck);Da.Ek=(Da.Vi&-4096)+(Te&4095)}if(Zd=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var nd="%"+r(Te),nd=nd+(" %%"+Jq(Zd.wi,Zd.Ui)),nd=nd+(" %%"+Jq(Zd.xi,Zd.Vi,!0)),nd=nd+(" %%"+r(Zd.Ek));a.O(nd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==
ma){if("disk"==ga){Q[0]="l";Q[1]="json";or(a,Q);break a}for($a in bq)if(Q[1]==$a){var qn=a.Ya[$a];qn?(Q.shift(),Q.shift(),qn(Q)):a.O("no dump registered for "+ga);break a}ga||(ma=a.Jc||"db")}else a.Jc=ma;if("dh"==ma){var rn=ga,sn=Ga,tn="",un=0,ob=a.Fa,rc=a.ja;if(rc.length){var yb=+rn||a.Tb,ae=+sn||10;isNaN(yb)?yb=ae:tn="more ";yb>rc.length&&(a.O("note: only "+rc.length+" available"),yb=rc.length);ob-=yb;0>ob&&(null==rc[rc.length-1].ba?(yb=ob+yb,ob=0):ob+=rc.length);var fi=[];"call"==sn&&(ae=1E5,fi=
["CALL"]);for(void 0!==rn&&a.O(yb+" instructions earlier:");0<ae&&ob!=a.Fa;){var od=rc[ob++];if(null==od.ba)break;var Ue=Op(a,od.Ra,od.ba,od.Da,od.type,od.Rb,od.rc),Mr=yb--,vn=Xq(a,Ue,"history",Mr);(!fi.length||0<=vn.indexOf(fi[0]))&&a.O(vn);Ue.Qe&&(ob+=Ue.Qe,ae-=Ue.Qe,yb-=Ue.Qe);ob>=rc.length&&(ob=0);a.Tb=yb;un++;ae--}}un||(a.O("no "+tn+"history available"),a.Tb=void 0)}else if("di"==ma)Q.shift(),a.O("no information");else{var be=Eq(a,ga);if(be&&(null!=be.ba||null!=be.Da)){var ng=0;Ga&&("l"==Ga.charAt(0)&&
(Ga=Ga.substr(1)||Wa),ng=jq(a,Ga)>>>0,65536<ng&&(ng=65536));for(var pd="",Nr=(ng||128)+15>>4||1,gi="dd"==ma?4:"dw"==ma?2:1,wn=0;wn<Nr;wn++){for(var og=0,hi=0,Ve="",ii="",ga=xq(be),ji=0;16>ji;ji++){var pg=a.Qa(be,1),og=og|pg<<(hi++<<3);hi==gi&&(Ve+=r(og,2*gi),Ve+=1==gi?7==ji?"-":" ":" ",og=hi=0);ii+=32<=pg&&128>pg?String.fromCharCode(pg):"."}pd&&(pd+="\n");pd+=ga+" "+Ve+" "+ii}pd&&a.O(pd);a.Db=be}}}}}break;case "e":if("else"==g[0])break;var qg=1,xn=255,yn=a.Qa,zn=a.sc;"ew"==g[0]&&(qg=2,xn=65535,
yn=a.oa,zn=a.ib);var An=qg<<1,Bn=g[1];if(null==Bn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var rg=Eq(a,Bn);if(rg)for(var sg=2;sg<g.length;sg++){var We=Gq(a,g[sg]);if(void 0===We){a.O("unrecognized value: "+g[sg]);break}We&~xn&&a.O("warning: "+r(We)+" exceeds "+qg+"-byte value");var Or=yn.call(a,rg);a.O("changing "+xq(rg)+" from 0x"+r(Or,An)+" to 0x"+r(We,An));zn.call(a,rg,We,qg)}}break;case "f":lr(a,g[1]);break;
case "g":a:{var Cn=g[1],Pr=b;"gt"==g[0]&&(a.bb=!0);if(void 0!==Cn){var ki=Eq(a,Cn,!0);if(!ki)break a;Hq(a,ki,Pr);a.Od(a.A,ki,!0)}a.Ie(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":var li;a.la.Ib?(li="halting",a.Xb()):li="already halted";c||a.O(li);break;case "i":if("if"==g[0]){var mi;var Xe=b.substr(2),Xe=na(Xe);Gq(a,Xe)?(c||a.O("true: "+Xe),mi=!0):(c||a.O("false: "+Xe),mi=!1);mi||(d=!1);break}if("int"==g[0]){var tg;a:switch(jq(a,g[1])){case 19:gk(a,19,a.F.Ha,!0);a.za=
a.pa;tg=!0;break a;case 33:gk(a,33,a.F.Ha,!0);a.za=a.pa;tg=!0;break a;default:tg=!1}tg||(d=!1);break}var ni=g[1];if(ni&&"?"!=ni){var oi=jq(a,ni);if(void 0!==oi){var Qr=ic(a.ea,oi,1);a.O(u(oi)+": "+t(Qr))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var Rr=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var pi=0,Dn=a.F.va.ba,Ye=Op(a),Sc=Op(a,
I(a.F),a.F.ta.ba);for(a.O("stack trace for "+xq(Sc));10>pi;){for(var sc=null,Sr=256;Sc.Ra>>>0<a.F.Kg>>>0;){Ye.Ra=a.rb(Sc,!0);if(null==Sc.Da||!Sr--)break;Ye.ba=Dn;if(sc=qr(a,Ye))break;Ye.ba=a.rb(Sc);if(sc=qr(a,Ye,!0)){Dn=a.rb(Sc,!0);0<sc.indexOf("INT")&&a.rb(Sc,!0);break}}if(!sc||null==sc)break;var En=null;if("ks"==Rr){var Fn=sc.match(/[0-9A-F]+$/);Fn&&(En=nr(a,Fn[0]))}sc=la(sc,50)+" ;"+(En||"stack="+xq(Sc));a.O(sc);pi++}pi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){nr(a,g[1],
!0);break}or(a,g);break;case "m":if("mouse"==g[0]){var qi=g[1],ug=g[2];if(a.V){var Gn=1;"-"==ug.charAt(0)&&(Gn=-1,ug=ug.substr(1));var qd=jq(a,ug,qi);if(void 0!==qd)switch(qd=qd*Gn|0,qi){case "x":a.V.Hf(qd,0);break;case "y":a.V.Hf(0,qd);break;case "click":a.V.ge(qd,!0);a.V.ge(qd,!1);break;default:a.O("unknown action: "+qi)}}else a.O("no mouse");break}a:{var tc,uc=null,Na=g[1];"?"==Na&&(Na=void 0);if(void 0!==Na){var rd=0;if("all"==Na)rd=1610481663,Na=null;else if("on"==Na)uc=!0,Na=null;else if("off"==
Na)uc=!1,Na=null;else{"keys"==Na&&(Na="key");"kbd"==Na&&(Na="keyboard");for(tc in bq)if(Na==tc){rd=bq[tc];uc=!!(a.wc&rd);break}if(!rd){a.O("unknown message category: "+Na);break a}}rd&&("on"==g[2]?(a.wc|=rd,uc=!0):"off"==g[2]&&(a.wc&=~rd,uc=!1))}var Tr=0,Tc="";for(tc in bq)if(!Na||Na==tc){var Ur=!!(a.wc&bq[tc]);if(null===uc||uc==Ur)Tc&&(Tc+=","),++Tr%10||(Tc+="\n\t"),"key"==tc&&(tc="keys"),Tc+=tc}void 0===Na&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==uc?
uc?"messages on: ":"messages off: ":"message categories:\n\t")+(Tc||"none"));Qp(a)}break;case "o":var ri=g[1],Vr=g[2];if(ri&&"?"!=ri){var si=jq(a,ri,"port #"),ti=jq(a,Vr);void 0!==si&&void 0!==ti&&(mc(a.ea,si,1,ti),a.O(u(si)+": "+t(ti)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){pr(a,b.substr(5));break}var Hn="pr"==g[0]?1:0,ce=1+Hn;if(a.N)a.O("step in progress");else{var vg,
In=!1,jb=Op(a,K(a.F),a.F.va.ba);do switch(vg=!1,a.Qa(jb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:zq(a,jb,1);vg=!0;break;case 204:case 206:a.N=ce;zq(a,jb,1);break;case 205:case 224:case 225:case 226:a.N=ce;zq(a,jb,jb.Rb?4:2);break;case 232:a.N=ce;zq(a,jb,jb.Rb?5:3);break;case 154:a.N=ce;zq(a,jb,jb.Rb?7:5);break;case 255:var Jn=a.rb(jb)&14591;if(4351==Jn||6399==Jn)a.N=ce,Xq(a,jb);break;case 243:case 242:zq(a,jb,1);In=vg=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:In&&
(a.N=ce,zq(a,jb,1))}while(vg);a.N?(a.Od(a.A,jb,!0),a.Ie()||(a.F.Tc(),a.N=0)):rr(a,Hn?"tr":"t")}break;case "r":if("reset"==b){a.da&&a.da.reset();break}Pq(a,g);break;case "t":rr(a,g[0],g[1]);break;case "u":Qq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){mr(a,b.substr(3))||(d=!1);break}a.O("PCjs version 1.21.1 ("+a.F.ia+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Ze;void 0!==g[3]&&(Ze=+g[3]);switch(g[2]){case "int":a.F.X.ff=
break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Nb.load(h);break;case "GS":a.F.Ob.load(h);break;case "CR0":a.F.ab=h;mj.call(a.F,h);break;case "CR2":a.F.pe=h;break;case "CR3":a.F.Md=h;Ad.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Pc(a.F);a.O("updated registers:")}}a.O(fr(a,d));c&&(a.Y=
Pp(a,K(a.F),a.F.va.ba),Rq(a,yq(a.Y)))}}function qr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(Oq(a,c[2])):Hq(a,b,!0)}function rr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ra=e;b.Da=null;var h=Yq(a,b);if(0<h.indexOf("CALL")||c&&0<h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ra=f;return d}
function sr(a,b,c){var d="t"!=b;c=kq(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ja(c,function(){return qb(a,!0)&&a.tf(e,d,!1)},function(){Pc(a.F);qb(a,!1)})}function ar(a,b,c){if(a.Sd=b)null!=a.Li&&(a.Rb=a.Li),null!=a.Ki&&(a.rc=a.Ki),a.Li=a.Rb,a.Ki=a.rc;a.Qe=c||0}
function Rq(a,b,c,d){if(b=Fq(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Fq(a,c,!0);if(!d||d.Ra<b.Ra)return;e=d.Ra-b.Ra;if(256<e){a.O("range too large");return}d=-1}c=0;var f;for(ar(b,!0);0<e&&d--;){f=rb(a,!1)||a.N?a.fa:null;var g=null!=f?"cycles":null,h=$q(a,b),k=b.Da;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=Yq(a,b,g,f);b.Sd||d||d++;a.O(f);a.Y=b;e-=b.Da-k;c++}}}
function Jq(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().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(na(b.substring(c,f))),c=f+1}}return a}
function Xq(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+yq(a.ua)),a.Y=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.ab&1&&(e=a.F.aa&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(tb(a)&&0<b.length){a.Ea&&(b="a "+yq(a.ua)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),l=1;l<h.length;l++){var n=h.charAt(l);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(l);g.unshift(h.substr(0,l));break}}switch(g[0].charAt(0)){case "a":var q=
Fq(a,g[1],!0);if(q)if(a.ua=q,void 0===g[2])a.O("begin assemble at "+yq(q)),a.Ea=!0,Pc(a.F);else{var p;a.O("not supported yet");p=[];if(p.length){for(var A=0;A<p.length;A++)a.sc(q,p[A],1);a.O(Yq(a,a.ua))}}break;case "b":a:{var F=g[0],v=g[1],D=b;if("?"==v)a.O("breakpoint commands:"),a.O("\tbi [p]\ttoggle break on input port [p]"),a.O("\tbo [p]\ttoggle break on output port [p]"),a.O("\tbp [a]\tset exec breakpoint at addr [a]"),a.O("\tbr [a]\tset read breakpoint at addr [a]"),a.O("\tbw [a]\tset write breakpoint at addr [a]"),
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+Wq(a,a.A),L=L+Wq(a,a.sa);(L+=Wq(a,a.ga))||a.O("no breakpoints")}else if("n"==H)a.Na=kq(a,v),a.O("break after "+a.Na+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var V={};if("*"!=v&&(V=Fq(a,v,!0,!0),!V))break a;v=null==V.Ra?v:u(V.Ra);"c"==H?null==V.Ra?(Qp(a),a.O("all breakpoints cleared")):xq(a,
a.A,V)||xq(a,a.sa,V)||xq(a,a.ga,V)||a.O("breakpoint missing: "+yq(V)):"i"==H?a.O("breakpoint "+(gc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(kc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=V.Ra&&(Iq(a,V,D),"p"==H?a.Od(a.A,V):"r"==H?a.Od(a.sa,V):"w"==H?a.Od(a.ga,V):a.O("unknown breakpoint command: "+H))}}}break;case "c":lr(a);break;case "d":a:{var Q=g,$a,ma=Q[0],ga=Q[1],Ga=Q[2],Wa=Q[3];if("?"==ga){var Ba="";for($a in cq)a.Ya[$a]&&(Ba&&(Ba+=
","),Ba+=$a);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ga){var Pb=tr(a.da,!0);"console"==Ga?console.log(Pb):(lr(a),a.O(Pb))}else if("symbols"==ga)for(var va=0;va<a.B.length;va++){var Rd=
a.B[va],Qc;for(Qc in Rd.Nd)if("."!=Qc.charAt(0)){var Sd=Rd.Nd[Qc],Ie=Sd.o;if(void 0!==Ie){var Td=Sd.s;void 0===Td&&(Td=Rd.ba);var Je=Rd.Nd[Qc].l;Je&&(Qc=Je);a.O(qq(Ie,Td)+" "+Qc)}}}else{if("ds"==ma||"dg"==ma||"dl"==ma)ma="d",Q=[ma,"desc",ga];"d"==ma&&"page"==ga&&(ma="dp",Q.shift());if("dp"==ma){Q.shift();var ei=Q[0];if(ei){var Te=a.dc(Fq(a,ei));if(-1===Te)a.O("invalid address: "+ei);else{var Zd,Da=null;if(80386<=a.F.ia){var $d=a.ea,Da={};Da.bk=(Te&-4194304)>>>20;Da.wi=a.F.Md+Da.bk;Da.yb=$d.ra[(Da.wi&
$d.Gb)>>>$d.La];Da.Ui=Da.yb.Kd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.xi=(Da.Ui&-4096)+Da.ck;Da.zb=$d.ra[(Da.xi&$d.Gb)>>>$d.La];Da.Vi=Da.zb.Kd(Da.ck);Da.Ek=(Da.Vi&-4096)+(Te&4095)}if(Zd=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var od="%"+r(Te),od=od+(" %%"+Kq(Zd.wi,Zd.Ui)),od=od+(" %%"+Kq(Zd.xi,Zd.Vi,!0)),od=od+(" %%"+r(Zd.Ek));a.O(od)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==
ma){if("disk"==ga){Q[0]="l";Q[1]="json";pr(a,Q);break a}for($a in cq)if(Q[1]==$a){var qn=a.Ya[$a];qn?(Q.shift(),Q.shift(),qn(Q)):a.O("no dump registered for "+ga);break a}ga||(ma=a.Jc||"db")}else a.Jc=ma;if("dh"==ma){var rn=ga,sn=Ga,tn="",un=0,ob=a.Fa,rc=a.ja;if(rc.length){var yb=+rn||a.Tb,ae=+sn||10;isNaN(yb)?yb=ae:tn="more ";yb>rc.length&&(a.O("note: only "+rc.length+" available"),yb=rc.length);ob-=yb;0>ob&&(null==rc[rc.length-1].ba?(yb=ob+yb,ob=0):ob+=rc.length);var fi=[];"call"==sn&&(ae=1E5,fi=
["CALL"]);for(void 0!==rn&&a.O(yb+" instructions earlier:");0<ae&&ob!=a.Fa;){var pd=rc[ob++];if(null==pd.ba)break;var Ue=Pp(a,pd.Ra,pd.ba,pd.Da,pd.type,pd.Rb,pd.rc),Nr=yb--,vn=Yq(a,Ue,"history",Nr);(!fi.length||0<=vn.indexOf(fi[0]))&&a.O(vn);Ue.Qe&&(ob+=Ue.Qe,ae-=Ue.Qe,yb-=Ue.Qe);ob>=rc.length&&(ob=0);a.Tb=yb;un++;ae--}}un||(a.O("no "+tn+"history available"),a.Tb=void 0)}else if("di"==ma)Q.shift(),a.O("no information");else{var be=Fq(a,ga);if(be&&(null!=be.ba||null!=be.Da)){var ng=0;Ga&&("l"==Ga.charAt(0)&&
(Ga=Ga.substr(1)||Wa),ng=kq(a,Ga)>>>0,65536<ng&&(ng=65536));for(var qd="",Or=(ng||128)+15>>4||1,gi="dd"==ma?4:"dw"==ma?2:1,wn=0;wn<Or;wn++){for(var og=0,hi=0,Ve="",ii="",ga=yq(be),ji=0;16>ji;ji++){var pg=a.Qa(be,1),og=og|pg<<(hi++<<3);hi==gi&&(Ve+=r(og,2*gi),Ve+=1==gi?7==ji?"-":" ":" ",og=hi=0);ii+=32<=pg&&128>pg?String.fromCharCode(pg):"."}qd&&(qd+="\n");qd+=ga+" "+Ve+" "+ii}qd&&a.O(qd);a.Db=be}}}}}break;case "e":if("else"==g[0])break;var qg=1,xn=255,yn=a.Qa,zn=a.sc;"ew"==g[0]&&(qg=2,xn=65535,
yn=a.oa,zn=a.ib);var An=qg<<1,Bn=g[1];if(null==Bn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var rg=Fq(a,Bn);if(rg)for(var sg=2;sg<g.length;sg++){var We=Hq(a,g[sg]);if(void 0===We){a.O("unrecognized value: "+g[sg]);break}We&~xn&&a.O("warning: "+r(We)+" exceeds "+qg+"-byte value");var Pr=yn.call(a,rg);a.O("changing "+yq(rg)+" from 0x"+r(Pr,An)+" to 0x"+r(We,An));zn.call(a,rg,We,qg)}}break;case "f":mr(a,g[1]);break;
case "g":a:{var Cn=g[1],Qr=b;"gt"==g[0]&&(a.bb=!0);if(void 0!==Cn){var ki=Fq(a,Cn,!0);if(!ki)break a;Iq(a,ki,Qr);a.Od(a.A,ki,!0)}a.Ie(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":var li;a.la.Ib?(li="halting",a.Xb()):li="already halted";c||a.O(li);break;case "i":if("if"==g[0]){var mi;var Xe=b.substr(2),Xe=na(Xe);Hq(a,Xe)?(c||a.O("true: "+Xe),mi=!0):(c||a.O("false: "+Xe),mi=!1);mi||(d=!1);break}if("int"==g[0]){var tg;a:switch(kq(a,g[1])){case 19:gk(a,19,a.F.Ha,!0);a.za=
a.pa;tg=!0;break a;case 33:gk(a,33,a.F.Ha,!0);a.za=a.pa;tg=!0;break a;default:tg=!1}tg||(d=!1);break}var ni=g[1];if(ni&&"?"!=ni){var oi=kq(a,ni);if(void 0!==oi){var Rr=ic(a.ea,oi,1);a.O(u(oi)+": "+t(Rr))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var Sr=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var pi=0,Dn=a.F.va.ba,Ye=Pp(a),Sc=Pp(a,
I(a.F),a.F.ta.ba);for(a.O("stack trace for "+yq(Sc));10>pi;){for(var sc=null,Tr=256;Sc.Ra>>>0<a.F.Kg>>>0;){Ye.Ra=a.sb(Sc,!0);if(null==Sc.Da||!Tr--)break;Ye.ba=Dn;if(sc=rr(a,Ye))break;Ye.ba=a.sb(Sc);if(sc=rr(a,Ye,!0)){Dn=a.sb(Sc,!0);0<sc.indexOf("INT")&&a.sb(Sc,!0);break}}if(!sc||null==sc)break;var En=null;if("ks"==Sr){var Fn=sc.match(/[0-9A-F]+$/);Fn&&(En=or(a,Fn[0]))}sc=la(sc,50)+" ;"+(En||"stack="+yq(Sc));a.O(sc);pi++}pi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){or(a,g[1],
!0);break}pr(a,g);break;case "m":if("mouse"==g[0]){var qi=g[1],ug=g[2];if(a.V){var Gn=1;"-"==ug.charAt(0)&&(Gn=-1,ug=ug.substr(1));var rd=kq(a,ug,qi);if(void 0!==rd)switch(rd=rd*Gn|0,qi){case "x":a.V.Hf(rd,0);break;case "y":a.V.Hf(0,rd);break;case "click":a.V.ge(rd,!0);a.V.ge(rd,!1);break;default:a.O("unknown action: "+qi)}}else a.O("no mouse");break}a:{var tc,uc=null,Na=g[1];"?"==Na&&(Na=void 0);if(void 0!==Na){var sd=0;if("all"==Na)sd=1610481663,Na=null;else if("on"==Na)uc=!0,Na=null;else if("off"==
Na)uc=!1,Na=null;else{"keys"==Na&&(Na="key");"kbd"==Na&&(Na="keyboard");for(tc in cq)if(Na==tc){sd=cq[tc];uc=!!(a.wc&sd);break}if(!sd){a.O("unknown message category: "+Na);break a}}sd&&("on"==g[2]?(a.wc|=sd,uc=!0):"off"==g[2]&&(a.wc&=~sd,uc=!1))}var Ur=0,Tc="";for(tc in cq)if(!Na||Na==tc){var Vr=!!(a.wc&cq[tc]);if(null===uc||uc==Vr)Tc&&(Tc+=","),++Ur%10||(Tc+="\n\t"),"key"==tc&&(tc="keys"),Tc+=tc}void 0===Na&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==uc?
uc?"messages on: ":"messages off: ":"message categories:\n\t")+(Tc||"none"));Rp(a)}break;case "o":var ri=g[1],Wr=g[2];if(ri&&"?"!=ri){var si=kq(a,ri,"port #"),ti=kq(a,Wr);void 0!==si&&void 0!==ti&&(mc(a.ea,si,1,ti),a.O(u(si)+": "+t(ti)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){qr(a,b.substr(5));break}var Hn="pr"==g[0]?1:0,ce=1+Hn;if(a.N)a.O("step in progress");else{var vg,
In=!1,jb=Pp(a,K(a.F),a.F.va.ba);do switch(vg=!1,a.Qa(jb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Aq(a,jb,1);vg=!0;break;case 204:case 206:a.N=ce;Aq(a,jb,1);break;case 205:case 224:case 225:case 226:a.N=ce;Aq(a,jb,jb.Rb?4:2);break;case 232:a.N=ce;Aq(a,jb,jb.Rb?5:3);break;case 154:a.N=ce;Aq(a,jb,jb.Rb?7:5);break;case 255:var Jn=a.sb(jb)&14591;if(4351==Jn||6399==Jn)a.N=ce,Yq(a,jb);break;case 243:case 242:Aq(a,jb,1);In=vg=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:In&&
(a.N=ce,Aq(a,jb,1))}while(vg);a.N?(a.Od(a.A,jb,!0),a.Ie()||(a.F.Tc(),a.N=0)):sr(a,Hn?"tr":"t")}break;case "r":if("reset"==b){a.da&&a.da.reset();break}Qq(a,g);break;case "t":sr(a,g[0],g[1]);break;case "u":Rq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){nr(a,b.substr(3))||(d=!1);break}a.O("PCjs version 1.21.1 ("+a.F.ia+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Ze;void 0!==g[3]&&(Ze=+g[3]);switch(g[2]){case "int":a.F.X.ff=
Ze;break;case "start":a.F.X.Jf=Ze;break;case "stop":a.F.X.hf=Ze;break;default:a.O("unknown cs option");break a}void 0!==Ze&&Oc(a.F);a.O("checksums "+(a.F.la.We?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Yc(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.X.Ce.toFixed(2)+"Mhz")+" ("+a.F.X.Ud+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){pr(a,b.substr(1));break}var $e="commands:",ui;for(ui in Vp)$e+="\n"+la(ui,7)+Vp[ui];Tf(a)||($e+="\nnote: frequency/history disabled if no exec breakpoints");a.O($e);break;default:a.O("unknown command: "+b),d=!1}}}catch(Kn){a.O("debugger error: "+(Kn.stack||Kn.message)),d=!1}return d}function Sp(a,b,c){b=Iq(a,b,c);for(var d in b)if(!Wq(a,b[d]))return!1;return!0}
Qa(function(){for(var a=nb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Np(d);mb(d,c)}});function hf(a,b,c){this.id=a.id;this.key=tr(a,b,c);this.ha=a.ha;ur(this,a.sk)}function tr(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
hf.prototype={constructor:hf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ca()&&(a=Ea(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){ur(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function ur(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function vr(a){var b=!0;if(Ca()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function wr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function xr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}
function yr(a,b,c){Ua.call(this,"Computer",a,yr,67108864);this.la.cc=!1;zr(this,b);this.Y=$o(this,"autoPower",a);this.C=0;this.pa=a.busWidth||a.buswidth;this.A=Ar;this.U=null;this.L=this.ka=!1;this.sa=$o(this,"url")||"";this.ua=(Math.random()+.1).toString(36).substr(2,12);this.B=Br(this);if(this.F=ib("CPU",this.id)){this.ha=ib("Debugger",this.id);this.ea=new Lb({id:this.re+".bus",buswidth:this.pa},this.F,this.ha);var d,e=gb(this.id);if((this.Xd=ib("Panel",this.id))&&this.Xd.Df)for(b=0;b<e.length;b++)d=
e[b],d.Oa=this.Xd.Oa,d.O=this.Xd.O,d.Df=this.Xd.Df;for(b=0;b<e.length;b++)d=e[b],d.Gc&&d.Gc(this,this.ea,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.V=d:this.A=parseInt(d,10));var f;if(a=Ya&&Ya.state||$o(this,"state")||(f=!0,a.state))b=this.fa=a,f||(this.L=!0,this.A=Ar),this.A&&(this.W=new hf(this,Cr),this.W.load()?b=null:delete this.W);!b&&this.A&&(b=Dr(this))&&(this.L=!0);if(b){var g=this;wa(b,null,!0,function(a,b,c){c?(g.V=null,g.L=!1,g.Oa("Unable to load machine state from server (error "+
c+(b?": "+na(b):"")+")")):(g.U=b,g.ka=!0);sb(g)})}else sb(this);this.qa.power||(this.Y=!0);!c&&this.Y&&Er(this,this.$f)}else w("Unable to find CPU component")}db(yr);var Cr="1.21.1",Ar=0;m=yr.prototype;m.df=function(){return this.ua};function zr(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.da=b}
function $o(a,b,c){var d;a.da&&(d=a.da[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}m.he=function(){return this.B||""};function Er(a,b,c){for(var d=gb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){Er(a,b,c)});return}}b.call(a,c)}
function Fr(a,b){var c=new hf(a,Cr,"validate");if(c.load()&&wr(c)){var d=xr(c,"timestamp"),e=b?xr(b,"timestamp"):"unknown";d!=e&&(a.Oa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
m.$f=function(a){void 0===a&&(a=this.A||(this.U?1:Ar));if(!this.C){this.C++;var b=!1,c=!1;this.ja=!1;var d=this.W||new hf(this,Cr);if(-1==a)b=!0;else if(a>Ar){if(d.load(this.U)){this.N=new hf(this,Cr,"failsafe");this.N.load()&&(Gr(this,d),a=2,ur(this.N));N(this.N,"timestamp",qa());vr(this.N);var e=this.A&&!this.L;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=wr(d)){var f=xr(d,"code"),g=xr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Oa("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),ur(d),d.load()?(c=wr(d),e=!0):c=!1))}e&&Fr(this,c?d:null)}else 2==a&&d.clear()}else Fr(this);delete this.U;delete this.W}e=gb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.F&&(c=Hr(this,g,d,b,c));b=[d,a,c];-1!=a?Er(this,this.Ji,b):this.Ji(b)}};
function Hr(a,b,c,d,e){if(!b.la.cc){b.la.cc=!0;if(b.ic){var f=null;e&&((f=xr(c,b.id))||(f=xr(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ic(f,d)&&f&&(w("Unable to restore state for "+b.type),a.fa&&!a.ka?(c.clear(),a.A=Ar,window&&window.location.reload()):a.ja=!0,b.ic(null),e=!1)}if(!d&&b.rk)for(a=b.rk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.Ji=function(a){var b=a[0],c=0>a[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ga||(this.O("PCjs v"+Cr+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.ga=!0);this.F&&(Hr(this,this.F,b,c,a),Rc(this.F));this.ja&&(Gr(this,b),b.clear());!c&&this.N&&(this.N.clear(),delete this.N);this.C=0};
function Gr(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.sa,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=Cr;f.url=c;f.user=d;f.type="bug";f.data=e;wa("http://www.pcjs.org/api/v1/report",f,!0)}}
function sr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new hf(a,Cr),g=new hf(a,Cr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.1");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Xb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k<h.length;k++){var l=h[k];l.la.cc&&(l.hc&&(d=l.hc(b,c),"object"===typeof d&&N(f,l.id,d)),c&&(l.la.cc=!1,!1===d&&(e=null)))}e&&(c?
(h=d=!1,b?(a.B&&Ir(a,a.B,f.toString()),vr(g)&&vr(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=3==a.A),d&&f.clear(h)):e=f.toString());c&&(a.la.cc=!1,b=a.qa.power)&&(b.textContent="Power");a.C=0;return e}m.reset=function(){this.ea&&this.ea.reset&&(y(this,"Resetting "+this.ea.type),this.ea.reset());for(var a=gb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ea&&c.reset&&(y(this,"Resetting "+c.type),c.reset())}};
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){qr(a,b.substr(1));break}var $e="commands:",ui;for(ui in Wp)$e+="\n"+la(ui,7)+Wp[ui];Tf(a)||($e+="\nnote: frequency/history disabled if no exec breakpoints");a.O($e);break;default:a.O("unknown command: "+b),d=!1}}}catch(Kn){a.O("debugger error: "+(Kn.stack||Kn.message)),d=!1}return d}function Tp(a,b,c){b=Jq(a,b,c);for(var d in b)if(!Xq(a,b[d]))return!1;return!0}
Qa(function(){for(var a=nb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=kb(c),d=new Op(d);mb(d,c)}});function hf(a,b,c){this.id=a.id;this.key=ur(a,b,c);this.ha=a.ha;vr(this,a.sk)}function ur(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
hf.prototype={constructor:hf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ca()&&(a=Ea(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){vr(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function vr(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function wr(a){var b=!0;if(Ca()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function xr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function yr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}
function zr(a,b,c){Ua.call(this,"Computer",a,zr,67108864);this.la.cc=!1;Ar(this,b);this.Y=ap(this,"autoPower",a);this.C=0;this.pa=a.busWidth||a.buswidth;this.A=Br;this.U=null;this.L=this.ka=!1;this.sa=ap(this,"url")||"";this.ua=(Math.random()+.1).toString(36).substr(2,12);this.B=Cr(this);if(this.F=ib("CPU",this.id)){this.ha=ib("Debugger",this.id);this.ea=new Lb({id:this.re+".bus",buswidth:this.pa},this.F,this.ha);var d,e=gb(this.id);if((this.Xd=ib("Panel",this.id))&&this.Xd.Df)for(b=0;b<e.length;b++)d=
e[b],d.Oa=this.Xd.Oa,d.O=this.Xd.O,d.Df=this.Xd.Df;for(b=0;b<e.length;b++)d=e[b],d.Gc&&d.Gc(this,this.ea,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.V=d:this.A=parseInt(d,10));var f;if(a=Ya&&Ya.state||ap(this,"state")||(f=!0,a.state))b=this.fa=a,f||(this.L=!0,this.A=Br),this.A&&(this.W=new hf(this,Dr),this.W.load()?b=null:delete this.W);!b&&this.A&&(b=Er(this))&&(this.L=!0);if(b){var g=this;wa(b,null,!0,function(a,b,c){c?(g.V=null,g.L=!1,g.Oa("Unable to load machine state from server (error "+
c+(b?": "+na(b):"")+")")):(g.U=b,g.ka=!0);sb(g)})}else sb(this);this.qa.power||(this.Y=!0);!c&&this.Y&&Fr(this,this.$f)}else w("Unable to find CPU component")}db(zr);var Dr="1.21.1",Br=0;m=zr.prototype;m.df=function(){return this.ua};function Ar(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.da=b}
function ap(a,b,c){var d;a.da&&(d=a.da[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}m.he=function(){return this.B||""};function Fr(a,b,c){for(var d=gb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){Fr(a,b,c)});return}}b.call(a,c)}
function Gr(a,b){var c=new hf(a,Dr,"validate");if(c.load()&&xr(c)){var d=yr(c,"timestamp"),e=b?yr(b,"timestamp"):"unknown";d!=e&&(a.Oa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
m.$f=function(a){void 0===a&&(a=this.A||(this.U?1:Br));if(!this.C){this.C++;var b=!1,c=!1;this.ja=!1;var d=this.W||new hf(this,Dr);if(-1==a)b=!0;else if(a>Br){if(d.load(this.U)){this.N=new hf(this,Dr,"failsafe");this.N.load()&&(Hr(this,d),a=2,vr(this.N));N(this.N,"timestamp",qa());wr(this.N);var e=this.A&&!this.L;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=xr(d)){var f=yr(d,"code"),g=yr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Oa("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),vr(d),d.load()?(c=xr(d),e=!0):c=!1))}e&&Gr(this,c?d:null)}else 2==a&&d.clear()}else Gr(this);delete this.U;delete this.W}e=gb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.F&&(c=Ir(this,g,d,b,c));b=[d,a,c];-1!=a?Fr(this,this.Ji,b):this.Ji(b)}};
function Ir(a,b,c,d,e){if(!b.la.cc){b.la.cc=!0;if(b.ic){var f=null;e&&((f=yr(c,b.id))||(f=yr(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ic(f,d)&&f&&(w("Unable to restore state for "+b.type),a.fa&&!a.ka?(c.clear(),a.A=Br,window&&window.location.reload()):a.ja=!0,b.ic(null),e=!1)}if(!d&&b.rk)for(a=b.rk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.Ji=function(a){var b=a[0],c=0>a[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ga||(this.O("PCjs v"+Dr+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.ga=!0);this.F&&(Ir(this,this.F,b,c,a),Rc(this.F));this.ja&&(Hr(this,b),b.clear());!c&&this.N&&(this.N.clear(),delete this.N);this.C=0};
function Hr(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.sa,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=Dr;f.url=c;f.user=d;f.type="bug";f.data=e;wa("http://www.pcjs.org/api/v1/report",f,!0)}}
function tr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new hf(a,Dr),g=new hf(a,Dr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.1");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Xb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k<h.length;k++){var l=h[k];l.la.cc&&(l.hc&&(d=l.hc(b,c),"object"===typeof d&&N(f,l.id,d)),c&&(l.la.cc=!1,!1===d&&(e=null)))}e&&(c?
(h=d=!1,b?(a.B&&Jr(a,a.B,f.toString()),wr(g)&&wr(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=3==a.A),d&&f.clear(h)):e=f.toString());c&&(a.la.cc=!1,b=a.qa.power)&&(b.textContent="Power");a.C=0;return e}m.reset=function(){this.ea&&this.ea.reset&&(y(this,"Resetting "+this.ea.type),this.ea.reset());for(var a=gb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ea&&c.reset&&(y(this,"Resetting "+c.type),c.reset())}};
m.start=function(a,b){for(var c=gb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var c=gb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.Pb=function(a,b,c){var d=this;switch(b){case "power":return this.qa[b]=c,c.onclick=function(){d.C||(d.la.cc?sr(d,!1,!0):Er(d,d.$f))},!0;case "reset":return this.qa[b]=c,c.onclick=function(){if(d.la.cc&&!d.C)if(d.A&&!d.V){var a=za("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sr(d,a,!0);!a&&d.fa?window&&window.location.reload():(a||(d.eh=!0),d.$f(Ar),d.eh=!1)}else d.reset(),d.F&&Rc(d.F)},!0;case "save":if(ia(xa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.qa[b]=c;c.onclick=function(){var a=Br(d,!0);if(a){var b=!!(d.A&&!d.V||d.fa),c=sr(d,b);b?Ir(d,a,c):d.Oa("Resume disabled, machine state not saved")}};return!0}return!1};
function Br(a,b){var c=a.B;c||(c=Ea("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Jr(a,c))||a.Oa("The user ID is invalid."))):b&&a.Oa("Browser local storage is not available"));return c}
function Jr(a,b){a.B=null;var c=wa(xa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Fa("user",c.data),a.B=c.data)}catch(e){w(e.message+" ("+d+")")}return a.B}function Dr(a){var b=null;a.B&&(b=xa()+"/api/v1/user?req=load&user="+a.B+"&state="+tr(a,Cr));return b}
function Ir(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=tr(a,Cr);d.data=c;b=wa(xa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Oa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Oa(c),Fa("user",""),a.B=null)}}
function Eb(a,b,c){a=gb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=kb(c),c=nb(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=kb(f),g=new yr(g,d,!0);mb(g,f);g.Y&&Er(g,g.$f)}});La.show.push(function(){for(var a=nb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=ib("Computer",c.id))&&c.ga&&!c.la.cc&&c.$f(-1)}});
La.exit.push(function(){for(var a=nb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=ib("Computer",c.id))&&c.la.cc&&sr(c,!(!c.A||c.V),!0)}});var Kr=0;function Lr(a,b,c,d,e,f){e("Loading "+a+"...");wa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):Wr(h,a,b,c,d,e,f)})}
function Wr(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){fb(c,b,a);var h=b;h&&0>h.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+h+'"}';"object"==typeof resources&&(h=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,
"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Xr(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Xr(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");wa(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],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[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);Xr(a,b,c)}})}else c(a,null)}
function Yr(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ka(a))}function f(a){e("Error: "+a);k&&(--Kr||Sa(!0));k=!1}var g,h,k=!0;Kr++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c||
(c="/versions/pcjs/1.21.1/components.xsl");l=function(d,h){h?Lr(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--Kr||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Kr||Sa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Lr(b,a,d,!0,e,l):Wr(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return Yr(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta;
function Zr(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ia(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?wa(b,null,!0,function(a,b){$r(b,d)}):$r(null,d)}else w("Error ("+c+") requesting "+a)}
function $r(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ha(l);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
m.Pb=function(a,b,c){var d=this;switch(b){case "power":return this.qa[b]=c,c.onclick=function(){d.C||(d.la.cc?tr(d,!1,!0):Fr(d,d.$f))},!0;case "reset":return this.qa[b]=c,c.onclick=function(){if(d.la.cc&&!d.C)if(d.A&&!d.V){var a=za("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");tr(d,a,!0);!a&&d.fa?window&&window.location.reload():(a||(d.eh=!0),d.$f(Br),d.eh=!1)}else d.reset(),d.F&&Rc(d.F)},!0;case "save":if(ia(xa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.qa[b]=c;c.onclick=function(){var a=Cr(d,!0);if(a){var b=!!(d.A&&!d.V||d.fa),c=tr(d,b);b?Jr(d,a,c):d.Oa("Resume disabled, machine state not saved")}};return!0}return!1};
function Cr(a,b){var c=a.B;c||(c=Ea("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Kr(a,c))||a.Oa("The user ID is invalid."))):b&&a.Oa("Browser local storage is not available"));return c}
function Kr(a,b){a.B=null;var c=wa(xa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Fa("user",c.data),a.B=c.data)}catch(e){w(e.message+" ("+d+")")}return a.B}function Er(a){var b=null;a.B&&(b=xa()+"/api/v1/user?req=load&user="+a.B+"&state="+ur(a,Dr));return b}
function Jr(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ur(a,Dr);d.data=c;b=wa(xa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Oa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Oa(c),Fa("user",""),a.B=null)}}
function Eb(a,b,c){a=gb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=kb(c),c=nb(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=kb(f),g=new zr(g,d,!0);mb(g,f);g.Y&&Fr(g,g.$f)}});La.show.push(function(){for(var a=nb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=ib("Computer",c.id))&&c.ga&&!c.la.cc&&c.$f(-1)}});
La.exit.push(function(){for(var a=nb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=kb(a[b]);(c=ib("Computer",c.id))&&c.la.cc&&tr(c,!(!c.A||c.V),!0)}});var Lr=0;function Mr(a,b,c,d,e,f){e("Loading "+a+"...");wa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):Xr(h,a,b,c,d,e,f)})}
function Xr(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){fb(c,b,a);var h=b;h&&0>h.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+h+'"}';"object"==typeof resources&&(h=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,
"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Yr(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Yr(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");wa(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],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[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);Yr(a,b,c)}})}else c(a,null)}
function Zr(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ka(a))}function f(a){e("Error: "+a);k&&(--Lr||Sa(!0));k=!1}var g,h,k=!0;Lr++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c||
(c="/versions/pcjs/1.21.1/components.xsl");l=function(d,h){h?Mr(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--Lr||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Lr||Sa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Mr(b,a,d,!0,e,l):Xr(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return Zr(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta;
function $r(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ia(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?wa(b,null,!0,function(a,b){as(b,d)}):as(null,d)}else w("Error ("+c+") requesting "+a)}
function as(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ha(l);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n'),c+="...\n",c+='<script type="text/javascript" src="'+g+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",w(c)):w("Missing XML/XSL resources")}
window.savePC=function(a,b){var c=ib("Computer",a),d=ib("Debugger",a);if(c){var e=sr(c,!0),f=c.da?JSON.stringify(c.da):null;b||(b="/versions/pcjs/1.21.1/pc"+(d?"-dbg":"")+".js");wa(b,null,!0,function(c,d,k){Zr(c,d,k,[a,fa(b,!0),f,e])});return!0}w("Unable to identify machine '"+a+"'");return!1};})();
window.savePC=function(a,b){var c=ib("Computer",a),d=ib("Debugger",a);if(c){var e=tr(c,!0),f=c.da?JSON.stringify(c.da):null;b||(b="/versions/pcjs/1.21.1/pc"+(d?"-dbg":"")+".js");wa(b,null,!0,function(c,d,k){$r(c,d,k,[a,fa(b,!0),f,e])});return!0}w("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -59,12 +59,12 @@ l.Sb=function(a){return a?this.save():!0};function lc(a){(!0===a.da.ig||null===a
function mc(a,b){for(var c=0;c<a.Vd.length;c++)nc(a.Vd[c],b);if(a.oa&&a.oa.md&&(c=a.oa.md,c.ta)){nb(c,18,c.R,c.sa);if(c.Ga){var d=c.ha,e=c.B,f,g;null==f&&(f=0);null==g&&(g=d.L-f|0);null==e&&(e={gg:0,cd:0,bg:[]});var h=f>>>d.ca;f=f+g-1>>>d.ca;e.gg=0;for(e.cd=0;h<=f;)g=d.P[h],e.gg+=g.size,g.size&&(e.bg.push(na(mb,h,0,0,g.type)),e.cd++),h++;c.B=e;c.la=c.B.cd*c.ha.tb/691200;d=0;c.B.Ih=0;c.B.He||(c.B.He=[]);var e=-1,h=0,k=-1;for(f=0;f<c.B.cd;f++){var m=c.B.bg[f];g=oa(mb.type,m);m=oa(mb.bj,m);if(g!=e||
m!=k+1)(k=f-h)&&(d+=pb(c,h,k,e)),e=g,h=f;k=m}d+=pb(c,h,f-h,e);e=c.B.Bj!=d;c.B.Bj=d;if(e){e=new hb(0,0,c.R.width,c.R.height);c.B.ae=[];h=c.B.cd;for(d=0;d<c.B.Ih;d++)f=c.B.He[d].cd,c.B.ae.push(ib(e,f,h,!d)),h-=f;for(d=0;d<c.B.ae.length;d++)e=c.B.He[d],h=f=c.B.ae[d],g=c.sa,(k=Vb[e.type])||(k=new gb),g.strokeStyle="black",g.strokeRect(h.x,h.y,h.Dc,h.A),g.fillStyle="string"==typeof k?k:k.toString(),g.fillRect(h.x,h.y,h.Dc,h.A),h=c,g=f,h.S=h.fa,h.L=h.ia,f=g.x+(g.Dc>>1),k=g.y+(g.A>>1),m=g.A,g.Dc<g.A&&(m=
g.Dc,h.ca=!0,h.G.save(),h.G.translate(f,k),h.G.rotate(-Math.PI/2),f=k=0),m<h.L&&(h.L=m,h.S=h.L+"px Monaco, Lucida Console, Courier New"),g=k,h.D=f,h.K=g,h=c,e=Ub[e.type]+" ("+(e.cd*c.ha.tb/1024|0)+"Kb)",h.G.font=h.S,h.D-=h.G.measureText(e).width>>1,h.K+=(h.L>>1)-2,ob(h,e),h.ca&&(h.G.restore(),h.ca=!1)}}else ob(c,"This space intentionally left blank");c.context.drawImage(c.R,0,0,c.R.width,c.R.height,c.La,c.Va,c.Da,c.Fa);c.ta=!1}}
l.Tc=function(){if(this.Vd.length){var a=0,b=0;window&&(a=window.scrollX,b=window.scrollY);this.Vd[0].Tc();window&&window.scrollTo(a,b)}};
l.Tc=function(a){if(this.Vd.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);this.Vd[0].Tc();a&&window&&window.scrollTo(b,c)}};
l.zb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.ja[b]=c;a=!0;break;case "run":this.ja[b]=c;c.onclick=function(){var a;if(a=d.oa)if(a=d.oa,a.da.Pb)a=!0;else{var b=null,c,h=Ta(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.da.le);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.da.Pb);c++);c==h.length&&(b=a);n("The "+b.type+" component ("+b.id+") is not "+(b.da.le?"powered yet":"ready yet"+(b.Df?" (waiting for notification)":""))+".");a=!1}a&&(d.da.Qb?oc(d,!0):d.oh(!0))};
a=!0;break;case "speed":this.ja[b]=c;a=!0;break;case "setSpeed":this.ja[b]=c,c.onclick=function(){pc(d,d.T.zd<<1,!0)},c.textContent=this.T.re.toFixed(2)+"Mhz",a=!0}return a};function qc(a,b){if(a.da.Qb){var c=a.A-b;a.A-=c;a.kc-=c}}function rc(a,b,c){a.Oc+=b;c&&(a.kc=a.A=0)}
function sc(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.T.zd&&a.T.yd&&(d=a.T.yd/a.T.Ff);a.T.Yh=Math.round(1E3/30);a.T.Uk=Math.floor(a.T.Zc/c*d);a.T.vg=Math.floor(a.T.Zc/30*d);a.T.$h=Math.floor(a.T.Zc/60*d);a.T.Zh=Math.floor(a.T.Zc/2*d);b||(a.T.Re=a.T.vg,a.T.Qe=a.T.$h,a.T.Pe=a.T.Zh);a.T.wg=0}function tc(a,b){var c=a.Oc+a.xc+a.kc-a.A;b&&1<a.T.zd&&a.T.yd>a.T.Ff&&(c=Math.round(c/a.T.zd));return c}function ic(a){a.T.yd=0;a.Oc=a.xc=a.kc=a.A=0;jc(a);pc(a,1)}
function pc(a,b,c){if(void 0!==b){.8>a.T.yd/a.T.re&&(b=1);a.T.zd=b;b=a.T.Ff*a.T.zd;if(a.T.re!=b){a.T.re=b;b=a.T.re.toFixed(2)+"Mhz";var d=a.ja.setSpeed;d&&(d.textContent=b);a.oc("target speed: "+b)}c&&a.Tc()}rc(a,a.xc);a.xc=0;a.T.se=ka();a.T.Od=0;sc(a)}
l.oh=function(a){if($a(this,!0)){if(!this.da.Qb){pc(this);this.oa&&this.oa.start(this.T.se,tc(this));this.da.Qb=!0;this.da.Rh=!0;this.R&&uc(this.R);var b=this.ja.run;b&&(b.textContent="Halt");this.Wd(!0);a&&this.Tc()}this.T.wg>=this.T.Zc&&sc(this,!0);this.T.Se=0;this.T.Gf=ka();this.T.Od&&(a=this.T.Gf-this.T.Od,a>this.T.Yh&&(this.T.se+=a,this.T.se>this.T.Gf&&(this.T.se=this.T.Gf)));try{do{var c=this.da.Bf?1:this.T.Uk;if(this.R){vc(this.R);var d=this.R;a=c;var e=d.K[0];if(e.Ld){var f=(tc(d.A,d.ca)-
l.oh=function(a){if($a(this,!0)){if(!this.da.Qb){pc(this);this.oa&&this.oa.start(this.T.se,tc(this));this.da.Qb=!0;this.da.Rh=!0;this.R&&uc(this.R);var b=this.ja.run;b&&(b.textContent="Halt");this.Wd(!0);a&&this.Tc(!0)}this.T.wg>=this.T.Zc&&sc(this,!0);this.T.Se=0;this.T.Gf=ka();this.T.Od&&(a=this.T.Gf-this.T.Od,a>this.T.Yh&&(this.T.se+=a,this.T.se>this.T.Gf&&(this.T.se=this.T.Gf)));try{do{var c=this.da.Bf?1:this.T.Uk;if(this.R){vc(this.R);var d=this.R;a=c;var e=d.K[0];if(e.Ld){var f=(tc(d.A,d.ca)-
e.gd)/d.Ha|0,g=wc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Ha|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.R;a=c;if(k.B&&k.B[11]&64){var m=k.na-tc(k.A,k.ca);0<m&&a>m&&(a=m)}c=a}try{this.mj(c)}catch(x){if("number"!=typeof x)throw x;}var q=this.kc-this.A;this.xc+=q;this.T.Se+=q;rc(this,0,!0);a=q;this.da.Bf&&(b=!1,this.T.Hf=this.T.Hf+this.Th()|0,this.T.te-=a,0>=this.T.te&&(this.T.te+=this.T.Ne,b=!0),0<=this.T.Oe&&this.T.Oe<=tc(this)&&(this.T.Ne=this.T.Oe=-1,jc(this),oc(this),b=!0),b&&this.oc(tc(this)+" cycles: checksum="+
ea(this.T.Hf)));this.T.Qe-=q;0>=this.T.Qe&&(this.T.Qe+=this.T.$h,mc(this));this.T.Pe-=q;0>=this.T.Pe&&(this.T.Pe+=this.T.Zh,this.Wd());this.T.Re-=q;if(0>=this.T.Re){this.T.Re+=this.T.vg;break}}while(this.da.Qb)}catch(x){oc(this);kc(this);this.oa&&this.oa.stop(ka(),tc(this));$a(this,!1);bb(this,x.stack||x.message);return}c=setTimeout;d=this.xj;this.T.Od=ka();e=this.T.Yh;this.T.Se&&(e=Math.round(e*this.T.Se/this.T.vg));e-=this.T.Od-this.T.Gf;if(f=this.T.Od-this.T.se)this.T.yd=Math.round(this.xc/(10*
f))/100,864E5<=f&&(this.Oc=0,this.R&&vc(this.R,!0),pc(this));if(0>e||this.T.yd<this.T.re)e=0;this.T.wg+=this.T.Se;this.T.Od+=e;c(d,e)}else kc(this),this.oa&&this.oa.stop(ka(),tc(this))};l.mj=function(){return 0};function oc(a,b){a.da.Nc&&(a.da.jg=!0);a.kc-=a.A;a.A=0;rc(a,a.xc);a.xc=0;if(a.da.Qb){a.da.Qb=!1;a.R&&uc(a.R);var c=a.ja.run;c&&(c.textContent="Run")}a.da.Le=b}function kc(a){mc(a,void 0);a.Wd()}
@ -431,15 +431,15 @@ function lk(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=uk(a,g,!0);a.kg&&h==V["`"]&&
function tk(a,b,c){var d=!1;nk(a,b,!0,c);var e=X[b]||X[b+1E3];if(void 0!==e){14==e&&40==(a.bc&40)&&(e=83);var d=[],f=e&255;if(83<f&&83==a.Y)return!1;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)e=a,f=d[c],e.$b&&(20>e.$b.length?(e.$b.push(f),1==e.$b.length&&e.R&&Oj(e.R,f)):20==e.$b.length&&
e.$b.push(255));d=!0}return d}Ea(function(){for(var a=Za(document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new dk(d);Ya(d,c)}});
function Y(a,b,c,d,e){Ia.call(this,"Video",a,Y);this.ba=a.model;this.jb=vk[this.ba]||wk;this.Vc=a.memory||0;this.nd=a.switches;this.ia=a.mode;if(void 0===this.ia||void 0===xk[this.ia])this.ia=yk;this.Hb=a.charCols;this.vc=a.charRows;if(void 0===this.Hb||void 0===this.vc)this.Hb=xk[this.ia][0],this.vc=xk[this.ia][1];this.fa=a.screenWidth;this.pa=a.screenHeight;this.Yd=a.scale;this.Xd=12<=Math.round(this.fa/this.Hb);this.ca=b;this.Y=c;this.H=(this.Hd=d)||b||null;this.od=a.touchScreen;this.wc=zk;this.K=
null;this.Vd=a.autoLock;this.bb=this.Fb=0;this.xa=[];this.na=Array(this.jb==Uj?256:16);this.Ka=!1;var f=this;this.fd=ya("Gecko/");b=["","moz","webkit","ms"];if(this.W=e)if(this.W.ie=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.W.ie){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){Ak(f,document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?
null;this.Vd=a.autoLock;this.cb=this.Fb=0;this.xa=[];this.na=Array(this.jb==Uj?256:16);this.Ka=!1;var f=this;this.fd=ya("Gecko/");b=["","moz","webkit","ms"];if(this.W=e)if(this.W.ie=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.W.ie){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){Ak(f,document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?
!0:!1)},!1);break}for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenerror","on"+c in document){document.addEventListener(c,function(){Ak(f,null)},!1);break}}this.H&&(this.H.onfocus=function(){return f.Pf(!0)},this.H.onblur=function(){return f.Pf(!1)},this.H.Md=this.H.requestPointerLock||this.H.mozRequestPointerLock||this.H.webkitRequestPointerLock,this.H.oj=this.H.exitPointerLock||this.H.mozExitPointerLock||this.H.webkitExitPointerLock,this.H.Md&&(e=function(){f.bf(document.pointerLockElement===f.H||document.mozPointerLockElement===
f.H||document.webkitPointerLockElement===f.H)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",e,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",e,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",e,!1)));if(a=a.fontROM)"json"!=ga(a)&&(a=qa()+"/api/v1/dump?file="+a+"&format=bytes"),pa(a,null,!0,function(a,b,c){Bk(f,a,b,c)})}Qa(Y);
var wk=1,Uj=7,vk={mda:1,cga:3,ega:5,vga:7},yk=7,Ck={2:{Lf:15700,Kf:208,Qf:85,Rf:96},3:{Lf:18432,Kf:364,Qf:85,Rf:96},4:{Lf:21850,Kf:364,Qf:85,Rf:96},7:{Lf:16700,Kf:480,Qf:85,Rf:83}},Dk={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},xk=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];xk[yk]=[80,25,1,0,1];xk[13]=[320,200,8];xk[14]=[640,200,8];xk[15]=[640,350,8];xk[16]=[640,350,8];
xk[17]=[640,480,8];xk[18]=[640,480,8];xk[19]=[320,200,1];xk[20]=[320,240,4];xk[21]=[320,400,4];xk[0]=xk[1];xk[2]=xk[3];xk[5]=xk[4];
var Ek=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Fk=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Gk=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Hk=[2,4,6],Ik=[3,5,7],Jk=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Kk=[0,255,65280,65535,16711680,16711935,16776960,
16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Lk=[0];Lk[128]=1;Lk[32768]=2;Lk[32896]=3;Lk[8388608]=4;Lk[8388736]=5;Lk[8421376]=6;Lk[8421504]=7;Lk[-2147483648]=8;Lk[-2147483520]=9;Lk[-2147450880]=10;Lk[-2147450752]=11;Lk[-2139095040]=12;Lk[-2139094912]=13;Lk[-2139062272]=14;Lk[-2139062144]=15;
function Mk(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Nk[b],f=a.la||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Ok:Pk)];this.jb=b;this.bb=e[2];this.Fb=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.bb&&(this.Fb=Math.min(this.Vc>>2,32768));this.cc=c[0];this.Jc=c[1];this.gf=c[2];this.Z=c[3];this.pc=c[4]&255;this.Sf=c[4]>>8&255;this.eb=c[5];this.rg=Ok;if(5<=b){this.rg=Pk;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.bb,this.Fb,this.Vc],
Array(this.Vc>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ke=b[0];this.Sd=b[1];this.Ic=b[2];this.mh=b[3];this.hf=b[4];this.Uf=b[5];this.Ae=b[6];this.ze=b[7];this.ej=b[8];this.fj=b[9];this.ye=b[10];this.Dd=b[11];this.qb=b[12];d=b[13];"number"==typeof d&&(d=[this.bb,this.Fb,d]);this.bb=d[0];this.Fb=d[1];d=this.Vc>>2;if((this.rd=b[14])&&this.rd.length<d){for(var e=this.rd,g=0,h=Array(d),k=0;k<e.length-1;){for(var m=e[k++],q=e[k++];m--;)h[g]=q,g+=2;g==d&&(g=1)}this.rd=h}(d=b[15])&&
function Mk(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Nk[b],f=a.la||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?Ok:Pk)];this.jb=b;this.cb=e[2];this.Fb=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.cb&&(this.Fb=Math.min(this.Vc>>2,32768));this.cc=c[0];this.Jc=c[1];this.gf=c[2];this.Z=c[3];this.pc=c[4]&255;this.Sf=c[4]>>8&255;this.bb=c[5];this.rg=Ok;if(5<=b){this.rg=Pk;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.cb,this.Fb,this.Vc],
Array(this.Vc>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Ke=b[0];this.Sd=b[1];this.Ic=b[2];this.mh=b[3];this.hf=b[4];this.Uf=b[5];this.Ae=b[6];this.ze=b[7];this.ej=b[8];this.fj=b[9];this.ye=b[10];this.Dd=b[11];this.qb=b[12];d=b[13];"number"==typeof d&&(d=[this.cb,this.Fb,d]);this.cb=d[0];this.Fb=d[1];d=this.Vc>>2;if((this.rd=b[14])&&this.rd.length<d){for(var e=this.rd,g=0,h=Array(d),k=0;k<e.length-1;){for(var m=e[k++],q=e[k++];m--;)h[g]=q,g+=2;g==d&&(g=1)}this.rd=h}(d=b[15])&&
(d&-2147483648?d&=2147483647:d=Qk[d&65280]|Qk[d&255]);this.Wf(d);this.hh=b[16];this.$a=b[17];this.Fc=b[18];this.sb=b[19];this.af=b[20];this.jd=b[21];this.Ad=b[22];this.sg=b[23];this.tg=b[24];this.df=b[25];this.ih=this.ve=0;this.jb==Uj&&(this.nh=b[26],this.lh=b[27],this.bd=b[28],this.zc=b[29],this.Tf=b[30],this.xe=b[31])}f=Ck[f]||Ck[3];this.ug=a.A.T.Zc/f.Lf|0;this.Tk=this.ug*f.Qf/100|0;this.xg=this.ug*f.Kf|0;this.Vk=this.xg*f.Rf/100|0;this.yg=c[7]||0}}var Ok=18,Pk=25,Qk=[,,1024,5120];Qk[16]=1280;
Qk[512]=0;Qk[1024]=32;Qk[1536]=96;Qk[2560]=160;Qk[3584]=224;Qk[768]=16;Qk[4096]=1;Qk[8192]=2;Qk[24576]=98;Qk[40960]=162;Qk[57344]=226;var Rk=[];Rk[1024]=function(a){a+=this.H;return(this.controller.qb=this.V[a])>>this.controller.hh&255};Rk[17408]=function(a){return(this.controller.qb=this.V[(a&-4)+this.H])>>((a&3)<<3)&255};Rk[5120]=function(a){a+=this.H;var b=this.controller.qb=this.V[a&-2];return(a&1?b>>8:b)&255};
Rk[1280]=function(a){a+=this.H;a=this.controller.qb=this.V[a];for(var b=this.controller.tg,c=this.controller.sg&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d};Rk[0]=function(a,b){var c=a+this.H,d;d=(b|b<<8|b<<16|b<<24)&this.controller.jd|this.controller.Ad;d=d&this.controller.sb|this.controller.qb&~this.controller.sb;d=d&this.controller.$a|this.V[c]&~this.controller.$a;this.V[c]!=d&&(this.V[c]=d,this.Ia=!0)};
@ -451,8 +451,8 @@ Rk[16]=function(a,b){a+=this.H;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controll
Rk[17]=function(a){a+=this.H;var b=a&-2;a=this.controller.$a&(b==a?16711935:-16711936);a=this.V[b]&~a|this.controller.qb&a;this.V[b]!=a&&(this.V[b]=a,this.Ia=!0)};Rk[2]=function(a,b){var c=a+this.H,d=Kk[b&15],d=d&this.controller.sb|this.controller.qb&~this.controller.sb,d=d&this.controller.$a|this.V[c]&~this.controller.$a;this.V[c]!=d&&(this.V[c]=d,this.Ia=!0)};
Rk[98]=function(a,b){var c=a+this.H,d=Kk[b&15],d=d&this.controller.qb,d=d&this.controller.sb|this.controller.qb&~this.controller.sb,d=d&this.controller.$a|this.V[c]&~this.controller.$a;this.V[c]!=d&&(this.V[c]=d,this.Ia=!0)};Rk[162]=function(a,b){var c=a+this.H,d=Kk[b&15],d=d|this.controller.qb,d=d&this.controller.sb|this.controller.qb&~this.controller.sb,d=d&this.controller.$a|this.V[c]&~this.controller.$a;this.V[c]!=d&&(this.V[c]=d,this.Ia=!0)};
Rk[226]=function(a,b){var c=a+this.H,d=Kk[b&15],d=d^this.controller.qb,d=d&this.controller.sb|this.controller.qb&~this.controller.sb,d=d&this.controller.$a|this.V[c]&~this.controller.$a;this.V[c]!=d&&(this.V[c]=d,this.Ia=!0)};Rk[3]=function(a,b){var c=a+this.H;b=b>>this.controller.Fc|b<<8-this.controller.Fc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.sb;d=this.controller.af&d|this.controller.qb&~d;d=d&this.controller.$a|this.V[c]&~this.controller.$a;this.V[c]!=d&&(this.V[c]=d,this.Ia=!0)};
function Sk(a){var b=[];if(void 0!==a.jb){b[0]=a.cc;b[1]=a.Jc;b[2]=a.gf;b[3]=a.Z;b[4]=a.pc|a.Sf<<8;b[5]=a.eb;if(5<=a.jb){var c=[];c[0]=a.Ke;c[1]=a.Sd;c[2]=a.Ic;c[3]=a.mh;c[4]=a.hf;c[5]=a.Uf;c[6]=a.Ae;c[7]=a.ze;c[8]=a.ej;c[9]=a.fj;c[10]=a.ye;c[11]=a.Dd;c[12]=a.qb;c[13]=[a.bb,a.Fb,a.Vc];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],m=h+2;m<d.length&&d[m]===k;)m+=2;f[e++]=m-h>>1;f[e++]=k;h=m}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.qg|-2147483648;c[16]=a.hh;c[17]=a.$a;c[18]=a.Fc;c[19]=a.sb;c[20]=a.af;c[21]=a.jd;c[22]=a.Ad;c[23]=a.sg;c[24]=a.tg;c[25]=a.df;a.jb==Uj&&(c[26]=a.nh,c[27]=a.lh,c[28]=a.bd,c[29]=a.zc,c[30]=a.Tf,c[31]=a.xe);b[6]=c}b[7]=a.yg}return b}Mk.prototype.Uh=function(a){return[this.rd,a-this.bb]};Mk.prototype.ng=function(){return this.A};
function Sk(a){var b=[];if(void 0!==a.jb){b[0]=a.cc;b[1]=a.Jc;b[2]=a.gf;b[3]=a.Z;b[4]=a.pc|a.Sf<<8;b[5]=a.bb;if(5<=a.jb){var c=[];c[0]=a.Ke;c[1]=a.Sd;c[2]=a.Ic;c[3]=a.mh;c[4]=a.hf;c[5]=a.Uf;c[6]=a.Ae;c[7]=a.ze;c[8]=a.ej;c[9]=a.fj;c[10]=a.ye;c[11]=a.Dd;c[12]=a.qb;c[13]=[a.cb,a.Fb,a.Vc];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],m=h+2;m<d.length&&d[m]===k;)m+=2;f[e++]=m-h>>1;f[e++]=k;h=m}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.qg|-2147483648;c[16]=a.hh;c[17]=a.$a;c[18]=a.Fc;c[19]=a.sb;c[20]=a.af;c[21]=a.jd;c[22]=a.Ad;c[23]=a.sg;c[24]=a.tg;c[25]=a.df;a.jb==Uj&&(c[26]=a.nh,c[27]=a.lh,c[28]=a.bd,c[29]=a.zc,c[30]=a.Tf,c[31]=a.xe);b[6]=c}b[7]=a.yg}return b}Mk.prototype.Uh=function(a){return[this.rd,a-this.cb]};Mk.prototype.ng=function(){return this.A};
Mk.prototype.Wf=function(a){if(null!=a&&a!=this.qg){var b=a&65280,c=Rk[b];c||b&4096&&(c=Rk[4096]);var b=a&255,d=Rk[b];d||b&16&&(d=Rk[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.qg=a}};var Nk=[];Nk[wk]=["MDA",948,720896,4096,0,3];Nk[3]=["CGA",980,753664,16384,0,2];Nk[5]=["EGA",980,753664,16384,65536,4];Nk[Uj]=["VGA",980,753664,16384,262144,7];var zk=0;l=Y.prototype;
l.mc=function(a,b,c,d){this.ha=b;this.A=c;this.Oa=d;3!=vk[this.ba]&&(Mb(b,this,Tk),Ob(b,this,Uk));vk[this.ba]!=wk&&(Mb(b,this,Vk),Ob(b,this,Wk));5<=this.jb&&(Mb(b,this,Xk),Ob(b,this,Yk));this.jb==Uj&&(Mb(b,this,Zk),Ob(b,this,$k));if((this.C=jb(a,"Keyboard"))&&this.ca){for(var e in this.ja)0<e.indexOf("lock")&&this.C.zb("led",e,this.ja[e]);this.C.zb(this.Hd?"textarea":"canvas","kbd",this.H)}this.Ab=9;(this.R=jb(a,"ChipSet"))&&this.nd&&5==this.jb&&(this.Ab=Ai(this.nd,this.Ab));"mouse"==this.od?(this.K=
jb(a,"Mouse"))&&al(this,2):"keygrid"==this.od&&this.C&&al(this,1)};l.zb=function(a,b,c){var d=this;if(!this.ja[b])switch(this.ja[b]=c,b){case "fullScreen":return this.W&&this.W.ie?c.onclick=function(){d.ie()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.Gd=c.textContent,this.H&&this.H.Md?c.onclick=function(){d.Md(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){nc(d,!0)},!0}return!1};l.Tc=function(){this.H&&this.H.focus()};
@ -461,38 +461,38 @@ function Ak(a,b){!b&&a.W&&(a.fd?a.ca.style.width=a.ca.style.height="":a.W.style.
function al(a,b){var c=a.H;c&&!a.wc&&(c.addEventListener("touchstart",function(b){bl(a,b,!0)},!1),c.addEventListener("touchmove",function(b){bl(a,b)},!0),c.addEventListener("touchend",function(b){bl(a,b,!1)},!1),a.wc=b,a.gb=a.rb=a.pd=-1,a.uc=!1,a.Cb=null,a.tc=!1,a.Zd=function(){a.tc=!0;a.K.he(cl,!0)})}l.Pf=function(a){this.C&&this.C.Pf(a)};
function bl(a,b,c){var d,e,f=0,g=0;e=a.ca;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.fa/a.ca.offsetWidth,k=a.pa/a.ca.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.wc)d=d/(a.fa/3)|0,e=e/(a.pa/3)|0,1!=e?e?mk(a.C,1040,!0):mk(a.C,1038,!0):1!=d&&(d?mk(a.C,1039,!0):mk(a.C,1037,!0));else if(a.K){g=a.uc;f=b.timeStamp-a.pd;!0===c?(a.uc=500<f,a.pd=b.timeStamp,
a.Cb=setTimeout(a.Zd,500)):null!=a.Cb&&(clearTimeout(a.Cb),a.Cb=null);void 0===c&&(a.uc=!1);g||b.preventDefault();if(!1===c){a.tc?(a.K.he(cl,!1),a.tc=!1,b=!0):b=!1;if(b)return;if(200>f){a.K.he(cl,!0);a.K.he(cl,!1);return}}if(c||0>a.gb||0>a.rb)a.gb=d,a.rb=e;c=Math.round(d-a.gb);b=Math.round(e-a.rb);a.gb=d;a.rb=e;a.K.pg(c,b,a.gb,a.rb)}}l.Tb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Sb=function(a){return a?this.save():!0};
l.reset=function(){var a=!0,b=0;this.R&&(b=Ti(this.R));this.ba||(this.jb=3==b?wk:3);this.ia=3;switch(this.jb){case Uj:b=7;break;case 5:var c=Dk[this.Ab];c&&(b=c[0]);b||(b=4);break;case wk:b=3;this.ia=yk;break;default:b=2}this.la!==b&&(this.la=b,a=!0);this.D=null;this.oa=this.Yb=new Mk(this,wk);this.P=this.Bb=new Mk(this,3);5>this.jb?this.B=new Mk:(this.B=new Mk(this,this.jb,null,this.Vc),dl(this));el(this);this.va=null;this.Ea=this.aa=-1;this.za=0;fl(this,this.ia);if(this.D.bb&&a){a=this.D.bb+this.Va;
for(b=this.D.bb;b<a;b+=2){var d=65536*Math.random()|0;4==this.la||7==this.la?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);Lb(this.ha,b,c|d<<8)}nc(this,!0)}};function dl(a){a.B.hf&1?(a.oa=a.Yb,a.P=a.B):(a.oa=a.B,a.P=a.Bb)}l.save=function(){var a=new be(this);D(a,0,Sk(this.Yb));D(a,1,Sk(this.Bb));D(a,2,[this.la,this.ia,this.va]);D(a,3,Sk(this.B));return a.data()};
l.reset=function(){var a=!0,b=0;this.R&&(b=Ti(this.R));this.ba||(this.jb=3==b?wk:3);this.ia=3;switch(this.jb){case Uj:b=7;break;case 5:var c=Dk[this.Ab];c&&(b=c[0]);b||(b=4);break;case wk:b=3;this.ia=yk;break;default:b=2}this.la!==b&&(this.la=b,a=!0);this.D=null;this.oa=this.Yb=new Mk(this,wk);this.P=this.Bb=new Mk(this,3);5>this.jb?this.B=new Mk:(this.B=new Mk(this,this.jb,null,this.Vc),dl(this));el(this);this.va=null;this.Ea=this.aa=-1;this.za=0;fl(this,this.ia);if(this.D.cb&&a){a=this.D.cb+this.Va;
for(b=this.D.cb;b<a;b+=2){var d=65536*Math.random()|0;4==this.la||7==this.la?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);Lb(this.ha,b,c|d<<8)}nc(this,!0)}};function dl(a){a.B.hf&1?(a.oa=a.Yb,a.P=a.B):(a.oa=a.B,a.P=a.Bb)}l.save=function(){var a=new be(this);D(a,0,Sk(this.Yb));D(a,1,Sk(this.Bb));D(a,2,[this.la,this.ia,this.va]);D(a,3,Sk(this.B));return a.data()};
l.restore=function(a){var b=a[2];this.la=b[0];this.ia=b[1];this.va=b[2];this.D=null;this.oa=this.Yb=new Mk(this,wk,a[0]);this.P=this.Bb=new Mk(this,3,a[1]);this.B=new Mk(this,this.jb,a[3],this.Vc);this.B.cc&&dl(this);el(this);if(!gl(this))return!1;hl(this);return!0};
function Bk(a,b,c,d){if(d)a.Ba("Unable to load font ROM (error "+d+": "+b+")");else{Sa(a.mf,b,c);try{var e=eval("("+c+")");if(!e.length){n("Empty font ROM: "+b);return}if(1==e.length){n(e[0]);return}if(8192==e.length)Tj(a,e,[6144,0]);else{a.Ba("Unrecognized font data length ("+e.length+")");return}}catch(f){a.Ba("Font ROM data error: "+f.message);return}(a.Y||a.Oa)&&p(a)}}
function il(a,b){if(1==b)return a.na[0]=Gk[0],a.na[1]=Gk[7],a.na;if(2==b){var c=a.D.gf;if(a.D===a.B){var d=a.B.Ic[0],c=d&7;d&16&&(c|=8);18!=a.B.Ic[1]&&(c|=32)}a.na[0]=Gk[c&15];c=c&32?Ik:Hk;for(d=0;d<c.length;d++)a.na[d+1]=Gk[c[d]];return a.na}if(a.P===a.Bb)return Gk;a.Ka&&b&&!a.na[16]&&(a.Ka=!1);if(!a.Ka){var c=a.B,d=c.xe,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.na[f]=[h,k,g,255];else{var m=d&&d[255];e=null!=c.Ic[15]?c.Ic:Jk;for(f=0;16>f;f++)g=e[f]&63,m?(g|=
(c.Ic[20]&12)<<4,c.Ic[16]&128&&(g&=-49,g|=(c.Ic[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.na[f]=[h,k,g,255]}a.Ka=!0}return a.na}function Tj(a,b,c,d){a.vb=b;a.Xb=c;a.Ha=d}
function el(a,b){var c=!1;if(window&&a.vb&&(!b||a.I)){var d=0,e=a.Ha?a.Ha:8,f=il(a);jl(a,3,a.Xb[0],d,e,8,a.vb,f)&&(c=!0);d=a.Ha?0:2048;e=a.Ha?a.Ha:9;jl(a,1,a.Xb[1],d,e,14,a.vb,Ek,Fk)&&(c=!0);a.Ha&&jl(a,a.jb,a.Xb[1],0,a.Ha,14,a.vb,f)&&(c=!0)}return c}function jl(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(kl(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Xd&&kl(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
function kl(a,b,c,d,e,f,g,h,k){var m=!1,q=b&1?0:1,x=a.xa[b],r=16>h.length?h.length:16;x||(x={qc:e<<q,rc:f<<q,$d:Array(r),Dh:h.slice(0,r),Ge:k,cg:Array(r)});for(k=0;k<r;k++){var z=h[k],E=x.$d[k]?x.Dh[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var m=x,E=k,J=q,U=c,ca=d,ta=e,ua=f,od=g,Rm=[0,0,0,0],qe=document.createElement("canvas");qe.width=m.qc<<4;qe.height=m.rc<<4;for(var mj=qe.getContext("2d"),xb=void 0,Jc=void 0,Zb=void 0,re=8>ua||!ca?ua:8,Ff=mj.createImageData(m.qc,m.rc),xb=0;256>xb;xb++){for(Zb=
0;Zb<ua;Zb++)for(var Sm=m.Ge&&E&1&&Zb>=ua-2,Tm=od[Zb<re?U+xb*re+Zb:ca+xb*re+Zb-re],Gf=0;Gf<=J;Gf++)for(Jc=0;Jc<ta;Jc++){var nj=Jc<<J,oj=(Zb<<J)+Gf,pj=Sm||Tm&128>>(8<=Jc&&192<=xb&&223>=xb?7:Jc)?z:Rm;ll(Ff,nj,oj,pj);J&&ll(Ff,nj+1,oj,pj)}mj.putImageData(Ff,(xb&15)*m.qc,(xb>>4)*m.rc)}m.$d[E]="#"+ea(z[0],2)+ea(z[1],2)+ea(z[2],2);m.Dh[E]=z;m.cg[E]=qe;m=!0}}a.xa[b]=x;return m}function ml(a){0<a.za||0<=a.aa?0>a.Ea&&(a.Ea=0):a.Ea=-1}
function hl(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.D.eb[b])return;var c=a.D.eb[10],b=c&31,d=a.D.eb[11]&31,e=a.D.eb[9]&31,f=!1;a.D===a.B&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)nl(a);else{c=a.D.eb[15]+((a.D.eb[14]&63)<<8);a.aa!=c&&(nl(a),a.aa=c);d=d-b+1;if(a.qd!=b||a.Oc!=d)a.qd=b,a.Oc=d;a.Da=e+1;ml(a)}}}
function kl(a,b,c,d,e,f,g,h,k){var m=!1,q=b&1?0:1,x=a.xa[b],r=16>h.length?h.length:16;x||(x={qc:e<<q,rc:f<<q,$d:Array(r),Dh:h.slice(0,r),Ge:k,cg:Array(r)});for(k=0;k<r;k++){var z=h[k],E=x.$d[k]?x.Dh[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var m=x,E=k,J=q,U=c,ca=d,ta=e,ua=f,od=g,Sm=[0,0,0,0],qe=document.createElement("canvas");qe.width=m.qc<<4;qe.height=m.rc<<4;for(var mj=qe.getContext("2d"),xb=void 0,Jc=void 0,Zb=void 0,re=8>ua||!ca?ua:8,Ff=mj.createImageData(m.qc,m.rc),xb=0;256>xb;xb++){for(Zb=
0;Zb<ua;Zb++)for(var Tm=m.Ge&&E&1&&Zb>=ua-2,Um=od[Zb<re?U+xb*re+Zb:ca+xb*re+Zb-re],Gf=0;Gf<=J;Gf++)for(Jc=0;Jc<ta;Jc++){var nj=Jc<<J,oj=(Zb<<J)+Gf,pj=Tm||Um&128>>(8<=Jc&&192<=xb&&223>=xb?7:Jc)?z:Sm;ll(Ff,nj,oj,pj);J&&ll(Ff,nj+1,oj,pj)}mj.putImageData(Ff,(xb&15)*m.qc,(xb>>4)*m.rc)}m.$d[E]="#"+ea(z[0],2)+ea(z[1],2)+ea(z[2],2);m.Dh[E]=z;m.cg[E]=qe;m=!0}}a.xa[b]=x;return m}function ml(a){0<a.za||0<=a.aa?0>a.Ea&&(a.Ea=0):a.Ea=-1}
function hl(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.D.bb[b])return;var c=a.D.bb[10],b=c&31,d=a.D.bb[11]&31,e=a.D.bb[9]&31,f=!1;a.D===a.B&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)nl(a);else{c=a.D.bb[15]+((a.D.bb[14]&63)<<8);a.aa!=c&&(nl(a),a.aa=c);d=d-b+1;if(a.qd!=b||a.Oc!=d)a.qd=b,a.Oc=d;a.Da=e+1;ml(a)}}}
function nl(a){if(0<=a.aa){if(void 0!==a.S){var b=a.S[a.aa];if(b&131072){var b=b&-131073,c=a.aa%a.G,d=a.aa/a.G|0;a.I&&a.xa[a.I]&&(a.Ga&&ol(a,c,d,b,a.Ga),ol(a,c,d,b));a.S[a.aa]=b}}a.aa=-1}}
function pl(a){var b,c=a.D;a.Yc=!1;var d=c.Dd[5];if(null!=d){b=1024;var e=0,f=c.Dd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Fc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.jb==Uj&&(e=3,c.Fc=f&7)}d&8&&(b=1280);c=c.ze[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Yc=!0));b|=e}return b}
function ql(a,b){var c=a.D;return c&&null!=b&&b!=c.qg?(c.Wf(b),a.ha.Wf(c.bb,c.Fb,c.ng(),!0),!0):!1}
function gl(a,b){var c,d=a.va,e=a.D;if(e)if(e.jb==wk)d=yk;else if(5<=e.jb){var d=null,f=e.Vc>>2,g=32768<f?32768:f,h=e.Dd[6];if(null!=h){switch(h&12){case 0:e.bb=655360;e.Fb=f;d=255;break;case 4:e.bb=655360;e.Fb=f;d=3==a.la?15:16;break;case 8:e.bb=720896;e.Fb=g;d=yk;break;case 12:e.bb=753664,e.Fb=g,d=3==a.la?2:3}var k=80==(e.Dd[5]&80);!k||e.bb==a.bb&&e.Fb==a.Fb||(b=!0);c=e.ze[1]&8;f=e.eb[6];f|=e.eb[7]&1?256:0;e.jb==Uj&&(f|=e.eb[7]&32?512:0);g=e.eb[9];255!=d&&(h&1?655360!=e.bb&&!k&&350>f?d=c?7-d:6:
e.Dd[5]&64?d=g&31?143>=e.eb[18]?19:20:21:g&128||350>f?d=c?13:14:480<=f&&(d=3==a.la?17:18):d-=c?2:0);c=pl(a)}}else e.Jc&8&&(e.Jc&2?(d=e.Jc&16?6:5,e.Jc&4||--d):(d=e.Jc&1?3:1,e.Jc&4&&--d));else a.va=null,null==d&&(d=a.ia);if(!fl(a,d,b))return!1;ql(a,c);return!0}
function fl(a,b,c){if(null!=b&&(b!=a.va||c)){a.Ed=0;a.va=b;a.Ka=!1;b=a.D||(b==yk?a.oa:a.P);if(b!=a.D||b.bb!=a.bb||b.Fb!=a.Fb){nl(a);if(a.bb){if(!Eb(a.ha,a.bb,a.Fb))return!1;a.D&&(a.D.cc=!1)}a.D=b;b.cc=!0;a.bb=b.bb;a.Fb=b.Fb;if(!yb(a.ha,b.bb,b.Fb,3,b===a.B?b:null))return!1}a.I=0;a.G=a.Hb;a.L=a.vc;a.Sa=a.G;a.Gb=xk[yk][2];b=0;if(c=xk[a.va])a.G=c[0],a.L=c[1],a.Gb=c[2],b=c[3],a.I=c[4],4!=a.la&&7!=a.la||a.D!==a.B||3!=a.I||(7==a.B.eb[9]?a.L=43:a.I=a.jb);a.ld=a.G*a.L|0;a.kd=a.ld/a.Gb|0;a.Va=a.kd;a.fc=0;void 0!==
function ql(a,b){var c=a.D;return c&&null!=b&&b!=c.qg?(c.Wf(b),a.ha.Wf(c.cb,c.Fb,c.ng(),!0),!0):!1}
function gl(a,b){var c,d=a.va,e=a.D;if(e)if(e.jb==wk)d=yk;else if(5<=e.jb){var d=null,f=e.Vc>>2,g=32768<f?32768:f,h=e.Dd[6];if(null!=h){switch(h&12){case 0:e.cb=655360;e.Fb=f;d=255;break;case 4:e.cb=655360;e.Fb=f;d=3==a.la?15:16;break;case 8:e.cb=720896;e.Fb=g;d=yk;break;case 12:e.cb=753664,e.Fb=g,d=3==a.la?2:3}c=80==(e.Dd[5]&80);!c||e.cb==a.cb&&e.Fb==a.Fb||(b=!0);f=e.ze[1]&8;g=e.bb[6];g|=e.bb[7]&1?256:0;e.jb==Uj&&(g|=e.bb[7]&32?512:0);var k=e.bb[9],m=e.bb[23];255!=d&&(h&1?655360==e.cb||c||m&1?e.Dd[5]&
64?d=k&31?143>=e.bb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.la?17:18):d=f?7-d:6:d-=f?2:0);c=pl(a)}}else e.Jc&8&&(e.Jc&2?(d=e.Jc&16?6:5,e.Jc&4||--d):(d=e.Jc&1?3:1,e.Jc&4&&--d));else a.va=null,null==d&&(d=a.ia);if(!fl(a,d,b))return!1;ql(a,c);return!0}
function fl(a,b,c){if(null!=b&&(b!=a.va||c)){a.Ed=0;a.va=b;a.Ka=!1;b=a.D||(b==yk?a.oa:a.P);if(b!=a.D||b.cb!=a.cb||b.Fb!=a.Fb){nl(a);if(a.cb){if(!Eb(a.ha,a.cb,a.Fb))return!1;a.D&&(a.D.cc=!1)}a.D=b;b.cc=!0;a.cb=b.cb;a.Fb=b.Fb;if(!yb(a.ha,b.cb,b.Fb,3,b===a.B?b:null))return!1}a.I=0;a.G=a.Hb;a.L=a.vc;a.Sa=a.G;a.Gb=xk[yk][2];b=0;if(c=xk[a.va])a.G=c[0],a.L=c[1],a.Gb=c[2],b=c[3],a.I=c[4],4!=a.la&&7!=a.la||a.D!==a.B||3!=a.I||(7==a.B.bb[9]?a.L=43:a.I=a.jb);a.ld=a.G*a.L|0;a.kd=a.ld/a.Gb|0;a.Va=a.kd;a.fc=0;void 0!==
b&&(a.Va=(a.Va<<1)+b|0,a.fc=a.Va+b>>1);a.xa.length&&(a.sa=a.fa/a.G|0,a.ta=a.pa/a.L|0,a.I?(b=a.xa[a.I],c=a.xa[a.I<<1],a.Yd&&80==a.G?c&&a.sa>=3*c.qc>>2&&(a.I<<=1,b=c):(c&&a.sa>=c.qc&&(a.I<<=1,b=c),b&&(a.sa=b.qc,a.ta=b.rc)),a.Xa=a.fb=0,b&&(a.Xa=a.G*b.qc,a.fb=a.L*b.rc)):(a.sa=a.ta=1,a.Xa=a.G,a.fb=a.L),a.La=a.Y.createImageData(a.Xa,a.fb),a.Fa=document.createElement("canvas"),a.Fa.width=a.Xa,a.Fa.height=a.fb,a.Ga=a.Fa.getContext("2d"),a.xc=a.Ec=0,a.kc=a.fa,a.lc=a.pa,b=a.fa-a.G*a.sa,c=a.pa-a.L*a.ta,0<b&&
(a.xc=b>>1,a.kc-=b),0<c&&(a.Ec=c>>1,a.lc-=c),b||c)&&(a.Y.fillStyle=a.ca.style.backgroundColor,a.Y.fillRect(0,0,a.fa,a.pa));rl(a,!0);nc(a)}return!0}function ll(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function sl(a){a.za=-1;a.qa=!1;var b=a.kd;if(void 0===a.S||a.S.length!=b)a.S=Array(b)}function rl(a,b){b||(a.Ka=!1);sl(a)}
function ol(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.xa[a.I];h.Ge&&(d=h.Ge[d]);var k=g>>4&15;h.Ge&&(k=h.Ge[k]);e?(b*=h.qc,c*=h.rc,e.fillStyle=h.$d[k],e.fillRect(b,c,h.qc,h.rc)):(b=b*a.sa+a.xc,c=c*a.ta+a.Ec,a.Y.fillStyle=h.$d[k],a.Y.fillRect(b,c,a.sa,a.ta));g&256&&(k=(f&15)*h.qc,f=(f>>4)*h.rc,e?e.drawImage(h.cg[d],k,f,h.qc,h.rc,b,c,h.qc,h.rc):a.Y.drawImage(h.cg[d],k,f,h.qc,h.rc,b,c,a.sa,a.ta));g&512&&(f=a.qd,g=a.Oc,e?(a.Da&&a.Da!==h.rc&&(f=f*h.rc/a.Da|0,g=g*h.rc/a.Da|0),e.fillStyle=h.$d[d],e.fillRect(b,
c+f,h.qc,g)):(a.Da&&a.Da!==a.ta&&(f=f*a.ta/a.Da|0,g=g*a.ta/a.Da|0),a.Y.fillStyle=h.$d[d],a.Y.fillRect(b,c+f,a.sa,g)))}
function nc(a,b){if(a.da.Pb){var c=!1,d=a.D;d&&(d!==a.B?d.Jc&8&&(c=!0):d.Sd&32&&(c=!0));if(c||b){if(b)sl(a);else if(void 0===a.S)return;var e=!1;!(b||++a.Ed&15)&&0<=a.Ea&&(a.Ea++,e=!0);var f=0,g=a.ld,h=a.bb,c=h,k=c+a.Fb;19<=a.va&&(h=c=655360,k=c+65536);if(tl(a,d)&8||d.ve&&d.ve<d.ih)d.df=(d.eb[12]<<8)+d.eb[13]|0,d.ve=0;var m=d.df;a.I&&(m<<=1);c+=m;m=a.Va;5<=a.jb&&d.eb[19]&&d.eb[19]<<1!=d.eb[1]+1&&(a.Sa=d.eb[19]<<(a.I?1:d.eb[20]&64?3:4),m=(a.Sa*(a.L-1)+a.G)/a.Gb|0,a.va<=yk&&(m<<=1));c+m>k&&(m=k-c,0>
function nc(a,b){if(a.da.Pb){var c=!1,d=a.D;d&&(d!==a.B?d.Jc&8&&(c=!0):d.Sd&32&&(c=!0));if(c||b){if(b)sl(a);else if(void 0===a.S)return;var e=!1;!(b||++a.Ed&15)&&0<=a.Ea&&(a.Ea++,e=!0);var f=0,g=a.ld,h=a.cb,c=h,k=c+a.Fb;19<=a.va&&(h=c=655360,k=c+65536);if(tl(a,d)&8||d.ve&&d.ve<d.ih)d.df=(d.bb[12]<<8)+d.bb[13]|0,d.ve=0;var m=d.df;a.I&&(m<<=1);c+=m;m=a.Va;5<=a.jb&&d.bb[19]&&d.bb[19]<<1!=d.bb[1]+1&&(a.Sa=d.bb[19]<<(a.I?1:d.bb[20]&64?3:4),m=(a.Sa*(a.L-1)+a.G)/a.Gb|0,a.va<=yk&&(m<<=1));c+m>k&&(m=k-c,0>
m&&(m=0));k=c+m;if(d=!b&&a.qa){for(var d=a.ha,q=!0,x=c>>>d.ca;0<m&&x<d.P.length;)d.P[x].Ia&&(d.P[x].Ia=q=!1,d.P[x].Ph=!0),m-=d.tb,x++;d=q}if(d){if(!e)return;if(!a.za){if(0>a.aa)return;f=a.aa;g=f+1}}if(a.I){if(a.xa[a.I]){e=0;h=a.za=0;d=1048575;m=a.D.Jc&32;5<=a.jb&&(m=a.D.Ic[16]&8);m&&(h=32768,d&=~h,a.Ea&2||(d&=-65537));for(c+=f<<1;c<k&&f<g;)m=Kb(a.ha,c),m|=65536,m&h&&(a.za++,m&=d),f==a.aa&&(m|=a.Ea&1?131072:0),a.qa&&m===a.S[f]||(ol(a,f%a.G,f/a.G|0,m,a.Ga),a.S[f]=m,e++),c+=2,f++;a.qa=!0;e&&a.Ga&&a.Y.drawImage(a.Fa,
0,0,a.Xa,a.fb,a.xc,a.Ec,a.kc,a.lc);ml(a)}}else if(a.fc){for(var g=k,r,k=c,f=a.za=0,e=a.Gb,h=16==e?65536:196608,d=16==e?1:2,m=il(a,d),x=q=0,z=a.G,E=0,J=a.L,U=0;k<g;){r=Kb(a.ha,k);if(a.qa&&r===a.S[f])q+=e;else{a.S[f]=r;r=r>>8|(r&255)<<8;var ca=h,ta=16;q<z&&(z=q);for(var ua=0;ua<e;ua++){var od=(r&(ca>>=d))>>(ta-=d);ll(a.La,q++,x,m[od])}q>E&&(E=q);x<J&&(J=x);x>=U&&(U=x+1)}k+=2;f++;if(q>=a.G){q=0;x+=2;if(x>a.L)break;x==a.L&&(x=1,k=c+a.fc)}}a.qa=!0;z<a.G&&(a.Ga.putImageData(a.La,0,0,z,J,E-z,U-J),a.Y.drawImage(a.Fa,
0,0,a.G,a.L,0,0,a.fa,a.pa))}else if(a.Yc){g=h;e=a.za=0;h=il(a,8);d=a.D.rd;q=m=0;x=a.G;z=0;E=a.L;J=0;U=a.D.ze[4]&8?4:1;r=a.D.Ic[19]&15;for(ca=a.Sa>a.G?a.Sa-a.G-r>>3:0;c<k;){f=d[c-g];ua=4;r||(a.qa&&f===a.S[e]?(m+=ua,ua=0):a.S[e]=f,e++);if(ua){m<x&&(x=m);for(ta=0;ta<ua;ta++)ll(a.La,m++,q,h[f&255]),f>>=8;m>z&&(z=m);q<E&&(E=q);q>=J&&(J=q+1)}c+=U;if(m>=a.G){m=0;if(++q>a.L)break;c+=ca}}r||(a.qa=!0);x<a.G&&(a.Ga.putImageData(a.La,0,0,x,E,z-x,J-E),a.Y.drawImage(a.Fa,0,0,a.G,a.L,0,0,a.fa,a.pa))}else{g=h;f=
a.za=0;e=il(a);h=a.D.rd;m=d=0;q=a.G;x=0;z=a.L;E=0;J=a.D.Ic[19]&15;for(U=a.Sa>a.G?a.Sa-a.G-J>>3:0;c<k;){r=c++-g;r=h[r];ta=8;J?d?(ca=a.G-d,ta>ca&&(ta=ca)):(r<<=J,ta-=J,a.qa=!1):(a.qa&&r===a.S[f]?(d+=ta,ta=0):a.S[f]=r,f++);if(ta){d<q&&(q=d);for(ca=0;ca<ta;ca++)ua=Lk[r&-2139062144]||0,ll(a.La,d++,m,e[ua]),r<<=1;d>x&&(x=d);m<z&&(z=m);m>=E&&(E=m+1)}if(d>=a.G){d=0;if(++m>a.L)break;c+=U}}J||(a.qa=!0);q<a.G&&(a.Ga.putImageData(a.La,0,0,q,z,x-q,E-z),a.Y.drawImage(a.Fa,0,0,a.G,a.L,0,0,a.fa,a.pa))}}}}
function tl(a,b){var c=0,d=tc(a.A)-b.yg;0>d&&(b.yg=d,d=-d|0);d%b.ug>b.Tk&&(c|=1);d%b.xg>b.Vk&&(c|=9);b.ih=d/b.xg|0;return c}l.tk=function(){var a=this.oa,b;a.cc&&(b=a.pc);return b};l.Gl=function(a,b){var c=this.oa;c.Sf=c.pc;c.pc=b&31};l.sk=function(){return ul(this.oa)};l.Fl=function(a,b){vl(this,this.oa,b)};l.uk=function(){return this.oa.Jc};l.Hl=function(a,b){this.oa.Jc=b;gl(this,!1)};l.vk=function(){return wl(this,this.oa)};l.dj=function(a,b){this.B.Uf=this.B.Uf&-4|b&3};l.Sj=function(){return this.B.Sd};
l.wj=function(){return this.B.Ic[this.B.Sd&31]};l.cj=function(a,b){var c=this.B,d=c.Sd&32;if(c.Ke){c.Ke=!1;var e=c.Sd&31;if(16<=e||!d)c.Ic[e]=b,rl(this,!1)}else c.Sd=b,c.Ke=!0,b&32&&!d&&el(this,!0)&&nc(this,!0),c.df=(c.eb[12]<<8)+c.eb[13]|0,c.ve=0};l.Gk=function(){var a=0;if(5==this.jb)a=3-((this.B.hf&12)>>2),a=(this.Ab&1<<a)<<4-a;else{var b=this.B.xe[0];45!=(b&63)&&2880!=(b&4032)&&184320!=(b&258048)&&(a|=16)}a|=this.B.mh&-17;return this.B.mh=a};l.Il=function(a,b){this.B.hf=b;dl(this)};l.Hk=function(){return this.B.nh};
l.wj=function(){return this.B.Ic[this.B.Sd&31]};l.cj=function(a,b){var c=this.B,d=c.Sd&32;if(c.Ke){c.Ke=!1;var e=c.Sd&31;if(16<=e||!d)c.Ic[e]=b,rl(this,!1)}else c.Sd=b,c.Ke=!0,b&32&&!d&&el(this,!0)&&nc(this,!0),c.df=(c.bb[12]<<8)+c.bb[13]|0,c.ve=0};l.Gk=function(){var a=0;if(5==this.jb)a=3-((this.B.hf&12)>>2),a=(this.Ab&1<<a)<<4-a;else{var b=this.B.xe[0];45!=(b&63)&&2880!=(b&4032)&&184320!=(b&258048)&&(a|=16)}a|=this.B.mh&-17;return this.B.mh=a};l.Il=function(a,b){this.B.hf=b;dl(this)};l.Hk=function(){return this.B.nh};
l.Sl=function(a,b){this.B.nh=b};l.Ek=function(){return this.B.Ae};l.Ql=function(a,b){this.B.Ae=b};l.Dk=function(){return this.B.ze[this.B.Ae]};l.Pl=function(a,b){this.B.ze[this.B.Ae]=b;switch(this.B.Ae){case 2:this.B.$a=Kk[b&15];break;case 4:ql(this,pl(this))&&nc(this,!0)}};l.ek=function(){return this.B.lh};l.pl=function(a,b){this.B.lh=b};l.fk=function(){return this.B.Tf};l.ql=function(a,b){this.B.bd=b;this.B.Tf=3;this.B.zc=0};l.rl=function(a,b){this.B.bd=b;this.B.Tf=0;this.B.zc=0};
l.dk=function(){var a=this.B.xe[this.B.bd]>>this.B.zc&63;this.B.zc+=6;12<this.B.zc&&(this.B.zc=0,this.B.bd=this.B.bd+1&255);return a};l.ol=function(a,b){var c=this.B.xe[this.B.bd],d=c&~(63<<this.B.zc)|(b&63)<<this.B.zc;c!==d&&(this.B.xe[this.B.bd]=d,rl(this,!1));this.B.zc+=6;12<this.B.zc&&(this.B.zc=0,this.B.bd=this.B.bd+1&255)};l.Ik=function(){return this.B.Uf};l.Bl=function(a,b){this.B.fj=b};l.Jk=function(){return this.B.hf};l.Al=function(a,b){this.B.ej=b};l.lk=function(){return this.B.ye};
l.zl=function(a,b){this.B.ye=b};l.kk=function(){return this.B.Dd[this.B.ye]};l.yl=function(a,b){this.B.Dd[this.B.ye]=b;switch(this.B.ye){case 0:this.B.af=Kk[b&15];this.B.Ad=this.B.af&~this.B.jd;break;case 1:this.B.jd=~Kk[b&15];this.B.Ad=this.B.af&~this.B.jd;break;case 2:this.B.sg=Kk[b&15]&-2139062144;break;case 3:case 5:ql(this,pl(this));break;case 4:this.B.hh=(b&3)<<3;break;case 6:gl(this,!1);break;case 7:this.B.tg=Kk[b&15]&-2139062144;break;case 8:this.B.sb=b|b<<8|b<<16|b<<24}};
l.Yj=function(){var a=this.P,b;a.cc&&(b=a.pc);return b};l.jl=function(a,b){var c=this.P;c.Sf=c.pc;c.pc=b&31};l.Xj=function(){return ul(this.P)};l.il=function(a,b){vl(this,this.P,b)};l.Zj=function(){return this.P.Jc};l.kl=function(a,b){this.P.Jc=b;gl(this,!1)};l.Wj=function(){return this.P.gf};l.hl=function(a,b){this.P.gf!==b&&(this.P.gf=b,rl(this,!1))};l.$j=function(){return wl(this,this.P)};function ul(a){var b;a.cc&&a.pc<a.rg&&(b=a.eb[a.pc]);return b}
function vl(a,b,c){if(b.pc<b.rg){b.eb[b.pc]=c;if(12==b.pc||13==b.pc)tl(a,b)&1?b.df=(b.eb[12]<<8)+b.eb[13]|0:b.ve||(b.ve=b.ih);(9==b.pc&&8!=b.Sf||18==b.pc&&223==c)&&gl(a,!0);hl(a)}}function wl(a,b){var c=tl(a,b);b===a.B?(c|=b.Z&48^48,b.Ke=!1):c=(b.Z^=9)|240;return b.Z=c}
l.Yj=function(){var a=this.P,b;a.cc&&(b=a.pc);return b};l.jl=function(a,b){var c=this.P;c.Sf=c.pc;c.pc=b&31};l.Xj=function(){return ul(this.P)};l.il=function(a,b){vl(this,this.P,b)};l.Zj=function(){return this.P.Jc};l.kl=function(a,b){this.P.Jc=b;gl(this,!1)};l.Wj=function(){return this.P.gf};l.hl=function(a,b){this.P.gf!==b&&(this.P.gf=b,rl(this,!1))};l.$j=function(){return wl(this,this.P)};function ul(a){var b;a.cc&&a.pc<a.rg&&(b=a.bb[a.pc]);return b}
function vl(a,b,c){if(b.pc<b.rg){b.bb[b.pc]=c;if(12==b.pc||13==b.pc)tl(a,b)&1?b.df=(b.bb[12]<<8)+b.bb[13]|0:b.ve||(b.ve=b.ih);(9==b.pc&&8!=b.Sf||18==b.pc&&223==c)&&gl(a,!0);hl(a)}}function wl(a,b){var c=tl(a,b);b===a.B?(c|=b.Z&48^48,b.Ke=!1):c=(b.Z^=9)|240;return b.Z=c}
var Tk={948:Y.prototype.tk,949:Y.prototype.sk,952:Y.prototype.uk,954:Y.prototype.vk},Uk={948:Y.prototype.Gl,949:Y.prototype.Fl,952:Y.prototype.Hl},Vk={980:Y.prototype.Yj,981:Y.prototype.Xj,984:Y.prototype.Zj,985:Y.prototype.Wj,986:Y.prototype.$j},Wk={980:Y.prototype.jl,981:Y.prototype.il,984:Y.prototype.kl,985:Y.prototype.hl},Xk={960:Y.prototype.Sj,961:Y.prototype.wj,962:Y.prototype.Gk,964:Y.prototype.Ek,965:Y.prototype.Dk,974:Y.prototype.lk,975:Y.prototype.kk},Yk={954:Y.prototype.dj,960:Y.prototype.cj,
961:Y.prototype.cj,962:Y.prototype.Il,964:Y.prototype.Ql,965:Y.prototype.Pl,970:Y.prototype.Bl,972:Y.prototype.Al,974:Y.prototype.zl,975:Y.prototype.yl,986:Y.prototype.dj},Zk={963:Y.prototype.Hk,966:Y.prototype.ek,967:Y.prototype.fk,969:Y.prototype.dk,970:Y.prototype.Ik,972:Y.prototype.Jk},$k={963:Y.prototype.Sl,966:Y.prototype.pl,967:Y.prototype.ql,968:Y.prototype.rl,969:Y.prototype.ol};
Ea(function(){for(var a=Za(document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,
@ -515,110 +515,111 @@ l.Sb=function(a){return a?this.save():!0};l.reset=function(){Nl(this)};l.save=fu
function Kl(a){if(!a.W)for(var b=0;b<a.B.length;b++)Ol(a,a.B[b])&&(a.W=!0)}function Ll(a){if(a.W)for(var b=0;b<a.B.length;b++){var c=a.B[b];c&&(c.style.cursor="auto")}}function Ol(a,b){return b?(b.addEventListener("mousemove",function(b){Pl(a,b)},!1),b.addEventListener("mousedown",function(b){Pl(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Pl(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Pl(a,b,c){if(void 0!==c){var d;!(d=!1!==a.S)&&(d=a.D.length)&&(d=a.D[0],d=d.Vd?d.Md(!0):!1);d||(a.S=null);a.he(b.button,c)}else{if(0>a.H||0>a.I)a.H=b.clientX,a.I=b.clientY;a.S?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.H,d=b.clientY-a.I);a.H=b.clientX;a.I=b.clientY;a.pg(c,d,a.H,a.I)}}
l.he=function(a,b){if(this.cc&&this.A&&this.A.da.Qb)switch(a){case cl:if(this.R!=b){this.R=b;Ql(this);break}break;case 2:this.P!=b&&(this.P=b,Ql(this))}};l.pg=function(a,b){this.cc&&this.A&&this.A.da.Qb&&(a||b)&&(this.K=a,this.L=b,Ql(this))};function Ql(a){Fl(a.G,[64|(a.R?32:0)|(a.P?16:0)|(a.L&192)>>4|(a.K&192)>>6,a.K&63,a.L&63]);a.K=a.L=0}Ea(function(){for(var a=Za(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Ml(d);Ya(d,c)}});
function Rl(a,b,c){Ia.call(this,"Disk",{id:a.mf+".disk"+ea(++Sl,4)},Rl);this.controller=a;this.oa=a.oa;this.Oa=a.Oa;this.C=b;this.B=b.name;this.me=b.me;this.Cf=this.D=!1;Tl(this,c,b.kb,b.lb,b.cb,b.pb);this.I=[];this.R=[];this.G=null;this.S=0;this.P=!1;p(this)}var Sl=0;Qa(Rl);l=Rl.prototype;l.mc=function(a,b,c,d){this.Oa=d};l.Tb=function(a,b){b||!this.Cf||this.D||(p(this,!1),this.load(this.B,this.H,null,this.Gj,this));return!0};l.Gj=function(){p(this,!0)};
function Rl(a,b,c){Ia.call(this,"Disk",{id:a.mf+".disk"+ea(++Sl,4)},Rl);this.controller=a;this.oa=a.oa;this.Oa=a.Oa;this.C=b;this.B=b.name;this.me=b.me;this.Cf=this.D=!1;Tl(this,c,b.kb,b.lb,b.eb,b.pb);this.I=[];this.R=[];this.G=null;this.S=0;this.P=!1;p(this)}var Sl=0;Qa(Rl);l=Rl.prototype;l.mc=function(a,b,c,d){this.Oa=d};l.Tb=function(a,b){b||!this.Cf||this.D||(p(this,!1),this.load(this.B,this.H,null,this.Gj,this));return!0};l.Gj=function(){p(this,!0)};
l.Sb=function(a,b){if(this.D){var c,d=0;if(this.P&&!ra("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Ul(this,!1);)if(d=c[0]){this.controller.Ba('Unable to save "'+this.B+'" (error '+d+")");break}b&&this.D&&(c="action=close&volume="+this.H,c+="&machine="+this.controller.qe(),c+="&user="+this.controller.xd(),pa(qa()+"/api/v1/disk?"+c,null,!0),this.D=!1);!d&&a&&this.controller.Ba(this.B+" saved")}return!0};
function Tl(a,b,c,d,e,f){a.mode=b;a.kb=c;a.lb=d;a.cb=e;a.pb=f;a.A=[];if("preload"!=a.mode){b=Array(a.kb);for(c=0;c<b.length;c++){d=Array(a.lb);for(e=0;e<d.length;e++){f=Array(a.cb);for(var g=1;g<=f.length;g++)f[g-1]=Vl(null,c,e,g,a.pb,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.L=null}
l.load=function(a,b,c,d,e){var f=b;if(this.K)return!0;this.B=a;this.H=b;this.gj=fa(b);var g=this;this.K=d;this.ha=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.kb=d[0];g.lb=d[1];g.cb=d[2];g.pb=512;b=g.pb>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.kb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.lb),E=0;E<f.length;E++)for(var J=f[E]=Array(g.cb),U=0;U<J.length;U++){for(var ca=Vl(null,c,E,U+1,g.pb,0),ta=ca.data,ua=0;ua<
function Tl(a,b,c,d,e,f){a.mode=b;a.kb=c;a.lb=d;a.eb=e;a.pb=f;a.A=[];if("preload"!=a.mode){b=Array(a.kb);for(c=0;c<b.length;c++){d=Array(a.lb);for(e=0;e<d.length;e++){f=Array(a.eb);for(var g=1;g<=f.length;g++)f[g-1]=Vl(null,c,e,g,a.pb,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.L=null}
l.load=function(a,b,c,d,e){var f=b;if(this.K)return!0;this.B=a;this.H=b;this.gj=fa(b);var g=this;this.K=d;this.ha=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.kb=d[0];g.lb=d[1];g.eb=d[2];g.pb=512;b=g.pb>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.kb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.lb),E=0;E<f.length;E++)for(var J=f[E]=Array(g.eb),U=0;U<J.length;U++){for(var ca=Vl(null,c,E,U+1,g.pb,0),ta=ca.data,ua=0;ua<
b;ua++,e+=4)var od=ta[ua]=a.getInt32(e,!0),d=d+od&-1;ca.Bc=b;J[U]=ca}g.L=d;b=g}else g.Ba("Unrecognized diskette format ("+c+" bytes)");g.K&&(g.K.call(g.controller,g.C,b,g.B,g.H),g.K=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Wl(this,b),this.Cf=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):
ha(b,"/")&&(c="dir"),f=qa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.me?"":d)+"&format=json"));return!!pa(f,null,!0,function(a,b,c){Xl(g,a,b,c)})};
function Xl(a,b,c,d){var e=null;a.pe=!1;var f=0>d&&a.oa&&!a.oa.da.Pb;if(a.Cf)d?a.controller.Ba('Unable to connect to disk "'+a.H+'" (error '+d+": "+c+")",f):(a.D=!0,e=a);else if(d)a.controller.Ba('Unable to load disk "'+a.B+'" (error '+d+": "+b+")",f);else{Sa(a.controller.mf,b,c);try{if(0<fa(a.gj,!0).toLowerCase().indexOf("-readonly"))a.pe=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.pe=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.B]:h=0>
c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)n(h[0]);else{a.kb=h.length;a.lb=h[0].length;a.cb=h[0][0].length;var k=h[0][0][0];a.pb=k&&k.length||512;for(d=c=0;d<a.kb;d++)for(f=0;f<a.lb;f++)for(g=0;g<a.cb;g++)if(k=h[d][f][g]){var m=k.length;void 0===m&&(m=k.length=512);var m=m>>2,q=k.pattern;void 0===q&&(q=k.pattern=0);var x=k.data;if(void 0===x){var r=k.bytes;if(void 0!==r&&r.length){for(var z=
m<<2,E=r.length;E<z;E++)r[E]=q;Yl(k,r,0)}else x=[],q=k.pattern=q|q<<8|q<<16|q<<24,k.data=x;delete k.bytes}Vl(k,d,f);for(z=0;z<x.length;z++)c=c+x[z]&-1}a.A=h;a.L=c;e=a}else n("Empty disk image: "+a.B)}catch(J){n("Disk image error ("+b+"): "+J.message)}}a.K&&(a.K.call(a.ha,a.C,e,a.B,a.H),a.K=null)}function Zl(a,b){var c=a.lb*a.cb,d=b/c|0;return d<a.kb?(c=b%c,a.seek(d,c/a.cb|0,c%a.cb+1)):null}function $l(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
function Vl(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Jj=b;a.Kj=c;a.Sc=a.Bc=0;a.Ia=!1;return a}function Wl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.kb+":"+a.lb+":"+a.cb+":"+a.pb;c+="&machine="+a.controller.qe();c+="&user="+a.controller.xd();return qa()+"/api/v1/disk?"+c}
function am(a,b,c,d,e,f,g){if(a.D){var h;h="action=read&volume="+a.H;h+="&chs="+a.kb+":"+a.lb+":"+a.cb+":"+a.pb;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.qe());h+="&user="+a.controller.xd();pa(qa()+"/api/v1/disk?"+h,null,f,function(h,m,q){h=[b,c,d,e,f,g];var x=!1,r=h[0],z=h[1],E=h[2],J=h[3];if(!q){m=JSON.parse(m);for(x=0;J--;){var U=a.seek(r,z,E,!0);if(!U)break;Yl(U,m,x);x+=U.length;E++}x=h[4]}(h=h[5])&&h(q,x)})}else g&&g(-1,!1)}
function bm(a,b,c,d,e,f,g){if(a.D){var h={};a.P=!0;h.action="write";h.volume=a.H;h.chs=a.kb+":"+a.lb+":"+a.cb+":"+a.pb;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.qe();h.user=a.controller.xd();h.data=JSON.stringify(f);pa(qa()+"/api/v1/disk",h,g,function(f,h,q){var x=[b,c,d,e,g];f=x[0];h=x[1];var r=x[2],z=x[3],x=x[4];a.P=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(r=r-1;0<z--&&0<=r&&r<a.A[f][h].length;r++){var E=a.A[f][h][r];q?cm(a,E,!1):E.Ia||(E.Sc=E.Bc=0)}x&&dm(a)})}return!1}
c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)n(h[0]);else{a.kb=h.length;a.lb=h[0].length;a.eb=h[0][0].length;var k=h[0][0][0];a.pb=k&&k.length||512;for(d=c=0;d<a.kb;d++)for(f=0;f<a.lb;f++)for(g=0;g<a.eb;g++)if(k=h[d][f][g]){var m=k.length;void 0===m&&(m=k.length=512);var m=m>>2,q=k.pattern;void 0===q&&(q=k.pattern=0);var x=k.data;if(void 0===x){var r=k.bytes;if(void 0!==r&&r.length){for(var z=
m<<2,E=r.length;E<z;E++)r[E]=q;Yl(k,r,0)}else x=[],q=k.pattern=q|q<<8|q<<16|q<<24,k.data=x;delete k.bytes}Vl(k,d,f);for(z=0;z<x.length;z++)c=c+x[z]&-1}a.A=h;a.L=c;e=a}else n("Empty disk image: "+a.B)}catch(J){n("Disk image error ("+b+"): "+J.message)}}a.K&&(a.K.call(a.ha,a.C,e,a.B,a.H),a.K=null)}function Zl(a,b){var c=a.lb*a.eb,d=b/c|0;return d<a.kb?(c=b%c,a.seek(d,c/a.eb|0,c%a.eb+1)):null}function $l(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
function Vl(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Jj=b;a.Kj=c;a.Sc=a.Bc=0;a.Ia=!1;return a}function Wl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.kb+":"+a.lb+":"+a.eb+":"+a.pb;c+="&machine="+a.controller.qe();c+="&user="+a.controller.xd();return qa()+"/api/v1/disk?"+c}
function am(a,b,c,d,e,f,g){if(a.D){var h;h="action=read&volume="+a.H;h+="&chs="+a.kb+":"+a.lb+":"+a.eb+":"+a.pb;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.qe());h+="&user="+a.controller.xd();pa(qa()+"/api/v1/disk?"+h,null,f,function(h,m,q){h=[b,c,d,e,f,g];var x=!1,r=h[0],z=h[1],E=h[2],J=h[3];if(!q){m=JSON.parse(m);for(x=0;J--;){var U=a.seek(r,z,E,!0);if(!U)break;Yl(U,m,x);x+=U.length;E++}x=h[4]}(h=h[5])&&h(q,x)})}else g&&g(-1,!1)}
function bm(a,b,c,d,e,f,g){if(a.D){var h={};a.P=!0;h.action="write";h.volume=a.H;h.chs=a.kb+":"+a.lb+":"+a.eb+":"+a.pb;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.qe();h.user=a.controller.xd();h.data=JSON.stringify(f);pa(qa()+"/api/v1/disk",h,g,function(f,h,q){var x=[b,c,d,e,g];f=x[0];h=x[1];var r=x[2],z=x[3],x=x[4];a.P=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(r=r-1;0<z--&&0<=r&&r<a.A[f][h].length;r++){var E=a.A[f][h][r];q?cm(a,E,!1):E.Ia||(E.Sc=E.Bc=0)}x&&dm(a)})}return!1}
function cm(a,b,c){b.Ia=!0;var d=a.I.indexOf(b);0<=d&&(a.I.splice(d,1),a.R.splice(d,1));a.I.push(b);a.R.push(ka());c&&dm(a)}function dm(a){if(a.I.length){var b=a.R[0]+2E3;a.G&&a.S<b&&(clearTimeout(a.G),a.G=null);if(!a.G){var c=ka(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.G=setTimeout(function(){Ul(a,!0)},b);a.S=c+b}}else a.G&&(clearTimeout(a.G),a.G=null)}
function Ul(a,b){b&&(a.G=null);var c=a.I[0];if(c){for(var d=c.Jj,e=c.Kj,c=c.sector,f=0,g=[],h=c-1;h<a.A[d][e].length;h++){var k=a.A[d][e][h];if(!k.Ia)break;var m=a.I.indexOf(k);a.I.splice(m,1);a.R.splice(m,1);g=g.concat(em(k));k.Ia=!1;f++}d=bm(a,d,e,c,f,g,b);return b||d}return!1}l.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
l.seek=function(a,b,c,d,e){var f=null,g=this.C,h=this.A[a];if(h){var k=h[b];if(!k&&g.eg&&b<g.lb)for(k=h[b]=Array(g.ud),h=0;h<k.length;h++)k[h]=Vl(null,a,b,h+1,g.ub,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;am(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.eg&&9==g.ob&&(f=k[h]=Vl(null,a,b,g.ob,g.ub,0))}}e&&e(f,!1);return f};
function Yl(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}function em(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}l.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};
l.write=function(a,b,c){if(this.pe)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Bc?f<a.Sc?(a.Bc+=a.Sc-f,a.Sc=f):f>=a.Sc+a.Bc&&(a.Bc+=f-(a.Sc+a.Bc)+1):(a.Sc=f,a.Bc=1);d[f]=d[f]&~(255<<b)|c<<b;this.D&&cm(this,a,!0)}return!0}return null};
l.save=function(){var a=0,b=[];b[a++]=[this.H,this.L,this.kb,this.lb,this.cb,this.pb];if(!this.D&&!this.pe)for(var c=this.A,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Bc){for(var h=[],k=0,m=g.Sc,q=g.Sc+g.Bc;m<q;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.Sc,h]}}return b};
l.save=function(){var a=0,b=[];b[a++]=[this.H,this.L,this.kb,this.lb,this.eb,this.pb];if(!this.D&&!this.pe)for(var c=this.A,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Bc){for(var h=[],k=0,m=g.Sc,q=g.Sc+g.Bc;m<q;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.Sc,h]}}return b};
l.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.A.length&&6<=e.length?Tl(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.L&&e[1]!=this.L&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.L+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.pe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.Sc=e;for(h.Bc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b&&-2!=b&&this.controller.Ba("Unable to restore disk '"+this.B+": "+c);return b};
l.toJSON=function(){var a=JSON.stringify(this.A,function(a,c){return"file"==a?void 0:c}),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,""),a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function fm(a){Ia.call(this,"FDC",a,fm);this.dmaRead=this.qj;this.dmaWrite=this.rj;this.dmaFormat=this.Cj;this.K=a.autoMount||null;this.C=[];this.W=!ya("Mobi")&&window&&"FileReader"in window}Qa(fm);aa={};var gm={3:{dd:3,vd:0,name:aa.Bm},4:{dd:2,vd:1,name:aa.zm},5:{dd:9,vd:7,name:aa.Jm},6:{dd:9,vd:7,name:aa.um},7:{dd:2,vd:0,name:aa.wm},8:{dd:1,vd:2,name:aa.Am},10:{dd:2,vd:7,name:aa.vm},13:{dd:6,vd:7,name:aa.hm},15:{dd:3,vd:0,name:aa.ym}};l=fm.prototype;
l.zb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ja[b]=c,c.onchange=function(){var a=d.ja.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){n("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ja[b]=c,c.onchange=function(){var a=da(c.value,10);null!=a&&hm(d,a)},!0;
case "loadDrive":return this.ja[b]=c,c.onclick=function(){var a=d.ja.listDisks;a&&im(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.W){c.parentNode.removeChild(c);break}this.ja[b]=c;c.onclick=function(){var a=d.ja.listDrives;if(a&&a.options&&d.B)if(a=da(a.value,10),a=d.B[a])if(a.ua){for(var b=a.ua,c="",h=0,k;k=Zl(b,h++);)for(var m=0,q=k.length;m<q;m++)c+=String.fromCharCode($l(b,k,m));a=za(btoa(c),"octet-stream",!0,a.ua.gj.replace(".json",".img"));n(a)}else d.Ba("No disk loaded in drive");
else d.Ba("No drive selected")};return!0;case "mountDrive":if(!this.W){c.parentNode.removeChild(c);break}this.ja[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;im(d,fa(b,!0),b,a)}return!1};return!0}return!1};
l.mc=function(a,b,c,d){this.ha=b;this.A=c;this.Oa=d;this.oa=a;this.R=jb(a,"ChipSet");if((this.K=jm(this.oa,"autoMount")||this.K)&&"string"==typeof this.K)try{this.K=eval("("+this.K+")")}catch(e){n("FDC auto-mount error: "+e.message+" ("+this.K+")"),this.K=null}km(this);Mb(b,this,lm);Ob(b,this,mm);this.W&&nm(this,"Local Disk","?");nm(this,"Remote Disk","??");om(this)||p(this)};
l.Tb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.oa.lg){this.C=[];for(var c=0;c<this.B.length;c++)pm(this,c,!0);om(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ja.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.Y;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Y&&(c.value="0",hm(this,0))}}return!0};l.Sb=function(a){return a?this.save():!0};l.reset=function(){km(this)};
l.save=function(){var a=new be(this),b=0,c=[];c[b++]=this.Qa;c[b++]=0;c[b++]=this.Z;c[b++]=this.I;c[b++]=this.G;c[b++]=this.D;c[b++]=this.S;for(var d=b++,e=0,f=[],g=0;g<this.B.length;g++){var h=e++,k=this.B[g],m=0,q=[];q[m++]=k.mb;q[m++]=[k.name,k.kb,k.lb,k.cb,k.pb,k.me,k.Jf,k.Ue,k.Ve];q[m++]=k.Ya;q[m++]=k.td+100;q[m++]=k.wb;q[m++]=k.ob;q[m++]=k.ud;q[m++]=k.ub;q[m++]=k.Ta;q[m++]=k.ke;q[m++]=k.hj;q[m]=k.Td;f[h]=q}c[d]=f;d=b++;for(e=0;e<this.B.length;e++)f=this.B[e],f.ua&&qm(this,f.Td,f.ua);c[d]=this.C;
c[b++]=this.L;c[b]=this.H;D(a,0,c);return a.data()};l.restore=function(a){return km(this,a[0])};
function km(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.Qa=b[c++];c++;a.Z=b[c++];a.I=b[c++];a.G=b[c++];a.D=b[c++];a.S=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.C=d);void 0===a.B&&(a.Y=4,a.R&&(a.Y=dj(a.R)),a.B=Array(4));for(d=0;d<a.B.length;d++){var g=a.B[d];if(void 0===g){var g=a.B[d]={},h;if(a.R)a:{h=a.R;if(d<dj(h)){if(!h.aa){h=360;break a}if(d<h.aa.length){h=h.aa[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.lb=1;default:g.kb=40;g.cb=9;break;case 720:g.kb=80;g.cb=9;
break;case 1200:g.kb=80;g.cb=15;break;case 1440:g.kb=80,g.cb=18}}var k=a,m=d,q=f[d],x=0;h=!0;g.Qa=m;g.Nc=g.ke=!1;void 0===q&&(q=[192,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=["Floppy Drive",g.kb||40,g.lb||q[3],g.cb||9,g.pb||512,q[1],g.Jf,g.Ue,g.Ve]);g.mb=q[x++];var r=q[x++];g.name=r[0];g.kb=r[1];g.lb=r[2];g.cb=r[3];g.pb=r[4];g.me=r[5];(g.Jf=r[6])?(g.Ue=r[7],g.Ve=r[8]):(g.Jf=g.kb,g.Ue=g.lb,g.Ve=g.cb);g.Ya=q[x++];g.td=q[x++];g.wb=q[x++];g.td=100<=g.td?g.td-100:g.td-g.wb;g.ob=q[x++];g.ud=q[x++];g.ub=
q[x++];g.Ta=q[x++];g.Wa=null;g.ua||(g.Td="");r=q[x++];102==r&&(r=!1);if("boolean"==typeof r){var z=r,r=q[x++],q=q[x];z?(x=r,r=k.B[m],pm(k,m,!0,!0),r.ke=!0,m=new Rl(k,r,"preload"),k.Nh(r,m,x,q,!0)):rm(k,m,r,q,!0)?g.ua&&q&&sm(k,r,q,g.ua):p(k,!1)}else void 0!==r&&g.ua&&0>g.ua.restore(r)&&(h=!1);h&&g.ua&&void 0!==g.Ta&&(g.Wa=g.ua.seek(g.wb,g.Ya,g.ob));h||(e=!1)}a.L=b[c++]||0;a.H=b[c]||0;return e}
function om(a,b){b||(a.P=0);if(a.K)for(var c in a.K){var d=a.K[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.ja.listDisks)&&f.options)for(var g=0;g<f.options.length;g++)if(f.options[g].value==e){f=f.options[g].innerText;break a}f=fa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.B.length)){!rm(a,g,f,e,!0)&&b&&p(a,!1);continue}a.Ba("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.P}
function im(a,b,c,d){var e,f=a.ja.listDrives;if(f&&!isNaN(e=da(f.value,10))&&0<=e&&e<a.B.length)if(c)if("?"==c)a.Ba('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c)}for(;rm(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}pm(a,
e,!1,!0)}}else pm(a,e);else a.Ba("Unable to load the selected drive")}function rm(a,b,c,d,e,f){var g=a.B[b];if(d&&g.Td!=d){pm(a,b,e,!0);if(g.Nc)return a.Ba("Drive "+b+" busy"),!0;g.Nc=!0;e&&(g.Kd=!0,a.P++);g.ke=!!f;if(!(new Rl(a,g,"preload")).load(c,d,f,a.Nh))return!1}return!0}
l.Nh=function(a,b,c,d,e){var f;a.Nc=!1;b&&(f=b.info(),b&&f[0]>a.kb||f[1]>a.lb)&&(this.Ba('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Qa)),b=null);b?(a.ua=b,a.hj=c,a.Td=d,sm(this,c,d,b),f=b.info(),this.L|=128,this.Ba('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Qa),a.Kd||e),a.Jf=f[0],a.Ue=f[1],a.Ve=f[2]):a.ke=!1;a.Kd&&(a.Kd=!1,--this.P||p(this));hm(this,a.Qa)};
function nm(a,b,c){if((a=a.ja.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function hm(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.ja.listDisks,e=a.ja.listDrives;if(d&&e&&d.options&&e.options&&(e=da(e.value,10),c=c.ke?"?":c.Td,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function pm(a,b,c,d){var e=a.B[b];e.ua&&(qm(a,e.Td,e.ua),e.hj="",e.Td="",e.ua=null,e.ke=!1,a.L|=128,d||a.Ba("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||hm(a,b))}
function sm(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function qm(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.vl=function(a,b){b&4?this.S&4||this.S&8&&this.R&&Se(this.R,6):km(this);this.S=b};l.jk=function(){return this.Z};l.hk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.S&8&&this.R&&Re(this.R,6);++this.G>=this.D&&(this.Z&=-81,this.G=this.D=0);return a};
l.ul=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=this.I[0]&31;if(void 0!==gm[c]&&this.D>=gm[c].dd){var d=!1;this.G=0;var c=tm(this),e,f,g,h,k,m=c&31;switch(m){case 3:tm(this);tm(this);um(this);break;case 4:f=tm(this);this.Qa=f&3;e=this.B[this.Qa];um(this);vm(this,(e.mb&-16777216)>>>24);break;case 5:case 6:f=tm(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];e.Ya=d;f=e.wb=tm(this);g=tm(this);h=e.ob=tm(this);k=tm(this);e.ub=128<<k;e.ud=tm(this);tm(this);tm(this);6==m?(m=e,m.mb=72,m.ua&&
(m.Wa=null,m.mb=0,this.R&&(uj(this.R,2,this,"dmaRead",m),qj(this.R,2)))):(m=e,m.mb=72,m.ua&&(m.ua.pe?m.mb=576:(m.Wa=null,m.mb=0,this.R&&(uj(this.R,2,this,"dmaWrite",m),qj(this.R,2)))));wm(this,e,c,d,f,g,h,k);d=!0;break;case 7:f=tm(this);this.Qa=f&3;e=this.B[this.Qa];e.wb=e.td=0;e.mb=268435488;um(this);d=!0;break;case 8:e=this.B[this.Qa];e.Ya=0;um(this);vm(this,e.Qa|e.Ya<<2|e.mb&255);vm(this,e.wb);this.Qa=this.Qa+1&3;break;case 10:f=tm(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];f=e.wb;g=e.Ya=d;h=
e.ob=1;k=0;e.mb=0;e.ua&&(e.Wa=e.ua.seek(e.wb,e.Ya,e.ob))?k=e.Wa.length>>8:e.mb=72;wm(this,e,c,d,f,g,h,k);d=!0;break;case 13:f=tm(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];f=e.wb;g=e.Ya=d;h=1;k=tm(this);e.ub=128<<k;e.ud=tm(this);tm(this);e.Gh=tm(this);m=e;m.mb=72;m.ua&&(m.Wa=null,m.mb=0,this.R&&(m.ge=0,m.Mc=Array(4),m.eg=!0,m.xf=0,uj(this.R,2,this,"dmaFormat",m),qj(this.R,2),m.eg=!1));wm(this,e,c,d,f,g,h,k);d=!0;break;case 15:f=tm(this),this.Qa=f&3,e=this.B[this.Qa],e.Ya=f>>2&1,f=tm(this),e.wb+=
f-e.td,0>e.wb&&(e.wb=0),e.wb>=e.kb&&(e.wb=e.kb-1),e.td=f,e.mb=32,e.wb||(e.mb|=268435456),um(this),d=!0}0<this.D&&(this.Z|=80);this.S&8&&(!e||e.mb&8||!d||this.R&&Se(this.R,6))}};l.ik=function(){var a=this.L;this.L&=-129;return a};l.tl=function(a,b){this.H=b};function wm(a,b,c,d,e,f,g,h){um(a);vm(a,b.Qa|b.Ya<<2|b.mb&255);vm(a,(b.mb&65280)>>>8);vm(a,(b.mb&16711680)>>>16);var k=0;if(e!=b.wb||f!=b.Ya)k=g=1;c&128&&(f^=k,d||(k=0));vm(a,e+k);vm(a,f);vm(a,g);vm(a,h)}
function tm(a){var b=a.I[a.G];a.G++;return b}function um(a){a.G=a.D=0}function vm(a,b){a.I[a.D++]=b}l.qj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.mb&&a.ua){do{if(a.Wa&&(e=a.Ta,0<=(b=a.ua.read(a.Wa,a.Ta++)))){d=a.Wa;break}a.Wa=a.ua.seek(a.wb,a.Ya,a.ob);if(!a.Wa){a.mb=1088;break}a.Ta=0;xm(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};l.rj=function(a,b){return void 0!==b&&0<=b?ym(a,b):-1};
l.Cj=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.mb)c=-1;else{a.Mc[a.ge++]=c;if(a.ge==a.Mc.length){a.wb=a.Mc[0];a.Ya=a.Mc[1];a.ob=a.Mc[2];a.ub=128<<a.Mc[3];for(var d=a.ge=0;d<a.ub;d++)if(0>ym(a,a.Gh)){c=-1;break a}a.xf++}a.xf>=a.ud&&(c=-1)}else c=-1;return c};function ym(a,b){if(a.mb||!a.ua)return-1;do{if(a.Wa&&a.ua.write(a.Wa,a.Ta++,b))break;a.Wa=a.ua.seek(a.wb,a.Ya,a.ob);if(!a.Wa){a.mb=8256;b=-1;break}a.Ta=0;xm(a)}while(1);return b}
function xm(a){a.ob++;a.ob>=a.Ve+1&&(a.ob=1,a.Ya++,a.Ya>=a.Ue&&(a.Ya=0,a.wb++))}var lm={1012:fm.prototype.jk,1013:fm.prototype.hk,1015:fm.prototype.ik},mm={1010:fm.prototype.vl,1013:fm.prototype.ul,1015:fm.prototype.tl};Ea(function(){for(var a=Za(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new fm(d);Ya(d,c)}});
l.toJSON=function(){var a;a=0;for(var b;b=Zl(this,a++);)fm(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function fm(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function gm(a){Ia.call(this,"FDC",a,gm);this.dmaRead=this.qj;this.dmaWrite=this.rj;this.dmaFormat=this.Cj;this.K=a.autoMount||null;this.C=[];this.W=!ya("Mobi")&&window&&"FileReader"in window}Qa(gm);aa={};
var hm={3:{dd:3,vd:0,name:aa.Bm},4:{dd:2,vd:1,name:aa.zm},5:{dd:9,vd:7,name:aa.Jm},6:{dd:9,vd:7,name:aa.um},7:{dd:2,vd:0,name:aa.wm},8:{dd:1,vd:2,name:aa.Am},10:{dd:2,vd:7,name:aa.vm},13:{dd:6,vd:7,name:aa.hm},15:{dd:3,vd:0,name:aa.ym}};l=gm.prototype;
l.zb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ja[b]=c,c.onchange=function(){var a=d.ja.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){n("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ja[b]=c,c.onchange=function(){var a=da(c.value,10);null!=a&&im(d,a)},!0;
case "loadDrive":return this.ja[b]=c,c.onclick=function(){var a=d.ja.listDisks;a&&jm(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.W){c.parentNode.removeChild(c);break}this.ja[b]=c;c.onclick=function(){var a=d.ja.listDrives;if(a&&a.options&&d.B)if(a=da(a.value,10),a=d.B[a])if(a.ua){for(var b=a.ua,c="",h=0,k;k=Zl(b,h++);)for(var m=0,q=k.length;m<q;m++)c+=String.fromCharCode($l(b,k,m));a=za(btoa(c),"octet-stream",!0,a.ua.gj.replace(".json",".img"));n(a)}else d.Ba("No disk loaded in drive");
else d.Ba("No drive selected")};return!0;case "mountDrive":if(!this.W){c.parentNode.removeChild(c);break}this.ja[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;jm(d,fa(b,!0),b,a)}return!1};return!0}return!1};
l.mc=function(a,b,c,d){this.ha=b;this.A=c;this.Oa=d;this.oa=a;this.R=jb(a,"ChipSet");if((this.K=km(this.oa,"autoMount")||this.K)&&"string"==typeof this.K)try{this.K=eval("("+this.K+")")}catch(e){n("FDC auto-mount error: "+e.message+" ("+this.K+")"),this.K=null}lm(this);Mb(b,this,mm);Ob(b,this,nm);this.W&&om(this,"Local Disk","?");om(this,"Remote Disk","??");pm(this)||p(this)};
l.Tb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.oa.lg){this.C=[];for(var c=0;c<this.B.length;c++)qm(this,c,!0);pm(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ja.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.Y;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Y&&(c.value="0",im(this,0))}}return!0};l.Sb=function(a){return a?this.save():!0};l.reset=function(){lm(this)};
l.save=function(){var a=new be(this),b=0,c=[];c[b++]=this.Qa;c[b++]=0;c[b++]=this.Z;c[b++]=this.I;c[b++]=this.G;c[b++]=this.D;c[b++]=this.S;for(var d=b++,e=0,f=[],g=0;g<this.B.length;g++){var h=e++,k=this.B[g],m=0,q=[];q[m++]=k.mb;q[m++]=[k.name,k.kb,k.lb,k.eb,k.pb,k.me,k.Jf,k.Ue,k.Ve];q[m++]=k.Ya;q[m++]=k.td+100;q[m++]=k.wb;q[m++]=k.ob;q[m++]=k.ud;q[m++]=k.ub;q[m++]=k.Ta;q[m++]=k.ke;q[m++]=k.hj;q[m]=k.Td;f[h]=q}c[d]=f;d=b++;for(e=0;e<this.B.length;e++)f=this.B[e],f.ua&&rm(this,f.Td,f.ua);c[d]=this.C;
c[b++]=this.L;c[b]=this.H;D(a,0,c);return a.data()};l.restore=function(a){return lm(this,a[0])};
function lm(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.Qa=b[c++];c++;a.Z=b[c++];a.I=b[c++];a.G=b[c++];a.D=b[c++];a.S=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.C=d);void 0===a.B&&(a.Y=4,a.R&&(a.Y=dj(a.R)),a.B=Array(4));for(d=0;d<a.B.length;d++){var g=a.B[d];if(void 0===g){var g=a.B[d]={},h;if(a.R)a:{h=a.R;if(d<dj(h)){if(!h.aa){h=360;break a}if(d<h.aa.length){h=h.aa[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.lb=1;default:g.kb=40;g.eb=9;break;case 720:g.kb=80;g.eb=9;
break;case 1200:g.kb=80;g.eb=15;break;case 1440:g.kb=80,g.eb=18}}var k=a,m=d,q=f[d],x=0;h=!0;g.Qa=m;g.Nc=g.ke=!1;void 0===q&&(q=[192,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=["Floppy Drive",g.kb||40,g.lb||q[3],g.eb||9,g.pb||512,q[1],g.Jf,g.Ue,g.Ve]);g.mb=q[x++];var r=q[x++];g.name=r[0];g.kb=r[1];g.lb=r[2];g.eb=r[3];g.pb=r[4];g.me=r[5];(g.Jf=r[6])?(g.Ue=r[7],g.Ve=r[8]):(g.Jf=g.kb,g.Ue=g.lb,g.Ve=g.eb);g.Ya=q[x++];g.td=q[x++];g.wb=q[x++];g.td=100<=g.td?g.td-100:g.td-g.wb;g.ob=q[x++];g.ud=q[x++];g.ub=
q[x++];g.Ta=q[x++];g.Wa=null;g.ua||(g.Td="");r=q[x++];102==r&&(r=!1);if("boolean"==typeof r){var z=r,r=q[x++],q=q[x];z?(x=r,r=k.B[m],qm(k,m,!0,!0),r.ke=!0,m=new Rl(k,r,"preload"),k.Nh(r,m,x,q,!0)):sm(k,m,r,q,!0)?g.ua&&q&&tm(k,r,q,g.ua):p(k,!1)}else void 0!==r&&g.ua&&0>g.ua.restore(r)&&(h=!1);h&&g.ua&&void 0!==g.Ta&&(g.Wa=g.ua.seek(g.wb,g.Ya,g.ob));h||(e=!1)}a.L=b[c++]||0;a.H=b[c]||0;return e}
function pm(a,b){b||(a.P=0);if(a.K)for(var c in a.K){var d=a.K[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.ja.listDisks)&&f.options)for(var g=0;g<f.options.length;g++)if(f.options[g].value==e){f=f.options[g].innerText;break a}f=fa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.B.length)){!sm(a,g,f,e,!0)&&b&&p(a,!1);continue}a.Ba("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.P}
function jm(a,b,c,d){var e,f=a.ja.listDrives;if(f&&!isNaN(e=da(f.value,10))&&0<=e&&e<a.B.length)if(c)if("?"==c)a.Ba('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c)}for(;sm(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}qm(a,
e,!1,!0)}}else qm(a,e);else a.Ba("Unable to load the selected drive")}function sm(a,b,c,d,e,f){var g=a.B[b];if(d&&g.Td!=d){qm(a,b,e,!0);if(g.Nc)return a.Ba("Drive "+b+" busy"),!0;g.Nc=!0;e&&(g.Kd=!0,a.P++);g.ke=!!f;if(!(new Rl(a,g,"preload")).load(c,d,f,a.Nh))return!1}return!0}
l.Nh=function(a,b,c,d,e){var f;a.Nc=!1;b&&(f=b.info(),b&&f[0]>a.kb||f[1]>a.lb)&&(this.Ba('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Qa)),b=null);b?(a.ua=b,a.hj=c,a.Td=d,tm(this,c,d,b),f=b.info(),this.L|=128,this.Ba('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Qa),a.Kd||e),a.Jf=f[0],a.Ue=f[1],a.Ve=f[2]):a.ke=!1;a.Kd&&(a.Kd=!1,--this.P||p(this));im(this,a.Qa)};
function om(a,b,c){if((a=a.ja.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}
function im(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.ja.listDisks,e=a.ja.listDrives;if(d&&e&&d.options&&e.options&&(e=da(e.value,10),c=c.ke?"?":c.Td,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function qm(a,b,c,d){var e=a.B[b];e.ua&&(rm(a,e.Td,e.ua),e.hj="",e.Td="",e.ua=null,e.ke=!1,a.L|=128,d||a.Ba("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||im(a,b))}
function tm(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function rm(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.vl=function(a,b){b&4?this.S&4||this.S&8&&this.R&&Se(this.R,6):lm(this);this.S=b};l.jk=function(){return this.Z};l.hk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.S&8&&this.R&&Re(this.R,6);++this.G>=this.D&&(this.Z&=-81,this.G=this.D=0);return a};
l.ul=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=this.I[0]&31;if(void 0!==hm[c]&&this.D>=hm[c].dd){var d=!1;this.G=0;var c=um(this),e,f,g,h,k,m=c&31;switch(m){case 3:um(this);um(this);vm(this);break;case 4:f=um(this);this.Qa=f&3;e=this.B[this.Qa];vm(this);wm(this,(e.mb&-16777216)>>>24);break;case 5:case 6:f=um(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];e.Ya=d;f=e.wb=um(this);g=um(this);h=e.ob=um(this);k=um(this);e.ub=128<<k;e.ud=um(this);um(this);um(this);6==m?(m=e,m.mb=72,m.ua&&
(m.Wa=null,m.mb=0,this.R&&(uj(this.R,2,this,"dmaRead",m),qj(this.R,2)))):(m=e,m.mb=72,m.ua&&(m.ua.pe?m.mb=576:(m.Wa=null,m.mb=0,this.R&&(uj(this.R,2,this,"dmaWrite",m),qj(this.R,2)))));xm(this,e,c,d,f,g,h,k);d=!0;break;case 7:f=um(this);this.Qa=f&3;e=this.B[this.Qa];e.wb=e.td=0;e.mb=268435488;vm(this);d=!0;break;case 8:e=this.B[this.Qa];e.Ya=0;vm(this);wm(this,e.Qa|e.Ya<<2|e.mb&255);wm(this,e.wb);this.Qa=this.Qa+1&3;break;case 10:f=um(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];f=e.wb;g=e.Ya=d;h=
e.ob=1;k=0;e.mb=0;e.ua&&(e.Wa=e.ua.seek(e.wb,e.Ya,e.ob))?k=e.Wa.length>>8:e.mb=72;xm(this,e,c,d,f,g,h,k);d=!0;break;case 13:f=um(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];f=e.wb;g=e.Ya=d;h=1;k=um(this);e.ub=128<<k;e.ud=um(this);um(this);e.Gh=um(this);m=e;m.mb=72;m.ua&&(m.Wa=null,m.mb=0,this.R&&(m.ge=0,m.Mc=Array(4),m.eg=!0,m.xf=0,uj(this.R,2,this,"dmaFormat",m),qj(this.R,2),m.eg=!1));xm(this,e,c,d,f,g,h,k);d=!0;break;case 15:f=um(this),this.Qa=f&3,e=this.B[this.Qa],e.Ya=f>>2&1,f=um(this),e.wb+=
f-e.td,0>e.wb&&(e.wb=0),e.wb>=e.kb&&(e.wb=e.kb-1),e.td=f,e.mb=32,e.wb||(e.mb|=268435456),vm(this),d=!0}0<this.D&&(this.Z|=80);this.S&8&&(!e||e.mb&8||!d||this.R&&Se(this.R,6))}};l.ik=function(){var a=this.L;this.L&=-129;return a};l.tl=function(a,b){this.H=b};function xm(a,b,c,d,e,f,g,h){vm(a);wm(a,b.Qa|b.Ya<<2|b.mb&255);wm(a,(b.mb&65280)>>>8);wm(a,(b.mb&16711680)>>>16);var k=0;if(e!=b.wb||f!=b.Ya)k=g=1;c&128&&(f^=k,d||(k=0));wm(a,e+k);wm(a,f);wm(a,g);wm(a,h)}
function um(a){var b=a.I[a.G];a.G++;return b}function vm(a){a.G=a.D=0}function wm(a,b){a.I[a.D++]=b}l.qj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.mb&&a.ua){do{if(a.Wa&&(e=a.Ta,0<=(b=a.ua.read(a.Wa,a.Ta++)))){d=a.Wa;break}a.Wa=a.ua.seek(a.wb,a.Ya,a.ob);if(!a.Wa){a.mb=1088;break}a.Ta=0;ym(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};l.rj=function(a,b){return void 0!==b&&0<=b?zm(a,b):-1};
l.Cj=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.mb)c=-1;else{a.Mc[a.ge++]=c;if(a.ge==a.Mc.length){a.wb=a.Mc[0];a.Ya=a.Mc[1];a.ob=a.Mc[2];a.ub=128<<a.Mc[3];for(var d=a.ge=0;d<a.ub;d++)if(0>zm(a,a.Gh)){c=-1;break a}a.xf++}a.xf>=a.ud&&(c=-1)}else c=-1;return c};function zm(a,b){if(a.mb||!a.ua)return-1;do{if(a.Wa&&a.ua.write(a.Wa,a.Ta++,b))break;a.Wa=a.ua.seek(a.wb,a.Ya,a.ob);if(!a.Wa){a.mb=8256;b=-1;break}a.Ta=0;ym(a)}while(1);return b}
function ym(a){a.ob++;a.ob>=a.Ve+1&&(a.ob=1,a.Ya++,a.Ya>=a.Ue&&(a.Ya=0,a.wb++))}var mm={1012:gm.prototype.jk,1013:gm.prototype.hk,1015:gm.prototype.ik},nm={1010:gm.prototype.vl,1013:gm.prototype.ul,1015:gm.prototype.tl};Ea(function(){for(var a=Za(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new gm(d);Ya(d,c)}});
function Z(a){Ia.call(this,"HDC",a,Z);this.dmaRead=this.sj;this.dmaWrite=this.tj;this.dmaWriteBuffer=this.Dj;this.dmaWriteFormat=this.Ej;this.fa=[];this.qa=a.drives;this.W="at"==a.type}Qa(Z);
var zm=["XTC","ATC","COMPAQ"],Am=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
var Am=["XTC","ATC","COMPAQ"],Bm=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];l=Z.prototype;l.zb=function(){return!1};
l.mc=function(a,b,c,d){this.ha=b;this.A=c;this.Oa=d;this.oa=a;if(d=jm(a,"drives"))this.fa=d;else if(this.qa)try{this.fa=eval("("+this.qa+")")}catch(e){n("HDC drive configuration error: "+e.message+" ("+this.qa+")")}this.R=jb(a,"ChipSet");this.H=0;this.sa=3;Mb(b,this,this.W?Bm:Cm);Ob(b,this,this.W?Dm:Em);this.W&&(this.H++,this.R&&5180==this.R.ba&&this.H++,this.sa=2,b.R[496]=2,b.S[496]=2);Yd(c,19,this.Ok.bind(this));Yd(c,64,this.Pk.bind(this));this.reset();Fm(this)||p(this)};
l.Tb=function(a,b){if(!b)if(!a||!this.restore)Gm(this),this.oa.lg&&Fm(this,!0);else if(!this.restore(a))return!1;return!0};l.Sb=function(a){return a?this.save():!0};l.qe=function(){return this.oa?this.oa.qe():""};l.xd=function(){return this.oa?this.oa.xd():""};l.reset=function(){Gm(this,null,!0)};
l.mc=function(a,b,c,d){this.ha=b;this.A=c;this.Oa=d;this.oa=a;if(d=km(a,"drives"))this.fa=d;else if(this.qa)try{this.fa=eval("("+this.qa+")")}catch(e){n("HDC drive configuration error: "+e.message+" ("+this.qa+")")}this.R=jb(a,"ChipSet");this.H=0;this.sa=3;Mb(b,this,this.W?Cm:Dm);Ob(b,this,this.W?Em:Fm);this.W&&(this.H++,this.R&&5180==this.R.ba&&this.H++,this.sa=2,b.R[496]=2,b.S[496]=2);Yd(c,19,this.Ok.bind(this));Yd(c,64,this.Pk.bind(this));this.reset();Gm(this)||p(this)};
l.Tb=function(a,b){if(!b)if(!a||!this.restore)Hm(this),this.oa.lg&&Gm(this,!0);else if(!this.restore(a))return!1;return!0};l.Sb=function(a){return a?this.save():!0};l.qe=function(){return this.oa?this.oa.qe():""};l.xd=function(){return this.oa?this.oa.xd():""};l.reset=function(){Hm(this,null,!0)};
l.save=function(){var a=new be(this),b=0,c=[];this.W?(c[b++]=this.K,c[b++]=this.za,c[b++]=this.L,c[b++]=this.na,c[b++]=this.la,c[b++]=this.ia,c[b++]=this.aa,c[b++]=this.Z,c[b++]=this.pa,c[b++]=[this.S,this.Qa]):(c[b++]=this.ca,c[b++]=this.Z,c[b++]=this.I,c[b++]=this.G,c[b++]=this.D,c[b++]=this.xa,c[b++]=this.va,c[b++]=this.ta,c[b++]=this.Y);for(var d=0,e=[],f=0;f<this.B.length;f++){var g=d++,h=this.B[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.ij;m[k++]=h.me;m[k++]=h.be;m[k++]=h.ce;m[k++]=h.Ya;m[k++]=
h.lb;m[k++]=h.Fd;m[k++]=h.ob;m[k++]=h.ud;m[k++]=h.ub;m[k++]=h.Ta;m[k]=h.ua?h.ua.save():null;e[g]=m}c[b]=e;D(a,0,c);return a.data()};l.restore=function(a){return Gm(this,a[0])};
function Gm(a,b,c){var d=0,e=!0;a.Qa=-1;if(a.W){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.K=b[d++],a.za=b[d++],a.L=b[d++],a.na=b[d++],a.la=b[d++],a.ia=b[d++],a.aa=b[d++],a.Z=b[d++],a.pa=b[d++],a.S=b[d++],"object"==typeof a.S){var f=a.S;a.S=f[0];a.Qa=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.ca=b[d++],a.Z=b[d++],a.I=b[d++],a.G=b[d++],a.D=b[d++],a.xa=b[d++],a.va=b[d++],a.ta=b[d++],f=b[d++],void 0!==f?a.Y=f:void 0===a.Y&&(a.Y=-1);void 0===a.B&&(a.B=Array(a.fa.length));b=b[d];void 0===b&&(b=[]);
h.lb;m[k++]=h.Fd;m[k++]=h.ob;m[k++]=h.ud;m[k++]=h.ub;m[k++]=h.Ta;m[k]=h.ua?h.ua.save():null;e[g]=m}c[b]=e;D(a,0,c);return a.data()};l.restore=function(a){return Hm(this,a[0])};
function Hm(a,b,c){var d=0,e=!0;a.Qa=-1;if(a.W){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.K=b[d++],a.za=b[d++],a.L=b[d++],a.na=b[d++],a.la=b[d++],a.ia=b[d++],a.aa=b[d++],a.Z=b[d++],a.pa=b[d++],a.S=b[d++],"object"==typeof a.S){var f=a.S;a.S=f[0];a.Qa=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.ca=b[d++],a.Z=b[d++],a.I=b[d++],a.G=b[d++],a.D=b[d++],a.xa=b[d++],a.va=b[d++],a.ta=b[d++],f=b[d++],void 0!==f?a.Y=f:void 0===a.Y&&(a.Y=-1);void 0===a.B&&(a.B=Array(a.fa.length));b=b[d];void 0===b&&(b=[]);
for(d=0;d<a.B.length;d++){void 0===a.B[d]&&(a.B[d]={});var f=a.B[d],g=a,h=d,k=f,m=a.fa[d],q=b[d],x=c,r=0,z=!0;void 0===q&&(q=[0,0,!1,Array(8)]);k.Qa=h;k.errorCode=q[r++];k.ij=q[r++];k.me=q[r++];k.be=q[r++];k.ce=q[r++];k.Ya=q[r++];k.lb=q[r++];k.Fd=q[r++];k.ob=q[r++];k.ud=q[r++];k.ub=q[r++];k.wf=g.W?0:1;k.name=m.name;void 0===k.name&&(k.name="Hard Drive");k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||g.xd()||(k.mode="local");k.type=m.type;if(void 0===
k.type||void 0===Am[g.H][k.type])k.type=g.sa;m=Am[g.H][k.type];k.cb=m[2]||17;k.pb=m[3]||512;if(x&&g.R){var E=g.R,J=k.type;if(E.B){var x=null,m=void 0,U=E.B[18];15<J&&(x=J,J=15);h?(U=U&240|J,m=26):(U=U&15|J<<4,m=25);J=E;J.B&&(J.B[18]=U,Wi(J));null!=x&&E.B&&(E.B[m]=x,Wi(E))}}void 0===k.ua&&(k.ua=null,g.Ba("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Hm(g,k);k.Ta=q[r++];k.Wa=null;k.ua&&(g=q[r],void 0!==g&&0>k.ua.restore(g)&&(z=!1),z&&void 0!==k.Ta&&(k.Wa=k.ua.seek(k.Fd,k.Ya,k.ob+k.wf)));z||(e=
!1);null!=a.ca&&1>=d&&(a.ca|=(f.type&3)<<(1-d<<1))}0<=a.Qa&&(a.C=a.B[a.Qa]);return e}function Hm(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.be[2])?e=b.be[0]<<8|b.be[1]:c=b.type);null==c||d||(d=Am[a.H][c][1],e=Am[a.H][c][0]);d&&((c=Am[a.H][b.type])&&e!=c[0]&&d!=c[1]&&a.Ba("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.kb=e,b.lb=d,null==b.ua&&(b.ua=new Rl(a,b,b.mode)))}}
function Fm(a,b){b||(a.P=0);for(var c=0;c<a.B.length;c++){var d=a.B[c];if(d.name&&d.path){if(!(b&&d.ua&&d.ua.Cf)){var e;e=a;var f=d.name,d=d.path,g=e.B[c];g.Nc?(e.Ba("Drive "+c+" busy"),e=!0):(g.Nc=!0,g.Kd=!0,e.P++,(g.ua||new Rl(e,g,g.mode)).load(f,d,null,e.Fj),e=!1);!e&&b&&p(a,!1)}}else b&&void 0!==d.type&&(d.ua=null,Hm(a,d,d.type))}return!!a.P}
l.Fj=function(a,b,c){a.Nc=!1;if(a.ua=b)this.Ba('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Qa),a.Kd),b=b.info(),b[0]==a.kb&&b[1]==a.lb&&b[2]==a.cb&&b[3]==a.pb||this.Ba("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+zm[this.H]+" drive type "+a.type+" ("+a.kb+":"+a.lb+":"+a.cb+")");a.Kd&&(a.Kd=!1,--this.P||p(this))};l.Lk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.R&&Re(this.R,5);this.Z&=-33;++this.G>=this.D&&(this.G=this.D=0,this.Z&=-15);return a};
l.Tl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=12!=this.I[0]?6:this.I.length;6==this.D&&(this.Z&=-2);this.D>=c&&(this.Z|=2,this.Z&=-2,Im(this))};l.Mk=function(){var a=this.Z;this.G<this.D&&(this.Z|=1);return a};l.Wl=function(a,b){this.xa=b;this.R&&Re(this.R,5);Gm(this)};l.Kk=function(){return this.ca};l.Vl=function(a,b){this.va=b;this.Z=13};l.Ul=function(a,b){this.ta=b};l.jh=function(){};
function Jm(a){var b=-1;a.C&&(b=Km(a.C,function(){}),(1==a.C.Ta||a.C.Ta==a.C.pb)&&1<a.C.Ta&&(a.C.ub-=a.C.pb,a.L=a.L-1&255,a.C.ub>=a.C.pb?(a.Z=128,Km(a.C,function(b){0<=b?(Lm(a),a.R&&5180==a.R.ba&&(a.Z=0),a.Z|=88):(a.Z=1,a.K=16)},!1)):a.Z=80));return b}l.uj=function(){return Jm(this)|Jm(this)<<8};function Mm(a,b){a.C&&a.C.ub>=a.C.pb&&(0>Nm(a.C,b)?(a.Z=1,a.K=16):(1==a.C.Ta||a.C.Ta==a.C.pb)&&1<a.C.Ta&&(a.C.ub-=a.C.pb,a.L=a.L-1&255,Lm(a),a.Z=80,a.C.ub>=a.C.pb&&(a.Z|=8)))}
l.bl=function(a,b){Mm(this,b&255);Mm(this,b>>8&255)};l.Rj=function(){return this.K};l.gl=function(a,b){this.za=b};l.Tj=function(){return this.L};l.el=function(a,b){this.L=b};l.Uj=function(){return this.na};l.fl=function(a,b){this.na=b};l.Pj=function(){return this.la};l.al=function(a,b){this.la=b};l.Oj=function(){return this.ia};l.$k=function(a,b){this.ia=b};l.Qj=function(){return this.aa};l.cl=function(a,b){this.aa=b;this.Z=this.B[this.aa&16?1:0]?this.Z|80:this.Z&-65};
l.Vj=function(){var a=this.Z;this.Z&64&&(this.Z&=-129);return a};l.Zk=function(a,b){this.pa=b;this.R&&Re(this.R,14);Om(this)};l.dl=function(a,b){this.S&4&&!(b&4)&&(this.K=1);this.S=b};
function Om(a){var b=!1,c=a.pa,d=a.aa&16?1:0,e=a.aa&15,f=a.la|(a.ia&3)<<8,g=a.na,h=a.L||256;a.Qa=-1;a.C=null;a.K=0;a.Z=80;var k=a.B[d];k?(k.Fd=f,k.Ya=e,k.ob=g,k.ub=h*k.pb,c=144<=c?c:c&240,k.Wa=null,k.Ta=0,k.errorCode=0,a.Qa=d,a.C=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.Z=128;Km(k,function(b){0<=b&&a.R?(Lm(a),a.Z=88):(a.Z=1,a.K=16)},!1);break;case 48:a.Z=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.K=1;b=!0;break;case 145:k.lb=e+1,k.cb=h,b=!0}b&&Lm(a)}
function Lm(a){!a.R||a.S&2||Se(a.R,14,120)}
function Im(a){a.G=0;var b=Pm(a),c=Pm(a),d=c&32,e=d>>5,f=c&31,g=Pm(a),h=Pm(a),k=g<<2&768|h,m=g&63,q=Pm(a),x=Pm(a),r=a.B[e];r&&(r.Fd=k,r.Ya=f,r.ob=m,r.ub=q*r.pb);switch(b){case 3:Qm(a,r?r.errorCode:4);Um(a,c);Um(a,g);Um(a,h);Um(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Pm(a));)r&&c<r.be.length&&(r.be[c++]=b);r&&Hm(a,r);b=0;r||a.Y!=e||(a.Y=-1,b=2);Qm(a,b|d);b=-1;break;case 224:case 228:Qm(a,0|d),b=-1}if(0<=b)switch(void 0===r?b=-1:(r.errorCode=0,r.ij=0),b){case 0:Qm(a,0|d);break;case 1:r.Ie=x;Qm(a,0|
d);break;case 5:Qm(a,0|d);break;case 8:Vm(a,r,function(b){Qm(a,b|d)});break;case 10:Wm(a,r,function(b){Qm(a,b|d)});break;case 15:Xm(a,r,function(b){Qm(a,b|d)});break;default:Qm(a,2|d)}}function Pm(a){var b=-1;a.G<a.D&&(b=a.I[a.G++]);return b}function Qm(a,b){a.G=a.D=0;void 0!==b&&Um(a,b);a.R&&Se(a.R,5);a.Z|=32}function Um(a,b){a.I[a.D++]=b}l.sj=function(a,b,c){void 0===b||0>b?Km(a,c):c(-1,!1)};l.tj=function(a,b){return void 0!==b&&0<=b?Nm(a,b):-1};
l.Dj=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ta<a.ce.length?a.ce[a.Ta++]=c:(a.errorCode=20,c=-1)):c=-1;return c};l.Ej=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.Mc[a.ge++]=c;if(a.ge==a.Mc.length){a.Fd=a.Mc[0];a.Ya=a.Mc[1];a.ob=a.Mc[2];a.ub=128<<a.Mc[3];for(var d=a.ge=0;d<a.ub;d++)if(0>Nm(a,a.Gh)){c=-1;break a}a.xf++}a.xf>=a.ud&&(c=-1)}else c=-1;return c};
function Vm(a,b,c){b.errorCode=4;if(b.ua&&(b.Wa=null,a.R)){b.errorCode=0;uj(a.R,3,a,"dmaRead",b);qj(a.R,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function Wm(a,b,c){b.errorCode=4;if(b.ua&&(b.Wa=null,a.R)){b.errorCode=0;uj(a.R,3,a,"dmaWrite",b);qj(a.R,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function Xm(a,b,c){b.errorCode=4;b.ce&&b.ce.length==b.ub||(b.ce=Array(b.ub));b.Ta=0;a.R?(b.errorCode=0,uj(a.R,3,a,"dmaWriteBuffer",b),qj(a.R,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
function Km(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Wa&&(f=a.Ta,d=a.ua.read(a.Wa,a.Ta),a.Ta+=g,0<=d))return e=a.Wa,b&&b(d,!1,e,f),d;if(b){if(a.ua)return a.ua.seek(a.Fd,a.Ya,a.ob+a.wf,!1,function(c,k){(a.Wa=c)?(e=c,f=a.Ta=0,Ym(a),d=a.ua.read(a.Wa,a.Ta),a.Ta+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
function Nm(a,b){if(a.errorCode)return-1;do{if(a.Wa&&a.ua.write(a.Wa,a.Ta++,b))break;a.ua&&a.ua.seek(a.Fd,a.Ya,a.ob+a.wf,!0,function(b){a.Wa=b});if(!a.Wa){a.errorCode=20;b=-1;break}a.Ta=0;Ym(a)}while(1);return b}function Ym(a){a.ob++;var b=1-a.wf;a.ob>=a.cb+b&&(a.ob=b,a.Ya++,a.Ya>=a.lb&&(a.Ya=0,a.Fd++))}l.Ok=function(){var a=this.A.M&255;!(this.A.J>>8)&&128<a&&(this.Y=a-128);return!0};l.Pk=function(){var a;(a=this.A.J>>8||!this.R)||(a=!(this.R.gc[0].Uc&64));return a?!0:!1};
var Cm={800:Z.prototype.Lk,801:Z.prototype.Mk,802:Z.prototype.Kk},Bm={496:Z.prototype.uj,497:Z.prototype.Rj,498:Z.prototype.Tj,499:Z.prototype.Uj,500:Z.prototype.Pj,501:Z.prototype.Oj,502:Z.prototype.Qj,503:Z.prototype.Vj},Em={800:Z.prototype.Tl,801:Z.prototype.Wl,802:Z.prototype.Vl,803:Z.prototype.Ul,807:Z.prototype.jh,811:Z.prototype.jh,815:Z.prototype.jh},Dm={496:Z.prototype.bl,497:Z.prototype.gl,498:Z.prototype.el,499:Z.prototype.fl,500:Z.prototype.al,501:Z.prototype.$k,502:Z.prototype.cl,503:Z.prototype.Zk,
1014:Z.prototype.dl};Ea(function(){for(var a=Za(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Z(d);Ya(d,c)}});function be(a,b,c){this.id=a.id;this.key=Zm(a,b,c);this.Oa=a.Oa;$m(this,a.pj)}function Zm(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
be.prototype={constructor:be,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:va()&&(a=wa(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){$m(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function $m(a,b){a[a.id]={};b&&D(a,"parms",b);a.A=!1}function an(a){var b=!0;if(va()){var c=JSON.stringify(a[a.id]);xa(a.key,c)||(n("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function bn(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function cn(a,b){return a[a.id][b]||null}function D(a,b,c){try{a[a.id][b]=c}catch(d){}}
function dn(a,b,c){Ia.call(this,"Computer",a,dn);this.da.Pb=!1;en(this,b);this.P=jm(this,"autoPower",a);this.D=0;this.ca=a.busWidth||a.buswidth;this.B=fn;this.L=null;this.H=this.aa=!1;this.oa=jm(this,"url")||"";this.fa=(Math.random()+.1).toString(36).substr(2,12);this.C=gn(this);if(this.A=Va("CPU",this.id)){this.Oa=Va("Debugger",this.id);this.ha=new qb({id:this.mf+".bus",buswidth:this.ca},this.A,this.Oa);var d,e=Ta(this.id);if((this.md=Va("Panel",this.id))&&this.md.hg)for(b=0;b<e.length;b++)d=e[b],
d.Ba=this.md.Ba,d.oc=this.md.oc,d.hg=this.md.hg;for(b=0;b<e.length;b++)d=e[b],d.mc&&d.mc(this,this.ha,this.A,this.Oa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.B=parseInt(d,10));var f;if(a=La&&La.state||jm(this,"state")||(f=!0,a.state))b=this.S=a,f||(this.H=!0,this.B=fn),this.B&&(this.R=new be(this,hn),this.R.load()?b=null:delete this.R);!b&&this.B&&(b=jn(this))&&(this.H=!0);if(b){var g=this;pa(b,null,!0,function(a,b,c){c?(g.K=null,g.H=!1,g.Ba("Unable to load machine state from server (error "+
c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.L=b,g.aa=!0);p(g)})}else p(this);this.ja.power||(this.P=!0);!c&&this.P&&kn(this,this.ef)}else n("Unable to find CPU component")}Qa(dn);var hn="1.21.1",fn=0;l=dn.prototype;l.qe=function(){return this.fa};function en(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){n(d.message+" ("+c+")")}}a.I=b}
function jm(a,b,c){var d;a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l.xd=function(){return this.C||""};function kn(a,b,c){for(var d=Ta(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ab(f)){ab(f,function(){kn(a,b,c)});return}}b.call(a,c)}
function ln(a,b){var c=new be(a,hn,"validate");if(c.load()&&bn(c)){var d=cn(c,"timestamp"),e=b?cn(b,"timestamp"):"unknown";d!=e&&(a.Ba("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
l.ef=function(a){void 0===a&&(a=this.B||(this.L?1:fn));if(!this.D){this.D++;var b=!1,c=!1;this.Y=!1;var d=this.R||new be(this,hn);if(-1==a)b=!0;else if(a>fn){if(d.load(this.L)){this.G=new be(this,hn,"failsafe");this.G.load()&&(mn(this,d),a=2,$m(this.G));D(this.G,"timestamp",la());an(this.G);var e=this.B&&!this.H;if(1==a||ra("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=bn(d)){var f=cn(d,"code"),g=cn(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Ba("Error: "+g),"unable to verify user"==g&&(xa("user",""),this.C=null)):this.oc(f+": "+g),$m(d),d.load()?(c=bn(d),e=!0):c=!1))}e&&ln(this,c?d:null)}else 2==a&&d.clear()}else ln(this);delete this.L;delete this.R}e=Ta(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.A&&(c=nn(this,g,d,b,c));b=[d,a,c];-1!=a?kn(this,this.Oh,b):this.Oh(b)}};
function nn(a,b,c,d,e){if(!b.da.Pb){b.da.Pb=!0;if(b.Tb){var f=null;e&&((f=cn(c,b.id))||(f=cn(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Tb(f,d)&&f&&(n("Unable to restore state for "+b.type),a.S&&!a.aa?(c.clear(),a.B=fn,window&&window.location.reload()):a.Y=!0,b.Tb(null),e=!1)}if(!d&&b.Ah)for(a=b.Ah.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.Oh=function(a){var b=a[0],c=0>a[1];a=a[2];this.da.Pb=!0;var d=this.ja.power;d&&(d.textContent="Shutdown");this.W||(this.oc("PCjs v"+hn+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.W=!0);this.A&&(nn(this,this.A,b,c,a),lc(this.A));this.Y&&(mn(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.D=0};
function mn(a,b){if(ra("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.oa,d=a.xd(),e=b.toString(),f={app:"PCjs"};f.ver=hn;f.url=c;f.user=d;f.type="bug";f.data=e;pa("http://www.pcjs.org/api/v1/report",f,!0)}}
function on(a,b,c){var d,e="none";if(a.D)return null;a.D--;var f=new be(a,hn),g=new be(a,hn,"validate"),h=la();D(g,"timestamp",h);D(f,"timestamp",h);D(f,"version","1.21.1");D(f,"url",window?window.location.href:null);D(f,"browser",window?window.navigator.userAgent:"");a.A&&a.A.Sb&&(c&&oc(a.A),d=a.A.Sb(b,c),"object"===typeof d&&D(f,a.A.id,d),c&&(a.A.da.Pb=!1,!1===d&&(e=null)));for(var h=Ta(a.id),k=0;k<h.length;k++){var m=h[k];m.da.Pb&&(m.Sb&&(d=m.Sb(b,c),"object"===typeof d&&D(f,m.id,d)),c&&(m.da.Pb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.C&&pn(a,a.C,f.toString()),an(g)&&an(f)||(e=null,d=h=!0)):a.B&&(d=!0,h=3==a.B),d&&f.clear(h)):e=f.toString());c&&(a.da.Pb=!1,b=a.ja.power)&&(b.textContent="Power");a.D=0;return e}l.reset=function(){this.ha&&this.ha.reset&&this.ha.reset();for(var a=Ta(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ha&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ta(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
k.type||void 0===Bm[g.H][k.type])k.type=g.sa;m=Bm[g.H][k.type];k.eb=m[2]||17;k.pb=m[3]||512;if(x&&g.R){var E=g.R,J=k.type;if(E.B){var x=null,m=void 0,U=E.B[18];15<J&&(x=J,J=15);h?(U=U&240|J,m=26):(U=U&15|J<<4,m=25);J=E;J.B&&(J.B[18]=U,Wi(J));null!=x&&E.B&&(E.B[m]=x,Wi(E))}}void 0===k.ua&&(k.ua=null,g.Ba("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Im(g,k);k.Ta=q[r++];k.Wa=null;k.ua&&(g=q[r],void 0!==g&&0>k.ua.restore(g)&&(z=!1),z&&void 0!==k.Ta&&(k.Wa=k.ua.seek(k.Fd,k.Ya,k.ob+k.wf)));z||(e=
!1);null!=a.ca&&1>=d&&(a.ca|=(f.type&3)<<(1-d<<1))}0<=a.Qa&&(a.C=a.B[a.Qa]);return e}function Im(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.be[2])?e=b.be[0]<<8|b.be[1]:c=b.type);null==c||d||(d=Bm[a.H][c][1],e=Bm[a.H][c][0]);d&&((c=Bm[a.H][b.type])&&e!=c[0]&&d!=c[1]&&a.Ba("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.kb=e,b.lb=d,null==b.ua&&(b.ua=new Rl(a,b,b.mode)))}}
function Gm(a,b){b||(a.P=0);for(var c=0;c<a.B.length;c++){var d=a.B[c];if(d.name&&d.path){if(!(b&&d.ua&&d.ua.Cf)){var e;e=a;var f=d.name,d=d.path,g=e.B[c];g.Nc?(e.Ba("Drive "+c+" busy"),e=!0):(g.Nc=!0,g.Kd=!0,e.P++,(g.ua||new Rl(e,g,g.mode)).load(f,d,null,e.Fj),e=!1);!e&&b&&p(a,!1)}}else b&&void 0!==d.type&&(d.ua=null,Im(a,d,d.type))}return!!a.P}
l.Fj=function(a,b,c){a.Nc=!1;if(a.ua=b)this.Ba('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Qa),a.Kd),b=b.info(),b[0]==a.kb&&b[1]==a.lb&&b[2]==a.eb&&b[3]==a.pb||this.Ba("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Am[this.H]+" drive type "+a.type+" ("+a.kb+":"+a.lb+":"+a.eb+")");a.Kd&&(a.Kd=!1,--this.P||p(this))};l.Lk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.R&&Re(this.R,5);this.Z&=-33;++this.G>=this.D&&(this.G=this.D=0,this.Z&=-15);return a};
l.Tl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=12!=this.I[0]?6:this.I.length;6==this.D&&(this.Z&=-2);this.D>=c&&(this.Z|=2,this.Z&=-2,Jm(this))};l.Mk=function(){var a=this.Z;this.G<this.D&&(this.Z|=1);return a};l.Wl=function(a,b){this.xa=b;this.R&&Re(this.R,5);Hm(this)};l.Kk=function(){return this.ca};l.Vl=function(a,b){this.va=b;this.Z=13};l.Ul=function(a,b){this.ta=b};l.jh=function(){};
function Km(a){var b=-1;a.C&&(b=Lm(a.C,function(){}),(1==a.C.Ta||a.C.Ta==a.C.pb)&&1<a.C.Ta&&(a.C.ub-=a.C.pb,a.L=a.L-1&255,a.C.ub>=a.C.pb?(a.Z=128,Lm(a.C,function(b){0<=b?(Mm(a),a.R&&5180==a.R.ba&&(a.Z=0),a.Z|=88):(a.Z=1,a.K=16)},!1)):a.Z=80));return b}l.uj=function(){return Km(this)|Km(this)<<8};function Nm(a,b){a.C&&a.C.ub>=a.C.pb&&(0>Om(a.C,b)?(a.Z=1,a.K=16):(1==a.C.Ta||a.C.Ta==a.C.pb)&&1<a.C.Ta&&(a.C.ub-=a.C.pb,a.L=a.L-1&255,Mm(a),a.Z=80,a.C.ub>=a.C.pb&&(a.Z|=8)))}
l.bl=function(a,b){Nm(this,b&255);Nm(this,b>>8&255)};l.Rj=function(){return this.K};l.gl=function(a,b){this.za=b};l.Tj=function(){return this.L};l.el=function(a,b){this.L=b};l.Uj=function(){return this.na};l.fl=function(a,b){this.na=b};l.Pj=function(){return this.la};l.al=function(a,b){this.la=b};l.Oj=function(){return this.ia};l.$k=function(a,b){this.ia=b};l.Qj=function(){return this.aa};l.cl=function(a,b){this.aa=b;this.Z=this.B[this.aa&16?1:0]?this.Z|80:this.Z&-65};
l.Vj=function(){var a=this.Z;this.Z&64&&(this.Z&=-129);return a};l.Zk=function(a,b){this.pa=b;this.R&&Re(this.R,14);Pm(this)};l.dl=function(a,b){this.S&4&&!(b&4)&&(this.K=1);this.S=b};
function Pm(a){var b=!1,c=a.pa,d=a.aa&16?1:0,e=a.aa&15,f=a.la|(a.ia&3)<<8,g=a.na,h=a.L||256;a.Qa=-1;a.C=null;a.K=0;a.Z=80;var k=a.B[d];k?(k.Fd=f,k.Ya=e,k.ob=g,k.ub=h*k.pb,c=144<=c?c:c&240,k.Wa=null,k.Ta=0,k.errorCode=0,a.Qa=d,a.C=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.Z=128;Lm(k,function(b){0<=b&&a.R?(Mm(a),a.Z=88):(a.Z=1,a.K=16)},!1);break;case 48:a.Z=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.K=1;b=!0;break;case 145:k.lb=e+1,k.eb=h,b=!0}b&&Mm(a)}
function Mm(a){!a.R||a.S&2||Se(a.R,14,120)}
function Jm(a){a.G=0;var b=Qm(a),c=Qm(a),d=c&32,e=d>>5,f=c&31,g=Qm(a),h=Qm(a),k=g<<2&768|h,m=g&63,q=Qm(a),x=Qm(a),r=a.B[e];r&&(r.Fd=k,r.Ya=f,r.ob=m,r.ub=q*r.pb);switch(b){case 3:Rm(a,r?r.errorCode:4);Vm(a,c);Vm(a,g);Vm(a,h);Vm(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=Qm(a));)r&&c<r.be.length&&(r.be[c++]=b);r&&Im(a,r);b=0;r||a.Y!=e||(a.Y=-1,b=2);Rm(a,b|d);b=-1;break;case 224:case 228:Rm(a,0|d),b=-1}if(0<=b)switch(void 0===r?b=-1:(r.errorCode=0,r.ij=0),b){case 0:Rm(a,0|d);break;case 1:r.Ie=x;Rm(a,0|
d);break;case 5:Rm(a,0|d);break;case 8:Wm(a,r,function(b){Rm(a,b|d)});break;case 10:Xm(a,r,function(b){Rm(a,b|d)});break;case 15:Ym(a,r,function(b){Rm(a,b|d)});break;default:Rm(a,2|d)}}function Qm(a){var b=-1;a.G<a.D&&(b=a.I[a.G++]);return b}function Rm(a,b){a.G=a.D=0;void 0!==b&&Vm(a,b);a.R&&Se(a.R,5);a.Z|=32}function Vm(a,b){a.I[a.D++]=b}l.sj=function(a,b,c){void 0===b||0>b?Lm(a,c):c(-1,!1)};l.tj=function(a,b){return void 0!==b&&0<=b?Om(a,b):-1};
l.Dj=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ta<a.ce.length?a.ce[a.Ta++]=c:(a.errorCode=20,c=-1)):c=-1;return c};l.Ej=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.Mc[a.ge++]=c;if(a.ge==a.Mc.length){a.Fd=a.Mc[0];a.Ya=a.Mc[1];a.ob=a.Mc[2];a.ub=128<<a.Mc[3];for(var d=a.ge=0;d<a.ub;d++)if(0>Om(a,a.Gh)){c=-1;break a}a.xf++}a.xf>=a.ud&&(c=-1)}else c=-1;return c};
function Wm(a,b,c){b.errorCode=4;if(b.ua&&(b.Wa=null,a.R)){b.errorCode=0;uj(a.R,3,a,"dmaRead",b);qj(a.R,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function Xm(a,b,c){b.errorCode=4;if(b.ua&&(b.Wa=null,a.R)){b.errorCode=0;uj(a.R,3,a,"dmaWrite",b);qj(a.R,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function Ym(a,b,c){b.errorCode=4;b.ce&&b.ce.length==b.ub||(b.ce=Array(b.ub));b.Ta=0;a.R?(b.errorCode=0,uj(a.R,3,a,"dmaWriteBuffer",b),qj(a.R,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
function Lm(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Wa&&(f=a.Ta,d=a.ua.read(a.Wa,a.Ta),a.Ta+=g,0<=d))return e=a.Wa,b&&b(d,!1,e,f),d;if(b){if(a.ua)return a.ua.seek(a.Fd,a.Ya,a.ob+a.wf,!1,function(c,k){(a.Wa=c)?(e=c,f=a.Ta=0,Zm(a),d=a.ua.read(a.Wa,a.Ta),a.Ta+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
function Om(a,b){if(a.errorCode)return-1;do{if(a.Wa&&a.ua.write(a.Wa,a.Ta++,b))break;a.ua&&a.ua.seek(a.Fd,a.Ya,a.ob+a.wf,!0,function(b){a.Wa=b});if(!a.Wa){a.errorCode=20;b=-1;break}a.Ta=0;Zm(a)}while(1);return b}function Zm(a){a.ob++;var b=1-a.wf;a.ob>=a.eb+b&&(a.ob=b,a.Ya++,a.Ya>=a.lb&&(a.Ya=0,a.Fd++))}l.Ok=function(){var a=this.A.M&255;!(this.A.J>>8)&&128<a&&(this.Y=a-128);return!0};l.Pk=function(){var a;(a=this.A.J>>8||!this.R)||(a=!(this.R.gc[0].Uc&64));return a?!0:!1};
var Dm={800:Z.prototype.Lk,801:Z.prototype.Mk,802:Z.prototype.Kk},Cm={496:Z.prototype.uj,497:Z.prototype.Rj,498:Z.prototype.Tj,499:Z.prototype.Uj,500:Z.prototype.Pj,501:Z.prototype.Oj,502:Z.prototype.Qj,503:Z.prototype.Vj},Fm={800:Z.prototype.Tl,801:Z.prototype.Wl,802:Z.prototype.Vl,803:Z.prototype.Ul,807:Z.prototype.jh,811:Z.prototype.jh,815:Z.prototype.jh},Em={496:Z.prototype.bl,497:Z.prototype.gl,498:Z.prototype.el,499:Z.prototype.fl,500:Z.prototype.al,501:Z.prototype.$k,502:Z.prototype.cl,503:Z.prototype.Zk,
1014:Z.prototype.dl};Ea(function(){for(var a=Za(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Z(d);Ya(d,c)}});function be(a,b,c){this.id=a.id;this.key=$m(a,b,c);this.Oa=a.Oa;an(this,a.pj)}function $m(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
be.prototype={constructor:be,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:va()&&(a=wa(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){an(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function an(a,b){a[a.id]={};b&&D(a,"parms",b);a.A=!1}function bn(a){var b=!0;if(va()){var c=JSON.stringify(a[a.id]);xa(a.key,c)||(n("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function cn(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function dn(a,b){return a[a.id][b]||null}function D(a,b,c){try{a[a.id][b]=c}catch(d){}}
function en(a,b,c){Ia.call(this,"Computer",a,en);this.da.Pb=!1;fn(this,b);this.P=km(this,"autoPower",a);this.D=0;this.ca=a.busWidth||a.buswidth;this.B=gn;this.L=null;this.H=this.aa=!1;this.oa=km(this,"url")||"";this.fa=(Math.random()+.1).toString(36).substr(2,12);this.C=hn(this);if(this.A=Va("CPU",this.id)){this.Oa=Va("Debugger",this.id);this.ha=new qb({id:this.mf+".bus",buswidth:this.ca},this.A,this.Oa);var d,e=Ta(this.id);if((this.md=Va("Panel",this.id))&&this.md.hg)for(b=0;b<e.length;b++)d=e[b],
d.Ba=this.md.Ba,d.oc=this.md.oc,d.hg=this.md.hg;for(b=0;b<e.length;b++)d=e[b],d.mc&&d.mc(this,this.ha,this.A,this.Oa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.B=parseInt(d,10));var f;if(a=La&&La.state||km(this,"state")||(f=!0,a.state))b=this.S=a,f||(this.H=!0,this.B=gn),this.B&&(this.R=new be(this,jn),this.R.load()?b=null:delete this.R);!b&&this.B&&(b=kn(this))&&(this.H=!0);if(b){var g=this;pa(b,null,!0,function(a,b,c){c?(g.K=null,g.H=!1,g.Ba("Unable to load machine state from server (error "+
c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.L=b,g.aa=!0);p(g)})}else p(this);this.ja.power||(this.P=!0);!c&&this.P&&ln(this,this.ef)}else n("Unable to find CPU component")}Qa(en);var jn="1.21.1",gn=0;l=en.prototype;l.qe=function(){return this.fa};function fn(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){n(d.message+" ("+c+")")}}a.I=b}
function km(a,b,c){var d;a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l.xd=function(){return this.C||""};function ln(a,b,c){for(var d=Ta(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ab(f)){ab(f,function(){ln(a,b,c)});return}}b.call(a,c)}
function mn(a,b){var c=new be(a,jn,"validate");if(c.load()&&cn(c)){var d=dn(c,"timestamp"),e=b?dn(b,"timestamp"):"unknown";d!=e&&(a.Ba("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
l.ef=function(a){void 0===a&&(a=this.B||(this.L?1:gn));if(!this.D){this.D++;var b=!1,c=!1;this.Y=!1;var d=this.R||new be(this,jn);if(-1==a)b=!0;else if(a>gn){if(d.load(this.L)){this.G=new be(this,jn,"failsafe");this.G.load()&&(nn(this,d),a=2,an(this.G));D(this.G,"timestamp",la());bn(this.G);var e=this.B&&!this.H;if(1==a||ra("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=cn(d)){var f=dn(d,"code"),g=dn(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Ba("Error: "+g),"unable to verify user"==g&&(xa("user",""),this.C=null)):this.oc(f+": "+g),an(d),d.load()?(c=cn(d),e=!0):c=!1))}e&&mn(this,c?d:null)}else 2==a&&d.clear()}else mn(this);delete this.L;delete this.R}e=Ta(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.A&&(c=on(this,g,d,b,c));b=[d,a,c];-1!=a?ln(this,this.Oh,b):this.Oh(b)}};
function on(a,b,c,d,e){if(!b.da.Pb){b.da.Pb=!0;if(b.Tb){var f=null;e&&((f=dn(c,b.id))||(f=dn(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Tb(f,d)&&f&&(n("Unable to restore state for "+b.type),a.S&&!a.aa?(c.clear(),a.B=gn,window&&window.location.reload()):a.Y=!0,b.Tb(null),e=!1)}if(!d&&b.Ah)for(a=b.Ah.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.Oh=function(a){var b=a[0],c=0>a[1];a=a[2];this.da.Pb=!0;var d=this.ja.power;d&&(d.textContent="Shutdown");this.W||(this.oc("PCjs v"+jn+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.W=!0);this.A&&(on(this,this.A,b,c,a),lc(this.A));this.Y&&(nn(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.D=0};
function nn(a,b){if(ra("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.oa,d=a.xd(),e=b.toString(),f={app:"PCjs"};f.ver=jn;f.url=c;f.user=d;f.type="bug";f.data=e;pa("http://www.pcjs.org/api/v1/report",f,!0)}}
function pn(a,b,c){var d,e="none";if(a.D)return null;a.D--;var f=new be(a,jn),g=new be(a,jn,"validate"),h=la();D(g,"timestamp",h);D(f,"timestamp",h);D(f,"version","1.21.1");D(f,"url",window?window.location.href:null);D(f,"browser",window?window.navigator.userAgent:"");a.A&&a.A.Sb&&(c&&oc(a.A),d=a.A.Sb(b,c),"object"===typeof d&&D(f,a.A.id,d),c&&(a.A.da.Pb=!1,!1===d&&(e=null)));for(var h=Ta(a.id),k=0;k<h.length;k++){var m=h[k];m.da.Pb&&(m.Sb&&(d=m.Sb(b,c),"object"===typeof d&&D(f,m.id,d)),c&&(m.da.Pb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.C&&qn(a,a.C,f.toString()),bn(g)&&bn(f)||(e=null,d=h=!0)):a.B&&(d=!0,h=3==a.B),d&&f.clear(h)):e=f.toString());c&&(a.da.Pb=!1,b=a.ja.power)&&(b.textContent="Power");a.D=0;return e}l.reset=function(){this.ha&&this.ha.reset&&this.ha.reset();for(var a=Ta(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ha&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ta(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
l.stop=function(a,b){for(var c=Ta(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
l.zb=function(a,b,c){var d=this;switch(b){case "power":return this.ja[b]=c,c.onclick=function(){d.D||(d.da.Pb?on(d,!1,!0):kn(d,d.ef))},!0;case "reset":return this.ja[b]=c,c.onclick=function(){if(d.da.Pb&&!d.D)if(d.B&&!d.K){var a=ra("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");on(d,a,!0);!a&&d.S?window&&window.location.reload():(a||(d.lg=!0),d.ef(fn),d.lg=!1)}else d.reset(),d.A&&lc(d.A)},!0;case "save":if(ha(qa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.ja[b]=c;c.onclick=function(){var a=gn(d,!0);if(a){var b=!!(d.B&&!d.K||d.S),c=on(d,b);b?pn(d,a,c):d.Ba("Resume disabled, machine state not saved")}};return!0}return!1};
function gn(a,b){var c=a.C;c||(c=wa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=qn(a,c))||a.Ba("The user ID is invalid."))):b&&a.Ba("Browser local storage is not available"));return c}
function qn(a,b){a.C=null;var c=pa(qa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(xa("user",c.data),a.C=c.data)}catch(e){n(e.message+" ("+d+")")}return a.C}function jn(a){var b=null;a.C&&(b=qa()+"/api/v1/user?req=load&user="+a.C+"&state="+Zm(a,hn));return b}
function pn(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Zm(a,hn);d.data=c;b=pa(qa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ba("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ba(c),xa("user",""),a.C=null)}}
function jb(a,b,c){a=Ta(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Ea(function(){for(var a=Za(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Wa(c),c=Za(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=Wa(f),g=new dn(g,d,!0);Ya(g,f);g.P&&kn(g,g.ef)}});Aa.show.push(function(){for(var a=Za(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Wa(a[b]);(c=Va("Computer",c.id))&&c.W&&!c.da.Pb&&c.ef(-1)}});
Aa.exit.push(function(){for(var a=Za(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Wa(a[b]);(c=Va("Computer",c.id))&&c.da.Pb&&on(c,!(!c.B||c.K),!0)}});var rn=0;function sn(a,b,c,d,e,f){e("Loading "+a+"...");pa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):tn(h,a,b,c,d,e,f)})}
function tn(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){Sa(c,b,a);var h=b;h&&0>h.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+h+'"}';"object"==typeof resources&&(h=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,
"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(x){h=null,a=x.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?un(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function un(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");pa(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,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.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);un(a,b,c)}})}else c(a,null)}
function vn(a,b,c,d){function e(a){if(void 0===h){var b=g&&Za(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);k&&(--rn||Ga(!0));k=!1}var g,h,k=!0;rn++;Ra[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=m:x.appendChild(document.createTextNode(m));q.appendChild(x)}c||
(c="/versions/pcjs/1.21.1/components.xsl");m=function(d,h){h?sn(c,null,null,!1,e,function(d,k){if(k)if(Sa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=h.transformNode(k);m?(g.outerHTML=m,--rn||Ga(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(k),(m=m.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--rn||Ga(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?sn(b,a,d,!0,e,m):tn(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(r){f(r.message)}return k}window.embedPC=function(a,b,c,d){Ga(!1);return vn(a,b,c,d)};window.enableEvents=Ga;window.sendEvent=Ha;
function wn(a,b,c,d){if(!c&&b){d.push(b);a=Ra[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?pa(b,null,!0,function(a,b){xn(b,d)}):xn(null,d)}else n("Error ("+c+") requesting "+a)}
function xn(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Ra[f],k={},m;for(m in h){var q=h[m],x=ga(m);if("xml"==x){for(x=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=x.exec(h[m]);){var r=d[2];r&&(h[r]||(q=q.replace(d[0],"")))}d=m=fa(m)}else"xsl"==x&&(e=m=fa(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(m=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+m+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
l.zb=function(a,b,c){var d=this;switch(b){case "power":return this.ja[b]=c,c.onclick=function(){d.D||(d.da.Pb?pn(d,!1,!0):ln(d,d.ef))},!0;case "reset":return this.ja[b]=c,c.onclick=function(){if(d.da.Pb&&!d.D)if(d.B&&!d.K){var a=ra("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");pn(d,a,!0);!a&&d.S?window&&window.location.reload():(a||(d.lg=!0),d.ef(gn),d.lg=!1)}else d.reset(),d.A&&lc(d.A)},!0;case "save":if(ha(qa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.ja[b]=c;c.onclick=function(){var a=hn(d,!0);if(a){var b=!!(d.B&&!d.K||d.S),c=pn(d,b);b?qn(d,a,c):d.Ba("Resume disabled, machine state not saved")}};return!0}return!1};
function hn(a,b){var c=a.C;c||(c=wa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=rn(a,c))||a.Ba("The user ID is invalid."))):b&&a.Ba("Browser local storage is not available"));return c}
function rn(a,b){a.C=null;var c=pa(qa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(xa("user",c.data),a.C=c.data)}catch(e){n(e.message+" ("+d+")")}return a.C}function kn(a){var b=null;a.C&&(b=qa()+"/api/v1/user?req=load&user="+a.C+"&state="+$m(a,jn));return b}
function qn(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=$m(a,jn);d.data=c;b=pa(qa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ba("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ba(c),xa("user",""),a.C=null)}}
function jb(a,b,c){a=Ta(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Ea(function(){for(var a=Za(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Wa(c),c=Za(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=Wa(f),g=new en(g,d,!0);Ya(g,f);g.P&&ln(g,g.ef)}});Aa.show.push(function(){for(var a=Za(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Wa(a[b]);(c=Va("Computer",c.id))&&c.W&&!c.da.Pb&&c.ef(-1)}});
Aa.exit.push(function(){for(var a=Za(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Wa(a[b]);(c=Va("Computer",c.id))&&c.da.Pb&&pn(c,!(!c.B||c.K),!0)}});var sn=0;function tn(a,b,c,d,e,f){e("Loading "+a+"...");pa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):un(h,a,b,c,d,e,f)})}
function un(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){Sa(c,b,a);var h=b;h&&0>h.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+h+'"}';"object"==typeof resources&&(h=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,
"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(x){h=null,a=x.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?vn(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function vn(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");pa(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,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.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);vn(a,b,c)}})}else c(a,null)}
function wn(a,b,c,d){function e(a){if(void 0===h){var b=g&&Za(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);k&&(--sn||Ga(!0));k=!1}var g,h,k=!0;sn++;Ra[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=m:x.appendChild(document.createTextNode(m));q.appendChild(x)}c||
(c="/versions/pcjs/1.21.1/components.xsl");m=function(d,h){h?tn(c,null,null,!1,e,function(d,k){if(k)if(Sa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=h.transformNode(k);m?(g.outerHTML=m,--sn||Ga(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(k),(m=m.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--sn||Ga(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?tn(b,a,d,!0,e,m):un(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(r){f(r.message)}return k}window.embedPC=function(a,b,c,d){Ga(!1);return wn(a,b,c,d)};window.enableEvents=Ga;window.sendEvent=Ha;
function xn(a,b,c,d){if(!c&&b){d.push(b);a=Ra[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?pa(b,null,!0,function(a,b){yn(b,d)}):yn(null,d)}else n("Error ("+c+") requesting "+a)}
function yn(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Ra[f],k={},m;for(m in h){var q=h[m],x=ga(m);if("xml"==x){for(x=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=x.exec(h[m]);){var r=d[2];r&&(h[r]||(q=q.replace(d[0],"")))}d=m=fa(m)}else"xsl"==x&&(e=m=fa(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(m=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+m+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),c=za(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n'),c+="...\n",c+='<script type="text/javascript" src="'+g+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",n(c)):n("Missing XML/XSL resources")}
window.savePC=function(a,b){var c=Va("Computer",a),d=Va("Debugger",a);if(c){var e=on(c,!0),f=c.I?JSON.stringify(c.I):null;b||(b="/versions/pcjs/1.21.1/pc"+(d?"-dbg":"")+".js");pa(b,null,!0,function(c,d,k){wn(c,d,k,[a,fa(b,!0),f,e])});return!0}n("Unable to identify machine '"+a+"'");return!1};})();
window.savePC=function(a,b){var c=Va("Computer",a),d=Va("Debugger",a);if(c){var e=pn(c,!0),f=c.I?JSON.stringify(c.I):null;b||(b="/versions/pcjs/1.21.1/pc"+(d?"-dbg":"")+".js");pa(b,null,!0,function(c,d,k){xn(c,d,k,[a,fa(b,!0),f,e])});return!0}n("Unable to identify machine '"+a+"'");return!1};})();