Some undocumented instruction updates

This commit is contained in:
Jeff Parsons 2016-02-16 12:21:58 -08:00
commit 025b1abb93
19 changed files with 2531 additions and 1582 deletions

View file

@ -2,7 +2,7 @@
function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}
function ea(a,b){var c="";void 0===b?b=32:32<b&&(b=32);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=(a&1?"1":"0")+c,a>>=1;return c}function fa(a,b){var c="";if(!b||4<b)b=4;for(var d=0;d<b;d++)c&&(c=","+c),c=ea(a&255,8)+"b"+c,a>>=8;return c}function l(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function ga(a){return"0x"+l(a,2)}
function ia(a){return"0x"+l(a,4)}function ja(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ka(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function la(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ma={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function na(a){return a.replace(/[&<>"']/g,function(a){return ma[a]})}
function oa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ra(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}var sa=Date.now||function(){return+new Date};
function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ra(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}var sa=Date.now||function(){return+new Date};
function ta(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ua=[31,28,31,30,31,30,31,31,30,31,30,31];function wa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.qh|g<<f.shift&f.qh}return c}function xa(a,b){return(b&a.qh)>>a.shift}
function ya(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
function za(a,b,c,d,e,f){b=!!b;var g=0,k=null,q=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(q.onreadystatechange=function(){4===q.readyState&&(k=q.responseText,200==q.status||!q.status&&k.length&&"file:"==(window?window.location.protocol:"file:")||(g=q.status||-1),e&&(d?e.call(d,a,k,g,f):e(a,k,g,f)))});if(c){var r="",x;for(x in c)c.hasOwnProperty(x)&&(r&&(r+="&"),r+=x+"="+encodeURIComponent(c[x]));r=r.replace(/%20/g,"+");q.open("POST",a,b);q.setRequestHeader("Content-type",
@ -200,9 +200,10 @@ function fe(){var a=1,b=0,c=this.Ga,d=5;this.La&192&&(a=this.G&c,b=1,this.La&256
function rj(){var a=this.L();sf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)}function sj(){var a=this.L();nf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function tj(){var a=this.L();nf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)}function uj(){var a=this.L();qf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function vj(){var a=this.L();qf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)}
function wj(){var a=this.L();nf(this)||qf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function xj(){var a=this.L();nf(this)||qf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)}function yj(){var a=this.L();rf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function zj(){var a=this.L();rf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)}function Aj(){var a=this.L();of(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}
function Bj(){var a=this.L();of(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)}function Cj(){var a=this.L();!rf(this)!=!sf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function Dj(){var a=this.L();!rf(this)==!sf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function Ej(){var a=this.L();qf(this)||!rf(this)!=!sf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}
function Fj(){var a=this.L();qf(this)||!rf(this)!=!sf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)}function Gj(){this.Ib[this.ca()].call(this,Hj,this.ca);this.A-=-1===this.Y?1:this.C.Dg}function ge(){this.Ib[this.ca()].call(this,Ij,nj)}function he(){this.Oa[this.ca()].call(this,2==this.fa?Jj:Kj,nj)}function Lj(){var a=Lf(this),b=qd(this);hf(this,b);a&&t(this,u(this)+a);this.A-=this.C.$j}function Mj(){var a=qd(this);hf(this,a);this.A-=this.C.Xj}
function Fj(){var a=this.L();qf(this)||!rf(this)!=!sf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)}function Gj(){this.Ib[this.ca()].call(this,Hj,this.ca);this.A-=-1===this.Y?1:this.C.Dg}function Ij(){this.V|=1;this.Ta[this.ca()].call(this,Zh)}function Jj(){this.V|=1;this.qa[this.ca()].call(this,Zh)}function Kj(){this.Qa[this.ca()].call(this,Zh)}function Lj(){this.da[this.ca()].call(this,Zh)}function ge(){this.Ib[this.ca()].call(this,Mj,nj)}
function he(){this.Oa[this.ca()].call(this,2==this.fa?Nj:Oj,nj)}function Pj(){var a=Lf(this),b=qd(this);hf(this,b);a&&t(this,u(this)+a);this.A-=this.C.$j}function Qj(){var a=qd(this);hf(this,a);this.A-=this.C.Xj}
function ie(){this.X=this.ka;var a=Lf(this),b=this.ca()&31;this.A-=11;Dd(this,this.K);var c=u(this)&this.B;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.K=this.K&~this.B|this.K-this.fa&this.B,Dd(this,zd(this,this.Aa,this.K&this.B));Dd(this,c)}this.K=this.K&~this.B|c;t(this,u(this)&~this.Aa.Ga|u(this)-a&this.Aa.Ga);this.X=-1}function je(){this.X=this.ka;t(this,u(this)&~this.Aa.Ga|this.K&this.Aa.Ga);this.K=this.K&~this.B|qd(this)&this.B;this.A-=5;this.X=-1}
function Nj(){di.call(this,Lf(this));this.A-=this.C.Zj}function Oj(){di.call(this,0);this.A-=this.C.Yj}function Pj(a){this.Qg=a;this.da[this.pc=this.ca()].call(this,Hh)}function Qj(){this.V|=36;this.A-=this.C.nd}function ke(){oe.call(this)}function Nd(){p.call(this,6)}function oe(){hf(this,this.He-this.Ca.Fa);zb(this,"Undefined opcode "+ga(this.Wa(this.Na))+" at "+("0x"+l(this.Na)));this.bc()}
function Rj(){di.call(this,Lf(this));this.A-=this.C.Zj}function Sj(){di.call(this,0);this.A-=this.C.Yj}function Tj(a){this.Qg=a;this.da[this.pc=this.ca()].call(this,Hh)}function Uj(){this.V|=36;this.A-=this.C.nd}function ke(){oe.call(this)}function Nd(){p.call(this,6)}function oe(){hf(this,this.He-this.Ca.Fa);zb(this,"Undefined opcode "+ga(this.Wa(this.Na))+" at "+("0x"+l(this.Na)));this.bc()}
var Jd=[function(){var a=this.ca();this.Ta[a].call(this,lh)},function(){this.qa[this.ca()].call(this,mh)},function(){this.Qa[this.ca()].call(this,lh)},function(){this.da[this.ca()].call(this,mh)},function(){this.F=this.F&-256|lh.call(this,this.F&255,this.ca());this.A--},function(){this.F=this.F&~this.B|mh.call(this,this.F&this.B,this.Sa());this.A--},function(){Ad(this,this.bb.ga,this.fa,2);this.A-=this.C.Fe},function(){this.X=this.ka;Cd(this,qd(this));this.A-=this.C.zc;this.X=-1},function(){this.Ta[this.ca()].call(this,
bi)},function(){this.qa[this.ca()].call(this,ci)},function(){this.Qa[this.ca()].call(this,bi)},function(){this.da[this.ca()].call(this,ci)},function(){this.F=this.F&-256|bi.call(this,this.F&255,this.ca());this.A--},function(){this.F=this.F&~this.B|ci.call(this,this.F&this.B,this.Sa());this.A--},function(){Ad(this,this.Ca.ga,this.fa,2);this.A-=this.C.Fe},function(){gf(this,qd(this));this.A-=this.C.zc},function(){this.Ta[this.ca()].call(this,jh)},function(){this.qa[this.ca()].call(this,kh)},function(){this.Qa[this.ca()].call(this,
jh)},function(){this.da[this.ca()].call(this,kh)},function(){this.F=this.F&-256|jh.call(this,this.F&255,this.ca());this.A--},function(){this.F=this.F&~this.B|kh.call(this,this.F&this.B,this.Sa());this.A--},function(){Ad(this,this.Aa.ga,this.fa,2);this.A-=this.C.Fe},function(){this.X=this.ka;rd(this,qd(this));this.A-=this.C.zc;this.X=-1},function(){this.Ta[this.ca()].call(this,ei)},function(){this.qa[this.ca()].call(this,fi)},function(){this.Qa[this.ca()].call(this,ei)},function(){this.da[this.ca()].call(this,
@ -214,52 +215,52 @@ gj)},function(){this.qa[this.ca()].call(this,hj)},function(){this.Qa[this.ca()].
15,d=d-1&255,a=b=1):a=b=0;this.F=this.F&-65536|d<<8|c;a?uf(this):vf(this);b?Cf(this):Af(this);this.A-=this.C.Ee},function(){this.F=Oh.call(this,this.F)},function(){this.G=Oh.call(this,this.G)},function(){this.H=Oh.call(this,this.H)},function(){this.D=Oh.call(this,this.D)},function(){t(this,Oh.call(this,u(this)))},function(){this.K=Oh.call(this,this.K)},function(){this.J=Oh.call(this,this.J)},function(){this.I=Oh.call(this,this.I)},function(){this.F=Eh.call(this,this.F)},function(){this.G=Eh.call(this,
this.G)},function(){this.H=Eh.call(this,this.H)},function(){this.D=Eh.call(this,this.D)},function(){t(this,Eh.call(this,u(this)))},function(){this.K=Eh.call(this,this.K)},function(){this.J=Eh.call(this,this.J)},function(){this.I=Eh.call(this,this.I)},function(){Dd(this,this.F&this.B);this.A-=this.C.Tc},function(){Dd(this,this.G&this.B);this.A-=this.C.Tc},function(){Dd(this,this.H&this.B);this.A-=this.C.Tc},function(){Dd(this,this.D&this.B);this.A-=this.C.Tc},function(){Dd(this,u(this)-2&65535);this.A-=
this.C.Tc},function(){Dd(this,this.K&this.B);this.A-=this.C.Tc},function(){Dd(this,this.J&this.B);this.A-=this.C.Tc},function(){Dd(this,this.I&this.B);this.A-=this.C.Tc},function(){this.F=this.F&~this.B|qd(this);this.A-=this.C.zc},function(){this.G=this.G&~this.B|qd(this);this.A-=this.C.zc},function(){this.H=this.H&~this.B|qd(this);this.A-=this.C.zc},function(){this.D=this.D&~this.B|qd(this);this.A-=this.C.zc},function(){t(this,u(this)&~this.B|qd(this));this.A-=this.C.zc},function(){this.K=this.K&
~this.B|qd(this);this.A-=this.C.zc},function(){this.J=this.J&~this.B|qd(this);this.A-=this.C.zc},function(){this.I=this.I&~this.B|qd(this);this.A-=this.C.zc},qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,function(){this.Oa[this.ca()].call(this,Rj,this.Sa);this.A-=-1===this.Y?1:this.C.Dg},Gj,function(){this.Oa[this.ca()].call(this,Rj,this.L);this.A-=-1===this.Y?1:this.C.Dg},function(){this.Ta[this.ca()].call(this,aj)},function(){this.qa[this.ca()].call(this,
bj)},function(){this.Qa[this.pc=this.ca()].call(this,ej)},function(){this.da[this.pc=this.ca()].call(this,fj)},function(){this.V|=1;this.Ta[this.ca()].call(this,Zh)},function(){this.V|=1;this.qa[this.ca()].call(this,Zh)},function(){this.Qa[this.ca()].call(this,Zh)},function(){this.da[this.ca()].call(this,Zh)},function(){var a=this.ca();switch((a&56)>>3){case 0:this.xb=this.bb.ga;break;case 1:this.xb=this.Ca.ga;break;case 2:this.xb=this.Aa.ga;break;case 3:this.xb=this.Ab.ga;break;case 4:if(80386<=
this.na){this.xb=this.Sb.ga;break}p.call(this,6);return;case 5:if(80386<=this.na){this.xb=this.Tb.ga;break}default:p.call(this,6);return}this.V|=1;this.qa[a].call(this,ai)},function(){this.V|=1;this.P=this.O=this.pf;this.da[this.ca()].call(this,Th)},function(){var a,b;b=this.ca();var c=(b&56)>>3;switch(c){case 0:a=this.F;break;case 2:a=this.H;break;case 3:a=this.D;break;default:if(80286==this.na||80386==this.na&&4!=c&&5!=c){p.call(this,6);return}switch(c){case 1:a=this.G;break;case 4:a=u(this);break;
case 5:a=this.K;break;case 6:a=this.J;break;case 7:a=this.I}}this.da[b].call(this,Zh);switch(c){case 0:b=this.F;this.F=a;Cd(this,b);break;case 1:b=this.G;this.G=a;gf(this,b);break;case 2:b=this.H;this.H=a;rd(this,b);break;case 3:b=this.D;this.D=a;Bd(this,b);break;case 4:b=u(this);t(this,a);80386<=this.na?this.Sb.load(b):Cd(this,b);break;case 5:b=this.K;this.K=a;80386<=this.na?this.Tb.load(b):gf(this,b);break;case 6:b=this.J;this.J=a;rd(this,b);break;case 7:b=this.I,this.I=a,Bd(this,b)}},function(){this.V|=
1;this.X=this.ka;this.xb=qd(this);this.Oa[this.ca()].call(this,Sj,pj);this.X=-1},function(){this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.G&this.B;this.G=this.G&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.H&this.B;this.H=this.H&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.D&this.B;this.D=this.D&~this.B|a&this.B;this.A-=3},function(){var a=this.F,b=u(this);this.F=this.F&~this.B|b&this.B;t(this,b&~this.B|a&this.B);
this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.K&this.B;this.K=this.K&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.J&this.B;this.J=this.J&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.I&this.B;this.I=this.I&~this.B|a&this.B;this.A-=3},function(){this.F=2==this.fa?this.F&-65536|this.F<<24>>24&65535:this.F<<16>>16;this.A-=2},function(){this.H=2==this.fa?this.H&-65536|(this.F&32768?65535:0):this.F&-2147483648?-1:0;this.A-=
this.C.gj},function(){Bh.call(this,this.Sa(),Lf(this));this.A-=this.C.jj},function(){this.A-=3},function(){var a=Ed(this);a&131072&&3>this.Ra?p.call(this,13,0):(Dd(this,a&-196609),this.A-=this.C.Tc)},function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=qd(this),a=a&65535|this.ea&-65536;Fd(this,a);this.A-=this.C.zc}},function(){var a=this.F>>8&255;a&1?uf(this):vf(this);a&4?(this.resultType&=-3,this.ea|=4):(this.resultType&=-3,this.ea&=-5);a&16?Cf(this):Af(this);a&64?Df(this):Bf(this);
a&128?(this.resultType&=-17,this.ea|=128):(this.resultType&=-17,this.ea&=-129);this.A-=this.C.jc},function(){this.F=this.F&-65281|(Ed(this)&213)<<8;this.A-=this.C.jc},function(){var a=this.F&-256,b;b=R(this);b=this.Wa(this.P.Fc(b,1));this.F=a|b;this.A-=this.C.Nh},function(){this.F=this.F&~this.B|zd(this,this.P,R(this));this.A-=this.C.Nh},function(){var a=R(this),b=this.F;this.tc(this.P.Gc(a,1),b);this.A-=this.C.Oh},function(){var a=R(this),b=this.F;this.uc(this.P.Gc(a,this.fa),b);this.A-=this.C.Oh},
function(){var a=1,b=0,c=this.Ga,d=this.C.Ph;this.La&192&&(a=this.G&c,b=1,d=this.C.Rh,this.La&256||(this.A-=this.C.Qh));if(a--){var e=this.Wa(this.P.Fc(this.J&c,1));this.tc(this.bb.Gc(this.I&c,1),e);e=this.ea&1024?-1:1;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I+e&c;this.A-=d;this.G=this.G&~c|this.G-b&c;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Ph;this.La&192&&(a=this.G&c,b=1,d=this.C.Rh,this.La&256||(this.A-=this.C.Qh));if(a--){var e=zd(this,this.P,this.J&c);this.uc(this.bb.Gc(this.I&
c,this.fa),e);e=this.ea&1024?-this.fa:this.fa;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I+e&c;this.A-=d;this.G=this.G&~c|this.G-b&c;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Ah;this.La&192&&(a=this.G&c,b=1,d=this.C.Ch,this.La&256||(this.A-=this.C.Bh));if(a--){var e=Hf(this,this.P,this.J&c),f=Jf(this,this.bb,this.I&c);Ch.call(this,e,f);e=this.ea&1024?-1:1;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I+e&c;this.G=this.G&~c|this.G-b&c;this.A-=d-this.C.ac;a&&qf(this)==
(this.La&64)&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Ah;this.La&192&&(a=this.G&c,b=1,d=this.C.Ch,this.La&256||(this.A-=this.C.Bh));if(a--){var e=If(this,this.P,this.J&c),f=Kf(this,this.bb,this.I&c);Dh.call(this,e,f);e=this.ea&1024?-this.fa:this.fa;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I+e&c;this.G=this.G&~c|this.G-b&c;this.A-=d-this.C.ac;a&&qf(this)==(this.La&64)&&(lf(this),this.V|=256)}},function(){tf(this,this.F&this.ca(),128);this.A-=this.C.Ee},function(){tf(this,
this.F&this.Sa(),this.Ja);this.A-=this.C.Ee},function(){var a=1,b=0,c=this.Ga,d=this.C.$h;this.La&192&&(a=this.G&c,b=1,d=this.C.bi,this.La&256||(this.A-=this.C.ai));if(a--){var e=this.F;this.tc(this.bb.Gc(this.I&c,1),e);this.G=this.G&~c|this.G-b&c;80546<=this.oc&&80564>=this.oc&&!(this.La&2048)!=(103!=this.Wa(this.Na))&&(c^=-65536);this.I=this.I&~c|this.I+(this.ea&1024?-1:1)&c;this.A-=d;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.$h;this.La&192&&(a=this.G&c,b=1,d=this.C.bi,
this.La&256||(this.A-=this.C.ai));if(a--){var e=this.F;this.uc(this.bb.Gc(this.I&c,this.fa),e);this.I=this.I&~c|this.I+(this.ea&1024?-this.fa:this.fa)&c;this.G=this.G&~c|this.G-b&c;this.A-=d;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Hh;this.La&192&&(a=this.G&c,b=1,d=this.C.Jh,this.La&256||(this.A-=this.C.Ih));if(a--){var e=this.Wa(this.P.Fc(this.J&c,1));this.F=this.F&-256|e;this.J=this.J&~c|this.J+(this.ea&1024?-1:1)&c;this.G=this.G&~c|this.G-b&c;this.A-=d;a&&(lf(this),
this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Hh;this.La&192&&(a=this.G&c,b=1,d=this.C.Jh,this.La&256||(this.A-=this.C.Ih));if(a--){var e=zd(this,this.P,this.J&c);this.F=this.F&~this.B|e;this.J=this.J&~c|this.J+(this.ea&1024?-this.fa:this.fa)&c;this.G=this.G&~c|this.G-b&c;this.A-=d;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Uh;this.La&192&&(a=this.G&c,b=1,d=this.C.Wh,this.La&256||(this.A-=this.C.Vh));a--&&(Ch.call(this,this.F&255,Jf(this,this.bb,this.I&c)),this.I=
this.I&~c|this.I+(this.ea&1024?-1:1)&c,this.G=this.G&~c|this.G-b&c,this.A-=d-this.C.ac,a&&qf(this)==(this.La&64)&&(lf(this),this.V|=256))},function(){var a=1,b=0,c=this.Ga,d=this.C.Uh;this.La&192&&(a=this.G&c,b=1,d=this.C.Wh,this.La&256||(this.A-=this.C.Vh));a--&&(Dh.call(this,this.F&this.B,Kf(this,this.bb,this.I&c)),this.I=this.I&~c|this.I+(this.ea&1024?-this.fa:this.fa)&c,this.G=this.G&~c|this.G-b&c,this.A-=d-this.C.ac,a&&qf(this)==(this.La&64)&&(lf(this),this.V|=256))},function(){this.F=this.F&
-256|this.ca();this.A-=this.C.jc},function(){this.G=this.G&-256|this.ca();this.A-=this.C.jc},function(){this.H=this.H&-256|this.ca();this.A-=this.C.jc},function(){this.D=this.D&-256|this.ca();this.A-=this.C.jc},function(){this.F=this.F&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.G=this.G&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.H=this.H&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.D=this.D&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.F=this.F&~this.B|this.Sa();
this.A-=this.C.jc},function(){this.G=this.G&~this.B|this.Sa();this.A-=this.C.jc},function(){this.H=this.H&~this.B|this.Sa();this.A-=this.C.jc},function(){this.D=this.D&~this.B|this.Sa();this.A-=this.C.jc},function(){t(this,u(this)&~this.B|this.Sa());this.A-=this.C.jc},function(){this.K=this.K&~this.B|this.Sa();this.A-=this.C.jc},function(){this.J=this.J&~this.B|this.Sa();this.A-=this.C.jc},function(){this.I=this.I&~this.B|this.Sa();this.A-=this.C.jc},Lj,Mj,Lj,Mj,function(){this.da[this.ca()].call(this,
Uh)},function(){this.da[this.ca()].call(this,Sh)},function(){this.V|=1;this.Ib[this.ca()].call(this,Tj,this.ca)},function(){this.V|=1;this.Oa[this.ca()].call(this,Tj,this.Sa)},Nj,Oj,Nj,Oj,function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=this.C.Aj;this.lb=-1;Ph.call(this,3,null,a)}},function(){var a=this.ca();if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var b;a:{b=this.je[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.Na)){b=!1;break a}this.ra.Pi&&n(this,16)&&
Uj(this.ma,a,this.Na);b=!0}b?(this.lb=-1,Ph.call(this,a,null,0)):this.A--}},function(){if(sf(this))if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=this.C.Bj;this.lb=-1;Ph.call(this,4,null,a)}else this.A-=this.C.Cj},function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{this.X=this.ka;this.A-=this.C.yj;if(this.hb&1&&this.ea&16384){var a=this.va(this.Ya.Fa+0);sd(this.Ca,a,!1)}else{var a=this.ua,b=qd(this),c=qd(this),d=qd(this);if(this.ea&131072)d=d&131071|this.ea&-131072;else if(d&
131072){var e=qd(this),f=qd(this),g=qd(this),k=qd(this),q=qd(this),r=qd(this);xd(this,!0,!0);rd(this,f);t(this,e);Cd(this,g);Bd(this,k);this.Sb.load(q);this.Tb.load(r)}null!=Gd(this,b,c,!1)&&(Fd(this,d,a),this.me&&Ue(this,this.Na))}this.X=-1}},function(){this.Ib[this.ca()].call(this,Ij,lj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Jj:Kj,lj)},function(){this.Ib[this.ca()].call(this,Ij,mj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Jj:Kj,mj)},function(){var a=this.ca();if(a){var b=
this.F&255;this.F=this.F&-65536|b/a<<8|b%a;tf(this,this.F,128);this.A-=this.C.dj}},function(){var a=this.ca();this.F=this.F&-65536|(this.F>>8&255)*a+this.F&255;tf(this,this.F,128);this.A-=this.C.cj},function(){this.F=this.F&-256|(nf(this)?255:0);this.A-=2},function(){this.F=this.F&-256|Hf(this,this.P,this.D+(this.F&255)&65535);this.A-=this.C.bk},function(){Pj.call(this,216)},function(){Pj.call(this,217)},function(){Pj.call(this,218)},function(){Pj.call(this,219)},function(){Pj.call(this,220)},function(){Pj.call(this,
221)},function(){Pj.call(this,222)},function(){Pj.call(this,223)},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b&&!qf(this)?(hf(this,v(this)+a),this.A-=this.C.Jj):this.A-=this.C.Kh},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b&&qf(this)?(hf(this,v(this)+a),this.A-=this.C.Lh):this.A-=this.C.Mh},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b?(hf(this,v(this)+a),this.A-=this.C.Ij):this.A-=this.C.Kh},function(){var a=this.L();
this.G&this.Ga?this.A-=this.C.Mh:(hf(this,v(this)+a),this.A-=this.C.Lh)},function(){var a=this.ca();Ff(this,a,1,!0)&&(this.F=this.F&-256|oc(this.ja,a,1,this.Na-2)&255,this.A-=this.C.Fh)},function(){var a=this.ca();Ff(this,a,this.fa,!0)&&(this.F=this.F&~this.B|oc(this.ja,a,this.fa,this.Na-2)&this.B,this.A-=this.C.Fh)},function(){var a=this.ca();Ff(this,a,1,!1)&&(sc(this.ja,a,1,this.F&255,this.Na-2),this.A-=this.C.Th)},function(){var a=this.ca();Ff(this,a,this.fa,!1)&&(sc(this.ja,a,this.fa,this.F&this.B,
this.Na-2),this.A-=this.C.Th)},function(){var a=this.Sa(),b=v(this),a=b+a;Dd(this,b);hf(this,a);this.A-=this.C.hj},function(){var a=this.Sa();hf(this,v(this)+a);this.A-=this.C.Gh},function(){Gd(this,this.Sa(),Lf(this));this.A-=this.C.Ej},function(){var a=this.L();hf(this,v(this)+a);this.A-=this.C.Gh},function(){var a=this.H&65535;Ff(this,a,1,!0)&&(this.F=this.F&-256|oc(this.ja,a,1,this.Na-1)&255,this.A-=this.C.Eh)},function(){var a=this.H&65535;Ff(this,a,this.fa,!0)&&(this.F=this.F&~this.B|oc(this.ja,
a,this.fa,this.Na-1)&this.B,this.A-=this.C.Eh)},function(){var a=this.H&65535;Ff(this,a,1,!1)&&(sc(this.ja,a,1,this.F&255,this.Na-1),this.A-=this.C.Sh)},function(){var a=this.H&65535;Ff(this,a,2,!1)&&(sc(this.ja,a,this.fa,this.F&this.B,this.Na-1),this.A-=this.C.Sh)},Qj,Qj,function(){this.V|=132;this.A-=this.C.nd},function(){this.V|=68;this.A-=this.C.nd},function(){this.ea&131072?p.call(this,13,0):(this.za|=4,this.A-=2,this.ma&&n(this,-2147483648)?(lf(this),this.ma.bc()):this.ea&512||(this.ma&&lf(this),
this.bc()))},function(){nf(this)?vf(this):uf(this);this.A-=2},function(){this.Va=!1;this.Ib[this.ca()].call(this,Vj,oj);this.Va&&(this.F=this.F&~this.B|this.la&this.B)},function(){this.Va=!1;this.Oa[this.ca()].call(this,Wj,oj);this.Va&&(this.F=this.F&~this.B|this.la&this.B,this.H=this.H&~this.B|this.Ba&this.B)},function(){vf(this);this.A-=2},function(){uf(this);this.A-=2},function(){this.ua>this.Ra?p.call(this,13,0):(this.ea&=-513,this.A-=this.C.fj)},function(){this.ua>this.Ra?p.call(this,13,0):(this.ea|=
512,this.V|=4,this.A-=2)},function(){this.ea&=-1025;this.A-=2},function(){this.ea|=1024;this.A-=2},function(){this.Ib[this.ca()].call(this,Kd,oj)},function(){this.Oa[this.ca()].call(this,Ld,oj)}],Hj=[lh,bi,jh,ei,nh,Zi,gj,Ch],Rj=[mh,ci,kh,fi,oh,$i,hj,Dh],Sj=[function(a,b){this.A-=-1===this.Y?this.C.zc:this.C.Uj;return b},ij,ij,ij,ij,ij,ij,ij],Tj=[function(a,b){this.A-=-1===this.Y?this.C.Mj:this.C.Kj;return b},jj,jj,jj,jj,jj,jj,jj],Ij=[function(a,b){var c=a,d=b&this.wa;if(d){var e;(d&=7)?(e=a<<d-1,
c=(a<<d|a>>8-d)&255):e=a<<7;yf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;yf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=zf(this);(d%=9)?(c=(a<<d|e<<d-1|a>>9-d)&255,e=a<<d-1):e<<=7;yf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=zf(this);(d%=9)?(c=(a>>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;yf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=0;8<d?c=0:(e=a<<d-1,c=e<<
1&255);tf(this,c,128,e&128,(c^e)&128)}return c},function(a,b){var c=b&this.wa;c&&(c=8<c?0:a>>>c-1,a=c>>>1&255,tf(this,a,128,c&1,a&128));return a},jj,function(a,b){var c=b&this.wa;c&&(9<c&&(c=9),c=a<<24>>24>>c-1,a=c>>1&255,tf(this,a,128,c&1));return a}],Jj=[function(a,b){var c=a,d=b&this.wa;if(d){var e;(d&=15)?(e=a<<d-1,c=(a<<d|a>>16-d)&65535):e=a<<15;yf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;yf(this,c,e,32768)}return c},function(a,
b){var c=a,d=b&this.wa;if(d){var e=zf(this);(d%=17)?(c=(a<<d|e<<d-1|a>>17-d)&65535,e=a<<d-1):e<<=15;yf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=zf(this);(d%=17)?(c=(a>>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;yf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=0;16<d?c=0:(e=a<<d-1,c=e<<1&65535);tf(this,c,32768,e&32768,(c^e)&32768)}return c},function(a,b){var c=b&this.wa;c&&(c=16<c?0:a>>>c-1,a=c>>>1&65535,tf(this,a,32768,c&1,a&32768));return a},
jj,function(a,b){var c=b&this.wa;c&&(17<c&&(c=17),c=a<<16>>16>>c-1,a=c>>1&65535,tf(this,a,32768,c&1));return a}],Kj=[function(a,b){var c=a,d=b&this.wa;d&&(c=a<<d|a>>>32-d,yf(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=a<<32-d,c=a>>>d|e;yf(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.wa;d&&(c=zf(this),c=a<<d|c<<d-1|a>>>32-d>>>1,yf(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.wa;d&&(c=zf(this),c=a>>>d|c<<32-d|a<<32-d<<
1,yf(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.wa;d&&(d=a<<d-1,c=d<<1,tf(this,c,-2147483648,d&-2147483648,(c^d)&-2147483648));return c},function(a,b){var c=b&this.wa;c&&(c=a>>>c-1,a=c>>>1,tf(this,a,-2147483648,c&1,a&-2147483648));return a},jj,function(a,b){var c=b&this.wa;c&&(c=a>>c-1,a=c>>1,tf(this,a,-2147483648,c&1));return a}],Vj=[function(a,b){b=this.ca();tf(this,a&b,128);this.A-=-1===this.Z?this.C.di:this.C.ci;this.V|=2;return a},jj,function(a){this.A-=-1===this.Z?
this.C.Qf:this.C.Pf;return a^255},function(a){var b=-a|0;mf(this,0,a,b,191,!0);this.A-=-1===this.Z?this.C.Qf:this.C.Pf;return b&255},function(a){this.la=(this.F&255)*a&65535;this.la&65280?(uf(this),wf(this)):(vf(this),xf(this));this.Va=!0;this.A-=-1===this.Z?this.C.Qj:this.C.Pj;this.V|=2;return a},function(a){var b=(this.F<<24>>24)*(a<<24>>24)|0;this.la=b&65535;127<b||-128>b?(uf(this),wf(this)):(vf(this),xf(this));this.Va=!0;this.A-=-1===this.Z?this.C.vj:this.C.uj;this.V|=2;return a},function(a,b){if(!a)return kj.call(this),
a;var c=(b=this.F&65535)/a;if(255<c)return kj.call(this),a;this.la=c&255|(b%a&255)<<8;this.Va=!0;this.A-=-1===this.Z?this.C.nj:this.C.mj;this.V|=2;return a},function(a,b){if(!a)return kj.call(this),a;var c=a<<24>>24,d=(b=this.F<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.na&&-128==d)return kj.call(this),a;this.la=d&255|(b%c&255)<<8;this.Va=!0;this.A-=-1===this.Z?this.C.rj:this.C.qj;this.V|=2;return a}],Wj=[function(a,b){b=this.Sa();tf(this,a&b,this.Ja);this.A-=-1===this.Z?this.C.di:this.C.ci;this.V|=
2;return a},jj,function(a){this.A-=-1===this.Z?this.C.Qf:this.C.Pf;return a^this.B},function(a){var b=-a|0;mf(this,0,a,b,this.Ja|63,!0);this.A-=-1===this.Z?this.C.Qf:this.C.Pf;return b&this.B},function(a,b){if(2==this.fa){b=this.F&65535;var c=b*a|0;this.la=c&65535;this.Ba=c>>16&65535}else Nh.call(this,a,this.F),80563==this.oc&&68657152==this.F&&129==a&&(this.Ba=0);this.Ba?(uf(this),wf(this)):(vf(this),xf(this));this.Va=!0;this.A-=-1===this.Z?this.C.Sj:this.C.Rj;this.V|=2;return a},function(a,b){var c;
2==this.fa?(b=this.F&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.la=c&65535,this.Ba=c>>16&65535,c=32767<c||-32768>c):(Mh.call(this,a,this.F),c=this.Ba!=this.la>>31);c?(uf(this),wf(this)):(vf(this),xf(this));this.Va=!0;this.A-=-1===this.Z?this.C.xj:this.C.wj;this.V|=2;return a},function(a,b){if(2==this.fa){if(!a)return kj.call(this),a;b=65536*(this.H&65535)+(this.F&65535);var c=b/a;if(65536<=c)return kj.call(this),a;this.la=c&65535;this.Ba=b%a&65535}else{if(!Gh.call(this,this.F,this.H,a))return kj.call(this),
a;this.la|=0;this.Ba|=0}this.Va=!0;this.A-=-1===this.Z?this.C.pj:this.C.oj;this.V|=2;return a},function(a,b){if(2==this.fa){if(!a)return kj.call(this),a;var c=a<<16>>16,d=(b=this.H<<16|this.F&65535)/c|0;if(d!=d<<16>>16||8086==this.na&&-32768==d)return kj.call(this),a;this.la=d&65535;this.Ba=b%c&65535}else{var c=this.F,d=this.H,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!Gh.call(this,c,d,e)||this.la>2147483647+f||this.Ba>2147483647+g?c=!1:(f&&(this.la=-this.la),g&&(this.Ba=
-this.Ba),c=!0);if(!c)return kj.call(this),a;this.la|=0;this.Ba|=0}this.Va=!0;this.A-=-1===this.Z?this.C.tj:this.C.sj;this.V|=2;return a}],Kd=[function(a){var b=a+1|0;mf(this,a,1,b,190);this.A-=-1===this.Z?this.C.Of:this.C.Nf;return b&255},function(a){var b=a-1|0;mf(this,a,1,b,190,!0);this.A-=-1===this.Z?this.C.Of:this.C.Nf;return b&255},jj,jj,jj,jj,jj,jj],Ld=[function(a){var b=a+1|0;mf(this,a,1,b,this.Ja|62);this.A-=-1===this.Z?this.C.Of:this.C.Nf;return b&this.B},function(a){var b=a-1|0;mf(this,
a,1,b,this.Ja|62,!0);this.A-=-1===this.Z?this.C.Of:this.C.Nf;return b&this.B},function(a){Dd(this,v(this));hf(this,a);this.A-=-1===this.Z?this.C.lj:this.C.kj;this.V|=2;return a},function(a){if(-1===this.Z)return jj.call(this,a);this.X=this.ka;Bh.call(this,a,this.va(this.Z+this.fa));this.A-=this.C.ij;this.V|=2;this.X=-1;return a},function(a){hf(this,a);this.A-=-1===this.Z?this.C.Gj:this.C.Fj;this.V|=2;return a},function(a){if(-1===this.Z)return jj.call(this,a);Gd(this,a,this.va(this.Z+this.fa));this.A-=
this.C.Dj;this.V|=2;return a},function(a){var b=a;this.V&512&&(a=a-2&65535,80286>this.na&&(b=a));Dd(this,b);this.A-=-1===this.Z?this.C.Tc:this.C.Wj;this.V|=2;return a},jj];function ve(){this.da[this.ca()].call(this,dj);this.A-=-1===this.Z?6:13}function we(){this.qa[this.ca()].call(this,cj);this.A-=-1===this.Z?12:19}var ne=Array(256);ne[0]=function(){var a=this.ca();16>(a&56)&&(this.V|=1);this.Oa[a].call(this,this.Pg,oj)};ne[1]=function(){var a=this.ca();a&16||(this.V|=1);this.Oa[a].call(this,Xj,oj)};
ne[2]=function(){!(this.hb&1)||this.ea&131072?p.call(this,6):this.da[this.ca()].call(this,Qh)};ne[3]=function(){!(this.hb&1)||this.ea&131072?p.call(this,6):this.da[this.ca()].call(this,Xh)};
~this.B|qd(this);this.A-=this.C.zc},function(){this.J=this.J&~this.B|qd(this);this.A-=this.C.zc},function(){this.I=this.I&~this.B|qd(this);this.A-=this.C.zc},qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,function(){this.Oa[this.ca()].call(this,Vj,this.Sa);this.A-=-1===this.Y?1:this.C.Dg},Gj,function(){this.Oa[this.ca()].call(this,Vj,this.L);this.A-=-1===this.Y?1:this.C.Dg},function(){this.Ta[this.ca()].call(this,aj)},function(){this.qa[this.ca()].call(this,
bj)},function(){this.Qa[this.pc=this.ca()].call(this,ej)},function(){this.da[this.pc=this.ca()].call(this,fj)},Ij,Jj,Kj,Lj,function(){var a=this.ca();switch((a&56)>>3){case 0:this.xb=this.bb.ga;break;case 1:this.xb=this.Ca.ga;break;case 2:this.xb=this.Aa.ga;break;case 3:this.xb=this.Ab.ga;break;case 4:if(80386<=this.na){this.xb=this.Sb.ga;break}p.call(this,6);return;case 5:if(80386<=this.na){this.xb=this.Tb.ga;break}default:p.call(this,6);return}this.V|=1;this.qa[a].call(this,ai)},function(){this.V|=
1;this.P=this.O=this.pf;this.da[this.ca()].call(this,Th)},function(){var a,b;b=this.ca();var c=(b&56)>>3;switch(c){case 0:a=this.F;break;case 2:a=this.H;break;case 3:a=this.D;break;default:if(80286==this.na||80386==this.na&&4!=c&&5!=c){p.call(this,6);return}switch(c){case 1:a=this.G;break;case 4:a=u(this);break;case 5:a=this.K;break;case 6:a=this.J;break;case 7:a=this.I}}this.da[b].call(this,Zh);switch(c){case 0:b=this.F;this.F=a;Cd(this,b);break;case 1:b=this.G;this.G=a;gf(this,b);break;case 2:b=
this.H;this.H=a;rd(this,b);break;case 3:b=this.D;this.D=a;Bd(this,b);break;case 4:b=u(this);t(this,a);80386<=this.na?this.Sb.load(b):Cd(this,b);break;case 5:b=this.K;this.K=a;80386<=this.na?this.Tb.load(b):gf(this,b);break;case 6:b=this.J;this.J=a;rd(this,b);break;case 7:b=this.I,this.I=a,Bd(this,b)}},function(){this.V|=1;this.X=this.ka;this.xb=qd(this);this.Oa[this.ca()].call(this,Wj,pj);this.X=-1},function(){this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.G&this.B;this.G=this.G&~this.B|
a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.H&this.B;this.H=this.H&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.D&this.B;this.D=this.D&~this.B|a&this.B;this.A-=3},function(){var a=this.F,b=u(this);this.F=this.F&~this.B|b&this.B;t(this,b&~this.B|a&this.B);this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.K&this.B;this.K=this.K&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.J&this.B;this.J=this.J&
~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.I&this.B;this.I=this.I&~this.B|a&this.B;this.A-=3},function(){this.F=2==this.fa?this.F&-65536|this.F<<24>>24&65535:this.F<<16>>16;this.A-=2},function(){this.H=2==this.fa?this.H&-65536|(this.F&32768?65535:0):this.F&-2147483648?-1:0;this.A-=this.C.gj},function(){Bh.call(this,this.Sa(),Lf(this));this.A-=this.C.jj},function(){this.A-=3},function(){var a=Ed(this);a&131072&&3>this.Ra?p.call(this,13,0):(Dd(this,a&-196609),this.A-=
this.C.Tc)},function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=qd(this),a=a&65535|this.ea&-65536;Fd(this,a);this.A-=this.C.zc}},function(){var a=this.F>>8&255;a&1?uf(this):vf(this);a&4?(this.resultType&=-3,this.ea|=4):(this.resultType&=-3,this.ea&=-5);a&16?Cf(this):Af(this);a&64?Df(this):Bf(this);a&128?(this.resultType&=-17,this.ea|=128):(this.resultType&=-17,this.ea&=-129);this.A-=this.C.jc},function(){this.F=this.F&-65281|(Ed(this)&213)<<8;this.A-=this.C.jc},function(){var a=this.F&
-256,b;b=R(this);b=this.Wa(this.P.Fc(b,1));this.F=a|b;this.A-=this.C.Nh},function(){this.F=this.F&~this.B|zd(this,this.P,R(this));this.A-=this.C.Nh},function(){var a=R(this),b=this.F;this.tc(this.P.Gc(a,1),b);this.A-=this.C.Oh},function(){var a=R(this),b=this.F;this.uc(this.P.Gc(a,this.fa),b);this.A-=this.C.Oh},function(){var a=1,b=0,c=this.Ga,d=this.C.Ph;this.La&192&&(a=this.G&c,b=1,d=this.C.Rh,this.La&256||(this.A-=this.C.Qh));if(a--){var e=this.Wa(this.P.Fc(this.J&c,1));this.tc(this.bb.Gc(this.I&
c,1),e);e=this.ea&1024?-1:1;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I+e&c;this.A-=d;this.G=this.G&~c|this.G-b&c;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Ph;this.La&192&&(a=this.G&c,b=1,d=this.C.Rh,this.La&256||(this.A-=this.C.Qh));if(a--){var e=zd(this,this.P,this.J&c);this.uc(this.bb.Gc(this.I&c,this.fa),e);e=this.ea&1024?-this.fa:this.fa;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I+e&c;this.A-=d;this.G=this.G&~c|this.G-b&c;a&&(lf(this),this.V|=256)}},
function(){var a=1,b=0,c=this.Ga,d=this.C.Ah;this.La&192&&(a=this.G&c,b=1,d=this.C.Ch,this.La&256||(this.A-=this.C.Bh));if(a--){var e=Hf(this,this.P,this.J&c),f=Jf(this,this.bb,this.I&c);Ch.call(this,e,f);e=this.ea&1024?-1:1;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I+e&c;this.G=this.G&~c|this.G-b&c;this.A-=d-this.C.ac;a&&qf(this)==(this.La&64)&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Ah;this.La&192&&(a=this.G&c,b=1,d=this.C.Ch,this.La&256||(this.A-=this.C.Bh));
if(a--){var e=If(this,this.P,this.J&c),f=Kf(this,this.bb,this.I&c);Dh.call(this,e,f);e=this.ea&1024?-this.fa:this.fa;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I+e&c;this.G=this.G&~c|this.G-b&c;this.A-=d-this.C.ac;a&&qf(this)==(this.La&64)&&(lf(this),this.V|=256)}},function(){tf(this,this.F&this.ca(),128);this.A-=this.C.Ee},function(){tf(this,this.F&this.Sa(),this.Ja);this.A-=this.C.Ee},function(){var a=1,b=0,c=this.Ga,d=this.C.$h;this.La&192&&(a=this.G&c,b=1,d=this.C.bi,this.La&256||(this.A-=
this.C.ai));if(a--){var e=this.F;this.tc(this.bb.Gc(this.I&c,1),e);this.G=this.G&~c|this.G-b&c;80546<=this.oc&&80564>=this.oc&&!(this.La&2048)!=(103!=this.Wa(this.Na))&&(c^=-65536);this.I=this.I&~c|this.I+(this.ea&1024?-1:1)&c;this.A-=d;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.$h;this.La&192&&(a=this.G&c,b=1,d=this.C.bi,this.La&256||(this.A-=this.C.ai));if(a--){var e=this.F;this.uc(this.bb.Gc(this.I&c,this.fa),e);this.I=this.I&~c|this.I+(this.ea&1024?-this.fa:this.fa)&
c;this.G=this.G&~c|this.G-b&c;this.A-=d;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Hh;this.La&192&&(a=this.G&c,b=1,d=this.C.Jh,this.La&256||(this.A-=this.C.Ih));if(a--){var e=this.Wa(this.P.Fc(this.J&c,1));this.F=this.F&-256|e;this.J=this.J&~c|this.J+(this.ea&1024?-1:1)&c;this.G=this.G&~c|this.G-b&c;this.A-=d;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Hh;this.La&192&&(a=this.G&c,b=1,d=this.C.Jh,this.La&256||(this.A-=this.C.Ih));if(a--){var e=zd(this,
this.P,this.J&c);this.F=this.F&~this.B|e;this.J=this.J&~c|this.J+(this.ea&1024?-this.fa:this.fa)&c;this.G=this.G&~c|this.G-b&c;this.A-=d;a&&(lf(this),this.V|=256)}},function(){var a=1,b=0,c=this.Ga,d=this.C.Uh;this.La&192&&(a=this.G&c,b=1,d=this.C.Wh,this.La&256||(this.A-=this.C.Vh));a--&&(Ch.call(this,this.F&255,Jf(this,this.bb,this.I&c)),this.I=this.I&~c|this.I+(this.ea&1024?-1:1)&c,this.G=this.G&~c|this.G-b&c,this.A-=d-this.C.ac,a&&qf(this)==(this.La&64)&&(lf(this),this.V|=256))},function(){var a=
1,b=0,c=this.Ga,d=this.C.Uh;this.La&192&&(a=this.G&c,b=1,d=this.C.Wh,this.La&256||(this.A-=this.C.Vh));a--&&(Dh.call(this,this.F&this.B,Kf(this,this.bb,this.I&c)),this.I=this.I&~c|this.I+(this.ea&1024?-this.fa:this.fa)&c,this.G=this.G&~c|this.G-b&c,this.A-=d-this.C.ac,a&&qf(this)==(this.La&64)&&(lf(this),this.V|=256))},function(){this.F=this.F&-256|this.ca();this.A-=this.C.jc},function(){this.G=this.G&-256|this.ca();this.A-=this.C.jc},function(){this.H=this.H&-256|this.ca();this.A-=this.C.jc},function(){this.D=
this.D&-256|this.ca();this.A-=this.C.jc},function(){this.F=this.F&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.G=this.G&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.H=this.H&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.D=this.D&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.F=this.F&~this.B|this.Sa();this.A-=this.C.jc},function(){this.G=this.G&~this.B|this.Sa();this.A-=this.C.jc},function(){this.H=this.H&~this.B|this.Sa();this.A-=this.C.jc},function(){this.D=
this.D&~this.B|this.Sa();this.A-=this.C.jc},function(){t(this,u(this)&~this.B|this.Sa());this.A-=this.C.jc},function(){this.K=this.K&~this.B|this.Sa();this.A-=this.C.jc},function(){this.J=this.J&~this.B|this.Sa();this.A-=this.C.jc},function(){this.I=this.I&~this.B|this.Sa();this.A-=this.C.jc},Pj,Qj,Pj,Qj,function(){this.da[this.ca()].call(this,Uh)},function(){this.da[this.ca()].call(this,Sh)},function(){this.V|=1;this.Ib[this.ca()].call(this,Xj,this.ca)},function(){this.V|=1;this.Oa[this.ca()].call(this,
Xj,this.Sa)},Rj,Sj,Rj,Sj,function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=this.C.Aj;this.lb=-1;Ph.call(this,3,null,a)}},function(){var a=this.ca();if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var b;a:{b=this.je[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.Na)){b=!1;break a}this.ra.Pi&&n(this,16)&&Yj(this.ma,a,this.Na);b=!0}b?(this.lb=-1,Ph.call(this,a,null,0)):this.A--}},function(){if(sf(this))if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=this.C.Bj;
this.lb=-1;Ph.call(this,4,null,a)}else this.A-=this.C.Cj},function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{this.X=this.ka;this.A-=this.C.yj;if(this.hb&1&&this.ea&16384){var a=this.va(this.Ya.Fa+0);sd(this.Ca,a,!1)}else{var a=this.ua,b=qd(this),c=qd(this),d=qd(this);if(this.ea&131072)d=d&131071|this.ea&-131072;else if(d&131072){var e=qd(this),f=qd(this),g=qd(this),k=qd(this),q=qd(this),r=qd(this);xd(this,!0,!0);rd(this,f);t(this,e);Cd(this,g);Bd(this,k);this.Sb.load(q);this.Tb.load(r)}null!=
Gd(this,b,c,!1)&&(Fd(this,d,a),this.me&&Ue(this,this.Na))}this.X=-1}},function(){this.Ib[this.ca()].call(this,Mj,lj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Nj:Oj,lj)},function(){this.Ib[this.ca()].call(this,Mj,mj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Nj:Oj,mj)},function(){var a=this.ca();if(a){var b=this.F&255;this.F=this.F&-65536|b/a<<8|b%a;tf(this,this.F,128);this.A-=this.C.dj}else kj.call(this)},function(){var a=this.F&255,b=(this.F>>8&255)*this.ca()|0,c=a+b|0;this.F=
this.F&-65536|c&255;mf(this,a,b,c,191);this.A-=this.C.cj},function(){this.F=this.F&-256|(nf(this)?255:0);this.A-=2},function(){this.F=this.F&-256|Hf(this,this.P,this.D+(this.F&255)&65535);this.A-=this.C.bk},function(){Tj.call(this,216)},function(){Tj.call(this,217)},function(){Tj.call(this,218)},function(){Tj.call(this,219)},function(){Tj.call(this,220)},function(){Tj.call(this,221)},function(){Tj.call(this,222)},function(){Tj.call(this,223)},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&
~this.Ga|b;b&&!qf(this)?(hf(this,v(this)+a),this.A-=this.C.Jj):this.A-=this.C.Kh},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b&&qf(this)?(hf(this,v(this)+a),this.A-=this.C.Lh):this.A-=this.C.Mh},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b?(hf(this,v(this)+a),this.A-=this.C.Ij):this.A-=this.C.Kh},function(){var a=this.L();this.G&this.Ga?this.A-=this.C.Mh:(hf(this,v(this)+a),this.A-=this.C.Lh)},function(){var a=this.ca();Ff(this,a,1,!0)&&(this.F=
this.F&-256|oc(this.ja,a,1,this.Na-2)&255,this.A-=this.C.Fh)},function(){var a=this.ca();Ff(this,a,this.fa,!0)&&(this.F=this.F&~this.B|oc(this.ja,a,this.fa,this.Na-2)&this.B,this.A-=this.C.Fh)},function(){var a=this.ca();Ff(this,a,1,!1)&&(sc(this.ja,a,1,this.F&255,this.Na-2),this.A-=this.C.Th)},function(){var a=this.ca();Ff(this,a,this.fa,!1)&&(sc(this.ja,a,this.fa,this.F&this.B,this.Na-2),this.A-=this.C.Th)},function(){var a=this.Sa(),b=v(this),a=b+a;Dd(this,b);hf(this,a);this.A-=this.C.hj},function(){var a=
this.Sa();hf(this,v(this)+a);this.A-=this.C.Gh},function(){Gd(this,this.Sa(),Lf(this));this.A-=this.C.Ej},function(){var a=this.L();hf(this,v(this)+a);this.A-=this.C.Gh},function(){var a=this.H&65535;Ff(this,a,1,!0)&&(this.F=this.F&-256|oc(this.ja,a,1,this.Na-1)&255,this.A-=this.C.Eh)},function(){var a=this.H&65535;Ff(this,a,this.fa,!0)&&(this.F=this.F&~this.B|oc(this.ja,a,this.fa,this.Na-1)&this.B,this.A-=this.C.Eh)},function(){var a=this.H&65535;Ff(this,a,1,!1)&&(sc(this.ja,a,1,this.F&255,this.Na-
1),this.A-=this.C.Sh)},function(){var a=this.H&65535;Ff(this,a,2,!1)&&(sc(this.ja,a,this.fa,this.F&this.B,this.Na-1),this.A-=this.C.Sh)},Uj,Uj,function(){this.V|=132;this.A-=this.C.nd},function(){this.V|=68;this.A-=this.C.nd},function(){this.ea&131072?p.call(this,13,0):(this.za|=4,this.A-=2,this.ma&&n(this,-2147483648)?(lf(this),this.ma.bc()):this.ea&512||(this.ma&&lf(this),this.bc()))},function(){nf(this)?vf(this):uf(this);this.A-=2},function(){this.Va=!1;this.Ib[this.ca()].call(this,Zj,oj);this.Va&&
(this.F=this.F&~this.B|this.la&this.B)},function(){this.Va=!1;this.Oa[this.ca()].call(this,ak,oj);this.Va&&(this.F=this.F&~this.B|this.la&this.B,this.H=this.H&~this.B|this.Ba&this.B)},function(){vf(this);this.A-=2},function(){uf(this);this.A-=2},function(){this.ua>this.Ra?p.call(this,13,0):(this.ea&=-513,this.A-=this.C.fj)},function(){this.ua>this.Ra?p.call(this,13,0):(this.ea|=512,this.V|=4,this.A-=2)},function(){this.ea&=-1025;this.A-=2},function(){this.ea|=1024;this.A-=2},function(){this.Ib[this.ca()].call(this,
Kd,oj)},function(){this.Oa[this.ca()].call(this,Ld,oj)}],Hj=[lh,bi,jh,ei,nh,Zi,gj,Ch],Vj=[mh,ci,kh,fi,oh,$i,hj,Dh],Wj=[function(a,b){this.A-=-1===this.Y?this.C.zc:this.C.Uj;return b},ij,ij,ij,ij,ij,ij,ij],Xj=[function(a,b){this.A-=-1===this.Y?this.C.Mj:this.C.Kj;return b},jj,jj,jj,jj,jj,jj,jj],Mj=[function(a,b){var c=a,d=b&this.wa;if(d){var e;(d&=7)?(e=a<<d-1,c=(a<<d|a>>8-d)&255):e=a<<7;yf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;
yf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=zf(this);(d%=9)?(c=(a<<d|e<<d-1|a>>9-d)&255,e=a<<d-1):e<<=7;yf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=zf(this);(d%=9)?(c=(a>>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;yf(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=0;8<d?c=0:(e=a<<d-1,c=e<<1&255);tf(this,c,128,e&128,(c^e)&128)}return c},function(a,b){var c=b&this.wa;c&&(c=8<c?0:a>>>c-1,a=c>>>1&255,tf(this,a,128,c&1,a&128));return a},
jj,function(a,b){var c=b&this.wa;c&&(9<c&&(c=9),c=a<<24>>24>>c-1,a=c>>1&255,tf(this,a,128,c&1));return a}],Nj=[function(a,b){var c=a,d=b&this.wa;if(d){var e;(d&=15)?(e=a<<d-1,c=(a<<d|a>>16-d)&65535):e=a<<15;yf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;yf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=zf(this);(d%=17)?(c=(a<<d|e<<d-1|a>>17-d)&65535,e=a<<d-1):e<<=15;yf(this,c,e,32768)}return c},function(a,
b){var c=a,d=b&this.wa;if(d){var e=zf(this);(d%=17)?(c=(a>>d|e<<16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;yf(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=0;16<d?c=0:(e=a<<d-1,c=e<<1&65535);tf(this,c,32768,e&32768,(c^e)&32768)}return c},function(a,b){var c=b&this.wa;c&&(c=16<c?0:a>>>c-1,a=c>>>1&65535,tf(this,a,32768,c&1,a&32768));return a},jj,function(a,b){var c=b&this.wa;c&&(17<c&&(c=17),c=a<<16>>16>>c-1,a=c>>1&65535,tf(this,a,32768,c&1));return a}],Oj=[function(a,b){var c=
a,d=b&this.wa;d&&(c=a<<d|a>>>32-d,yf(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.wa;if(d){var e=a<<32-d,c=a>>>d|e;yf(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.wa;d&&(c=zf(this),c=a<<d|c<<d-1|a>>>32-d>>>1,yf(this,c,a<<d-1,-2147483648));return c},function(a,b){var c=a,d=b&this.wa;d&&(c=zf(this),c=a>>>d|c<<32-d|a<<32-d<<1,yf(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.wa;d&&(d=a<<d-1,c=d<<1,tf(this,c,-2147483648,d&-2147483648,(c^
d)&-2147483648));return c},function(a,b){var c=b&this.wa;c&&(c=a>>>c-1,a=c>>>1,tf(this,a,-2147483648,c&1,a&-2147483648));return a},jj,function(a,b){var c=b&this.wa;c&&(c=a>>c-1,a=c>>1,tf(this,a,-2147483648,c&1));return a}],Zj=[function(a,b){b=this.ca();tf(this,a&b,128);this.A-=-1===this.Z?this.C.di:this.C.ci;this.V|=2;return a},jj,function(a){this.A-=-1===this.Z?this.C.Qf:this.C.Pf;return a^255},function(a){var b=-a|0;mf(this,0,a,b,191,!0);this.A-=-1===this.Z?this.C.Qf:this.C.Pf;return b&255},function(a){this.la=
(this.F&255)*a&65535;this.la&65280?(uf(this),wf(this)):(vf(this),xf(this));this.Va=!0;this.A-=-1===this.Z?this.C.Qj:this.C.Pj;this.V|=2;return a},function(a){var b=(this.F<<24>>24)*(a<<24>>24)|0;this.la=b&65535;127<b||-128>b?(uf(this),wf(this)):(vf(this),xf(this));this.Va=!0;this.A-=-1===this.Z?this.C.vj:this.C.uj;this.V|=2;return a},function(a,b){if(!a)return kj.call(this),a;var c=(b=this.F&65535)/a;if(255<c)return kj.call(this),a;this.la=c&255|(b%a&255)<<8;this.Va=!0;this.A-=-1===this.Z?this.C.nj:
this.C.mj;this.V|=2;return a},function(a,b){if(!a)return kj.call(this),a;var c=a<<24>>24,d=(b=this.F<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.na&&-128==d)return kj.call(this),a;this.la=d&255|(b%c&255)<<8;this.Va=!0;this.A-=-1===this.Z?this.C.rj:this.C.qj;this.V|=2;return a}],ak=[function(a,b){b=this.Sa();tf(this,a&b,this.Ja);this.A-=-1===this.Z?this.C.di:this.C.ci;this.V|=2;return a},jj,function(a){this.A-=-1===this.Z?this.C.Qf:this.C.Pf;return a^this.B},function(a){var b=-a|0;mf(this,0,a,b,this.Ja|
63,!0);this.A-=-1===this.Z?this.C.Qf:this.C.Pf;return b&this.B},function(a,b){if(2==this.fa){b=this.F&65535;var c=b*a|0;this.la=c&65535;this.Ba=c>>16&65535}else Nh.call(this,a,this.F),80563==this.oc&&68657152==this.F&&129==a&&(this.Ba=0);this.Ba?(uf(this),wf(this)):(vf(this),xf(this));this.Va=!0;this.A-=-1===this.Z?this.C.Sj:this.C.Rj;this.V|=2;return a},function(a,b){var c;2==this.fa?(b=this.F&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.la=c&65535,this.Ba=c>>16&65535,c=32767<c||-32768>c):(Mh.call(this,
a,this.F),c=this.Ba!=this.la>>31);c?(uf(this),wf(this)):(vf(this),xf(this));this.Va=!0;this.A-=-1===this.Z?this.C.xj:this.C.wj;this.V|=2;return a},function(a,b){if(2==this.fa){if(!a)return kj.call(this),a;b=65536*(this.H&65535)+(this.F&65535);var c=b/a;if(65536<=c)return kj.call(this),a;this.la=c&65535;this.Ba=b%a&65535}else{if(!Gh.call(this,this.F,this.H,a))return kj.call(this),a;this.la|=0;this.Ba|=0}this.Va=!0;this.A-=-1===this.Z?this.C.pj:this.C.oj;this.V|=2;return a},function(a,b){if(2==this.fa){if(!a)return kj.call(this),
a;var c=a<<16>>16,d=(b=this.H<<16|this.F&65535)/c|0;if(d!=d<<16>>16||8086==this.na&&-32768==d)return kj.call(this),a;this.la=d&65535;this.Ba=b%c&65535}else{var c=this.F,d=this.H,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!Gh.call(this,c,d,e)||this.la>2147483647+f||this.Ba>2147483647+g?c=!1:(f&&(this.la=-this.la),g&&(this.Ba=-this.Ba),c=!0);if(!c)return kj.call(this),a;this.la|=0;this.Ba|=0}this.Va=!0;this.A-=-1===this.Z?this.C.tj:this.C.sj;this.V|=2;return a}],Kd=[function(a){var b=
a+1|0;mf(this,a,1,b,190);this.A-=-1===this.Z?this.C.Of:this.C.Nf;return b&255},function(a){var b=a-1|0;mf(this,a,1,b,190,!0);this.A-=-1===this.Z?this.C.Of:this.C.Nf;return b&255},jj,jj,jj,jj,jj,jj],Ld=[function(a){var b=a+1|0;mf(this,a,1,b,this.Ja|62);this.A-=-1===this.Z?this.C.Of:this.C.Nf;return b&this.B},function(a){var b=a-1|0;mf(this,a,1,b,this.Ja|62,!0);this.A-=-1===this.Z?this.C.Of:this.C.Nf;return b&this.B},function(a){Dd(this,v(this));hf(this,a);this.A-=-1===this.Z?this.C.lj:this.C.kj;this.V|=
2;return a},function(a){if(-1===this.Z)return jj.call(this,a);this.X=this.ka;Bh.call(this,a,this.va(this.Z+this.fa));this.A-=this.C.ij;this.V|=2;this.X=-1;return a},function(a){hf(this,a);this.A-=-1===this.Z?this.C.Gj:this.C.Fj;this.V|=2;return a},function(a){if(-1===this.Z)return jj.call(this,a);Gd(this,a,this.va(this.Z+this.fa));this.A-=this.C.Dj;this.V|=2;return a},function(a){var b=a;this.V&512&&(a=a-2&65535,80286>this.na&&(b=a));Dd(this,b);this.A-=-1===this.Z?this.C.Tc:this.C.Wj;this.V|=2;return a},
jj];function ve(){this.da[this.ca()].call(this,dj);this.A-=-1===this.Z?6:13}function we(){this.qa[this.ca()].call(this,cj);this.A-=-1===this.Z?12:19}var ne=Array(256);ne[0]=function(){var a=this.ca();16>(a&56)&&(this.V|=1);this.Oa[a].call(this,this.Pg,oj)};ne[1]=function(){var a=this.ca();a&16||(this.V|=1);this.Oa[a].call(this,bk,oj)};ne[2]=function(){!(this.hb&1)||this.ea&131072?p.call(this,6):this.da[this.ca()].call(this,Qh)};
ne[3]=function(){!(this.hb&1)||this.ea&131072?p.call(this,6):this.da[this.ca()].call(this,Xh)};
ne[5]=function(){this.ua?p.call(this,13,0,0,!0):(Ef(this,this.va(2054)),this.I=this.va(2086),this.J=this.va(2088),this.K=this.va(2090),this.D=this.va(2094),this.H=this.va(2096),this.G=this.va(2098),this.F=this.va(2100),pd(this.bb,2102,this.va(2084)),pd(this.Ca,2108,this.va(2082)),pd(this.Aa,2114,this.va(2080)),pd(this.Ab,2120,this.va(2078)),Fd(this,this.va(2072)),hf(this,this.va(2074)),t(this,this.va(2092)),this.Ec=this.va(2126)|this.Wa(2128)<<16,this.Bd=this.Ec+this.va(2130),this.Pc=this.va(2138)|
this.Wa(2140)<<16,this.Od=this.Pc+this.va(2142),pd(this.Bc,2132,this.va(2076)),pd(this.Ya,2144,this.va(2070)),this.A-=195)};ne[6]=function(){this.ua?p.call(this,13,0):(this.hb&=-9,this.A-=2)};ne[11]=Nd;ne[166]=Nd;ne[255]=Nd;var w=[];w[5]=Nd;
w[7]=function(){if(this.ua)p.call(this,13,0,0,!0);else{var a=this.bb.Fc(this.I&this.Ga,204);if(-1!==a){Rh.call(this,this.ta(a));var b=this.ta(a+168),c=(b&24576)>>13;Fd(this,this.ta(a+4),c);this.Ec=this.ta(a+112);this.Bd=this.Ec+this.ta(a+116);this.Pc=this.ta(a+100);this.Od=this.Pc+this.ta(a+104);od(this.Bc,this.ta(a+56),this.ta(a+120),this.ta(a+124),this.ta(a+128));od(this.Ya,this.ta(a+52),this.ta(a+84),this.ta(a+88),this.ta(a+92));this.I=this.ta(a+12);this.J=this.ta(a+16);this.K=this.ta(a+20);this.D=
this.ta(a+28);this.H=this.ta(a+32);this.G=this.ta(a+36);this.F=this.ta(a+40);od(this.Tb,this.ta(a+60),this.ta(a+132),this.ta(a+136),this.ta(a+140));od(this.Sb,this.ta(a+64),this.ta(a+144),this.ta(a+148),this.ta(a+152));od(this.Ab,this.ta(a+68),this.ta(a+156),this.ta(a+160),this.ta(a+164));od(this.Aa,this.ta(a+72),b,this.ta(a+172),this.ta(a+176));od(this.Ca,this.ta(a+76),this.ta(a+180),this.ta(a+184),this.ta(a+188));od(this.bb,this.ta(a+80),this.ta(a+192),this.ta(a+196),this.ta(a+200));hf(this,this.ta(a+
8));t(this,this.ta(a+24))}this.A-=122<<(a&3?1:0)}};w[32]=function(){if(this.ua)p.call(this,13,0);else{var a,b=this.ca();switch((b&56)>>3){case 0:a=this.hb;break;case 2:a=this.qe;break;case 3:a=this.Ld;break;default:oe.call(this);return}De(this,b&7,a);this.A-=6}};w[33]=function(){if(this.ua)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;4==b||5==b?oe.call(this):(De(this,a&7,this.Ma[b]),this.A-=22)}};
8));t(this,this.ta(a+24))}this.A-=122<<(a&3?1:0)}};w[16]=Ij;w[17]=Jj;w[18]=Kj;w[19]=Lj;w[32]=function(){if(this.ua)p.call(this,13,0);else{var a,b=this.ca();switch((b&56)>>3){case 0:a=this.hb;break;case 2:a=this.qe;break;case 3:a=this.Ld;break;default:oe.call(this);return}De(this,b&7,a);this.A-=6}};w[33]=function(){if(this.ua)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;4==b||5==b?oe.call(this):(De(this,a&7,this.Ma[b]),this.A-=22)}};
w[34]=function(){if(this.ua)p.call(this,13,0);else{var a=this.ca(),b=Ce(this,a&7);switch((a&56)>>3){case 0:Rh.call(this,b);this.A-=10;break;case 2:this.qe=b;this.A-=4;break;case 3:Hd.call(this,b);this.A-=5;break;default:oe.call(this)}}};w[35]=function(){if(this.ua)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;4==b||5==b?oe.call(this):(a=Ce(this,a&7),a!=this.Ma[b]&&(bf(this,!1),this.Ma[b]=a,bf(this,!0)),this.A-=4>b?22:14)}};
w[36]=function(){if(this.ua)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;6>b?oe.call(this):(De(this,a&7,this.Ge[b]),this.A-=12)}};w[38]=function(){if(this.ua)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;6>b?oe.call(this):(this.Ge[b]=Ce(this,a&7),this.A-=12)}};w[128]=function(){var a=this.Sa();sf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb};w[129]=function(){var a=this.Sa();sf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)};
w[130]=function(){var a=this.Sa();nf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb};w[131]=function(){var a=this.Sa();nf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)};w[132]=function(){var a=this.Sa();qf(this)?(hf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb};w[133]=function(){var a=this.Sa();qf(this)?this.A-=this.C.gb:(hf(this,v(this)+a),this.A-=this.C.fb)};
@ -271,14 +272,14 @@ w[163]=function(){this.qa[this.ca()].call(this,xh);-1!==this.Z&&(this.A-=6)};w[1
w[172]=function(){this.qa[this.ca()].call(this,2==this.fa?Vi:Wi);this.A-=-1===this.Z?3:7};w[173]=function(){this.qa[this.ca()].call(this,2==this.fa?Xi:Yi);this.A-=-1===this.Z?3:7};w[175]=function(){this.da[this.ca()].call(this,2==this.fa?Jh:Lh)};w[178]=function(){this.da[this.ca()].call(this,Yh)};w[179]=function(){this.qa[this.ca()].call(this,zh);-1!==this.Z&&(this.A-=5)};w[180]=function(){this.da[this.ca()].call(this,Vh)};w[181]=function(){this.da[this.ca()].call(this,Wh)};
w[182]=function(){var a,b=this.ca(),c=(b&56)>>3;switch(c){case 4:a=this.F;break;case 5:a=this.G;break;case 6:a=this.H;break;case 7:a=this.D}this.Qa[b].call(this,$h);switch(c){case 0:this.F=this.F&~this.B|this.F&255;break;case 1:this.G=this.G&~this.B|this.G&255;break;case 2:this.H=this.H&~this.B|this.H&255;break;case 3:this.D=this.D&~this.B|this.D&255;break;case 4:this.ib=this.ib&~this.B|this.F>>8&255;this.F=a;break;case 5:this.K=this.K&~this.B|this.G>>8&255;this.G=a;break;case 6:this.J=this.J&~this.B|
this.H>>8&255;this.H=a;break;case 7:this.I=this.I&~this.B|this.D>>8&255,this.D=a}this.A-=-1===this.Z?3:6};w[183]=function(){var a=this.ca();yd(this,2);this.da[a].call(this,$h);switch((a&56)>>3){case 0:this.F=this.F&65535;break;case 1:this.G=this.G&65535;break;case 2:this.H=this.H&65535;break;case 3:this.D=this.D&65535;break;case 4:this.ib=this.ib&65535;break;case 5:this.K=this.K&65535;break;case 6:this.J=this.J&65535;break;case 7:this.I=this.I&65535}this.A-=-1===this.Z?3:6};
w[186]=function(){this.Oa[this.ca()].call(this,Yj,this.ca)};w[187]=function(){this.qa[this.ca()].call(this,yh);-1!==this.Z&&(this.A-=5)};w[188]=function(){this.da[this.ca()].call(this,rh)};w[189]=function(){this.da[this.ca()].call(this,sh)};
w[186]=function(){this.Oa[this.ca()].call(this,ck,this.ca)};w[187]=function(){this.qa[this.ca()].call(this,yh);-1!==this.Z&&(this.A-=5)};w[188]=function(){this.da[this.ca()].call(this,rh)};w[189]=function(){this.da[this.ca()].call(this,sh)};
w[190]=function(){var a,b=this.ca(),c=(b&56)>>3;switch(c){case 4:a=this.F;break;case 5:a=this.G;break;case 6:a=this.H;break;case 7:a=this.D}this.Qa[b].call(this,$h);switch(c){case 0:this.F=this.F&~this.B|(this.F&255)<<24>>24&this.B;break;case 1:this.G=this.G&~this.B|(this.G&255)<<24>>24&this.B;break;case 2:this.H=this.H&~this.B|(this.H&255)<<24>>24&this.B;break;case 3:this.D=this.D&~this.B|(this.D&255)<<24>>24&this.B;break;case 4:this.ib=this.ib&~this.B|this.F<<16>>24&this.B;this.F=a;break;case 5:this.K=
this.K&~this.B|this.G<<16>>24&this.B;this.G=a;break;case 6:this.J=this.J&~this.B|this.H<<16>>24&this.B;this.H=a;break;case 7:this.I=this.I&~this.B|this.D<<16>>24&this.B,this.D=a}this.A-=-1===this.Z?3:6};
w[191]=function(){var a=this.ca();yd(this,2);this.da[a].call(this,$h);switch((a&56)>>3){case 0:this.F=this.F<<16>>16;break;case 1:this.G=this.G<<16>>16;break;case 2:this.H=this.H<<16>>16;break;case 3:this.D=this.D<<16>>16;break;case 4:this.ib=this.ib<<16>>16;break;case 5:this.K=this.K<<16>>16;break;case 6:this.J=this.J<<16>>16;break;case 7:this.I=this.I<<16>>16}this.A-=-1===this.Z?3:6};
var cf=[function(){this.A-=2+(-1===this.Z?0:1);return this.Bc.ga},function(){this.A-=2+(-1===this.Z?0:1);return this.Ya.ga},function(a){this.V|=2;this.Bc.load(a);this.A-=17+(-1===this.Z?0:2);return a},function(a){this.V|=2;-1!==this.Ya.load(a)&&(this.pb(this.Ya.dc+4,this.Ya.Bb|=512),this.Ya.type|=512);this.A-=17+(-1===this.Z?0:2);return a},function(a){this.V|=2;this.A-=14+(-1===this.Z?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.Bb&2560)&&(this.Ea.Mc>=this.ua&&this.Ea.Mc>=(a&3)||7168==(this.Ea.Bb&
7168)))return Df(this),a;Bf(this);return a},function(a){this.V|=2;this.A-=14+(-1===this.Z?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.Bb&2560)&&this.Ea.Mc>=this.ua&&this.Ea.Mc>=(a&3))return Df(this),a;Bf(this);return a},jj,jj],Md=[le,le,le,le,le,le,jj,jj],Xj=[function(a){if(-1===this.Z)p.call(this,6);else{a=this.Bd-this.Ec;var b=this.Ec;80286==this.na?b|=-16777216:80386<=this.na&&2!=this.fa&&(a|=b<<16);this.ub(this.Z+2,b);this.A-=11}return a},function(a){if(-1===this.Z)p.call(this,6);else{a=this.Od-
7168)))return Df(this),a;Bf(this);return a},function(a){this.V|=2;this.A-=14+(-1===this.Z?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.Bb&2560)&&this.Ea.Mc>=this.ua&&this.Ea.Mc>=(a&3))return Df(this),a;Bf(this);return a},jj,jj],Md=[le,le,le,le,le,le,jj,jj],bk=[function(a){if(-1===this.Z)p.call(this,6);else{a=this.Bd-this.Ec;var b=this.Ec;80286==this.na?b|=-16777216:80386<=this.na&&2!=this.fa&&(a|=b<<16);this.ub(this.Z+2,b);this.A-=11}return a},function(a){if(-1===this.Z)p.call(this,6);else{a=this.Od-
this.Pc;var b=this.Pc;80286==this.na?b|=-16777216:80386<=this.na&&2!=this.fa&&(a|=b<<16);this.ub(this.Z+2,b);this.A-=12}return a},function(a){-1===this.Z||this.ea&131072?p.call(this,6):(this.Ec=this.ta(this.Z+2)&(this.B|this.B<<8),a&=65535,this.Bd=this.Ec+a,this.V|=2,this.A-=11);return a},function(a){-1===this.Z||this.ea&131072?p.call(this,6):(this.Pc=this.ta(this.Z+2)&(this.B|this.B<<8),a&=65535,this.Od=this.Pc+a,this.V|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.Z?0:1);return this.hb},
jj,function(a){this.ea&131072?p.call(this,6):(Ef(this,a),this.A-=-1===this.Z?3:6,this.V|=2);return a},jj],Yj=[jj,jj,jj,jj,th,wh,vh,uh],z=[function(a){a=a.call(this,this.F&255,E(this,this.D+this.J));this.F=this.F&-256|a;this.A-=this.C.oa},function(a){a=a.call(this,this.F&255,E(this,this.D+this.I));this.F=this.F&-256|a;this.A-=this.C.pa},function(a){a=a.call(this,this.F&255,G(this,this.K+this.J));this.F=this.F&-256|a;this.A-=this.C.pa},function(a){a=a.call(this,this.F&255,G(this,this.K+this.I));this.F=
jj,function(a){this.ea&131072?p.call(this,6):(Ef(this,a),this.A-=-1===this.Z?3:6,this.V|=2);return a},jj],ck=[jj,jj,jj,jj,th,wh,vh,uh],z=[function(a){a=a.call(this,this.F&255,E(this,this.D+this.J));this.F=this.F&-256|a;this.A-=this.C.oa},function(a){a=a.call(this,this.F&255,E(this,this.D+this.I));this.F=this.F&-256|a;this.A-=this.C.pa},function(a){a=a.call(this,this.F&255,G(this,this.K+this.J));this.F=this.F&-256|a;this.A-=this.C.pa},function(a){a=a.call(this,this.F&255,G(this,this.K+this.I));this.F=
this.F&-256|a;this.A-=this.C.oa},function(a){a=a.call(this,this.F&255,E(this,this.J));this.F=this.F&-256|a;this.A-=this.C.aa},function(a){a=a.call(this,this.F&255,E(this,this.I));this.F=this.F&-256|a;this.A-=this.C.aa},function(a){a=a.call(this,this.F&255,E(this,R(this)));this.F=this.F&-256|a;this.A-=this.C.Ka},function(a){a=a.call(this,this.F&255,E(this,this.D));this.F=this.F&-256|a;this.A-=this.C.aa},function(a){a=a.call(this,this.G&255,E(this,this.D+this.J));this.G=this.G&-256|a;this.A-=this.C.oa},
function(a){a=a.call(this,this.G&255,E(this,this.D+this.I));this.G=this.G&-256|a;this.A-=this.C.pa},function(a){a=a.call(this,this.G&255,G(this,this.K+this.J));this.G=this.G&-256|a;this.A-=this.C.pa},function(a){a=a.call(this,this.G&255,G(this,this.K+this.I));this.G=this.G&-256|a;this.A-=this.C.oa},function(a){a=a.call(this,this.G&255,E(this,this.J));this.G=this.G&-256|a;this.A-=this.C.aa},function(a){a=a.call(this,this.G&255,E(this,this.I));this.G=this.G&-256|a;this.A-=this.C.aa},function(a){a=a.call(this,
this.G&255,E(this,R(this)));this.G=this.G&-256|a;this.A-=this.C.Ka},function(a){a=a.call(this,this.G&255,E(this,this.D));this.G=this.G&-256|a;this.A-=this.C.aa},function(a){a=a.call(this,this.H&255,E(this,this.D+this.J));this.H=this.H&-256|a;this.A-=this.C.oa},function(a){a=a.call(this,this.H&255,E(this,this.D+this.I));this.H=this.H&-256|a;this.A-=this.C.pa},function(a){a=a.call(this,this.H&255,G(this,this.K+this.J));this.H=this.H&-256|a;this.A-=this.C.pa},function(a){a=a.call(this,this.H&255,G(this,
@ -798,433 +799,433 @@ function(){return this.F},function(){return this.G},function(){return this.H},fu
(this.D<<3)},function(a){return(a?(this.P=this.O,this.K):R(this))+(this.D<<3)},function(){return this.J+(this.D<<3)},function(){return this.I+(this.D<<3)},function(){return this.F},function(){return this.G},function(){return this.H},function(){return this.D},function(){this.P=this.O;return u(this)},function(a){return a?(this.P=this.O,this.K):R(this)},function(){return this.J},function(){return this.I},function(){return this.F+(this.K<<3)},function(){return this.G+(this.K<<3)},function(){return this.H+
(this.K<<3)},function(){return this.D+(this.K<<3)},function(){this.P=this.O;return u(this)+(this.K<<3)},function(a){return(a?(this.P=this.O,this.K):R(this))+(this.K<<3)},function(){return this.J+(this.K<<3)},function(){return this.I+(this.K<<3)},function(){return this.F+(this.J<<3)},function(){return this.G+(this.J<<3)},function(){return this.H+(this.J<<3)},function(){return this.D+(this.J<<3)},function(){this.P=this.O;return u(this)+(this.J<<3)},function(a){return(a?(this.P=this.O,this.K):R(this))+
(this.J<<3)},function(){return this.J+(this.J<<3)},function(){return this.I+(this.J<<3)},function(){return this.F+(this.I<<3)},function(){return this.G+(this.I<<3)},function(){return this.H+(this.I<<3)},function(){return this.D+(this.I<<3)},function(){this.P=this.O;return u(this)+(this.I<<3)},function(a){return(a?(this.P=this.O,this.K):R(this))+(this.I<<3)},function(){return this.J+(this.I<<3)},function(){return this.I+(this.I<<3)}];
function Zj(a){Xa.call(this,"ChipSet",a,Zj,32768);this.na=(this.na=a.model)&&ak[this.na]||bk;this.Y=0;var b=a[ck];if(b)this.Y=dk(b,ek|fk.Gk);else{this.ua=[360,360];(b=a.floppies)&&b.length&&(this.ua=b);if(b=this.ua.length)this.Y|=gk.Tg,b--,this.Y|=(b&3)<<gk.wf;if(b=a.monitor||(this.na<Yf?"mono":"ega"),void 0!==hk[b])this.Y|=hk[b]<<fk.wf}this.Ba=dk(a[ik]||"11110000",0);this.oc=this.na==bk?16:64;this.qb=this.Qa=1;this.na>=Yf&&(this.qb=this.Qa=2);this.wa=a.scaleTimers||!1;this.pc=a.rtcDate;this.Zb=!1;
a.sound&&(this.Jb=this.Ra=null,window&&(this.Jb=window.AudioContext||window.webkitAudioContext),this.Jb&&(this.Ra=new this.Jb));this.reset(!0);xb(this)}gb(Zj);var bk=5150,Yf=5170,ak={5150:bk,5160:5160,5170:Yf,deskpro386:5180},ck="sw1",ik="sw2",hk={none:0,tv:1,color:2,mono:3,ega:0,vga:0},gk={Tg:1,ONE:0,fo:64,co:128,In:192,vf:192,wf:6},ek=12,fk={eo:16,Bn:32,Gk:48,vf:48,wf:4};h=Zj.prototype;
h.Ub=function(a,b,c){switch(b){case ck:return this.xa[b]=c,jk(this,b,this.Y,{0:this.na==bk?"Bootable Floppy Drive":"Loop on POST",1:this.na<bk?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case ik:if(this.na==bk)return this.xa[b]=c,jk(this,b,this.Ba,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ia=a;if(this.Yb=Jb(a,"FPU"))this.Y|=2;this.P=Jb(a,"Keyboard");this.xb=c.ba.Id/1193181;nc(b,this,kk);rc(b,this,lk);this.na<Yf?(nc(b,this,mk),rc(b,this,nk)):(nc(b,this,ok),rc(b,this,pk));if(d){var e=this;qk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Zc.length;d++)c+=" IC"+(d+1)+"="+ga(b.Zc[d]);c+=" IMR="+ga(b.Cd)+" IRR="+ga(b.qc)+" ISR="+ga(b.Qc)+" DELAY="+b.lf;e.ma.U(c)}});qk(d,2048,function(a){a=
(a=a[0])?+a:null;for(var b=0;b<e.O.length;b++)if(null==a||b==a){rk(e,b);var c=e.O[b],d="TIMER"+b+":",r=0;if(null!=c.md)for(var x=0;x<=c.md;x++)r|=c.Fb[x]<<8*x;d+=" mode="+(c.mode>>1)+" bytes="+c.md+" count="+ia(r);e.ma.U(d)}});qk(d,4096,function(){for(var a="",b=0;64>b;b++){var c=13>=b?sk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+ga(b)+"]: "+ga(c)}e.ma.U(a)})}Se(c,26,this.fm.bind(this))};h.lc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
function dk(a){Xa.call(this,"ChipSet",a,dk,32768);this.na=(this.na=a.model)&&ek[this.na]||fk;this.Y=0;var b=a[gk];if(b)this.Y=hk(b,ik|jk.Gk);else{this.ua=[360,360];(b=a.floppies)&&b.length&&(this.ua=b);if(b=this.ua.length)this.Y|=kk.Tg,b--,this.Y|=(b&3)<<kk.wf;if(b=a.monitor||(this.na<Yf?"mono":"ega"),void 0!==lk[b])this.Y|=lk[b]<<jk.wf}this.Ba=hk(a[mk]||"11110000",0);this.oc=this.na==fk?16:64;this.qb=this.Qa=1;this.na>=Yf&&(this.qb=this.Qa=2);this.wa=a.scaleTimers||!1;this.pc=a.rtcDate;this.Zb=!1;
a.sound&&(this.Jb=this.Ra=null,window&&(this.Jb=window.AudioContext||window.webkitAudioContext),this.Jb&&(this.Ra=new this.Jb));this.reset(!0);xb(this)}gb(dk);var fk=5150,Yf=5170,ek={5150:fk,5160:5160,5170:Yf,deskpro386:5180},gk="sw1",mk="sw2",lk={none:0,tv:1,color:2,mono:3,ega:0,vga:0},kk={Tg:1,ONE:0,fo:64,co:128,In:192,vf:192,wf:6},ik=12,jk={eo:16,Bn:32,Gk:48,vf:48,wf:4};h=dk.prototype;
h.Ub=function(a,b,c){switch(b){case gk:return this.xa[b]=c,nk(this,b,this.Y,{0:this.na==fk?"Bootable Floppy Drive":"Loop on POST",1:this.na<fk?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case mk:if(this.na==fk)return this.xa[b]=c,nk(this,b,this.Ba,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ia=a;if(this.Yb=Jb(a,"FPU"))this.Y|=2;this.P=Jb(a,"Keyboard");this.xb=c.ba.Id/1193181;nc(b,this,ok);rc(b,this,pk);this.na<Yf?(nc(b,this,qk),rc(b,this,rk)):(nc(b,this,sk),rc(b,this,tk));if(d){var e=this;uk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Zc.length;d++)c+=" IC"+(d+1)+"="+ga(b.Zc[d]);c+=" IMR="+ga(b.Cd)+" IRR="+ga(b.qc)+" ISR="+ga(b.Qc)+" DELAY="+b.lf;e.ma.U(c)}});uk(d,2048,function(a){a=
(a=a[0])?+a:null;for(var b=0;b<e.O.length;b++)if(null==a||b==a){vk(e,b);var c=e.O[b],d="TIMER"+b+":",r=0;if(null!=c.md)for(var x=0;x<=c.md;x++)r|=c.Fb[x]<<8*x;d+=" mode="+(c.mode>>1)+" bytes="+c.md+" count="+ia(r);e.ma.U(d)}});uk(d,4096,function(){for(var a="",b=0;64>b;b++){var c=13>=b?wk(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+ga(b)+"]: "+ga(c)}e.ma.U(a)})}Se(c,26,this.fm.bind(this))};h.lc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.kc=function(a){return a?this.save():!0};
h.reset=function(a){var b;this.da=this.Y;this.za=this.Ba;tk(this,ck,this.da);tk(this,ik,this.za);uk(this);this.R=Array(this.qb);for(b=0;b<this.qb;b++)vk(this,b);this.vc=Array(this.Qa);wk(this,0,32);1<this.Qa&&wk(this,1,160);this.Vb=this.ib=null;this.O=Array(5180==this.na?6:3);for(b=0;b<this.O.length;b++)xk(this,b);this.Oa=this.Ib=this.X=this.lb=null;this.Ma=0;if(this.na>=Yf){this.C=16;this.la=0;this.ka=16;this.Va=0;this.qa=160;512<=yk(this)&&(this.qa|=16);3==zk(this)&&(this.qa|=64);5180==this.na&&
(this.qa|=12);this.cb=3;this.Ha=Array(8);this.Ea=0;a&&(this.A=Array(64));Ak(this,this.pc);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);this.A[20]=this.da&(fk.vf|2|gk.Tg|gk.vf);this.A[16]=Bk(this,0)<<4|Bk(this,1);Ck(this)}};
function Ak(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.U("CMOS date invalid ("+b+"), using "+c)):b&&a.U("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Ta=a.Ja=0;a.cc=a.rb=null}
function sk(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.A[b]^=128);return c}function Dk(a){var b;void 0===b&&(b=a.rb);a.Ja=ad(a.M,a.wa)+b;a.A[11]&64&&ed(a.M,b)}function Ck(a){for(var b=0,c=16;46>c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8}
h.reset=function(a){var b;this.da=this.Y;this.za=this.Ba;xk(this,gk,this.da);xk(this,mk,this.za);yk(this);this.R=Array(this.qb);for(b=0;b<this.qb;b++)zk(this,b);this.vc=Array(this.Qa);Ak(this,0,32);1<this.Qa&&Ak(this,1,160);this.Vb=this.ib=null;this.O=Array(5180==this.na?6:3);for(b=0;b<this.O.length;b++)Bk(this,b);this.Oa=this.Ib=this.X=this.lb=null;this.Ma=0;if(this.na>=Yf){this.C=16;this.la=0;this.ka=16;this.Va=0;this.qa=160;512<=Ck(this)&&(this.qa|=16);3==Dk(this)&&(this.qa|=64);5180==this.na&&
(this.qa|=12);this.cb=3;this.Ha=Array(8);this.Ea=0;a&&(this.A=Array(64));Ek(this,this.pc);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);this.A[20]=this.da&(jk.vf|2|kk.Tg|kk.vf);this.A[16]=Fk(this,0)<<4|Fk(this,1);Gk(this)}};
function Ek(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.U("CMOS date invalid ("+b+"), using "+c)):b&&a.U("CMOS date: "+c);a.A[0]=c.getSeconds();a.A[1]=0;a.A[2]=c.getMinutes();a.A[3]=0;a.A[4]=c.getHours();a.A[5]=0;a.A[6]=c.getDay()+1;a.A[7]=c.getDate();a.A[8]=c.getMonth()+1;c=c.getFullYear();a.A[9]=c%100;c/=100;a.A[50]=c%10|c/10<<4;a.A[10]=38;a.A[11]=2;a.A[12]=0;a.A[13]=128;a.Ta=a.Ja=0;a.cc=a.rb=null}
function wk(a,b){var c=a.A[b];if(10>b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.A[b]^=128);return c}function Hk(a){var b;void 0===b&&(b=a.rb);a.Ja=ad(a.M,a.wa)+b;a.A[11]&64&&ed(a.M,b)}function Gk(a){for(var b=0,c=16;46>c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8}
h.save=function(){var a=new df(this);ef(a,0,[this.Y,this.Ba,this.da,this.za]);for(var b=[],c=0;c<this.R;c++){for(var d=this.R[c],e=d,f=[],g=0;g<e.Dc.length;g++){var k=e.Dc[g];f[g]=[k.Ae,k.jg,k.Hc,k.Kb,k.Fb,k.mode,k.lg,k.wn,k.xn]}b[c]=[d.ec,d.$g,d.Di,d.Pb,f]}ef(a,1,[b]);b=[];for(c=0;c<this.vc.length;c++)d=this.vc[c],b[c]=[d.lf,d.Zc,d.Ud,d.Cd,d.qc,d.Qc,d.ve,d.Af];ef(a,2,[b]);b=[];for(c=0;c<this.O.length;c++)d=this.O[c],b[c]=[d.Hc,d.ad,d.Fb,d.we,d.bh,d.mode,d.bg,d.Fd,d.md,d.xd,d.Ye,d.ye,d.zd,d.ec,d.cf];
ef(a,3,[this.ib,b,this.Vb]);ef(a,4,[this.lb,this.X,this.Ib,this.Oa,this.Ma]);this.na>=Yf&&(ef(a,5,[this.C,this.la,this.ka,this.Va,this.qa,this.cb]),ef(a,6,[this.Ha[7],this.Ha,this.Ea,this.A,this.Ta,this.Ja]));return a.data()};
h.restore=function(a){var b,c;b=a[0];this.Y=b[0];this.Ba=b[1];this.da=b[2];this.za=b[3];b=a[1];for(c=0;c<this.qb;c++)vk(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Qa;c++)wk(this,c,0===c?32:160,b[0][c]);b=a[3];this.ib=b[0];this.Vb=b[2];for(c=0;c<this.O.length;c++)xk(this,c,b[1][c]);b=a[4];this.lb=b[0];this.X=b[1];this.Ib=b[2];this.Oa=b[3];this.Ma=b[4];if(b=a[5])this.C=b[0],this.la=b[1],this.ka=b[2],this.Va=b[3],this.qa=b[4],this.cb=b[5];if(b=a[6])this.Ha=b[1],this.Ha[7]=b[0],this.Ea=b[2],
this.A=b[3],this.Ta=b[4],this.Ja=b[5],Ak(this);return!0};var Ek=[0,null,null,0,Array(4)];function vk(a,b,c){var d=a.R[b];d||(d={Dc:Array(4)});c=c&&5==c.length?c:Ek;d.ec=c[0];d.$g=c[1];d.Di=c[2];d.Pb=c[3];d.mm=b<<2;for(var e=0;e<d.Dc.length;e++)Fk(d,e,c[4][e]);a.R[b]=d}var Gk=[!0,[0,0],[0,0],[0,0],[0,0]];
function Fk(a,b,c){var d=a.Dc[b];d||(d={jg:[0,0],Hc:[0,0],Kb:[0,0],Fb:[0,0]});c=c&&8==c.length?c:Gk;d.Ae=c[0];d.jg[0]=c[1][0];d.jg[1]=c[1][1];d.Hc[0]=c[2][0];d.Hc[1]=c[2][1];d.Kb[0]=c[3][0];d.Kb[1]=c[3][1];d.Fb[0]=c[4][0];d.Fb[1]=c[4][1];d.mode=c[5];d.lg=c[6];d.controller=a;d.Wi=b;Hk(d,c[8],c[9]);a.Dc[b]=d}function Hk(a,b,c,d){"string"==typeof b&&(b=kb(b));b&&(a.done=null,a.wn=b.id,a.xn=c,a.qg=b,a.jh=b[c],a.Gg=d)}var Ik=[0,Array(4)];
function wk(a,b,c,d){var e=a.vc[b];e||(e={Zc:[null,null,null,null]});d=d&&8==d.length?d:Ik;e.port=c;e.zo=b<<3;e.lf=d[0];e.Zc[0]=d[1][0];e.Zc[1]=d[1][1];e.Zc[2]=d[1][2];e.Zc[3]=d[1][3];e.Ud=d[2];e.Cd=d[3];e.qc=d[4];e.Qc=d[5];e.ve=d[6];e.Af=d[7];a.vc[b]=e}var Jk=[[0,0],[0,0],[0,0],[0,0]];
function xk(a,b,c){var d=a.O[b];d||(d={Hc:[0,0],ad:[0,0],Fb:[0,0],we:[0,0]});c=c&&13<=c.length?c:Jk;d.Hc[0]=c[0][0];d.Hc[1]=c[0][1];d.ad[0]=c[1][0];d.ad[1]=c[1][1];d.Fb[0]=c[2][0];d.Fb[1]=c[2][1];d.we[0]=c[3][0];d.we[1]=c[3][1];d.bh=c[4];d.mode=c[5];d.bg=c[6];d.Fd=c[7];d.md=c[8];d.xd=c[9];d.Ye=c[10];d.ye=c[11];d.zd=c[12];d.ec=c[13]||0;d.cf=c[14]||!1;a.O[b]=d}function yk(a,b){return((((b?a.Y:a.da)&12)>>2)+1)*a.oc+32*((b?a.Ba:a.za)&15)}
function Kk(a,b){var c=b?a.Y:a.da;return a.na!=bk||c&gk.Tg?((c&gk.vf)>>gk.wf)+1:0}function Bk(a,b){if(b<Kk(a)){if(!a.ua)return 1;if(b<a.ua.length)switch(a.ua[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function zk(a,b){return((b?a.Y:a.da)&fk.vf)>>fk.wf}
function jk(a,b,c,d){for(var e="",f=a.xa[b],g=1;8>=g;g++){var k="pcjs-bitCell";g||(k+=" pcjs-bitCellLeft");e+='<div id="'+(b+"-"+g)+'" class="'+k+'" data-value="0">'+g+"</div>\n"}f.innerHTML=e;tk(a,b,c,d)}
function tk(a,b,c,d){if(b=a.xa[b]){b=qb(b,"pcjs-bitCell");for(var e=0;e<b.length;e++){var f=null;null!=d&&null!=d[e]&&(f=d[e]);f&&b[e].setAttribute("title",f);Lk(b[e],c&1<<e?!1:!0);b[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");Lk(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case ck:a.Y=a.Y&~e|(c?0:e);break;case ik:a.Ba=a.Ba&~e|(c?0:e)}uk(a)}}(a,b[e])}}}
function uk(a){var b=a.xa.swdesc;if(null!=b){var c;c=""+(yk(a,!0)+"Kb");c+=", "+(a.Y&2?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[zk(a,!0)]+" Monitor";c+=", "+Kk(a,!0)+" Floppy Drives";if(null!=a.da&&a.da!=a.Y||null!=a.za&&a.za!=a.Ba)c+=" (Reset required)";b.textContent=c}}function Lk(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}
function Mk(a,b,c,d,e){var f=a.R[b],g=f.Dc[c],k=g.Kb[f.Pb];n(a,768)&&m(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.Pb+"]",k,!0);f.Pb^=1;b||0!=c||f.Pb||(g.Kb[0]++,255<g.Kb[0]&&(g.Kb[0]=0,g.Kb[1]++,255<g.Kb[1]&&(g.Kb[1]=0)));return k}function Nk(a,b,c,d,e,f){var g=a.R[b];n(a,768)&&m(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.Pb+"]",null,!0);a=g.Dc[c];a.Kb[g.Pb]=a.jg[g.Pb]=e;g.Pb^=1}
function Ok(a,b,c,d,e){var f=a.R[b],g=f.Dc[c],k=g.Fb[f.Pb];n(a,768)&&m(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Pb+"]",k,!0);f.Pb^=1;b||0!=c||f.Pb||(g.Fb[0]--,0>g.Fb[0]&&(g.Fb[0]=255,g.Fb[1]--,0>g.Fb[1]&&(g.Fb[1]=255)));return k}function Pk(a,b,c,d,e,f){var g=a.R[b];n(a,768)&&m(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Pb+"]",null,!0);a=g.Dc[c];a.Fb[g.Pb]=a.Hc[g.Pb]=e;g.Pb^=1}function Qk(a,b,c,d){var e=a.R[b],f=e.ec|1;e.ec&=-16;n(a,768)&&m(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function Rk(a,b,c,d,e){var f=a.R[b];n(a,768)&&m(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.ec=f.ec&~(16<<a)|(d&4)<<a+2;f.Di=d}function Sk(a,b,c,d,e){var f=a.R[b];n(a,768)&&m(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Dc[b];c.Ae=!!(d&4);c.Ae||Tk(a,f.mm+b)}function Uk(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA"+b+".MODE",null,!0);a.R[b].Dc[d&3].mode=d}function Vk(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.R[b];for(b=0;b<a.Dc.length;b++)Fk(a,b)}
function Wk(a,b,c,d,e){var f=a.R[b].Dc[c].lg;n(a,768)&&m(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function Xk(a,b,c,d,e,f){n(a,768)&&m(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.R[b].Dc[c].lg=e}function Yk(a,b,c,d){var e=a.Ha[b];n(a,768)&&m(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}function Zk(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Ha[b]=d}function $k(a,b,c,d,e){Hk(a.R[b>>2].Dc[b&3],c,d,e)}
function Tk(a,b,c){b=a.R[b>>2].Dc[b&3];b.qg&&b.jh&&b.Gg?(c&&(b.done=c),b.Ae||al(a,b,!0)):c&&c(!0)}function al(a,b,c){c&&(b.count=b.Fb[1]<<8|b.Fb[0],b.type=b.mode&12,b.Si=b.wd=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Kb[1]<<8|b.Kb[0],4==b.type?(d=!0,function(c){b.jh.call(b.qg,b.Gg,-1,function(f,g){0>f&&(b.Si||(b.Si=!0),f=255);b.Ae||a.ja.tc(c,f);(d=g)&&setTimeout(function(){bl(b)||al(a,b)},0)})}(c)):8==b.type?(c=a.ja.Wa(c),0>b.jh.call(b.qg,b.Gg,c)&&(b.wd=!0)):0!=b.type&&(b.wd=!0)),!d&&!bl(b););}
function bl(a){if(!a.wd&&0<=--a.count&&(a.mode&32?(a.Kb[0]--,0>a.Kb[0]&&(a.Kb[0]=255,a.Kb[1]--,0>a.Kb[1]&&(a.Kb[1]=255))):(a.Kb[0]++,255<a.Kb[0]&&(a.Kb[0]=0,a.Kb[1]++,255<a.Kb[1]&&(a.Kb[1]=0))),!a.Ae))return!1;var b=a.controller;b.ec=b.ec&~(16<<a.Wi)|1<<a.Wi;a.mode&16||(a.Ae=!0,a.qg=a.Gg=null);a.done&&(a.done(!a.wd),a.done=null);return!0}function cl(a,b,c){var d=0,e=a.vc[b];if(null!=e.Af)switch(e.Af&3){case 2:d=e.qc;break;case 3:d=e.Qc}n(a,34048)&&m(a,e.port,null,c,"PIC"+b,d,!0);return d}
function dl(a,b,c,d){var e=a.vc[b];n(a,34048)&&m(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Ud=0,e.Zc[e.Ud++]=c,e.Cd=0,e.ve=7,e.qc=e.Qc=0,e.Af=10;else if(c&8)c&100&&n(a,1073741824)&&sb(a,"PIC"+b+"("+ga(e.port)+"): unsupported OCW3 command "+ga(c),!0,!0),e.Af=c;else if(d=c&224,d&32){var f,g=0;if(96==(d&96))g=1<<(c&7);else for(f=e.ve+1;;){f&=7;var k=1<<f;if(e.Qc&k){g=k;break}if(f++==e.ve)break}e.Qc&g&&(e.Qc&=~g,el(a));d&128&&n(a,1073741824)&&sb(a,"PIC"+b+"("+ga(e.port)+"): unsupported OCW2 rotate command "+
ga(c),!0,!0)}else 192==d?e.ve=c&7:n(a,1073741824)&&sb(a,"PIC"+b+"("+ga(e.port)+"): unsupported OCW2 automatic EOI command "+ga(c),!0,!0)}function fl(a,b,c){var d=a.vc[b],e=d.Cd;n(a,34048)&&m(a,d.port+1,null,c,"PIC"+b,e,!0);return e}function gl(a,b,c,d){var e=a.vc[b];n(a,34048)&&m(a,e.port+1,c,d,"PIC"+b,null,!0);e.Ud<e.Zc.length?(e.Zc[e.Ud++]=c,2==e.Ud&&e.Zc[0]&2&&e.Ud++,3!=e.Ud||e.Zc[0]&1||e.Ud++):(e.Cd=c,d=a.M,d.V|=4,el(a,b||253!=c?0:6))}
function $f(a,b,c){var d=a.vc[b>>3];b=1<<(b&7);d.qc&b||(d.qc|=b,d.lf=c||0,el(a))}function Zf(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.qc&d&&(c.qc&=~d,el(a))}function el(a,b){var c,d=-1;1<a.Qa&&(c=a.vc[1],d=~(c.Qc|c.Cd)&c.qc);c=a.vc[0];0<=d&&(c.qc=d?c.qc|4:c.qc&-5);var d=~(c.Qc|c.Cd)&c.qc,e=a.M;e.R&&(e.za=d?e.za|1:e.za&-2);d&&b&&(c.lf=b)}
function Pf(a,b){void 0===b&&(b=0);var c=-1,d=a.vc[b];if(d.lf)c=-2,d.lf--;else for(var e=d.qc&((d.Qc|d.Cd)^255),f=d.ve+1;;){var f=f&7,g=1<<f;if(d.Qc&g)break;if(e&g){b||2!=f?c=d.Zc[1]+f:c=Pf(a,1);0<=c&&(d.Qc|=g,d.qc&=~g);break}if(f++==d.ve)break}return c}function hl(a,b,c,d){var e,f=a.O[b];f.cf?(e=f.ec,f.cf=!1):(f.Fd==f.md&&il(a,b),f.Ye?(e=f.we[f.Fd++],f.Fd==f.md&&(f.Ye=!1)):(rk(a,b),e=f.Fb[f.Fd++]));n(a,2304)&&m(a,c,null,d,"TIMER"+b,e,!0);return e}
function jl(a,b,c,d,e){n(a,2304)&&m(a,c,d,e,"TIMER"+b,null,!0);c=a.O[b];c.Fd==c.md&&il(a,b);c.Hc[c.Fd++]=d;c.Fd==c.md&&(c.ye&&0!=c.mode&&8!=c.mode||(c.Ye=!1,c.Fb[0]=c.ad[0]=c.Hc[0],c.Fb[1]=c.ad[1]=c.Hc[1],c.zd=ad(a.M,a.wa),c.ye=!0,c.xd=0!=c.mode,0==b&&(Zf(a,0),d=kl(a,0)*a.xb|0,6==c.mode&&(d>>=1),ed(a.M,d))),2==b&&hd(a))}h=Zj.prototype;h.Ol=function(a,b){m(this,a,null,b,"PIT1_CTRL",null,2048);return this.ib};
h.hn=function(a,b,c){this.ib=b;m(this,a,b,c,"PIT1_CTRL",null,2048);a=b&192;if(192==a){if(!(b&16))for(a=0;2>=a;a++)b&2<<a&&(c=this.O[a],c.cf||(rk(this,a),c.ec=c.bh|c.mode|c.bg|(c.Fd<c.md?64:0)|(c.xd?128:0),c.cf=!0));if(!(b&32))for(a=0;2>=a;a++)b&2<<a&&ll(this,a)}else{a>>=6;c=b&1;var d=b&14;b&=48;if(0==b)ll(this,a);else{var e=a,f=this.O[e];f.bg=b;f.mode=d;f.bh=c;f.Hc=[0,0];f.Fb=[0,0];f.we=[0,0];f.xd=!1;f.Ye=!1;f.ye=!1;f.cf=!1;il(this,e);0==a&&Zf(this,0);2==a&&255==this.vc[0].Cd&&77==this.X&&(a=this.O[0],
a.ad[0]=a.Hc[0],a.ad[1]=a.Hc[1],a.zd=ad(this.M,this.wa))}}};function kl(a,b){var c=a.O[b],d=c.Hc[1]<<8|c.Hc[0];d||(d=1==c.md?256:65536);return d}function jd(a,b){var c=a.O[b],d=c.ad[1]<<8|c.ad[0];d||(d=1==c.md?256:65536);return d}function ll(a,b){rk(a,b);var c=a.O[b];c.we[0]=c.Fb[0];c.we[1]=c.Fb[1];c.Ye=!0;il(a,b)}function il(a,b){var c=a.O[b];c.Fd=32==c.bg?1:0;c.md=48==c.bg?2:1}
function rk(a,b,c){var d=a.O[b];if(d.ye&&(2!=b||a.X&1)){var e=ad(a.M,a.wa),f=(e-d.zd)/a.xb|0;0>f&&(d.zd=e,f=0);var g=kl(a,b),k=jd(a,b)-f;0==d.mode?(0>=k&&(k=0),k||(d.xd=!0,d.ye=!1,b||$f(a,0))):4==d.mode?(d.xd=1!=k,0>=k&&(k=g+k,0>=k&&(k=g),d.ad[0]=k&255,d.ad[1]=k>>8&255,d.zd=e,!b&&d.xd&&$f(a,0))):6==d.mode&&(k-=f,0>=k&&(d.xd=!d.xd,k=g+k,0>=k&&(k=g),d.ad[0]=k&255,d.ad[1]=k>>8&255,d.zd=e,!b&&d.xd&&$f(a,0)));d.Fb[0]=k&255;d.Fb[1]=k>>8&255;c&&(a.zd=0)}return d}
function id(a,b){for(var c=0;c<a.O.length;c++)rk(a,c,b);if(a.na>=Yf){var c=a.M.ba.Id,d=ad(a.M,a.wa);null==a.rb&&(a.Ta=ad(a.M,a.wa),a.cc=1024,a.rb=Math.floor(a.M.ba.Id/a.cc),Dk(a));d>=a.Ja&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,$f(a,8)),a.Ja=d+a.rb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,$f(a,8)));var e=d-a.Ta,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+
h.restore=function(a){var b,c;b=a[0];this.Y=b[0];this.Ba=b[1];this.da=b[2];this.za=b[3];b=a[1];for(c=0;c<this.qb;c++)zk(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Qa;c++)Ak(this,c,0===c?32:160,b[0][c]);b=a[3];this.ib=b[0];this.Vb=b[2];for(c=0;c<this.O.length;c++)Bk(this,c,b[1][c]);b=a[4];this.lb=b[0];this.X=b[1];this.Ib=b[2];this.Oa=b[3];this.Ma=b[4];if(b=a[5])this.C=b[0],this.la=b[1],this.ka=b[2],this.Va=b[3],this.qa=b[4],this.cb=b[5];if(b=a[6])this.Ha=b[1],this.Ha[7]=b[0],this.Ea=b[2],
this.A=b[3],this.Ta=b[4],this.Ja=b[5],Ek(this);return!0};var Ik=[0,null,null,0,Array(4)];function zk(a,b,c){var d=a.R[b];d||(d={Dc:Array(4)});c=c&&5==c.length?c:Ik;d.ec=c[0];d.$g=c[1];d.Di=c[2];d.Pb=c[3];d.mm=b<<2;for(var e=0;e<d.Dc.length;e++)Jk(d,e,c[4][e]);a.R[b]=d}var Kk=[!0,[0,0],[0,0],[0,0],[0,0]];
function Jk(a,b,c){var d=a.Dc[b];d||(d={jg:[0,0],Hc:[0,0],Kb:[0,0],Fb:[0,0]});c=c&&8==c.length?c:Kk;d.Ae=c[0];d.jg[0]=c[1][0];d.jg[1]=c[1][1];d.Hc[0]=c[2][0];d.Hc[1]=c[2][1];d.Kb[0]=c[3][0];d.Kb[1]=c[3][1];d.Fb[0]=c[4][0];d.Fb[1]=c[4][1];d.mode=c[5];d.lg=c[6];d.controller=a;d.Wi=b;Lk(d,c[8],c[9]);a.Dc[b]=d}function Lk(a,b,c,d){"string"==typeof b&&(b=kb(b));b&&(a.done=null,a.wn=b.id,a.xn=c,a.qg=b,a.jh=b[c],a.Gg=d)}var Mk=[0,Array(4)];
function Ak(a,b,c,d){var e=a.vc[b];e||(e={Zc:[null,null,null,null]});d=d&&8==d.length?d:Mk;e.port=c;e.zo=b<<3;e.lf=d[0];e.Zc[0]=d[1][0];e.Zc[1]=d[1][1];e.Zc[2]=d[1][2];e.Zc[3]=d[1][3];e.Ud=d[2];e.Cd=d[3];e.qc=d[4];e.Qc=d[5];e.ve=d[6];e.Af=d[7];a.vc[b]=e}var Nk=[[0,0],[0,0],[0,0],[0,0]];
function Bk(a,b,c){var d=a.O[b];d||(d={Hc:[0,0],ad:[0,0],Fb:[0,0],we:[0,0]});c=c&&13<=c.length?c:Nk;d.Hc[0]=c[0][0];d.Hc[1]=c[0][1];d.ad[0]=c[1][0];d.ad[1]=c[1][1];d.Fb[0]=c[2][0];d.Fb[1]=c[2][1];d.we[0]=c[3][0];d.we[1]=c[3][1];d.bh=c[4];d.mode=c[5];d.bg=c[6];d.Fd=c[7];d.md=c[8];d.xd=c[9];d.Ye=c[10];d.ye=c[11];d.zd=c[12];d.ec=c[13]||0;d.cf=c[14]||!1;a.O[b]=d}function Ck(a,b){return((((b?a.Y:a.da)&12)>>2)+1)*a.oc+32*((b?a.Ba:a.za)&15)}
function Ok(a,b){var c=b?a.Y:a.da;return a.na!=fk||c&kk.Tg?((c&kk.vf)>>kk.wf)+1:0}function Fk(a,b){if(b<Ok(a)){if(!a.ua)return 1;if(b<a.ua.length)switch(a.ua[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Dk(a,b){return((b?a.Y:a.da)&jk.vf)>>jk.wf}
function nk(a,b,c,d){for(var e="",f=a.xa[b],g=1;8>=g;g++){var k="pcjs-bitCell";g||(k+=" pcjs-bitCellLeft");e+='<div id="'+(b+"-"+g)+'" class="'+k+'" data-value="0">'+g+"</div>\n"}f.innerHTML=e;xk(a,b,c,d)}
function xk(a,b,c,d){if(b=a.xa[b]){b=qb(b,"pcjs-bitCell");for(var e=0;e<b.length;e++){var f=null;null!=d&&null!=d[e]&&(f=d[e]);f&&b[e].setAttribute("title",f);Pk(b[e],c&1<<e?!1:!0);b[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");Pk(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case gk:a.Y=a.Y&~e|(c?0:e);break;case mk:a.Ba=a.Ba&~e|(c?0:e)}yk(a)}}(a,b[e])}}}
function yk(a){var b=a.xa.swdesc;if(null!=b){var c;c=""+(Ck(a,!0)+"Kb");c+=", "+(a.Y&2?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[Dk(a,!0)]+" Monitor";c+=", "+Ok(a,!0)+" Floppy Drives";if(null!=a.da&&a.da!=a.Y||null!=a.za&&a.za!=a.Ba)c+=" (Reset required)";b.textContent=c}}function Pk(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}
function Qk(a,b,c,d,e){var f=a.R[b],g=f.Dc[c],k=g.Kb[f.Pb];n(a,768)&&m(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.Pb+"]",k,!0);f.Pb^=1;b||0!=c||f.Pb||(g.Kb[0]++,255<g.Kb[0]&&(g.Kb[0]=0,g.Kb[1]++,255<g.Kb[1]&&(g.Kb[1]=0)));return k}function Rk(a,b,c,d,e,f){var g=a.R[b];n(a,768)&&m(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.Pb+"]",null,!0);a=g.Dc[c];a.Kb[g.Pb]=a.jg[g.Pb]=e;g.Pb^=1}
function Sk(a,b,c,d,e){var f=a.R[b],g=f.Dc[c],k=g.Fb[f.Pb];n(a,768)&&m(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Pb+"]",k,!0);f.Pb^=1;b||0!=c||f.Pb||(g.Fb[0]--,0>g.Fb[0]&&(g.Fb[0]=255,g.Fb[1]--,0>g.Fb[1]&&(g.Fb[1]=255)));return k}function Tk(a,b,c,d,e,f){var g=a.R[b];n(a,768)&&m(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Pb+"]",null,!0);a=g.Dc[c];a.Fb[g.Pb]=a.Hc[g.Pb]=e;g.Pb^=1}function Uk(a,b,c,d){var e=a.R[b],f=e.ec|1;e.ec&=-16;n(a,768)&&m(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function Vk(a,b,c,d,e){var f=a.R[b];n(a,768)&&m(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.ec=f.ec&~(16<<a)|(d&4)<<a+2;f.Di=d}function Wk(a,b,c,d,e){var f=a.R[b];n(a,768)&&m(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Dc[b];c.Ae=!!(d&4);c.Ae||Xk(a,f.mm+b)}function Yk(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA"+b+".MODE",null,!0);a.R[b].Dc[d&3].mode=d}function Zk(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.R[b];for(b=0;b<a.Dc.length;b++)Jk(a,b)}
function $k(a,b,c,d,e){var f=a.R[b].Dc[c].lg;n(a,768)&&m(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function al(a,b,c,d,e,f){n(a,768)&&m(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.R[b].Dc[c].lg=e}function bl(a,b,c,d){var e=a.Ha[b];n(a,768)&&m(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}function cl(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Ha[b]=d}function dl(a,b,c,d,e){Lk(a.R[b>>2].Dc[b&3],c,d,e)}
function Xk(a,b,c){b=a.R[b>>2].Dc[b&3];b.qg&&b.jh&&b.Gg?(c&&(b.done=c),b.Ae||el(a,b,!0)):c&&c(!0)}function el(a,b,c){c&&(b.count=b.Fb[1]<<8|b.Fb[0],b.type=b.mode&12,b.Si=b.wd=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Kb[1]<<8|b.Kb[0],4==b.type?(d=!0,function(c){b.jh.call(b.qg,b.Gg,-1,function(f,g){0>f&&(b.Si||(b.Si=!0),f=255);b.Ae||a.ja.tc(c,f);(d=g)&&setTimeout(function(){fl(b)||el(a,b)},0)})}(c)):8==b.type?(c=a.ja.Wa(c),0>b.jh.call(b.qg,b.Gg,c)&&(b.wd=!0)):0!=b.type&&(b.wd=!0)),!d&&!fl(b););}
function fl(a){if(!a.wd&&0<=--a.count&&(a.mode&32?(a.Kb[0]--,0>a.Kb[0]&&(a.Kb[0]=255,a.Kb[1]--,0>a.Kb[1]&&(a.Kb[1]=255))):(a.Kb[0]++,255<a.Kb[0]&&(a.Kb[0]=0,a.Kb[1]++,255<a.Kb[1]&&(a.Kb[1]=0))),!a.Ae))return!1;var b=a.controller;b.ec=b.ec&~(16<<a.Wi)|1<<a.Wi;a.mode&16||(a.Ae=!0,a.qg=a.Gg=null);a.done&&(a.done(!a.wd),a.done=null);return!0}function gl(a,b,c){var d=0,e=a.vc[b];if(null!=e.Af)switch(e.Af&3){case 2:d=e.qc;break;case 3:d=e.Qc}n(a,34048)&&m(a,e.port,null,c,"PIC"+b,d,!0);return d}
function hl(a,b,c,d){var e=a.vc[b];n(a,34048)&&m(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Ud=0,e.Zc[e.Ud++]=c,e.Cd=0,e.ve=7,e.qc=e.Qc=0,e.Af=10;else if(c&8)c&100&&n(a,1073741824)&&sb(a,"PIC"+b+"("+ga(e.port)+"): unsupported OCW3 command "+ga(c),!0,!0),e.Af=c;else if(d=c&224,d&32){var f,g=0;if(96==(d&96))g=1<<(c&7);else for(f=e.ve+1;;){f&=7;var k=1<<f;if(e.Qc&k){g=k;break}if(f++==e.ve)break}e.Qc&g&&(e.Qc&=~g,il(a));d&128&&n(a,1073741824)&&sb(a,"PIC"+b+"("+ga(e.port)+"): unsupported OCW2 rotate command "+
ga(c),!0,!0)}else 192==d?e.ve=c&7:n(a,1073741824)&&sb(a,"PIC"+b+"("+ga(e.port)+"): unsupported OCW2 automatic EOI command "+ga(c),!0,!0)}function jl(a,b,c){var d=a.vc[b],e=d.Cd;n(a,34048)&&m(a,d.port+1,null,c,"PIC"+b,e,!0);return e}function kl(a,b,c,d){var e=a.vc[b];n(a,34048)&&m(a,e.port+1,c,d,"PIC"+b,null,!0);e.Ud<e.Zc.length?(e.Zc[e.Ud++]=c,2==e.Ud&&e.Zc[0]&2&&e.Ud++,3!=e.Ud||e.Zc[0]&1||e.Ud++):(e.Cd=c,d=a.M,d.V|=4,il(a,b||253!=c?0:6))}
function $f(a,b,c){var d=a.vc[b>>3];b=1<<(b&7);d.qc&b||(d.qc|=b,d.lf=c||0,il(a))}function Zf(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.qc&d&&(c.qc&=~d,il(a))}function il(a,b){var c,d=-1;1<a.Qa&&(c=a.vc[1],d=~(c.Qc|c.Cd)&c.qc);c=a.vc[0];0<=d&&(c.qc=d?c.qc|4:c.qc&-5);var d=~(c.Qc|c.Cd)&c.qc,e=a.M;e.R&&(e.za=d?e.za|1:e.za&-2);d&&b&&(c.lf=b)}
function Pf(a,b){void 0===b&&(b=0);var c=-1,d=a.vc[b];if(d.lf)c=-2,d.lf--;else for(var e=d.qc&((d.Qc|d.Cd)^255),f=d.ve+1;;){var f=f&7,g=1<<f;if(d.Qc&g)break;if(e&g){b||2!=f?c=d.Zc[1]+f:c=Pf(a,1);0<=c&&(d.Qc|=g,d.qc&=~g);break}if(f++==d.ve)break}return c}function ll(a,b,c,d){var e,f=a.O[b];f.cf?(e=f.ec,f.cf=!1):(f.Fd==f.md&&ml(a,b),f.Ye?(e=f.we[f.Fd++],f.Fd==f.md&&(f.Ye=!1)):(vk(a,b),e=f.Fb[f.Fd++]));n(a,2304)&&m(a,c,null,d,"TIMER"+b,e,!0);return e}
function nl(a,b,c,d,e){n(a,2304)&&m(a,c,d,e,"TIMER"+b,null,!0);c=a.O[b];c.Fd==c.md&&ml(a,b);c.Hc[c.Fd++]=d;c.Fd==c.md&&(c.ye&&0!=c.mode&&8!=c.mode||(c.Ye=!1,c.Fb[0]=c.ad[0]=c.Hc[0],c.Fb[1]=c.ad[1]=c.Hc[1],c.zd=ad(a.M,a.wa),c.ye=!0,c.xd=0!=c.mode,0==b&&(Zf(a,0),d=ol(a,0)*a.xb|0,6==c.mode&&(d>>=1),ed(a.M,d))),2==b&&hd(a))}h=dk.prototype;h.Ol=function(a,b){m(this,a,null,b,"PIT1_CTRL",null,2048);return this.ib};
h.hn=function(a,b,c){this.ib=b;m(this,a,b,c,"PIT1_CTRL",null,2048);a=b&192;if(192==a){if(!(b&16))for(a=0;2>=a;a++)b&2<<a&&(c=this.O[a],c.cf||(vk(this,a),c.ec=c.bh|c.mode|c.bg|(c.Fd<c.md?64:0)|(c.xd?128:0),c.cf=!0));if(!(b&32))for(a=0;2>=a;a++)b&2<<a&&pl(this,a)}else{a>>=6;c=b&1;var d=b&14;b&=48;if(0==b)pl(this,a);else{var e=a,f=this.O[e];f.bg=b;f.mode=d;f.bh=c;f.Hc=[0,0];f.Fb=[0,0];f.we=[0,0];f.xd=!1;f.Ye=!1;f.ye=!1;f.cf=!1;ml(this,e);0==a&&Zf(this,0);2==a&&255==this.vc[0].Cd&&77==this.X&&(a=this.O[0],
a.ad[0]=a.Hc[0],a.ad[1]=a.Hc[1],a.zd=ad(this.M,this.wa))}}};function ol(a,b){var c=a.O[b],d=c.Hc[1]<<8|c.Hc[0];d||(d=1==c.md?256:65536);return d}function jd(a,b){var c=a.O[b],d=c.ad[1]<<8|c.ad[0];d||(d=1==c.md?256:65536);return d}function pl(a,b){vk(a,b);var c=a.O[b];c.we[0]=c.Fb[0];c.we[1]=c.Fb[1];c.Ye=!0;ml(a,b)}function ml(a,b){var c=a.O[b];c.Fd=32==c.bg?1:0;c.md=48==c.bg?2:1}
function vk(a,b,c){var d=a.O[b];if(d.ye&&(2!=b||a.X&1)){var e=ad(a.M,a.wa),f=(e-d.zd)/a.xb|0;0>f&&(d.zd=e,f=0);var g=ol(a,b),k=jd(a,b)-f;0==d.mode?(0>=k&&(k=0),k||(d.xd=!0,d.ye=!1,b||$f(a,0))):4==d.mode?(d.xd=1!=k,0>=k&&(k=g+k,0>=k&&(k=g),d.ad[0]=k&255,d.ad[1]=k>>8&255,d.zd=e,!b&&d.xd&&$f(a,0))):6==d.mode&&(k-=f,0>=k&&(d.xd=!d.xd,k=g+k,0>=k&&(k=g),d.ad[0]=k&255,d.ad[1]=k>>8&255,d.zd=e,!b&&d.xd&&$f(a,0)));d.Fb[0]=k&255;d.Fb[1]=k>>8&255;c&&(a.zd=0)}return d}
function id(a,b){for(var c=0;c<a.O.length;c++)vk(a,c,b);if(a.na>=Yf){var c=a.M.ba.Id,d=ad(a.M,a.wa);null==a.rb&&(a.Ta=ad(a.M,a.wa),a.cc=1024,a.rb=Math.floor(a.M.ba.Id/a.cc),Hk(a));d>=a.Ja&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,$f(a,8)),a.Ja=d+a.rb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,$f(a,8)));var e=d-a.Ta,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+
1;var g;g=a.A[9];var k=ua[a.A[8]-1];28==k&&0===g%4&&(g%100||0===g%400)&&k++;g=k;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,$f(a,8))}a.Ta=d-e%c}}h.Pl=function(a,b){var c=this.lb;if(this.Oa&16)if(this.X&128)c=this.da;else if(this.P){var c=this.P,d=0;c.A.length&&(d=c.A[0]);n(c)&&sb(c,"scan code "+ga(d)+" delivered");c=d}m(this,a,null,b,"PPI_A",c);return c};h.jn=function(a,b,c){m(this,a,b,c,"PPI_A");this.lb=b};
h.Ql=function(a,b){var c=this.X;m(this,a,null,b,"PPI_B",c);return c};h.kn=function(a,b,c){m(this,a,b,c,"PPI_B");ml(this,b)};function ml(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.P&&nl(a.P,!(b&128),!!(b&64));c!=d&&hd(a,c)}h.Rl=function(a,b){var c=0,c=this.na==bk?this.X&4?c|this.za&15:c|this.za>>4&1:this.X&8?c|this.da>>4:c|this.da&15;this.X&1&&rk(this,2).xd&&(c=this.X&2?c|32:c|16);m(this,a,null,b,"PPI_C",c,32896);return c};h.mn=function(a,b,c){m(this,a,b,c,"PPI_C");this.Ib=b};
h.Sl=function(a,b){var c=this.Oa;m(this,a,null,b,"PPI_CTRL",c);return c};h.nn=function(a,b,c){m(this,a,b,c,"PPI_CTRL");this.Oa=b};h.cl=function(a,b){var c=this.Va;m(this,a,null,b,"8042_OUTBUFF",c,16384);this.C&=-258;this.P&&ol(this.P);return c};h.um=function(a,b,c){m(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.C&8)switch(this.la){case 96:pl(this,b);break;case 209:ql(this,b);break;default:if(pl(this,this.ka&-17),this.P){a=-1;switch(b){case 255:a=250,rl(this.P)}sl(this,a)}}this.la=b;this.C&=-9};
h.dl=function(a,b){var c=this.X&-209|(ad(this.M)&64?16:0);m(this,a,null,b,"8042_RWREG",c,16384);return c};h.vm=function(a,b,c){m(this,a,b,c,"8042_RWREG",null,16384);ml(this,b)};h.el=function(a,b){m(this,a,null,b,"8042_STATUS",this.C,16384);var c=this.C&255;this.C&256&&(this.C|=1,this.C&=-257);return c};
h.tm=function(a,b,c){m(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.la=b;this.C|=8;a=0;240<=this.la&&(a=this.la^15,this.la=240);switch(this.la){case 32:sl(this,this.ka);break;case 173:pl(this,this.ka|16);break;case 174:pl(this,this.ka&-17);this.P&&ol(this.P);break;case 170:this.P&&(a=this.P,a.A=[],n(a)&&sb(a,"scan codes flushed"));pl(this,this.ka|16);sl(this,85);ql(this,3);break;case 171:sl(this,0);break;case 192:sl(this,this.qa);break;case 208:sl(this,this.cb);break;case 224:sl(this,this.ka&16?
0:1);break;case 240:a&1&&xe(this.M)}};function pl(a,b){a.ka=b;a.C=a.C&-5|b&4;a.P&&nl(a.P,!!(b&8),!(b&16))}function sl(a,b,c){0<=b&&(a.Va=b,c?a.C|=1:(a.C&=-2,a.C|=256))}function ql(a,b){a.cb=b;Yb(a.ja,!!(b&2));b&1||xe(a.M)}function tl(a,b){a.na<Yf?$f(a,1,4):a.ka&16||a.C&257||(sl(a,b,!0),ul(a.P),$f(a,1,120))}h.sl=function(a,b){m(this,a,null,b,"CMOS.ADDR",this.Ea,4096);return this.Ea};h.Jm=function(a,b,c){m(this,a,b,c,"CMOS.ADDR",null,4096);this.Ea=b;this.Ma=b&128?0:128};
h.tl=function(a,b){var c=this.Ea&63,d=13>=c?sk(this,c):this.A[c];n(this,4352)&&m(this,a,null,b,"CMOS.DATA["+ga(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&Zf(this,8),d&64&&this.A[11]&64&&Dk(this));return d};
h.Km=function(a,b,c){var d=this.Ea&63;n(this,4352)&&m(this,a,b,c,"CMOS.DATA["+ga(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.A[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Dk(this)};h.gn=function(a,b,c){m(this,a,b,c,"NMI");this.Ma=b};h.Um=function(a,b,c){m(this,a,b,c,"FPU.CLEAR")};h.Vm=function(a,b,c){m(this,a,b,c,"FPU.RESET");this.Yb&&Tf(this.Yb)};
h.fm=function(a){if(n(this,16)&&Uj(this.ma,26,a)){var b=this.M.F>>8;Te(this.M,a,function(a,d){return function(e){d=ad(a.M)-d;var f,g=a.M.H&255,k=a.M.H>>8,q=a.M.H&255,r=a.M.H>>8;if(2==b||3==b)f=" CH(hour)="+ia(k)+" CL(min)="+ga(g)+" DH(sec)="+ga(r);else if(4==b||5==b)f=" CX(year)="+ia(a.M.G)+" DH(month)="+ga(r)+" DL(day)="+ga(q);g=a.ma;k=d;g.message("INT "+ga(26)+": C="+(nf(g.M)?1:0)+(f||"")+" (cycles="+k+(e?",level="+(e+1):"")+")")}}(this,ad(this.M)))}return!0};
function dk(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function hd(a,b){if(a.Ra)try{void 0!==b?a.Zb=b:b=a.Zb&&a.M&&a.M.ra.Ob;var c=Math.round(1193181/kl(a,2));if(20>c||2E4<c)b=!1;b?a.W?(a.W.frequency.value=c,n(a,33554432)&&sb(a,"speaker set to "+c+"hz",!0)):(a.W=a.Ra.createOscillator(),a.W&&(a.W.type="number"==typeof a.W.type?1:"square",a.W.connect(a.Ra.destination),a.W.frequency.value=c,"start"in a.W?a.W.start(0):a.W.noteOn(0),n(a,33554432)&&sb(a,"speaker on at "+c+"hz",!0))):a.W&&("stop"in a.W?a.W.stop(0):a.W.noteOff(0),a.W.disconnect(),delete a.W,
h.Ql=function(a,b){var c=this.X;m(this,a,null,b,"PPI_B",c);return c};h.kn=function(a,b,c){m(this,a,b,c,"PPI_B");ql(this,b)};function ql(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.P&&rl(a.P,!(b&128),!!(b&64));c!=d&&hd(a,c)}h.Rl=function(a,b){var c=0,c=this.na==fk?this.X&4?c|this.za&15:c|this.za>>4&1:this.X&8?c|this.da>>4:c|this.da&15;this.X&1&&vk(this,2).xd&&(c=this.X&2?c|32:c|16);m(this,a,null,b,"PPI_C",c,32896);return c};h.mn=function(a,b,c){m(this,a,b,c,"PPI_C");this.Ib=b};
h.Sl=function(a,b){var c=this.Oa;m(this,a,null,b,"PPI_CTRL",c);return c};h.nn=function(a,b,c){m(this,a,b,c,"PPI_CTRL");this.Oa=b};h.cl=function(a,b){var c=this.Va;m(this,a,null,b,"8042_OUTBUFF",c,16384);this.C&=-258;this.P&&sl(this.P);return c};h.um=function(a,b,c){m(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.C&8)switch(this.la){case 96:tl(this,b);break;case 209:ul(this,b);break;default:if(tl(this,this.ka&-17),this.P){a=-1;switch(b){case 255:a=250,vl(this.P)}wl(this,a)}}this.la=b;this.C&=-9};
h.dl=function(a,b){var c=this.X&-209|(ad(this.M)&64?16:0);m(this,a,null,b,"8042_RWREG",c,16384);return c};h.vm=function(a,b,c){m(this,a,b,c,"8042_RWREG",null,16384);ql(this,b)};h.el=function(a,b){m(this,a,null,b,"8042_STATUS",this.C,16384);var c=this.C&255;this.C&256&&(this.C|=1,this.C&=-257);return c};
h.tm=function(a,b,c){m(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.la=b;this.C|=8;a=0;240<=this.la&&(a=this.la^15,this.la=240);switch(this.la){case 32:wl(this,this.ka);break;case 173:tl(this,this.ka|16);break;case 174:tl(this,this.ka&-17);this.P&&sl(this.P);break;case 170:this.P&&(a=this.P,a.A=[],n(a)&&sb(a,"scan codes flushed"));tl(this,this.ka|16);wl(this,85);ul(this,3);break;case 171:wl(this,0);break;case 192:wl(this,this.qa);break;case 208:wl(this,this.cb);break;case 224:wl(this,this.ka&16?
0:1);break;case 240:a&1&&xe(this.M)}};function tl(a,b){a.ka=b;a.C=a.C&-5|b&4;a.P&&rl(a.P,!!(b&8),!(b&16))}function wl(a,b,c){0<=b&&(a.Va=b,c?a.C|=1:(a.C&=-2,a.C|=256))}function ul(a,b){a.cb=b;Yb(a.ja,!!(b&2));b&1||xe(a.M)}function xl(a,b){a.na<Yf?$f(a,1,4):a.ka&16||a.C&257||(wl(a,b,!0),yl(a.P),$f(a,1,120))}h.sl=function(a,b){m(this,a,null,b,"CMOS.ADDR",this.Ea,4096);return this.Ea};h.Jm=function(a,b,c){m(this,a,b,c,"CMOS.ADDR",null,4096);this.Ea=b;this.Ma=b&128?0:128};
h.tl=function(a,b){var c=this.Ea&63,d=13>=c?wk(this,c):this.A[c];n(this,4352)&&m(this,a,null,b,"CMOS.DATA["+ga(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&Zf(this,8),d&64&&this.A[11]&64&&Hk(this));return d};
h.Km=function(a,b,c){var d=this.Ea&63;n(this,4352)&&m(this,a,b,c,"CMOS.DATA["+ga(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.A[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Hk(this)};h.gn=function(a,b,c){m(this,a,b,c,"NMI");this.Ma=b};h.Um=function(a,b,c){m(this,a,b,c,"FPU.CLEAR")};h.Vm=function(a,b,c){m(this,a,b,c,"FPU.RESET");this.Yb&&Tf(this.Yb)};
h.fm=function(a){if(n(this,16)&&Yj(this.ma,26,a)){var b=this.M.F>>8;Te(this.M,a,function(a,d){return function(e){d=ad(a.M)-d;var f,g=a.M.H&255,k=a.M.H>>8,q=a.M.H&255,r=a.M.H>>8;if(2==b||3==b)f=" CH(hour)="+ia(k)+" CL(min)="+ga(g)+" DH(sec)="+ga(r);else if(4==b||5==b)f=" CX(year)="+ia(a.M.G)+" DH(month)="+ga(r)+" DL(day)="+ga(q);g=a.ma;k=d;g.message("INT "+ga(26)+": C="+(nf(g.M)?1:0)+(f||"")+" (cycles="+k+(e?",level="+(e+1):"")+")")}}(this,ad(this.M)))}return!0};
function hk(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function hd(a,b){if(a.Ra)try{void 0!==b?a.Zb=b:b=a.Zb&&a.M&&a.M.ra.Ob;var c=Math.round(1193181/ol(a,2));if(20>c||2E4<c)b=!1;b?a.W?(a.W.frequency.value=c,n(a,33554432)&&sb(a,"speaker set to "+c+"hz",!0)):(a.W=a.Ra.createOscillator(),a.W&&(a.W.type="number"==typeof a.W.type?1:"square",a.W.connect(a.Ra.destination),a.W.frequency.value=c,"start"in a.W?a.W.start(0):a.W.noteOn(0),n(a,33554432)&&sb(a,"speaker on at "+c+"hz",!0))):a.W&&("stop"in a.W?a.W.stop(0):a.W.noteOff(0),a.W.disconnect(),delete a.W,
n(a,33554432)&&sb(a,"speaker off at "+c+"hz",!0))}catch(d){a.Ua("AudioContext exception: "+d.message),a.Ra=null}else b&&sb(a,"BEEP",33554432)}
var kk={0:function(a,b){return Mk(this,0,0,a,b)},1:function(a,b){return Ok(this,0,0,a,b)},2:function(a,b){return Mk(this,0,1,a,b)},3:function(a,b){return Ok(this,0,1,a,b)},4:function(a,b){return Mk(this,0,2,a,b)},5:function(a,b){return Ok(this,0,2,a,b)},6:function(a,b){return Mk(this,0,3,a,b)},7:function(a,b){return Ok(this,0,3,a,b)},8:function(a,b){return Qk(this,0,a,b)},32:function(a,b){return cl(this,0,b)},33:function(a,b){return fl(this,0,b)},64:function(a,b){return hl(this,0,a,b)},65:function(a,
b){return hl(this,1,a,b)},66:function(a,b){return hl(this,2,a,b)},67:Zj.prototype.Ol,129:function(a,b){return Wk(this,0,2,a,b)},130:function(a,b){return Wk(this,0,3,a,b)},131:function(a,b){return Wk(this,0,1,a,b)},135:function(a,b){return Wk(this,0,0,a,b)}},mk={96:Zj.prototype.Pl,97:Zj.prototype.Ql,98:Zj.prototype.Rl,99:Zj.prototype.Sl},ok={96:Zj.prototype.cl,97:Zj.prototype.dl,100:Zj.prototype.el,112:Zj.prototype.sl,113:Zj.prototype.tl,128:function(a,b){return Yk(this,7,a,b)},132:function(a,b){return Yk(this,
0,a,b)},133:function(a,b){return Yk(this,1,a,b)},134:function(a,b){return Yk(this,2,a,b)},136:function(a,b){return Yk(this,3,a,b)},137:function(a,b){return Wk(this,1,2,a,b)},138:function(a,b){return Wk(this,1,3,a,b)},139:function(a,b){return Wk(this,1,1,a,b)},140:function(a,b){return Yk(this,4,a,b)},141:function(a,b){return Yk(this,5,a,b)},142:function(a,b){return Yk(this,6,a,b)},143:function(a,b){return Wk(this,1,0,a,b)},160:function(a,b){return cl(this,1,b)},161:function(a,b){return fl(this,1,b)},
192:function(a,b){return Mk(this,1,0,a,b)},194:function(a,b){return Ok(this,1,0,a,b)},196:function(a,b){return Mk(this,1,1,a,b)},198:function(a,b){return Ok(this,1,1,a,b)},200:function(a,b){return Mk(this,1,2,a,b)},202:function(a,b){return Ok(this,1,2,a,b)},204:function(a,b){return Mk(this,1,3,a,b)},206:function(a,b){return Ok(this,1,3,a,b)},208:function(a,b){return Qk(this,1,a,b)}},lk={0:function(a,b,c){Nk(this,0,0,a,b,c)},1:function(a,b,c){Pk(this,0,0,a,b,c)},2:function(a,b,c){Nk(this,0,1,a,b,c)},
3:function(a,b,c){Pk(this,0,1,a,b,c)},4:function(a,b,c){Nk(this,0,2,a,b,c)},5:function(a,b,c){Pk(this,0,2,a,b,c)},6:function(a,b,c){Nk(this,0,3,a,b,c)},7:function(a,b,c){Pk(this,0,3,a,b,c)},8:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA0.CMD",null,!0);this.R[0].$g=b},9:function(a,b,c){Rk(this,0,a,b,c)},10:function(a,b,c){Sk(this,0,a,b,c)},11:function(a,b,c){Uk(this,0,a,b,c)},12:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA0.RESET_FF",null,!0);this.R[0].Pb=0},13:function(a,b,c){Vk(this,0,a,b,c)},
32:function(a,b,c){dl(this,0,b,c)},33:function(a,b,c){gl(this,0,b,c)},64:function(a,b,c){jl(this,0,a,b,c)},65:function(a,b,c){jl(this,1,a,b,c)},66:function(a,b,c){jl(this,2,a,b,c)},67:Zj.prototype.hn,129:function(a,b,c){Xk(this,0,2,a,b,c)},130:function(a,b,c){Xk(this,0,3,a,b,c)},131:function(a,b,c){Xk(this,0,1,a,b,c)},135:function(a,b,c){Xk(this,0,0,a,b,c)}},nk={96:Zj.prototype.jn,97:Zj.prototype.kn,98:Zj.prototype.mn,99:Zj.prototype.nn,160:Zj.prototype.gn},pk={96:Zj.prototype.um,97:Zj.prototype.vm,
100:Zj.prototype.tm,112:Zj.prototype.Jm,113:Zj.prototype.Km,128:function(a,b,c){Zk(this,7,a,b,c)},132:function(a,b,c){Zk(this,0,a,b,c)},133:function(a,b,c){Zk(this,1,a,b,c)},134:function(a,b,c){Zk(this,2,a,b,c)},136:function(a,b,c){Zk(this,3,a,b,c)},137:function(a,b,c){Xk(this,1,2,a,b,c)},138:function(a,b,c){Xk(this,1,3,a,b,c)},139:function(a,b,c){Xk(this,1,1,a,b,c)},140:function(a,b,c){Zk(this,4,a,b,c)},141:function(a,b,c){Zk(this,5,a,b,c)},142:function(a,b,c){Zk(this,6,a,b,c)},143:function(a,b,
c){Xk(this,1,0,a,b,c)},160:function(a,b,c){dl(this,1,b,c)},161:function(a,b,c){gl(this,1,b,c)},192:function(a,b,c){Nk(this,1,0,a,b,c)},194:function(a,b,c){Pk(this,1,0,a,b,c)},196:function(a,b,c){Nk(this,1,1,a,b,c)},198:function(a,b,c){Pk(this,1,1,a,b,c)},200:function(a,b,c){Nk(this,1,2,a,b,c)},202:function(a,b,c){Pk(this,1,2,a,b,c)},204:function(a,b,c){Nk(this,1,3,a,b,c)},206:function(a,b,c){Pk(this,1,3,a,b,c)},208:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA1.CMD",null,!0);this.R[1].$g=b},210:function(a,
b,c){Rk(this,1,a,b,c)},212:function(a,b,c){Sk(this,1,a,b,c)},214:function(a,b,c){Uk(this,1,a,b,c)},216:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA1.RESET_FF",null,!0);this.R[1].Pb=0},218:function(a,b,c){Vk(this,1,a,b,c)},240:Zj.prototype.Um,241:Zj.prototype.Vm};Sa(function(){for(var a=qb(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Zj(d);pb(d,c);uk(d)}});
function vl(a){Xa.call(this,"ROM",a,vl);this.A=null;this.ia=a.addr;this.R=a.size;this.P=a.alias;this.O=a.file;this.X=ja(this.O);this.C=a.notify;this.Y=null;if(this.C&&(a=this.C.indexOf("["),0<a)){try{this.Y=eval(this.C.substr(a))}catch(c){}this.C=this.C.substr(0,a)}if(this.O){a=this.O;var b=ka(this.X);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.O+"&format=bytes&decimal=true");za(a,!0,null,this,this.W)}}gb(vl);vl.prototype.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;wl(this)};
vl.prototype.lc=function(){this.Md&&(this.ma&&xl(this.ma,this.id,0,this.ia>>>4,0,this.ia,this.R,this.Md),delete this.Md);return!0};vl.prototype.kc=function(){return!0};
vl.prototype.W=function(a,b,c){if(c)this.Ua("Unable to load system ROM (error "+c+": "+a+")");else{ib(this.se,a,b);if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.A=e;else if(f)for(this.A=Array(4*f.length),c=b=0;b<f.length;b++)this.A[c++]=f[b]&255,this.A[c++]=f[b]>>8&255,this.A[c++]=f[b]>>16&255,this.A[c++]=f[b]>>24&255;else this.A=d;this.Md=d.symbols;if(!this.A.length){Ba("Empty ROM: "+a);return}if(1==this.A.length){Ba(this.A[0]);return}}catch(g){this.Ua("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.A=Array(a.length),d=0;d<a.length;d++)this.A[d]=ca(a[d],16);wl(this)}};
function wl(a){if(!yb(a))if(!a.O)xb(a);else if(a.A&&a.ja){if(a.A.length!=a.R)zb(a,"ROM size (0x"+l(a.A.length)+") does not match specified size ("+("0x"+l(a.R))+")");else{var b;b=a.ia;if(Zb(a.ja,b,a.R,fc)){for(var c=0;c<a.A.length;c++){var d=a.ja,e=b+c;d.ya[(e&d.Mb)>>>d.Pa].uf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.P?b.push(a.P):null!=a.P&&a.P.length&&(b=a.P);for(c=0;c<b.length;c++){var d=a,e=b[c],f=cc(d.ja,d.ia,d.R);bc(d.ja,e,d.R,f)}a.C&&((b=kb(a.C,a.id))?(c=a.A,d=a.Y,5==
b.nb?yl(b,c,d||[12640,8752],8):b.nb==zl&&yl(b,c,d||[14221,16269],8),xb(b)):a.Ua("Unable to find component: "+a.C));delete a.A}}xb(a)}}Sa(function(){for(var a=qb(document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new vl(d);pb(d,c)}});function Al(a){Xa.call(this,"RAM",a,Al);this.C=a.addr;this.A=a.size;this.ia=a.test;this.O=!!this.A;this.P=!1}gb(Al);h=Al.prototype;h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Jb(a,"ChipSet");xb(this)};
var ok={0:function(a,b){return Qk(this,0,0,a,b)},1:function(a,b){return Sk(this,0,0,a,b)},2:function(a,b){return Qk(this,0,1,a,b)},3:function(a,b){return Sk(this,0,1,a,b)},4:function(a,b){return Qk(this,0,2,a,b)},5:function(a,b){return Sk(this,0,2,a,b)},6:function(a,b){return Qk(this,0,3,a,b)},7:function(a,b){return Sk(this,0,3,a,b)},8:function(a,b){return Uk(this,0,a,b)},32:function(a,b){return gl(this,0,b)},33:function(a,b){return jl(this,0,b)},64:function(a,b){return ll(this,0,a,b)},65:function(a,
b){return ll(this,1,a,b)},66:function(a,b){return ll(this,2,a,b)},67:dk.prototype.Ol,129:function(a,b){return $k(this,0,2,a,b)},130:function(a,b){return $k(this,0,3,a,b)},131:function(a,b){return $k(this,0,1,a,b)},135:function(a,b){return $k(this,0,0,a,b)}},qk={96:dk.prototype.Pl,97:dk.prototype.Ql,98:dk.prototype.Rl,99:dk.prototype.Sl},sk={96:dk.prototype.cl,97:dk.prototype.dl,100:dk.prototype.el,112:dk.prototype.sl,113:dk.prototype.tl,128:function(a,b){return bl(this,7,a,b)},132:function(a,b){return bl(this,
0,a,b)},133:function(a,b){return bl(this,1,a,b)},134:function(a,b){return bl(this,2,a,b)},136:function(a,b){return bl(this,3,a,b)},137:function(a,b){return $k(this,1,2,a,b)},138:function(a,b){return $k(this,1,3,a,b)},139:function(a,b){return $k(this,1,1,a,b)},140:function(a,b){return bl(this,4,a,b)},141:function(a,b){return bl(this,5,a,b)},142:function(a,b){return bl(this,6,a,b)},143:function(a,b){return $k(this,1,0,a,b)},160:function(a,b){return gl(this,1,b)},161:function(a,b){return jl(this,1,b)},
192:function(a,b){return Qk(this,1,0,a,b)},194:function(a,b){return Sk(this,1,0,a,b)},196:function(a,b){return Qk(this,1,1,a,b)},198:function(a,b){return Sk(this,1,1,a,b)},200:function(a,b){return Qk(this,1,2,a,b)},202:function(a,b){return Sk(this,1,2,a,b)},204:function(a,b){return Qk(this,1,3,a,b)},206:function(a,b){return Sk(this,1,3,a,b)},208:function(a,b){return Uk(this,1,a,b)}},pk={0:function(a,b,c){Rk(this,0,0,a,b,c)},1:function(a,b,c){Tk(this,0,0,a,b,c)},2:function(a,b,c){Rk(this,0,1,a,b,c)},
3:function(a,b,c){Tk(this,0,1,a,b,c)},4:function(a,b,c){Rk(this,0,2,a,b,c)},5:function(a,b,c){Tk(this,0,2,a,b,c)},6:function(a,b,c){Rk(this,0,3,a,b,c)},7:function(a,b,c){Tk(this,0,3,a,b,c)},8:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA0.CMD",null,!0);this.R[0].$g=b},9:function(a,b,c){Vk(this,0,a,b,c)},10:function(a,b,c){Wk(this,0,a,b,c)},11:function(a,b,c){Yk(this,0,a,b,c)},12:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA0.RESET_FF",null,!0);this.R[0].Pb=0},13:function(a,b,c){Zk(this,0,a,b,c)},
32:function(a,b,c){hl(this,0,b,c)},33:function(a,b,c){kl(this,0,b,c)},64:function(a,b,c){nl(this,0,a,b,c)},65:function(a,b,c){nl(this,1,a,b,c)},66:function(a,b,c){nl(this,2,a,b,c)},67:dk.prototype.hn,129:function(a,b,c){al(this,0,2,a,b,c)},130:function(a,b,c){al(this,0,3,a,b,c)},131:function(a,b,c){al(this,0,1,a,b,c)},135:function(a,b,c){al(this,0,0,a,b,c)}},rk={96:dk.prototype.jn,97:dk.prototype.kn,98:dk.prototype.mn,99:dk.prototype.nn,160:dk.prototype.gn},tk={96:dk.prototype.um,97:dk.prototype.vm,
100:dk.prototype.tm,112:dk.prototype.Jm,113:dk.prototype.Km,128:function(a,b,c){cl(this,7,a,b,c)},132:function(a,b,c){cl(this,0,a,b,c)},133:function(a,b,c){cl(this,1,a,b,c)},134:function(a,b,c){cl(this,2,a,b,c)},136:function(a,b,c){cl(this,3,a,b,c)},137:function(a,b,c){al(this,1,2,a,b,c)},138:function(a,b,c){al(this,1,3,a,b,c)},139:function(a,b,c){al(this,1,1,a,b,c)},140:function(a,b,c){cl(this,4,a,b,c)},141:function(a,b,c){cl(this,5,a,b,c)},142:function(a,b,c){cl(this,6,a,b,c)},143:function(a,b,
c){al(this,1,0,a,b,c)},160:function(a,b,c){hl(this,1,b,c)},161:function(a,b,c){kl(this,1,b,c)},192:function(a,b,c){Rk(this,1,0,a,b,c)},194:function(a,b,c){Tk(this,1,0,a,b,c)},196:function(a,b,c){Rk(this,1,1,a,b,c)},198:function(a,b,c){Tk(this,1,1,a,b,c)},200:function(a,b,c){Rk(this,1,2,a,b,c)},202:function(a,b,c){Tk(this,1,2,a,b,c)},204:function(a,b,c){Rk(this,1,3,a,b,c)},206:function(a,b,c){Tk(this,1,3,a,b,c)},208:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA1.CMD",null,!0);this.R[1].$g=b},210:function(a,
b,c){Vk(this,1,a,b,c)},212:function(a,b,c){Wk(this,1,a,b,c)},214:function(a,b,c){Yk(this,1,a,b,c)},216:function(a,b,c){n(this,768)&&m(this,a,b,c,"DMA1.RESET_FF",null,!0);this.R[1].Pb=0},218:function(a,b,c){Zk(this,1,a,b,c)},240:dk.prototype.Um,241:dk.prototype.Vm};Sa(function(){for(var a=qb(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new dk(d);pb(d,c);yk(d)}});
function zl(a){Xa.call(this,"ROM",a,zl);this.A=null;this.ia=a.addr;this.R=a.size;this.P=a.alias;this.O=a.file;this.X=ja(this.O);this.C=a.notify;this.Y=null;if(this.C&&(a=this.C.indexOf("["),0<a)){try{this.Y=eval(this.C.substr(a))}catch(c){}this.C=this.C.substr(0,a)}if(this.O){a=this.O;var b=ka(this.X);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.O+"&format=bytes&decimal=true");za(a,!0,null,this,this.W)}}gb(zl);zl.prototype.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;Al(this)};
zl.prototype.lc=function(){this.Md&&(this.ma&&Bl(this.ma,this.id,0,this.ia>>>4,0,this.ia,this.R,this.Md),delete this.Md);return!0};zl.prototype.kc=function(){return!0};
zl.prototype.W=function(a,b,c){if(c)this.Ua("Unable to load system ROM (error "+c+": "+a+")");else{ib(this.se,a,b);if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.A=e;else if(f)for(this.A=Array(4*f.length),c=b=0;b<f.length;b++)this.A[c++]=f[b]&255,this.A[c++]=f[b]>>8&255,this.A[c++]=f[b]>>16&255,this.A[c++]=f[b]>>24&255;else this.A=d;this.Md=d.symbols;if(!this.A.length){Ba("Empty ROM: "+a);return}if(1==this.A.length){Ba(this.A[0]);return}}catch(g){this.Ua("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.A=Array(a.length),d=0;d<a.length;d++)this.A[d]=ca(a[d],16);Al(this)}};
function Al(a){if(!yb(a))if(!a.O)xb(a);else if(a.A&&a.ja){if(a.A.length!=a.R)zb(a,"ROM size (0x"+l(a.A.length)+") does not match specified size ("+("0x"+l(a.R))+")");else{var b;b=a.ia;if(Zb(a.ja,b,a.R,fc)){for(var c=0;c<a.A.length;c++){var d=a.ja,e=b+c;d.ya[(e&d.Mb)>>>d.Pa].uf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.P?b.push(a.P):null!=a.P&&a.P.length&&(b=a.P);for(c=0;c<b.length;c++){var d=a,e=b[c],f=cc(d.ja,d.ia,d.R);bc(d.ja,e,d.R,f)}a.C&&((b=kb(a.C,a.id))?(c=a.A,d=a.Y,5==
b.nb?Cl(b,c,d||[12640,8752],8):b.nb==Dl&&Cl(b,c,d||[14221,16269],8),xb(b)):a.Ua("Unable to find component: "+a.C));delete a.A}}xb(a)}}Sa(function(){for(var a=qb(document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new zl(d);pb(d,c)}});function El(a){Xa.call(this,"RAM",a,El);this.C=a.addr;this.A=a.size;this.ia=a.test;this.O=!!this.A;this.P=!1}gb(El);h=El.prototype;h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Jb(a,"ChipSet");xb(this)};
h.lc=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};h.kc=function(a){return a&&this.controller?this.save():!0};
h.reset=function(){if(!this.C&&!this.O&&this.R){var a=1024*yk(this.R);this.A&&a!=this.A&&(ec(this.ja,this.C,this.A),this.P=!1);this.A=a}!this.P&&this.A&&Zb(this.ja,this.C,this.A,1)&&(this.P=!0,this.status(Math.floor(this.A/1024)+"Kb allocated"),"ramCPQ"==this.be&&(this.controller=new Bl(this),Zb(this.ja,Cl,4,4,this.controller)));if(this.P){if(this.ia||lc(this.ja,1138,4660),"ramCPQ"!=this.be&&this.R&&(a=this.R,a.A)){var b=1048576>this.C?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+
1]=c>>8;Ck(a)}}else Ba("No RAM allocated")};h.save=function(){var a=new df(this);this.controller&&ef(a,0,this.controller.save());return a.data()};h.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function Bl(a){this.P=a;this.ma=Dl;this.R=El;this.C=Fl;this.A=null}var Cl=-2134900736,Dl=65535,El=2575,Fl=2,Gl=[null,0],Hl=[function(a){return this.controller.Wa(a)},null,null,function(a,b){this.controller.tc(a,b)},null,null];h=Bl.prototype;h.save=function(){return[this.ma,this.C]};
h.restore=function(a){this.tc(0,a[0]&255);this.tc(2,a[1]&255);return!0};h.Wa=function(a){var b=255;2>a?b=a&1?this.R>>8:this.R&255:4>a&&(b=a&1?this.C>>8:this.C&255);return b};h.tc=function(a,b){if(a)2==a&&(this.C=this.C&-256|b);else if(b!=(this.ma&255)){var c=this.P.ja;if(b&1)this.A&&(bc(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=cc(c,917504,131072));var d=cc(c,16646144,131072);bc(c,917504,131072,d,b&2?1:fc)}this.ma=this.ma&-256|b}};h.Ui=function(){return Gl};h.kh=function(){return Hl};
Sa(function(){for(var a=qb(document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Al(d);pb(d,c)}});function Il(a){Xa.call(this,"Keyboard",a,Il,65536);Jl(this,a.model);this.ka=Ia("Mobi");this.qa=Ia("MSIE");sb(this,"mobile keyboard support: "+(this.ka?"true":"false"));this.da=0;this.la=this.gh=!1;this.C=[];this.wa=50;xb(this)}gb(Il);
var Kl=["US83","US84","US101"],X={Cn:1,Dn:3,En:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,yn:65,zn:66,An:67,Fn:68,E:69,Gn:70,Jn:71,Kn:72,Ln:73,Mn:74,Nn:75,On:76,Pn:77,Qn:78,Rn:79,Sn:80,Q:81,Tn:82,Xn:83,bo:84,ho:85,io:86,jo:87,lo:88,mo:89,no:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,oo:97,po:98,ro:99,d:100,e:101,so:102,to:103,uo:104,
vo:105,wo:106,k:107,xo:108,yo:109,n:110,Ao:111,p:112,q:113,r:114,Bo:115,t:116,Do:117,Eo:118,Fo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Ll={};Ll[186]=X[";"];Ll[187]=X["="];Ll[188]=X[","];Ll[189]=X["-"];Ll[190]=X["."];Ll[191]=X["/"];Ll[192]=X["`"];Ll[219]=X["["];Ll[220]=X["\\"];Ll[221]=X["]"];Ll[222]=X["'"];Ll[173]=X["-"];var Ml={};Ml[X["1"]]=X["!"];Ml[X["2"]]=X["@"];Ml[X["3"]]=X["#"];Ml[X["4"]]=X.$;Ml[X["5"]]=X["%"];Ml[X["6"]]=X["^"];Ml[X["7"]]=X["&"];Ml[X["8"]]=X["*"];Ml[X["9"]]=X["("];
Ml[X["0"]]=X[")"];Ml[186]=X[":"];Ml[187]=X["+"];Ml[188]=X["<"];Ml[189]=X._;Ml[190]=X[">"];Ml[191]=X["?"];Ml[192]=X["~"];Ml[219]=X["{"];Ml[220]=X["|"];Ml[221]=X["}"];Ml[222]=X['"'];Ml[173]=X._;Ml[61]=X["+"];Ml[59]=X[":"];
var Nl={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},Ol={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},Pl={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],
h.reset=function(){if(!this.C&&!this.O&&this.R){var a=1024*Ck(this.R);this.A&&a!=this.A&&(ec(this.ja,this.C,this.A),this.P=!1);this.A=a}!this.P&&this.A&&Zb(this.ja,this.C,this.A,1)&&(this.P=!0,this.status(Math.floor(this.A/1024)+"Kb allocated"),"ramCPQ"==this.be&&(this.controller=new Fl(this),Zb(this.ja,Gl,4,4,this.controller)));if(this.P){if(this.ia||lc(this.ja,1138,4660),"ramCPQ"!=this.be&&this.R&&(a=this.R,a.A)){var b=1048576>this.C?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+
1]=c>>8;Gk(a)}}else Ba("No RAM allocated")};h.save=function(){var a=new df(this);this.controller&&ef(a,0,this.controller.save());return a.data()};h.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function Fl(a){this.P=a;this.ma=Hl;this.R=Il;this.C=Jl;this.A=null}var Gl=-2134900736,Hl=65535,Il=2575,Jl=2,Kl=[null,0],Ll=[function(a){return this.controller.Wa(a)},null,null,function(a,b){this.controller.tc(a,b)},null,null];h=Fl.prototype;h.save=function(){return[this.ma,this.C]};
h.restore=function(a){this.tc(0,a[0]&255);this.tc(2,a[1]&255);return!0};h.Wa=function(a){var b=255;2>a?b=a&1?this.R>>8:this.R&255:4>a&&(b=a&1?this.C>>8:this.C&255);return b};h.tc=function(a,b){if(a)2==a&&(this.C=this.C&-256|b);else if(b!=(this.ma&255)){var c=this.P.ja;if(b&1)this.A&&(bc(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=cc(c,917504,131072));var d=cc(c,16646144,131072);bc(c,917504,131072,d,b&2?1:fc)}this.ma=this.ma&-256|b}};h.Ui=function(){return Kl};h.kh=function(){return Ll};
Sa(function(){for(var a=qb(document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new El(d);pb(d,c)}});function Ml(a){Xa.call(this,"Keyboard",a,Ml,65536);Nl(this,a.model);this.ka=Ia("Mobi");this.qa=Ia("MSIE");sb(this,"mobile keyboard support: "+(this.ka?"true":"false"));this.da=0;this.la=this.gh=!1;this.C=[];this.wa=50;xb(this)}gb(Ml);
var Ol=["US83","US84","US101"],X={Cn:1,Dn:3,En:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,yn:65,zn:66,An:67,Fn:68,E:69,Gn:70,Jn:71,Kn:72,Ln:73,Mn:74,Nn:75,On:76,Pn:77,Qn:78,Rn:79,Sn:80,Q:81,Tn:82,Xn:83,bo:84,ho:85,io:86,jo:87,lo:88,mo:89,no:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,oo:97,po:98,ro:99,d:100,e:101,so:102,to:103,uo:104,
vo:105,wo:106,k:107,xo:108,yo:109,n:110,Ao:111,p:112,q:113,r:114,Bo:115,t:116,Do:117,Eo:118,Fo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Pl={};Pl[186]=X[";"];Pl[187]=X["="];Pl[188]=X[","];Pl[189]=X["-"];Pl[190]=X["."];Pl[191]=X["/"];Pl[192]=X["`"];Pl[219]=X["["];Pl[220]=X["\\"];Pl[221]=X["]"];Pl[222]=X["'"];Pl[173]=X["-"];var Ql={};Ql[X["1"]]=X["!"];Ql[X["2"]]=X["@"];Ql[X["3"]]=X["#"];Ql[X["4"]]=X.$;Ql[X["5"]]=X["%"];Ql[X["6"]]=X["^"];Ql[X["7"]]=X["&"];Ql[X["8"]]=X["*"];Ql[X["9"]]=X["("];
Ql[X["0"]]=X[")"];Ql[186]=X[":"];Ql[187]=X["+"];Ql[188]=X["<"];Ql[189]=X._;Ql[190]=X[">"];Ql[191]=X["?"];Ql[192]=X["~"];Ql[219]=X["{"];Ql[220]=X["|"];Ql[221]=X["}"];Ql[222]=X['"'];Ql[173]=X._;Ql[61]=X["+"];Ql[59]=X[":"];
var Rl={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},Sl={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},Tl={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],
enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,
"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},Ql={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Z={1027:1};Z[X["1"]]=2;Z[X["!"]]=10754;Z[X["2"]]=3;Z[X["@"]]=10755;Z[X["3"]]=4;Z[X["#"]]=10756;Z[X["4"]]=5;Z[X.$]=10757;Z[X["5"]]=6;Z[X["%"]]=10758;Z[X["6"]]=7;Z[X["^"]]=10759;Z[X["7"]]=8;Z[X["&"]]=10760;Z[X["8"]]=9;Z[X["*"]]=10761;Z[X["9"]]=10;Z[X["("]]=10762;Z[X["0"]]=11;Z[X[")"]]=10763;Z[X["-"]]=12;Z[X._]=10764;Z[X["="]]=13;Z[X["+"]]=10765;Z[1008]=14;
"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},Ul={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Z={1027:1};Z[X["1"]]=2;Z[X["!"]]=10754;Z[X["2"]]=3;Z[X["@"]]=10755;Z[X["3"]]=4;Z[X["#"]]=10756;Z[X["4"]]=5;Z[X.$]=10757;Z[X["5"]]=6;Z[X["%"]]=10758;Z[X["6"]]=7;Z[X["^"]]=10759;Z[X["7"]]=8;Z[X["&"]]=10760;Z[X["8"]]=9;Z[X["*"]]=10761;Z[X["9"]]=10;Z[X["("]]=10762;Z[X["0"]]=11;Z[X[")"]]=10763;Z[X["-"]]=12;Z[X._]=10764;Z[X["="]]=13;Z[X["+"]]=10765;Z[1008]=14;
Z[1009]=15;Z[113]=16;Z[81]=10768;Z[119]=17;Z[87]=10769;Z[101]=18;Z[69]=10770;Z[114]=19;Z[82]=10771;Z[116]=20;Z[84]=10772;Z[121]=21;Z[89]=10773;Z[117]=22;Z[85]=10774;Z[105]=23;Z[73]=10775;Z[111]=24;Z[79]=10776;Z[112]=25;Z[80]=10777;Z[X["["]]=26;Z[X["{"]]=10778;Z[X["]"]]=27;Z[X["}"]]=10779;Z[13]=28;Z[1017]=29;Z[97]=30;Z[65]=10782;Z[115]=31;Z[83]=10783;Z[100]=32;Z[68]=10784;Z[102]=33;Z[70]=10785;Z[103]=34;Z[71]=10786;Z[104]=35;Z[72]=10787;Z[106]=36;Z[74]=10788;Z[107]=37;Z[75]=10789;Z[108]=38;Z[76]=10790;
Z[X[";"]]=39;Z[X[":"]]=10791;Z[X["'"]]=40;Z[X['"']]=10792;Z[X["`"]]=41;Z[X["~"]]=10793;Z[1016]=42;Z[X["\\"]]=43;Z[X["|"]]=10795;Z[122]=44;Z[90]=10796;Z[120]=45;Z[88]=10797;Z[99]=46;Z[67]=10798;Z[118]=47;Z[86]=10799;Z[98]=48;Z[66]=10800;Z[110]=49;Z[78]=10801;Z[109]=50;Z[77]=10802;Z[X[","]]=51;Z[X["<"]]=10803;Z[X["."]]=52;Z[X[">"]]=10804;Z[X["/"]]=53;Z[X["?"]]=10805;Z[3016]=54;Z[1044]=55;Z[1018]=56;Z[1032]=57;Z[1020]=58;Z[1112]=59;Z[1113]=60;Z[1114]=61;Z[1115]=62;Z[1116]=63;Z[1117]=64;Z[1118]=65;
Z[1119]=66;Z[1120]=67;Z[1121]=68;Z[1144]=69;Z[1145]=70;Z[1036]=71;Z[1038]=72;Z[1033]=73;Z[1109]=74;Z[1037]=75;Z[1101]=76;Z[1039]=77;Z[1107]=78;Z[1035]=79;Z[1040]=80;Z[1034]=81;Z[1045]=82;Z[1046]=83;Z[4027]=84;Z[1122]=87;Z[1123]=88;Z[1091]=91;Z[1093]=93;Z[1224]=91;Z[4003]=7470;Z[4008]=7494;Z[4046]=3677523;h=Il.prototype;
h.Ub=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.xa[f])switch(b){case "kbd":return c.onkeydown=function(a){return Rl(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.O="";var b=!Z[a]||!!(e.xc&128);b||Sl(e,a,!0);return b},c.onkeyup=function(a){return Rl(e,a,!1)},!0;case "caps-lock":return this.xa[f]=c,c.onclick=function(){e.M&&e.M.Vc();Sl(e,1020,!0)},!0;case "num-lock":return this.xa[f]=c,c.onclick=function(){e.M&&e.M.Vc();Sl(e,1144,!0)},!0;case "scroll-lock":return this.xa[f]=
c,c.onclick=function(){e.M&&e.M.Vc();Sl(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==Ol[g]&&"button"==a)return this.xa[f]=c,c.onclick=function(a,b,c){return function(){a.M&&a.M.Vc();Tl(a,c,!0);Sl(a,c,!0)}}(this,g,Ol[g]),!0;if(void 0!==Pl[b])return this.da++,this.xa[f]=c,a=function(a,b,c){return function(){Sl(a,c)}}(this,b,Pl[b]),b=function(a,b,c){return function(){Ul(a,c)}}(this,b,Pl[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0;if(d)return this.xa[f]=c,c.onclick=function(){e.M&&e.M.Vc();d&&!e.O&&(e.O=d,Vl(e,300))},!0}return!1};function Wl(a,b,c){if(a.da){for(var d in Ml)if(b==Ml[d]){b=+d;(d=Ll[d])&&(b=d);break}for(var e in Pl)if((d=Pl[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=Pl[e]==d),d){(a=a.xa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Jb(a,"ChipSet")};
function Jl(a,b){var c=0;a.na=null;b&&(a.na=b.toUpperCase(),c=Kl.indexOf(a.na),0>c&&(c=0));b=Kl[c];a.ua=parseInt(b.substr(2),10)}function rl(a,b){sb(a,"keyboard reset",65792);a.A=[170];a.ia=!0;b&&a.R&&tl(a.R,a.A[0])}function nl(a,b,c){a.W!==c&&(a.W=a.X=c)&&(a.ia=!0);a.Y!==b&&(a.Y=b)&&!a.X&&ul(a,!0);a.Y&&a.X&&(rl(a,!0),a.X=!1)}function ol(a){var b=0;a.A.length&&a.ia&&(b=a.A[0],a.R&&tl(a.R,b));n(a)&&sb(a,"scan code "+ga(b)+" available")}
function ul(a,b){0<a.A.length&&(a.A.shift(),(a.ia=b)&&(a.A.length&&a.R?tl(a.R,a.A[0]):b=!1),n(a)&&sb(a,"scan codes shifted, notify "+(b?"true":"false")))}h.lc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};h.kc=function(a){return a?this.save():!0};h.reset=function(){if(!this.na&&this.R)switch(this.R.na){case bk:case 5160:Jl(this,Kl[0]);break;default:Jl(this,Kl[1])}Xl(this);this.xc=this.P=0;this.A=[];this.ia=!0;this.O=""};
h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.W;c[b]=this.Y;ef(a,0,c);return a.data()};h.restore=function(a){return Xl(this,a[0])};function Xl(a,b){var c=0;void 0===b&&(b=[]);a.W=a.ia=b[c++];a.Y=b[c];return!0}function Vl(a,b){if(0<a.O.length){var c=a.O.charCodeAt(0);10==c&&(c=13);a.O=a.O.substr(1);Sl(a,c,!0)}0<a.O.length&&setTimeout(function(a){return function(){Vl(a,b)}}(a),b)}
function Tl(a,b,c,d){if(Z[b]){var e=Math.floor(b/1E3)&2;if(b=Nl[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.P:a.xc)&b):d||b&255&&(b=255);if(c){a.P&=~b;d&&(a.P|=b);c=b;var f,g;for(g in Ql)d="led-"+g,e=Ql[g],c&&c!=e||!(f=a.xa[d])||(f.style.backgroundColor=a.P&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1}
function Sl(a,b,c){if(Z[b]&&a.M&&a.M.ra.Ob){Nl[b]&&a.C.length&&0<a.C[0].Jd&&(a.C[0].Jd=0);for(var d,e=0;e<a.C.length;e++)if(d=a.C[e],d.Le==b){if(!c||0<=d.Jd){e=-1;break}0<e&&(0<a.C[0].Jd&&(a.C[0].Jd=0),a.C.splice(e,1));break}0>e||(e==a.C.length&&(d={},d.Le=b,d.xc=a.xc,Wl(a,b,!0),e++),0<e&&a.C.splice(0,0,d),d.Cf=!0,d.Jd=c?-1:Nl[b]?0:1,Yl(a,d))}}
function Ul(a,b,c){if(!Z[b]||!(c||a.M&&a.M.ra.Ob))return!1;for(var d=!1,e=0;e<a.C.length;e++){var f=a.C[e];if(f.Le==b||f.Le==Ml[b]){a.C.splice(e,1);f.sk&&clearTimeout(f.sk);f.Cf&&!c&&Zl(a,f.Le,!1);Wl(a,b,!1);d=!0;break}}!a.C.length&&a.la&&(Tl(a,1020),a.la=!1);return d}function Yl(a,b){if(!a.M||!a.M.ra.Ob)Ul(a,b.Le,!0);else if(Zl(a,b.Le,b.Cf)&&b.Jd){var c;if(0>b.Jd){if(!b.Cf){Ul(a,b.Le);return}b.Cf=!1;c=a.wa}else c=1==b.Jd++?500:100;b.sk=setTimeout(function(a){return function(){Yl(a,b)}}(a),c)}}
function $l(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=Ml[b])d=a}else if(a=Ll[b])d=a;return d}h.Hg=function(a){a||(this.xc&=-256)};
function Rl(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,k=$l(a,g,!0);a.gh&&k==X["`"]&&(g=k=27);if(Z[g+1E3])if(k+=1E3,2==b.location&&(k+=2E3),Tl(a,k,!1,c)){if(20==g||144==g||145==g)a.qa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var q=0;q<a.C.length;q++){var r=a.C[q];r.Cf=!1;0<r.Jd&&(r.Jd=0)}}else 8==g&&8==(a.xc&40)&&(k=4008),d=!1;else if(Z[k]&&a.xc&60&&(d=!1),d&&c||a.xc&192)f=!0;d||b.preventDefault();f||a.ka&&d||(c?Sl(a,k,e):Ul(a,k)||(b=$l(a,g,!1),b!=k&&Ul(a,b)));return d}
function Zl(a,b,c){var d=!1;Tl(a,b,!0,c);var e=Z[b]||Z[b+1E3];if(void 0!==e){14==e&&40==(a.xc&40)&&(e=83);var d=[],f=e&255;if(83<f&&83==a.ua)return!1;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,k=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==k?a.P&3||a.P&512&&b||(g=k):29==k?a.P&12||(g=k):56==k?a.P&48||(g=k):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.A&&(20>e.A.length?(n(e)&&sb(e,"scan code "+ga(f)+" buffered"),e.A.push(f),
1==e.A.length&&e.R&&tl(e.R,f)):(20==e.A.length&&e.A.push(255),sb(e,"scan code buffer overflow")));d=!0}return d}Sa(function(){for(var a=qb(document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Il(d);pb(d,c)}});
function am(a,b,c,d,e){Xa.call(this,"Video",a,am,262144);this.na=a.model;this.nb=bm[this.na]||cm;this.Ed=a.memory||0;this.dg=a.switches;this.Ea=a.mode;if(void 0===this.Ea||void 0===dm[this.Ea])this.Ea=em;this.jd=a.charCols;this.je=a.charRows;if(void 0===this.jd||void 0===this.je)this.jd=dm[this.Ea][0],this.je=dm[this.Ea][1];this.Ba=a.screenWidth;this.Ma=a.screenHeight;this.Sg=a.scale;this.Rg=12<=Math.round(this.Ba/this.jd);this.wa=b;this.qa=c;this.ia=(this.Ck=d)||b||null;this.eg=a.touchScreen;this.ke=
fm;this.Y=null;this.Qg=a.autoLock;this.sb=this.gc=0;this.Va=[];this.Ja=Array(this.nb==zl?256:16);this.xb=!1;var f=this;this.of=Ia("Gecko/");b=["","moz","webkit","ms"];if(this.la=e)if(this.la.Ve=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.la.Ve){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){gm(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(){gm(f,null)},!1);break}}this.ia&&(this.ia.onfocus=function(){return f.Hg(!0)},this.ia.onblur=function(){return f.Hg(!1)},this.ia.ze=this.ia.requestPointerLock||this.ia.mozRequestPointerLock||this.ia.webkitRequestPointerLock,this.ia.tk=this.ia.exitPointerLock||this.ia.mozExitPointerLock||this.ia.webkitExitPointerLock,this.ia.ze&&(e=function(){f.Tf(document.pointerLockElement===
f.ia||document.mozPointerLockElement===f.ia||document.webkitPointerLockElement===f.ia)},"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"!=ka(a)&&(a=Aa()+"/api/v1/dump?file="+a+"&format=bytes"),za(a,!0,null,this,this.Hk)}gb(am);
var cm=1,zl=7,bm={mda:1,cga:3,ega:5,vga:7},em=7,hm={2:{Cg:15700,Bg:208,Ig:85,Jg:96},3:{Cg:18432,Bg:364,Ig:85,Jg:96},4:{Cg:21850,Bg:364,Ig:85,Jg:96},7:{Cg:16700,Bg:480,Ig:85,Jg:83}},im={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]},dm=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];dm[em]=[80,25,1,0,1];dm[13]=[320,200,8];dm[14]=[640,200,8];dm[15]=[640,350,8];dm[16]=[640,350,8];
dm[17]=[640,480,8];dm[18]=[640,480,8];dm[19]=[320,200,1];dm[20]=[320,240,4];dm[21]=[320,400,4];dm[0]=dm[1];dm[2]=dm[3];dm[5]=dm[4];
var jm=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],km=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],lm=[[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]],mm=[2,4,6],nm=[3,5,7],om=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],pm=[0,255,65280,65535,16711680,16711935,16776960,
16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],qm=[0];qm[128]=1;qm[32768]=2;qm[32896]=3;qm[8388608]=4;qm[8388736]=5;qm[8421376]=6;qm[8421504]=7;qm[-2147483648]=8;qm[-2147483520]=9;qm[-2147450880]=10;qm[-2147450752]=11;qm[-2139095040]=12;qm[-2139094912]=13;qm[-2139062272]=14;qm[-2139062144]=15;
function rm(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=sm[b],f=a.Ha||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?tm:um)];this.ma=a.ma;this.type=e[0];this.port=e[1];this.nb=b;this.sb=e[2];this.gc=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.sb&&(this.gc=Math.min(this.Ed>>2,32768));this.Ic=c[0];this.fd=c[1];this.qf=c[2];this.sa=c[3];this.Ac=c[4]&255;this.Kg=c[4]>>8&255;this.zb=c[5];this.rh=tm;this.kg=vm;if(5<=b){this.rh=um;this.kg=wm;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.sb,this.gc,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.We=b[0];this.Kd=b[1];this.Uc=b[2];this.Wg=xm;this.Ng=b[3];this.sf=b[4];this.ag=b[5];this.$d=b[6];this.Ie=b[7];this.Yg=ym;this.ik=b[8];this.jk=b[9];this.Zd=b[10];this.Yd=b[11];this.Xg=zm;this.Lb=b[12];d=b[13];"number"==typeof d&&(d=[this.sb,this.gc,d]);this.sb=d[0];this.gc=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length<d){for(var e=this.sd,g=0,
k=Array(d),q=0;q<e.length-1;){for(var r=e[q++],x=e[q++];r--;)k[g]=x,g+=2;g==d&&(g=1)}this.sd=k}(d=b[15])&&(d&-2147483648?d&=2147483647:d=Am[d&65280]|Am[d&255]);this.Og(d);this.hi=b[16];this.wb=b[17];this.ed=b[18];this.Qb=b[19];this.Sf=b[20];this.Vd=b[21];this.oe=b[22];this.sh=b[23];this.th=b[24];this.Vf=b[25];this.ii=this.nf=0;this.nb==zl&&(this.pi=b[26],this.oi=b[27],this.od=b[28],this.Kc=b[29],this.Lg=b[30],this.rf=b[31])}f=hm[f]||hm[3];this.uh=a.M.ba.Id/f.Cg|0;this.om=this.uh*f.Ig/100|0;this.xh=
Z[1119]=66;Z[1120]=67;Z[1121]=68;Z[1144]=69;Z[1145]=70;Z[1036]=71;Z[1038]=72;Z[1033]=73;Z[1109]=74;Z[1037]=75;Z[1101]=76;Z[1039]=77;Z[1107]=78;Z[1035]=79;Z[1040]=80;Z[1034]=81;Z[1045]=82;Z[1046]=83;Z[4027]=84;Z[1122]=87;Z[1123]=88;Z[1091]=91;Z[1093]=93;Z[1224]=91;Z[4003]=7470;Z[4008]=7494;Z[4046]=3677523;h=Ml.prototype;
h.Ub=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.xa[f])switch(b){case "kbd":return c.onkeydown=function(a){return Vl(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.O="";var b=!Z[a]||!!(e.xc&128);b||Wl(e,a,!0);return b},c.onkeyup=function(a){return Vl(e,a,!1)},!0;case "caps-lock":return this.xa[f]=c,c.onclick=function(){e.M&&e.M.Vc();Wl(e,1020,!0)},!0;case "num-lock":return this.xa[f]=c,c.onclick=function(){e.M&&e.M.Vc();Wl(e,1144,!0)},!0;case "scroll-lock":return this.xa[f]=
c,c.onclick=function(){e.M&&e.M.Vc();Wl(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==Sl[g]&&"button"==a)return this.xa[f]=c,c.onclick=function(a,b,c){return function(){a.M&&a.M.Vc();Xl(a,c,!0);Wl(a,c,!0)}}(this,g,Sl[g]),!0;if(void 0!==Tl[b])return this.da++,this.xa[f]=c,a=function(a,b,c){return function(){Wl(a,c)}}(this,b,Tl[b]),b=function(a,b,c){return function(){Yl(a,c)}}(this,b,Tl[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0;if(d)return this.xa[f]=c,c.onclick=function(){e.M&&e.M.Vc();d&&!e.O&&(e.O=d,Zl(e,300))},!0}return!1};function $l(a,b,c){if(a.da){for(var d in Ql)if(b==Ql[d]){b=+d;(d=Pl[d])&&(b=d);break}for(var e in Tl)if((d=Tl[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=Tl[e]==d),d){(a=a.xa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Jb(a,"ChipSet")};
function Nl(a,b){var c=0;a.na=null;b&&(a.na=b.toUpperCase(),c=Ol.indexOf(a.na),0>c&&(c=0));b=Ol[c];a.ua=parseInt(b.substr(2),10)}function vl(a,b){sb(a,"keyboard reset",65792);a.A=[170];a.ia=!0;b&&a.R&&xl(a.R,a.A[0])}function rl(a,b,c){a.W!==c&&(a.W=a.X=c)&&(a.ia=!0);a.Y!==b&&(a.Y=b)&&!a.X&&yl(a,!0);a.Y&&a.X&&(vl(a,!0),a.X=!1)}function sl(a){var b=0;a.A.length&&a.ia&&(b=a.A[0],a.R&&xl(a.R,b));n(a)&&sb(a,"scan code "+ga(b)+" available")}
function yl(a,b){0<a.A.length&&(a.A.shift(),(a.ia=b)&&(a.A.length&&a.R?xl(a.R,a.A[0]):b=!1),n(a)&&sb(a,"scan codes shifted, notify "+(b?"true":"false")))}h.lc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};h.kc=function(a){return a?this.save():!0};h.reset=function(){if(!this.na&&this.R)switch(this.R.na){case fk:case 5160:Nl(this,Ol[0]);break;default:Nl(this,Ol[1])}am(this);this.xc=this.P=0;this.A=[];this.ia=!0;this.O=""};
h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.W;c[b]=this.Y;ef(a,0,c);return a.data()};h.restore=function(a){return am(this,a[0])};function am(a,b){var c=0;void 0===b&&(b=[]);a.W=a.ia=b[c++];a.Y=b[c];return!0}function Zl(a,b){if(0<a.O.length){var c=a.O.charCodeAt(0);10==c&&(c=13);a.O=a.O.substr(1);Wl(a,c,!0)}0<a.O.length&&setTimeout(function(a){return function(){Zl(a,b)}}(a),b)}
function Xl(a,b,c,d){if(Z[b]){var e=Math.floor(b/1E3)&2;if(b=Rl[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.P:a.xc)&b):d||b&255&&(b=255);if(c){a.P&=~b;d&&(a.P|=b);c=b;var f,g;for(g in Ul)d="led-"+g,e=Ul[g],c&&c!=e||!(f=a.xa[d])||(f.style.backgroundColor=a.P&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1}
function Wl(a,b,c){if(Z[b]&&a.M&&a.M.ra.Ob){Rl[b]&&a.C.length&&0<a.C[0].Jd&&(a.C[0].Jd=0);for(var d,e=0;e<a.C.length;e++)if(d=a.C[e],d.Le==b){if(!c||0<=d.Jd){e=-1;break}0<e&&(0<a.C[0].Jd&&(a.C[0].Jd=0),a.C.splice(e,1));break}0>e||(e==a.C.length&&(d={},d.Le=b,d.xc=a.xc,$l(a,b,!0),e++),0<e&&a.C.splice(0,0,d),d.Cf=!0,d.Jd=c?-1:Rl[b]?0:1,bm(a,d))}}
function Yl(a,b,c){if(!Z[b]||!(c||a.M&&a.M.ra.Ob))return!1;for(var d=!1,e=0;e<a.C.length;e++){var f=a.C[e];if(f.Le==b||f.Le==Ql[b]){a.C.splice(e,1);f.sk&&clearTimeout(f.sk);f.Cf&&!c&&cm(a,f.Le,!1);$l(a,b,!1);d=!0;break}}!a.C.length&&a.la&&(Xl(a,1020),a.la=!1);return d}function bm(a,b){if(!a.M||!a.M.ra.Ob)Yl(a,b.Le,!0);else if(cm(a,b.Le,b.Cf)&&b.Jd){var c;if(0>b.Jd){if(!b.Cf){Yl(a,b.Le);return}b.Cf=!1;c=a.wa}else c=1==b.Jd++?500:100;b.sk=setTimeout(function(a){return function(){bm(a,b)}}(a),c)}}
function dm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=Ql[b])d=a}else if(a=Pl[b])d=a;return d}h.Hg=function(a){a||(this.xc&=-256)};
function Vl(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,k=dm(a,g,!0);a.gh&&k==X["`"]&&(g=k=27);if(Z[g+1E3])if(k+=1E3,2==b.location&&(k+=2E3),Xl(a,k,!1,c)){if(20==g||144==g||145==g)a.qa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var q=0;q<a.C.length;q++){var r=a.C[q];r.Cf=!1;0<r.Jd&&(r.Jd=0)}}else 8==g&&8==(a.xc&40)&&(k=4008),d=!1;else if(Z[k]&&a.xc&60&&(d=!1),d&&c||a.xc&192)f=!0;d||b.preventDefault();f||a.ka&&d||(c?Wl(a,k,e):Yl(a,k)||(b=dm(a,g,!1),b!=k&&Yl(a,b)));return d}
function cm(a,b,c){var d=!1;Xl(a,b,!0,c);var e=Z[b]||Z[b+1E3];if(void 0!==e){14==e&&40==(a.xc&40)&&(e=83);var d=[],f=e&255;if(83<f&&83==a.ua)return!1;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,k=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==k?a.P&3||a.P&512&&b||(g=k):29==k?a.P&12||(g=k):56==k?a.P&48||(g=k):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.A&&(20>e.A.length?(n(e)&&sb(e,"scan code "+ga(f)+" buffered"),e.A.push(f),
1==e.A.length&&e.R&&xl(e.R,f)):(20==e.A.length&&e.A.push(255),sb(e,"scan code buffer overflow")));d=!0}return d}Sa(function(){for(var a=qb(document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Ml(d);pb(d,c)}});
function em(a,b,c,d,e){Xa.call(this,"Video",a,em,262144);this.na=a.model;this.nb=fm[this.na]||gm;this.Ed=a.memory||0;this.dg=a.switches;this.Ea=a.mode;if(void 0===this.Ea||void 0===hm[this.Ea])this.Ea=im;this.jd=a.charCols;this.je=a.charRows;if(void 0===this.jd||void 0===this.je)this.jd=hm[this.Ea][0],this.je=hm[this.Ea][1];this.Ba=a.screenWidth;this.Ma=a.screenHeight;this.Sg=a.scale;this.Rg=12<=Math.round(this.Ba/this.jd);this.wa=b;this.qa=c;this.ia=(this.Ck=d)||b||null;this.eg=a.touchScreen;this.ke=
jm;this.Y=null;this.Qg=a.autoLock;this.sb=this.gc=0;this.Va=[];this.Ja=Array(this.nb==Dl?256:16);this.xb=!1;var f=this;this.of=Ia("Gecko/");b=["","moz","webkit","ms"];if(this.la=e)if(this.la.Ve=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.la.Ve){for(e=0;e<b.length;e++)if(c=b[e]+"fullscreenchange","on"+c in document){document.addEventListener(c,function(){km(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(){km(f,null)},!1);break}}this.ia&&(this.ia.onfocus=function(){return f.Hg(!0)},this.ia.onblur=function(){return f.Hg(!1)},this.ia.ze=this.ia.requestPointerLock||this.ia.mozRequestPointerLock||this.ia.webkitRequestPointerLock,this.ia.tk=this.ia.exitPointerLock||this.ia.mozExitPointerLock||this.ia.webkitExitPointerLock,this.ia.ze&&(e=function(){f.Tf(document.pointerLockElement===
f.ia||document.mozPointerLockElement===f.ia||document.webkitPointerLockElement===f.ia)},"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"!=ka(a)&&(a=Aa()+"/api/v1/dump?file="+a+"&format=bytes"),za(a,!0,null,this,this.Hk)}gb(em);
var gm=1,Dl=7,fm={mda:1,cga:3,ega:5,vga:7},im=7,lm={2:{Cg:15700,Bg:208,Ig:85,Jg:96},3:{Cg:18432,Bg:364,Ig:85,Jg:96},4:{Cg:21850,Bg:364,Ig:85,Jg:96},7:{Cg:16700,Bg:480,Ig:85,Jg:83}},mm={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]},hm=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];hm[im]=[80,25,1,0,1];hm[13]=[320,200,8];hm[14]=[640,200,8];hm[15]=[640,350,8];hm[16]=[640,350,8];
hm[17]=[640,480,8];hm[18]=[640,480,8];hm[19]=[320,200,1];hm[20]=[320,240,4];hm[21]=[320,400,4];hm[0]=hm[1];hm[2]=hm[3];hm[5]=hm[4];
var nm=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],om=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],pm=[[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]],qm=[2,4,6],rm=[3,5,7],sm=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],tm=[0,255,65280,65535,16711680,16711935,16776960,
16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],um=[0];um[128]=1;um[32768]=2;um[32896]=3;um[8388608]=4;um[8388736]=5;um[8421376]=6;um[8421504]=7;um[-2147483648]=8;um[-2147483520]=9;um[-2147450880]=10;um[-2147450752]=11;um[-2139095040]=12;um[-2139094912]=13;um[-2139062272]=14;um[-2139062144]=15;
function vm(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=wm[b],f=a.Ha||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(5>b?xm:ym)];this.ma=a.ma;this.type=e[0];this.port=e[1];this.nb=b;this.sb=e[2];this.gc=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.sb&&(this.gc=Math.min(this.Ed>>2,32768));this.Ic=c[0];this.fd=c[1];this.qf=c[2];this.sa=c[3];this.Ac=c[4]&255;this.Kg=c[4]>>8&255;this.zb=c[5];this.rh=xm;this.kg=zm;if(5<=b){this.rh=ym;this.kg=Am;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.sb,this.gc,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.We=b[0];this.Kd=b[1];this.Uc=b[2];this.Wg=Bm;this.Ng=b[3];this.sf=b[4];this.ag=b[5];this.$d=b[6];this.Ie=b[7];this.Yg=Cm;this.ik=b[8];this.jk=b[9];this.Zd=b[10];this.Yd=b[11];this.Xg=Dm;this.Lb=b[12];d=b[13];"number"==typeof d&&(d=[this.sb,this.gc,d]);this.sb=d[0];this.gc=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length<d){for(var e=this.sd,g=0,
k=Array(d),q=0;q<e.length-1;){for(var r=e[q++],x=e[q++];r--;)k[g]=x,g+=2;g==d&&(g=1)}this.sd=k}(d=b[15])&&(d&-2147483648?d&=2147483647:d=Em[d&65280]|Em[d&255]);this.Og(d);this.hi=b[16];this.wb=b[17];this.ed=b[18];this.Qb=b[19];this.Sf=b[20];this.Vd=b[21];this.oe=b[22];this.sh=b[23];this.th=b[24];this.Vf=b[25];this.ii=this.nf=0;this.nb==Dl&&(this.pi=b[26],this.oi=b[27],this.od=b[28],this.Kc=b[29],this.Lg=b[30],this.rf=b[31])}f=lm[f]||lm[3];this.uh=a.M.ba.Id/f.Cg|0;this.om=this.uh*f.Ig/100|0;this.xh=
this.uh*f.Bg|0;this.qm=this.xh*f.Jg/100|0;this.zh=c[7]||0}}
var tm=18,um=25,vm="HTOTAL HDISP HSYNC_POS HSYNC_WIDTH VTOTAL VTOTAL_ADJ VDISP VSYNC_POS INTERLACE_POS MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),wm="HTOTAL HDISP_END HBLANK_START HBLANK_END HRETRACE_START HRETRACE_END VTOTAL OVERFLOW PRESET_SCAN MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO VRETRACE_START VRETRACE_END VDISP_END OFFSET UNDERLINE VBLANK_START VBLANK_END MODE_CTRL LINE_COMPARE".split(" "),xm=
"PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVERSCAN PLANES HPAN".split(" "),ym=["RESET","CLOCKING","MAPMASK","CHARMAP","MEMMODE"],zm="SRESET ESRESET COLORCMP DATAROT READMAP MODE MISC COLORDC BITMASK".split(" "),Am=[,,1024,5120];Am[16]=1280;Am[512]=0;Am[1024]=32;Am[1536]=96;Am[2560]=160;Am[3584]=224;Am[768]=16;Am[4096]=1;Am[8192]=2;Am[24576]=98;Am[40960]=162;Am[57344]=226;var Bm=[];
Bm[1024]=function(a){a+=this.R;return(this.controller.Lb=this.ha[a])>>this.controller.hi&255};Bm[17408]=function(a){return(this.controller.Lb=this.ha[(a&-4)+this.R])>>((a&3)<<3)&255};Bm[5120]=function(a){a+=this.R;var b=this.controller.Lb=this.ha[a&-2];return(a&1?b>>8:b)&255};Bm[1280]=function(a){a+=this.R;a=this.controller.Lb=this.ha[a];for(var b=this.controller.th,c=this.controller.sh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d};
Bm[0]=function(a,b){var c=a+this.R,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Bm[32]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Bm[96]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d&=this.controller.Lb;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Bm[160]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d|=this.controller.Lb;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Bm[224]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d^=this.controller.Lb;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};Bm[4]=function(a,b){var c=(a&-4)+this.R,d=(a&3)<<3,d=b<<d&this.controller.wb|this.ha[c]&~(255<<d&this.controller.wb);this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Bm[16]=function(a,b){a+=this.R;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controller.Qb|this.controller.Lb&~this.controller.Qb;var e=this.controller.wb&(d==a?16711935:-16711936);c=c&e|this.ha[d]&~e;this.ha[d]!=c&&(this.ha[d]=c,this.ab=!0)};Bm[1]=function(a){a=a+this.R;var b=this.ha[a]&~this.controller.wb|this.controller.Lb&this.controller.wb;this.ha[a]!=b&&(this.ha[a]=b,this.ab=!0)};
Bm[17]=function(a){a+=this.R;var b=a&-2;a=this.controller.wb&(b==a?16711935:-16711936);a=this.ha[b]&~a|this.controller.Lb&a;this.ha[b]!=a&&(this.ha[b]=a,this.ab=!0)};Bm[2]=function(a,b){var c=a+this.R,d=pm[b&15],d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb,d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Bm[98]=function(a,b){var c=a+this.R,d=pm[b&15],d=d&this.controller.Lb,d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb,d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};Bm[162]=function(a,b){var c=a+this.R,d=pm[b&15],d=d|this.controller.Lb,d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb,d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Bm[226]=function(a,b){var c=a+this.R,d=pm[b&15],d=d^this.controller.Lb,d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb,d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};Bm[3]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Qb;d=this.controller.Sf&d|this.controller.Lb&~d;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
function Cm(a){var b=[];if(void 0!==a.nb){b[0]=a.Ic;b[1]=a.fd;b[2]=a.qf;b[3]=a.sa;b[4]=a.Ac|a.Kg<<8;b[5]=a.zb;if(5<=a.nb){var c=[];c[0]=a.We;c[1]=a.Kd;c[2]=a.Uc;c[3]=a.Ng;c[4]=a.sf;c[5]=a.ag;c[6]=a.$d;c[7]=a.Ie;c[8]=a.ik;c[9]=a.jk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Lb;c[13]=[a.sb,a.gc,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var k=g;k<d.length;){for(var q=d[k],r=k+2;r<d.length&&d[r]===q;)r+=2;f[e++]=r-k>>1;f[e++]=q;k=r}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.wg|-2147483648;c[16]=a.hi;c[17]=a.wb;c[18]=a.ed;c[19]=a.Qb;c[20]=a.Sf;c[21]=a.Vd;c[22]=a.oe;c[23]=a.sh;c[24]=a.th;c[25]=a.Vf;a.nb==zl&&(c[26]=a.pi,c[27]=a.oi,c[28]=a.od,c[29]=a.Kc,c[30]=a.Lg,c[31]=a.rf);b[6]=c}b[7]=a.zh}return b}function Dm(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++)g&&(g+="\n"),g+=b+"["+ga(f)+"]: "+oa(e[f],19)+ga(d[f])+(f===c?"*":"");a.ma.U(g)}else a.ma.U(b+": "+ga(c))}rm.prototype.Ui=function(a){return[this.sd,a-this.sb]};rm.prototype.kh=function(){return this.A};
rm.prototype.Og=function(a){if(null!=a&&a!=this.wg){var b=a&65280,c=Bm[b];c||b&4096&&(c=Bm[4096]);var b=a&255,d=Bm[b];d||b&16&&(d=Bm[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.wg=a}};var sm=[];sm[cm]=["MDA",948,720896,4096,0,3];sm[3]=["CGA",980,753664,16384,0,2];sm[5]=["EGA",980,753664,16384,65536,4];sm[zl]=["VGA",980,753664,16384,262144,7];var fm=0;h=am.prototype;
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;3!=bm[this.na]&&(nc(b,this,Em),rc(b,this,Fm));bm[this.na]!=cm&&(nc(b,this,Gm),rc(b,this,Hm));5<=this.nb&&(nc(b,this,Im),rc(b,this,Jm));this.nb==zl&&(nc(b,this,Km),rc(b,this,Lm));if(d){var e=this;qk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.sd){var c,d,f,B=!1,y=8,J=8,U=-1,F=b.video.O>>3;for(c=0;c<a.length;c++){var O=a[c];if(c){var V=O.charAt(0);d=ca(O.substr(1));switch(V){case "l":y=d;break;case "n":1<=d&&8>=d&&(J=d,B=!0);break;case "p":0<=
d&&3>=d&&(U=d);break;case "w":d<F&&(F=d);break;default:b.ma.U("unrecognized argument: "+O)}}else f=ca(O)}void 0===f?f=b.C||0:f>=b.sb&&(f-=b.sb);a="";for(c=0;c<y;c++){O=l(b.sb+f)+":";for(d=0;d<J&&f<b.sd.length;d++)V=b.sd[f++],O+=" "+(0>U?l(V):ea(V>>(U<<3),8));B&&(f+=F-J);a&&(a+="\n");a+=O}a&&b.ma.U(a);b.C=f}else b.ma.U("no buffer")}else e.ma.U("BIOSMODE: "+ga(e.Qa)),b=e.C,Dm(b,"CRTC",b.Ac,b.zb,b.kg),5<=b.nb&&(Dm(b," GRC",b.Zd,b.Yd,b.Xg),Dm(b," SEQ",b.$d,b.Ie,b.Yg),Dm(b," ATC",b.Kd,b.Uc,b.Wg),Dm(b,
" ATCINDX",b.Kd),b.ma.U(" ATCDATA: "+b.We),Dm(b," FEAT",b.ag),Dm(b," MISC",b.sf),Dm(b," STATUS0",b.Ng)),Dm(b," STATUS1",b.sa),b.nb!=cm&&3!=b.nb||Dm(b," MODEREG",b.fd),3==b.nb&&Dm(b," COLOR",b.qf),5<=b.nb&&(b.ma.U(" LATCHES: 0x"+l(b.Lb)),b.ma.U(" ACCESS: "+ia(b.wg)),b.ma.U("Use 'dump video [addr]' to dump video memory"));else e.ma.U("no active video card")})}if((this.P=Jb(a,"Keyboard"))&&this.wa){for(var f in this.xa)0<f.indexOf("lock")&&this.P.Ub("led",f,this.xa[f]);this.P.Ub(this.Ck?
"textarea":"canvas","kbd",this.ia)}this.Wc=9;(this.R=Jb(a,"ChipSet"))&&this.dg&&5==this.nb&&(this.Wc=dk(this.dg,this.Wc));"mouse"==this.eg?(this.Y=Jb(a,"Mouse"))&&Mm(this,2):"keygrid"==this.eg&&this.P&&Mm(this,1)};
var xm=18,ym=25,zm="HTOTAL HDISP HSYNC_POS HSYNC_WIDTH VTOTAL VTOTAL_ADJ VDISP VSYNC_POS INTERLACE_POS MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Am="HTOTAL HDISP_END HBLANK_START HBLANK_END HRETRACE_START HRETRACE_END VTOTAL OVERFLOW PRESET_SCAN MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO VRETRACE_START VRETRACE_END VDISP_END OFFSET UNDERLINE VBLANK_START VBLANK_END MODE_CTRL LINE_COMPARE".split(" "),Bm=
"PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVERSCAN PLANES HPAN".split(" "),Cm=["RESET","CLOCKING","MAPMASK","CHARMAP","MEMMODE"],Dm="SRESET ESRESET COLORCMP DATAROT READMAP MODE MISC COLORDC BITMASK".split(" "),Em=[,,1024,5120];Em[16]=1280;Em[512]=0;Em[1024]=32;Em[1536]=96;Em[2560]=160;Em[3584]=224;Em[768]=16;Em[4096]=1;Em[8192]=2;Em[24576]=98;Em[40960]=162;Em[57344]=226;var Fm=[];
Fm[1024]=function(a){a+=this.R;return(this.controller.Lb=this.ha[a])>>this.controller.hi&255};Fm[17408]=function(a){return(this.controller.Lb=this.ha[(a&-4)+this.R])>>((a&3)<<3)&255};Fm[5120]=function(a){a+=this.R;var b=this.controller.Lb=this.ha[a&-2];return(a&1?b>>8:b)&255};Fm[1280]=function(a){a+=this.R;a=this.controller.Lb=this.ha[a];for(var b=this.controller.th,c=this.controller.sh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d};
Fm[0]=function(a,b){var c=a+this.R,d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Fm[32]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Fm[96]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d&=this.controller.Lb;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Fm[160]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d|=this.controller.Lb;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Fm[224]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Vd|this.controller.oe;d^=this.controller.Lb;d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};Fm[4]=function(a,b){var c=(a&-4)+this.R,d=(a&3)<<3,d=b<<d&this.controller.wb|this.ha[c]&~(255<<d&this.controller.wb);this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Fm[16]=function(a,b){a+=this.R;var c,d=a&-2;c=(b|b<<8|b<<16|b<<24)&this.controller.Qb|this.controller.Lb&~this.controller.Qb;var e=this.controller.wb&(d==a?16711935:-16711936);c=c&e|this.ha[d]&~e;this.ha[d]!=c&&(this.ha[d]=c,this.ab=!0)};Fm[1]=function(a){a=a+this.R;var b=this.ha[a]&~this.controller.wb|this.controller.Lb&this.controller.wb;this.ha[a]!=b&&(this.ha[a]=b,this.ab=!0)};
Fm[17]=function(a){a+=this.R;var b=a&-2;a=this.controller.wb&(b==a?16711935:-16711936);a=this.ha[b]&~a|this.controller.Lb&a;this.ha[b]!=a&&(this.ha[b]=a,this.ab=!0)};Fm[2]=function(a,b){var c=a+this.R,d=tm[b&15],d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb,d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Fm[98]=function(a,b){var c=a+this.R,d=tm[b&15],d=d&this.controller.Lb,d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb,d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};Fm[162]=function(a,b){var c=a+this.R,d=tm[b&15],d=d|this.controller.Lb,d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb,d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
Fm[226]=function(a,b){var c=a+this.R,d=tm[b&15],d=d^this.controller.Lb,d=d&this.controller.Qb|this.controller.Lb&~this.controller.Qb,d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};Fm[3]=function(a,b){var c=a+this.R;b=b>>this.controller.ed|b<<8-this.controller.ed&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Qb;d=this.controller.Sf&d|this.controller.Lb&~d;d=d&this.controller.wb|this.ha[c]&~this.controller.wb;this.ha[c]!=d&&(this.ha[c]=d,this.ab=!0)};
function Gm(a){var b=[];if(void 0!==a.nb){b[0]=a.Ic;b[1]=a.fd;b[2]=a.qf;b[3]=a.sa;b[4]=a.Ac|a.Kg<<8;b[5]=a.zb;if(5<=a.nb){var c=[];c[0]=a.We;c[1]=a.Kd;c[2]=a.Uc;c[3]=a.Ng;c[4]=a.sf;c[5]=a.ag;c[6]=a.$d;c[7]=a.Ie;c[8]=a.ik;c[9]=a.jk;c[10]=a.Zd;c[11]=a.Yd;c[12]=a.Lb;c[13]=[a.sb,a.gc,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var k=g;k<d.length;){for(var q=d[k],r=k+2;r<d.length&&d[r]===q;)r+=2;f[e++]=r-k>>1;f[e++]=q;k=r}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.wg|-2147483648;c[16]=a.hi;c[17]=a.wb;c[18]=a.ed;c[19]=a.Qb;c[20]=a.Sf;c[21]=a.Vd;c[22]=a.oe;c[23]=a.sh;c[24]=a.th;c[25]=a.Vf;a.nb==Dl&&(c[26]=a.pi,c[27]=a.oi,c[28]=a.od,c[29]=a.Kc,c[30]=a.Lg,c[31]=a.rf);b[6]=c}b[7]=a.zh}return b}function Hm(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++)g&&(g+="\n"),g+=b+"["+ga(f)+"]: "+pa(e[f],19)+ga(d[f])+(f===c?"*":"");a.ma.U(g)}else a.ma.U(b+": "+ga(c))}vm.prototype.Ui=function(a){return[this.sd,a-this.sb]};vm.prototype.kh=function(){return this.A};
vm.prototype.Og=function(a){if(null!=a&&a!=this.wg){var b=a&65280,c=Fm[b];c||b&4096&&(c=Fm[4096]);var b=a&255,d=Fm[b];d||b&16&&(d=Fm[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.wg=a}};var wm=[];wm[gm]=["MDA",948,720896,4096,0,3];wm[3]=["CGA",980,753664,16384,0,2];wm[5]=["EGA",980,753664,16384,65536,4];wm[Dl]=["VGA",980,753664,16384,262144,7];var jm=0;h=em.prototype;
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;3!=fm[this.na]&&(nc(b,this,Im),rc(b,this,Jm));fm[this.na]!=gm&&(nc(b,this,Km),rc(b,this,Lm));5<=this.nb&&(nc(b,this,Mm),rc(b,this,Nm));this.nb==Dl&&(nc(b,this,Om),rc(b,this,Pm));if(d){var e=this;uk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.sd){var c,d,f,B=!1,y=8,J=8,U=-1,F=b.video.O>>3;for(c=0;c<a.length;c++){var O=a[c];if(c){var V=O.charAt(0);d=ca(O.substr(1));switch(V){case "l":y=d;break;case "n":1<=d&&8>=d&&(J=d,B=!0);break;case "p":0<=
d&&3>=d&&(U=d);break;case "w":d<F&&(F=d);break;default:b.ma.U("unrecognized argument: "+O)}}else f=ca(O)}void 0===f?f=b.C||0:f>=b.sb&&(f-=b.sb);a="";for(c=0;c<y;c++){O=l(b.sb+f)+":";for(d=0;d<J&&f<b.sd.length;d++)V=b.sd[f++],O+=" "+(0>U?l(V):ea(V>>(U<<3),8));B&&(f+=F-J);a&&(a+="\n");a+=O}a&&b.ma.U(a);b.C=f}else b.ma.U("no buffer")}else e.ma.U("BIOSMODE: "+ga(e.Qa)),b=e.C,Hm(b,"CRTC",b.Ac,b.zb,b.kg),5<=b.nb&&(Hm(b," GRC",b.Zd,b.Yd,b.Xg),Hm(b," SEQ",b.$d,b.Ie,b.Yg),Hm(b," ATC",b.Kd,b.Uc,b.Wg),Hm(b,
" ATCINDX",b.Kd),b.ma.U(" ATCDATA: "+b.We),Hm(b," FEAT",b.ag),Hm(b," MISC",b.sf),Hm(b," STATUS0",b.Ng)),Hm(b," STATUS1",b.sa),b.nb!=gm&&3!=b.nb||Hm(b," MODEREG",b.fd),3==b.nb&&Hm(b," COLOR",b.qf),5<=b.nb&&(b.ma.U(" LATCHES: 0x"+l(b.Lb)),b.ma.U(" ACCESS: "+ia(b.wg)),b.ma.U("Use 'dump video [addr]' to dump video memory"));else e.ma.U("no active video card")})}if((this.P=Jb(a,"Keyboard"))&&this.wa){for(var f in this.xa)0<f.indexOf("lock")&&this.P.Ub("led",f,this.xa[f]);this.P.Ub(this.Ck?
"textarea":"canvas","kbd",this.ia)}this.Wc=9;(this.R=Jb(a,"ChipSet"))&&this.dg&&5==this.nb&&(this.Wc=hk(this.dg,this.Wc));"mouse"==this.eg?(this.Y=Jb(a,"Mouse"))&&Qm(this,2):"keygrid"==this.eg&&this.P&&Qm(this,1)};
h.Ub=function(a,b,c){var d=this;if(!this.xa[b])switch(this.xa[b]=c,b){case "fullScreen":return this.la&&this.la.Ve?c.onclick=function(){d.Ve()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.zk=c.textContent,this.ia&&this.ia.ze?c.onclick=function(){d.ze(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){cd(d,!0)},!0}return!1};h.Vc=function(){this.ia&&this.ia.focus()};
h.Ve=function(){var a=!1;if(this.la){if(this.la.Ve){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Ba/this.Ma;b>c&&(a=Math.round(c/b*100)+"%")}this.of?(this.wa.style.width=a,this.wa.style.width=a,this.wa.style.display="block",this.wa.style.margin="auto"):(this.la.style.width=a,this.la.style.height="auto");this.la.style.backgroundColor="black";this.la.Ve();a=!0}this.Vc()}return a};
function gm(a,b){!b&&a.la&&(a.of?a.wa.style.width=a.wa.style.height="":a.la.style.width=a.la.style.height="");sb(a,"notifyFullScreen("+b+")",!0);a.P&&(a.P.gh=b)}h.ze=function(a){var b=!1;this.ia&&(a?this.ia.ze&&(this.ia.ze(),this.Y&&this.Y.Tf(!0),b=!0):this.ia.tk&&(this.ia.tk(),this.Y&&this.Y.Tf(!1),b=!0),this.Vc());return b};h.Tf=function(a){this.Y&&(this.Y.Tf(a),this.P&&(this.P.gh=a));var b=this.xa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.zk)};
function Mm(a,b){var c=a.ia;c&&!a.ke&&(c.addEventListener("touchstart",function(b){Nm(a,b,!0)},!1),c.addEventListener("touchmove",function(b){Nm(a,b)},!0),c.addEventListener("touchend",function(b){Nm(a,b,!1)},!1),a.ke=b,a.oc=a.pc=a.fg=-1,a.ie=!1,a.Yc=null,a.Hd=!1,a.vk=function(){a.Hd=!0;a.Y.ge(Om,!0)})}h.Hg=function(a){this.P&&this.P.Hg(a)};
function Nm(a,b,c){var d,e,f=0,g=0;e=a.wa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var k=a.Ba/a.wa.offsetWidth,q=a.Ma/a.wa.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)*k;e=(e-g)*q;if(1==a.ke)d=d/(a.Ba/3)|0,e=e/(a.Ma/3)|0,1!=e?e?Sl(a.P,1040,!0):Sl(a.P,1038,!0):1!=d&&(d?Sl(a.P,1039,!0):Sl(a.P,1037,!0));else if(a.Y){g=a.ie;f=b.timeStamp-a.fg;!0===c?(a.ie=500<f,a.fg=b.timeStamp,
a.Yc=setTimeout(a.vk,500)):null!=a.Yc&&(clearTimeout(a.Yc),a.Yc=null);void 0===c&&(a.ie=!1);g||b.preventDefault();if(!1===c){a.Hd?(a.Y.ge(Om,!1),a.Hd=!1,b=!0):b=!1;if(b)return;if(200>f){a.Y.ge(Om,!0);a.Y.ge(Om,!1);return}}if(c||0>a.oc||0>a.pc)a.oc=d,a.pc=e;c=Math.round(d-a.oc);b=Math.round(e-a.pc);a.oc=d;a.pc=e;a.Y.Ff(c,b,a.oc,a.pc)}}h.lc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};
h.reset=function(){var a=!0,b=0;this.R&&(b=zk(this.R));this.na||(this.nb=3==b?cm:3);this.Ea=3;switch(this.nb){case zl:b=7;break;case 5:var c=im[this.Wc];c&&(b=c[0]);b||(b=4);break;case cm:b=3;this.Ea=em;break;default:b=2}this.Ha!==b&&(this.Ha=b,a=!0);this.C=null;this.za=this.td=new rm(this,cm);this.da=this.Xc=new rm(this,3);5>this.nb?this.A=new rm:(this.A=new rm(this,this.nb,null,this.Ed),Pm(this));Qm(this);this.Qa=null;this.Yb=this.ua=-1;this.cb=0;Rm(this,this.Ea);if(this.C.sb&&a){a=this.C.sb+this.Vb;
for(b=this.C.sb;b<a;b+=2){var d=65536*Math.random()|0;4==this.Ha||7==this.Ha?(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);lc(this.ja,b,c|d<<8)}cd(this,!0)}};function Pm(a){a.A.sf&1?(a.za=a.td,a.da=a.A):(a.za=a.A,a.da=a.Xc)}h.save=function(){var a=new df(this);ef(a,0,Cm(this.td));ef(a,1,Cm(this.Xc));ef(a,2,[this.Ha,this.Ea,this.Qa]);ef(a,3,Cm(this.A));return a.data()};
h.restore=function(a){var b=a[2];this.Ha=b[0];this.Ea=b[1];this.Qa=b[2];this.C=null;this.za=this.td=new rm(this,cm,a[0]);this.da=this.Xc=new rm(this,3,a[1]);this.A=new rm(this,this.nb,a[3],this.Ed);this.A.Ic&&Pm(this);Qm(this);if(!Sm(this))return!1;Tm(this);return!0};
h.Hk=function(a,b,c){if(c)this.Ua("Unable to load font ROM (error "+c+": "+a+")");else{ib(this.se,a,b);try{var d=eval("("+b+")");if(!d.length){Ba("Empty font ROM: "+a);return}if(1==d.length){Ba(d[0]);return}if(8192==d.length)yl(this,d,[6144,0]);else{this.Ua("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ua("Font ROM data error: "+e.message);return}(this.qa||this.ma)&&xb(this)}};
function Um(a,b){if(1==b)return a.Ja[0]=lm[0],a.Ja[1]=lm[7],a.Ja;if(2==b){var c=a.C.qf;if(a.C===a.A){var d=a.A.Uc[0],c=d&7;d&16&&(c|=8);18!=a.A.Uc[1]&&(c|=32)}a.Ja[0]=lm[c&15];c=c&32?nm:mm;for(d=0;d<c.length;d++)a.Ja[d+1]=lm[c[d]];return a.Ja}if(a.da===a.Xc)return lm;a.xb&&b&&!a.Ja[16]&&(a.xb=!1);if(!a.xb){var c=a.A,d=c.rf,e,f,g,k,q;if(8==b)for(f=0;256>f;f++)g=d[f]||0,k=g<<2&252,q=g>>4&252,g=g>>10&252,a.Ja[f]=[k,q,g,255];else{var r=d&&d[255];e=null!=c.Uc[15]?c.Uc:om;for(f=0;16>f;f++)g=e[f]&63,r?(g|=
(c.Uc[20]&12)<<4,c.Uc[16]&128&&(g&=-49,g|=(c.Uc[20]&3)<<4),g=d[g],k=g<<2&252,q=g>>4&252,g=g>>10&252):(k=(g&4?170:0)|(g&32?85:0),q=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ja[f]=[k,q,g,255]}a.xb=!0}return a.Ja}function yl(a,b,c,d){a.Lc=b;a.rd=c;a.rb=d}
function Qm(a,b){var c=!1;if(window&&a.Lc&&(!b||a.W)){var d=0,e=a.rb?a.rb:8,f=Um(a);Vm(a,3,a.rd[0],d,e,8,a.Lc,f)&&(c=!0);d=a.rb?0:2048;e=a.rb?a.rb:9;Vm(a,1,a.rd[1],d,e,14,a.Lc,jm,km)&&(c=!0);a.rb&&Vm(a,a.nb,a.rd[1],0,a.rb,14,a.Lc,f)&&(c=!0)}return c}function Vm(a,b,c,d,e,f,g,k,q){var r=!1;null!=c&&(Wm(a,b,c,d,e,f,g,k,q)&&(r=!0),a.Rg&&Wm(a,b<<1,c,d,e,f,g,k,q)&&(r=!0));return r}
function Wm(a,b,c,d,e,f,g,k,q){var r=!1,x=b&1?0:1,B=a.Va[b],y=16>k.length?k.length:16;B||(B={Rc:e<<x,Sc:f<<x,Ne:Array(y),xi:k.slice(0,y),xf:q,Vg:Array(y)});for(q=0;q<y;q++){var J=k[q],U=B.Ne[q]?B.xi[q]:[];if(J[0]!==U[0]||J[1]!==U[1]||J[2]!==U[2]){var r=B,U=q,F=x,O=c,V=d,Y=e,ha=f,da=g,eb=[0,0,0,0],va=document.createElement("canvas");va.width=r.Rc<<4;va.height=r.Sc<<4;for(var pa=va.getContext("2d"),Oa=void 0,ab=void 0,Ja=void 0,Vb=8>ha||!V?ha:8,Da=pa.createImageData(r.Rc,r.Sc),Oa=0;256>Oa;Oa++){for(Ja=
0;Ja<ha;Ja++)for(var Ud=r.xf&&U&1&&Ja>=ha-2,Uc=da[Ja<Vb?O+Oa*Vb+Ja:V+Oa*Vb+Ja-Vb],Vd=0;Vd<=F;Vd++)for(ab=0;ab<Y;ab++){var Ie=ab<<F,Wd=(Ja<<F)+Vd,Je=Ud||Uc&128>>(8<=ab&&192<=Oa&&223>=Oa?7:ab)?J:eb;Xm(Da,Ie,Wd,Je);F&&Xm(Da,Ie+1,Wd,Je)}pa.putImageData(Da,(Oa&15)*r.Rc,(Oa>>4)*r.Sc)}r.Ne[U]="#"+l(J[0],2)+l(J[1],2)+l(J[2],2);r.xi[U]=J;r.Vg[U]=va;r=!0}}a.Va[b]=B;return r}function Ym(a){0<a.cb||0<=a.ua?0>a.Yb&&(a.Yb=0):a.Yb=-1}
function Tm(a){if(a.W){for(var b=10;15>=b;b++)if(null==a.C.zb[b])return;var c=a.C.zb[10],b=c&31,d=a.C.zb[11]&31,e=a.C.zb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Zm(a);else{c=a.C.zb[15]+((a.C.zb[14]&63)<<8);a.ua!=c&&(Zm(a),a.ua=c);d=d-b+1;if(a.gg!=b||a.Be!=d)a.gg=b,a.Be=d;a.ib=e+1;Ym(a)}}}
function Zm(a){if(0<=a.ua){if(void 0!==a.ka){var b=a.ka[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.O,d=a.ua/a.O|0;a.W&&a.Va[a.W]&&(a.qb&&$m(a,c,d,b,a.qb),$m(a,c,d,b));a.ka[a.ua]=b}}a.ua=-1}}
function an(a){var b,c=a.C;a.Ge=!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.ed=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.nb==zl&&(e=3,c.ed=f&7)}d&8&&(b=1280);c=c.Ie[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Ge=!0));b|=e}return b}
function bn(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ja.Og(c.sb,c.gc,c.kh(),!0),!0):!1}
function Sm(a,b){var c,d=a.Qa,e=a.C;if(e)if(e.nb==cm)d=em;else if(5<=e.nb){var d=null,f=e.Ed>>2,g=32768<f?32768:f,k=e.Yd[6];if(null!=k){switch(k&12){case 0:e.sb=655360;e.gc=f;d=255;break;case 4:e.sb=655360;e.gc=f;d=3==a.Ha?15:16;break;case 8:e.sb=720896;e.gc=g;d=em;break;case 12:e.sb=753664,e.gc=g,d=3==a.Ha?2:3}var q=80==(e.Yd[5]&80);!q||e.sb==a.sb&&e.gc==a.gc||(b=!0);c=e.Ie[1]&8;f=e.zb[6];f|=e.zb[7]&1?256:0;e.nb==zl&&(f|=e.zb[7]&32?512:0);g=e.zb[9];255!=d&&(k&1?655360!=e.sb&&!q&&350>f?d=c?7-d:6:
e.Yd[5]&64?d=g&31?143>=e.zb[18]?19:20:21:g&128||350>f?d=c?13:14:480<=f&&(d=3==a.Ha?17:18):d-=c?2:0);c=an(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.Qa=null,null==d&&(d=a.Ea);if(!Rm(a,d,b))return!1;bn(a,c);return!0}
function Rm(a,b,c){if(null!=b&&(b!=a.Qa||c)){a.Pg=0;a.Qa=b;a.xb=!1;b=a.C||(b==em?a.za:a.da);if(b!=a.C||b.sb!=a.sb||b.gc!=a.gc){Zm(a);if(a.sb){if(!ec(a.ja,a.sb,a.gc))return!1;a.C&&(a.C.Ic=!1)}a.C=b;b.Ic=!0;a.sb=b.sb;a.gc=b.gc;if(!Zb(a.ja,b.sb,b.gc,3,b===a.A?b:null))return!1}a.W=0;a.O=a.jd;a.X=a.je;a.Jb=a.O;a.hd=dm[em][2];b=0;if(c=dm[a.Qa])a.O=c[0],a.X=c[1],a.hd=c[2],b=c[3],a.W=c[4],4!=a.Ha&&7!=a.Ha||a.C!==a.A||3!=a.W||(7==a.A.zb[9]?a.X=43:a.W=a.nb);a.Yf=a.O*a.X|0;a.pf=a.Yf/a.hd|0;a.Vb=a.pf;a.ud=0;
function km(a,b){!b&&a.la&&(a.of?a.wa.style.width=a.wa.style.height="":a.la.style.width=a.la.style.height="");sb(a,"notifyFullScreen("+b+")",!0);a.P&&(a.P.gh=b)}h.ze=function(a){var b=!1;this.ia&&(a?this.ia.ze&&(this.ia.ze(),this.Y&&this.Y.Tf(!0),b=!0):this.ia.tk&&(this.ia.tk(),this.Y&&this.Y.Tf(!1),b=!0),this.Vc());return b};h.Tf=function(a){this.Y&&(this.Y.Tf(a),this.P&&(this.P.gh=a));var b=this.xa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.zk)};
function Qm(a,b){var c=a.ia;c&&!a.ke&&(c.addEventListener("touchstart",function(b){Rm(a,b,!0)},!1),c.addEventListener("touchmove",function(b){Rm(a,b)},!0),c.addEventListener("touchend",function(b){Rm(a,b,!1)},!1),a.ke=b,a.oc=a.pc=a.fg=-1,a.ie=!1,a.Yc=null,a.Hd=!1,a.vk=function(){a.Hd=!0;a.Y.ge(Sm,!0)})}h.Hg=function(a){this.P&&this.P.Hg(a)};
function Rm(a,b,c){var d,e,f=0,g=0;e=a.wa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var k=a.Ba/a.wa.offsetWidth,q=a.Ma/a.wa.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)*k;e=(e-g)*q;if(1==a.ke)d=d/(a.Ba/3)|0,e=e/(a.Ma/3)|0,1!=e?e?Wl(a.P,1040,!0):Wl(a.P,1038,!0):1!=d&&(d?Wl(a.P,1039,!0):Wl(a.P,1037,!0));else if(a.Y){g=a.ie;f=b.timeStamp-a.fg;!0===c?(a.ie=500<f,a.fg=b.timeStamp,
a.Yc=setTimeout(a.vk,500)):null!=a.Yc&&(clearTimeout(a.Yc),a.Yc=null);void 0===c&&(a.ie=!1);g||b.preventDefault();if(!1===c){a.Hd?(a.Y.ge(Sm,!1),a.Hd=!1,b=!0):b=!1;if(b)return;if(200>f){a.Y.ge(Sm,!0);a.Y.ge(Sm,!1);return}}if(c||0>a.oc||0>a.pc)a.oc=d,a.pc=e;c=Math.round(d-a.oc);b=Math.round(e-a.pc);a.oc=d;a.pc=e;a.Y.Ff(c,b,a.oc,a.pc)}}h.lc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};
h.reset=function(){var a=!0,b=0;this.R&&(b=Dk(this.R));this.na||(this.nb=3==b?gm:3);this.Ea=3;switch(this.nb){case Dl:b=7;break;case 5:var c=mm[this.Wc];c&&(b=c[0]);b||(b=4);break;case gm:b=3;this.Ea=im;break;default:b=2}this.Ha!==b&&(this.Ha=b,a=!0);this.C=null;this.za=this.td=new vm(this,gm);this.da=this.Xc=new vm(this,3);5>this.nb?this.A=new vm:(this.A=new vm(this,this.nb,null,this.Ed),Tm(this));Um(this);this.Qa=null;this.Yb=this.ua=-1;this.cb=0;Vm(this,this.Ea);if(this.C.sb&&a){a=this.C.sb+this.Vb;
for(b=this.C.sb;b<a;b+=2){var d=65536*Math.random()|0;4==this.Ha||7==this.Ha?(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);lc(this.ja,b,c|d<<8)}cd(this,!0)}};function Tm(a){a.A.sf&1?(a.za=a.td,a.da=a.A):(a.za=a.A,a.da=a.Xc)}h.save=function(){var a=new df(this);ef(a,0,Gm(this.td));ef(a,1,Gm(this.Xc));ef(a,2,[this.Ha,this.Ea,this.Qa]);ef(a,3,Gm(this.A));return a.data()};
h.restore=function(a){var b=a[2];this.Ha=b[0];this.Ea=b[1];this.Qa=b[2];this.C=null;this.za=this.td=new vm(this,gm,a[0]);this.da=this.Xc=new vm(this,3,a[1]);this.A=new vm(this,this.nb,a[3],this.Ed);this.A.Ic&&Tm(this);Um(this);if(!Wm(this))return!1;Xm(this);return!0};
h.Hk=function(a,b,c){if(c)this.Ua("Unable to load font ROM (error "+c+": "+a+")");else{ib(this.se,a,b);try{var d=eval("("+b+")");if(!d.length){Ba("Empty font ROM: "+a);return}if(1==d.length){Ba(d[0]);return}if(8192==d.length)Cl(this,d,[6144,0]);else{this.Ua("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ua("Font ROM data error: "+e.message);return}(this.qa||this.ma)&&xb(this)}};
function Ym(a,b){if(1==b)return a.Ja[0]=pm[0],a.Ja[1]=pm[7],a.Ja;if(2==b){var c=a.C.qf;if(a.C===a.A){var d=a.A.Uc[0],c=d&7;d&16&&(c|=8);18!=a.A.Uc[1]&&(c|=32)}a.Ja[0]=pm[c&15];c=c&32?rm:qm;for(d=0;d<c.length;d++)a.Ja[d+1]=pm[c[d]];return a.Ja}if(a.da===a.Xc)return pm;a.xb&&b&&!a.Ja[16]&&(a.xb=!1);if(!a.xb){var c=a.A,d=c.rf,e,f,g,k,q;if(8==b)for(f=0;256>f;f++)g=d[f]||0,k=g<<2&252,q=g>>4&252,g=g>>10&252,a.Ja[f]=[k,q,g,255];else{var r=d&&d[255];e=null!=c.Uc[15]?c.Uc:sm;for(f=0;16>f;f++)g=e[f]&63,r?(g|=
(c.Uc[20]&12)<<4,c.Uc[16]&128&&(g&=-49,g|=(c.Uc[20]&3)<<4),g=d[g],k=g<<2&252,q=g>>4&252,g=g>>10&252):(k=(g&4?170:0)|(g&32?85:0),q=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ja[f]=[k,q,g,255]}a.xb=!0}return a.Ja}function Cl(a,b,c,d){a.Lc=b;a.rd=c;a.rb=d}
function Um(a,b){var c=!1;if(window&&a.Lc&&(!b||a.W)){var d=0,e=a.rb?a.rb:8,f=Ym(a);Zm(a,3,a.rd[0],d,e,8,a.Lc,f)&&(c=!0);d=a.rb?0:2048;e=a.rb?a.rb:9;Zm(a,1,a.rd[1],d,e,14,a.Lc,nm,om)&&(c=!0);a.rb&&Zm(a,a.nb,a.rd[1],0,a.rb,14,a.Lc,f)&&(c=!0)}return c}function Zm(a,b,c,d,e,f,g,k,q){var r=!1;null!=c&&($m(a,b,c,d,e,f,g,k,q)&&(r=!0),a.Rg&&$m(a,b<<1,c,d,e,f,g,k,q)&&(r=!0));return r}
function $m(a,b,c,d,e,f,g,k,q){var r=!1,x=b&1?0:1,B=a.Va[b],y=16>k.length?k.length:16;B||(B={Rc:e<<x,Sc:f<<x,Ne:Array(y),xi:k.slice(0,y),xf:q,Vg:Array(y)});for(q=0;q<y;q++){var J=k[q],U=B.Ne[q]?B.xi[q]:[];if(J[0]!==U[0]||J[1]!==U[1]||J[2]!==U[2]){var r=B,U=q,F=x,O=c,V=d,Y=e,ha=f,da=g,eb=[0,0,0,0],va=document.createElement("canvas");va.width=r.Rc<<4;va.height=r.Sc<<4;for(var oa=va.getContext("2d"),Oa=void 0,ab=void 0,Ja=void 0,Vb=8>ha||!V?ha:8,Da=oa.createImageData(r.Rc,r.Sc),Oa=0;256>Oa;Oa++){for(Ja=
0;Ja<ha;Ja++)for(var Ud=r.xf&&U&1&&Ja>=ha-2,Uc=da[Ja<Vb?O+Oa*Vb+Ja:V+Oa*Vb+Ja-Vb],Vd=0;Vd<=F;Vd++)for(ab=0;ab<Y;ab++){var Ie=ab<<F,Wd=(Ja<<F)+Vd,Je=Ud||Uc&128>>(8<=ab&&192<=Oa&&223>=Oa?7:ab)?J:eb;an(Da,Ie,Wd,Je);F&&an(Da,Ie+1,Wd,Je)}oa.putImageData(Da,(Oa&15)*r.Rc,(Oa>>4)*r.Sc)}r.Ne[U]="#"+l(J[0],2)+l(J[1],2)+l(J[2],2);r.xi[U]=J;r.Vg[U]=va;r=!0}}a.Va[b]=B;return r}function bn(a){0<a.cb||0<=a.ua?0>a.Yb&&(a.Yb=0):a.Yb=-1}
function Xm(a){if(a.W){for(var b=10;15>=b;b++)if(null==a.C.zb[b])return;var c=a.C.zb[10],b=c&31,d=a.C.zb[11]&31,e=a.C.zb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)cn(a);else{c=a.C.zb[15]+((a.C.zb[14]&63)<<8);a.ua!=c&&(cn(a),a.ua=c);d=d-b+1;if(a.gg!=b||a.Be!=d)a.gg=b,a.Be=d;a.ib=e+1;bn(a)}}}
function cn(a){if(0<=a.ua){if(void 0!==a.ka){var b=a.ka[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.O,d=a.ua/a.O|0;a.W&&a.Va[a.W]&&(a.qb&&dn(a,c,d,b,a.qb),dn(a,c,d,b));a.ka[a.ua]=b}}a.ua=-1}}
function en(a){var b,c=a.C;a.Ge=!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.ed=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.nb==Dl&&(e=3,c.ed=f&7)}d&8&&(b=1280);c=c.Ie[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Ge=!0));b|=e}return b}
function fn(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ja.Og(c.sb,c.gc,c.kh(),!0),!0):!1}
function Wm(a,b){var c,d=a.Qa,e=a.C;if(e)if(e.nb==gm)d=im;else if(5<=e.nb){var d=null,f=e.Ed>>2,g=32768<f?32768:f,k=e.Yd[6];if(null!=k){switch(k&12){case 0:e.sb=655360;e.gc=f;d=255;break;case 4:e.sb=655360;e.gc=f;d=3==a.Ha?15:16;break;case 8:e.sb=720896;e.gc=g;d=im;break;case 12:e.sb=753664,e.gc=g,d=3==a.Ha?2:3}var q=80==(e.Yd[5]&80);!q||e.sb==a.sb&&e.gc==a.gc||(b=!0);c=e.Ie[1]&8;f=e.zb[6];f|=e.zb[7]&1?256:0;e.nb==Dl&&(f|=e.zb[7]&32?512:0);g=e.zb[9];255!=d&&(k&1?655360!=e.sb&&!q&&350>f?d=c?7-d:6:
e.Yd[5]&64?d=g&31?143>=e.zb[18]?19:20:21:g&128||350>f?d=c?13:14:480<=f&&(d=3==a.Ha?17:18):d-=c?2:0);c=en(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.Qa=null,null==d&&(d=a.Ea);if(!Vm(a,d,b))return!1;fn(a,c);return!0}
function Vm(a,b,c){if(null!=b&&(b!=a.Qa||c)){a.Pg=0;a.Qa=b;a.xb=!1;b=a.C||(b==im?a.za:a.da);if(b!=a.C||b.sb!=a.sb||b.gc!=a.gc){cn(a);if(a.sb){if(!ec(a.ja,a.sb,a.gc))return!1;a.C&&(a.C.Ic=!1)}a.C=b;b.Ic=!0;a.sb=b.sb;a.gc=b.gc;if(!Zb(a.ja,b.sb,b.gc,3,b===a.A?b:null))return!1}a.W=0;a.O=a.jd;a.X=a.je;a.Jb=a.O;a.hd=hm[im][2];b=0;if(c=hm[a.Qa])a.O=c[0],a.X=c[1],a.hd=c[2],b=c[3],a.W=c[4],4!=a.Ha&&7!=a.Ha||a.C!==a.A||3!=a.W||(7==a.A.zb[9]?a.X=43:a.W=a.nb);a.Yf=a.O*a.X|0;a.pf=a.Yf/a.hd|0;a.Vb=a.pf;a.ud=0;
void 0!==b&&(a.Vb=(a.Vb<<1)+b|0,a.ud=a.Vb+b>>1);a.Va.length&&(a.Ra=a.Ba/a.O|0,a.Ta=a.Ma/a.X|0,a.W?(b=a.Va[a.W],c=a.Va[a.W<<1],a.Sg&&80==a.O?c&&a.Ra>=3*c.Rc>>2&&(a.W<<=1,b=c):(c&&a.Ra>=c.Rc&&(a.W<<=1,b=c),b&&(a.Ra=b.Rc,a.Ta=b.Sc)),a.Zb=a.cc=0,b&&(a.Zb=a.O*b.Rc,a.cc=a.X*b.Sc)):(a.Ra=a.Ta=1,a.Zb=a.O,a.cc=a.X),a.Ib=a.qa.createImageData(a.Zb,a.cc),a.lb=document.createElement("canvas"),a.lb.width=a.Zb,a.lb.height=a.cc,a.qb=a.lb.getContext("2d"),a.le=a.me=0,a.vd=a.Ba,a.Gd=a.Ma,b=a.Ba-a.O*a.Ra,c=a.Ma-a.X*
a.Ta,0<b&&(a.le=b>>1,a.vd-=b),0<c&&(a.me=c>>1,a.Gd-=c),b||c)&&(a.qa.fillStyle=a.wa.style.backgroundColor,a.qa.fillRect(0,0,a.Ba,a.Ma));yn(a,!0);cd(a)}return!0}function Xm(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 zn(a){a.cb=-1;a.Oa=!1;var b=a.pf;if(void 0===a.ka||a.ka.length!=b)a.ka=Array(b)}function yn(a,b){b||(a.xb=!1);zn(a)}
function $m(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var k=a.Va[a.W];k.xf&&(d=k.xf[d]);var q=g>>4&15;k.xf&&(q=k.xf[q]);e?(b*=k.Rc,c*=k.Sc,e.fillStyle=k.Ne[q],e.fillRect(b,c,k.Rc,k.Sc)):(b=b*a.Ra+a.le,c=c*a.Ta+a.me,a.qa.fillStyle=k.Ne[q],a.qa.fillRect(b,c,a.Ra,a.Ta));g&256&&(q=(f&15)*k.Rc,f=(f>>4)*k.Sc,e?e.drawImage(k.Vg[d],q,f,k.Rc,k.Sc,b,c,k.Rc,k.Sc):a.qa.drawImage(k.Vg[d],q,f,k.Rc,k.Sc,b,c,a.Ra,a.Ta));g&512&&(f=a.gg,g=a.Be,e?(a.ib&&a.ib!==k.Sc&&(f=f*k.Sc/a.ib|0,g=g*k.Sc/a.ib|0),e.fillStyle=k.Ne[d],
a.Ta,0<b&&(a.le=b>>1,a.vd-=b),0<c&&(a.me=c>>1,a.Gd-=c),b||c)&&(a.qa.fillStyle=a.wa.style.backgroundColor,a.qa.fillRect(0,0,a.Ba,a.Ma));Cn(a,!0);cd(a)}return!0}function an(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 Dn(a){a.cb=-1;a.Oa=!1;var b=a.pf;if(void 0===a.ka||a.ka.length!=b)a.ka=Array(b)}function Cn(a,b){b||(a.xb=!1);Dn(a)}
function dn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var k=a.Va[a.W];k.xf&&(d=k.xf[d]);var q=g>>4&15;k.xf&&(q=k.xf[q]);e?(b*=k.Rc,c*=k.Sc,e.fillStyle=k.Ne[q],e.fillRect(b,c,k.Rc,k.Sc)):(b=b*a.Ra+a.le,c=c*a.Ta+a.me,a.qa.fillStyle=k.Ne[q],a.qa.fillRect(b,c,a.Ra,a.Ta));g&256&&(q=(f&15)*k.Rc,f=(f>>4)*k.Sc,e?e.drawImage(k.Vg[d],q,f,k.Rc,k.Sc,b,c,k.Rc,k.Sc):a.qa.drawImage(k.Vg[d],q,f,k.Rc,k.Sc,b,c,a.Ra,a.Ta));g&512&&(f=a.gg,g=a.Be,e?(a.ib&&a.ib!==k.Sc&&(f=f*k.Sc/a.ib|0,g=g*k.Sc/a.ib|0),e.fillStyle=k.Ne[d],
e.fillRect(b,c+f,k.Rc,g)):(a.ib&&a.ib!==a.Ta&&(f=f*a.Ta/a.ib|0,g=g*a.Ta/a.ib|0),a.qa.fillStyle=k.Ne[d],a.qa.fillRect(b,c+f,a.Ra,g)))}
function cd(a,b){if(a.ra.hc){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Kd&32&&(c=!0));if(c||b){if(b)zn(a);else if(void 0===a.ka)return;var e=!1;!(b||++a.Pg&15)&&0<=a.Yb&&(a.Yb++,e=!0);var f=0,g=a.Yf,k=a.sb,c=k,q=c+a.gc;19<=a.Qa&&(k=c=655360,q=c+65536);if(An(a,d)&8||d.nf&&d.nf<d.ii)d.Vf=(d.zb[12]<<8)+d.zb[13]|0,d.nf=0;var r=d.Vf;a.W&&(r<<=1);c+=r;r=a.Vb;5<=a.nb&&d.zb[19]&&d.zb[19]<<1!=d.zb[1]+1&&(a.Jb=d.zb[19]<<(a.W?1:d.zb[20]&64?3:4),r=(a.Jb*(a.X-1)+a.O)/a.hd|0,a.Qa<=em&&(r<<=1));c+r>q&&(r=q-c,
0>r&&(r=0));q=c+r;if(d=!b&&a.Oa){for(var d=a.ja,x=!0,B=c>>>d.Pa;0<r&&B<d.ya.length;)d.ya[B].ab&&(d.ya[B].ab=x=!1,d.ya[B].Qi=!0),r-=d.Rb,B++;d=x}if(d){if(!e)return;if(!a.cb){if(0>a.ua)return;f=a.ua;g=f+1}}if(a.W){if(a.Va[a.W]){e=0;k=a.cb=0;d=1048575;r=a.C.fd&32;5<=a.nb&&(r=a.C.Uc[16]&8);r&&(k=32768,d&=~k,a.Yb&2||(d&=-65537));for(c+=f<<1;c<q&&f<g;)r=kc(a.ja,c),r|=65536,r&k&&(a.cb++,r&=d),f==a.ua&&(r|=a.Yb&1?131072:0),a.Oa&&r===a.ka[f]||($m(a,f%a.O,f/a.O|0,r,a.qb),a.ka[f]=r,e++),c+=2,f++;a.Oa=!0;e&&
a.qb&&a.qa.drawImage(a.lb,0,0,a.Zb,a.cc,a.le,a.me,a.vd,a.Gd);Ym(a)}}else if(a.ud){for(var g=q,y,q=c,f=a.cb=0,e=a.hd,k=16==e?65536:196608,d=16==e?1:2,r=Um(a,d),B=x=0,J=a.O,U=0,F=a.X,O=0;q<g;){y=kc(a.ja,q);if(a.Oa&&y===a.ka[f])x+=e;else{a.ka[f]=y;y=y>>8|(y&255)<<8;var V=k,Y=16;x<J&&(J=x);for(var ha=0;ha<e;ha++){var da=(y&(V>>=d))>>(Y-=d);Xm(a.Ib,x++,B,r[da])}x>U&&(U=x);B<F&&(F=B);B>=O&&(O=B+1)}q+=2;f++;if(x>=a.O){x=0;B+=2;if(B>a.X)break;B==a.X&&(B=1,q=c+a.ud)}}a.Oa=!0;J<a.O&&(a.qb.putImageData(a.Ib,
0,0,J,F,U-J,O-F),a.qa.drawImage(a.lb,0,0,a.O,a.X,0,0,a.Ba,a.Ma))}else if(a.Ge){g=k;e=a.cb=0;k=Um(a,8);d=a.C.sd;x=r=0;B=a.O;J=0;U=a.X;F=0;O=a.C.Ie[4]&8?4:1;y=a.C.Uc[19]&15;for(V=a.Jb>a.O?a.Jb-a.O-y>>3:0;c<q;){f=d[c-g];ha=4;y||(a.Oa&&f===a.ka[e]?(r+=ha,ha=0):a.ka[e]=f,e++);if(ha){r<B&&(B=r);for(Y=0;Y<ha;Y++)Xm(a.Ib,r++,x,k[f&255]),f>>=8;r>J&&(J=r);x<U&&(U=x);x>=F&&(F=x+1)}c+=O;if(r>=a.O){r=0;if(++x>a.X)break;c+=V}}y||(a.Oa=!0);B<a.O&&(a.qb.putImageData(a.Ib,0,0,B,U,J-B,F-U),a.qa.drawImage(a.lb,0,0,
a.O,a.X,0,0,a.Ba,a.Ma))}else{g=k;f=a.cb=0;e=Um(a);k=a.C.sd;r=d=0;x=a.O;B=0;J=a.X;U=0;F=a.C.Uc[19]&15;for(O=a.Jb>a.O?a.Jb-a.O-F>>3:0;c<q;){y=c++-g;y=k[y];Y=8;F?d?(V=a.O-d,Y>V&&(Y=V)):(y<<=F,Y-=F,a.Oa=!1):(a.Oa&&y===a.ka[f]?(d+=Y,Y=0):a.ka[f]=y,f++);if(Y){d<x&&(x=d);for(V=0;V<Y;V++)ha=qm[y&-2139062144]||0,Xm(a.Ib,d++,r,e[ha]),y<<=1;d>B&&(B=d);r<J&&(J=r);r>=U&&(U=r+1)}if(d>=a.O){d=0;if(++r>a.X)break;c+=O}}F||(a.Oa=!0);x<a.O&&(a.qb.putImageData(a.Ib,0,0,x,J,B-x,U-J),a.qa.drawImage(a.lb,0,0,a.O,a.X,0,
0,a.Ba,a.Ma))}}}}function An(a,b){var c=0,d=ad(a.M)-b.zh;0>d&&(b.zh=d,d=-d|0);d%b.uh>b.om&&(c|=1);d%b.xh>b.qm&&(c|=9);b.ii=d/b.xh|0;return c}h.Kl=function(a,b){return Bn(this,this.za,a,b)};h.dn=function(a,b,c){var d=this.za;d.Kg=d.Ac;d.Ac=b&31;m(this,a,b,c,"CRTC.INDX")};h.Jl=function(a,b){return Cn(this,this.za,a,b)};h.cn=function(a,b,c){Dn(this,this.za,a,b,c)};h.Ll=function(a,b){return En(this,this.za,b)};h.en=function(a,b,c){a=this.za;m(this,a.port+4,b,c,"MODE");a.fd=b;Sm(this,!1)};
h.Ml=function(a,b){return Fn(this,this.za,b)};h.hk=function(a,b,c){this.A.ag=this.A.ag&-4|b&3;m(this,a,b,c,"FEAT")};h.jl=function(a,b){var c=this.A.Kd;b&&!n(this)||m(this,960,null,b,"ATC.INDX",c);return c};h.Ik=function(a,b){var c=this.A.Uc[this.A.Kd&31];b&&!n(this)||m(this,960,null,b,"ATC."+this.A.Wg[this.A.Kd&31],c);return c};
h.gk=function(a,b,c){var d=this.A,e=d.Kd&32;if(d.We){d.We=!1;var f=d.Kd&31;if(16<=f||!e)c&&!n(this)||m(this,a,b,c,"ATC."+d.Wg[f]),d.Uc[f]=b,yn(this,!1)}else d.Kd=b,m(this,a,b,c,"ATC.INDX"),d.We=!0,b&32&&!e&&Qm(this,!0)&&cd(this,!0),d.Vf=(d.zb[12]<<8)+d.zb[13]|0,d.nf=0};h.Xl=function(a,b){var c=0;if(5==this.nb)c=3-((this.A.sf&12)>>2),c=(this.Wc&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.Ng&-17;this.A.Ng=c;m(this,962,null,b,"STATUS0",c);return c};
h.fn=function(a,b,c){this.A.sf=b;Pm(this);m(this,962,b,c,"MISC")};h.Yl=function(a,b){var c=this.A.pi;m(this,963,null,b,"VGA_ENABLE",c);return c};h.rn=function(a,b,c){this.A.pi=b;m(this,963,b,c,"VGA_ENABLE")};h.Vl=function(a,b){var c=this.A.$d;m(this,964,null,b,"SEQ.INDX",c);return c};h.pn=function(a,b,c){this.A.$d=b;m(this,964,b,c,"SEQ.INDX")};h.Ul=function(a,b){var c=this.A.Ie[this.A.$d];b&&!n(this)||m(this,965,null,b,"SEQ."+this.A.Yg[this.A.$d],c);return c};
h.on=function(a,b,c){c&&!n(this)||m(this,965,b,c,"SEQ."+this.A.Yg[this.A.$d]);this.A.Ie[this.A.$d]=b;switch(this.A.$d){case 2:this.A.wb=pm[b&15];break;case 4:bn(this,an(this))&&cd(this,!0)}};h.wl=function(a,b){var c=this.A.oi;b&&!n(this)||m(this,966,null,b,"DAC.MASK",c);return c};h.Nm=function(a,b,c){c&&!n(this)||m(this,966,b,c,"DAC.MASK");this.A.oi=b};h.xl=function(a,b){var c=this.A.Lg;b&&!n(this)||m(this,967,null,b,"DAC.STATE",c);return c};
function cd(a,b){if(a.ra.hc){var c=!1,d=a.C;d&&(d!==a.A?d.fd&8&&(c=!0):d.Kd&32&&(c=!0));if(c||b){if(b)Dn(a);else if(void 0===a.ka)return;var e=!1;!(b||++a.Pg&15)&&0<=a.Yb&&(a.Yb++,e=!0);var f=0,g=a.Yf,k=a.sb,c=k,q=c+a.gc;19<=a.Qa&&(k=c=655360,q=c+65536);if(En(a,d)&8||d.nf&&d.nf<d.ii)d.Vf=(d.zb[12]<<8)+d.zb[13]|0,d.nf=0;var r=d.Vf;a.W&&(r<<=1);c+=r;r=a.Vb;5<=a.nb&&d.zb[19]&&d.zb[19]<<1!=d.zb[1]+1&&(a.Jb=d.zb[19]<<(a.W?1:d.zb[20]&64?3:4),r=(a.Jb*(a.X-1)+a.O)/a.hd|0,a.Qa<=im&&(r<<=1));c+r>q&&(r=q-c,
0>r&&(r=0));q=c+r;if(d=!b&&a.Oa){for(var d=a.ja,x=!0,B=c>>>d.Pa;0<r&&B<d.ya.length;)d.ya[B].ab&&(d.ya[B].ab=x=!1,d.ya[B].Qi=!0),r-=d.Rb,B++;d=x}if(d){if(!e)return;if(!a.cb){if(0>a.ua)return;f=a.ua;g=f+1}}if(a.W){if(a.Va[a.W]){e=0;k=a.cb=0;d=1048575;r=a.C.fd&32;5<=a.nb&&(r=a.C.Uc[16]&8);r&&(k=32768,d&=~k,a.Yb&2||(d&=-65537));for(c+=f<<1;c<q&&f<g;)r=kc(a.ja,c),r|=65536,r&k&&(a.cb++,r&=d),f==a.ua&&(r|=a.Yb&1?131072:0),a.Oa&&r===a.ka[f]||(dn(a,f%a.O,f/a.O|0,r,a.qb),a.ka[f]=r,e++),c+=2,f++;a.Oa=!0;e&&
a.qb&&a.qa.drawImage(a.lb,0,0,a.Zb,a.cc,a.le,a.me,a.vd,a.Gd);bn(a)}}else if(a.ud){for(var g=q,y,q=c,f=a.cb=0,e=a.hd,k=16==e?65536:196608,d=16==e?1:2,r=Ym(a,d),B=x=0,J=a.O,U=0,F=a.X,O=0;q<g;){y=kc(a.ja,q);if(a.Oa&&y===a.ka[f])x+=e;else{a.ka[f]=y;y=y>>8|(y&255)<<8;var V=k,Y=16;x<J&&(J=x);for(var ha=0;ha<e;ha++){var da=(y&(V>>=d))>>(Y-=d);an(a.Ib,x++,B,r[da])}x>U&&(U=x);B<F&&(F=B);B>=O&&(O=B+1)}q+=2;f++;if(x>=a.O){x=0;B+=2;if(B>a.X)break;B==a.X&&(B=1,q=c+a.ud)}}a.Oa=!0;J<a.O&&(a.qb.putImageData(a.Ib,
0,0,J,F,U-J,O-F),a.qa.drawImage(a.lb,0,0,a.O,a.X,0,0,a.Ba,a.Ma))}else if(a.Ge){g=k;e=a.cb=0;k=Ym(a,8);d=a.C.sd;x=r=0;B=a.O;J=0;U=a.X;F=0;O=a.C.Ie[4]&8?4:1;y=a.C.Uc[19]&15;for(V=a.Jb>a.O?a.Jb-a.O-y>>3:0;c<q;){f=d[c-g];ha=4;y||(a.Oa&&f===a.ka[e]?(r+=ha,ha=0):a.ka[e]=f,e++);if(ha){r<B&&(B=r);for(Y=0;Y<ha;Y++)an(a.Ib,r++,x,k[f&255]),f>>=8;r>J&&(J=r);x<U&&(U=x);x>=F&&(F=x+1)}c+=O;if(r>=a.O){r=0;if(++x>a.X)break;c+=V}}y||(a.Oa=!0);B<a.O&&(a.qb.putImageData(a.Ib,0,0,B,U,J-B,F-U),a.qa.drawImage(a.lb,0,0,
a.O,a.X,0,0,a.Ba,a.Ma))}else{g=k;f=a.cb=0;e=Ym(a);k=a.C.sd;r=d=0;x=a.O;B=0;J=a.X;U=0;F=a.C.Uc[19]&15;for(O=a.Jb>a.O?a.Jb-a.O-F>>3:0;c<q;){y=c++-g;y=k[y];Y=8;F?d?(V=a.O-d,Y>V&&(Y=V)):(y<<=F,Y-=F,a.Oa=!1):(a.Oa&&y===a.ka[f]?(d+=Y,Y=0):a.ka[f]=y,f++);if(Y){d<x&&(x=d);for(V=0;V<Y;V++)ha=um[y&-2139062144]||0,an(a.Ib,d++,r,e[ha]),y<<=1;d>B&&(B=d);r<J&&(J=r);r>=U&&(U=r+1)}if(d>=a.O){d=0;if(++r>a.X)break;c+=O}}F||(a.Oa=!0);x<a.O&&(a.qb.putImageData(a.Ib,0,0,x,J,B-x,U-J),a.qa.drawImage(a.lb,0,0,a.O,a.X,0,
0,a.Ba,a.Ma))}}}}function En(a,b){var c=0,d=ad(a.M)-b.zh;0>d&&(b.zh=d,d=-d|0);d%b.uh>b.om&&(c|=1);d%b.xh>b.qm&&(c|=9);b.ii=d/b.xh|0;return c}h.Kl=function(a,b){return Fn(this,this.za,a,b)};h.dn=function(a,b,c){var d=this.za;d.Kg=d.Ac;d.Ac=b&31;m(this,a,b,c,"CRTC.INDX")};h.Jl=function(a,b){return Gn(this,this.za,a,b)};h.cn=function(a,b,c){Hn(this,this.za,a,b,c)};h.Ll=function(a,b){return In(this,this.za,b)};h.en=function(a,b,c){a=this.za;m(this,a.port+4,b,c,"MODE");a.fd=b;Wm(this,!1)};
h.Ml=function(a,b){return Jn(this,this.za,b)};h.hk=function(a,b,c){this.A.ag=this.A.ag&-4|b&3;m(this,a,b,c,"FEAT")};h.jl=function(a,b){var c=this.A.Kd;b&&!n(this)||m(this,960,null,b,"ATC.INDX",c);return c};h.Ik=function(a,b){var c=this.A.Uc[this.A.Kd&31];b&&!n(this)||m(this,960,null,b,"ATC."+this.A.Wg[this.A.Kd&31],c);return c};
h.gk=function(a,b,c){var d=this.A,e=d.Kd&32;if(d.We){d.We=!1;var f=d.Kd&31;if(16<=f||!e)c&&!n(this)||m(this,a,b,c,"ATC."+d.Wg[f]),d.Uc[f]=b,Cn(this,!1)}else d.Kd=b,m(this,a,b,c,"ATC.INDX"),d.We=!0,b&32&&!e&&Um(this,!0)&&cd(this,!0),d.Vf=(d.zb[12]<<8)+d.zb[13]|0,d.nf=0};h.Xl=function(a,b){var c=0;if(5==this.nb)c=3-((this.A.sf&12)>>2),c=(this.Wc&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.Ng&-17;this.A.Ng=c;m(this,962,null,b,"STATUS0",c);return c};
h.fn=function(a,b,c){this.A.sf=b;Tm(this);m(this,962,b,c,"MISC")};h.Yl=function(a,b){var c=this.A.pi;m(this,963,null,b,"VGA_ENABLE",c);return c};h.rn=function(a,b,c){this.A.pi=b;m(this,963,b,c,"VGA_ENABLE")};h.Vl=function(a,b){var c=this.A.$d;m(this,964,null,b,"SEQ.INDX",c);return c};h.pn=function(a,b,c){this.A.$d=b;m(this,964,b,c,"SEQ.INDX")};h.Ul=function(a,b){var c=this.A.Ie[this.A.$d];b&&!n(this)||m(this,965,null,b,"SEQ."+this.A.Yg[this.A.$d],c);return c};
h.on=function(a,b,c){c&&!n(this)||m(this,965,b,c,"SEQ."+this.A.Yg[this.A.$d]);this.A.Ie[this.A.$d]=b;switch(this.A.$d){case 2:this.A.wb=tm[b&15];break;case 4:fn(this,en(this))&&cd(this,!0)}};h.wl=function(a,b){var c=this.A.oi;b&&!n(this)||m(this,966,null,b,"DAC.MASK",c);return c};h.Nm=function(a,b,c){c&&!n(this)||m(this,966,b,c,"DAC.MASK");this.A.oi=b};h.xl=function(a,b){var c=this.A.Lg;b&&!n(this)||m(this,967,null,b,"DAC.STATE",c);return c};
h.Om=function(a,b,c){c&&!n(this)||m(this,967,b,c,"DAC.READ");this.A.od=b;this.A.Lg=3;this.A.Kc=0};h.Pm=function(a,b,c){c&&!n(this)||m(this,968,b,c,"DAC.WRITE");this.A.od=b;this.A.Lg=0;this.A.Kc=0};h.vl=function(a,b){var c=this.A.rf[this.A.od]>>this.A.Kc&63;b&&!n(this)||m(this,969,null,b,"DAC.DATA["+ga(this.A.od)+"]["+ga(this.A.Kc)+"]",c);this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255);return c};
h.Mm=function(a,b,c){a=this.A.rf[this.A.od];c&&!n(this)||m(this,969,b,c,"DAC.DATA["+ga(this.A.od)+"]["+ga(this.A.Kc)+"]");b=a&~(63<<this.A.Kc)|(b&63)<<this.A.Kc;a!==b&&(this.A.rf[this.A.od]=b,yn(this,!1));this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255)};h.Zl=function(a,b){var c=this.A.ag;m(this,970,null,b,"FEAT",c);return c};h.Zm=function(a,b,c){this.A.jk=b;m(this,970,b,c,"GRC2")};h.$l=function(a,b){var c=this.A.sf;m(this,972,null,b,"MISC",c);return c};
h.Mm=function(a,b,c){a=this.A.rf[this.A.od];c&&!n(this)||m(this,969,b,c,"DAC.DATA["+ga(this.A.od)+"]["+ga(this.A.Kc)+"]");b=a&~(63<<this.A.Kc)|(b&63)<<this.A.Kc;a!==b&&(this.A.rf[this.A.od]=b,Cn(this,!1));this.A.Kc+=6;12<this.A.Kc&&(this.A.Kc=0,this.A.od=this.A.od+1&255)};h.Zl=function(a,b){var c=this.A.ag;m(this,970,null,b,"FEAT",c);return c};h.Zm=function(a,b,c){this.A.jk=b;m(this,970,b,c,"GRC2")};h.$l=function(a,b){var c=this.A.sf;m(this,972,null,b,"MISC",c);return c};
h.Ym=function(a,b,c){this.A.ik=b;m(this,972,b,c,"GRC1")};h.Dl=function(a,b){var c=this.A.Zd;m(this,974,null,b,"GRC.INDX",c);return c};h.Xm=function(a,b,c){this.A.Zd=b;m(this,974,b,c,"GRC.INDX")};h.Cl=function(a,b){var c=this.A.Yd[this.A.Zd];b&&!n(this)||m(this,975,null,b,"GRC."+this.A.Xg[this.A.Zd],c);return c};
h.Wm=function(a,b,c){c&&!n(this)||m(this,975,b,c,"GRC."+this.A.Xg[this.A.Zd]);this.A.Yd[this.A.Zd]=b;switch(this.A.Zd){case 0:this.A.Sf=pm[b&15];this.A.oe=this.A.Sf&~this.A.Vd;break;case 1:this.A.Vd=~pm[b&15];this.A.oe=this.A.Sf&~this.A.Vd;break;case 2:this.A.sh=pm[b&15]&-2139062144;break;case 3:case 5:bn(this,an(this));break;case 4:this.A.hi=(b&3)<<3;break;case 6:Sm(this,!1);break;case 7:this.A.th=pm[b&15]&-2139062144;break;case 8:this.A.Qb=b|b<<8|b<<16|b<<24}};
h.pl=function(a,b){return Bn(this,this.da,a,b)};h.Hm=function(a,b,c){var d=this.da;d.Kg=d.Ac;d.Ac=b&31;m(this,a,b,c,"CRTC.INDX")};h.ol=function(a,b){return Cn(this,this.da,a,b)};h.Gm=function(a,b,c){Dn(this,this.da,a,b,c)};h.ql=function(a,b){return En(this,this.da,b)};h.Im=function(a,b,c){a=this.da;m(this,a.port+4,b,c,"MODE");a.fd=b;Sm(this,!1)};h.nl=function(a,b){var c=this.da.qf;b&&!n(this)||m(this,a,null,b,this.da.type+".COLOR",c);return c};
h.Fm=function(a,b,c){c&&!n(this)||m(this,a,b,c,this.da.type+".COLOR");this.da.qf!==b&&(this.da.qf=b,yn(this,!1))};h.rl=function(a,b){return Fn(this,this.da,b)};function Bn(a,b,c,d){var e;b.Ic&&(e=b.Ac);m(a,c,null,d,"CRTC.INDX",e);return e}function Cn(a,b,c,d){var e;b.Ic&&b.Ac<b.rh&&(e=b.zb[b.Ac]);d&&!n(a)||m(a,c,null,d,"CRTC."+b.kg[b.Ac],e);return e}
function Dn(a,b,c,d,e){if(b.Ac<b.rh){e&&!n(a)||m(a,c,d,e,"CRTC."+b.kg[b.Ac]);b.zb[b.Ac]=d;if(12==b.Ac||13==b.Ac)An(a,b)&1?b.Vf=(b.zb[12]<<8)+b.zb[13]|0:b.nf||(b.nf=b.ii);(9==b.Ac&&8!=b.Kg||18==b.Ac&&223==d)&&Sm(a,!0);Tm(a)}}function En(a,b,c){var d=b.fd;m(a,b.port+4,null,c,"MODE",d);return d}function Fn(a,b,c){var d=An(a,b);b===a.A?(d|=b.sa&48^48,b.We=!1):d=(b.sa^=9)|240;b.sa=d;m(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var Em={948:am.prototype.Kl,949:am.prototype.Jl,952:am.prototype.Ll,954:am.prototype.Ml},Fm={948:am.prototype.dn,949:am.prototype.cn,952:am.prototype.en},Gm={980:am.prototype.pl,981:am.prototype.ol,984:am.prototype.ql,985:am.prototype.nl,986:am.prototype.rl},Hm={980:am.prototype.Hm,981:am.prototype.Gm,984:am.prototype.Im,985:am.prototype.Fm},Im={960:am.prototype.jl,961:am.prototype.Ik,962:am.prototype.Xl,964:am.prototype.Vl,965:am.prototype.Ul,974:am.prototype.Dl,975:am.prototype.Cl},Jm={954:am.prototype.hk,
960:am.prototype.gk,961:am.prototype.gk,962:am.prototype.fn,964:am.prototype.pn,965:am.prototype.on,970:am.prototype.Zm,972:am.prototype.Ym,974:am.prototype.Xm,975:am.prototype.Wm,986:am.prototype.hk},Km={963:am.prototype.Yl,966:am.prototype.wl,967:am.prototype.xl,969:am.prototype.vl,970:am.prototype.Zl,972:am.prototype.$l},Lm={963:am.prototype.rn,966:am.prototype.Nm,967:am.prototype.Om,968:am.prototype.Pm,969:am.prototype.Mm};
h.Wm=function(a,b,c){c&&!n(this)||m(this,975,b,c,"GRC."+this.A.Xg[this.A.Zd]);this.A.Yd[this.A.Zd]=b;switch(this.A.Zd){case 0:this.A.Sf=tm[b&15];this.A.oe=this.A.Sf&~this.A.Vd;break;case 1:this.A.Vd=~tm[b&15];this.A.oe=this.A.Sf&~this.A.Vd;break;case 2:this.A.sh=tm[b&15]&-2139062144;break;case 3:case 5:fn(this,en(this));break;case 4:this.A.hi=(b&3)<<3;break;case 6:Wm(this,!1);break;case 7:this.A.th=tm[b&15]&-2139062144;break;case 8:this.A.Qb=b|b<<8|b<<16|b<<24}};
h.pl=function(a,b){return Fn(this,this.da,a,b)};h.Hm=function(a,b,c){var d=this.da;d.Kg=d.Ac;d.Ac=b&31;m(this,a,b,c,"CRTC.INDX")};h.ol=function(a,b){return Gn(this,this.da,a,b)};h.Gm=function(a,b,c){Hn(this,this.da,a,b,c)};h.ql=function(a,b){return In(this,this.da,b)};h.Im=function(a,b,c){a=this.da;m(this,a.port+4,b,c,"MODE");a.fd=b;Wm(this,!1)};h.nl=function(a,b){var c=this.da.qf;b&&!n(this)||m(this,a,null,b,this.da.type+".COLOR",c);return c};
h.Fm=function(a,b,c){c&&!n(this)||m(this,a,b,c,this.da.type+".COLOR");this.da.qf!==b&&(this.da.qf=b,Cn(this,!1))};h.rl=function(a,b){return Jn(this,this.da,b)};function Fn(a,b,c,d){var e;b.Ic&&(e=b.Ac);m(a,c,null,d,"CRTC.INDX",e);return e}function Gn(a,b,c,d){var e;b.Ic&&b.Ac<b.rh&&(e=b.zb[b.Ac]);d&&!n(a)||m(a,c,null,d,"CRTC."+b.kg[b.Ac],e);return e}
function Hn(a,b,c,d,e){if(b.Ac<b.rh){e&&!n(a)||m(a,c,d,e,"CRTC."+b.kg[b.Ac]);b.zb[b.Ac]=d;if(12==b.Ac||13==b.Ac)En(a,b)&1?b.Vf=(b.zb[12]<<8)+b.zb[13]|0:b.nf||(b.nf=b.ii);(9==b.Ac&&8!=b.Kg||18==b.Ac&&223==d)&&Wm(a,!0);Xm(a)}}function In(a,b,c){var d=b.fd;m(a,b.port+4,null,c,"MODE",d);return d}function Jn(a,b,c){var d=En(a,b);b===a.A?(d|=b.sa&48^48,b.We=!1):d=(b.sa^=9)|240;b.sa=d;m(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var Im={948:em.prototype.Kl,949:em.prototype.Jl,952:em.prototype.Ll,954:em.prototype.Ml},Jm={948:em.prototype.dn,949:em.prototype.cn,952:em.prototype.en},Km={980:em.prototype.pl,981:em.prototype.ol,984:em.prototype.ql,985:em.prototype.nl,986:em.prototype.rl},Lm={980:em.prototype.Hm,981:em.prototype.Gm,984:em.prototype.Im,985:em.prototype.Fm},Mm={960:em.prototype.jl,961:em.prototype.Ik,962:em.prototype.Xl,964:em.prototype.Vl,965:em.prototype.Ul,974:em.prototype.Dl,975:em.prototype.Cl},Nm={954:em.prototype.hk,
960:em.prototype.gk,961:em.prototype.gk,962:em.prototype.fn,964:em.prototype.pn,965:em.prototype.on,970:em.prototype.Zm,972:em.prototype.Ym,974:em.prototype.Xm,975:em.prototype.Wm,986:em.prototype.hk},Om={963:em.prototype.Yl,966:em.prototype.wl,967:em.prototype.xl,969:em.prototype.vl,970:em.prototype.Zl,972:em.prototype.$l},Pm={963:em.prototype.rn,966:em.prototype.Nm,967:em.prototype.Om,968:em.prototype.Pm,969:em.prototype.Mm};
Sa(function(){for(var a=qb(document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=mb(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,
b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ia("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new am(d,e,g,f,c);pb(d,c)}});
function Gn(a){this.Y=a.adapter;switch(this.Y){case 1:this.O=956;this.P=7;break;case 2:this.O=888;this.P=7;break;case 3:this.O=632;this.P=5;break;default:Ba("Unrecognized parallel adapter #"+this.Y);return}this.A=this.C=null;Xa.call(this,"ParallelPort",a,Gn,4194304);a=a.binding;"console"==a?this.C="":ob(this,a,Hn)}gb(Gn);var Hn="buffer";h=Gn.prototype;h.Ub=function(a,b,c){switch(b){case Hn:return this.xa[b]=this.A=c,!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Jb(a,"ChipSet");nc(b,this,In,this.O);rc(b,this,Jn,this.O);xb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};h.reset=function(){Kn(this)};h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.ia;c[b++]=this.ec;c[b]=this.zf;ef(a,0,c);return a.data()};h.restore=function(a){return Kn(this,a[0])};
function Kn(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.ia=b[c++];a.ec=b[c++];a.zf=b[c];return!0}h.yl=function(a,b){var c=this.ia;m(this,a,null,b,"DATA",c);return c};h.Wl=function(a,b){var c=this.ec;m(this,a,null,b,"STAT",c);return c};h.ul=function(a,b){var c=this.zf;m(this,a,null,b,"CTRL",c);return c};
h.Qm=function(a,b,c){m(this,a,b,c,"DATA");this.ia=b;this.ec|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.C){if(10==b||1024<=this.C.length)this.U(this.C),this.C="";10!=b&&(this.C+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.ec&=-65);Ln(this)};h.Lm=function(a,b,c){m(this,a,b,c,"CTRL");this.zf=b;Ln(this)};function Ln(a){a.R&&a.P&&(a.zf&16&&!(a.ec&64)?$f(a.R,a.P):Zf(a.R,a.P))}
var In={0:Gn.prototype.yl,1:Gn.prototype.Wl,2:Gn.prototype.ul},Jn={0:Gn.prototype.Qm,2:Gn.prototype.Lm};Sa(function(){for(var a=qb(document,"pcjs","parallel"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Gn(d);pb(d,c)}});
function Mn(a){this.za=a.adapter;switch(this.za){case 1:this.ua=1016;this.ka=4;break;case 2:this.ua=760;this.ka=3;break;default:Ba("Unrecognized serial adapter #"+this.za);return}this.O=this.W=null;this.Ja=a.tabSize;this.Ha=a.charBOL;this.X=0;Xa.call(this,"SerialPort",a,Mn,8388608);a=a.binding;"console"==a?this.W="":ob(this,a,Nn)}gb(Mn);var Nn="buffer";h=Mn.prototype;h.Bi=function(a,b){return a==this.be?(this.Y=b,this):null};
h.Ub=function(a,b,c){var d=this;switch(b){case Nn:return this.xa[b]=this.O=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),On(d,[b]);return!0},c.onkeypress=function(a){a=a||window.event;On(d,[a.which||a.keyCode]);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Jb(a,"ChipSet");nc(b,this,Pn,this.ua);rc(b,this,Qn,this.ua);xb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};h.reset=function(){Rn(this)};
h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.wa;c[b++]=this.Ea;c[b++]=this.da;c[b++]=this.qa;c[b++]=this.ia;c[b++]=this.C;c[b++]=this.P;c[b++]=this.A;c[b++]=this.Ba;c[b]=this.la;ef(a,0,c);return a.data()};h.restore=function(a){return Rn(this,a[0])};function Rn(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.wa=b[c++];a.Ea=b[c++];a.da=b[c++];a.qa=b[c++];a.ia=b[c++];a.C=b[c++];a.P=b[c++];a.A=b[c++];a.Ba=b[c++];a.la=b[c];return!0}function On(a,b){a.la=a.la.concat(b);Sn(a)}
function Sn(a){0<a.la.length&&!(a.A&1)&&(a.wa=a.la.shift(),a.A|=1);var b=-1;a.A&1&&a.qa&1&&(b=4);0<=b?(a.ia&=-8,a.ia|=b,a.R&&a.ka&&$f(a.R,a.ka,100)):(a.ia|=1,a.R&&a.ka&&Zf(a.R,a.ka))}h.Tl=function(a,b){var c=this.C&128?this.da&255:this.wa;m(this,a,null,b,this.C&128?"DLL":"RBR",c);this.A&=-2;Sn(this);return c};h.El=function(a,b){var c=this.C&128?this.da>>8:this.qa;m(this,a,null,b,this.C&128?"DLM":"IER",c);return c};h.Fl=function(a,b){var c=this.ia;m(this,a,null,b,"IIR",c);return c};
b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ia("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new em(d,e,g,f,c);pb(d,c)}});
function Kn(a){this.Y=a.adapter;switch(this.Y){case 1:this.O=956;this.P=7;break;case 2:this.O=888;this.P=7;break;case 3:this.O=632;this.P=5;break;default:Ba("Unrecognized parallel adapter #"+this.Y);return}this.A=this.C=null;Xa.call(this,"ParallelPort",a,Kn,4194304);a=a.binding;"console"==a?this.C="":ob(this,a,Ln)}gb(Kn);var Ln="buffer";h=Kn.prototype;h.Ub=function(a,b,c){switch(b){case Ln:return this.xa[b]=this.A=c,!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Jb(a,"ChipSet");nc(b,this,Mn,this.O);rc(b,this,Nn,this.O);xb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};h.reset=function(){On(this)};h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.ia;c[b++]=this.ec;c[b]=this.zf;ef(a,0,c);return a.data()};h.restore=function(a){return On(this,a[0])};
function On(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.ia=b[c++];a.ec=b[c++];a.zf=b[c];return!0}h.yl=function(a,b){var c=this.ia;m(this,a,null,b,"DATA",c);return c};h.Wl=function(a,b){var c=this.ec;m(this,a,null,b,"STAT",c);return c};h.ul=function(a,b){var c=this.zf;m(this,a,null,b,"CTRL",c);return c};
h.Qm=function(a,b,c){m(this,a,b,c,"DATA");this.ia=b;this.ec|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.C){if(10==b||1024<=this.C.length)this.U(this.C),this.C="";10!=b&&(this.C+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.ec&=-65);Pn(this)};h.Lm=function(a,b,c){m(this,a,b,c,"CTRL");this.zf=b;Pn(this)};function Pn(a){a.R&&a.P&&(a.zf&16&&!(a.ec&64)?$f(a.R,a.P):Zf(a.R,a.P))}
var Mn={0:Kn.prototype.yl,1:Kn.prototype.Wl,2:Kn.prototype.ul},Nn={0:Kn.prototype.Qm,2:Kn.prototype.Lm};Sa(function(){for(var a=qb(document,"pcjs","parallel"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Kn(d);pb(d,c)}});
function Qn(a){this.za=a.adapter;switch(this.za){case 1:this.ua=1016;this.ka=4;break;case 2:this.ua=760;this.ka=3;break;default:Ba("Unrecognized serial adapter #"+this.za);return}this.O=this.W=null;this.Ja=a.tabSize;this.Ha=a.charBOL;this.X=0;Xa.call(this,"SerialPort",a,Qn,8388608);a=a.binding;"console"==a?this.W="":ob(this,a,Rn)}gb(Qn);var Rn="buffer";h=Qn.prototype;h.Bi=function(a,b){return a==this.be?(this.Y=b,this):null};
h.Ub=function(a,b,c){var d=this;switch(b){case Rn:return this.xa[b]=this.O=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),Sn(d,[b]);return!0},c.onkeypress=function(a){a=a||window.event;Sn(d,[a.which||a.keyCode]);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Jb(a,"ChipSet");nc(b,this,Tn,this.ua);rc(b,this,Un,this.ua);xb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};h.reset=function(){Vn(this)};
h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.wa;c[b++]=this.Ea;c[b++]=this.da;c[b++]=this.qa;c[b++]=this.ia;c[b++]=this.C;c[b++]=this.P;c[b++]=this.A;c[b++]=this.Ba;c[b]=this.la;ef(a,0,c);return a.data()};h.restore=function(a){return Vn(this,a[0])};function Vn(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.wa=b[c++];a.Ea=b[c++];a.da=b[c++];a.qa=b[c++];a.ia=b[c++];a.C=b[c++];a.P=b[c++];a.A=b[c++];a.Ba=b[c++];a.la=b[c];return!0}function Sn(a,b){a.la=a.la.concat(b);Wn(a)}
function Wn(a){0<a.la.length&&!(a.A&1)&&(a.wa=a.la.shift(),a.A|=1);var b=-1;a.A&1&&a.qa&1&&(b=4);0<=b?(a.ia&=-8,a.ia|=b,a.R&&a.ka&&$f(a.R,a.ka,100)):(a.ia|=1,a.R&&a.ka&&Zf(a.R,a.ka))}h.Tl=function(a,b){var c=this.C&128?this.da&255:this.wa;m(this,a,null,b,this.C&128?"DLL":"RBR",c);this.A&=-2;Wn(this);return c};h.El=function(a,b){var c=this.C&128?this.da>>8:this.qa;m(this,a,null,b,this.C&128?"DLM":"IER",c);return c};h.Fl=function(a,b){var c=this.ia;m(this,a,null,b,"IIR",c);return c};
h.Gl=function(a,b){var c=this.C;m(this,a,null,b,"LCR",c);return c};h.Il=function(a,b){var c=this.P;m(this,a,null,b,"MCR",c);return c};h.Hl=function(a,b){var c=this.A;m(this,a,null,b,"LSR",c);return c};h.Nl=function(a,b){var c=this.Ba;m(this,a,null,b,"MSR",c);return c};
h.qn=function(a,b,c){m(this,a,b,c,this.C&128?"DLL":"THR");if(this.C&128)this.da=this.da&-256|b;else{this.Ea=b;this.A&=-97;if(this.O)13==b?this.X=0:8==b?(this.O.value=this.O.value.slice(0,-1),0<this.X&&this.X--):(a=String.fromCharCode(b),c=32<=b?1:0,9==b&&(b=this.Ja||8,c=b-this.X%b,this.Ja&&(a=oa("",c))),this.Ha&&!this.X&&c&&(a=String.fromCharCode(this.Ha)+a),this.O.value+=a,this.O.scrollTop=this.O.scrollHeight,this.X+=c),b=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.U(this.W),this.W=
h.qn=function(a,b,c){m(this,a,b,c,this.C&128?"DLL":"THR");if(this.C&128)this.da=this.da&-256|b;else{this.Ea=b;this.A&=-97;if(this.O)13==b?this.X=0:8==b?(this.O.value=this.O.value.slice(0,-1),0<this.X&&this.X--):(a=String.fromCharCode(b),c=32<=b?1:0,9==b&&(b=this.Ja||8,c=b-this.X%b,this.Ja&&(a=pa("",c))),this.Ha&&!this.X&&c&&(a=String.fromCharCode(this.Ha)+a),this.O.value+=a,this.O.scrollTop=this.O.scrollHeight,this.X+=c),b=!0;else if(null!=this.W){if(10==b||1024<=this.W.length)this.U(this.W),this.W=
"";10!=b&&(this.W+=String.fromCharCode(b));b=!0}else b=!1;b&&(this.A|=96)}};h.$m=function(a,b,c){m(this,a,b,c,this.C&128?"DLM":"IER");this.C&128?this.da=this.da&255|b<<8:this.qa=b};h.an=function(a,b,c){m(this,a,b,c,"LCR");this.C=b};
h.bn=function(a,b,c){var d=this.P;m(this,a,b,c,"MCR");this.P=b;this.Y&&(d^b)&3&&(a=this.Y,b=this.P,(c=3==(b&3))?a.Ic||(d=!1,a.P&2||(a.reset(),sb(a,"serial mouse reset"),d=!0),a.P&1||(sb(a,"serial mouse ID requested"),d=!0),d&&(On(a.R,[77,77]),sb(a,"serial mouse ID sent")),Tn(a),a.Ic=c):a.Ic&&(sb(a,"serial mouse inactive"),Un(a),a.Ic=c),a.P=b)};
var Pn={0:Mn.prototype.Tl,1:Mn.prototype.El,2:Mn.prototype.Fl,3:Mn.prototype.Gl,4:Mn.prototype.Il,5:Mn.prototype.Hl,6:Mn.prototype.Nl},Qn={0:Mn.prototype.qn,1:Mn.prototype.$m,3:Mn.prototype.an,4:Mn.prototype.bn};Sa(function(){for(var a=qb(document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Mn(d);pb(d,c)}});function Vn(a){Xa.call(this,"Mouse",a,Vn,16777216);if(this.ua=a.serial)this.wa="SerialPort";this.qa=this.la=this.Ic=!1;this.C=[];this.A=[];xb(this)}gb(Vn);var Om=0;h=Vn.prototype;
h.Jc=function(a,b,c,d){this.ia=a;this.ja=b;this.M=c;this.ma=d;for(b=null;b=Jb(a,"Video",b);)this.C.push(b)};h.lc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.wa&&!this.R){for(var c=null;(c=Jb(this.ia,this.wa,c))&&(!c.Bi||!(this.R=c.Bi(this.ua,this))););if(this.R)for(this.A=[],c=0;c<this.C.length;c++){var d;d=this.C[c];d.Y=this;(d=d.ia)&&this.A.push(d)}else Ba(this.id+": "+this.wa+" "+this.ua+" unavailable")}this.Ic?Tn(this):Un(this)}return!0};
h.kc=function(a){return a?this.save():!0};h.reset=function(){Wn(this)};h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.Ic;c[b++]=this.O;c[b++]=this.Y;c[b++]=this.W;c[b++]=this.X;c[b++]=this.da;c[b++]=this.ka;c[b]=this.P;ef(a,0,c);return a.data()};h.restore=function(a){return Wn(this,a[0])};function Wn(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Ic=d;a.O=b[c++];a.Y=b[c++];a.W=b[c++];a.X=b[c++];a.da=b[c++];a.ka=b[c++];a.P=b[c];return!0}h.Tf=function(a){this.la=a};
function Tn(a){if(!a.qa)for(var b=0;b<a.A.length;b++)Xn(a,a.A[b])&&(a.qa=!0)}function Un(a){if(a.qa)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function Xn(a,b){return b?(b.addEventListener("mousemove",function(b){Yn(a,b)},!1),b.addEventListener("mousedown",function(b){Yn(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Yn(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Yn(a,b,c){if(void 0!==c){var d;!(d=!1!==a.la)&&(d=a.C.length)&&(d=a.C[0],d=d.Qg?d.ze(!0):!1);d||(a.la=null);a.ge(b.button,c)}else{if(0>a.O||0>a.Y)a.O=b.clientX,a.Y=b.clientY;a.la?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.O,d=b.clientY-a.Y);a.O=b.clientX;a.Y=b.clientY;a.Ff(c,d,a.O,a.Y)}}
h.ge=function(a,b){if(this.Ic&&this.M&&this.M.ra.Ob){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case Om:this.da!=b&&(this.da=b,Zn(this,c));break;case 2:this.ka!=b&&(this.ka=b,Zn(this,c))}}};h.Ff=function(a,b,c,d){this.Ic&&this.M&&this.M.ra.Ob&&(a||b)&&(this.W=a,this.X=b,Zn(this,null,c,d))};
function Zn(a,b,c,d){var e=64|(a.da?32:0)|(a.ka?16:0)|(a.X&192)>>4|(a.W&192)>>6,f=a.W&63,g=a.X&63;n(a,8388608)&&sb(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+ga(e)+","+ga(f)+","+ga(g)+"]",0,!0);On(a.R,[e,f,g]);a.W=a.X=0}Sa(function(){for(var a=qb(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Vn(d);pb(d,c)}});
function $n(a,b,c){Xa.call(this,"Disk",{id:a.se+".disk"+l(++ao,4)},$n,2097152);this.controller=a;this.ia=a.ia;this.ma=a.ma;this.C=b;this.O=b.name;this.af=b.af;this.rg=this.P=!1;bo(this,c,b.Gb,b.yb,b.ob,b.$a);this.W=[];this.ka=[];this.ja=null;this.qa=0;this.la=!1;xb(this)}var ao=0;gb($n);function co(a,b,c,d,e,f){this.Da=a;this.nc=c;this.Zg=d;this.Fi=e;this.ue=f}var eo=[0,2],fo=[24,2],go=[60,4],ho=[0,2],io=[4,2],jo=[6,2],ko=[28,2],lo=[32,2],mo=[34,2],no=[38,2],oo=[44,4],po=[50,2];
function qo(a,b,c){var d;c=c||2;var e=b&511,f=ro(a.Da,a.ue[b>>9]);if(f){if(e+c<=f.length)return so(a.Da,f,e,c);for(e=d=0;c--;)d|=qo(a,b++,1)<<e,e+=8}return d}function to(a,b,c){return qo(a,b[0]+(c||0),b[1])}function uo(a,b,c){for(var d=0;!c||b<c;){var e=qo(a,b,1);if(!e)break;var f;f=a;var g=b+1,k=e,q="";for(k||(k=-1);k--;){var r=qo(f,g++,1);if(!r)break;q+=String.fromCharCode(r)}f=q;if(!f)break;b+=1+e;if(d){if(e=qo(a,b),g=a.A[e])g=g[0],a.Ad[g]&&a.Ad[g].te[e].push(f)}else c||(a.cg=f);b+=2;d++}}
co.prototype.Vi=function(a,b){var c=null;if(this.Ad)for(var d in this.Ad){var e=this.Ad[d];if(a>=e.ji&&a<=e.dk){d=a-=e.ji;var f,g;for(g in e.te){var k=e.te[g],q=a-k[0];if(!q){c=this.cg+"!"+k[1];break}b&&0<q&&q<d&&(f=k,d=q)}!c&&f&&(c=this.cg+"!"+f[1]+"+"+ia(d));break}}return c||this.nc+"+"+("0x"+l(a))};h=$n.prototype;h.Jc=function(a,b,c,d){this.ma=d};h.lc=function(a,b){b||!this.rg||this.P||(xb(this,!1),this.load(this.O,this.Y,null,this.Vk,this));return!0};h.Vk=function(){xb(this,!0)};
h.kc=function(a,b){if(this.P){var c,d=0;if(this.la&&!Ca("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=vo(this,!1);)if(d=c[0]){this.controller.Ua('Unable to save "'+this.O+'" (error '+d+")");break}b&&this.P&&(c="action=close&volume="+this.Y,c+="&machine="+this.controller.ef(),c+="&user="+this.controller.he(),za(Aa()+"/api/v1/disk?"+c,!0),this.P=!1);!d&&a&&this.controller.Ua(this.O+" saved")}return!0};
function bo(a,b,c,d,e,f){a.mode=b;a.Gb=c;a.yb=d;a.ob=e;a.$a=f;a.A=[];if("preload"!=a.mode){b=Array(a.Gb);for(c=0;c<b.length;c++){d=Array(a.yb);for(e=0;e<d.length;e++){f=Array(a.ob);for(var g=1;g<=f.length;g++)f[g-1]=wo(null,c,e,g,a.$a,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.da=null}
h.load=function(a,b,c,d,e){var f=b;if(!this.X)if(this.O=a,this.Y=b,this.ri=ja(b),this.X=d,this.ua=e||this.controller,c){var g=this,k=new FileReader;k.onload=function(){var a=k.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Gb=d[0];g.yb=d[1];g.ob=d[2];g.$a=512;b=g.$a>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Gb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.yb),U=0;U<f.length;U++)for(var F=f[U]=Array(g.ob),O=0;O<F.length;O++){for(var V=wo(null,c,U,O+1,g.$a,0),Y=V.data,ha=0;ha<b;ha++,e+=4)var da=
Y[ha]=a.getInt32(e,!0),d=d+da&-1;V.$c=b;F[O]=V}g.da=d;b=g}else g.Ua("Unrecognized diskette format ("+c+" bytes)");g.X&&(g.X.call(g.controller,g.C,b,g.O,g.Y),g.X=null)};k.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ka(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=xo(this,b),this.rg=!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"):la(b,"/")&&(c="dir"),
h.bn=function(a,b,c){var d=this.P;m(this,a,b,c,"MCR");this.P=b;this.Y&&(d^b)&3&&(a=this.Y,b=this.P,(c=3==(b&3))?a.Ic||(d=!1,a.P&2||(a.reset(),sb(a,"serial mouse reset"),d=!0),a.P&1||(sb(a,"serial mouse ID requested"),d=!0),d&&(Sn(a.R,[77,77]),sb(a,"serial mouse ID sent")),Xn(a),a.Ic=c):a.Ic&&(sb(a,"serial mouse inactive"),Yn(a),a.Ic=c),a.P=b)};
var Tn={0:Qn.prototype.Tl,1:Qn.prototype.El,2:Qn.prototype.Fl,3:Qn.prototype.Gl,4:Qn.prototype.Il,5:Qn.prototype.Hl,6:Qn.prototype.Nl},Un={0:Qn.prototype.qn,1:Qn.prototype.$m,3:Qn.prototype.an,4:Qn.prototype.bn};Sa(function(){for(var a=qb(document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Qn(d);pb(d,c)}});function Zn(a){Xa.call(this,"Mouse",a,Zn,16777216);if(this.ua=a.serial)this.wa="SerialPort";this.qa=this.la=this.Ic=!1;this.C=[];this.A=[];xb(this)}gb(Zn);var Sm=0;h=Zn.prototype;
h.Jc=function(a,b,c,d){this.ia=a;this.ja=b;this.M=c;this.ma=d;for(b=null;b=Jb(a,"Video",b);)this.C.push(b)};h.lc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.wa&&!this.R){for(var c=null;(c=Jb(this.ia,this.wa,c))&&(!c.Bi||!(this.R=c.Bi(this.ua,this))););if(this.R)for(this.A=[],c=0;c<this.C.length;c++){var d;d=this.C[c];d.Y=this;(d=d.ia)&&this.A.push(d)}else Ba(this.id+": "+this.wa+" "+this.ua+" unavailable")}this.Ic?Xn(this):Yn(this)}return!0};
h.kc=function(a){return a?this.save():!0};h.reset=function(){$n(this)};h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.Ic;c[b++]=this.O;c[b++]=this.Y;c[b++]=this.W;c[b++]=this.X;c[b++]=this.da;c[b++]=this.ka;c[b]=this.P;ef(a,0,c);return a.data()};h.restore=function(a){return $n(this,a[0])};function $n(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Ic=d;a.O=b[c++];a.Y=b[c++];a.W=b[c++];a.X=b[c++];a.da=b[c++];a.ka=b[c++];a.P=b[c];return!0}h.Tf=function(a){this.la=a};
function Xn(a){if(!a.qa)for(var b=0;b<a.A.length;b++)ao(a,a.A[b])&&(a.qa=!0)}function Yn(a){if(a.qa)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function ao(a,b){return b?(b.addEventListener("mousemove",function(b){bo(a,b)},!1),b.addEventListener("mousedown",function(b){bo(a,b,!0)},!1),b.addEventListener("mouseup",function(b){bo(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function bo(a,b,c){if(void 0!==c){var d;!(d=!1!==a.la)&&(d=a.C.length)&&(d=a.C[0],d=d.Qg?d.ze(!0):!1);d||(a.la=null);a.ge(b.button,c)}else{if(0>a.O||0>a.Y)a.O=b.clientX,a.Y=b.clientY;a.la?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.O,d=b.clientY-a.Y);a.O=b.clientX;a.Y=b.clientY;a.Ff(c,d,a.O,a.Y)}}
h.ge=function(a,b){if(this.Ic&&this.M&&this.M.ra.Ob){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case Sm:this.da!=b&&(this.da=b,co(this,c));break;case 2:this.ka!=b&&(this.ka=b,co(this,c))}}};h.Ff=function(a,b,c,d){this.Ic&&this.M&&this.M.ra.Ob&&(a||b)&&(this.W=a,this.X=b,co(this,null,c,d))};
function co(a,b,c,d){var e=64|(a.da?32:0)|(a.ka?16:0)|(a.X&192)>>4|(a.W&192)>>6,f=a.W&63,g=a.X&63;n(a,8388608)&&sb(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+ga(e)+","+ga(f)+","+ga(g)+"]",0,!0);Sn(a.R,[e,f,g]);a.W=a.X=0}Sa(function(){for(var a=qb(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Zn(d);pb(d,c)}});
function eo(a,b,c){Xa.call(this,"Disk",{id:a.se+".disk"+l(++fo,4)},eo,2097152);this.controller=a;this.ia=a.ia;this.ma=a.ma;this.C=b;this.O=b.name;this.af=b.af;this.rg=this.P=!1;go(this,c,b.Gb,b.yb,b.ob,b.$a);this.W=[];this.ka=[];this.ja=null;this.qa=0;this.la=!1;xb(this)}var fo=0;gb(eo);function ho(a,b,c,d,e,f){this.Da=a;this.nc=c;this.Zg=d;this.Fi=e;this.ue=f}var io=[0,2],jo=[24,2],ko=[60,4],lo=[0,2],mo=[4,2],no=[6,2],oo=[28,2],po=[32,2],qo=[34,2],ro=[38,2],so=[44,4],to=[50,2];
function uo(a,b,c){var d;c=c||2;var e=b&511,f=vo(a.Da,a.ue[b>>9]);if(f){if(e+c<=f.length)return wo(a.Da,f,e,c);for(e=d=0;c--;)d|=uo(a,b++,1)<<e,e+=8}return d}function xo(a,b,c){return uo(a,b[0]+(c||0),b[1])}function yo(a,b,c){for(var d=0;!c||b<c;){var e=uo(a,b,1);if(!e)break;var f;f=a;var g=b+1,k=e,q="";for(k||(k=-1);k--;){var r=uo(f,g++,1);if(!r)break;q+=String.fromCharCode(r)}f=q;if(!f)break;b+=1+e;if(d){if(e=uo(a,b),g=a.A[e])g=g[0],a.Ad[g]&&a.Ad[g].te[e].push(f)}else c||(a.cg=f);b+=2;d++}}
ho.prototype.Vi=function(a,b){var c=null;if(this.Ad)for(var d in this.Ad){var e=this.Ad[d];if(a>=e.ji&&a<=e.dk){d=a-=e.ji;var f,g;for(g in e.te){var k=e.te[g],q=a-k[0];if(!q){c=this.cg+"!"+k[1];break}b&&0<q&&q<d&&(f=k,d=q)}!c&&f&&(c=this.cg+"!"+f[1]+"+"+ia(d));break}}return c||this.nc+"+"+("0x"+l(a))};h=eo.prototype;h.Jc=function(a,b,c,d){this.ma=d};h.lc=function(a,b){b||!this.rg||this.P||(xb(this,!1),this.load(this.O,this.Y,null,this.Vk,this));return!0};h.Vk=function(){xb(this,!0)};
h.kc=function(a,b){if(this.P){var c,d=0;if(this.la&&!Ca("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=zo(this,!1);)if(d=c[0]){this.controller.Ua('Unable to save "'+this.O+'" (error '+d+")");break}b&&this.P&&(c="action=close&volume="+this.Y,c+="&machine="+this.controller.ef(),c+="&user="+this.controller.he(),za(Aa()+"/api/v1/disk?"+c,!0),this.P=!1);!d&&a&&this.controller.Ua(this.O+" saved")}return!0};
function go(a,b,c,d,e,f){a.mode=b;a.Gb=c;a.yb=d;a.ob=e;a.$a=f;a.A=[];if("preload"!=a.mode){b=Array(a.Gb);for(c=0;c<b.length;c++){d=Array(a.yb);for(e=0;e<d.length;e++){f=Array(a.ob);for(var g=1;g<=f.length;g++)f[g-1]=Ao(null,c,e,g,a.$a,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.da=null}
h.load=function(a,b,c,d,e){var f=b;if(!this.X)if(this.O=a,this.Y=b,this.ri=ja(b),this.X=d,this.ua=e||this.controller,c){var g=this,k=new FileReader;k.onload=function(){var a=k.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Gb=d[0];g.yb=d[1];g.ob=d[2];g.$a=512;b=g.$a>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Gb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.yb),U=0;U<f.length;U++)for(var F=f[U]=Array(g.ob),O=0;O<F.length;O++){for(var V=Ao(null,c,U,O+1,g.$a,0),Y=V.data,ha=0;ha<b;ha++,e+=4)var da=
Y[ha]=a.getInt32(e,!0),d=d+da&-1;V.$c=b;F[O]=V}g.da=d;b=g}else g.Ua("Unrecognized diskette format ("+c+" bytes)");g.X&&(g.X.call(g.controller,g.C,b,g.O,g.Y),g.X=null)};k.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ka(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Bo(this,b),this.rg=!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"):la(b,"/")&&(c="dir"),
f=Aa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.af?"":d)+"&format=json")),za(f,!0,null,this,this.yk)};
h.yk=function(a,b,c){var d=null;this.df=!1;var e=0>c&&this.ia&&!this.ia.ra.hc;if(this.rg)c?this.controller.Ua('Unable to connect to disk "'+this.Y+'" (error '+c+": "+b+")",e):(this.P=!0,yo(this),d=this);else if(c)this.controller.Ua('Unable to load disk "'+this.O+'" (error '+c+": "+a+")",e);else{ib(this.controller.se,a,b);try{if(0<ja(this.ri,!0).toLowerCase().indexOf("-readonly"))this.df=!0;else{var f=b.indexOf("\n");0<f&&1024>f&&0<b.substring(0,f).indexOf("write-protected")&&(this.df=!0)}var g;"<"==
h.yk=function(a,b,c){var d=null;this.df=!1;var e=0>c&&this.ia&&!this.ia.ra.hc;if(this.rg)c?this.controller.Ua('Unable to connect to disk "'+this.Y+'" (error '+c+": "+b+")",e):(this.P=!0,Co(this),d=this);else if(c)this.controller.Ua('Unable to load disk "'+this.O+'" (error '+c+": "+a+")",e);else{ib(this.controller.se,a,b);try{if(0<ja(this.ri,!0).toLowerCase().indexOf("-readonly"))this.df=!0;else{var f=b.indexOf("\n");0<f&&1024>f&&0<b.substring(0,f).indexOf("write-protected")&&(this.df=!0)}var g;"<"==
b.substr(0,1)?g=["Missing disk image: "+this.O]:g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(g.length)if(1==g.length)Ba(g[0]);else{this.Gb=g.length;this.yb=g[0].length;this.ob=g[0][0].length;var k=g[0][0][0];this.$a=k&&k.length||512;for(c=b=0;c<this.Gb;c++)for(e=0;e<this.yb;e++)for(f=0;f<this.ob;f++)if(k=g[c][e][f]){var q=k.length;void 0===q&&(q=k.length=512);var q=q>>2,r=k.pattern;void 0===r&&(r=k.pattern=0);var x=
k.data;if(void 0===x){var B=k.bytes;if(void 0!==B&&B.length){for(var y=q<<2,J=B.length;J<y;J++)B[J]=r;zo(k,B,0)}else x=[],r=k.pattern=r|r<<8|r<<16|r<<24,k.data=x;delete k.bytes}wo(k,c,e);for(y=0;y<x.length;y++)b=b+x[y]&-1}this.A=g;this.da=b;yo(this);d=this}else Ba("Empty disk image: "+this.O)}catch(U){Ba("Disk image error ("+a+"): "+U.message)}}this.X&&(this.X.call(this.ua,this.C,d,this.O,this.Y),this.X=null)};
function yo(a){var b,c,d={},e;if(a.R&&a.R.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.sm)}a.R=[];d.Wf=d.Ef=0;b=a.Gb*a.yb*a.ob*a.$a;a.P&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=ro(a,0)){d.$a=so(a,e,11,2);f=!0;if(d.$a!=a.$a){f=!1;d.Df=1;d.Ag=12;d.oh=d.Df+2;d.yg=1;d.$a=a.$a;if(163840==b&&254==Ao(a,d,0,0))d.Ef=320,d.yh=64,f=!0;else if(327680==b&&255==Ao(a,d,0,0))d.Ef=640,
d.yh=112,f=!0;else for(c=446,b=0;4>b;b++){if(128==so(a,e,c+0,1)){d.Wf=so(a,e,c+8,4);(e=ro(a,d.Wf))&&(f=!0);break}c+=16}if(!f)return}d.Ef||(d.Ef=so(a,e,19,2)||so(a,e,32,4),d.Df=so(a,e,14,2),d.oh=d.Df+so(a,e,22,2)*so(a,e,16,1),d.yh=so(a,e,17,2),d.yg=so(a,e,13,1));d.mh=d.oh+((32*d.yh+(d.$a-1))/d.$a|0);d.nm=(d.Ef-d.mh)/d.yg|0;d.Ag=4084>=d.nm?12:16;d.$k=12==d.Ag?4086:65526;b=[];for(e=d.oh;e<d.mh;e++)b.push(d.Wf+e);Bo(a,d,a.ri,"",b);for(b=0;b<a.R.length;b++){d=a.R[b];for(e=c=0;e<d.ue.length;e++){var f=
d.ue[e],g=c,k=a.yb*a.ob,q=f%k,r=q/a.ob|0,q=q%a.ob,x=void 0,B=void 0,y=void 0;(x=a.A[f/k|0])&&(B=x[r])&&(y=B[q])&&!y.file&&(y.file=d,y.sm=g);c+=a.$a}e=d;if((la(e.nc,".EXE")||la(e.nc,".DLL")||la(e.nc,".DRV"))&&23117==to(e,eo)&&64==to(e,fo)&&(c=to(e,go),17742==to(e,ho,c))){r=to(e,ko,c);g=to(e,mo,c);k=to(e,po,c);if(g&&r){d=e;f=g+c;g=r;k=k||0;r=1;d.Ad=[];for(d.A=[];g--;){if(q=qo(d,f)<<k)x=qo(d,f+2)||65536,d.Ad[r++]={ji:q,dk:q+x-1,te:[]};f+=8}d.Ad[254]={ji:0,dk:0,te:[]}}g=to(e,io,c);k=to(e,jo,c);if(g&&
k)for(d=e,f=g+=c,g=g+k,k=1;f<g;){q=qo(d,f);r=q&255;if(!r)break;q=q>>8;f+=2;if(q)for(;r--;)qo(d,f,1),254>=q?(x=q,B=qo(d,f+1),f+=3):(x=qo(d,f+3,1),B=qo(d,f+4),f+=6),d.Ad[x]&&(d.Ad[x].te[k]=[B]),d.A[k]=[x,B],k++;else k+=r}(g=to(e,no,c))&&uo(e,g+c);g=to(e,oo,c);k=to(e,lo,c);g&&k&&uo(e,g,g+k)}}}}
function Bo(a,b,c,d,e){var f,g=a.R.length,k=b.$a/32|0;b.Co=d+"\\";for(var q=0;q<e.length;q++)for(var r=e[q],x=0;x<k;x++){var B=a,y=b;f=x;y.re&&y.li&&y.li==r||(y.li=r,y.re=ro(B,y.li));if(y.re){f*=32;var J=so(B,y.re,f,1);if(0==J)f=!1;else{if(229==J)y.nc=null;else{y.nc=qa(Co(B,y.re,f+0,8));J=qa(Co(B,y.re,f+8,3));J.length&&(y.nc+="."+J);y.Zg=so(B,y.re,f+11,1);y.Fi=so(B,y.re,f+28,2);y.Zk=so(B,y.re,f+26,2);f=y;var J=[],U=y.Zk;if(U){do{if(2>U)break;for(var F=y.mh+(U-2)*y.yg,O=0;O<y.yg;O++)J.push(y.Wf+F++);
U=Ao(B,y,U,0)|Ao(B,y,U,1)}while(U<=y.$k)}f.ue=J}f=!0}}else f=!1;if(!f){q=e.length;break}null!=b.nc&&"."!=b.nc&&".."!=b.nc&&(f=new co(a,0,b.nc,b.Zg,b.Fi,b.ue),a.R.push(f))}for(e=a.R.length;g<e;g++)f=a.R[g],f.Zg&16&&f.ue.length&&Bo(a,b,c,d+"\\"+f.nc,f.ue)}function Ao(a,b,c,d){var e=0,f=8*b.$a;c=b.Ag*c+(d?8:0);var g=c/f|0;b.si&&b.nh&&b.nh==b.Df+g||(b.nh=b.Df+g,b.si=ro(a,b.Wf+b.nh));b.si&&(c=c%f|0,e=so(a,b.si,c>>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e}
function ro(a,b){var c=a.yb*a.ob,d=b/c|0;return d<a.Gb?(c=b%c,a.seek(d,c/a.ob|0,c%a.ob+1)):null}function so(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 Co(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 wo(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.al=b;a.bl=c;a.yd=a.$c=0;a.ab=!1;return a}
function xo(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Gb+":"+a.yb+":"+a.ob+":"+a.$a;c+="&machine="+a.controller.ef();c+="&user="+a.controller.he();return Aa()+"/api/v1/disk?"+c}function Do(a,b,c,d,e,f,g){if(a.P){var k;k="action=read&volume="+a.Y;k+="&chs="+a.Gb+":"+a.yb+":"+a.ob+":"+a.$a;k=k+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ef());k+="&user="+a.controller.he();za(Aa()+"/api/v1/disk?"+k,f,null,a,a.Wk,[b,c,d,e,f,g])}else g&&g(-1,!1)}
h.Wk=function(a,b,c,d){var e=!1;a=d[0];var f=d[1],g=d[2],k=d[3];if(!c){b=JSON.parse(b);for(e=0;k--;){var q=this.seek(a,f,g,!0);if(!q)break;zo(q,b,e);e+=q.length;g++}e=d[4]}(d=d[5])&&d(c,e)};h.Xk=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.la=!1;if(0<=a&&a<this.A.length&&0<=b&&b<this.A[a].length)for(e=e-1;0<f--&&0<=e&&e<this.A[a][b].length;e++){var g=this.A[a][b][e];c?Eo(this,g,!1):g.ab||(g.yd=g.$c=0)}d&&Fo(this)};
function Eo(a,b,c){b.ab=!0;var d=a.W.indexOf(b);0<=d&&(a.W.splice(d,1),a.ka.splice(d,1));a.W.push(b);a.ka.push(sa());c&&Fo(a)}function Fo(a){if(a.W.length){var b=a.ka[0]+2E3;a.ja&&a.qa<b&&(clearTimeout(a.ja),a.ja=null);if(!a.ja){var c=sa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.ja=setTimeout(function(){vo(a,!0)},b);a.qa=c+b}}else a.ja&&(clearTimeout(a.ja),a.ja=null)}
function vo(a,b){b&&(a.ja=null);var c=a.W[0];if(c){for(var d=c.al,e=c.bl,c=c.sector,f=0,g=[],k=c-1;k<a.A[d][e].length;k++){var q=a.A[d][e][k];if(!q.ab)break;var r=a.W.indexOf(q);a.W.splice(r,1);a.ka.splice(r,1);g=g.concat(Go(q));q.ab=!1;f++}a.P?(k={},a.la=!0,k.action="write",k.volume=a.Y,k.chs=a.Gb+":"+a.yb+":"+a.ob+":"+a.$a,k.addr=d+":"+e+":"+c+":"+f,k.machine=a.controller.ef(),k.user=a.controller.he(),k.data=JSON.stringify(g),d=za(Aa()+"/api/v1/disk",b,k,a,a.Xk,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.data;if(void 0===x){var B=k.bytes;if(void 0!==B&&B.length){for(var y=q<<2,J=B.length;J<y;J++)B[J]=r;Do(k,B,0)}else x=[],r=k.pattern=r|r<<8|r<<16|r<<24,k.data=x;delete k.bytes}Ao(k,c,e);for(y=0;y<x.length;y++)b=b+x[y]&-1}this.A=g;this.da=b;Co(this);d=this}else Ba("Empty disk image: "+this.O)}catch(U){Ba("Disk image error ("+a+"): "+U.message)}}this.X&&(this.X.call(this.ua,this.C,d,this.O,this.Y),this.X=null)};
function Co(a){var b,c,d={},e;if(a.R&&a.R.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.sm)}a.R=[];d.Wf=d.Ef=0;b=a.Gb*a.yb*a.ob*a.$a;a.P&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=vo(a,0)){d.$a=wo(a,e,11,2);f=!0;if(d.$a!=a.$a){f=!1;d.Df=1;d.Ag=12;d.oh=d.Df+2;d.yg=1;d.$a=a.$a;if(163840==b&&254==Eo(a,d,0,0))d.Ef=320,d.yh=64,f=!0;else if(327680==b&&255==Eo(a,d,0,0))d.Ef=640,
d.yh=112,f=!0;else for(c=446,b=0;4>b;b++){if(128==wo(a,e,c+0,1)){d.Wf=wo(a,e,c+8,4);(e=vo(a,d.Wf))&&(f=!0);break}c+=16}if(!f)return}d.Ef||(d.Ef=wo(a,e,19,2)||wo(a,e,32,4),d.Df=wo(a,e,14,2),d.oh=d.Df+wo(a,e,22,2)*wo(a,e,16,1),d.yh=wo(a,e,17,2),d.yg=wo(a,e,13,1));d.mh=d.oh+((32*d.yh+(d.$a-1))/d.$a|0);d.nm=(d.Ef-d.mh)/d.yg|0;d.Ag=4084>=d.nm?12:16;d.$k=12==d.Ag?4086:65526;b=[];for(e=d.oh;e<d.mh;e++)b.push(d.Wf+e);Fo(a,d,a.ri,"",b);for(b=0;b<a.R.length;b++){d=a.R[b];for(e=c=0;e<d.ue.length;e++){var f=
d.ue[e],g=c,k=a.yb*a.ob,q=f%k,r=q/a.ob|0,q=q%a.ob,x=void 0,B=void 0,y=void 0;(x=a.A[f/k|0])&&(B=x[r])&&(y=B[q])&&!y.file&&(y.file=d,y.sm=g);c+=a.$a}e=d;if((la(e.nc,".EXE")||la(e.nc,".DLL")||la(e.nc,".DRV"))&&23117==xo(e,io)&&64==xo(e,jo)&&(c=xo(e,ko),17742==xo(e,lo,c))){r=xo(e,oo,c);g=xo(e,qo,c);k=xo(e,to,c);if(g&&r){d=e;f=g+c;g=r;k=k||0;r=1;d.Ad=[];for(d.A=[];g--;){if(q=uo(d,f)<<k)x=uo(d,f+2)||65536,d.Ad[r++]={ji:q,dk:q+x-1,te:[]};f+=8}d.Ad[254]={ji:0,dk:0,te:[]}}g=xo(e,mo,c);k=xo(e,no,c);if(g&&
k)for(d=e,f=g+=c,g=g+k,k=1;f<g;){q=uo(d,f);r=q&255;if(!r)break;q=q>>8;f+=2;if(q)for(;r--;)uo(d,f,1),254>=q?(x=q,B=uo(d,f+1),f+=3):(x=uo(d,f+3,1),B=uo(d,f+4),f+=6),d.Ad[x]&&(d.Ad[x].te[k]=[B]),d.A[k]=[x,B],k++;else k+=r}(g=xo(e,ro,c))&&yo(e,g+c);g=xo(e,so,c);k=xo(e,po,c);g&&k&&yo(e,g,g+k)}}}}
function Fo(a,b,c,d,e){var f,g=a.R.length,k=b.$a/32|0;b.Co=d+"\\";for(var q=0;q<e.length;q++)for(var r=e[q],x=0;x<k;x++){var B=a,y=b;f=x;y.re&&y.li&&y.li==r||(y.li=r,y.re=vo(B,y.li));if(y.re){f*=32;var J=wo(B,y.re,f,1);if(0==J)f=!1;else{if(229==J)y.nc=null;else{y.nc=qa(Go(B,y.re,f+0,8));J=qa(Go(B,y.re,f+8,3));J.length&&(y.nc+="."+J);y.Zg=wo(B,y.re,f+11,1);y.Fi=wo(B,y.re,f+28,2);y.Zk=wo(B,y.re,f+26,2);f=y;var J=[],U=y.Zk;if(U){do{if(2>U)break;for(var F=y.mh+(U-2)*y.yg,O=0;O<y.yg;O++)J.push(y.Wf+F++);
U=Eo(B,y,U,0)|Eo(B,y,U,1)}while(U<=y.$k)}f.ue=J}f=!0}}else f=!1;if(!f){q=e.length;break}null!=b.nc&&"."!=b.nc&&".."!=b.nc&&(f=new ho(a,0,b.nc,b.Zg,b.Fi,b.ue),a.R.push(f))}for(e=a.R.length;g<e;g++)f=a.R[g],f.Zg&16&&f.ue.length&&Fo(a,b,c,d+"\\"+f.nc,f.ue)}function Eo(a,b,c,d){var e=0,f=8*b.$a;c=b.Ag*c+(d?8:0);var g=c/f|0;b.si&&b.nh&&b.nh==b.Df+g||(b.nh=b.Df+g,b.si=vo(a,b.Wf+b.nh));b.si&&(c=c%f|0,e=wo(a,b.si,c>>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e}
function vo(a,b){var c=a.yb*a.ob,d=b/c|0;return d<a.Gb?(c=b%c,a.seek(d,c/a.ob|0,c%a.ob+1)):null}function wo(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 Go(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 Ao(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.al=b;a.bl=c;a.yd=a.$c=0;a.ab=!1;return a}
function Bo(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Gb+":"+a.yb+":"+a.ob+":"+a.$a;c+="&machine="+a.controller.ef();c+="&user="+a.controller.he();return Aa()+"/api/v1/disk?"+c}function Ho(a,b,c,d,e,f,g){if(a.P){var k;k="action=read&volume="+a.Y;k+="&chs="+a.Gb+":"+a.yb+":"+a.ob+":"+a.$a;k=k+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ef());k+="&user="+a.controller.he();za(Aa()+"/api/v1/disk?"+k,f,null,a,a.Wk,[b,c,d,e,f,g])}else g&&g(-1,!1)}
h.Wk=function(a,b,c,d){var e=!1;a=d[0];var f=d[1],g=d[2],k=d[3];if(!c){b=JSON.parse(b);for(e=0;k--;){var q=this.seek(a,f,g,!0);if(!q)break;Do(q,b,e);e+=q.length;g++}e=d[4]}(d=d[5])&&d(c,e)};h.Xk=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.la=!1;if(0<=a&&a<this.A.length&&0<=b&&b<this.A[a].length)for(e=e-1;0<f--&&0<=e&&e<this.A[a][b].length;e++){var g=this.A[a][b][e];c?Io(this,g,!1):g.ab||(g.yd=g.$c=0)}d&&Jo(this)};
function Io(a,b,c){b.ab=!0;var d=a.W.indexOf(b);0<=d&&(a.W.splice(d,1),a.ka.splice(d,1));a.W.push(b);a.ka.push(sa());c&&Jo(a)}function Jo(a){if(a.W.length){var b=a.ka[0]+2E3;a.ja&&a.qa<b&&(clearTimeout(a.ja),a.ja=null);if(!a.ja){var c=sa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.ja=setTimeout(function(){zo(a,!0)},b);a.qa=c+b}}else a.ja&&(clearTimeout(a.ja),a.ja=null)}
function zo(a,b){b&&(a.ja=null);var c=a.W[0];if(c){for(var d=c.al,e=c.bl,c=c.sector,f=0,g=[],k=c-1;k<a.A[d][e].length;k++){var q=a.A[d][e][k];if(!q.ab)break;var r=a.W.indexOf(q);a.W.splice(r,1);a.ka.splice(r,1);g=g.concat(Ko(q));q.ab=!1;f++}a.P?(k={},a.la=!0,k.action="write",k.volume=a.Y,k.chs=a.Gb+":"+a.yb+":"+a.ob+":"+a.$a,k.addr=d+":"+e+":"+c+":"+f,k.machine=a.controller.ef(),k.user=a.controller.he(),k.data=JSON.stringify(g),d=za(Aa()+"/api/v1/disk",b,k,a,a.Xk,[d,e,c,f,b])):d=!1;return b||d}return!1}
h.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]};
h.seek=function(a,b,c,d,e){var f=null,g=this.C,k=this.A[a];if(k){var q=k[b];if(!q&&g.ah&&b<g.yb)for(q=k[b]=Array(g.ee),k=0;k<q.length;k++)q[k]=wo(null,a,b,k+1,g.Nb,0);if(q){for(k=0;k<q.length;k++)if(q[k]&&q[k].sector==c){f=q[k];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++k<q.length;)null===q[k].pattern&&d++;Do(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.ah&&9==g.Cb&&(f=q[k]=wo(null,a,b,g.Cb,g.Nb,0))}}e&&e(f,!1);return f};
function zo(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 Go(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}h.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};
h.write=function(a,b,c){if(this.df)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.$c?f<a.yd?(a.$c+=a.yd-f,a.yd=f):f>=a.yd+a.$c&&(a.$c+=f-(a.yd+a.$c)+1):(a.yd=f,a.$c=1);d[f]=d[f]&~(255<<b)|c<<b;this.P&&Eo(this,a,!0)}return!0}return null};
h.seek=function(a,b,c,d,e){var f=null,g=this.C,k=this.A[a];if(k){var q=k[b];if(!q&&g.ah&&b<g.yb)for(q=k[b]=Array(g.ee),k=0;k<q.length;k++)q[k]=Ao(null,a,b,k+1,g.Nb,0);if(q){for(k=0;k<q.length;k++)if(q[k]&&q[k].sector==c){f=q[k];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++k<q.length;)null===q[k].pattern&&d++;Ho(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.ah&&9==g.Cb&&(f=q[k]=Ao(null,a,b,g.Cb,g.Nb,0))}}e&&e(f,!1);return f};
function Do(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 Ko(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}h.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};
h.write=function(a,b,c){if(this.df)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.$c?f<a.yd?(a.$c+=a.yd-f,a.yd=f):f>=a.yd+a.$c&&(a.$c+=f-(a.yd+a.$c)+1):(a.yd=f,a.$c=1);d[f]=d[f]&~(255<<b)|c<<b;this.P&&Io(this,a,!0)}return!0}return null};
h.save=function(){var a=0,b=[];b[a++]=[this.Y,this.da,this.Gb,this.yb,this.ob,this.$a];if(!this.P&&!this.df)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.$c){for(var k=[],q=0,r=g.yd,x=g.yd+g.$c;r<x;)k[q++]=g.data[r++];b[a++]=[d,e,f,g.yd,k]}}return b};
h.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?bo(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.da&&e[1]!=this.da&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.da+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],q=g[f++],r=g[f++];if(k>=this.A.length||q>=this.A[k].length||r>=this.A[k][q].length){c="sector (CHS="+k+":"+q+":"+r+") out of range ("+
b+" changes applied)";b=-1;break}if(this.df){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.A[k][q][r]){for(q=k.data.length;q<e;)k.data[q++]=k.pattern;q=0;k.yd=e;for(k.$c=f.length;e<g;)k.data[e++]=f[q++];b++}}}0>b?-2!=b&&this.controller.Ua("Unable to restore disk '"+this.O+": "+c):yo(this);return b};
h.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?go(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.da&&e[1]!=this.da&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.da+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],q=g[f++],r=g[f++];if(k>=this.A.length||q>=this.A[k].length||r>=this.A[k][q].length){c="sector (CHS="+k+":"+q+":"+r+") out of range ("+
b+" changes applied)";b=-1;break}if(this.df){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.A[k][q][r]){for(q=k.data.length;q<e;)k.data[q++]=k.pattern;q=0;k.yd=e;for(k.$c=f.length;e<g;)k.data[e++]=f[q++];b++}}}0>b?-2!=b&&this.controller.Ua("Unable to restore disk '"+this.O+": "+c):Co(this);return b};
h.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 Ho(a){Xa.call(this,"FDC",a,Ho,524288);this.dmaRead=this.Ak;this.dmaWrite=this.Bk;this.dmaFormat=this.Rk;this.W=a.autoMount||null;this.C=[];this.qa=!Ia("Mobi")&&window&&"FileReader"in window}gb(Ho);aa={};var Io={3:{Qd:3,fe:0,name:aa.ao},4:{Qd:2,fe:1,name:aa.Zn},5:{Qd:9,fe:7,name:aa.ko},6:{Qd:9,fe:7,name:aa.Un},7:{Qd:2,fe:0,name:aa.Wn},8:{Qd:1,fe:2,name:aa.$n},10:{Qd:2,fe:7,name:aa.Vn},13:{Qd:6,fe:7,name:aa.Hn},15:{Qd:3,fe:0,name:aa.Yn}};h=Ho.prototype;
h.Ub=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){Ba("FDC option error: "+k.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.xa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Jo(d,a)},!0;
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Ko(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.Da){for(var b=a.Da,c="",k=0,q;q=ro(b,k++);)for(var r=0,x=q.length;r<x;r++)c+=String.fromCharCode(so(b,q,r,1));b="data:application/octet-stream;base64,"+btoa(c);c=document.createElement("a");"string"==typeof c.download?(c.href=b,c.download=
a.Da.ri.replace(".json",".img"),document.body.appendChild(c),c.click(),document.body.removeChild(c)):window.open(b)}else d.Ua("No disk loaded in drive");else d.Ua("No drive selected")},!0;case "mountDrive":return this.qa?(this.xa[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;Ko(d,ja(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ia=a;this.R=Jb(a,"ChipSet");if((this.W=Lo(this.ia,"autoMount")||this.W)&&"string"==typeof this.W)try{this.W=eval("("+this.W+")")}catch(e){Ba("FDC auto-mount error: "+e.message+" ("+this.W+")"),this.W=null}Mo(this);nc(b,this,No);rc(b,this,Oo);this.qa&&Po(this,"Local Disk","?");Po(this,"Remote Disk","??");Qo(this)||xb(this)};
h.lc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ia.hh){this.C=[];for(var c=0;c<this.A.length;c++)Ro(this,c,!0);Qo(this,!0)}}else if(!this.restore(a))return!1;if(c=this.xa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.la;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.la&&(c.value="0",Jo(this,0))}}return!0};h.kc=function(a){return a?this.save():!0};
h.reset=function(){Mo(this)};
h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.kb;c[b++]=0;c[b++]=this.sa;c[b++]=this.Y;c[b++]=this.O;c[b++]=this.P;c[b++]=this.da;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var k=e++,q=this.A[g],r=0,x=[];x[r++]=q.Hb;x[r++]=[q.name,q.Gb,q.yb,q.ob,q.$a,q.af,q.zg,q.Lf,q.Mf];x[r++]=q.mb;x[r++]=q.de+100;x[r++]=q.Wb;x[r++]=q.Cb;x[r++]=q.ee;x[r++]=q.Nb;x[r++]=q.jb;x[r++]=q.Ze;x[r++]=q.lk;x[r]=q.Ke;f[k]=x}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.Da&&So(this,f.Ke,f.Da);c[d]=
this.C;c[b++]=this.X;c[b]=this.mc;ef(a,0,c);return a.data()};h.restore=function(a){return Mo(this,a[0])};
function Mo(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.kb=b[c++];c++;a.sa=b[c++];a.Y=b[c++];a.O=b[c++];a.P=b[c++];a.da=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.C=d);void 0===a.A&&(a.la=4,a.R&&(a.la=Kk(a.R)),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]={},k;if(a.R)a:{k=a.R;if(d<Kk(k)){if(!k.ua){k=360;break a}if(d<k.ua.length){k=k.ua[d];break a}}k=0}else k=0;switch(k){case 160:case 180:g.yb=1;default:g.Gb=40;g.ob=9;break;case 720:g.Gb=80;g.ob=
function Lo(a){Xa.call(this,"FDC",a,Lo,524288);this.dmaRead=this.Ak;this.dmaWrite=this.Bk;this.dmaFormat=this.Rk;this.W=a.autoMount||null;this.C=[];this.qa=!Ia("Mobi")&&window&&"FileReader"in window}gb(Lo);aa={};var Mo={3:{Qd:3,fe:0,name:aa.ao},4:{Qd:2,fe:1,name:aa.Zn},5:{Qd:9,fe:7,name:aa.ko},6:{Qd:9,fe:7,name:aa.Un},7:{Qd:2,fe:0,name:aa.Wn},8:{Qd:1,fe:2,name:aa.$n},10:{Qd:2,fe:7,name:aa.Vn},13:{Qd:6,fe:7,name:aa.Hn},15:{Qd:3,fe:0,name:aa.Yn}};h=Lo.prototype;
h.Ub=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){Ba("FDC option error: "+k.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.xa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&No(d,a)},!0;
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Oo(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.Da){for(var b=a.Da,c="",k=0,q;q=vo(b,k++);)for(var r=0,x=q.length;r<x;r++)c+=String.fromCharCode(wo(b,q,r,1));b="data:application/octet-stream;base64,"+btoa(c);c=document.createElement("a");"string"==typeof c.download?(c.href=b,c.download=
a.Da.ri.replace(".json",".img"),document.body.appendChild(c),c.click(),document.body.removeChild(c)):window.open(b)}else d.Ua("No disk loaded in drive");else d.Ua("No drive selected")},!0;case "mountDrive":return this.qa?(this.xa[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;Oo(d,ja(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ia=a;this.R=Jb(a,"ChipSet");if((this.W=Po(this.ia,"autoMount")||this.W)&&"string"==typeof this.W)try{this.W=eval("("+this.W+")")}catch(e){Ba("FDC auto-mount error: "+e.message+" ("+this.W+")"),this.W=null}Qo(this);nc(b,this,Ro);rc(b,this,So);this.qa&&To(this,"Local Disk","?");To(this,"Remote Disk","??");Uo(this)||xb(this)};
h.lc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ia.hh){this.C=[];for(var c=0;c<this.A.length;c++)Vo(this,c,!0);Uo(this,!0)}}else if(!this.restore(a))return!1;if(c=this.xa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.la;d++){var e=document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.la&&(c.value="0",No(this,0))}}return!0};h.kc=function(a){return a?this.save():!0};
h.reset=function(){Qo(this)};
h.save=function(){var a=new df(this),b=0,c=[];c[b++]=this.kb;c[b++]=0;c[b++]=this.sa;c[b++]=this.Y;c[b++]=this.O;c[b++]=this.P;c[b++]=this.da;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var k=e++,q=this.A[g],r=0,x=[];x[r++]=q.Hb;x[r++]=[q.name,q.Gb,q.yb,q.ob,q.$a,q.af,q.zg,q.Lf,q.Mf];x[r++]=q.mb;x[r++]=q.de+100;x[r++]=q.Wb;x[r++]=q.Cb;x[r++]=q.ee;x[r++]=q.Nb;x[r++]=q.jb;x[r++]=q.Ze;x[r++]=q.lk;x[r]=q.Ke;f[k]=x}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.Da&&Wo(this,f.Ke,f.Da);c[d]=
this.C;c[b++]=this.X;c[b]=this.mc;ef(a,0,c);return a.data()};h.restore=function(a){return Qo(this,a[0])};
function Qo(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.kb=b[c++];c++;a.sa=b[c++];a.Y=b[c++];a.O=b[c++];a.P=b[c++];a.da=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.C=d);void 0===a.A&&(a.la=4,a.R&&(a.la=Ok(a.R)),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]={},k;if(a.R)a:{k=a.R;if(d<Ok(k)){if(!k.ua){k=360;break a}if(d<k.ua.length){k=k.ua[d];break a}}k=0}else k=0;switch(k){case 160:case 180:g.yb=1;default:g.Gb=40;g.ob=9;break;case 720:g.Gb=80;g.ob=
9;break;case 1200:g.Gb=80;g.ob=15;break;case 1440:g.Gb=80,g.ob=18}}var q=a,r=d,x=f[d],B=0;k=!0;g.kb=r;g.cd=g.Ze=!1;void 0===x&&(x=[192,!0,0,2,0]);"boolean"==typeof x[1]&&(x[1]=["Floppy Drive",g.Gb||40,g.yb||x[3],g.ob||9,g.$a||512,x[1],g.zg,g.Lf,g.Mf]);g.Hb=x[B++];var y=x[B++];g.name=y[0];g.Gb=y[1];g.yb=y[2];g.ob=y[3];g.$a=y[4];g.af=y[5];(g.zg=y[6])?(g.Lf=y[7],g.Mf=y[8]):(g.zg=g.Gb,g.Lf=g.yb,g.Mf=g.ob);g.mb=x[B++];g.de=x[B++];g.Wb=x[B++];g.de=100<=g.de?g.de-100:g.de-g.Wb;g.Cb=x[B++];g.ee=x[B++];g.Nb=
x[B++];g.jb=x[B++];g.tb=null;g.Da||(g.Ke="");y=x[B++];102==y&&(y=!1);if("boolean"==typeof y){var J=y,y=x[B++],x=x[B];J?(B=y,y=q.A[r],Ro(q,r,!0,!0),y.Ze=!0,r=new $n(q,y,"preload"),q.Li(y,r,B,x,!0)):To(q,r,y,x,!0)?g.Da&&x&&Uo(q,y,x,g.Da):xb(q,!1)}else void 0!==y&&g.Da&&0>g.Da.restore(y)&&(k=!1);k&&g.Da&&void 0!==g.jb&&(g.tb=g.Da.seek(g.Wb,g.mb,g.Cb));k||(e=!1)}a.X=b[c++]||0;a.mc=b[c]||0;return e}h.Ki=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
x[B++];g.jb=x[B++];g.tb=null;g.Da||(g.Ke="");y=x[B++];102==y&&(y=!1);if("boolean"==typeof y){var J=y,y=x[B++],x=x[B];J?(B=y,y=q.A[r],Vo(q,r,!0,!0),y.Ze=!0,r=new eo(q,y,"preload"),q.Li(y,r,B,x,!0)):Xo(q,r,y,x,!0)?g.Da&&x&&Yo(q,y,x,g.Da):xb(q,!1)}else void 0!==y&&g.Da&&0>g.Da.restore(y)&&(k=!1);k&&g.Da&&void 0!==g.jb&&(g.tb=g.Da.seek(g.Wb,g.mb,g.Cb));k||(e=!1)}a.X=b[c++]||0;a.mc=b[c]||0;return e}h.Ki=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
h.mk=function(a,b,c){if(a.Da){var d=a.Da.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Wb=Math.floor(b/f),b%=f,a.mb=Math.floor(b/e),a.Cb=b%e+1,a.Nb=c*d[3],a.Hb=0,!0}return!1};
function Qo(a,b){b||(a.ka=0);if(a.W)for(var c in a.W){var d=a.W[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.xa.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=ja(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!To(a,g,f,e,!0)&&b&&xb(a,!1);continue}a.Ua("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.ka}
function Ko(a,b,c,d){var e,f=a.xa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Ua('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=ja(c)}for(;To(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,k=void 0,k=0;k<f.C.length;k++)if(f.C[k][1]==g){f.C.splice(k,1);break}Ro(a,
e,!1,!0)}}else Ro(a,e);else a.Ua("Unable to load the selected drive")}function To(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Ke!=d){Ro(a,b,e,!0);if(g.cd)return a.Ua("Drive "+b+" busy"),!0;g.cd=!0;e&&(g.xe=!0,a.ka++,n(a)&&sb(a,"loading diskette '"+c+"'"));g.Ze=!!f;(new $n(a,g,"preload")).load(c,d,f,a.Li);return!1}return!0}
h.Li=function(a,b,c,d,e){var f;a.cd=!1;b&&(f=b.info(),b&&f[0]>a.Gb||f[1]>a.yb)&&(this.Ua('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.Da=b,a.lk=c,a.Ke=d,Uo(this,c,d,b),f=b.info(),this.X|=128,this.Ua('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.xe||e),a.zg=f[0],a.Lf=f[1],a.Mf=f[2]):a.Ze=!1;a.xe&&(a.xe=!1,--this.ka||xb(this));Jo(this,a.kb)};
function Po(a,b,c){if((a=a.xa.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 Jo(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.xa.listDisks,e=a.xa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.Ze?"?":c.Ke,!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 Ro(a,b,c,d){var e=a.A[b];e.Da&&(So(a,e.Ke,e.Da),e.lk="",e.Ke="",e.Da=null,e.Ze=!1,a.X|=128,d||a.Ua("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Jo(a,b))}
function Uo(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 So(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}}h.Tm=function(a,b,c){m(this,a,b,c,"OUTPUT");b&4?this.da&4||this.da&8&&this.R&&$f(this.R,6):Mo(this);this.da=b};h.Bl=function(a,b){m(this,a,null,b,"STATUS",this.sa);return this.sa};
function Uo(a,b){b||(a.ka=0);if(a.W)for(var c in a.W){var d=a.W[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.xa.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=ja(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Xo(a,g,f,e,!0)&&b&&xb(a,!1);continue}a.Ua("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.ka}
function Oo(a,b,c,d){var e,f=a.xa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Ua('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=ja(c)}for(;Xo(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,k=void 0,k=0;k<f.C.length;k++)if(f.C[k][1]==g){f.C.splice(k,1);break}Vo(a,
e,!1,!0)}}else Vo(a,e);else a.Ua("Unable to load the selected drive")}function Xo(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Ke!=d){Vo(a,b,e,!0);if(g.cd)return a.Ua("Drive "+b+" busy"),!0;g.cd=!0;e&&(g.xe=!0,a.ka++,n(a)&&sb(a,"loading diskette '"+c+"'"));g.Ze=!!f;(new eo(a,g,"preload")).load(c,d,f,a.Li);return!1}return!0}
h.Li=function(a,b,c,d,e){var f;a.cd=!1;b&&(f=b.info(),b&&f[0]>a.Gb||f[1]>a.yb)&&(this.Ua('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.Da=b,a.lk=c,a.Ke=d,Yo(this,c,d,b),f=b.info(),this.X|=128,this.Ua('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.xe||e),a.zg=f[0],a.Lf=f[1],a.Mf=f[2]):a.Ze=!1;a.xe&&(a.xe=!1,--this.ka||xb(this));No(this,a.kb)};
function To(a,b,c){if((a=a.xa.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 No(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.xa.listDisks,e=a.xa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.Ze?"?":c.Ke,!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 Vo(a,b,c,d){var e=a.A[b];e.Da&&(Wo(a,e.Ke,e.Da),e.lk="",e.Ke="",e.Da=null,e.Ze=!1,a.X|=128,d||a.Ua("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||No(a,b))}
function Yo(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 Wo(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}}h.Tm=function(a,b,c){m(this,a,b,c,"OUTPUT");b&4?this.da&4||this.da&8&&this.R&&$f(this.R,6):Qo(this);this.da=b};h.Bl=function(a,b){m(this,a,null,b,"STATUS",this.sa);return this.sa};
h.zl=function(a,b){var c=0;this.O<this.P&&(c=this.Y[this.O]);this.da&8&&this.R&&Zf(this.R,6);n(this)&&m(this,a,null,b,"DATA["+this.O+"]",c);++this.O>=this.P&&(this.sa&=-81,this.O=this.P=0);return c};
h.Sm=function(a,b,c){n(this)&&m(this,a,b,c,"DATA["+this.P+"]");this.P<this.Y.length&&(this.Y[this.P++]=b);a=this.Y[0]&31;if(void 0!==Io[a]&&this.P>=Io[a].Qd){b=!1;this.O=0;a=Vo(this);var d,e,f,g,k=a&31;switch(k){case 3:Vo(this);Vo(this);Wo(this);break;case 4:c=Vo(this);this.kb=c&3;d=this.A[this.kb];Wo(this);Xo(this,(d.Hb&-16777216)>>>24);break;case 5:case 6:c=Vo(this);b=c>>2&1;this.kb=c&3;d=this.A[this.kb];d.mb=b;c=d.Wb=Vo(this);e=Vo(this);f=d.Cb=Vo(this);g=Vo(this);d.Nb=128<<g;d.ee=Vo(this);Vo(this);
Vo(this);6==k?(k=d,k.Hb=72,k.Da&&(k.tb=null,k.Hb=0,this.R&&($k(this.R,2,this,"dmaRead",k),Tk(this.R,2)))):(k=d,k.Hb=72,k.Da&&(k.Da.df?k.Hb=576:(k.tb=null,k.Hb=0,this.R&&($k(this.R,2,this,"dmaWrite",k),Tk(this.R,2)))));Yo(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=Vo(this);this.kb=c&3;d=this.A[this.kb];d.Wb=d.de=0;d.Hb=268435488;Wo(this);b=!0;break;case 8:d=this.A[this.kb];d.mb=0;Wo(this);Xo(this,d.kb|d.mb<<2|d.Hb&255);Xo(this,d.Wb);this.kb=this.kb+1&3;break;case 10:c=Vo(this);b=c>>2&1;this.kb=c&3;d=
this.A[this.kb];c=d.Wb;e=d.mb=b;f=d.Cb=1;g=0;d.Hb=0;d.Da&&(d.tb=d.Da.seek(d.Wb,d.mb,d.Cb))?g=d.tb.length>>8:d.Hb=72;Yo(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Vo(this);b=c>>2&1;this.kb=c&3;d=this.A[this.kb];c=d.Wb;e=d.mb=b;f=1;g=Vo(this);d.Nb=128<<g;d.ee=Vo(this);Vo(this);d.Ci=Vo(this);k=d;k.Hb=72;k.Da&&(k.tb=null,k.Hb=0,this.R&&(k.Ue=0,k.ld=Array(4),k.ah=!0,k.ng=0,$k(this.R,2,this,"dmaFormat",k),Tk(this.R,2),k.ah=!1));Yo(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=Vo(this),this.kb=c&3,d=this.A[this.kb],
d.mb=c>>2&1,c=Vo(this),d.Wb+=c-d.de,0>d.Wb&&(d.Wb=0),d.Wb>=d.Gb&&(d.Wb=d.Gb-1),d.de=c,d.Hb=32,d.Wb||(d.Hb|=268435456),Wo(this),b=!0}0<this.P&&(this.sa|=80);this.da&8&&(!d||d.Hb&8||!b||this.R&&$f(this.R,6))}};h.Al=function(a,b){var c=this.X;this.X&=-129;m(this,a,null,b,"INPUT",c);return c};h.Rm=function(a,b,c){m(this,a,b,c,"CONTROL");this.mc=b};
function Yo(a,b,c,d,e,f,g,k){Wo(a);Xo(a,b.kb|b.mb<<2|b.Hb&255);Xo(a,(b.Hb&65280)>>>8);Xo(a,(b.Hb&16711680)>>>16);var q=0;if(e!=b.Wb||f!=b.mb)q=g=1;c&128&&(f^=q,d||(q=0));Xo(a,e+q);Xo(a,f);Xo(a,g);Xo(a,k)}function Vo(a){var b=a.Y[a.O];a.O++;return b}function Wo(a){a.O=a.P=0}function Xo(a,b){a.Y[a.P++]=b}
h.Ak=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Hb&&a.Da){do{if(a.tb&&(e=a.jb,0<=(b=a.Da.read(a.tb,a.jb++)))){d=a.tb;break}a.tb=a.Da.seek(a.Wb,a.mb,a.Cb);if(!a.tb){a.Hb=1088;break}a.jb=0;Zo(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};h.Bk=function(a,b){return void 0!==b&&0<=b?$o(a,b):-1};
h.Rk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Hb)c=-1;else{a.ld[a.Ue++]=c;if(a.Ue==a.ld.length){a.Wb=a.ld[0];a.mb=a.ld[1];a.Cb=a.ld[2];a.Nb=128<<a.ld[3];for(var d=a.Ue=0;d<a.Nb;d++)if(0>$o(a,a.Ci)){c=-1;break a}a.ng++}a.ng>=a.ee&&(c=-1)}else c=-1;return c};function $o(a,b){if(a.Hb||!a.Da)return-1;do{if(a.tb&&a.Da.write(a.tb,a.jb++,b))break;a.tb=a.Da.seek(a.Wb,a.mb,a.Cb);if(!a.tb){a.Hb=8256;b=-1;break}a.jb=0;Zo(a)}while(1);return b}
function Zo(a){a.Cb++;a.Cb>=a.Mf+1&&(a.Cb=1,a.mb++,a.mb>=a.Lf&&(a.mb=0,a.Wb++))}var No={1012:Ho.prototype.Bl,1013:Ho.prototype.zl,1015:Ho.prototype.Al},Oo={1010:Ho.prototype.Tm,1013:Ho.prototype.Sm,1015:Ho.prototype.Rm};Sa(function(){for(var a=qb(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Ho(d);pb(d,c)}});
function ap(a){Xa.call(this,"HDC",a,ap,1048576);this.dmaRead=this.Dk;this.dmaWrite=this.Ek;this.dmaWriteBuffer=this.Sk;this.dmaWriteFormat=this.Tk;this.Ja=[];if(a.drives)try{this.Ja=eval("("+a.drives+")")}catch(b){Ba("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.qa="at"==a.type}gb(ap);
var bp=["XTC","ATC","COMPAQ"],cp=[{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]}];h=ap.prototype;h.Ub=function(){return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ia=a;this.R=Jb(a,"ChipSet");this.W=0;this.Oa=3;nc(b,this,this.qa?dp:ep);rc(b,this,this.qa?fp:gp);this.qa&&(this.W++,this.R&&5180==this.R.na&&this.W++,this.Oa=2,b.da[496]=2,b.ka[496]=2);Se(c,19,this.dm.bind(this));Se(c,64,this.em.bind(this));this.reset();hp(this)||xb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)ip(this),this.ia.hh&&hp(this,!0);else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};
h.ef=function(){return this.ia?this.ia.ef():""};h.he=function(){return this.ia?this.ia.he():""};h.reset=function(){ip(this,null,!0)};
h.Sm=function(a,b,c){n(this)&&m(this,a,b,c,"DATA["+this.P+"]");this.P<this.Y.length&&(this.Y[this.P++]=b);a=this.Y[0]&31;if(void 0!==Mo[a]&&this.P>=Mo[a].Qd){b=!1;this.O=0;a=Zo(this);var d,e,f,g,k=a&31;switch(k){case 3:Zo(this);Zo(this);$o(this);break;case 4:c=Zo(this);this.kb=c&3;d=this.A[this.kb];$o(this);ap(this,(d.Hb&-16777216)>>>24);break;case 5:case 6:c=Zo(this);b=c>>2&1;this.kb=c&3;d=this.A[this.kb];d.mb=b;c=d.Wb=Zo(this);e=Zo(this);f=d.Cb=Zo(this);g=Zo(this);d.Nb=128<<g;d.ee=Zo(this);Zo(this);
Zo(this);6==k?(k=d,k.Hb=72,k.Da&&(k.tb=null,k.Hb=0,this.R&&(dl(this.R,2,this,"dmaRead",k),Xk(this.R,2)))):(k=d,k.Hb=72,k.Da&&(k.Da.df?k.Hb=576:(k.tb=null,k.Hb=0,this.R&&(dl(this.R,2,this,"dmaWrite",k),Xk(this.R,2)))));bp(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=Zo(this);this.kb=c&3;d=this.A[this.kb];d.Wb=d.de=0;d.Hb=268435488;$o(this);b=!0;break;case 8:d=this.A[this.kb];d.mb=0;$o(this);ap(this,d.kb|d.mb<<2|d.Hb&255);ap(this,d.Wb);this.kb=this.kb+1&3;break;case 10:c=Zo(this);b=c>>2&1;this.kb=c&3;d=
this.A[this.kb];c=d.Wb;e=d.mb=b;f=d.Cb=1;g=0;d.Hb=0;d.Da&&(d.tb=d.Da.seek(d.Wb,d.mb,d.Cb))?g=d.tb.length>>8:d.Hb=72;bp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Zo(this);b=c>>2&1;this.kb=c&3;d=this.A[this.kb];c=d.Wb;e=d.mb=b;f=1;g=Zo(this);d.Nb=128<<g;d.ee=Zo(this);Zo(this);d.Ci=Zo(this);k=d;k.Hb=72;k.Da&&(k.tb=null,k.Hb=0,this.R&&(k.Ue=0,k.ld=Array(4),k.ah=!0,k.ng=0,dl(this.R,2,this,"dmaFormat",k),Xk(this.R,2),k.ah=!1));bp(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=Zo(this),this.kb=c&3,d=this.A[this.kb],
d.mb=c>>2&1,c=Zo(this),d.Wb+=c-d.de,0>d.Wb&&(d.Wb=0),d.Wb>=d.Gb&&(d.Wb=d.Gb-1),d.de=c,d.Hb=32,d.Wb||(d.Hb|=268435456),$o(this),b=!0}0<this.P&&(this.sa|=80);this.da&8&&(!d||d.Hb&8||!b||this.R&&$f(this.R,6))}};h.Al=function(a,b){var c=this.X;this.X&=-129;m(this,a,null,b,"INPUT",c);return c};h.Rm=function(a,b,c){m(this,a,b,c,"CONTROL");this.mc=b};
function bp(a,b,c,d,e,f,g,k){$o(a);ap(a,b.kb|b.mb<<2|b.Hb&255);ap(a,(b.Hb&65280)>>>8);ap(a,(b.Hb&16711680)>>>16);var q=0;if(e!=b.Wb||f!=b.mb)q=g=1;c&128&&(f^=q,d||(q=0));ap(a,e+q);ap(a,f);ap(a,g);ap(a,k)}function Zo(a){var b=a.Y[a.O];a.O++;return b}function $o(a){a.O=a.P=0}function ap(a,b){a.Y[a.P++]=b}
h.Ak=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Hb&&a.Da){do{if(a.tb&&(e=a.jb,0<=(b=a.Da.read(a.tb,a.jb++)))){d=a.tb;break}a.tb=a.Da.seek(a.Wb,a.mb,a.Cb);if(!a.tb){a.Hb=1088;break}a.jb=0;cp(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};h.Bk=function(a,b){return void 0!==b&&0<=b?dp(a,b):-1};
h.Rk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Hb)c=-1;else{a.ld[a.Ue++]=c;if(a.Ue==a.ld.length){a.Wb=a.ld[0];a.mb=a.ld[1];a.Cb=a.ld[2];a.Nb=128<<a.ld[3];for(var d=a.Ue=0;d<a.Nb;d++)if(0>dp(a,a.Ci)){c=-1;break a}a.ng++}a.ng>=a.ee&&(c=-1)}else c=-1;return c};function dp(a,b){if(a.Hb||!a.Da)return-1;do{if(a.tb&&a.Da.write(a.tb,a.jb++,b))break;a.tb=a.Da.seek(a.Wb,a.mb,a.Cb);if(!a.tb){a.Hb=8256;b=-1;break}a.jb=0;cp(a)}while(1);return b}
function cp(a){a.Cb++;a.Cb>=a.Mf+1&&(a.Cb=1,a.mb++,a.mb>=a.Lf&&(a.mb=0,a.Wb++))}var Ro={1012:Lo.prototype.Bl,1013:Lo.prototype.zl,1015:Lo.prototype.Al},So={1010:Lo.prototype.Tm,1013:Lo.prototype.Sm,1015:Lo.prototype.Rm};Sa(function(){for(var a=qb(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Lo(d);pb(d,c)}});
function ep(a){Xa.call(this,"HDC",a,ep,1048576);this.dmaRead=this.Dk;this.dmaWrite=this.Ek;this.dmaWriteBuffer=this.Sk;this.dmaWriteFormat=this.Tk;this.Ja=[];if(a.drives)try{this.Ja=eval("("+a.drives+")")}catch(b){Ba("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.qa="at"==a.type}gb(ep);
var fp=["XTC","ATC","COMPAQ"],gp=[{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]}];h=ep.prototype;h.Ub=function(){return!1};
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ia=a;this.R=Jb(a,"ChipSet");this.W=0;this.Oa=3;nc(b,this,this.qa?hp:ip);rc(b,this,this.qa?jp:kp);this.qa&&(this.W++,this.R&&5180==this.R.na&&this.W++,this.Oa=2,b.da[496]=2,b.ka[496]=2);Se(c,19,this.dm.bind(this));Se(c,64,this.em.bind(this));this.reset();lp(this)||xb(this)};h.lc=function(a,b){if(!b)if(!a||!this.restore)mp(this),this.ia.hh&&lp(this,!0);else if(!this.restore(a))return!1;return!0};h.kc=function(a){return a?this.save():!0};
h.ef=function(){return this.ia?this.ia.ef():""};h.he=function(){return this.ia?this.ia.he():""};h.reset=function(){mp(this,null,!0)};
h.save=function(){var a=new df(this),b=0,c=[];this.qa?(c[b++]=this.X,c[b++]=this.Va,c[b++]=this.da,c[b++]=this.Ha,c[b++]=this.Ea,c[b++]=this.Ba,c[b++]=this.za,c[b++]=this.sa,c[b++]=this.Ma,c[b++]=[this.la,this.kb]):(c[b++]=this.wa,c[b++]=this.sa,c[b++]=this.Y,c[b++]=this.O,c[b++]=this.P,c[b++]=this.Ta,c[b++]=this.Ra,c[b++]=this.Qa,c[b++]=this.ua);for(var d=0,e=[],f=0;f<this.A.length;f++){var g=d++,k=this.A[f],q=0,r=[];r[q++]=k.errorCode;r[q++]=k.nk;r[q++]=k.af;r[q++]=k.Pe;r[q++]=k.Qe;r[q++]=k.mb;
r[q++]=k.yb;r[q++]=k.ae;r[q++]=k.Cb;r[q++]=k.ee;r[q++]=k.Nb;r[q++]=k.jb;r[q]=k.Da?k.Da.save():null;e[g]=r}c[b]=e;ef(a,0,c);return a.data()};h.restore=function(a){return ip(this,a[0])};
function ip(a,b,c){var d=0,e=!0;a.kb=-1;if(a.qa){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.X=b[d++],a.Va=b[d++],a.da=b[d++],a.Ha=b[d++],a.Ea=b[d++],a.Ba=b[d++],a.za=b[d++],a.sa=b[d++],a.Ma=b[d++],a.la=b[d++],"object"==typeof a.la){var f=a.la;a.la=f[0];a.kb=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.wa=b[d++],a.sa=b[d++],a.Y=b[d++],a.O=b[d++],a.P=b[d++],a.Ta=b[d++],a.Ra=b[d++],a.Qa=b[d++],f=b[d++],void 0!==f?a.ua=f:void 0===a.ua&&(a.ua=-1);void 0===a.A&&(a.A=Array(a.Ja.length));b=b[d];void 0===
r[q++]=k.yb;r[q++]=k.ae;r[q++]=k.Cb;r[q++]=k.ee;r[q++]=k.Nb;r[q++]=k.jb;r[q]=k.Da?k.Da.save():null;e[g]=r}c[b]=e;ef(a,0,c);return a.data()};h.restore=function(a){return mp(this,a[0])};
function mp(a,b,c){var d=0,e=!0;a.kb=-1;if(a.qa){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.X=b[d++],a.Va=b[d++],a.da=b[d++],a.Ha=b[d++],a.Ea=b[d++],a.Ba=b[d++],a.za=b[d++],a.sa=b[d++],a.Ma=b[d++],a.la=b[d++],"object"==typeof a.la){var f=a.la;a.la=f[0];a.kb=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.wa=b[d++],a.sa=b[d++],a.Y=b[d++],a.O=b[d++],a.P=b[d++],a.Ta=b[d++],a.Ra=b[d++],a.Qa=b[d++],f=b[d++],void 0!==f?a.ua=f:void 0===a.ua&&(a.ua=-1);void 0===a.A&&(a.A=Array(a.Ja.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,k=d,q=f,r=a.Ja[d],x=b[d],B=c,y=0,J=!0;void 0===x&&(x=[0,0,!1,Array(8)]);q.kb=k;q.errorCode=x[y++];q.nk=x[y++];q.af=x[y++];q.Pe=x[y++];q.Qe=x[y++];q.mb=x[y++];q.yb=x[y++];q.ae=x[y++];q.Cb=x[y++];q.ee=x[y++];q.Nb=x[y++];q.mg=g.qa?0:1;q.name=r.name;void 0===q.name&&(q.name="Hard Drive");q.path=r.path;q.mode=r.mode||(q.path?"preload":"local");"demandro"!=q.mode&&"demandrw"!=q.mode||g.he()||(q.mode="local");q.type=r.type;
if(void 0===q.type||void 0===cp[g.W][q.type])q.type=g.Oa;r=cp[g.W][q.type];q.ob=r[2]||17;q.$a=r[3]||512;if(B&&g.R){var U=g.R,F=q.type;if(U.A){var B=null,r=void 0,O=U.A[18];15<F&&(B=F,F=15);k?(O=O&240|F,r=26):(O=O&15|F<<4,r=25);F=U;F.A&&(F.A[18]=O,Ck(F));null!=B&&U.A&&(U.A[r]=B,Ck(U))}}void 0===q.Da&&(q.Da=null,g.Ua("Type "+q.type+' "'+q.name+'" is fixed disk '+k,!0));jp(g,q);q.jb=x[y++];q.tb=null;q.Da&&(g=x[y],void 0!==g&&0>q.Da.restore(g)&&(J=!1),J&&void 0!==q.jb&&(q.tb=q.Da.seek(q.ae,q.mb,q.Cb+
if(void 0===q.type||void 0===gp[g.W][q.type])q.type=g.Oa;r=gp[g.W][q.type];q.ob=r[2]||17;q.$a=r[3]||512;if(B&&g.R){var U=g.R,F=q.type;if(U.A){var B=null,r=void 0,O=U.A[18];15<F&&(B=F,F=15);k?(O=O&240|F,r=26):(O=O&15|F<<4,r=25);F=U;F.A&&(F.A[18]=O,Gk(F));null!=B&&U.A&&(U.A[r]=B,Gk(U))}}void 0===q.Da&&(q.Da=null,g.Ua("Type "+q.type+' "'+q.name+'" is fixed disk '+k,!0));np(g,q);q.jb=x[y++];q.tb=null;q.Da&&(g=x[y],void 0!==g&&0>q.Da.restore(g)&&(J=!1),J&&void 0!==q.jb&&(q.tb=q.Da.seek(q.ae,q.mb,q.Cb+
q.mg)));J||(e=!1);null!=a.wa&&1>=d&&(a.wa|=(f.type&3)<<(1-d<<1))}0<=a.kb&&(a.C=a.A[a.kb]);return e}h.Ki=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 jp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Pe[2])?e=b.Pe[0]<<8|b.Pe[1]:c=b.type);null==c||d||(d=cp[a.W][c][1],e=cp[a.W][c][0]);d&&((c=cp[a.W][b.type])&&e!=c[0]&&d!=c[1]&&a.Ua("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Gb=e,b.yb=d,null==b.Da&&(b.Da=new $n(a,b,b.mode)))}}
function np(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Pe[2])?e=b.Pe[0]<<8|b.Pe[1]:c=b.type);null==c||d||(d=gp[a.W][c][1],e=gp[a.W][c][0]);d&&((c=gp[a.W][b.type])&&e!=c[0]&&d!=c[1]&&a.Ua("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Gb=e,b.yb=d,null==b.Da&&(b.Da=new eo(a,b,b.mode)))}}
h.mk=function(a,b,c){if(a.Da){var d=a.Da.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.mb=Math.floor(b/f),a.Cb=b%f,a.Nb=c*d[3],a.errorCode=0,!0}}return!1};
function hp(a,b){b||(a.ka=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.Da&&d.Da.rg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.cd?(e.Ua("Drive "+c+" busy"),e=!0):(g.cd=!0,g.xe=!0,e.ka++,n(e)&&sb(e,"loading "+f),(g.Da||new $n(e,g,g.mode)).load(f,d,null,e.Uk),e=!1);!e&&b&&xb(a,!1)}}else b&&void 0!==d.type&&(d.Da=null,jp(a,d,d.type))}return!!a.ka}
h.Uk=function(a,b,c){a.cd=!1;if(a.Da=b)this.Ua('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.kb),a.xe),b=b.info(),b[0]==a.Gb&&b[1]==a.yb&&b[2]==a.ob&&b[3]==a.$a||this.Ua("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+bp[this.W]+" drive type "+a.type+" ("+a.Gb+":"+a.yb+":"+a.ob+")");a.xe&&(a.xe=!1,--this.ka||xb(this))};
h.bm=function(a,b){var c=0;this.O<this.P&&(c=this.Y[this.O]);this.R&&Zf(this.R,5);this.sa&=-33;m(this,a,null,b,"DATA["+this.O+"]",c);++this.O>=this.P&&(this.O=this.P=0,this.sa&=-15);return c};h.sn=function(a,b,c){m(this,a,b,c,"DATA["+this.P+"]");this.P<this.Y.length&&(this.Y[this.P++]=b);a=12!=this.Y[0]?6:this.Y.length;6==this.P&&(this.sa&=-2);this.P>=a&&(this.sa|=2,this.sa&=-2,kp(this))};h.cm=function(a,b){var c=this.sa;m(this,a,null,b,"STATUS",c);this.O<this.P&&(this.sa|=1);return c};
h.vn=function(a,b,c){m(this,a,b,c,"RESET");this.Ta=b;this.R&&Zf(this.R,5);ip(this)};h.am=function(a,b){m(this,a,null,b,"CONFIG",this.wa);return this.wa};h.un=function(a,b,c){m(this,a,b,c,"PULSE");this.Ra=b;this.sa=13};h.tn=function(a,b,c){m(this,a,b,c,"PATTERN");this.Qa=b};h.ki=function(a,b,c){m(this,a,b,c,"NOISE")};
function lp(a,b,c){var d=-1;a.C&&(d=mp(a.C,function(){}),1==a.C.jb||a.C.jb==a.C.$a)&&(n(a,1048832)&&m(a,b,null,c,"DATA["+a.C.jb+"]",d),1<a.C.jb&&(a.C.Nb-=a.C.$a,a.da=a.da-1&255,a.C.Nb>=a.C.$a?(a.sa=128,mp(a.C,function(b){0<=b?(np(a),a.R&&5180==a.R.na&&(a.sa=0),a.sa|=88):(a.sa=1,a.X=16)},!1)):a.sa=80));return d}h.Fk=function(a,b){return lp(this,a,b)|lp(this,a,b)<<8};
function op(a,b,c,d){if(a.C&&a.C.Nb>=a.C.$a)if(0>pp(a.C,c))a.sa=1,a.X=16;else if(1==a.C.jb||a.C.jb==a.C.$a)n(a,1048832)&&m(a,b,c,d,"DATA["+a.C.jb+"]"),1<a.C.jb&&(a.C.Nb-=a.C.$a,a.da=a.da-1&255,np(a),a.sa=80,a.C.Nb>=a.C.$a&&(a.sa|=8))}h.zm=function(a,b,c){op(this,a,b&255,c);op(this,a,b>>8&255,c)};h.il=function(a,b){var c=this.X;m(this,a,null,b,"ERROR",c);return c};h.Em=function(a,b,c){m(this,a,b,c,"WPREC");this.Va=b};h.kl=function(a,b){var c=this.da;m(this,a,null,b,"SECCNT",c);return c};
function lp(a,b){b||(a.ka=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.Da&&d.Da.rg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.cd?(e.Ua("Drive "+c+" busy"),e=!0):(g.cd=!0,g.xe=!0,e.ka++,n(e)&&sb(e,"loading "+f),(g.Da||new eo(e,g,g.mode)).load(f,d,null,e.Uk),e=!1);!e&&b&&xb(a,!1)}}else b&&void 0!==d.type&&(d.Da=null,np(a,d,d.type))}return!!a.ka}
h.Uk=function(a,b,c){a.cd=!1;if(a.Da=b)this.Ua('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.kb),a.xe),b=b.info(),b[0]==a.Gb&&b[1]==a.yb&&b[2]==a.ob&&b[3]==a.$a||this.Ua("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+fp[this.W]+" drive type "+a.type+" ("+a.Gb+":"+a.yb+":"+a.ob+")");a.xe&&(a.xe=!1,--this.ka||xb(this))};
h.bm=function(a,b){var c=0;this.O<this.P&&(c=this.Y[this.O]);this.R&&Zf(this.R,5);this.sa&=-33;m(this,a,null,b,"DATA["+this.O+"]",c);++this.O>=this.P&&(this.O=this.P=0,this.sa&=-15);return c};h.sn=function(a,b,c){m(this,a,b,c,"DATA["+this.P+"]");this.P<this.Y.length&&(this.Y[this.P++]=b);a=12!=this.Y[0]?6:this.Y.length;6==this.P&&(this.sa&=-2);this.P>=a&&(this.sa|=2,this.sa&=-2,op(this))};h.cm=function(a,b){var c=this.sa;m(this,a,null,b,"STATUS",c);this.O<this.P&&(this.sa|=1);return c};
h.vn=function(a,b,c){m(this,a,b,c,"RESET");this.Ta=b;this.R&&Zf(this.R,5);mp(this)};h.am=function(a,b){m(this,a,null,b,"CONFIG",this.wa);return this.wa};h.un=function(a,b,c){m(this,a,b,c,"PULSE");this.Ra=b;this.sa=13};h.tn=function(a,b,c){m(this,a,b,c,"PATTERN");this.Qa=b};h.ki=function(a,b,c){m(this,a,b,c,"NOISE")};
function pp(a,b,c){var d=-1;a.C&&(d=qp(a.C,function(){}),1==a.C.jb||a.C.jb==a.C.$a)&&(n(a,1048832)&&m(a,b,null,c,"DATA["+a.C.jb+"]",d),1<a.C.jb&&(a.C.Nb-=a.C.$a,a.da=a.da-1&255,a.C.Nb>=a.C.$a?(a.sa=128,qp(a.C,function(b){0<=b?(rp(a),a.R&&5180==a.R.na&&(a.sa=0),a.sa|=88):(a.sa=1,a.X=16)},!1)):a.sa=80));return d}h.Fk=function(a,b){return pp(this,a,b)|pp(this,a,b)<<8};
function sp(a,b,c,d){if(a.C&&a.C.Nb>=a.C.$a)if(0>tp(a.C,c))a.sa=1,a.X=16;else if(1==a.C.jb||a.C.jb==a.C.$a)n(a,1048832)&&m(a,b,c,d,"DATA["+a.C.jb+"]"),1<a.C.jb&&(a.C.Nb-=a.C.$a,a.da=a.da-1&255,rp(a),a.sa=80,a.C.Nb>=a.C.$a&&(a.sa|=8))}h.zm=function(a,b,c){sp(this,a,b&255,c);sp(this,a,b>>8&255,c)};h.il=function(a,b){var c=this.X;m(this,a,null,b,"ERROR",c);return c};h.Em=function(a,b,c){m(this,a,b,c,"WPREC");this.Va=b};h.kl=function(a,b){var c=this.da;m(this,a,null,b,"SECCNT",c);return c};
h.Cm=function(a,b,c){m(this,a,b,c,"SECCNT");this.da=b};h.ll=function(a,b){var c=this.Ha;m(this,a,null,b,"SECNUM",c);return c};h.Dm=function(a,b,c){m(this,a,b,c,"SECNUM");this.Ha=b};h.gl=function(a,b){var c=this.Ea;m(this,a,null,b,"CYLLO",c);return c};h.ym=function(a,b,c){m(this,a,b,c,"CYLLO");this.Ea=b};h.fl=function(a,b){var c=this.Ba;m(this,a,null,b,"CYLHI",c);return c};h.xm=function(a,b,c){m(this,a,b,c,"CYLHI");this.Ba=b};h.hl=function(a,b){var c=this.za;m(this,a,null,b,"DRVHD",c);return c};
h.Am=function(a,b,c){m(this,a,b,c,"DRVHD");this.za=b;this.sa=this.A[this.za&16?1:0]?this.sa|80:this.sa&-65};h.ml=function(a,b){var c=this.sa;m(this,a,null,b,"STATUS",c);this.sa&64&&(this.sa&=-129);return c};h.wm=function(a,b,c){m(this,a,b,c,"COMMAND");this.Ma=b;this.R&&Zf(this.R,14);qp(this)};h.Bm=function(a,b,c){m(this,a,b,c,"FDR");this.la&4&&!(b&4)&&(this.X=1);this.la=b};
function qp(a){var b=!1,c=a.Ma,d=a.za&16?1:0,e=a.za&15,f=a.Ea|(a.Ba&3)<<8,g=a.Ha,k=a.da||256;a.kb=-1;a.C=null;a.X=0;a.sa=80;var q=a.A[d];q?(q.ae=f,q.mb=e,q.Cb=g,q.Nb=k*q.$a,c=144<=c?c:c&240,q.tb=null,q.jb=0,q.errorCode=0,a.kb=d,a.C=q):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.sa=128;mp(q,function(b){0<=b&&a.R?(np(a),a.sa=88):(a.sa=1,a.X=16)},!1);break;case 48:a.sa=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:q.yb=e+1,q.ob=k,b=!0}b&&np(a)}
function np(a){!a.R||a.la&2||$f(a.R,14,120)}
function kp(a){a.O=0;var b=rp(a),c=rp(a),d=c&32,e=d>>5,f=c&31,g=rp(a),k=rp(a),q=g<<2&768|k,r=g&63,x=rp(a),B=rp(a),y=a.A[e];y&&(y.ae=q,y.mb=f,y.Cb=r,y.Nb=x*y.$a);switch(b){case 3:sp(a,y?y.errorCode:4);tp(a,c);tp(a,g);tp(a,k);tp(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=rp(a));)y&&c<y.Pe.length&&(y.Pe[c++]=b);y&&jp(a,y);b=0;y||a.ua!=e||(a.ua=-1,b=2);sp(a,b|d);b=-1;break;case 224:case 228:sp(a,0|d),b=-1}if(0<=b)switch(void 0===y?b=-1:(y.errorCode=0,y.nk=0),b){case 0:sp(a,0|d);break;case 1:y.zf=B;sp(a,
0|d);break;case 5:sp(a,0|d);break;case 8:up(a,y,function(b){sp(a,b|d)});break;case 10:vp(a,y,function(b){sp(a,b|d)});break;case 15:wp(a,y,function(b){sp(a,b|d)});break;default:sp(a,2|d)}}function rp(a){var b=-1;a.O<a.P&&(b=a.Y[a.O++]);return b}function sp(a,b){a.O=a.P=0;void 0!==b&&tp(a,b);a.R&&$f(a.R,5);a.sa|=32}function tp(a,b){a.Y[a.P++]=b}h.Dk=function(a,b,c){void 0===b||0>b?mp(a,c):c(-1,!1)};h.Ek=function(a,b){return void 0!==b&&0<=b?pp(a,b):-1};
h.Sk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.jb<a.Qe.length?a.Qe[a.jb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};h.Tk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.ld[a.Ue++]=c;if(a.Ue==a.ld.length){a.ae=a.ld[0];a.mb=a.ld[1];a.Cb=a.ld[2];a.Nb=128<<a.ld[3];for(var d=a.Ue=0;d<a.Nb;d++)if(0>pp(a,a.Ci)){c=-1;break a}a.ng++}a.ng>=a.ee&&(c=-1)}else c=-1;return c};
function up(a,b,c){b.errorCode=4;if(b.Da&&(b.tb=null,a.R)){b.errorCode=0;$k(a.R,3,a,"dmaRead",b);Tk(a.R,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function vp(a,b,c){b.errorCode=4;if(b.Da&&(b.tb=null,a.R)){b.errorCode=0;$k(a.R,3,a,"dmaWrite",b);Tk(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 wp(a,b,c){b.errorCode=4;b.Qe&&b.Qe.length==b.Nb||(b.Qe=Array(b.Nb));b.jb=0;a.R?(b.errorCode=0,$k(a.R,3,a,"dmaWriteBuffer",b),Tk(a.R,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
function mp(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.tb&&(f=a.jb,d=a.Da.read(a.tb,a.jb),a.jb+=g,0<=d))return e=a.tb,b&&b(d,!1,e,f),d;if(b){if(a.Da)return a.Da.seek(a.ae,a.mb,a.Cb+a.mg,!1,function(c,q){(a.tb=c)?(e=c,f=a.jb=0,xp(a),d=a.Da.read(a.tb,a.jb),a.jb+=g):a.errorCode=20;b(d,q,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
function pp(a,b){if(a.errorCode)return-1;do{if(a.tb&&a.Da.write(a.tb,a.jb++,b))break;a.Da&&a.Da.seek(a.ae,a.mb,a.Cb+a.mg,!0,function(b){a.tb=b});if(!a.tb){a.errorCode=20;b=-1;break}a.jb=0;xp(a)}while(1);return b}function xp(a){a.Cb++;var b=1-a.mg;a.Cb>=a.ob+b&&(a.Cb=b,a.mb++,a.mb>=a.yb&&(a.mb=0,a.ae++))}h.dm=function(){var a=this.M.H&255;!(this.M.F>>8)&&128<a&&(this.ua=a-128);return!0};h.em=function(){var a;(a=this.M.F>>8||!this.R)||(a=!(this.R.vc[0].Cd&64));return a?!0:!1};
var ep={800:ap.prototype.bm,801:ap.prototype.cm,802:ap.prototype.am},dp={496:ap.prototype.Fk,497:ap.prototype.il,498:ap.prototype.kl,499:ap.prototype.ll,500:ap.prototype.gl,501:ap.prototype.fl,502:ap.prototype.hl,503:ap.prototype.ml},gp={800:ap.prototype.sn,801:ap.prototype.vn,802:ap.prototype.un,803:ap.prototype.tn,807:ap.prototype.ki,811:ap.prototype.ki,815:ap.prototype.ki},fp={496:ap.prototype.zm,497:ap.prototype.Em,498:ap.prototype.Cm,499:ap.prototype.Dm,500:ap.prototype.ym,501:ap.prototype.xm,
502:ap.prototype.Am,503:ap.prototype.wm,1014:ap.prototype.Bm};Sa(function(){for(var a=qb(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new ap(d);pb(d,c)}});
function yp(a){Xa.call(this,"Debugger",a,yp);this.wa=this.Ha=this.ka=0;this.Ra=4;this.Ja=5;this.Ga=1048575;this.da=zp(this);this.Jb=zp(this);this.W=-1;this.O=[];this.Ma=!1;this.Ba=zp(this);this.C=[];this.Ea={};this.A=this.za=this.la=[];Ap(this);this.Va=0;Bp(this);this.ib=[];Cp(this,a.messages);this.rb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return Dp(b,a)}):void 0===global.$&&(global.$=function(a){return Dp(b,a)})}gb(yp);
var Ep={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Fp=[26,28,40,42,109],Gp={"?":"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"},Hp="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(" "),
Ip="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(" "),
Jp=["VALID","ZERO ","SPEC ","EMPTY"],Kp=[8086,80186,80286,80386],Lp=["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"],Mp="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),Np={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},Op=[0,0],Pp=[176,12291],Qp=[[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],
h.Am=function(a,b,c){m(this,a,b,c,"DRVHD");this.za=b;this.sa=this.A[this.za&16?1:0]?this.sa|80:this.sa&-65};h.ml=function(a,b){var c=this.sa;m(this,a,null,b,"STATUS",c);this.sa&64&&(this.sa&=-129);return c};h.wm=function(a,b,c){m(this,a,b,c,"COMMAND");this.Ma=b;this.R&&Zf(this.R,14);up(this)};h.Bm=function(a,b,c){m(this,a,b,c,"FDR");this.la&4&&!(b&4)&&(this.X=1);this.la=b};
function up(a){var b=!1,c=a.Ma,d=a.za&16?1:0,e=a.za&15,f=a.Ea|(a.Ba&3)<<8,g=a.Ha,k=a.da||256;a.kb=-1;a.C=null;a.X=0;a.sa=80;var q=a.A[d];q?(q.ae=f,q.mb=e,q.Cb=g,q.Nb=k*q.$a,c=144<=c?c:c&240,q.tb=null,q.jb=0,q.errorCode=0,a.kb=d,a.C=q):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.sa=128;qp(q,function(b){0<=b&&a.R?(rp(a),a.sa=88):(a.sa=1,a.X=16)},!1);break;case 48:a.sa=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:q.yb=e+1,q.ob=k,b=!0}b&&rp(a)}
function rp(a){!a.R||a.la&2||$f(a.R,14,120)}
function op(a){a.O=0;var b=vp(a),c=vp(a),d=c&32,e=d>>5,f=c&31,g=vp(a),k=vp(a),q=g<<2&768|k,r=g&63,x=vp(a),B=vp(a),y=a.A[e];y&&(y.ae=q,y.mb=f,y.Cb=r,y.Nb=x*y.$a);switch(b){case 3:wp(a,y?y.errorCode:4);xp(a,c);xp(a,g);xp(a,k);xp(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=vp(a));)y&&c<y.Pe.length&&(y.Pe[c++]=b);y&&np(a,y);b=0;y||a.ua!=e||(a.ua=-1,b=2);wp(a,b|d);b=-1;break;case 224:case 228:wp(a,0|d),b=-1}if(0<=b)switch(void 0===y?b=-1:(y.errorCode=0,y.nk=0),b){case 0:wp(a,0|d);break;case 1:y.zf=B;wp(a,
0|d);break;case 5:wp(a,0|d);break;case 8:yp(a,y,function(b){wp(a,b|d)});break;case 10:zp(a,y,function(b){wp(a,b|d)});break;case 15:Ap(a,y,function(b){wp(a,b|d)});break;default:wp(a,2|d)}}function vp(a){var b=-1;a.O<a.P&&(b=a.Y[a.O++]);return b}function wp(a,b){a.O=a.P=0;void 0!==b&&xp(a,b);a.R&&$f(a.R,5);a.sa|=32}function xp(a,b){a.Y[a.P++]=b}h.Dk=function(a,b,c){void 0===b||0>b?qp(a,c):c(-1,!1)};h.Ek=function(a,b){return void 0!==b&&0<=b?tp(a,b):-1};
h.Sk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.jb<a.Qe.length?a.Qe[a.jb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};h.Tk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.ld[a.Ue++]=c;if(a.Ue==a.ld.length){a.ae=a.ld[0];a.mb=a.ld[1];a.Cb=a.ld[2];a.Nb=128<<a.ld[3];for(var d=a.Ue=0;d<a.Nb;d++)if(0>tp(a,a.Ci)){c=-1;break a}a.ng++}a.ng>=a.ee&&(c=-1)}else c=-1;return c};
function yp(a,b,c){b.errorCode=4;if(b.Da&&(b.tb=null,a.R)){b.errorCode=0;dl(a.R,3,a,"dmaRead",b);Xk(a.R,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function zp(a,b,c){b.errorCode=4;if(b.Da&&(b.tb=null,a.R)){b.errorCode=0;dl(a.R,3,a,"dmaWrite",b);Xk(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 Ap(a,b,c){b.errorCode=4;b.Qe&&b.Qe.length==b.Nb||(b.Qe=Array(b.Nb));b.jb=0;a.R?(b.errorCode=0,dl(a.R,3,a,"dmaWriteBuffer",b),Xk(a.R,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
function qp(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.tb&&(f=a.jb,d=a.Da.read(a.tb,a.jb),a.jb+=g,0<=d))return e=a.tb,b&&b(d,!1,e,f),d;if(b){if(a.Da)return a.Da.seek(a.ae,a.mb,a.Cb+a.mg,!1,function(c,q){(a.tb=c)?(e=c,f=a.jb=0,Bp(a),d=a.Da.read(a.tb,a.jb),a.jb+=g):a.errorCode=20;b(d,q,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
function tp(a,b){if(a.errorCode)return-1;do{if(a.tb&&a.Da.write(a.tb,a.jb++,b))break;a.Da&&a.Da.seek(a.ae,a.mb,a.Cb+a.mg,!0,function(b){a.tb=b});if(!a.tb){a.errorCode=20;b=-1;break}a.jb=0;Bp(a)}while(1);return b}function Bp(a){a.Cb++;var b=1-a.mg;a.Cb>=a.ob+b&&(a.Cb=b,a.mb++,a.mb>=a.yb&&(a.mb=0,a.ae++))}h.dm=function(){var a=this.M.H&255;!(this.M.F>>8)&&128<a&&(this.ua=a-128);return!0};h.em=function(){var a;(a=this.M.F>>8||!this.R)||(a=!(this.R.vc[0].Cd&64));return a?!0:!1};
var ip={800:ep.prototype.bm,801:ep.prototype.cm,802:ep.prototype.am},hp={496:ep.prototype.Fk,497:ep.prototype.il,498:ep.prototype.kl,499:ep.prototype.ll,500:ep.prototype.gl,501:ep.prototype.fl,502:ep.prototype.hl,503:ep.prototype.ml},kp={800:ep.prototype.sn,801:ep.prototype.vn,802:ep.prototype.un,803:ep.prototype.tn,807:ep.prototype.ki,811:ep.prototype.ki,815:ep.prototype.ki},jp={496:ep.prototype.zm,497:ep.prototype.Em,498:ep.prototype.Cm,499:ep.prototype.Dm,500:ep.prototype.ym,501:ep.prototype.xm,
502:ep.prototype.Am,503:ep.prototype.wm,1014:ep.prototype.Bm};Sa(function(){for(var a=qb(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new ep(d);pb(d,c)}});
function Cp(a){Xa.call(this,"Debugger",a,Cp);this.wa=this.Ha=this.ka=0;this.Ra=4;this.Ja=5;this.Ga=1048575;this.da=Dp(this);this.Jb=Dp(this);this.W=-1;this.O=[];this.Ma=!1;this.Ba=Dp(this);this.C=[];this.Ea={};this.A=this.za=this.la=[];Ep(this);this.Va=0;Fp(this);this.ib=[];Gp(this,a.messages);this.rb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return Hp(b,a)}):void 0===global.$&&(global.$=function(a){return Hp(b,a)})}gb(Cp);
var Ip={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Jp=[26,28,40,42,109],Kp={"?":"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"},Lp="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(" "),
Mp="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(" "),
Np=["VALID","ZERO ","SPEC ","EMPTY"],Op=[8086,80186,80286,80386],Pp=["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"],Qp="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),Rp={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},Sp=[0,0],Tp=[176,12291],Up=[[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]],Rp={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]],Vp={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]},Sp={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]},Wp={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]}},Tp=[[[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],Op,[119,45185,4097]],[[115,45188,4097],[116,45188,4097],[109,45188,4097],[110,45188,4097],[140,45188,4097],[142,45188,4097],Op,[119,45188,4097]],[[115,12417,4113],
[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],Op,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],Op,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],Op,[119,12417,4449]],[[115,12420,4449],[116,12420,4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],Op,[119,12420,4449]],[[155,4225,4097],Op,[98,
12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],Op,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],Op,Op,Op,Op,Op,Op],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],Op],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],Op,Op],[[139,41091],[144,41091],[75,36995],[77,36995],[146,41091],Op,[79,36995],Op],[Op,Op,Op,Op,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];
h=yp.prototype;
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ia=a;this.oc=Jb(a,"FDC");this.Vb=Jb(a,"HDC");this.Yb=Jb(a,"FPU");this.Y=Jb(a,"Mouse");(a=Lo(a,"messages"))&&Cp(this,a);this.Ja=b.P>>2;this.Ga=b.xg;this.cc=new kd(this.M,7,"DBG");this.Qa=Qp;80186<=this.M.na&&(this.Qa=Qp.slice(),this.Qa[15]=Op,80286<=this.M.na&&(this.Qa[15]=Pp,80386<=this.M.na&&(this.Ra=8)));qk(this,64,function(a){Up(d,d.M.kd,a[0])});qk(this,128,function(a){Up(d,d.M.ya,a[0],d.M.ya!==d.M.kd)});qk(this,4,function(a){if(a=a[0]){var b=Vp(d,
a);if(void 0===b)d.U("invalid selector: "+a);else if(a=Wp(d,b,2),d.U("dumpSel("+ia(a?a.ga:b)+"): %"+l(a?a.dc:null,d.Ja)),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 k=Xp[a.type];k&&(c=k[0],b=k[1])}!c||a.Bb&32768||(c+=",not present");d.U((b?"seg="+ia(a.Fa&65535)+" off="+ia(a.Za):"base="+l(a.Fa,d.Ja)+" limit="+
Yp(a.Za))+" type="+ga(a.type>>8)+" ("+c+") ext="+ia(a.ext&-65296)+" dpl="+ga(a.Mc))}}else d.U("no selector")});qk(this,8,function(a){a:{if(a=a[0]){var b=Vp(d,a);if(void 0===b){d.U("invalid task selector: "+a);break a}a=Wp(d,b,2)}else a=d.M.Ya;d.U("dumpTSS("+ia(a?a.ga:b)+"): %"+l(a?a.Fa:null,d.Ja));if(a){var b="",c=a.type&-513,k=256==c?4:8,q=256==c?Zp:$p,r,x,B,y;for(y in q)r=q[y],x=a.Fa+r,B=Gf(d.M,x,2),2304==c&&(B|=Gf(d.M,x+2,2)<<16),b&&(b+="\n"),b+=ia(r)+" "+oa(y+":",11)+l(B,k);if(2304==c)for(y=0,
r=B>>>16;r<a.fc&&1023>y;)x=a.Fa+r,B=Gf(d.M,x,2),b+="\n"+ia(r)+" ports "+ia(y)+"-"+ia(y+15)+": "+fa(B,2),y+=16,r+=2;d.U(b)}}});qk(this,134217728,function(a){var b;(a=a[0])&&(b=Vp(d,a));if(void 0===b)d.U("invalid MCB");else for(d.U("dumpMCB("+ia(b)+")");b;){a=zp(d,0,b);var c=d.Wa(a,1),k=d.va(a,2),q=d.va(a,5);if(77!=c&&90!=c)break;d.U(aq(0,b)+": '"+String.fromCharCode(c)+"' PID="+ia(k)+" LEN="+ia(q)+' "'+bq(d,a,8)+'"');b+=1+q}});this.R=null;this.xb=0;this.lb=!1;Se(this.M,48,this.gm.bind(this));Se(this.M,
65,this.hm.bind(this));this.ua=null;Se(this.M,104,this.im.bind(this));xb(this)};function cq(a,b,c,d,e,f){b=bq(a,b);var g=Wp(a,d),g=g?g.Za+1:0,k=(e?"_CODE":"_DATA")+l(c,2);f&&n(a,128)&&a.message(b+" "+(e?"code":"data")+"("+l(c,4)+")=#"+l(d,4)+" len "+l(g));e=dq(a,b,c);e[b+k]=0;xl(a,b,c,d,0,null,g,e)}
function eq(a,b,c,d){var e=a.va(b,2),f=a.va(b,2),g=a.ta(b,4),k=a.ta(b,4),q=zp(a,a.ta(b,4),a.va(b,2));b=zp(a,a.ta(b,4),a.va(b,2));b=bq(a,b).toUpperCase();var q=bq(a,q).toUpperCase(),r=(c?"_CODE":"_DATA")+l(e,2);d&&n(a,128)&&a.message((b==q?"":b+"!")+q+" "+(c?"code":"data")+"("+l(e,4)+")="+l(f,4)+":"+l(g)+" len "+l(k));c=dq(a,q,e);c[q+r]=g;xl(a,q,e,f,g,null,k,c)}function fq(a,b,c){c=bq(a,c).toUpperCase();gq(a,c,b)}
h.gm=function(){var a=this.M;if(null!=this.R&&2752554==a.F){var b=a.H&65535,c=a.J&65535,d=zp(this,u(a)+12,a.Aa.ga);switch(this.ta(d)){case 336:eq(this,zp(this,a.D,b),!c,!!this.R)}}return!0};
h.hm=function(a){var b=this.M,c=b.F&65535,d=b.D&65535,e=b.G&65535,f=b.H&65535,g=b.J&65535,k=b.I&65535,q=b.bb.ga;if(null==this.R)return 79==c&&Te(b,a,function(a){return function(){62342!=(b.F&65535)?(b.F=b.F&-65536|62342,sb(a,"INT 0x41 handling enabled",128),a.R=!0):(sb(a,"INT 0x41 monitoring enabled",128),a.R=!1)}}(this)),!0;switch(c){case 79:this.R&&(b.F=b.F&-65536|62342,sb(this,"INT 0x41 handling enabled",128));break;case 80:cq(this,zp(this,k,q),d+1,e,!(g&1),!!this.R);break;case 82:gq(this,null,
d);break;case 127:this.R&&(b.F=b.F&-65536|(this.lb?0:1));break;case 131:this.R&&(a=zp(this,b.H,e),this.xb++?(this.U("TRAPFAULT failed"),hq(this,this.A,a,!0,!0),this.xb=0,this.bc()):(this.U("INT 0x41 TRAPFAULT: fault="+ia(d)+" error="+("0x"+l(b.J))+" addr="+iq(a)),this.Nd(this.A,a,!0),Bp(this,!0)));break;case 141:this.R&&(b.F=b.F&-65536|1);break;case 336:eq(this,zp(this,b.D,f),!g,!!this.R);break;case 338:fq(this,d,zp(this,b.I,f))}this.lb=!1;return!this.R};
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]}},Xp=[[[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],Sp,[119,45185,4097]],[[115,45188,4097],[116,45188,4097],[109,45188,4097],[110,45188,4097],[140,45188,4097],[142,45188,4097],Sp,[119,45188,4097]],[[115,12417,4113],
[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],Sp,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],Sp,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],Sp,[119,12417,4449]],[[115,12420,4449],[116,12420,4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],Sp,[119,12420,4449]],[[155,4225,4097],Sp,[98,
12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],Sp,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],Sp,Sp,Sp,Sp,Sp,Sp],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],Sp],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],Sp,Sp],[[139,41091],[144,41091],[75,36995],[77,36995],[146,41091],Sp,[79,36995],Sp],[Sp,Sp,Sp,Sp,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];
h=Cp.prototype;
h.Jc=function(a,b,c,d){this.ja=b;this.M=c;this.ia=a;this.oc=Jb(a,"FDC");this.Vb=Jb(a,"HDC");this.Yb=Jb(a,"FPU");this.Y=Jb(a,"Mouse");(a=Po(a,"messages"))&&Gp(this,a);this.Ja=b.P>>2;this.Ga=b.xg;this.cc=new kd(this.M,7,"DBG");this.Qa=Up;80186<=this.M.na&&(this.Qa=Up.slice(),this.Qa[15]=Sp,80286<=this.M.na&&(this.Qa[15]=Tp,80386<=this.M.na&&(this.Ra=8)));uk(this,64,function(a){Yp(d,d.M.kd,a[0])});uk(this,128,function(a){Yp(d,d.M.ya,a[0],d.M.ya!==d.M.kd)});uk(this,4,function(a){if(a=a[0]){var b=Zp(d,
a);if(void 0===b)d.U("invalid selector: "+a);else if(a=$p(d,b,2),d.U("dumpSel("+ia(a?a.ga:b)+"): %"+l(a?a.dc:null,d.Ja)),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 k=aq[a.type];k&&(c=k[0],b=k[1])}!c||a.Bb&32768||(c+=",not present");d.U((b?"seg="+ia(a.Fa&65535)+" off="+ia(a.Za):"base="+l(a.Fa,d.Ja)+" limit="+
bq(a.Za))+" type="+ga(a.type>>8)+" ("+c+") ext="+ia(a.ext&-65296)+" dpl="+ga(a.Mc))}}else d.U("no selector")});uk(this,8,function(a){a:{if(a=a[0]){var b=Zp(d,a);if(void 0===b){d.U("invalid task selector: "+a);break a}a=$p(d,b,2)}else a=d.M.Ya;d.U("dumpTSS("+ia(a?a.ga:b)+"): %"+l(a?a.Fa:null,d.Ja));if(a){var b="",c=a.type&-513,k=256==c?4:8,q=256==c?cq:dq,r,x,B,y;for(y in q)r=q[y],x=a.Fa+r,B=Gf(d.M,x,2),2304==c&&(B|=Gf(d.M,x+2,2)<<16),b&&(b+="\n"),b+=ia(r)+" "+pa(y+":",11)+l(B,k);if(2304==c)for(y=0,
r=B>>>16;r<a.fc&&1023>y;)x=a.Fa+r,B=Gf(d.M,x,2),b+="\n"+ia(r)+" ports "+ia(y)+"-"+ia(y+15)+": "+fa(B,2),y+=16,r+=2;d.U(b)}}});uk(this,134217728,function(a){var b;(a=a[0])&&(b=Zp(d,a));if(void 0===b)d.U("invalid MCB");else for(d.U("dumpMCB("+ia(b)+")");b;){a=Dp(d,0,b);var c=d.Wa(a,1),k=d.va(a,2),q=d.va(a,5);if(77!=c&&90!=c)break;d.U(eq(0,b)+": '"+String.fromCharCode(c)+"' PID="+ia(k)+" LEN="+ia(q)+' "'+fq(d,a,8)+'"');b+=1+q}});this.R=null;this.xb=0;this.lb=!1;Se(this.M,48,this.gm.bind(this));Se(this.M,
65,this.hm.bind(this));this.ua=null;Se(this.M,104,this.im.bind(this));xb(this)};function gq(a,b,c,d,e,f){b=fq(a,b);var g=$p(a,d),g=g?g.Za+1:0,k=(e?"_CODE":"_DATA")+l(c,2);f&&n(a,128)&&a.message(b+" "+(e?"code":"data")+"("+l(c,4)+")=#"+l(d,4)+" len "+l(g));e=hq(a,b,c);e[b+k]=0;Bl(a,b,c,d,0,null,g,e)}
function iq(a,b,c,d){var e=a.va(b,2),f=a.va(b,2),g=a.ta(b,4),k=a.ta(b,4),q=Dp(a,a.ta(b,4),a.va(b,2));b=Dp(a,a.ta(b,4),a.va(b,2));b=fq(a,b).toUpperCase();var q=fq(a,q).toUpperCase(),r=(c?"_CODE":"_DATA")+l(e,2);d&&n(a,128)&&a.message((b==q?"":b+"!")+q+" "+(c?"code":"data")+"("+l(e,4)+")="+l(f,4)+":"+l(g)+" len "+l(k));c=hq(a,q,e);c[q+r]=g;Bl(a,q,e,f,g,null,k,c)}function jq(a,b,c){c=fq(a,c).toUpperCase();kq(a,c,b)}
h.gm=function(){var a=this.M;if(null!=this.R&&2752554==a.F){var b=a.H&65535,c=a.J&65535,d=Dp(this,u(a)+12,a.Aa.ga);switch(this.ta(d)){case 336:iq(this,Dp(this,a.D,b),!c,!!this.R)}}return!0};
h.hm=function(a){var b=this.M,c=b.F&65535,d=b.D&65535,e=b.G&65535,f=b.H&65535,g=b.J&65535,k=b.I&65535,q=b.bb.ga;if(null==this.R)return 79==c&&Te(b,a,function(a){return function(){62342!=(b.F&65535)?(b.F=b.F&-65536|62342,sb(a,"INT 0x41 handling enabled",128),a.R=!0):(sb(a,"INT 0x41 monitoring enabled",128),a.R=!1)}}(this)),!0;switch(c){case 79:this.R&&(b.F=b.F&-65536|62342,sb(this,"INT 0x41 handling enabled",128));break;case 80:gq(this,Dp(this,k,q),d+1,e,!(g&1),!!this.R);break;case 82:kq(this,null,
d);break;case 127:this.R&&(b.F=b.F&-65536|(this.lb?0:1));break;case 131:this.R&&(a=Dp(this,b.H,e),this.xb++?(this.U("TRAPFAULT failed"),lq(this,this.A,a,!0,!0),this.xb=0,this.bc()):(this.U("INT 0x41 TRAPFAULT: fault="+ia(d)+" error="+("0x"+l(b.J))+" addr="+mq(a)),this.Nd(this.A,a,!0),Fp(this,!0)));break;case 141:this.R&&(b.F=b.F&-65536|1);break;case 336:iq(this,Dp(this,b.D,f),!g,!!this.R);break;case 338:jq(this,d,Dp(this,b.I,f))}this.lb=!1;return!this.R};
h.im=function(a){var b=this.M,c=b.F&255,d=b.F>>8&255,e=b.D&65535,f=b.G&65535,g=b.H&65535,k=b.I&65535,q=b.bb.ga;if(null==this.ua){if(67==d){if(609437257==b.ta((b.Ca.ga<<4)+10)||1111835735==b.ta((b.Ca.ga<<4)+95))return!0;Te(b,a,function(a){return function(){62342!=(b.F&65535)?(b.F=b.F&-65536|62342,sb(a,"INT 0x68 handling enabled",128),a.R=a.ua=!0):(sb(a,"INT 0x68 monitoring enabled",128),a.ua=!1)}}(this))}return!0}switch(d){case 67:this.ua&&(b.F=b.F&-65536|62342);break;case 68:this.ua&&(a=md(b.Ca,this.Nk.bind(this)))&&
(b.I=a[0],Cd(b,a[1]));break;case 72:gq(this,null,e);break;case 80:32==c?cq(this,zp(this,k,q),0,f,!0,!!this.ua):128>c?cq(this,zp(this,k,q),e+1,c&64?g:f,!(c&1),!!this.ua):eq(this,zp(this,k,q),!(c&1),!!this.ua),this.ua&&(b.F=b.F&-256|1)}return!this.ua};h.Nk=function(){var a=this.M;5==(a.F&255)&&(a.G=a.J=0,a.F=a.F&-256|1);return!1};
h.Ub=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ta=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Dp(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.W<d.O.length-1&&(b=d.O[++d.W]):40==a.keyCode&&(0<d.W?b=d.O[--d.W]:(b="",d.W=-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.xa[b]=c,Ma(c,function(){if(d.Ta){var a=d.Ta.value;d.Ta.value=
"";Dp(d,a,!0);return!0}return!1}),!0;case "step":return this.xa[b]=c,Ma(c,function(a){var b=!1;wb(d,!0)||(vb(d,!0),b=d.tf(a?1:0),vb(d,!1));return b}),!0}return!1};h.Vc=function(){this.Ta&&this.Ta.focus()};function jq(a){return a.M&&!!(a.M.hb&1)&&!(a.M.ea&131072)}
function Wp(a,b,c){var d=jq(a)?2:1;c||(c=d);if(c==d){if(b===a.M.Ca.ga)return a.M.Ca;if(b===a.M.Ab.ga)return a.M.Ab;if(b===a.M.bb.ga)return a.M.bb;if(b===a.M.Aa.ga)return a.M.Aa;if(80386<=a.M.na){if(b===a.M.Sb.ga)return a.M.Sb;if(b===a.M.Tb.ga)return a.M.Tb}if(a.qb&&2==c||!a.cc)return null}a=a.cc;if(2!=c)a.ph(b),a.Za=65535,a.fc=65536;else{var e;c=a.M;b=b&65535;b&4?(d=c.Bc.Fa,e=d+c.Bc.Za|0):(d=c.Ec,e=c.Bd);d=d+(b&65528)|0;if(e-d|0){e=Gf(c,d+0,2);var f=Gf(c,d+4,2),g=f&7936,k=Gf(c,d+2,2)|(f&255)<<16,
q=Gf(c,d+6,2);80386<=c.na&&(k|=(q&65280)<<16,e|=(q&15)<<16,q&128&&(e=e<<12|4095));a.ga=b;a.Fa=k;a.Za=e;a.fc=(e>>>0)+1;a.Bb=f;a.type=g;a.ext=q;a.dc=d;ld(a,!0,!0,!1)}}return a}h.ic=function(a,b,c){var d=a&&a.Ia;if(null==d&&(d=-1,a)){var e=Wp(this,a.ga,a.type);e&&(b=a.Xa||0,c=c||1,d=e=-1===e.dc||e.dd&&(b>>>0)+c>e.fc||!e.dd&&(b>>>0)+c<=e.fc?e.Fa+b|0:-1,a.Ia=d)}return d};h.Wa=function(a,b){var c=255,d=this.ic(a,!1,1);-1!==d&&(c=Gf(this.M,d,1,5==a.type)|0,b&&kq(this,a,b));return c};
h.vb=function(a,b){return a.Xb?this.ta(a,b?4:0):this.va(a,b?2:0)};h.va=function(a,b){var c=65535,d=this.ic(a,!1,2);-1!==d&&(c=Gf(this.M,d,2,5==a.type),b&&kq(this,a,b));return c};h.ta=function(a,b){var c=-1,d=this.ic(a,!1,4);-1!==d&&(c=Gf(this.M,d,4,5==a.type),b&&kq(this,a,b));return c};h.tc=function(a,b,c){var d=this.ic(a,!0,1);if(-1!==d){if(5!=a.type)this.M.tc(d,b);else{var e=this.ja;e.ya[(d&e.Mb)>>>e.Pa].uf(d&e.A,b&255,d)}c&&kq(this,a,c);Yc(this.M,!0)}};
h.pb=function(a,b,c){var d=this.ic(a,!0,2);-1!==d&&(5!=a.type?this.M.pb(d,b):lc(this.ja,d,b),c&&kq(this,a,c),Yc(this.M,!0))};function zp(a,b,c,d,e,f,g){return lq(a,{},b,c,d,e,f,g)}function lq(a,b,c,d,e,f,g,k){b.Xa=c||0;b.ga=d;b.Ia=e;b.type=f||(jq(a)?2:1);b.Xb=null!=g?g:a.M&&4==a.M.Ca.fa;b.rc=null!=k?k:a.M&&4==a.M.Ca.gd;b.Sd=!1;return b}function mq(a){return[a.Xa,a.ga,a.Ia,a.Sd,a.Xb,a.rc,a.Re,a.Rd]}function nq(a){return{Xa:a[0],ga:a[1],Ia:a[2],Sd:a[3],Xb:a[4],rc:a[5],Re:a[6],Rd:a[7]}}
function oq(a,b,c){if(null!=b.ga&&(a=Wp(a,b.ga,b.type))){var d=b.Xa&a.Ga;if(!a.dd){if(d>>>0>=a.fc)return!1}else if(d>>>0<a.fc)return!1;c&&(b.Xa=d,b.Xb=4==a.fa,b.rc=4==a.gd)}return!0}
function pq(a,b,c,d){var e,f=c?a.da:a.Jb;c=d?0:f.type;var g=f.Xa,k=f.ga,f=f.Ia;if(void 0!==b){b=qq(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;k=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var q;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var r=e.toUpperCase(),x=0;x<a.C.length;x++){e=a.C[x];var B=e.Md[r];if(void 0!==B){r=B.o;void 0!==r&&(q=B.s,void 0===q&&(q=e.ga),q=zp(a,r,q,B.p));
break}}if(e=q)return e;0>f?null!=k?(g=rq(a,b,void 0),f=null):(f=rq(a,b,void 0),null==f&&(g=null)):(k=rq(a,b.substring(0,f),void 0),g=rq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=zp(a,g,k,f,c),d||oq(a,e,!0)||(a.U("invalid offset: "+iq(e)),e=null));return e}function sq(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Jk=tq(a,b.kk=c[2]))}function kq(a,b,c){c=c||1;null!=b.Ia&&(b.Ia+=c);null!=b.ga&&(b.Xa+=c,oq(a,b)||(b.Xa=0,b.Ia=null))}
function aq(a,b,c){return null!=b?l(b,4)+":"+l(a,a&-65536||c?8:4):l(a)}function iq(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.ga?"":"%"}return 4<=a.type||null==a.ga?b+l(a.Ia):b+aq(a.Xa,a.ga,a.rc)}function bq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Wa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function Up(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.ic(pq(a,c));if(-1===e){a.U("invalid address: "+c);return}f=e>>>a.M.Pa;g=1}a.U("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.U("-------- --------- ---------- ------ ------ ----");c=-1;for(var k=0;g--;)(d=b[f])&&5==d.type&&(d=Lc(a.M,e,!1,!0)),d.type==c?k++||a.U("..."):(c=d.type,k=Cc[c],6==c&&(d=d.Dd,k+=" -> "+Cc[d.type]),d&&a.U(l(d.id)+" %"+l(f<<a.M.Pa)+" %%"+l(d.Ia)+" "+ia(d.Me)+" "+ia(d.size)+" "+k),
c!=Bc&&5!=c&&(c=-1),k=0),e+=a.M.Rb,f++}function uq(a,b,c){a=l(a)+" "+l(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 Xp={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]},Zp={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},$p={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 dq(a,b,c){var d=[],e;for(e=null;e=Jb(a.ia,"Disk",e);){var f=e,g=b,k=c,d=[];if(f.R)for(var q=0;q<f.R.length;q++){var r=f.R[q];if(r.cg==g&&(r=r.Ad[k])){for(var x in r.te)f=r.te[x],d[f[1]]=f[0];break}}if(d.length)break}return d}function Cp(a,b){a.ma=a;a.wc=a.Mk=1073741824;a.cb=null;var c=tq(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in Np)0<=ya(c,d)&&(a.wc|=Np[d],a.U(d+" messages enabled"));Bp(a)}
function qk(a,b,c){for(var d in Np)if(b==Np[d]){a.ib[d]=c;break}}function vq(a,b){var c;a=a.toUpperCase();null==b?c=ya(Lp,a):(c=ya(Lp,a.substr(b,3)),0>c&&(c=ya(Lp,a.substr(b,2))));return c}
function wq(a,b){var c=0,d=xq(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.Ra}return c?l(d,c):"??"}
function xq(a,b){var c;if(0<=b){var d=a.M;switch(b){case 0:c=d.F&255;break;case 1:c=d.G&255;break;case 2:c=d.H&255;break;case 3:c=d.D&255;break;case 4:c=d.F>>8&255;break;case 5:c=d.G>>8&255;break;case 6:c=d.H>>8&255;break;case 7:c=d.D>>8&255;break;case 8:c=d.F&65535;break;case 9:c=d.G&65535;break;case 10:c=d.H&65535;break;case 11:c=d.D&65535;break;case 12:c=u(d)&65535;break;case 13:c=d.K&65535;break;case 14:c=d.J&65535;break;case 15:c=d.I&65535;break;case 22:c=v(d)&65535;break;case 23:c=Ed(d);break;
(b.I=a[0],Cd(b,a[1]));break;case 72:kq(this,null,e);break;case 80:32==c?gq(this,Dp(this,k,q),0,f,!0,!!this.ua):128>c?gq(this,Dp(this,k,q),e+1,c&64?g:f,!(c&1),!!this.ua):iq(this,Dp(this,k,q),!(c&1),!!this.ua),this.ua&&(b.F=b.F&-256|1)}return!this.ua};h.Nk=function(){var a=this.M;5==(a.F&255)&&(a.G=a.J=0,a.F=a.F&-256|1);return!1};
h.Ub=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ta=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Hp(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.W<d.O.length-1&&(b=d.O[++d.W]):40==a.keyCode&&(0<d.W?b=d.O[--d.W]:(b="",d.W=-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.xa[b]=c,Ma(c,function(){if(d.Ta){var a=d.Ta.value;d.Ta.value=
"";Hp(d,a,!0);return!0}return!1}),!0;case "step":return this.xa[b]=c,Ma(c,function(a){var b=!1;wb(d,!0)||(vb(d,!0),b=d.tf(a?1:0),vb(d,!1));return b}),!0}return!1};h.Vc=function(){this.Ta&&this.Ta.focus()};function nq(a){return a.M&&!!(a.M.hb&1)&&!(a.M.ea&131072)}
function $p(a,b,c){var d=nq(a)?2:1;c||(c=d);if(c==d){if(b===a.M.Ca.ga)return a.M.Ca;if(b===a.M.Ab.ga)return a.M.Ab;if(b===a.M.bb.ga)return a.M.bb;if(b===a.M.Aa.ga)return a.M.Aa;if(80386<=a.M.na){if(b===a.M.Sb.ga)return a.M.Sb;if(b===a.M.Tb.ga)return a.M.Tb}if(a.qb&&2==c||!a.cc)return null}a=a.cc;if(2!=c)a.ph(b),a.Za=65535,a.fc=65536;else{var e;c=a.M;b=b&65535;b&4?(d=c.Bc.Fa,e=d+c.Bc.Za|0):(d=c.Ec,e=c.Bd);d=d+(b&65528)|0;if(e-d|0){e=Gf(c,d+0,2);var f=Gf(c,d+4,2),g=f&7936,k=Gf(c,d+2,2)|(f&255)<<16,
q=Gf(c,d+6,2);80386<=c.na&&(k|=(q&65280)<<16,e|=(q&15)<<16,q&128&&(e=e<<12|4095));a.ga=b;a.Fa=k;a.Za=e;a.fc=(e>>>0)+1;a.Bb=f;a.type=g;a.ext=q;a.dc=d;ld(a,!0,!0,!1)}}return a}h.ic=function(a,b,c){var d=a&&a.Ia;if(null==d&&(d=-1,a)){var e=$p(this,a.ga,a.type);e&&(b=a.Xa||0,c=c||1,d=e=-1===e.dc||e.dd&&(b>>>0)+c>e.fc||!e.dd&&(b>>>0)+c<=e.fc?e.Fa+b|0:-1,a.Ia=d)}return d};h.Wa=function(a,b){var c=255,d=this.ic(a,!1,1);-1!==d&&(c=Gf(this.M,d,1,5==a.type)|0,b&&oq(this,a,b));return c};
h.vb=function(a,b){return a.Xb?this.ta(a,b?4:0):this.va(a,b?2:0)};h.va=function(a,b){var c=65535,d=this.ic(a,!1,2);-1!==d&&(c=Gf(this.M,d,2,5==a.type),b&&oq(this,a,b));return c};h.ta=function(a,b){var c=-1,d=this.ic(a,!1,4);-1!==d&&(c=Gf(this.M,d,4,5==a.type),b&&oq(this,a,b));return c};h.tc=function(a,b,c){var d=this.ic(a,!0,1);if(-1!==d){if(5!=a.type)this.M.tc(d,b);else{var e=this.ja;e.ya[(d&e.Mb)>>>e.Pa].uf(d&e.A,b&255,d)}c&&oq(this,a,c);Yc(this.M,!0)}};
h.pb=function(a,b,c){var d=this.ic(a,!0,2);-1!==d&&(5!=a.type?this.M.pb(d,b):lc(this.ja,d,b),c&&oq(this,a,c),Yc(this.M,!0))};function Dp(a,b,c,d,e,f,g){return pq(a,{},b,c,d,e,f,g)}function pq(a,b,c,d,e,f,g,k){b.Xa=c||0;b.ga=d;b.Ia=e;b.type=f||(nq(a)?2:1);b.Xb=null!=g?g:a.M&&4==a.M.Ca.fa;b.rc=null!=k?k:a.M&&4==a.M.Ca.gd;b.Sd=!1;return b}function qq(a){return[a.Xa,a.ga,a.Ia,a.Sd,a.Xb,a.rc,a.Re,a.Rd]}function rq(a){return{Xa:a[0],ga:a[1],Ia:a[2],Sd:a[3],Xb:a[4],rc:a[5],Re:a[6],Rd:a[7]}}
function sq(a,b,c){if(null!=b.ga&&(a=$p(a,b.ga,b.type))){var d=b.Xa&a.Ga;if(!a.dd){if(d>>>0>=a.fc)return!1}else if(d>>>0<a.fc)return!1;c&&(b.Xa=d,b.Xb=4==a.fa,b.rc=4==a.gd)}return!0}
function tq(a,b,c,d){var e,f=c?a.da:a.Jb;c=d?0:f.type;var g=f.Xa,k=f.ga,f=f.Ia;if(void 0!==b){b=uq(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;k=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var q;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var r=e.toUpperCase(),x=0;x<a.C.length;x++){e=a.C[x];var B=e.Md[r];if(void 0!==B){r=B.o;void 0!==r&&(q=B.s,void 0===q&&(q=e.ga),q=Dp(a,r,q,B.p));
break}}if(e=q)return e;0>f?null!=k?(g=vq(a,b,void 0),f=null):(f=vq(a,b,void 0),null==f&&(g=null)):(k=vq(a,b.substring(0,f),void 0),g=vq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=Dp(a,g,k,f,c),d||sq(a,e,!0)||(a.U("invalid offset: "+mq(e)),e=null));return e}function wq(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Jk=xq(a,b.kk=c[2]))}function oq(a,b,c){c=c||1;null!=b.Ia&&(b.Ia+=c);null!=b.ga&&(b.Xa+=c,sq(a,b)||(b.Xa=0,b.Ia=null))}
function eq(a,b,c){return null!=b?l(b,4)+":"+l(a,a&-65536||c?8:4):l(a)}function mq(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.ga?"":"%"}return 4<=a.type||null==a.ga?b+l(a.Ia):b+eq(a.Xa,a.ga,a.rc)}function fq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Wa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function Yp(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.ic(tq(a,c));if(-1===e){a.U("invalid address: "+c);return}f=e>>>a.M.Pa;g=1}a.U("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.U("-------- --------- ---------- ------ ------ ----");c=-1;for(var k=0;g--;)(d=b[f])&&5==d.type&&(d=Lc(a.M,e,!1,!0)),d.type==c?k++||a.U("..."):(c=d.type,k=Cc[c],6==c&&(d=d.Dd,k+=" -> "+Cc[d.type]),d&&a.U(l(d.id)+" %"+l(f<<a.M.Pa)+" %%"+l(d.Ia)+" "+ia(d.Me)+" "+ia(d.size)+" "+k),
c!=Bc&&5!=c&&(c=-1),k=0),e+=a.M.Rb,f++}function yq(a,b,c){a=l(a)+" "+l(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 aq={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]},cq={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},dq={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 hq(a,b,c){var d=[],e;for(e=null;e=Jb(a.ia,"Disk",e);){var f=e,g=b,k=c,d=[];if(f.R)for(var q=0;q<f.R.length;q++){var r=f.R[q];if(r.cg==g&&(r=r.Ad[k])){for(var x in r.te)f=r.te[x],d[f[1]]=f[0];break}}if(d.length)break}return d}function Gp(a,b){a.ma=a;a.wc=a.Mk=1073741824;a.cb=null;var c=xq(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in Rp)0<=ya(c,d)&&(a.wc|=Rp[d],a.U(d+" messages enabled"));Fp(a)}
function uk(a,b,c){for(var d in Rp)if(b==Rp[d]){a.ib[d]=c;break}}function zq(a,b){var c;a=a.toUpperCase();null==b?c=ya(Pp,a):(c=ya(Pp,a.substr(b,3)),0>c&&(c=ya(Pp,a.substr(b,2))));return c}
function Aq(a,b){var c=0,d=Bq(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.Ra}return c?l(d,c):"??"}
function Bq(a,b){var c;if(0<=b){var d=a.M;switch(b){case 0:c=d.F&255;break;case 1:c=d.G&255;break;case 2:c=d.H&255;break;case 3:c=d.D&255;break;case 4:c=d.F>>8&255;break;case 5:c=d.G>>8&255;break;case 6:c=d.H>>8&255;break;case 7:c=d.D>>8&255;break;case 8:c=d.F&65535;break;case 9:c=d.G&65535;break;case 10:c=d.H&65535;break;case 11:c=d.D&65535;break;case 12:c=u(d)&65535;break;case 13:c=d.K&65535;break;case 14:c=d.J&65535;break;case 15:c=d.I&65535;break;case 22:c=v(d)&65535;break;case 23:c=Ed(d);break;
case 16:c=d.bb.ga;break;case 17:c=d.Ca.ga;break;case 18:c=d.Aa.ga;break;case 19:c=d.Ab.ga;break;default:if(80286==a.M.na)32==b&&(c=d.hb);else if(80386<=a.M.na)switch(b){case 24:c=d.F;break;case 25:c=d.G;break;case 26:c=d.H;break;case 27:c=d.D;break;case 28:c=u(d);break;case 29:c=d.K;break;case 30:c=d.J;break;case 31:c=d.I;break;case 32:c=d.hb;break;case 33:c=d.ni;break;case 34:c=d.qe;break;case 35:c=d.Ld;break;case 20:c=d.Sb.ga;break;case 21:c=d.Tb.ga;break;case 56:c=v(d)}}}return c}
function yq(a,b){b=qq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=vq(b,c+1),0<=e&&(b=b.substr(0,c)+wq(a,e)+b.substr(c+1+Lp[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=pq(a,e))?(d=e+' "'+bq(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=pq(a,e))?(kq(a,d),d=e+
' "'+bq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}h=yp.prototype;h.message=function(a,b){b&&(a+=" at "+iq(zp(this,v(this.M),this.M.Ca.ga))+" (%"+l(this.M.Na)+")");if(!this.cb||a!=this.cb)if(this.U(a),this.cb=a,this.M){this.wc&-2147483648&&this.bc();var c=this.M;c.ba.kf=0;c.cb-=c.A;c.A=0;Yc(c)}};
function Uj(a,b,c,d){var e,f;if(!d&&(d=n(a,1)&&0>Fp.indexOf(b),!d)){var g=Ep[b];g&&(d=n(a,g)?!0:524288==g&&n(a,g=1048576))}d&&(e=a.M.F>>8&255,f=a.M.H&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Db[b])&&g[e]||"")&&(g=" "+yq(a,g)),a.message("INT "+ga(b)+": AH="+ga(e)+" at "+aq(c-2-a.M.Ca.Fa,a.M.Ca.ga)+g));return d}
function rb(a,b,c,d,e,f,g,k){k|=256;if(null==e||(a.wc&k)==k)k=null,null!=e&&(k=a.M.Ca.ga,e-=a.M.Ca.Fa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+ia(c)+","+(f?f:"unknown")+(null!=d?","+ga(d):"")+")"+(null!=g?": "+ga(g):"")+(null!=e?" at "+aq(e,k):""))}h.lh=function(){this.U("Type ? for help with PCjs Debugger commands");this.qd();if(this.rb){var a=this.rb;this.rb=null;Dp(this,a)}};
function Bp(a,b){var c;if(Of(a)){if(!a.qa||!a.qa.length){a.qa=Array(1E3);for(c=0;c<a.qa.length;c++)a.qa[c]=zp(a);a.Oa=0;b||a.U("instruction history buffer allocated")}if(!a.X||!a.X.length)for(a.X=Array(256),c=0;c<a.X.length;c++)a.X[c]=[c,0]}else a.qa&&a.qa.length&&!b&&a.U("instruction history buffer freed"),a.Oa=0,a.qa=[],a.X=[]}h.Je=function(a){if(!zq(this))return!1;this.M.Je(a);return!0};
h.tf=function(a,b,c){if(!zq(this))return!1;this.ka=0;do{a||Of(this)&&Rf(this,this.M.Na,0);try{var d=this.M.tf(a);0<d&&(this.ka+=d,fd(this.M,d,!0),$c(this.M,d),this.wa++)}catch(f){if("number"!=typeof f){var e=f;this.ka=0;zb(this.M,e.stack||e.message)}}}while(this.M.V&3312);!1!==c&&Yc(this.M);this.qd(b||!1);return 0<this.ka};h.bc=function(a){this.M&&this.M.bc(a)};h.qd=function(a){void 0===a&&(a=!0);this.da=zp(this,v(this.M),this.M.Ca.ga);a&&1!=this.P?Aq(this):Bq(this)};
function zq(a){var b;if(b=a.M&&yb(a.M))b=a.M,b.ra.hc?b=!0:(b.U(b.toString()+" not powered"),b=!1);b&&!wb(a.M)?(a=a.M,a.ra.wd?(a.U(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}h.lc=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};h.kc=function(a,b){b&&this.U(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Bp(this);this.wa=this.Ha=0;this.cb=null;this.ka=0;this.da=zp(this,v(this.M),this.M.Ca.ga);this.ra.Ob=!1;Cq(this);a||this.qd()};
h.save=function(){var a=new df(this);ef(a,0,mq(this.da));ef(a,1,mq(this.Ba));ef(a,2,[this.O,this.Ma,this.wc]);ef(a,3,this.C);return a.data()};h.restore=function(a){var b=0;void 0!==a[2]&&(this.da=nq(a[b++]),this.Ba=nq(a[b++]),this.O=a[b][0],"string"==typeof this.O&&(this.O=[this.O]),this.Ma=a[b][1],this.wc|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.P||this.U("running");this.ra.Ob=!0;this.pc=a;this.zd=b};
h.stop=function(a,b){if(this.ra.Ob){this.ra.Ob=!1;this.ka=b-this.zd;if(!this.P){var c="stopped";if(this.ka){var d=a-this.pc,e=0<d?Math.round(1E3*this.ka/d):0,c=c+" (";Of(this)&&(c+=this.wa+" opcodes, ",this.Ha-=this.wa,this.wa=0);c+=this.ka+" cycles, "+d+" ms, "+e+" hz)"}this.U(c)}this.qd(!0);this.Vc();Cq(this,this.M.Na)}};function Of(a){return 1<a.A.length||!!a.Va||n(a,16)}
function Rf(a,b,c){if(0<c&&(a.Va&&!--a.Va||Dq(a,b,1,a.A)))return!0;0<=c&&a.X.length&&(a.wa++,b=Gf(a.M,b),null!=b&&(a.X[b][1]++,lq(a,a.qa[a.Oa],v(a.M),a.M.Ca.ga),++a.Oa==a.qa.length&&(a.Oa=0)));return!1}function Ic(a,b,c){return Dq(a,b,c||1,a.za)?(a.bc(!0),!0):!1}function Kc(a,b,c){return Dq(a,b,c||1,a.la)?(a.bc(!0),!0):!1}function pc(a,b,c){a.U("break on input from port "+ia(b)+": "+l(c));a.bc(!0)}function tc(a,b,c){a.U("break on output to port "+ia(b)+": "+l(c));a.bc(!0)}
function Ap(a){var b,c;a.A=["bp"];if(void 0!==a.za)for(b=1;b<a.za.length;b++)c=a.za[b],ye(a.M,a.ic(c),!1,5==c.type);a.za=["br"];if(void 0!==a.la)for(b=1;b<a.la.length;b++)c=a.la[b],ye(a.M,a.ic(c),!0,5==c.type);a.la=["bw"];a.qb=0}
h.Nd=function(a,b,c){var d=!0;c||hq(this,a,b,!1,!0);if(a!=this.A){var e=this.ic(b);if(-1===e)this.U("invalid address: "+iq(b)),d=!1;else{var f=this.M,g=5==b.type;(g?f.kd:f.ya)[e>>>f.Pa].Nd(e&f.Ha,a==this.la);g&&ac(f)}}d&&(a.push(b),c?(null!=b.Ia&&(b.ga=null),b.Sd=!0):(Eq(this,a,a.length-1,"set"),Bp(this)));return d};
function hq(a,b,c,d,e){for(var f=!1,g=Fq(a,a.ic(c)),k=1;k<b.length;k++){var q=b[k];if(-1!==g&&g==Fq(a,a.ic(q))||-1===g&&c.ga==q.ga&&c.Xa==q.Xa)if(!d||q.Sd){f=!0;q.Sd||e||Eq(a,b,k,"cleared");b.splice(k,1);b!=a.A&&ye(a.M,g,b==a.la,5==q.type);q.Sd||Bp(a);break}}return f}function Gq(a,b){for(var c=1;c<b.length;c++)Eq(a,b,c);return b.length-1}function Eq(a,b,c,d){c=b[c];a.U(b[0]+" "+iq(c)+(d?" "+d:c.kk?' "'+c.kk+'"':""))}
function Cq(a,b){if(void 0!==b)Dq(a,b,1,a.A,!0),a.P=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.Sd){if(!hq(a,a.A,d,!0))break;c=0}}}function Fq(a,b){if(-1!==b){var c=a.Ga&-65536;(b&c)==c&&(b&=1048575)}return b}
function Dq(a,b,c,d,e){var f=!1;if(!a.qb++){b=Fq(a,b);n(a,-2147483632)&&204==Gf(a.M,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Sd){null!=k.ga&&(k.Ia=null);for(var q=Fq(a,a.ic(k)),r=0;r<c;r++)if(b+r==q){var x,f=!0;k.Sd&&(hq(a,d,k,!0),e=!0);if(x=k.Jk){for(var f=!1,B=0;B<x.length;B++)if(!Hq(a,x[B],!0)){if(x[B].indexOf("if")){f=!0;break}for(var y=B+1;y<x.length&&x[y].indexOf("else");y++)B++;if(y==x.length){f=!0;break}}a.M.ra.Ob||(f=!0)}if(f){e||Eq(a,d,g,"hit");break}}}}}a.qb--;return f}
function Iq(a,b,c,d){for(var e=zp(a,b.Xa,b.ga,b.Ia,b.type),f=a.Wa(b,1),g=4,k=0,q=!1,r=!1;(102==f||103==f)&&g--;)102==f?q||(b.Xb=!b.Xb,q=!0):r||(b.rc=!b.rc,r=!0),k++,f=a.Wa(b,1);var g=-1,x=Hp,q=a.Qa[f],r=q[0];176==r&&(r=a.Wa(b,1),q=Rp[r]||Op,f|=r<<8,r=q[0]);if(36==r){var g=a.Wa(b,1),B;B=null;var y=g>>3&7,J=(3>(g>>6&3)?0:48)+y;(217==f||219==f)&&52<=J&&(J=y<<4|g&7);(y=Sp[f])&&(B=y[J]);B&&(x=Ip,q=B,r=q[0])}r>=x.length&&(g=a.Wa(b,1),q=Tp[r-x.length][g>>3&7],r=q[0]);x=x[r];y=q.length-1;B="";b.Xb&&(18==
r?x="CWDE":28==r?x="CDQ":104<=r&&107>=r&&(x+="D"));if(164<=f&&167>=f||170<=f&&175>=f)y=0,b.Xb&&"W"==x.slice(-1)&&(x=x.slice(0,-1)+"D");for(var f=null,J=!0,U=1;U<=y;U++){var F,O;F="";O=q[U];if(void 0!==O){null==f&&(f=O>>14);80==r&&(2==f?B="[%800]":3==f&&(B="ES:["+(b.rc?"E":"")+"DI]"));var V=O&15;if(0!=V)if(8==V)J=!1;else{var Y=O&240;if(128<=Y)if(0>g&&(g=a.Wa(b,1)),160>Y){F=a;var ha=y,V=b,da="",eb=g>>6,va=g&7;if(3>eb){var pa=void 0,Y=0==x.indexOf("FI");if(!eb&&(!V.rc&&6==va||V.rc&&5==va))eb=2;else{if(V.rc)if(4!=
va)va+=8;else{var da=F,pa=eb,Oa=V,ab=da.Wa(Oa,1),Ja=ab>>6,Vb=ab>>3&7,ab=ab&7,Da="";if(pa||5!=ab)Da=Mp[ab+8];4!=Vb&&(Da&&(Da+="+"),Da+=Mp[Vb+8],Ja&&(Da+="*"+(1<<Ja)));pa||5!=ab||(Da&&(Da+="+"),Da+=l(da.ta(Oa,4)));da=Da}da||(da=Mp[va])}1==eb?(pa=F.Wa(V,1),pa&128?(pa=pa<<24>>24,da+="-"+l(-pa,2)):da+="+"+l(pa,2)):2==eb&&(da&&(da+="+"),V.rc?(pa=F.ta(V,4),da+=l(pa)):(pa=F.va(V,2),da+=l(pa,4)));da="["+da+"]";if(1==ha){F="";O&=15;4==O&&(O=V.Xb?5:3);switch(O){case 7:F="FAR";break;case 1:F="BYTE";break;case 3:if(Y){F=
"INT16";break}F="WORD";break;case 5:F="DWORD";break;case 11:if(Y){F="INT32";break}case 11:F="REAL32";break;case 12:if(Y){F="INT64";break}case 12:F="REAL64";break;case 13:F="REAL80";break;case 14:F="BCD80"}F&&(da=F+" "+da)}}else da=Jq(F,va,O,V);F=da}else F=160==Y?Jq(a,g&7,O,b):Jq(a,g>>3&7,O,b);else if(16==Y)F="1";else if(0==Y){F=a;V=O;Y=b;O=" ";switch(V&15){case 1:V&12288&&(O=l(F.Wa(Y,1),2));break;case 2:O=l(F.Wa(Y,1)<<24>>24,Y.Xb?8:4);break;case 4:if(Y.Xb){O=l(F.ta(Y,4));break}case 3:O=l(F.va(Y,2),
4);break;case 7:Y=zp(F,F.vb(Y,!0),F.va(Y,2),null,Y.type,Y.Xb,Y.rc);O=iq(Y);F=Kq(F,Y);F[0]&&(O+=" ("+F[0]+")");break;default:O="imm("+ia(V)+")"}F=O}else 32==Y?(b.rc?(F=8,O=a.ta(b,4)):(F=4,O=a.va(b,2)),F="["+l(O,F)+"]"):48==Y?(F=1==V?a.Wa(b,1)<<24>>24:a.vb(b,!0),O=b.Xa+F&(b.Xb?-1:65535),F=l(O,b.Xb?8:4),O=Kq(a,zp(a,O,b.ga)),O[0]&&(F+=" ("+O[0]+")")):96==Y?F=9==V?"ST":10==V?"ST("+(g&7)+")":Jq(a,(O&3840)>>8,O,b):112==Y?F=Jq(a,(O&3840)>>8,192,b):64==Y?F="DS:[SI]":80==Y&&(F="ES:[DI]");if(!F||!F.length){B=
"INVALID";break}0<B.length&&(B+=",");B+=F||"???"}}}g="";q=iq(e)+" ";if(-1!==e.Ia&&-1!==b.Ia){do if(g+=l(a.Wa(e,1),2),null==e.Ia)break;while(e.Ia!=b.Ia)}q+=oa(g,e.rc?24:16);q+=oa(x,8);B&&(q+=" "+B);a.M.na<Kp[f]&&(c=Kp[f]+" CPU only");c&&J&&(q=oa(q,e.rc?74:56)+";"+c,q=a.M.ra.Xe?q+("cycles="+ad(a.M).toString()+" cs="+l(a.M.ba.Gf)):q+(null!=d?"="+d.toString():""));Lq(b,J,k);return q}
function Jq(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.M.na)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.Xb))b+=16;return Lp[b]}
function Mq(a,b){var c;switch(b){case "V":c=sf(a.M);break;case "D":c=a.M.ea&1024;break;case "I":c=a.M.ea&512;break;case "T":c=a.M.ea&256;break;case "S":c=rf(a.M);break;case "Z":c=qf(a.M);break;case "A":c=pf(a.M);break;case "P":c=of(a.M);break;case "C":c=nf(a.M);break;default:c=0}return b+(c?"1":"0")+" "}function Yp(a){return l(a,a&-65536?8:4)}function Nq(a,b){8<=b&&15>=b&&4<a.Ra&&(b+=16);var c=Lp[b];32==b&&80286==a.M.na&&(c="MS");return c+"="+wq(a,b)+" "}
function Oq(a,b,c){return b.nc+"="+l(b.ga,4)+(c?"["+l(b.Fa,a.Ja)+","+Yp(b.Za)+"]":"")}function Pq(a,b,c,d,e){return b+"="+(null!=c?l(c,4):"")+"["+l(d,a.Ja)+","+l(e-d,4)+"]"}
function Qq(a,b){var c;void 0===b&&(b=jq(a));c=Nq(a,8)+Nq(a,11)+Nq(a,9)+Nq(a,10)+(4<a.Ra?"\n":"")+Nq(a,12)+Nq(a,13)+Nq(a,14)+Nq(a,15)+"\n"+Oq(a,a.M.Aa,b)+" "+Oq(a,a.M.Ab,b)+" "+Oq(a,a.M.bb,b)+" ";if(b){var d="TR="+l(a.M.Ya.ga,4),e=a.ja,e="A20="+(e.ja||e.xg!=e.Mb?"OFF ":"ON ");80386>a.M.na&&(d="\n"+d,c+=e,e="");c+="\n"+Oq(a,a.M.Ca,b)+" ";80386<=a.M.na&&(e+="\n",c+=Oq(a,a.M.Sb,b)+" "+Oq(a,a.M.Tb,b)+"\n");c+=Pq(a,"LD",a.M.Bc.ga,a.M.Bc.Fa,a.M.Bc.Fa+a.M.Bc.Za)+" "+Pq(a,"GD",null,a.M.Ec,a.M.Bd)+" "+Pq(a,
"ID",null,a.M.Pc,a.M.Od)+" ";c=c+(d+" "+e)+Nq(a,32);80386<=a.M.na&&(c+=Nq(a,34)+Nq(a,35))}else 80386<=a.M.na&&(c+=Oq(a,a.M.Sb,b)+" "+Oq(a,a.M.Tb,b)+" ");return c+=Nq(a,23)+Mq(a,"V")+Mq(a,"D")+Mq(a,"I")+Mq(a,"T")+Mq(a,"S")+Mq(a,"Z")+Mq(a,"A")+Mq(a,"P")+Mq(a,"C")}var Rq={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Sq(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;
function Cq(a,b){b=uq(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=zq(b,c+1),0<=e&&(b=b.substr(0,c)+Aq(a,e)+b.substr(c+1+Pp[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=tq(a,e))?(d=e+' "'+fq(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=tq(a,e))?(oq(a,d),d=e+
' "'+fq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}h=Cp.prototype;h.message=function(a,b){b&&(a+=" at "+mq(Dp(this,v(this.M),this.M.Ca.ga))+" (%"+l(this.M.Na)+")");if(!this.cb||a!=this.cb)if(this.U(a),this.cb=a,this.M){this.wc&-2147483648&&this.bc();var c=this.M;c.ba.kf=0;c.cb-=c.A;c.A=0;Yc(c)}};
function Yj(a,b,c,d){var e,f;if(!d&&(d=n(a,1)&&0>Jp.indexOf(b),!d)){var g=Ip[b];g&&(d=n(a,g)?!0:524288==g&&n(a,g=1048576))}d&&(e=a.M.F>>8&255,f=a.M.H&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Db[b])&&g[e]||"")&&(g=" "+Cq(a,g)),a.message("INT "+ga(b)+": AH="+ga(e)+" at "+eq(c-2-a.M.Ca.Fa,a.M.Ca.ga)+g));return d}
function rb(a,b,c,d,e,f,g,k){k|=256;if(null==e||(a.wc&k)==k)k=null,null!=e&&(k=a.M.Ca.ga,e-=a.M.Ca.Fa),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+ia(c)+","+(f?f:"unknown")+(null!=d?","+ga(d):"")+")"+(null!=g?": "+ga(g):"")+(null!=e?" at "+eq(e,k):""))}h.lh=function(){this.U("Type ? for help with PCjs Debugger commands");this.qd();if(this.rb){var a=this.rb;this.rb=null;Hp(this,a)}};
function Fp(a,b){var c;if(Of(a)){if(!a.qa||!a.qa.length){a.qa=Array(1E3);for(c=0;c<a.qa.length;c++)a.qa[c]=Dp(a);a.Oa=0;b||a.U("instruction history buffer allocated")}if(!a.X||!a.X.length)for(a.X=Array(256),c=0;c<a.X.length;c++)a.X[c]=[c,0]}else a.qa&&a.qa.length&&!b&&a.U("instruction history buffer freed"),a.Oa=0,a.qa=[],a.X=[]}h.Je=function(a){if(!Dq(this))return!1;this.M.Je(a);return!0};
h.tf=function(a,b,c){if(!Dq(this))return!1;this.ka=0;do{a||Of(this)&&Rf(this,this.M.Na,0);try{var d=this.M.tf(a);0<d&&(this.ka+=d,fd(this.M,d,!0),$c(this.M,d),this.wa++)}catch(f){if("number"!=typeof f){var e=f;this.ka=0;zb(this.M,e.stack||e.message)}}}while(this.M.V&3312);!1!==c&&Yc(this.M);this.qd(b||!1);return 0<this.ka};h.bc=function(a){this.M&&this.M.bc(a)};h.qd=function(a){void 0===a&&(a=!0);this.da=Dp(this,v(this.M),this.M.Ca.ga);a&&1!=this.P?Eq(this):Fq(this)};
function Dq(a){var b;if(b=a.M&&yb(a.M))b=a.M,b.ra.hc?b=!0:(b.U(b.toString()+" not powered"),b=!1);b&&!wb(a.M)?(a=a.M,a.ra.wd?(a.U(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}h.lc=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};h.kc=function(a,b){b&&this.U(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Fp(this);this.wa=this.Ha=0;this.cb=null;this.ka=0;this.da=Dp(this,v(this.M),this.M.Ca.ga);this.ra.Ob=!1;Gq(this);a||this.qd()};
h.save=function(){var a=new df(this);ef(a,0,qq(this.da));ef(a,1,qq(this.Ba));ef(a,2,[this.O,this.Ma,this.wc]);ef(a,3,this.C);return a.data()};h.restore=function(a){var b=0;void 0!==a[2]&&(this.da=rq(a[b++]),this.Ba=rq(a[b++]),this.O=a[b][0],"string"==typeof this.O&&(this.O=[this.O]),this.Ma=a[b][1],this.wc|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.P||this.U("running");this.ra.Ob=!0;this.pc=a;this.zd=b};
h.stop=function(a,b){if(this.ra.Ob){this.ra.Ob=!1;this.ka=b-this.zd;if(!this.P){var c="stopped";if(this.ka){var d=a-this.pc,e=0<d?Math.round(1E3*this.ka/d):0,c=c+" (";Of(this)&&(c+=this.wa+" opcodes, ",this.Ha-=this.wa,this.wa=0);c+=this.ka+" cycles, "+d+" ms, "+e+" hz)"}this.U(c)}this.qd(!0);this.Vc();Gq(this,this.M.Na)}};function Of(a){return 1<a.A.length||!!a.Va||n(a,16)}
function Rf(a,b,c){if(0<c&&(a.Va&&!--a.Va||Hq(a,b,1,a.A)))return!0;0<=c&&a.X.length&&(a.wa++,b=Gf(a.M,b),null!=b&&(a.X[b][1]++,pq(a,a.qa[a.Oa],v(a.M),a.M.Ca.ga),++a.Oa==a.qa.length&&(a.Oa=0)));return!1}function Ic(a,b,c){return Hq(a,b,c||1,a.za)?(a.bc(!0),!0):!1}function Kc(a,b,c){return Hq(a,b,c||1,a.la)?(a.bc(!0),!0):!1}function pc(a,b,c){a.U("break on input from port "+ia(b)+": "+l(c));a.bc(!0)}function tc(a,b,c){a.U("break on output to port "+ia(b)+": "+l(c));a.bc(!0)}
function Ep(a){var b,c;a.A=["bp"];if(void 0!==a.za)for(b=1;b<a.za.length;b++)c=a.za[b],ye(a.M,a.ic(c),!1,5==c.type);a.za=["br"];if(void 0!==a.la)for(b=1;b<a.la.length;b++)c=a.la[b],ye(a.M,a.ic(c),!0,5==c.type);a.la=["bw"];a.qb=0}
h.Nd=function(a,b,c){var d=!0;c||lq(this,a,b,!1,!0);if(a!=this.A){var e=this.ic(b);if(-1===e)this.U("invalid address: "+mq(b)),d=!1;else{var f=this.M,g=5==b.type;(g?f.kd:f.ya)[e>>>f.Pa].Nd(e&f.Ha,a==this.la);g&&ac(f)}}d&&(a.push(b),c?(null!=b.Ia&&(b.ga=null),b.Sd=!0):(Iq(this,a,a.length-1,"set"),Fp(this)));return d};
function lq(a,b,c,d,e){for(var f=!1,g=Jq(a,a.ic(c)),k=1;k<b.length;k++){var q=b[k];if(-1!==g&&g==Jq(a,a.ic(q))||-1===g&&c.ga==q.ga&&c.Xa==q.Xa)if(!d||q.Sd){f=!0;q.Sd||e||Iq(a,b,k,"cleared");b.splice(k,1);b!=a.A&&ye(a.M,g,b==a.la,5==q.type);q.Sd||Fp(a);break}}return f}function Kq(a,b){for(var c=1;c<b.length;c++)Iq(a,b,c);return b.length-1}function Iq(a,b,c,d){c=b[c];a.U(b[0]+" "+mq(c)+(d?" "+d:c.kk?' "'+c.kk+'"':""))}
function Gq(a,b){if(void 0!==b)Hq(a,b,1,a.A,!0),a.P=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.Sd){if(!lq(a,a.A,d,!0))break;c=0}}}function Jq(a,b){if(-1!==b){var c=a.Ga&-65536;(b&c)==c&&(b&=1048575)}return b}
function Hq(a,b,c,d,e){var f=!1;if(!a.qb++){b=Jq(a,b);n(a,-2147483632)&&204==Gf(a.M,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Sd){null!=k.ga&&(k.Ia=null);for(var q=Jq(a,a.ic(k)),r=0;r<c;r++)if(b+r==q){var x,f=!0;k.Sd&&(lq(a,d,k,!0),e=!0);if(x=k.Jk){for(var f=!1,B=0;B<x.length;B++)if(!Lq(a,x[B],!0)){if(x[B].indexOf("if")){f=!0;break}for(var y=B+1;y<x.length&&x[y].indexOf("else");y++)B++;if(y==x.length){f=!0;break}}a.M.ra.Ob||(f=!0)}if(f){e||Iq(a,d,g,"hit");break}}}}}a.qb--;return f}
function Mq(a,b,c,d){for(var e=Dp(a,b.Xa,b.ga,b.Ia,b.type),f=a.Wa(b,1),g=4,k=0,q=!1,r=!1;(102==f||103==f)&&g--;)102==f?q||(b.Xb=!b.Xb,q=!0):r||(b.rc=!b.rc,r=!0),k++,f=a.Wa(b,1);var g=-1,x=Lp,q=a.Qa[f],r=q[0];176==r&&(r=a.Wa(b,1),q=Vp[r]||Sp,f|=r<<8,r=q[0]);if(36==r){var g=a.Wa(b,1),B;B=null;var y=g>>3&7,J=(3>(g>>6&3)?0:48)+y;(217==f||219==f)&&52<=J&&(J=y<<4|g&7);(y=Wp[f])&&(B=y[J]);B&&(x=Mp,q=B,r=q[0])}r>=x.length&&(g=a.Wa(b,1),q=Xp[r-x.length][g>>3&7],r=q[0]);x=x[r];y=q.length-1;B="";b.Xb&&(18==
r?x="CWDE":28==r?x="CDQ":104<=r&&107>=r&&(x+="D"));if(164<=f&&167>=f||170<=f&&175>=f)y=0,b.Xb&&"W"==x.slice(-1)&&(x=x.slice(0,-1)+"D");for(var f=null,J=!0,U=1;U<=y;U++){var F,O;F="";O=q[U];if(void 0!==O){null==f&&(f=O>>14);80==r&&(2==f?B="[%800]":3==f&&(B="ES:["+(b.rc?"E":"")+"DI]"));var V=O&15;if(0!=V)if(8==V)J=!1;else{var Y=O&240;if(128<=Y)if(0>g&&(g=a.Wa(b,1)),160>Y){F=a;var ha=y,V=b,da="",eb=g>>6,va=g&7;if(3>eb){var oa=void 0,Y=0==x.indexOf("FI");if(!eb&&(!V.rc&&6==va||V.rc&&5==va))eb=2;else{if(V.rc)if(4!=
va)va+=8;else{var da=F,oa=eb,Oa=V,ab=da.Wa(Oa,1),Ja=ab>>6,Vb=ab>>3&7,ab=ab&7,Da="";if(oa||5!=ab)Da=Qp[ab+8];4!=Vb&&(Da&&(Da+="+"),Da+=Qp[Vb+8],Ja&&(Da+="*"+(1<<Ja)));oa||5!=ab||(Da&&(Da+="+"),Da+=l(da.ta(Oa,4)));da=Da}da||(da=Qp[va])}1==eb?(oa=F.Wa(V,1),oa&128?(oa=oa<<24>>24,da+="-"+l(-oa,2)):da+="+"+l(oa,2)):2==eb&&(da&&(da+="+"),V.rc?(oa=F.ta(V,4),da+=l(oa)):(oa=F.va(V,2),da+=l(oa,4)));da="["+da+"]";if(1==ha){F="";O&=15;4==O&&(O=V.Xb?5:3);switch(O){case 7:F="FAR";break;case 1:F="BYTE";break;case 3:if(Y){F=
"INT16";break}F="WORD";break;case 5:F="DWORD";break;case 11:if(Y){F="INT32";break}case 11:F="REAL32";break;case 12:if(Y){F="INT64";break}case 12:F="REAL64";break;case 13:F="REAL80";break;case 14:F="BCD80"}F&&(da=F+" "+da)}}else da=Nq(F,va,O,V);F=da}else F=160==Y?Nq(a,g&7,O,b):Nq(a,g>>3&7,O,b);else if(16==Y)F="1";else if(0==Y){F=a;V=O;Y=b;O=" ";switch(V&15){case 1:V&12288&&(O=l(F.Wa(Y,1),2));break;case 2:O=l(F.Wa(Y,1)<<24>>24,Y.Xb?8:4);break;case 4:if(Y.Xb){O=l(F.ta(Y,4));break}case 3:O=l(F.va(Y,2),
4);break;case 7:Y=Dp(F,F.vb(Y,!0),F.va(Y,2),null,Y.type,Y.Xb,Y.rc);O=mq(Y);F=Oq(F,Y);F[0]&&(O+=" ("+F[0]+")");break;default:O="imm("+ia(V)+")"}F=O}else 32==Y?(b.rc?(F=8,O=a.ta(b,4)):(F=4,O=a.va(b,2)),F="["+l(O,F)+"]"):48==Y?(F=1==V?a.Wa(b,1)<<24>>24:a.vb(b,!0),O=b.Xa+F&(b.Xb?-1:65535),F=l(O,b.Xb?8:4),O=Oq(a,Dp(a,O,b.ga)),O[0]&&(F+=" ("+O[0]+")")):96==Y?F=9==V?"ST":10==V?"ST("+(g&7)+")":Nq(a,(O&3840)>>8,O,b):112==Y?F=Nq(a,(O&3840)>>8,192,b):64==Y?F="DS:[SI]":80==Y&&(F="ES:[DI]");if(!F||!F.length){B=
"INVALID";break}0<B.length&&(B+=",");B+=F||"???"}}}g="";q=mq(e)+" ";if(-1!==e.Ia&&-1!==b.Ia){do if(g+=l(a.Wa(e,1),2),null==e.Ia)break;while(e.Ia!=b.Ia)}q+=pa(g,e.rc?24:16);q+=pa(x,8);B&&(q+=" "+B);a.M.na<Op[f]&&(c=Op[f]+" CPU only");c&&J&&(q=pa(q,e.rc?74:56)+";"+c,q=a.M.ra.Xe?q+("cycles="+ad(a.M).toString()+" cs="+l(a.M.ba.Gf)):q+(null!=d?"="+d.toString():""));Pq(b,J,k);return q}
function Nq(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.M.na)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.Xb))b+=16;return Pp[b]}
function Qq(a,b){var c;switch(b){case "V":c=sf(a.M);break;case "D":c=a.M.ea&1024;break;case "I":c=a.M.ea&512;break;case "T":c=a.M.ea&256;break;case "S":c=rf(a.M);break;case "Z":c=qf(a.M);break;case "A":c=pf(a.M);break;case "P":c=of(a.M);break;case "C":c=nf(a.M);break;default:c=0}return b+(c?"1":"0")+" "}function bq(a){return l(a,a&-65536?8:4)}function Rq(a,b){8<=b&&15>=b&&4<a.Ra&&(b+=16);var c=Pp[b];32==b&&80286==a.M.na&&(c="MS");return c+"="+Aq(a,b)+" "}
function Sq(a,b,c){return b.nc+"="+l(b.ga,4)+(c?"["+l(b.Fa,a.Ja)+","+bq(b.Za)+"]":"")}function Tq(a,b,c,d,e){return b+"="+(null!=c?l(c,4):"")+"["+l(d,a.Ja)+","+l(e-d,4)+"]"}
function Uq(a,b){var c;void 0===b&&(b=nq(a));c=Rq(a,8)+Rq(a,11)+Rq(a,9)+Rq(a,10)+(4<a.Ra?"\n":"")+Rq(a,12)+Rq(a,13)+Rq(a,14)+Rq(a,15)+"\n"+Sq(a,a.M.Aa,b)+" "+Sq(a,a.M.Ab,b)+" "+Sq(a,a.M.bb,b)+" ";if(b){var d="TR="+l(a.M.Ya.ga,4),e=a.ja,e="A20="+(e.ja||e.xg!=e.Mb?"OFF ":"ON ");80386>a.M.na&&(d="\n"+d,c+=e,e="");c+="\n"+Sq(a,a.M.Ca,b)+" ";80386<=a.M.na&&(e+="\n",c+=Sq(a,a.M.Sb,b)+" "+Sq(a,a.M.Tb,b)+"\n");c+=Tq(a,"LD",a.M.Bc.ga,a.M.Bc.Fa,a.M.Bc.Fa+a.M.Bc.Za)+" "+Tq(a,"GD",null,a.M.Ec,a.M.Bd)+" "+Tq(a,
"ID",null,a.M.Pc,a.M.Od)+" ";c=c+(d+" "+e)+Rq(a,32);80386<=a.M.na&&(c+=Rq(a,34)+Rq(a,35))}else 80386<=a.M.na&&(c+=Sq(a,a.M.Sb,b)+" "+Sq(a,a.M.Tb,b)+" ");return c+=Rq(a,23)+Qq(a,"V")+Qq(a,"D")+Qq(a,"I")+Qq(a,"T")+Qq(a,"S")+Qq(a,"Z")+Qq(a,"A")+Qq(a,"P")+Qq(a,"C")}var Vq={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Wq(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 rq(a,b,c){var d;if(b){b=qq(a,b);for(var e=0,f=!1,g=b,k=[],q=[],r=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<r.length;){var x=r[e++],B=x.length,x=qa(x);if(!x){f=!0;break}x=Vp(a,x,null,!1===c);if(void 0===x){f=!0;c=!1;break}k.push(x);if(e==r.length)break;var x=r[e++],y=x.length;q.length&&Rq[x]<Rq[q[q.length-1]]&&Sq(k,q,1);q.push(x);b=b.substr(B+y)}Sq(k,q)&&1==k.length||(f=!0);f?c&&a.U("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&Tq(a,null,
d))}return d}function qq(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=rq(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?l(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=pq(a,c[1]),b=b.replace("["+c[1]+"]",d?l(a.vb(d),d.Xb?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.wa-a.Ha}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function Vp(a,b,c,d){var e;void 0!==b?(e=vq(b),0<=e?e=xq(a,e):(e=a.Ea[b],void 0===e&&(e=ca(b))),void 0!==e||d||a.U("invalid "+(c?c:"value")+": "+b)):d||a.U("missing "+(c||"value"));return e}function Tq(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d="0x"+l(c)+" "+c+". ("+fa(c)+")");a.U((null!=b?b+": ":"")+d);return e}function Uq(a,b){if(b)return Tq(a,b,a.Ea[b]);var c=0;for(b in a.Ea)Tq(a,b,a.Ea[b]),c++;return 0<c}yp.prototype.Ib=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function xl(a,b,c,d,e,f,g,k){var q={},r=[],x;for(x in k){var B=k[x];"number"==typeof B&&(k[x]=B={o:B});var y=B.o,J=B.s,U=B.a;if(void 0!==y){void 0!==J&&(q.Xa=y,q.ga=J,q.Ia=null,a.ic(q),(q.Ia&-65536)==(a.ja.xg&-65536)&&(q.Ia&=1048575),B.p=q.Ia);var J=r,y=[y>>>0,x],F=ra(J,y,a.Ib);0>F&&J.splice(-(F+1),0,y)}U&&(B.a=U.replace(/''/g,'"'))}a.C.push({cg:b,rm:c,ga:d,Xa:e,Ia:f,jm:g,Md:k,wi:r})}
function gq(a,b,c){for(var d=0;d<a.C.length;d++){var e=a.C[d];if(!b||e.cg==b)if(b&&c==e.rm||!b&&c==e.ga){a.C.splice(d,1);break}}}function Kq(a,b,c){for(var d=[],e=b.Xa>>>0,f=a.ic(b)>>>0,g=0;g<a.C.length;g++){var k=a.C[g],q=k.ga,r=k.Xa>>>0,x=k.Ia;null!=x&&(x>>>=0);var B=k.jm;48==q&&(q=40);if(q==b.ga&&e>=r&&e<r+B||null!=x&&f>=x&&f<x+B){b=ra(k.wi,[e],a.Ib);0<=b?Vq(a,g,b,d):c&&(b=~b,Vq(a,g,b-1,d),Vq(a,g,b,d));break}}!d.length&&(a=a.ja.Vi(f,!0))&&(d.push(a),d.push(f));return d}
function Vq(a,b,c,d){var e={},f=a.C[b].wi,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].Md[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function Wq(a){a.Bf&&(a.Bf.value="")}
function Xq(a,b){if("?"==b)a.U("frequency commands:"),a.U("\tclear\tclear all frequency counts");else{var c,d=0;if(a.X)if("clear"==b){for(c=0;c<a.X.length;c++)a.X[c]=[c,0];a.U("frequency data cleared");d++}else if(void 0!==b)a.U("unknown frequency command: "+b),d++;else{var e=a.X.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.U((Hp[a.Qa[f][0]]+" ").substr(0,5)+" ("+ga(f)+"): "+g+" times"),d++)}}d||a.U("no frequency data available")}}
function Yq(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Uq(a)||a.U("no variables"),!0;if(!c[2])return Uq(a,c[1]);if(!c[3])return delete a.Ea[c[1]],!0;var d=rq(a,c[3]);return void 0!==d?(a.Ea[c[1]]=d,!0):!1}a.U("invalid assignment:"+b);return!1}
function Zq(a,b,c){var d=null;if(b=pq(a,b,!0)){a.ic(b);var e=Kq(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Xa-e[1])&&(g=" + "+ia(f)),f=e[0]+" ("+aq(e[1],b.ga)+")"+g,c&&a.U(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Xa)&&(g=" - "+ia(f)),f=e[4]+" ("+aq(e[5],b.ga)+")"+g,c&&a.U(f),d||(d=f))}else c&&a.U("no symbols")}return d}
function $q(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:pq(a,b[1]);if(g&&(d=Vp(a,b[2],"drive #"),void 0!==d)){if(!c){e=Vp(a,b[3],"sector #");if(void 0===e)return;f=Vp(a,b[4],"# of sectors");void 0===f&&(f=1)}var k=a.oc;2<=d&&a.Vb&&(d-=2,k=a.Vb);if(k){var q=k.Ki(d);if(q)if(q.Da)if(c)Wq(a),a.U(q.Da.toJSON());else if(k.mk(q,e,f)){for(var r=0,x=!1,c=iq(g);!x&&0<q.Nb--;)(function(a,b){k.sc(q,function(c){0>c?(a.U("out of data at address "+iq(b)),x=!0):(a.tc(b,c,1),r++)})})(a,g);a.U(r+" bytes read at "+
function vq(a,b,c){var d;if(b){b=uq(a,b);for(var e=0,f=!1,g=b,k=[],q=[],r=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<r.length;){var x=r[e++],B=x.length,x=qa(x);if(!x){f=!0;break}x=Zp(a,x,null,!1===c);if(void 0===x){f=!0;c=!1;break}k.push(x);if(e==r.length)break;var x=r[e++],y=x.length;q.length&&Vq[x]<Vq[q[q.length-1]]&&Wq(k,q,1);q.push(x);b=b.substr(B+y)}Wq(k,q)&&1==k.length||(f=!0);f?c&&a.U("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&Xq(a,null,
d))}return d}function uq(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=vq(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?l(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=tq(a,c[1]),b=b.replace("["+c[1]+"]",d?l(a.vb(d),d.Xb?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.wa-a.Ha}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function Zp(a,b,c,d){var e;void 0!==b?(e=zq(b),0<=e?e=Bq(a,e):(e=a.Ea[b],void 0===e&&(e=ca(b))),void 0!==e||d||a.U("invalid "+(c?c:"value")+": "+b)):d||a.U("missing "+(c||"value"));return e}function Xq(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d="0x"+l(c)+" "+c+". ("+fa(c)+")");a.U((null!=b?b+": ":"")+d);return e}function Yq(a,b){if(b)return Xq(a,b,a.Ea[b]);var c=0;for(b in a.Ea)Xq(a,b,a.Ea[b]),c++;return 0<c}Cp.prototype.Ib=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Bl(a,b,c,d,e,f,g,k){var q={},r=[],x;for(x in k){var B=k[x];"number"==typeof B&&(k[x]=B={o:B});var y=B.o,J=B.s,U=B.a;if(void 0!==y){void 0!==J&&(q.Xa=y,q.ga=J,q.Ia=null,a.ic(q),(q.Ia&-65536)==(a.ja.xg&-65536)&&(q.Ia&=1048575),B.p=q.Ia);var J=r,y=[y>>>0,x],F=ra(J,y,a.Ib);0>F&&J.splice(-(F+1),0,y)}U&&(B.a=U.replace(/''/g,'"'))}a.C.push({cg:b,rm:c,ga:d,Xa:e,Ia:f,jm:g,Md:k,wi:r})}
function kq(a,b,c){for(var d=0;d<a.C.length;d++){var e=a.C[d];if(!b||e.cg==b)if(b&&c==e.rm||!b&&c==e.ga){a.C.splice(d,1);break}}}function Oq(a,b,c){for(var d=[],e=b.Xa>>>0,f=a.ic(b)>>>0,g=0;g<a.C.length;g++){var k=a.C[g],q=k.ga,r=k.Xa>>>0,x=k.Ia;null!=x&&(x>>>=0);var B=k.jm;48==q&&(q=40);if(q==b.ga&&e>=r&&e<r+B||null!=x&&f>=x&&f<x+B){b=ra(k.wi,[e],a.Ib);0<=b?Zq(a,g,b,d):c&&(b=~b,Zq(a,g,b-1,d),Zq(a,g,b,d));break}}!d.length&&(a=a.ja.Vi(f,!0))&&(d.push(a),d.push(f));return d}
function Zq(a,b,c,d){var e={},f=a.C[b].wi,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].Md[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function $q(a){a.Bf&&(a.Bf.value="")}
function ar(a,b){if("?"==b)a.U("frequency commands:"),a.U("\tclear\tclear all frequency counts");else{var c,d=0;if(a.X)if("clear"==b){for(c=0;c<a.X.length;c++)a.X[c]=[c,0];a.U("frequency data cleared");d++}else if(void 0!==b)a.U("unknown frequency command: "+b),d++;else{var e=a.X.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.U((Lp[a.Qa[f][0]]+" ").substr(0,5)+" ("+ga(f)+"): "+g+" times"),d++)}}d||a.U("no frequency data available")}}
function br(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Yq(a)||a.U("no variables"),!0;if(!c[2])return Yq(a,c[1]);if(!c[3])return delete a.Ea[c[1]],!0;var d=vq(a,c[3]);return void 0!==d?(a.Ea[c[1]]=d,!0):!1}a.U("invalid assignment:"+b);return!1}
function cr(a,b,c){var d=null;if(b=tq(a,b,!0)){a.ic(b);var e=Oq(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Xa-e[1])&&(g=" + "+ia(f)),f=e[0]+" ("+eq(e[1],b.ga)+")"+g,c&&a.U(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Xa)&&(g=" - "+ia(f)),f=e[4]+" ("+eq(e[5],b.ga)+")"+g,c&&a.U(f),d||(d=f))}else c&&a.U("no symbols")}return d}
function dr(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:tq(a,b[1]);if(g&&(d=Zp(a,b[2],"drive #"),void 0!==d)){if(!c){e=Zp(a,b[3],"sector #");if(void 0===e)return;f=Zp(a,b[4],"# of sectors");void 0===f&&(f=1)}var k=a.oc;2<=d&&a.Vb&&(d-=2,k=a.Vb);if(k){var q=k.Ki(d);if(q)if(q.Da)if(c)$q(a),a.U(q.Da.toJSON());else if(k.mk(q,e,f)){for(var r=0,x=!1,c=mq(g);!x&&0<q.Nb--;)(function(a,b){k.sc(q,function(c){0>c?(a.U("out of data at address "+mq(b)),x=!0):(a.tc(b,c,1),r++)})})(a,g);a.U(r+" bytes read at "+
c)}else a.U("sector "+e+" request out of range");else a.U("drive "+d+" not loaded");else a.U("invalid drive: "+d)}else a.U("disk controller not present")}}else a.U("list/load commands:"),a.U("\tl [address] [drive #] [sector #] [# sectors]")}
function Aq(a,b){var c;if(b&&"?"==b[1])a.U("register commands:"),a.U("\tr\tdump registers"),a.Yb&&a.U("\trfp\tdump floating-point registers"),a.U("\trp\tdump all registers"),a.U("\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.Yb&&"fp"==e){c=a.Yb;d=Uf(c);for(var f=c.mc,g=0;8>g;g++){var k=c,e=null;if(g<k.ja.length){var e=[],q=k.C+g&7;e[0]=q;e[1]=ig(k,q);e[2]=k.ja[q];q<<=1;e[3]=k.da[q];e[4]=k.da[q+1];k=mg(k,e[3],e[4]);e[5]=k[0];e[6]=k[1];
e[7]=k[2]}if(!e)break;a.U("ST"+g+": "+oa(e[2].toFixed(15),24,!0)+" "+l(e[4])+","+l(e[3])+" ["+e[0]+":"+Jp[e[1]]+"]")}a.U(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.U("SW: "+ea(d,16)+" ("+ia(d)+") CW: "+ea(f,16)+" ("+ia(f)+")");return}if("p"==e)d=80286<=a.M.na;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.U("missing value for "+b[1]);return}g=!1;k=rq(a,f);if(void 0!==k)switch(g=!0,q=e.toUpperCase(),"E"==q.charAt(0)&&4>=a.Ra&&(q=
function Eq(a,b){var c;if(b&&"?"==b[1])a.U("register commands:"),a.U("\tr\tdump registers"),a.Yb&&a.U("\trfp\tdump floating-point registers"),a.U("\trp\tdump all registers"),a.U("\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.Yb&&"fp"==e){c=a.Yb;d=Uf(c);for(var f=c.mc,g=0;8>g;g++){var k=c,e=null;if(g<k.ja.length){var e=[],q=k.C+g&7;e[0]=q;e[1]=ig(k,q);e[2]=k.ja[q];q<<=1;e[3]=k.da[q];e[4]=k.da[q+1];k=mg(k,e[3],e[4]);e[5]=k[0];e[6]=k[1];
e[7]=k[2]}if(!e)break;a.U("ST"+g+": "+pa(e[2].toFixed(15),24,!0)+" "+l(e[4])+","+l(e[3])+" ["+e[0]+":"+Np[e[1]]+"]")}a.U(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.U("SW: "+ea(d,16)+" ("+ia(d)+") CW: "+ea(f,16)+" ("+ia(f)+")");return}if("p"==e)d=80286<=a.M.na;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.U("missing value for "+b[1]);return}g=!1;k=vq(a,f);if(void 0!==k)switch(g=!0,q=e.toUpperCase(),"E"==q.charAt(0)&&4>=a.Ra&&(q=
null),q){case "AL":a.M.F=a.M.F&-256|k&255;break;case "AH":a.M.F=a.M.F&-65281|k<<8&255;break;case "AX":a.M.F=a.M.F&-65536|k&65535;break;case "BL":a.M.D=a.M.D&-256|k&255;break;case "BH":a.M.D=a.M.D&-65281|k<<8&255;break;case "BX":a.M.D=a.M.D&-65536|k&65535;break;case "CL":a.M.G=a.M.G&-256|k&255;break;case "CH":a.M.G=a.M.G&-65281|k<<8&255;break;case "CX":a.M.G=a.M.G&-65536|k&65535;break;case "DL":a.M.H=a.M.H&-256|k&255;break;case "DH":a.M.H=a.M.H&-65281|k<<8&255;break;case "DX":a.M.H=a.M.H&-65536|k&
65535;break;case "SP":t(a.M,u(a.M)&-65536|k&65535);break;case "BP":a.M.K=a.M.K&-65536|k&65535;break;case "SI":a.M.J=a.M.J&-65536|k&65535;break;case "DI":a.M.I=a.M.I&-65536|k&65535;break;case "DS":Bd(a.M,k);break;case "ES":Cd(a.M,k);break;case "SS":rd(a.M,k);break;case "CS":gf(a.M,k);a.da=zp(a,v(a.M),a.M.Ca.ga);break;case "IP":case "EIP":hf(a.M,k);a.da=zp(a,v(a.M),a.M.Ca.ga);break;case "PC":case "PS":Fd(a.M,k);break;case "C":k?uf(a.M):vf(a.M);break;case "P":k?(e=a.M,e.resultType&=-3,e.ea|=4):(e=a.M,
65535;break;case "SP":t(a.M,u(a.M)&-65536|k&65535);break;case "BP":a.M.K=a.M.K&-65536|k&65535;break;case "SI":a.M.J=a.M.J&-65536|k&65535;break;case "DI":a.M.I=a.M.I&-65536|k&65535;break;case "DS":Bd(a.M,k);break;case "ES":Cd(a.M,k);break;case "SS":rd(a.M,k);break;case "CS":gf(a.M,k);a.da=Dp(a,v(a.M),a.M.Ca.ga);break;case "IP":case "EIP":hf(a.M,k);a.da=Dp(a,v(a.M),a.M.Ca.ga);break;case "PC":case "PS":Fd(a.M,k);break;case "C":k?uf(a.M):vf(a.M);break;case "P":k?(e=a.M,e.resultType&=-3,e.ea|=4):(e=a.M,
e.resultType&=-3,e.ea&=-5);break;case "A":k?Cf(a.M):Af(a.M);break;case "Z":k?Df(a.M):Bf(a.M);break;case "S":k?(e=a.M,e.resultType&=-17,e.ea|=128):(e=a.M,e.resultType&=-17,e.ea&=-129);break;case "I":k?(e=a.M,e.ea|=512):(e=a.M,e.ea&=-513);break;case "D":k?(e=a.M,e.ea|=1024):(e=a.M,e.ea&=-1025);break;case "V":k?wf(a.M):xf(a.M);break;default:var r=!0;if(80286<=a.M.na)switch(r=!1,q){case "MS":Ef(a.M,k);break;case "TR":-1===a.M.Ya.load(k)&&(g=!1);break;default:if(r=!0,80386<=a.M.na)switch(r=!1,q){case "EAX":a.M.F=
k;break;case "EBX":a.M.D=k;break;case "ECX":a.M.G=k;break;case "EDX":a.M.H=k;break;case "ESP":t(a.M,k);break;case "EBP":a.M.K=k;break;case "ESI":a.M.J=k;break;case "EDI":a.M.I=k;break;case "FS":a.M.Sb.load(k);break;case "GS":a.M.Tb.load(k);break;case "CR0":a.M.hb=k;Rh.call(a.M,k);break;case "CR2":a.M.qe=k;break;case "CR3":a.M.Ld=k;Hd.call(a.M,k);break;default:r=!0}}if(r){a.U("unknown register: "+e);return}}if(!g){a.U("invalid value: "+f);return}Yc(a.M);a.U("updated registers:")}}a.U(Qq(a,d));c&&(a.da=
zp(a,v(a.M),a.M.Ca.ga),Bq(a,iq(a.da)))}}function ar(a,b){b=qa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.U(yq(a,c[2])):rq(a,b,!0)}function br(a,b,c){for(var d=null,e=b.Xa,f=e,g=1;6>=g&&e;g++){if(2<g){b.Xa=e;b.Ia=null;var k=Iq(a,b);if(0<k.indexOf("CALL")||c&&0<k.indexOf("INT")){var q=k.indexOf(" ");if(e+(k.indexOf(" ",q+1)-q-1)/2==f){d=k;break}}}e--}b.Xa=f;return d}
function cr(a,b,c){var d="tr"==b;b=Vp(a,c,null,!0)||1;var e=1==b?0:1;Ka(b,function(){return vb(a,!0)&&a.tf(e,d,!1)},function(){Yc(a.M);vb(a,!1)})}function Lq(a,b,c){if(a.Rd=b)null!=a.Oi&&(a.Xb=a.Oi),null!=a.Ni&&(a.rc=a.Ni),a.Oi=a.Xb,a.Ni=a.rc;a.Re=c||0}
function Bq(a,b,c,d){if(b=pq(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=pq(a,c,!0);if(!d||d.Xa<b.Xa)return;e=d.Xa-b.Xa;if(256<e){a.U("range too large");return}d=-1}c=0;var f;for(Lq(b,!0);0<e&&d--;){f=wb(a,!1)||a.P?a.ka:null;var g=null!=f?"cycles":null,k=Kq(a,b),q=b.Ia;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var r=k[0]+":";k[2]&&(r+=" "+k[2]);a.U(r)}k[3]&&(g=k[3],f=null);f=Iq(a,b,g,f);b.Rd||d||d++;a.U(f);a.da=b;e-=b.Ia-q;c++}}}
function tq(a,b,c,d){if(c)if(b){0>a.W&&a.O.length&&(a.W=0);if(0>a.W||b!=a.O[a.W])a.O.splice(0,0,b),a.W=0;a.W--}else b=a.O[a.W+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(qa(b.substring(c,f))),c=f+1}}return a}
function Hq(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ma&&(a.U("ended assemble at "+iq(a.Ba)),a.da=a.Ba,a.Ma=!1),b="";else if(!c){var e=">> ";a.M.hb&1&&(e=a.M.ea&131072?"-- ":"## ");a.U(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.cb=null;if(yb(a)&&0<b.length){a.Ma&&(b="a "+iq(a.Ba)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var k=g[0],q=k.charAt(0),r=1;r<k.length;r++){var x=k.charAt(r);if("?"==q||"r"==q||"a">x||"z"<x){g[0]=k.substr(r);g.unshift(k.substr(0,r));break}}switch(g[0].charAt(0)){case "a":var B=
pq(a,g[1],!0);if(B)if(a.Ba=B,void 0===g[2])a.U("begin assemble at "+iq(B)),a.Ma=!0,Yc(a.M);else{var y;a.U("not supported yet");y=[];if(y.length){for(var J=0;J<y.length;J++)a.tc(B,y[J],1);a.U(Iq(a,a.Ba))}}break;case "b":a:{var U=g[0],F=g[1],O=b;if("?"==F)a.U("breakpoint commands:"),a.U("\tbi [p]\ttoggle break on input port [p]"),a.U("\tbo [p]\ttoggle break on output port [p]"),a.U("\tbp [a]\tset exec breakpoint at addr [a]"),a.U("\tbr [a]\tset read breakpoint at addr [a]"),a.U("\tbw [a]\tset write breakpoint at addr [a]"),
a.U("\tbc [a]\tclear breakpoint at addr [a]"),a.U("\tbl\tlist all breakpoints"),a.U("\tbn [n]\tbreak after [n] instruction(s)");else{var V=U.charAt(1);if("l"==V){var Y=0,Y=Y+Gq(a,a.A),Y=Y+Gq(a,a.za);(Y+=Gq(a,a.la))||a.U("no breakpoints")}else if("n"==V)a.Va=Vp(a,F),a.U("break after "+a.Va+" instruction(s)");else if(void 0===F)a.U("missing breakpoint address");else{var ha={};if("*"!=F&&(ha=pq(a,F,!0,!0),!ha))break a;F=null==ha.Xa?F:ia(ha.Xa);"c"==V?null==ha.Xa?(Ap(a),a.U("all breakpoints cleared")):
hq(a,a.A,ha)||hq(a,a.za,ha)||hq(a,a.la,ha)||a.U("breakpoint missing: "+iq(ha)):"i"==V?a.U("breakpoint "+(mc(a.ja,ha.Xa)?"enabled":"cleared")+": port "+F+" (input)"):"o"==V?a.U("breakpoint "+(qc(a.ja,ha.Xa)?"enabled":"cleared")+": port "+F+" (output)"):null!=ha.Xa&&(sq(a,ha,O),"p"==V?a.Nd(a.A,ha):"r"==V?a.Nd(a.za,ha):"w"==V?a.Nd(a.la,ha):a.U("unknown breakpoint command: "+V))}}}break;case "c":Wq(a);break;case "d":a:{var da=g,eb,va=da[0],pa=da[1],Oa=da[2],ab=da[3];if("?"==pa){var Ja="";for(eb in Np)a.ib[eb]&&
(Ja&&(Ja+=","),Ja+=eb);Ja+=",state,symbols";a.U("dump memory commands:");a.U("\tdb [a] [#] dump # bytes at address a");a.U("\tdw [a] [#] dump # words at address a");a.U("\tdd [a] [#] dump # dwords at address a");a.U("\tdh [#] [#] dump # instructions from history");a.U("\tds [#] dump descriptor info for selector #");Ja.length&&a.U("dump extension commands:\n\t"+Ja)}else if("state"==pa){var Vb=dr(a.ia,!0);"console"==Oa?console.log(Vb):(Wq(a),a.U(Vb))}else if("symbols"==pa)for(var Da=
0;Da<a.C.length;Da++){var Ud=a.C[Da],Uc;for(Uc in Ud.Md)if("."!=Uc.charAt(0)){var Vd=Ud.Md[Uc],Ie=Vd.o;if(void 0!==Ie){var Wd=Vd.s;void 0===Wd&&(Wd=Ud.ga);var Je=Ud.Md[Uc].l;Je&&(Uc=Je);a.U(aq(Ie,Wd)+" "+Uc)}}}else{if("ds"==va||"dg"==va||"dl"==va)va="d",da=[va,"desc",pa];"d"==va&&"page"==pa&&(va="dp",da.shift());if("dp"==va){da.shift();var ki=da[0];if(ki){var Ve=a.ic(pq(a,ki));if(-1===Ve)a.U("invalid address: "+ki);else{var ae,La=null;if(80386<=a.M.na){var be=a.ja,La={};La.ek=(Ve&-4194304)>>>20;La.zi=
a.M.Ld+La.ek;La.Db=be.ya[(La.zi&be.Mb)>>>be.Pa];La.Xi=La.Db.Xd(La.ek);La.fk=(Ve&4190208)>>>10;La.Ai=(La.Xi&-4096)+La.fk;La.Eb=be.ya[(La.Ai&be.Mb)>>>be.Pa];La.Yi=La.Eb.Xd(La.fk);La.Lk=(La.Yi&-4096)+(Ve&4095)}if(ae=La){a.U("linear PDE addr PDE PTE addr PTE physical");a.U("--------- ---------- -------- ---------- -------- ----------");var td="%"+l(Ve),td=td+(" %%"+uq(ae.zi,ae.Xi)),td=td+(" %%"+uq(ae.Ai,ae.Yi,!0)),td=td+(" %%"+l(ae.Lk));a.U(td)}else a.U("unsupported operation")}}else a.U("missing address")}else{if("d"==
va){if("disk"==pa){da[0]="l";da[1]="json";$q(a,da);break a}for(eb in Np)if(da[1]==eb){var cn=a.ib[eb];cn?(da.shift(),da.shift(),cn(da)):a.U("no dump registered for "+pa);break a}pa||(va=a.Lc||"db")}else a.Lc=va;if("dh"==va){var dn=pa,en=Oa,fn="",gn=0,tb=a.Oa,wc=a.qa;if(wc.length){var Eb=+dn||a.Zb,ce=+en||10;isNaN(Eb)?Eb=ce:fn="more ";Eb>wc.length&&(a.U("note: only "+wc.length+" available"),Eb=wc.length);tb-=Eb;0>tb&&(null==wc[wc.length-1].ga?(Eb=tb+Eb,tb=0):tb+=wc.length);var li=[];"call"==en&&(ce=
1E5,li=["CALL"]);for(void 0!==dn&&a.U(Eb+" instructions earlier:");0<ce&&tb!=a.Oa;){var ub=wc[tb++];if(null==ub.ga)break;var ub=zp(a,ub.Xa,ub.ga,ub.Ia,ub.type,ub.Xb,ub.rc),hn=Iq(a,ub,"history",Eb--);(!li.length||0<=hn.indexOf(li[0]))&&a.U(hn);ub.Re&&(tb+=ub.Re,ce-=ub.Re,Eb-=ub.Re);tb>=wc.length&&(tb=0);a.Zb=Eb;gn++;ce--}}gn||(a.U("no "+fn+"history available"),a.Zb=void 0)}else if("di"==va)da.shift(),a.U("no information");else{var de=pq(a,pa);if(de&&(null!=de.ga||null!=de.Ia)){var sg=0;Oa&&("l"==Oa.charAt(0)&&
(Oa=Oa.substr(1)||ab),sg=Vp(a,Oa)>>>0,65536<sg&&(sg=65536));for(var ud="",wr=(sg||128)+15>>4||1,mi="dd"==va?4:"dw"==va?2:1,jn=0;jn<wr;jn++){for(var tg=0,ni=0,We="",oi="",pa=iq(de),pi=0;16>pi;pi++){var ug=a.Wa(de,1),tg=tg|ug<<(ni++<<3);ni==mi&&(We+=l(tg,2*mi),We+=1==mi?7==pi?"-":" ":" ",tg=ni=0);oi+=32<=ug&&128>ug?String.fromCharCode(ug):"."}ud&&(ud+="\n");ud+=pa+" "+We+" "+oi}ud&&a.U(ud);a.Jb=de}}}}}break;case "e":if("else"==g[0])break;var vg=1,kn=255,ln=a.Wa,mn=a.tc;"ew"==g[0]&&(vg=2,kn=65535,
ln=a.va,mn=a.pb);var nn=vg<<1,on=g[1];if(null==on)a.U("edit memory commands:"),a.U("\teb [a] [...] edit bytes at address a"),a.U("\tew [a] [...] edit words at address a");else{var wg=pq(a,on);if(wg)for(var xg=2;xg<g.length;xg++){var Xe=rq(a,g[xg]);if(void 0===Xe){a.U("unrecognized value: "+g[xg]);break}Xe&~kn&&a.U("warning: "+l(Xe)+" exceeds "+vg+"-byte value");var xr=ln.call(a,wg);a.U("changing "+iq(wg)+" from 0x"+l(xr,nn)+" to 0x"+l(Xe,nn));mn.call(a,wg,Xe,vg)}}break;case "f":Xq(a,g[1]);break;
case "g":a:{var pn=g[1],yr=b;"gt"==g[0]&&(a.lb=!0);if(void 0!==pn){var qi=pq(a,pn,!0);if(!qi)break a;sq(a,qi,yr);a.Nd(a.A,qi,!0)}a.Je(!0)||c||a.U("cpu busy or unavailable, run command ignored")}break;case "h":var ri;a.ra.Ob?(ri="halting",a.bc()):ri="already halted";c||a.U(ri);break;case "i":if("if"==g[0]){var si;var Ye=b.substr(2),Ye=qa(Ye);rq(a,Ye)?(c||a.U("true: "+Ye),si=!0):(c||a.U("false: "+Ye),si=!1);si||(d=!1);break}if("int"==g[0]){var yg;a:switch(Vp(a,g[1])){case 19:Uj(a,19,a.M.Na,!0);a.Ha=
a.wa;yg=!0;break a;case 33:Uj(a,33,a.M.Na,!0);a.Ha=a.wa;yg=!0;break a;default:yg=!1}yg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=Vp(a,ti);if(void 0!==ui){var zr=oc(a.ja,ui,1);a.U(ia(ui)+": "+ga(zr))}}else a.U("input commands:"),a.U("\ti [p]\tread port [p]"),a.U("warning: port accesses can affect hardware state");break;case "k":var Ar=g[0];if("?"==g[1])a.U("stack trace commands:"),a.U("\tk\tshow frame addresses"),a.U("\tks\tshow symbol information");else{var vi=0,qn=a.M.Ca.ga,Ze=zp(a),Wc=zp(a,
u(a.M),a.M.Aa.ga);for(a.U("stack trace for "+iq(Wc));10>vi;){for(var xc=null,Br=256;Wc.Xa>>>0<a.M.Mg>>>0;){Ze.Xa=a.vb(Wc,!0);if(null==Wc.Ia||!Br--)break;Ze.ga=qn;if(xc=br(a,Ze))break;Ze.ga=a.vb(Wc);if(xc=br(a,Ze,!0)){qn=a.vb(Wc,!0);0<xc.indexOf("INT")&&a.vb(Wc,!0);break}}if(!xc||null==xc)break;var rn=null;if("ks"==Ar){var sn=xc.match(/[0-9A-F]+$/);sn&&(rn=Zq(a,sn[0]))}xc=oa(xc,50)+" ;"+(rn||"stack="+iq(Wc));a.U(xc);vi++}vi||a.U("no return addresses found")}break;case "l":if("ln"==g[0]){Zq(a,g[1],
!0);break}$q(a,g);break;case "m":if("mouse"==g[0]){var wi=g[1],zg=g[2];if(a.Y){var tn=1;"-"==zg.charAt(0)&&(tn=-1,zg=zg.substr(1));var vd=Vp(a,zg,wi);if(void 0!==vd)switch(vd=vd*tn|0,wi){case "x":a.Y.Ff(vd,0);break;case "y":a.Y.Ff(0,vd);break;case "click":a.Y.ge(vd,!0);a.Y.ge(vd,!1);break;default:a.U("unknown action: "+wi)}}else a.U("no mouse");break}a:{var yc,zc=null,Va=g[1];"?"==Va&&(Va=void 0);if(void 0!==Va){var wd=0;if("all"==Va)wd=1610481663,Va=null;else if("on"==Va)zc=!0,Va=null;else if("off"==
Va)zc=!1,Va=null;else{"keys"==Va&&(Va="key");"kbd"==Va&&(Va="keyboard");for(yc in Np)if(Va==yc){wd=Np[yc];zc=!!(a.wc&wd);break}if(!wd){a.U("unknown message category: "+Va);break a}}wd&&("on"==g[2]?(a.wc|=wd,zc=!0):"off"==g[2]&&(a.wc&=~wd,zc=!1))}var Cr=0,Xc="";for(yc in Np)if(!Va||Va==yc){var Dr=!!(a.wc&Np[yc]);if(null===zc||zc==Dr)Xc&&(Xc+=","),++Cr%10||(Xc+="\n\t"),"key"==yc&&(yc="keys"),Xc+=yc}void 0===Va&&a.U("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.U((null!==zc?
zc?"messages on: ":"messages off: ":"message categories:\n\t")+(Xc||"none"));Bp(a)}break;case "o":var xi=g[1],Er=g[2];if(xi&&"?"!=xi){var yi=Vp(a,xi,"port #"),zi=Vp(a,Er);void 0!==yi&&void 0!==zi&&(sc(a.ja,yi,1,zi),a.U(ia(yi)+": "+ga(zi)))}else a.U("output commands:"),a.U("\to [p] [b]\twrite byte [b] to port [p]"),a.U("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){ar(a,b.substr(5));break}var un="pr"==g[0]?1:0,ee=1+un;if(a.P)a.U("step in progress");else{var Ag,
vn=!1,nb=zp(a,v(a.M),a.M.Ca.ga);do switch(Ag=!1,a.Wa(nb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:kq(a,nb,1);Ag=!0;break;case 204:case 206:a.P=ee;kq(a,nb,1);break;case 205:case 224:case 225:case 226:a.P=ee;kq(a,nb,nb.Xb?4:2);break;case 232:a.P=ee;kq(a,nb,nb.Xb?5:3);break;case 154:a.P=ee;kq(a,nb,nb.Xb?7:5);break;case 255:var wn=a.vb(nb)&14591;if(4351==wn||6399==wn)a.P=ee,Iq(a,nb);break;case 243:case 242:kq(a,nb,1);vn=Ag=!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:vn&&
(a.P=ee,kq(a,nb,1))}while(Ag);a.P?(a.Nd(a.A,nb,!0),a.Je()||(a.M.Vc(),a.P=0)):cr(a,un?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}Aq(a,g);break;case "t":cr(a,g[0],g[1]);break;case "u":Bq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Yq(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.9 ("+a.M.na+",RELEASE,NOPREFETCH"+(Ab?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var $e;void 0!==g[3]&&($e=+g[3]);switch(g[2]){case "int":a.M.ba.gf=
k;break;case "EBX":a.M.D=k;break;case "ECX":a.M.G=k;break;case "EDX":a.M.H=k;break;case "ESP":t(a.M,k);break;case "EBP":a.M.K=k;break;case "ESI":a.M.J=k;break;case "EDI":a.M.I=k;break;case "FS":a.M.Sb.load(k);break;case "GS":a.M.Tb.load(k);break;case "CR0":a.M.hb=k;Rh.call(a.M,k);break;case "CR2":a.M.qe=k;break;case "CR3":a.M.Ld=k;Hd.call(a.M,k);break;default:r=!0}}if(r){a.U("unknown register: "+e);return}}if(!g){a.U("invalid value: "+f);return}Yc(a.M);a.U("updated registers:")}}a.U(Uq(a,d));c&&(a.da=
Dp(a,v(a.M),a.M.Ca.ga),Fq(a,mq(a.da)))}}function er(a,b){b=qa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.U(Cq(a,c[2])):vq(a,b,!0)}function fr(a,b,c){for(var d=null,e=b.Xa,f=e,g=1;6>=g&&e;g++){if(2<g){b.Xa=e;b.Ia=null;var k=Mq(a,b);if(0<k.indexOf("CALL")||c&&0<k.indexOf("INT")){var q=k.indexOf(" ");if(e+(k.indexOf(" ",q+1)-q-1)/2==f){d=k;break}}}e--}b.Xa=f;return d}
function gr(a,b,c){var d="tr"==b;b=Zp(a,c,null,!0)||1;var e=1==b?0:1;Ka(b,function(){return vb(a,!0)&&a.tf(e,d,!1)},function(){Yc(a.M);vb(a,!1)})}function Pq(a,b,c){if(a.Rd=b)null!=a.Oi&&(a.Xb=a.Oi),null!=a.Ni&&(a.rc=a.Ni),a.Oi=a.Xb,a.Ni=a.rc;a.Re=c||0}
function Fq(a,b,c,d){if(b=tq(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=tq(a,c,!0);if(!d||d.Xa<b.Xa)return;e=d.Xa-b.Xa;if(256<e){a.U("range too large");return}d=-1}c=0;var f;for(Pq(b,!0);0<e&&d--;){f=wb(a,!1)||a.P?a.ka:null;var g=null!=f?"cycles":null,k=Oq(a,b),q=b.Ia;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var r=k[0]+":";k[2]&&(r+=" "+k[2]);a.U(r)}k[3]&&(g=k[3],f=null);f=Mq(a,b,g,f);b.Rd||d||d++;a.U(f);a.da=b;e-=b.Ia-q;c++}}}
function xq(a,b,c,d){if(c)if(b){0>a.W&&a.O.length&&(a.W=0);if(0>a.W||b!=a.O[a.W])a.O.splice(0,0,b),a.W=0;a.W--}else b=a.O[a.W+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(qa(b.substring(c,f))),c=f+1}}return a}
function Lq(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ma&&(a.U("ended assemble at "+mq(a.Ba)),a.da=a.Ba,a.Ma=!1),b="";else if(!c){var e=">> ";a.M.hb&1&&(e=a.M.ea&131072?"-- ":"## ");a.U(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.cb=null;if(yb(a)&&0<b.length){a.Ma&&(b="a "+mq(a.Ba)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var k=g[0],q=k.charAt(0),r=1;r<k.length;r++){var x=k.charAt(r);if("?"==q||"r"==q||"a">x||"z"<x){g[0]=k.substr(r);g.unshift(k.substr(0,r));break}}switch(g[0].charAt(0)){case "a":var B=
tq(a,g[1],!0);if(B)if(a.Ba=B,void 0===g[2])a.U("begin assemble at "+mq(B)),a.Ma=!0,Yc(a.M);else{var y;a.U("not supported yet");y=[];if(y.length){for(var J=0;J<y.length;J++)a.tc(B,y[J],1);a.U(Mq(a,a.Ba))}}break;case "b":a:{var U=g[0],F=g[1],O=b;if("?"==F)a.U("breakpoint commands:"),a.U("\tbi [p]\ttoggle break on input port [p]"),a.U("\tbo [p]\ttoggle break on output port [p]"),a.U("\tbp [a]\tset exec breakpoint at addr [a]"),a.U("\tbr [a]\tset read breakpoint at addr [a]"),a.U("\tbw [a]\tset write breakpoint at addr [a]"),
a.U("\tbc [a]\tclear breakpoint at addr [a]"),a.U("\tbl\tlist all breakpoints"),a.U("\tbn [n]\tbreak after [n] instruction(s)");else{var V=U.charAt(1);if("l"==V){var Y=0,Y=Y+Kq(a,a.A),Y=Y+Kq(a,a.za);(Y+=Kq(a,a.la))||a.U("no breakpoints")}else if("n"==V)a.Va=Zp(a,F),a.U("break after "+a.Va+" instruction(s)");else if(void 0===F)a.U("missing breakpoint address");else{var ha={};if("*"!=F&&(ha=tq(a,F,!0,!0),!ha))break a;F=null==ha.Xa?F:ia(ha.Xa);"c"==V?null==ha.Xa?(Ep(a),a.U("all breakpoints cleared")):
lq(a,a.A,ha)||lq(a,a.za,ha)||lq(a,a.la,ha)||a.U("breakpoint missing: "+mq(ha)):"i"==V?a.U("breakpoint "+(mc(a.ja,ha.Xa)?"enabled":"cleared")+": port "+F+" (input)"):"o"==V?a.U("breakpoint "+(qc(a.ja,ha.Xa)?"enabled":"cleared")+": port "+F+" (output)"):null!=ha.Xa&&(wq(a,ha,O),"p"==V?a.Nd(a.A,ha):"r"==V?a.Nd(a.za,ha):"w"==V?a.Nd(a.la,ha):a.U("unknown breakpoint command: "+V))}}}break;case "c":$q(a);break;case "d":a:{var da=g,eb,va=da[0],oa=da[1],Oa=da[2],ab=da[3];if("?"==oa){var Ja="";for(eb in Rp)a.ib[eb]&&
(Ja&&(Ja+=","),Ja+=eb);Ja+=",state,symbols";a.U("dump memory commands:");a.U("\tdb [a] [#] dump # bytes at address a");a.U("\tdw [a] [#] dump # words at address a");a.U("\tdd [a] [#] dump # dwords at address a");a.U("\tdh [#] [#] dump # instructions from history");a.U("\tds [#] dump descriptor info for selector #");Ja.length&&a.U("dump extension commands:\n\t"+Ja)}else if("state"==oa){var Vb=hr(a.ia,!0);"console"==Oa?console.log(Vb):($q(a),a.U(Vb))}else if("symbols"==oa)for(var Da=
0;Da<a.C.length;Da++){var Ud=a.C[Da],Uc;for(Uc in Ud.Md)if("."!=Uc.charAt(0)){var Vd=Ud.Md[Uc],Ie=Vd.o;if(void 0!==Ie){var Wd=Vd.s;void 0===Wd&&(Wd=Ud.ga);var Je=Ud.Md[Uc].l;Je&&(Uc=Je);a.U(eq(Ie,Wd)+" "+Uc)}}}else{if("ds"==va||"dg"==va||"dl"==va)va="d",da=[va,"desc",oa];"d"==va&&"page"==oa&&(va="dp",da.shift());if("dp"==va){da.shift();var ki=da[0];if(ki){var Ve=a.ic(tq(a,ki));if(-1===Ve)a.U("invalid address: "+ki);else{var ae,La=null;if(80386<=a.M.na){var be=a.ja,La={};La.ek=(Ve&-4194304)>>>20;La.zi=
a.M.Ld+La.ek;La.Db=be.ya[(La.zi&be.Mb)>>>be.Pa];La.Xi=La.Db.Xd(La.ek);La.fk=(Ve&4190208)>>>10;La.Ai=(La.Xi&-4096)+La.fk;La.Eb=be.ya[(La.Ai&be.Mb)>>>be.Pa];La.Yi=La.Eb.Xd(La.fk);La.Lk=(La.Yi&-4096)+(Ve&4095)}if(ae=La){a.U("linear PDE addr PDE PTE addr PTE physical");a.U("--------- ---------- -------- ---------- -------- ----------");var td="%"+l(Ve),td=td+(" %%"+yq(ae.zi,ae.Xi)),td=td+(" %%"+yq(ae.Ai,ae.Yi,!0)),td=td+(" %%"+l(ae.Lk));a.U(td)}else a.U("unsupported operation")}}else a.U("missing address")}else{if("d"==
va){if("disk"==oa){da[0]="l";da[1]="json";dr(a,da);break a}for(eb in Rp)if(da[1]==eb){var gn=a.ib[eb];gn?(da.shift(),da.shift(),gn(da)):a.U("no dump registered for "+oa);break a}oa||(va=a.Lc||"db")}else a.Lc=va;if("dh"==va){var hn=oa,jn=Oa,kn="",ln=0,tb=a.Oa,wc=a.qa;if(wc.length){var Eb=+hn||a.Zb,ce=+jn||10;isNaN(Eb)?Eb=ce:kn="more ";Eb>wc.length&&(a.U("note: only "+wc.length+" available"),Eb=wc.length);tb-=Eb;0>tb&&(null==wc[wc.length-1].ga?(Eb=tb+Eb,tb=0):tb+=wc.length);var li=[];"call"==jn&&(ce=
1E5,li=["CALL"]);for(void 0!==hn&&a.U(Eb+" instructions earlier:");0<ce&&tb!=a.Oa;){var ub=wc[tb++];if(null==ub.ga)break;var ub=Dp(a,ub.Xa,ub.ga,ub.Ia,ub.type,ub.Xb,ub.rc),mn=Mq(a,ub,"history",Eb--);(!li.length||0<=mn.indexOf(li[0]))&&a.U(mn);ub.Re&&(tb+=ub.Re,ce-=ub.Re,Eb-=ub.Re);tb>=wc.length&&(tb=0);a.Zb=Eb;ln++;ce--}}ln||(a.U("no "+kn+"history available"),a.Zb=void 0)}else if("di"==va)da.shift(),a.U("no information");else{var de=tq(a,oa);if(de&&(null!=de.ga||null!=de.Ia)){var sg=0;Oa&&("l"==Oa.charAt(0)&&
(Oa=Oa.substr(1)||ab),sg=Zp(a,Oa)>>>0,65536<sg&&(sg=65536));for(var ud="",Ar=(sg||128)+15>>4||1,mi="dd"==va?4:"dw"==va?2:1,nn=0;nn<Ar;nn++){for(var tg=0,ni=0,We="",oi="",oa=mq(de),pi=0;16>pi;pi++){var ug=a.Wa(de,1),tg=tg|ug<<(ni++<<3);ni==mi&&(We+=l(tg,2*mi),We+=1==mi?7==pi?"-":" ":" ",tg=ni=0);oi+=32<=ug&&128>ug?String.fromCharCode(ug):"."}ud&&(ud+="\n");ud+=oa+" "+We+" "+oi}ud&&a.U(ud);a.Jb=de}}}}}break;case "e":if("else"==g[0])break;var vg=1,on=255,pn=a.Wa,qn=a.tc;"ew"==g[0]&&(vg=2,on=65535,
pn=a.va,qn=a.pb);var rn=vg<<1,sn=g[1];if(null==sn)a.U("edit memory commands:"),a.U("\teb [a] [...] edit bytes at address a"),a.U("\tew [a] [...] edit words at address a");else{var wg=tq(a,sn);if(wg)for(var xg=2;xg<g.length;xg++){var Xe=vq(a,g[xg]);if(void 0===Xe){a.U("unrecognized value: "+g[xg]);break}Xe&~on&&a.U("warning: "+l(Xe)+" exceeds "+vg+"-byte value");var Br=pn.call(a,wg);a.U("changing "+mq(wg)+" from 0x"+l(Br,rn)+" to 0x"+l(Xe,rn));qn.call(a,wg,Xe,vg)}}break;case "f":ar(a,g[1]);break;
case "g":a:{var tn=g[1],Cr=b;"gt"==g[0]&&(a.lb=!0);if(void 0!==tn){var qi=tq(a,tn,!0);if(!qi)break a;wq(a,qi,Cr);a.Nd(a.A,qi,!0)}a.Je(!0)||c||a.U("cpu busy or unavailable, run command ignored")}break;case "h":var ri;a.ra.Ob?(ri="halting",a.bc()):ri="already halted";c||a.U(ri);break;case "i":if("if"==g[0]){var si;var Ye=b.substr(2),Ye=qa(Ye);vq(a,Ye)?(c||a.U("true: "+Ye),si=!0):(c||a.U("false: "+Ye),si=!1);si||(d=!1);break}if("int"==g[0]){var yg;a:switch(Zp(a,g[1])){case 19:Yj(a,19,a.M.Na,!0);a.Ha=
a.wa;yg=!0;break a;case 33:Yj(a,33,a.M.Na,!0);a.Ha=a.wa;yg=!0;break a;default:yg=!1}yg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=Zp(a,ti);if(void 0!==ui){var Dr=oc(a.ja,ui,1);a.U(ia(ui)+": "+ga(Dr))}}else a.U("input commands:"),a.U("\ti [p]\tread port [p]"),a.U("warning: port accesses can affect hardware state");break;case "k":var Er=g[0];if("?"==g[1])a.U("stack trace commands:"),a.U("\tk\tshow frame addresses"),a.U("\tks\tshow symbol information");else{var vi=0,un=a.M.Ca.ga,Ze=Dp(a),Wc=Dp(a,
u(a.M),a.M.Aa.ga);for(a.U("stack trace for "+mq(Wc));10>vi;){for(var xc=null,Fr=256;Wc.Xa>>>0<a.M.Mg>>>0;){Ze.Xa=a.vb(Wc,!0);if(null==Wc.Ia||!Fr--)break;Ze.ga=un;if(xc=fr(a,Ze))break;Ze.ga=a.vb(Wc);if(xc=fr(a,Ze,!0)){un=a.vb(Wc,!0);0<xc.indexOf("INT")&&a.vb(Wc,!0);break}}if(!xc||null==xc)break;var vn=null;if("ks"==Er){var wn=xc.match(/[0-9A-F]+$/);wn&&(vn=cr(a,wn[0]))}xc=pa(xc,50)+" ;"+(vn||"stack="+mq(Wc));a.U(xc);vi++}vi||a.U("no return addresses found")}break;case "l":if("ln"==g[0]){cr(a,g[1],
!0);break}dr(a,g);break;case "m":if("mouse"==g[0]){var wi=g[1],zg=g[2];if(a.Y){var xn=1;"-"==zg.charAt(0)&&(xn=-1,zg=zg.substr(1));var vd=Zp(a,zg,wi);if(void 0!==vd)switch(vd=vd*xn|0,wi){case "x":a.Y.Ff(vd,0);break;case "y":a.Y.Ff(0,vd);break;case "click":a.Y.ge(vd,!0);a.Y.ge(vd,!1);break;default:a.U("unknown action: "+wi)}}else a.U("no mouse");break}a:{var yc,zc=null,Va=g[1];"?"==Va&&(Va=void 0);if(void 0!==Va){var wd=0;if("all"==Va)wd=1610481663,Va=null;else if("on"==Va)zc=!0,Va=null;else if("off"==
Va)zc=!1,Va=null;else{"keys"==Va&&(Va="key");"kbd"==Va&&(Va="keyboard");for(yc in Rp)if(Va==yc){wd=Rp[yc];zc=!!(a.wc&wd);break}if(!wd){a.U("unknown message category: "+Va);break a}}wd&&("on"==g[2]?(a.wc|=wd,zc=!0):"off"==g[2]&&(a.wc&=~wd,zc=!1))}var Gr=0,Xc="";for(yc in Rp)if(!Va||Va==yc){var Hr=!!(a.wc&Rp[yc]);if(null===zc||zc==Hr)Xc&&(Xc+=","),++Gr%10||(Xc+="\n\t"),"key"==yc&&(yc="keys"),Xc+=yc}void 0===Va&&a.U("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.U((null!==zc?
zc?"messages on: ":"messages off: ":"message categories:\n\t")+(Xc||"none"));Fp(a)}break;case "o":var xi=g[1],Ir=g[2];if(xi&&"?"!=xi){var yi=Zp(a,xi,"port #"),zi=Zp(a,Ir);void 0!==yi&&void 0!==zi&&(sc(a.ja,yi,1,zi),a.U(ia(yi)+": "+ga(zi)))}else a.U("output commands:"),a.U("\to [p] [b]\twrite byte [b] to port [p]"),a.U("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){er(a,b.substr(5));break}var yn="pr"==g[0]?1:0,ee=1+yn;if(a.P)a.U("step in progress");else{var Ag,
zn=!1,nb=Dp(a,v(a.M),a.M.Ca.ga);do switch(Ag=!1,a.Wa(nb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:oq(a,nb,1);Ag=!0;break;case 204:case 206:a.P=ee;oq(a,nb,1);break;case 205:case 224:case 225:case 226:a.P=ee;oq(a,nb,nb.Xb?4:2);break;case 232:a.P=ee;oq(a,nb,nb.Xb?5:3);break;case 154:a.P=ee;oq(a,nb,nb.Xb?7:5);break;case 255:var An=a.vb(nb)&14591;if(4351==An||6399==An)a.P=ee,Mq(a,nb);break;case 243:case 242:oq(a,nb,1);zn=Ag=!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:zn&&
(a.P=ee,oq(a,nb,1))}while(Ag);a.P?(a.Nd(a.A,nb,!0),a.Je()||(a.M.Vc(),a.P=0)):gr(a,yn?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}Eq(a,g);break;case "t":gr(a,g[0],g[1]);break;case "u":Fq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){br(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.9 ("+a.M.na+",RELEASE,NOPREFETCH"+(Ab?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var $e;void 0!==g[3]&&($e=+g[3]);switch(g[2]){case "int":a.M.ba.gf=
$e;break;case "start":a.M.ba.Hf=$e;break;case "stop":a.M.ba.jf=$e;break;default:a.U("unknown cs option");break a}void 0!==$e&&Vc(a.M);a.U("checksums "+(a.M.ra.Xe?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(dd(a.M,+g[2])||a.U("warning: using 1x multiplier, previous target not reached"));a.U("target speed: "+(a.M.ba.Ce.toFixed(2)+"Mhz")+" ("+a.M.ba.Td+"x)");break;default:a.U("unknown option: "+g[1])}else a.U("execution options:"),a.U("\tcs int #\tset checksum cycle interval to #"),a.U("\tcs start #\tset checksum cycle start count to #"),
a.U("\tcs stop #\tset checksum cycle stop count to #"),a.U("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){ar(a,b.substr(1));break}var af="commands:",Ai;for(Ai in Gp)af+="\n"+oa(Ai,7)+Gp[Ai];Of(a)||(af+="\nnote: frequency/history disabled if no exec breakpoints");a.U(af);break;default:a.U("unknown command: "+b),d=!1}}}catch(xn){a.U("debugger error: "+(xn.stack||xn.message)),d=!1}return d}function Dp(a,b,c){b=tq(a,b,c);for(var d in b)if(!Hq(a,b[d]))return!1;return!0}
Sa(function(){for(var a=qb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new yp(d);pb(d,c)}});function df(a,b,c){this.id=a.id;this.key=er(a,b,c);this.ma=a.ma;fr(this,a.xk)}function er(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}
df.prototype={constructor:df,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:Fa()&&(a=Ga(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){fr(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 fr(a,b){a[a.id]={};b&&ef(a,"parms",b);a.A=!1}function gr(a){var b=!0;if(Fa()){var c=JSON.stringify(a[a.id]);Ha(a.key,c)||(Ba("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function hr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){Ba(c.message||c),b=!1}return b}function ir(a,b){return a[a.id][b]||null}function ef(a,b,c){try{a[a.id][b]=c}catch(d){}}
function jr(a,b,c){Xa.call(this,"Computer",a,jr,67108864);this.ra.hc=!1;this.W=b;this.Y=Lo(this,"autoPower",a);this.C=0;this.la=a.busWidth||a.buswidth;this.Oc=kr;this.O=null;this.P=this.ka=!1;this.qa=Lo(this,"url")||"";this.ua=(Math.random()+.1).toString(36).substr(2,12);this.A=lr(this);if(this.M=lb("CPU",this.id)){this.ma=lb("Debugger",this.id);this.ja=new Qb({id:this.se+".bus",buswidth:this.la},this.M,this.ma);var d,e=jb(this.id);if((this.Wd=lb("Panel",this.id))&&this.Wd.Bf)for(b=0;b<e.length;b++)d=
e[b],d.Ua=this.Wd.Ua,d.U=this.Wd.U,d.Bf=this.Wd.Bf;for(b=0;b<e.length;b++)d=e[b],d.Jc&&d.Jc(this,this.ja,this.M,this.ma);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Fg=d:this.Oc=parseInt(d,10));var f;if(a=$a&&$a.state||Lo(this,"state")||(f=!0,a.state))b=this.X=a,f||(this.P=!0,this.Oc=kr),this.Oc&&(this.ia=new df(this,mr),this.ia.load()?b=null:delete this.ia);!b&&this.Oc&&(f=null,this.A&&(f=Aa()+"/api/v1/user?req=load&user="+this.A+"&state="+er(this,mr)),b=f)&&(this.P=!0);b?za(b,!0,null,this,
this.wk):xb(this);this.xa.power||(this.Y=!0);!c&&this.Y&&nr(this,this.Xf)}else Ba("Unable to find CPU component")}gb(jr);var mr="1.20.9",kr=0;h=jr.prototype;h.ef=function(){return this.ua};function Lo(a,b,c){return a.W&&null!=a.W[b]?a.W[b]:c?c[b]:null}h.he=function(){return this.A||""};h.wk=function(a,b,c){c?(this.Fg=null,this.P=!1,this.Ua("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(this.O=b,this.ka=!0);xb(this)};
function nr(a,b,c){for(var d=jb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!yb(f)){yb(f,function(){nr(a,b,c)});return}}b.call(a,c)}function or(a,b){var c=new df(a,mr,"validate");if(c.load()&&hr(c)){var d=ir(c,"timestamp"),e=b?ir(b,"timestamp"):"unknown";d!=e&&(a.Ua("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
h.Xf=function(a){void 0===a&&(a=this.Oc||(this.O?1:kr));if(!this.C){this.C++;var b=!1,c=!1;this.da=!1;var d=this.ia||new df(this,mr);if(-1==a)b=!0;else if(a>kr){if(d.load(this.O)){this.R=new df(this,mr,"failsafe");this.R.load()&&(pr(this,d),a=2,fr(this.R));ef(this.R,"timestamp",ta());gr(this.R);var e=this.Oc&&!this.P;if(1==a||Ca("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=hr(d)){var f=ir(d,"code"),g=ir(d,"data");f&&("ok"==f?d.load(g):("error"==f&&
"no machine state"!=g?(this.Ua("Error: "+g),"unable to verify user"==g&&(Ha("user",""),this.A=null)):this.U(f+": "+g),fr(d),d.load()?(c=hr(d),e=!0):c=!1))}e&&or(this,c?d:null)}else 2==a&&d.clear()}else or(this);delete this.O;delete this.ia}e=jb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.M&&(c=qr(this,g,d,b,c));b=[d,a,c];-1!=a?nr(this,this.Mi,b):this.Mi(b)}};
function qr(a,b,c,d,e){if(!b.ra.hc){b.ra.hc=!0;if(b.lc){var f=null;e&&((f=ir(c,b.id))||(f=ir(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.lc(f,d)&&f&&(Ba("Unable to restore state for "+b.type),a.X&&!a.ka?(c.clear(),a.Oc=kr,window&&window.location.reload()):a.da=!0,b.lc(null),e=!1)}if(!d&&b.uk)for(a=b.uk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
h.Mi=function(a){var b=a[0],c=0>a[1];a=a[2];this.ra.hc=!0;var d=this.xa.power;d&&(d.textContent="Shutdown");this.vi||(this.U("PCjs v"+mr+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.vi=!0);this.M&&(qr(this,this.M,b,c,a),Zc(this.M));this.da&&(pr(this,b),b.clear());!c&&this.R&&(this.R.clear(),delete this.R);this.C=0};
function pr(a,b){if(Ca("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.qa,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=mr;f.url=c;f.user=d;f.type="bug";f.data=e;za("http://www.pcjs.org/api/v1/report",!0,f)}}
function dr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new df(a,mr),g=new df(a,mr,"validate"),k=ta();ef(g,"timestamp",k);ef(f,"timestamp",k);ef(f,"version","1.20.9");ef(f,"url",window?window.location.href:null);ef(f,"browser",window?window.navigator.userAgent:"");a.M&&a.M.kc&&(c&&a.M.bc(),d=a.M.kc(b,c),"object"===typeof d&&ef(f,a.M.id,d),c&&(a.M.ra.hc=!1,!1===d&&(e=null)));for(var k=jb(a.id),q=0;q<k.length;q++){var r=k[q];r.ra.hc&&(r.kc&&(d=r.kc(b,c),"object"===typeof d&&ef(f,r.id,d)),c&&
(r.ra.hc=!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.A&&rr(a,a.A,f.toString()),gr(g)&&gr(f)||(e=null,d=k=!0)):a.Oc&&(d=!0,k=3==a.Oc),d&&f.clear(k)):e=f.toString());c&&(a.ra.hc=!1,b=a.xa.power)&&(b.textContent="Power");a.C=0;return e}h.reset=function(){this.ja&&this.ja.reset&&(sb(this,"Resetting "+this.ja.type),this.ja.reset());for(var a=jb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ja&&c.reset&&(sb(this,"Resetting "+c.type),c.reset())}};
a.U("\tcs stop #\tset checksum cycle stop count to #"),a.U("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){er(a,b.substr(1));break}var af="commands:",Ai;for(Ai in Kp)af+="\n"+pa(Ai,7)+Kp[Ai];Of(a)||(af+="\nnote: frequency/history disabled if no exec breakpoints");a.U(af);break;default:a.U("unknown command: "+b),d=!1}}}catch(Bn){a.U("debugger error: "+(Bn.stack||Bn.message)),d=!1}return d}function Hp(a,b,c){b=xq(a,b,c);for(var d in b)if(!Lq(a,b[d]))return!1;return!0}
Sa(function(){for(var a=qb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Cp(d);pb(d,c)}});function df(a,b,c){this.id=a.id;this.key=ir(a,b,c);this.ma=a.ma;jr(this,a.xk)}function ir(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}
df.prototype={constructor:df,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:Fa()&&(a=Ga(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){jr(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 jr(a,b){a[a.id]={};b&&ef(a,"parms",b);a.A=!1}function kr(a){var b=!0;if(Fa()){var c=JSON.stringify(a[a.id]);Ha(a.key,c)||(Ba("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function lr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){Ba(c.message||c),b=!1}return b}function mr(a,b){return a[a.id][b]||null}function ef(a,b,c){try{a[a.id][b]=c}catch(d){}}
function nr(a,b,c){Xa.call(this,"Computer",a,nr,67108864);this.ra.hc=!1;this.W=b;this.Y=Po(this,"autoPower",a);this.C=0;this.la=a.busWidth||a.buswidth;this.Oc=or;this.O=null;this.P=this.ka=!1;this.qa=Po(this,"url")||"";this.ua=(Math.random()+.1).toString(36).substr(2,12);this.A=pr(this);if(this.M=lb("CPU",this.id)){this.ma=lb("Debugger",this.id);this.ja=new Qb({id:this.se+".bus",buswidth:this.la},this.M,this.ma);var d,e=jb(this.id);if((this.Wd=lb("Panel",this.id))&&this.Wd.Bf)for(b=0;b<e.length;b++)d=
e[b],d.Ua=this.Wd.Ua,d.U=this.Wd.U,d.Bf=this.Wd.Bf;for(b=0;b<e.length;b++)d=e[b],d.Jc&&d.Jc(this,this.ja,this.M,this.ma);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Fg=d:this.Oc=parseInt(d,10));var f;if(a=$a&&$a.state||Po(this,"state")||(f=!0,a.state))b=this.X=a,f||(this.P=!0,this.Oc=or),this.Oc&&(this.ia=new df(this,qr),this.ia.load()?b=null:delete this.ia);!b&&this.Oc&&(f=null,this.A&&(f=Aa()+"/api/v1/user?req=load&user="+this.A+"&state="+ir(this,qr)),b=f)&&(this.P=!0);b?za(b,!0,null,this,
this.wk):xb(this);this.xa.power||(this.Y=!0);!c&&this.Y&&rr(this,this.Xf)}else Ba("Unable to find CPU component")}gb(nr);var qr="1.20.9",or=0;h=nr.prototype;h.ef=function(){return this.ua};function Po(a,b,c){return a.W&&null!=a.W[b]?a.W[b]:c?c[b]:null}h.he=function(){return this.A||""};h.wk=function(a,b,c){c?(this.Fg=null,this.P=!1,this.Ua("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(this.O=b,this.ka=!0);xb(this)};
function rr(a,b,c){for(var d=jb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!yb(f)){yb(f,function(){rr(a,b,c)});return}}b.call(a,c)}function sr(a,b){var c=new df(a,qr,"validate");if(c.load()&&lr(c)){var d=mr(c,"timestamp"),e=b?mr(b,"timestamp"):"unknown";d!=e&&(a.Ua("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
h.Xf=function(a){void 0===a&&(a=this.Oc||(this.O?1:or));if(!this.C){this.C++;var b=!1,c=!1;this.da=!1;var d=this.ia||new df(this,qr);if(-1==a)b=!0;else if(a>or){if(d.load(this.O)){this.R=new df(this,qr,"failsafe");this.R.load()&&(tr(this,d),a=2,jr(this.R));ef(this.R,"timestamp",ta());kr(this.R);var e=this.Oc&&!this.P;if(1==a||Ca("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=lr(d)){var f=mr(d,"code"),g=mr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&
"no machine state"!=g?(this.Ua("Error: "+g),"unable to verify user"==g&&(Ha("user",""),this.A=null)):this.U(f+": "+g),jr(d),d.load()?(c=lr(d),e=!0):c=!1))}e&&sr(this,c?d:null)}else 2==a&&d.clear()}else sr(this);delete this.O;delete this.ia}e=jb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.M&&(c=ur(this,g,d,b,c));b=[d,a,c];-1!=a?rr(this,this.Mi,b):this.Mi(b)}};
function ur(a,b,c,d,e){if(!b.ra.hc){b.ra.hc=!0;if(b.lc){var f=null;e&&((f=mr(c,b.id))||(f=mr(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.lc(f,d)&&f&&(Ba("Unable to restore state for "+b.type),a.X&&!a.ka?(c.clear(),a.Oc=or,window&&window.location.reload()):a.da=!0,b.lc(null),e=!1)}if(!d&&b.uk)for(a=b.uk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
h.Mi=function(a){var b=a[0],c=0>a[1];a=a[2];this.ra.hc=!0;var d=this.xa.power;d&&(d.textContent="Shutdown");this.vi||(this.U("PCjs v"+qr+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.vi=!0);this.M&&(ur(this,this.M,b,c,a),Zc(this.M));this.da&&(tr(this,b),b.clear());!c&&this.R&&(this.R.clear(),delete this.R);this.C=0};
function tr(a,b){if(Ca("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.qa,d=a.he(),e=b.toString(),f={app:"PCjs"};f.ver=qr;f.url=c;f.user=d;f.type="bug";f.data=e;za("http://www.pcjs.org/api/v1/report",!0,f)}}
function hr(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new df(a,qr),g=new df(a,qr,"validate"),k=ta();ef(g,"timestamp",k);ef(f,"timestamp",k);ef(f,"version","1.20.9");ef(f,"url",window?window.location.href:null);ef(f,"browser",window?window.navigator.userAgent:"");a.M&&a.M.kc&&(c&&a.M.bc(),d=a.M.kc(b,c),"object"===typeof d&&ef(f,a.M.id,d),c&&(a.M.ra.hc=!1,!1===d&&(e=null)));for(var k=jb(a.id),q=0;q<k.length;q++){var r=k[q];r.ra.hc&&(r.kc&&(d=r.kc(b,c),"object"===typeof d&&ef(f,r.id,d)),c&&
(r.ra.hc=!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.A&&vr(a,a.A,f.toString()),kr(g)&&kr(f)||(e=null,d=k=!0)):a.Oc&&(d=!0,k=3==a.Oc),d&&f.clear(k)):e=f.toString());c&&(a.ra.hc=!1,b=a.xa.power)&&(b.textContent="Power");a.C=0;return e}h.reset=function(){this.ja&&this.ja.reset&&(sb(this,"Resetting "+this.ja.type),this.ja.reset());for(var a=jb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ja&&c.reset&&(sb(this,"Resetting "+c.type),c.reset())}};
h.start=function(a,b){for(var c=jb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};h.stop=function(a,b){for(var c=jb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
h.Ub=function(a,b,c){var d=this;switch(b){case "power":return this.xa[b]=c,c.onclick=function(){d.C||(d.ra.hc?dr(d,!1,!0):nr(d,d.Xf))},!0;case "reset":return this.xa[b]=c,c.onclick=function(){if(d.ra.hc&&!d.C)if(d.Oc&&!d.Fg){var a=Ca("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");dr(d,a,!0);!a&&d.X?window&&window.location.reload():(a||(d.hh=!0),d.Xf(kr),d.hh=!1)}else d.reset(),d.M&&Zc(d.M)},!0;case "save":return this.xa[b]=c,c.onclick=
function(){var a=lr(d,!0);if(a){var b=!!(d.Oc&&!d.Fg||d.X),c=dr(d,b);b?rr(d,a,c):d.Ua("Resume disabled, machine state not saved")}},!0}return!1};function lr(a,b){var c=a.A;c||(c=Ga("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=sr(a,c))||a.Ua("The user ID is invalid."))):b&&a.Ua("Browser local storage is not available"));return c}
function sr(a,b){a.A=null;var c=za(Aa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ha("user",c.data),a.A=c.data)}catch(e){Ba(e.message+" ("+d+")")}return a.A}
function rr(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=er(a,mr);d.data=c;b=za(Aa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ua("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.Ua(c),Ha("user",""),a.A=null)}}
function Jb(a,b,c){a=jb(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}Sa(function(){for(var a=qb(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=mb(c),c=qb(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=mb(f),g=new jr(g,d,!0);pb(g,f);g.Y&&nr(g,g.Xf)}});Na.show.push(function(){for(var a=qb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=mb(a[b]);(c=lb("Computer",c.id))&&c.vi&&!c.ra.hc&&c.Xf(-1)}});
Na.exit.push(function(){for(var a=qb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=mb(a[b]);(c=lb("Computer",c.id))&&c.ra.hc&&dr(c,!(!c.Oc||c.Fg),!0)}});var tr=0;function ur(a,b,c,d,e,f){e("Loading "+a+"...");za(a,!0,null,null,function(g,k,q){q?(k||(k="unable to load "+a+" ("+q+")"),f(k,null)):vr(k,a,b,c,d,e,f)})}
function vr(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{if(c){var k=b;k&&0>k.indexOf("/")&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+k+'"}';a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),
k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(B){k=null,a=B.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,k)}}a?e?Fr(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Fr(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");za(e,!0,null,null,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var q=k[0],r,x=/( [a-z]+=)(['"])(.*?)\2/g;r=x.exec(f);)q=0>q.indexOf(r[1])?q.replace(">",r[0]+">"):q.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);k[0]!=q&&(g=g.replace(k[0],q))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Fr(a,b,c)}})}else c(a,null)}
function Gr(a,b,c,d){function e(a){if(void 0===k){var b=g&&qb(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);q&&(--tr||Ua(!0));q=!1}var g,k,q=!0;tr++;hb[a]={};try{if(g=document.getElementById(a)){c||(c="/versions/pcjs/1.20.9/components.xsl");var r=function(d,k){k?(ib(a,"xml",d),ur(c,null,null,!1,e,function(c,d){if(d)if(ib(a,"xsl",c),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var q=k.transformNode(d);q?(g.outerHTML=q,--tr||Ua(!0)):
f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(q=new XSLTProcessor,q.importStylesheet(d),(q=q.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(q,g),--tr||Ua(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(c)})):f(d)};"<"!=b.charAt(0)?ur(b,a,d,!0,e,r):vr(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(x){f(x.message)}return q}
window.embedPC=function(a,b,c,d){Ua(!1);return Gr(a,b,c,d)};window.savePC=function(a){var b=lb("Computer",a),c=lb("Debugger",a);if(b)return za("/versions/pcjs/null/pc"+(c?"-dbg":"")+".js"),!0;Ba("Unable to identify machine '"+a+"'");return!1};window.enableEvents=Ua;window.sendEvent=Wa;})();
h.Ub=function(a,b,c){var d=this;switch(b){case "power":return this.xa[b]=c,c.onclick=function(){d.C||(d.ra.hc?hr(d,!1,!0):rr(d,d.Xf))},!0;case "reset":return this.xa[b]=c,c.onclick=function(){if(d.ra.hc&&!d.C)if(d.Oc&&!d.Fg){var a=Ca("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");hr(d,a,!0);!a&&d.X?window&&window.location.reload():(a||(d.hh=!0),d.Xf(or),d.hh=!1)}else d.reset(),d.M&&Zc(d.M)},!0;case "save":return this.xa[b]=c,c.onclick=
function(){var a=pr(d,!0);if(a){var b=!!(d.Oc&&!d.Fg||d.X),c=hr(d,b);b?vr(d,a,c):d.Ua("Resume disabled, machine state not saved")}},!0}return!1};function pr(a,b){var c=a.A;c||(c=Ga("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=wr(a,c))||a.Ua("The user ID is invalid."))):b&&a.Ua("Browser local storage is not available"));return c}
function wr(a,b){a.A=null;var c=za(Aa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ha("user",c.data),a.A=c.data)}catch(e){Ba(e.message+" ("+d+")")}return a.A}
function vr(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ir(a,qr);d.data=c;b=za(Aa()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ua("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.Ua(c),Ha("user",""),a.A=null)}}
function Jb(a,b,c){a=jb(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}Sa(function(){for(var a=qb(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=mb(c),c=qb(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=mb(f),g=new nr(g,d,!0);pb(g,f);g.Y&&rr(g,g.Xf)}});Na.show.push(function(){for(var a=qb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=mb(a[b]);(c=lb("Computer",c.id))&&c.vi&&!c.ra.hc&&c.Xf(-1)}});
Na.exit.push(function(){for(var a=qb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=mb(a[b]);(c=lb("Computer",c.id))&&c.ra.hc&&hr(c,!(!c.Oc||c.Fg),!0)}});var xr=0;function yr(a,b,c,d,e,f){e("Loading "+a+"...");za(a,!0,null,null,function(g,k,q){q?(k||(k="unable to load "+a+" ("+q+")"),f(k,null)):zr(k,a,b,c,d,e,f)})}
function zr(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{if(c){var k=b;k&&0>k.indexOf("/")&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+k+'"}';a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),
k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(B){k=null,a=B.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,k)}}a?e?Jr(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Jr(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");za(e,!0,null,null,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var q=k[0],r,x=/( [a-z]+=)(['"])(.*?)\2/g;r=x.exec(f);)q=0>q.indexOf(r[1])?q.replace(">",r[0]+">"):q.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);k[0]!=q&&(g=g.replace(k[0],q))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Jr(a,b,c)}})}else c(a,null)}
function Kr(a,b,c,d){function e(a){if(void 0===k){var b=g&&qb(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);q&&(--xr||Ua(!0));q=!1}var g,k,q=!0;xr++;hb[a]={};try{if(g=document.getElementById(a)){c||(c="/versions/pcjs/1.20.9/components.xsl");var r=function(d,k){k?(ib(a,"xml",d),yr(c,null,null,!1,e,function(c,d){if(d)if(ib(a,"xsl",c),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var q=k.transformNode(d);q?(g.outerHTML=q,--xr||Ua(!0)):
f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(q=new XSLTProcessor,q.importStylesheet(d),(q=q.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(q,g),--xr||Ua(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(c)})):f(d)};"<"!=b.charAt(0)?yr(b,a,d,!0,e,r):zr(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(x){f(x.message)}return q}
window.embedPC=function(a,b,c,d){Ua(!1);return Kr(a,b,c,d)};window.savePC=function(a){var b=lb("Computer",a),c=lb("Debugger",a);if(b)return za("/versions/pcjs/null/pc"+(c?"-dbg":"")+".js"),!0;Ba("Unable to identify machine '"+a+"'");return!1};window.enableEvents=Ua;window.sendEvent=Wa;})();