Keyboard fix for MSIE (CAPS-LOCK)

This commit is contained in:
Jeff Parsons 2014-12-11 13:04:02 -08:00 committed by jeffpar
commit eef398a53c
5 changed files with 433 additions and 427 deletions

View file

@ -10,7 +10,7 @@ function wa(){if(null==va){var a;try{window.localStorage.setItem("PCjs.localStor
function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Aa(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Da(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,Ga=!0;function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ja(a){Ea.init.push(a)}
function Ka(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function La(a){!Ga&&a?(Ga=!0,Fa&&Ma("init")):Ga=a}function Ma(a){Ea[a]&&Ka(Ea[a])}Ha("onload",function(){Fa=!0;Ka(Ea.init)});Ha("onpageshow",function(){Ka(Ea.show)});Ha(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Ka(Ea.exit)});
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Ek=b.comment;this.rp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Xk=this.id.substr(0,b),this.Hh=this.id.substr(b+1)):this.Hh=this.id;this[a]=c;this.na={Ch:!1,Kc:!1,Hi:!1,Sb:!1,fd:!1};this.Ri=null;this.na.fd=!1;this.xa={};this.ka=null;this.Zb=d||-1;Na[Na.length]=this}var Oa=void 0,Pa={};
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Ek=b.comment;this.sp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Xk=this.id.substr(0,b),this.Hh=this.id.substr(b+1)):this.Hh=this.id;this[a]=c;this.na={Ch:!1,Kc:!1,Hi:!1,Sb:!1,fd:!1};this.Ri=null;this.na.fd=!1;this.xa={};this.ka=null;this.Zb=d||-1;Na[Na.length]=this}var Oa=void 0,Pa={};
if(window){Oa||(Oa=window.location.search.substr(1));for(var Qa,Ra=/\+/g,Sa=/([^&=]+)=?([^&]*)/g;Qa=Sa.exec(Oa);)Pa[decodeURIComponent(Qa[1].replace(Ra," "))]=decodeURIComponent(Qa[2].replace(Ra," "))}function Ta(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function Ua(a,b){b.prototype=Ta(a.prototype)}var Na=[];
function Xa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Na.length;b++){var d=Na[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ya(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Na.length;c++)if(Na[c].id===a)return Na[c]}return null}
function Za(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Na.length;d++)if(c)c==Na[d]&&(c=null);else if(!(a!=Na[d].type||b&&Na[d].id.indexOf(b)))return Na[d]}return null}function $a(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){w(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
@ -30,24 +30,24 @@ function xb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,
function Ab(a,b){if(void 0===b)return a.og=!a.og,a.og;void 0===a.zd[b]&&(a.zd[b]=[null,null,!1]);a.zd[b][2]=!a.zd[b][2];return a.zd[b][2]}function Bb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,n=c[e];if(void 0!==n)for(var l=e+d;l<=g;l++)void 0!==f.zd[l]?w("Output port "+r(l)+" registered by "+f.zd[l][0].id+", ignoring "+h.id):f.zd[l]=[h,n,!1,!1]}}
function Cb(a,b,c,d){var e=a.zd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.ka&&a.og!=e[2]&&Db(a.ka,b,c)):a.ka&&(cb(a.ka,a,b,c,d),a.og&&Db(a.ka,b,c))}function pb(a,b,c){w("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function mb(a,b,c,d){this.Km=b||0;this.ya=null;this.offset=0;this.Bh=c;this.ga=null;this.wb=this.Kk=!1;if(b)if(d)this.ga=d,a=[d.md,a-d.Wa],this.ya=a[0],this.offset=a[1],this.bf(d.Zf);else{this.ya=Array(b>>2);for(d=0;d<this.ya.length;d++)this.ya[d]=0;this.bf(Eb)}else this.bf()}
mb.prototype={Xh:function(){this.ka.ua(Fb)&&this.ka.message("attempt to read invalid block %"+p(this.ae)+" from "+ea(this.T.wa,this.T.va.ta));return 0},Pf:function(a,b){this.ka.ua(Fb)&&this.ka.message("attempt to write 0x"+r(b)+" to invalid block %"+p(this.ae),!0)},up:function(a){return this.ya[a>>2]>>>((a&3)<<3)&255},wp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},Gp:function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<<d)|b<<
d;this.wb=!0},Ip:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<<d)|b<<d:(this.ya[c]=this.ya[c]&16777215|b<<24,c++,this.ya[c]=this.ya[c]&4294967040|b>>8);this.wb=!0},tp:function(a){Gb(this.ka,this.ae+a);return this.Kg(a)},vp:function(a){Gb(this.ka,this.ae+a)||Gb(this.ka,this.ae+a+1);return this.Yj(a)},Fp:function(a,b){Hb(this.ka,this.ae+a);this.Qg(a,b)},Hp:function(a,b){Hb(this.ka,this.ae+a)||Hb(this.ka,this.ae+a+1);this.hk(a,b)},save:function(){return this.ga?null:this.ya},
mb.prototype={Xh:function(){this.ka.ua(Fb)&&this.ka.message("attempt to read invalid block %"+p(this.ae)+" from "+ea(this.T.wa,this.T.va.ta));return 0},Pf:function(a,b){this.ka.ua(Fb)&&this.ka.message("attempt to write 0x"+r(b)+" to invalid block %"+p(this.ae),!0)},vp:function(a){return this.ya[a>>2]>>>((a&3)<<3)&255},xp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},Hp:function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<<d)|b<<
d;this.wb=!0},Jp:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<<d)|b<<d:(this.ya[c]=this.ya[c]&16777215|b<<24,c++,this.ya[c]=this.ya[c]&4294967040|b>>8);this.wb=!0},up:function(a){Gb(this.ka,this.ae+a);return this.Kg(a)},wp:function(a){Gb(this.ka,this.ae+a)||Gb(this.ka,this.ae+a+1);return this.Yj(a)},Gp:function(a,b){Hb(this.ka,this.ae+a);this.Qg(a,b)},Ip:function(a,b){Hb(this.ka,this.ae+a)||Hb(this.ka,this.ae+a+1);this.hk(a,b)},save:function(){return this.ga?null:this.ya},
restore:function(a){return this.ga?null==a:a&&this.Km==a.length<<2?(this.ya=a,this.wb=!0):!1},bf:function(a,b){a||(a=[]);void 0===b&&(b=!0);Ib(this,a,b);Jb(this,a,b)},$d:function(a,b){b?0===this.Ck++&&Jb(this,Kb):0===this.Ak++&&Ib(this,Kb)}};function Lb(a,b){b?0===--a.Ck&&(a.Nc=a.Bh?a.Pf:a.Qg,a.ym=a.Bh?a.Pf:a.hk):0===--a.Ak&&(a.zc=a.Kg,a.km=a.Yj)}function lb(a,b,c,d,e){a.T=b;a.ka=c;a.ae=d;a.Ak=a.Ck=0;a.ka&&Mb(a.ka,d,e)}
function Jb(a,b,c){a.Nc=b[2]&&!a.Bh?b[2]:a.Pf;a.ym=b[3]&&!a.Bh?b[3]:a.Pf;c&&(a.Qg=b[2]?b[2]:a.Pf,a.hk=b[3]?b[3]:a.Pf)}function Ib(a,b,c){a.zc=b[0]?b[0]:a.Xh;a.km=b[1]?b[1]:a.Xh;c&&(a.Kg=b[0]?b[0]:a.Xh,a.Yj=b[1]?b[1]:a.Xh)}var Eb=[mb.prototype.up,mb.prototype.wp,mb.prototype.Gp,mb.prototype.Ip],Kb=[mb.prototype.tp,mb.prototype.vp,mb.prototype.Fp,mb.prototype.Hp];
function Nb(a,b){y.call(this,"CPU",a,Nb,Ob);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.sd=c;this.da.Od=d;this.da.Jh=Math.round(this.da.sd/1E4)/100;this.da.Ue=this.da.Jh*this.da.Od;this.na.Sb=!1;this.na.lb=!1;this.na.Oi=!1;this.na.Gi=a.autoStart;this.na.Lk=!1;c=Pa.autostart;void 0!==c&&(this.na.Gi="true"==c?!0:"false"==c?!1:null);this.na.sf=!1;this.da.rg=this.da.Df=0;this.da.sg=a.csStart;this.da.Cf=a.csInterval;this.da.Ef=a.csStop;var e=this;this.uo=function(){e.Ze()};B(this)}Ua(y,Nb);
k=Nb.prototype;k.wc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=ib(a,"Video");e&&(this.Di=function(){Pb(e)},this.Mc=function(){e.Mc()});this.oa=ib(a,"ChipSet");B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.fc=function(a,b){if(!b){if(a&&this.restore){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.ka?this.ka.$n():this.Z("No debugger detected")}this.na.Sb=!0;!Sb(this)&&this.ka&&Tb(this.ka);Ub(this);return!0};
function Jb(a,b,c){a.Nc=b[2]&&!a.Bh?b[2]:a.Pf;a.ym=b[3]&&!a.Bh?b[3]:a.Pf;c&&(a.Qg=b[2]?b[2]:a.Pf,a.hk=b[3]?b[3]:a.Pf)}function Ib(a,b,c){a.zc=b[0]?b[0]:a.Xh;a.km=b[1]?b[1]:a.Xh;c&&(a.Kg=b[0]?b[0]:a.Xh,a.Yj=b[1]?b[1]:a.Xh)}var Eb=[mb.prototype.vp,mb.prototype.xp,mb.prototype.Hp,mb.prototype.Jp],Kb=[mb.prototype.up,mb.prototype.wp,mb.prototype.Gp,mb.prototype.Ip];
function Nb(a,b){y.call(this,"CPU",a,Nb,Ob);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.sd=c;this.da.Od=d;this.da.Jh=Math.round(this.da.sd/1E4)/100;this.da.Ue=this.da.Jh*this.da.Od;this.na.Sb=!1;this.na.lb=!1;this.na.Oi=!1;this.na.Gi=a.autoStart;this.na.Lk=!1;c=Pa.autostart;void 0!==c&&(this.na.Gi="true"==c?!0:"false"==c?!1:null);this.na.sf=!1;this.da.rg=this.da.Df=0;this.da.sg=a.csStart;this.da.Cf=a.csInterval;this.da.Ef=a.csStop;var e=this;this.vo=function(){e.Ze()};B(this)}Ua(y,Nb);
k=Nb.prototype;k.wc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=ib(a,"Video");e&&(this.Di=function(){Pb(e)},this.Mc=function(){e.Mc()});this.oa=ib(a,"ChipSet");B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.fc=function(a,b){if(!b){if(a&&this.restore){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.ka?this.ka.ao():this.Z("No debugger detected")}this.na.Sb=!0;!Sb(this)&&this.ka&&Tb(this.ka);Ub(this);return!0};
k.ec=function(a){this.na.Sb=!1;return a&&this.save?this.save():!0};function Sb(a){return!0===a.na.Gi||null===a.na.Gi&&!a.ka&&void 0===a.xa.run?(a.Ze(),!0):!1}k.Mc=function(){};k.Tk=function(){return 0};function Rb(a){void 0===a.da.sg&&(a.da.sg=0);void 0===a.da.Cf&&(a.da.Cf=-1);void 0===a.da.Ef&&(a.da.Ef=-1);a.na.sf=0<=a.da.sg&&0<a.da.Cf;a.na.sf&&(a.da.rg=0,a.da.Df=a.da.sg-a.Ye)}
function Vb(a,b){if(a.na.sf){var c=!1;a.da.rg=a.da.rg+a.Tk()|0;a.da.Df-=b;0>=a.da.Df&&(a.da.Df+=a.da.Cf,c=!0);0<=a.da.Ef&&a.da.Ef<=D(a)&&(a.da.Cf=a.da.Ef=-1,Rb(a),a.Ib(),c=!0);c&&a.Z(D(a)+" cycles: checksum="+p(a.da.rg))}}function F(a,b,c,d){a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(gb(a,"Register "+b+" is invalid"),a.Ib()),c=!a.na.lb||a.na.Lk?p(c,d):"----".substr(0,d),a.xa[b].textContent!=c&&(a.xa[b].textContent=c))}k.sh=function(){};k.Di=function(){};
k.Hb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.xa[b]=c;c.onclick=function(){d.na.lb?d.Ib(!0):d.Ze(!0)};a=!0;break;case "reset":this.xa[b]=c;c.onclick=function(){d.Ma&&Xb(d.Ma)};a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){Yb(d,d.da.Od<<1,!0)},c.textContent=this.da.Ue.toFixed(2)+"Mhz",a=!0}return a};function Zb(a,b){if(a.na.lb){var c=a.A-b;a.A-=c;a.Vc-=c}}function $b(a,b,c){a.Ye+=b;c&&(a.Vc=a.A=0)}
function ac(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.da.Od&&a.da.oe&&(d=a.da.oe/a.da.Jh);a.da.al=Math.round(1E3/30);a.da.oo=Math.floor(a.da.sd/c*d);a.da.cj=Math.floor(a.da.sd/30*d);a.da.el=Math.floor(a.da.sd/60*d);a.da.dl=Math.floor(a.da.sd/2*d);b||(a.da.Ff=a.da.cj,a.da.ug=a.da.el,a.da.tg=a.da.dl);a.da.dj=0}function D(a,b){var c=a.Ye+a.se+a.Vc-a.A;b&&1<a.da.Od&&a.da.oe>a.da.Jh&&(c=Math.round(c/a.da.Od));return c}function Qb(a){a.da.oe=0;a.Ye=a.se=a.Vc=a.A=0;Rb(a);Yb(a,1)}
function ac(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.da.Od&&a.da.oe&&(d=a.da.oe/a.da.Jh);a.da.al=Math.round(1E3/30);a.da.po=Math.floor(a.da.sd/c*d);a.da.cj=Math.floor(a.da.sd/30*d);a.da.el=Math.floor(a.da.sd/60*d);a.da.dl=Math.floor(a.da.sd/2*d);b||(a.da.Ff=a.da.cj,a.da.ug=a.da.el,a.da.tg=a.da.dl);a.da.dj=0}function D(a,b){var c=a.Ye+a.se+a.Vc-a.A;b&&1<a.da.Od&&a.da.oe>a.da.Jh&&(c=Math.round(c/a.da.Od));return c}function Qb(a){a.da.oe=0;a.Ye=a.se=a.Vc=a.A=0;Rb(a);Yb(a,1)}
function Yb(a,b,c){if(void 0!==b){0.8>a.da.oe/a.da.Ue&&(b=1);a.da.Od=b;b=a.da.Jh*a.da.Od;if(a.da.Ue!=b){a.da.Ue=b;b=a.da.Ue.toFixed(2)+"Mhz";var d=a.xa.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.Mc()}$b(a,a.se);a.se=0;a.da.Af=oa();a.da.Ve=0;ac(a)}
k.Ze=function(a){if(db(this,!0)){if(!this.na.lb){Yb(this);this.Ma&&this.Ma.start(this.da.Af,D(this));this.na.lb=!0;this.na.Oi=!0;this.oa&&bc(this.oa);var b=this.xa.run;b&&(b.textContent="Halt");this.sh(!0);a&&this.Mc()}this.da.dj>=this.da.sd&&ac(this,!0);this.da.vg=0;this.da.Kh=oa();this.da.Ve&&(a=this.da.Kh-this.da.Ve,a>this.da.al&&(this.da.Af+=a,this.da.Af>this.da.Kh&&(this.da.Af=this.da.Kh)));try{do{var c=this.na.sf?1:this.da.oo;if(this.oa){cc(this.oa);var d=this.oa;a=c;var e=d.Kb[0];if(e.Se){var f=
k.Ze=function(a){if(db(this,!0)){if(!this.na.lb){Yb(this);this.Ma&&this.Ma.start(this.da.Af,D(this));this.na.lb=!0;this.na.Oi=!0;this.oa&&bc(this.oa);var b=this.xa.run;b&&(b.textContent="Halt");this.sh(!0);a&&this.Mc()}this.da.dj>=this.da.sd&&ac(this,!0);this.da.vg=0;this.da.Kh=oa();this.da.Ve&&(a=this.da.Kh-this.da.Ve,a>this.da.al&&(this.da.Af+=a,this.da.Af>this.da.Kh&&(this.da.Af=this.da.Kh)));try{do{var c=this.na.sf?1:this.da.po;if(this.oa){cc(this.oa);var d=this.oa;a=c;var e=d.Kb[0];if(e.Se){var f=
(D(d.T,d.ke)-e.jd)/d.Th|0,g=dc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Th|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.oa;a=c;if(n.ma&&n.ma[11]&64){var l=n.If-D(n.T,n.ke);0<l&&a>l&&(a=l)}c=a}this.Of(c);var t=this.Vc-this.A;this.se+=t;this.da.vg+=t;$b(this,0,!0);Vb(this,t);this.da.ug-=t;0>=this.da.ug&&(this.da.ug+=this.da.el,this.Di());this.da.tg-=t;0>=this.da.tg&&(this.da.tg+=this.da.dl,this.sh());this.da.Ff-=t;if(0>=this.da.Ff){this.da.Ff+=this.da.cj;break}}while(this.na.lb)}catch(s){this.Ib();Ub(this);
this.Ma&&this.Ma.stop(oa(),D(this));db(this,!1);gb(this,s.message);return}c=setTimeout;d=this.uo;this.da.Ve=oa();e=this.da.al;this.da.vg&&(e=Math.round(e*this.da.vg/this.da.cj));e-=this.da.Ve-this.da.Kh;if(f=this.da.Ve-this.da.Af)this.da.oe=Math.round(this.se/(10*f))/100,864E5<=f&&(this.Ye=0,this.oa&&cc(this.oa,!0),Yb(this));if(0>e||this.da.oe<this.da.Ue)e=0;this.da.dj+=this.da.vg;this.da.Ve+=e;c(d,e)}else Ub(this),this.Ma&&this.Ma.stop(oa(),D(this))};k.Of=function(){return 0};
this.Ma&&this.Ma.stop(oa(),D(this));db(this,!1);gb(this,s.message);return}c=setTimeout;d=this.vo;this.da.Ve=oa();e=this.da.al;this.da.vg&&(e=Math.round(e*this.da.vg/this.da.cj));e-=this.da.Ve-this.da.Kh;if(f=this.da.Ve-this.da.Af)this.da.oe=Math.round(this.se/(10*f))/100,864E5<=f&&(this.Ye=0,this.oa&&cc(this.oa,!0),Yb(this));if(0>e||this.da.oe<this.da.Ue)e=0;this.da.dj+=this.da.vg;this.da.Ve+=e;c(d,e)}else Ub(this),this.Ma&&this.Ma.stop(oa(),D(this))};k.Of=function(){return 0};
k.Ib=function(a){eb(this,!0);this.Vc-=this.A;this.A=0;$b(this,this.se);this.se=0;if(this.na.lb){this.na.lb=!1;this.oa&&bc(this.oa);var b=this.xa.run;b&&(b.textContent="Run")}this.na.kg=a};function Ub(a){a.Di();a.sh()}
var ec=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
0,0,1,1,0,1,0,0,1];function fc(a,b,c,d){this.T=a;this.ka=a.ka;this.id=b;this.Ng=c||"";this.Ga=this.ta=0;this.pc=65535;this.nb=0;this.Bd=-4;this.oc=this.bb=0;this.tk=this.id==gc?Array(32):[];this.Ii=null;this.Eh=!1;hc(this,d)}var gc=1;function ic(a){this.ta=a;return this.Ga=a<<4}function jc(a,b){var c,d,e=this.T;a&4?(c=e.Yc.Ga,d=c+e.Yc.pc):(c=e.Ec,d=e.Ce);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),kc(this,c,a,b);b||lc.call(e,13,a)}return-4}
function mc(a){var b=this.T;a=b.Rc+(a<<2);b.wa=b.ra(a);this.ta=b.ra(a+2);b.Ba&=-769;return this.Ga=this.ta<<4}function nc(a){var b=this.T;a<<=3;var c=b.Rc+a;if(c+7<=b.De)return kc(this,c,a);lc.call(b,13,a|3,!0);return-4}function oc(a){return this.Ga+a}function qc(a){return this.Ga+a}function rc(a,b,c){return a+b<=this.pc?this.Ga+a:tc.call(this,0,0,c)}function uc(a,b,c){return a+b>this.pc?this.Ga+a:tc.call(this,0,0,c)}function tc(a,b,c){c||lc.call(this.T,13,0);return-4}
function mc(a){var b=this.T;a=b.Rc+(a<<2);b.wa=b.ra(a);this.ta=b.ra(a+2);b.Ba&=-769;return this.Ga=this.ta<<4}function nc(a){var b=this.T;a<<=3;var c=b.Rc+a;if(c+7<=b.De)return kc(this,c,a);lc.call(b,13,a|3,!0);return-4}function oc(a){return this.Ga+a}function pc(a){return this.Ga+a}function rc(a,b,c){return a+b<=this.pc?this.Ga+a:sc.call(this,0,0,c)}function uc(a,b,c){return a+b>this.pc?this.Ga+a:sc.call(this,0,0,c)}function sc(a,b,c){c||lc.call(this.T,13,0);return-4}
function vc(a,b,c){return a+b<=this.pc?this.Ga+a:wc.call(this,0,0,c)}function xc(a,b,c){return a+b>this.pc?this.Ga+a:wc.call(this,0,0,c)}function wc(a,b,c){c||lc.call(this.T,13,0);return-4}
function yc(a,b){var c=this.T,d=c.gb.Ga,e=this.bb,f=c.gb.ta;if(!b){if(768!=c.gb.type)return lc.call(c,10,a,!0),!1;c.Ua(c.gb.Bd+4,c.gb.nb&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ga;if(b){if(768==c.gb.type)return lc.call(c,13,a,!0),!1;c.Ua(c.gb.Bd+4,c.gb.nb|=768);c.gb.type=768}c.Ua(d+14,c.wa);c.Ua(d+16,zc(c));c.Ua(d+18,c.H);c.Ua(d+20,c.J);c.Ua(d+22,c.K);c.Ua(d+24,c.C);c.Ua(d+26,c.Y);c.Ua(d+28,c.I);c.Ua(d+30,c.G);c.Ua(d+32,c.F);c.Ua(d+34,c.La.ta);c.Ua(d+36,c.va.ta);c.Ua(d+38,c.Ya.ta);c.Ua(d+
40,c.fb.ta);var d=38,h=26;Ac(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.J=c.ra(g+20);c.K=c.ra(g+22);c.C=c.ra(g+24);c.I=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.La.load(c.ra(g+34));c.fb.load(c.ra(g+40));Bc(c,c.ra(g+14),c.ra(g+36));this.bb<e&&(h=(this.bb<<2)+2,d=h+2);c.Y=c.ra(g+h);c.Ya.load(c.ra(g+d));c.Yc.load(c.ra(g+42));b&&c.Ua(g+0,f);c.gc|=8;return!0}function Cc(a,b,c){var d=a.T,e=d.ra(b+2),f=d.ra(b+0)|(e&255)<<16,d=d.ra(b+4);a.ta=c;a.Ga=f;a.pc=d;a.nb=e&65280;a.Bd=b;hc(a)}
@ -55,9 +55,9 @@ function kc(a,b,c,d){for(var e=a.T,f=e.ra(b+0),g=e.ra(b+4),h=g&7936,n=e.ra(b+2)|
v){d=a.bb;if(-4==a.load(b,!0)){n=-4;break}e.wa=f;if(a.bb<d){if(!0!==l){n=-4;break}s=e.Y;f=0;for(g&=31;g--;)a.tk[f++]=e.ra(e.Ya.Ic(s,1)),s+=2;g=e.gb.Ga;d=(a.bb<<2)+2;l=d+2;t=e.Y;b=e.Ya.ta;e.Y=e.ra(g+d);e.Ya.load(e.ra(g+l));G(e,b);for(G(e,t);f;)G(e,a.tk[--f]);a.Eh=!0}e.Ba&=u;return a.Ga}d||lc.call(e,13,t,!0);n=-4;break}else if(!1!==s){d||lc.call(e,13,c,!0);n=-4;break}}else if(2==a.id){if(l&&(4096>h||2048==(h&2560))){d||lc.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!l||4096>h||2048==(h&2560)){d||
lc.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!l||256!=h&&768!=h){d||lc.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768<h){n=-4;break}a.ta=c;a.Ga=n;a.pc=f;a.nb=g;a.type=h;a.Bd=b;hc(a);break}return n}fc.prototype.save=function(){return[this.ta,this.Ga,this.pc,this.nb,this.id,this.Ng,this.bb,this.oc,this.Bd]};
fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ta=a[0],this.Ga=a[1],this.pc=a[2],this.nb=a[3],this.id=a[4],this.Ng=a[5],this.bb=a[6],this.oc=a[7],this.Bd=a[8])};
function hc(a,b){void 0===b&&(b=!!(a.T.gc&1));if(b){a.load=jc;a.$k=nc;a.Ic=rc;a.$b=vc;if(a.nb&4096){6144==(a.nb&6656)&&(a.$b=tc);if(a.nb&2048||!(a.nb&512))a.$b=wc;1024==(a.nb&3072)&&(a.Ic==rc&&(a.Ic=uc),a.$b==vc&&(a.$b=xc))}a.bb=a.ta&3;a.oc=(a.nb&24576)>>13}else a.load=ic,a.$k=mc,a.Ic=oc,a.$b=qc,a.pc=65535,a.bb=a.oc=0,a.Bd=-4}
function hc(a,b){void 0===b&&(b=!!(a.T.gc&1));if(b){a.load=jc;a.$k=nc;a.Ic=rc;a.$b=vc;if(a.nb&4096){6144==(a.nb&6656)&&(a.$b=sc);if(a.nb&2048||!(a.nb&512))a.$b=wc;1024==(a.nb&3072)&&(a.Ic==rc&&(a.Ic=uc),a.$b==vc&&(a.$b=xc))}a.bb=a.ta&3;a.oc=(a.nb&24576)>>13}else a.load=ic,a.$k=mc,a.Ic=oc,a.$b=pc,a.pc=65535,a.bb=a.oc=0,a.Bd=-4}
function Dc(a){this.Ka=a.model||8088;var b=0;switch(this.Ka){default:case 8088:b=4772727;break;case 80286:b=6E6}Nb.call(this,a,b);this.mk=61442;this.Ug=1792;this.Tg=4;this.Jf=255;this.B=80286<=this.Ka?Ec:Fc;this.Za=Gc.slice();this.Fm=Hc.slice();this.Gm=Ic.slice();this.pk=Jc;80186<=this.Ka&&(this.Jf=31,this.Za[15]=Kc,this.Za[96]=Oc,this.Za[97]=Pc,this.Za[98]=Qc,this.Za[99]=Kc,this.Za[100]=Kc,this.Za[101]=Kc,this.Za[102]=Kc,this.Za[103]=Kc,this.Za[104]=Rc,this.Za[105]=Tc,this.Za[106]=Uc,this.Za[107]=
Vc,this.Za[108]=Wc,this.Za[109]=Xc,this.Za[110]=Yc,this.Za[111]=Zc,this.Za[192]=$c,this.Za[193]=ad,this.Za[200]=bd,this.Za[201]=cd,this.Za[241]=dd,this.Fm[7]=ed,this.Gm[7]=ed,80286<=this.Ka&&(this.mk=2,this.Ug|=28672,this.Tg=0,this.Za[15]=fd,this.Za[99]=gd,this.Za[84]=hd));this.Wg=[];this.Xg=[];this.Vc=this.oh=0;this.na.kg=this.na.Jk=!1;this.Ha=[];this.Ee=this.Eb=this.pb=this.Ie=0;this.U=this.Zm;this.V=this.$m;this.O=this.fo;this.P=this.ho;this.R=this.Cp;this.S=this.Dp;id(this)}Ua(Nb,Dc);
Vc,this.Za[108]=Wc,this.Za[109]=Xc,this.Za[110]=Yc,this.Za[111]=Zc,this.Za[192]=$c,this.Za[193]=ad,this.Za[200]=bd,this.Za[201]=cd,this.Za[241]=dd,this.Fm[7]=ed,this.Gm[7]=ed,80286<=this.Ka&&(this.mk=2,this.Ug|=28672,this.Tg=0,this.Za[15]=fd,this.Za[99]=gd,this.Za[84]=hd));this.Wg=[];this.Xg=[];this.Vc=this.oh=0;this.na.kg=this.na.Jk=!1;this.Ha=[];this.Ee=this.Eb=this.pb=this.Ie=0;this.U=this.$m;this.V=this.an;this.O=this.ho;this.P=this.io;this.R=this.Dp;this.S=this.Ep;id(this)}Ua(Nb,Dc);
var Fc={Tj:4,ca:5,Aa:6,ha:7,ia:8,Q:9,W:11,X:12,We:4,gl:60,hl:83,bc:3,Fb:9,qc:16,Qh:1,ll:19,nl:28,pl:16,ol:21,ml:37,jl:2,mj:9,kl:5,il:33,oj:10,nj:8,Ag:3,zg:15,Dl:51,El:1,Fl:2,Gl:4,Cl:32,pj:15,Il:15,cc:16,dc:4,Kl:11,Jl:18,Hl:24,Ob:4,Ll:2,qj:16,Ml:17,vj:18,Nl:19,uj:5,wj:6,Sl:2,Rl:8,Pl:9,Ql:10,Ol:10,xj:10,yj:10,rl:80,tl:144,ql:86,sl:154,vl:101,xl:165,ul:107,wl:171,Ul:70,Wl:113,Tl:76,Vl:124,zl:80,Bl:128,yl:86,Al:134,Cg:3,Bg:16,Dj:10,Cj:8,Xl:51,rc:8,Yl:17,Zl:36,xc:11,$l:16,Dg:10,re:2,jj:18,kj:7,lj:15,rj:12,
sj:7,tj:11,zj:18,Aj:7,Bj:15,Ej:15,Fj:7,Gj:13,Kj:11,Lj:7,Mj:8,am:8,dm:12,bm:18,cm:17,em:15,Ij:8,Hj:20,Jj:2,Pj:3,Eg:9,Oj:5,Nj:11,Rj:4,Qj:17,fm:11},Ec={Tj:0,ca:0,Aa:0,ha:0,ia:0,Q:0,W:1,X:1,We:3,gl:14,hl:16,bc:2,Fb:7,qc:7,Qh:0,ll:7,nl:13,pl:7,ol:11,ml:16,jl:3,mj:6,kl:2,il:13,oj:5,nj:5,Ag:2,zg:7,Dl:23,El:0,Fl:1,Gl:3,Cl:17,pj:7,Il:11,cc:7,dc:3,Kl:7,Jl:11,Hl:15,Ob:2,Ll:3,qj:7,Ml:8,vj:8,Nl:8,uj:4,wj:4,Sl:2,Rl:3,Pl:5,Ql:2,Ol:3,xj:5,yj:3,rl:14,tl:22,ql:17,sl:25,vl:17,xl:25,ul:20,wl:28,Ul:13,Wl:21,Tl:16,Vl:24,
zl:13,Bl:21,yl:16,Al:24,Cg:2,Bg:7,Dj:5,Cj:5,Xl:19,rc:5,Yl:5,Zl:17,xc:3,$l:5,Dg:3,re:0,jj:8,kj:5,lj:9,rj:5,sj:5,tj:4,zj:5,Aj:5,Bj:4,Ej:7,Fj:5,Gj:8,Kj:3,Lj:4,Mj:3,am:11,dm:11,bm:15,cm:15,em:7,Ij:5,Hj:8,Jj:0,Pj:2,Eg:6,Oj:3,Nj:6,Rj:3,Qj:5,fm:5};k=Dc.prototype;k.Xi=function(a,b,c,d,e){this.Ha=a;this.Ee=b;this.Eb=c;this.pb=d;this.Ie=e};k.reset=function(){this.na.lb&&this.Ib();id(this);Qb(this);this.na.fd=!1};
@ -72,8 +72,8 @@ function yd(a,b){a.Ea=a.va.Ga+(a.wa=a.wa+b&65535)}function zd(a){return a.aa&a.e
function Jd(a){a.la&=~a.ea;a.qa=a.la&32896|a.qa&-32897}function Kd(a){a.aa|=a.ea}function Ld(a){a.qa=~(a.la&16)&16|a.qa&-17}function Md(a){a.aa&=~(a.ea-1)}function Nd(a){Dd(a)||(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}function Od(a){a.la|=a.ea;a.qa=a.la&32896|a.qa&-32897}function zc(a){return a.Ba&-2262|zd(a)|Ad(a)|Bd(a)|Cd(a)|Dd(a)|Ed(a)}
function Ac(a,b,c){a.ea=256;a.aa=a.la=a.qa=0;b&1&&Kd(a);b&4||(a.la|=1);b&16&&(a.qa|=16);b&64||Hd(a);b&128&&Nd(a);b&2048&&Od(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.va.bb);c?b=b&-12289|a.Ba&12288:a.Hf=(b&12288)>>12;c>a.Hf&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&~a.Ug|b&a.Ug|a.mk;a.Ba&256&&(a.yb|=2,a.ba|=4)}
k.Hb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.xa[b]=c;d=!0;break;default:d=Nb.prototype.Hb.call(this,a,b,c)}return d};k.xb=function(a){return this.Ha[(a&this.Ee)>>this.Eb].zc(a&this.pb)};
k.ra=function(a){var b=a&this.pb;a=(a&this.Ee)>>this.Eb;this.A-=this.B.Tj;return b!=this.pb?this.Ha[a].km(b):this.Ha[a++].zc(b)|this.Ha[a&this.Ie].zc(0)<<8};k.Rd=function(a,b){this.Ha[(a&this.Ee)>>this.Eb].Nc(a&this.pb,b&255)};k.Ua=function(a,b){var c=a&this.pb,d=(a&this.Ee)>>this.Eb;this.A-=this.B.Tj;c!=this.pb?this.Ha[d].ym(c,b&65535):(this.Ha[d++].Nc(c,b&255),this.Ha[d&this.Ie].Nc(0,b>>8&255))};k.Zm=function(a,b){this.Pg=a;this.ja=a.Ic(this.Hg=b,0);return this.ba&1?0:this.xb(this.ja)};
k.$m=function(a,b){this.Pg=a;this.ja=a.Ic(this.Hg=b,1);return this.ba&1?0:this.ra(this.ja)};k.fo=function(a,b){this.Pg=a;this.Qa=this.ja=a.Ic(this.Hg=b,0);return this.ba&1?0:this.xb(this.ja)};k.ho=function(a,b){this.Pg=a;this.Qa=this.ja=a.Ic(this.Hg=b,1);return this.ba&1?0:this.ra(this.ja)};k.Cp=function(a){this.ba&2||this.Rd(this.Pg.$b(this.Hg,0),a)};k.Dp=function(a){this.ba&2||this.Ua(this.Pg.$b(this.Hg,1),a)};k.fa=function(){var a=this.xb(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a};
k.ra=function(a){var b=a&this.pb;a=(a&this.Ee)>>this.Eb;this.A-=this.B.Tj;return b!=this.pb?this.Ha[a].km(b):this.Ha[a++].zc(b)|this.Ha[a&this.Ie].zc(0)<<8};k.Rd=function(a,b){this.Ha[(a&this.Ee)>>this.Eb].Nc(a&this.pb,b&255)};k.Ua=function(a,b){var c=a&this.pb,d=(a&this.Ee)>>this.Eb;this.A-=this.B.Tj;c!=this.pb?this.Ha[d].ym(c,b&65535):(this.Ha[d++].Nc(c,b&255),this.Ha[d&this.Ie].Nc(0,b>>8&255))};k.$m=function(a,b){this.Pg=a;this.ja=a.Ic(this.Hg=b,0);return this.ba&1?0:this.xb(this.ja)};
k.an=function(a,b){this.Pg=a;this.ja=a.Ic(this.Hg=b,1);return this.ba&1?0:this.ra(this.ja)};k.ho=function(a,b){this.Pg=a;this.Qa=this.ja=a.Ic(this.Hg=b,0);return this.ba&1?0:this.xb(this.ja)};k.io=function(a,b){this.Pg=a;this.Qa=this.ja=a.Ic(this.Hg=b,1);return this.ba&1?0:this.ra(this.ja)};k.Dp=function(a){this.ba&2||this.Rd(this.Pg.$b(this.Hg,0),a)};k.Ep=function(a){this.ba&2||this.Ua(this.Pg.$b(this.Hg,1),a)};k.fa=function(){var a=this.xb(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a};
k.M=function(){var a=this.xb(this.Ea)<<24>>24;this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a&65535};k.L=function(){var a=this.ra(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+2&65535);return a};k.Pa=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ra(this.Ya.Ic(a,1))};function G(a,b){var c=a.Y=a.Y-2&65535;a.Ua(a.Ya.$b(c,1),b)}
k.sh=function(a){if(a||!this.na.lb||this.na.Lk)F(this,"AX",this.H),F(this,"BX",this.C),F(this,"CX",this.J),F(this,"DX",this.K),F(this,"SP",this.Y),F(this,"BP",this.I),F(this,"SI",this.G),F(this,"DI",this.F),F(this,"CS",this.va.ta),F(this,"DS",this.fb.ta),F(this,"SS",this.Ya.ta),F(this,"ES",this.La.ta),F(this,"IP",this.wa),a=zc(this),F(this,"PS",a),F(this,"C",a&1?1:0,1),F(this,"P",a&4?1:0,1),F(this,"A",a&16?1:0,1),F(this,"Z",a&64?1:0,1),F(this,"S",a&128?1:0,1),F(this,"T",a&256?1:0,1),F(this,"I",a&
512?1:0,1),F(this,"D",a&1024?1:0,1),F(this,"V",a&2048?1:0,1);if(a=this.xa.speed)a.textContent=this.na.lb&&this.da.oe?this.da.oe.toFixed(2)+"Mhz":"Stopped"};
@ -438,28 +438,28 @@ lc.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},K,K,K,K,Kc,K,K,K,K,K,K,K,K,K,K,K,
K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K],rd=[function(){this.A-=2+(0>this.ja?0:1);return this.Yc.ta},function(){this.A-=2+(0>this.ja?0:1);return this.gb.ta},function(a){this.ba|=2;this.Yc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.gb.load(a)&&(this.Ua(this.gb.Bd+4,this.gb.nb|=512),this.gb.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&2048!=(this.Tb.nb&2560)&&(this.Tb.oc>=this.va.bb&&
this.Tb.oc>=(a&3)||7168==(this.Tb.nb&7168)))return Md(this),a;Hd(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&512==(this.Tb.nb&2560)&&this.Tb.oc>=this.va.bb&&this.Tb.oc>=(a&3))return Md(this),a;Hd(this);return a},J,J],Jc=[ed,ed,ed,ed,ed,ed,J,J],pi=[function(a){0>this.ja?Kc.call(this):(a=this.Ce-this.Ec,this.Ua(this.ja+2,this.Ec),this.Ua(this.ja+4,65280|this.Ec>>16),this.A-=11);return a},function(a){0>this.ja?Kc.call(this):(a=this.De-this.Rc,this.Ua(this.ja+
2,this.Rc),this.Ua(this.ja+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.ja?Kc.call(this):(this.Ec=this.ra(this.ja+2)|this.xb(this.ja+4)<<16,this.Ce=this.Ec+a,this.ba|=2,this.A-=11);return a},function(a){0>this.ja?Kc.call(this):(this.Rc=this.ra(this.ja+2)|this.xb(this.ja+4)<<16,this.De=this.Rc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.gc},J,function(a){lf.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},J];
function M(a){y.call(this,"ChipSet",a,M,qi);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):ri;this.hc=0;var b=a.sw1;if(b)this.hc=si(b,ti|ui.Dm);else{this.Xd=[360,360];(b=a.floppies)&&b.length&&(this.Xd=b);if(b=this.Xd.length)this.hc|=vi.ii,b--,this.hc|=(b&3)<<vi.Sf;if(b=a.monitor||(this.Ka<wi?"mono":"ega"),void 0!==xi[b])this.hc|=xi[b]<<ui.Sf}this.ye=si(a.sw2||"11110000",0);this.eo=this.Ka==ri?16:64;this.mh=this.dg=1;this.Ka>=wi&&(this.mh=this.dg=2);this.ke=a.scaleTimers||!1;this.Bp=a.rtcDate;this.Rk=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ai=new window.webkitAudioContext);this.reset(!0);B(this)}Ua(y,M);var ri=5150,wi=5170,xi={none:0,tv:1,color:2,mono:3,ega:0},vi={ii:1,ONE:0,vq:64,tq:128,Tp:192,Rf:192,Sf:6},ti=12,ui={uq:16,Lp:32,Dm:48,Rf:48,Sf:4};k=M.prototype;
function M(a){y.call(this,"ChipSet",a,M,qi);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):ri;this.hc=0;var b=a.sw1;if(b)this.hc=si(b,ti|ui.Dm);else{this.Xd=[360,360];(b=a.floppies)&&b.length&&(this.Xd=b);if(b=this.Xd.length)this.hc|=vi.ii,b--,this.hc|=(b&3)<<vi.Sf;if(b=a.monitor||(this.Ka<wi?"mono":"ega"),void 0!==xi[b])this.hc|=xi[b]<<ui.Sf}this.ye=si(a.sw2||"11110000",0);this.fo=this.Ka==ri?16:64;this.mh=this.dg=1;this.Ka>=wi&&(this.mh=this.dg=2);this.ke=a.scaleTimers||!1;this.Cp=a.rtcDate;this.Rk=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ai=new window.webkitAudioContext);this.reset(!0);B(this)}Ua(y,M);var ri=5150,wi=5170,xi={none:0,tv:1,color:2,mono:3,ega:0},vi={ii:1,ONE:0,wq:64,uq:128,Up:192,Rf:192,Sf:6},ti=12,ui={vq:16,Mp:32,Dm:48,Rf:48,Sf:4};k=M.prototype;
k.Hb=function(a,b,c){switch(b){case "sw1":return this.xa[b]=c,yi(this,b,c,this.hc,{0:this.Ka==ri?"Bootable Floppy Drive":"Loop on POST",1:this.Ka==ri?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ka==ri)return this.xa[b]=c,yi(this,b,c,this.ye,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1};
k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.Oa=ib(a,"Keyboard");this.Th=c.da.sd/1193181;xb(b,this,zi);Bb(b,this,Ai);this.Ka<wi?(xb(b,this,Bi),Bb(b,this,Ci)):(xb(b,this,Di),Bb(b,this,Ei));if(d){var e=this;Fi(d,Qd,function(){for(var a=0;a<e.Wb.length;a++){for(var b=e.Wb[a],c="PIC"+a+":",d=0;d<b.Cc.length;d++)c+=" IC"+(d+1)+"="+q(b.Cc[d]);c+=" IMR="+q(b.nd)+" IRR="+q(b.Rb)+" ISR="+q(b.Fc)+" DELAY="+b.Gf;e.ka.Z(c)}});Fi(d,Gi,function(){for(var a=0;a<e.Kb.length;a++){Hi(e,a);var b=
e.Kb[a],c="TIMER"+a+":",d=0;if(null!=b.pd)for(var l=0;l<=b.pd;l++)d|=b.ab[l]<<8*l;c+=" mode="+b.mode+" bytes="+b.pd+" count="+r(d);e.ka.Z(c)}});Fi(d,Ii,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Ji(e,b):e.ma[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}kd(c,Ki,this,this.co)};k.fc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0};
e.Kb[a],c="TIMER"+a+":",d=0;if(null!=b.pd)for(var l=0;l<=b.pd;l++)d|=b.ab[l]<<8*l;c+=" mode="+b.mode+" bytes="+b.pd+" count="+r(d);e.ka.Z(c)}});Fi(d,Ii,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Ji(e,b):e.ma[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}kd(c,Ki,this,this.eo)};k.fc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.kd=this.hc;this.df=this.ye;Li(this);this.sb=Array(this.mh);for(b=0;b<this.mh;b++)Mi(this,b);this.Wb=Array(this.dg);Ni(this,0,32);1<this.dg&&Ni(this,1,160);this.xi=null;this.Kb=Array(3);for(b=0;b<this.Kb.length;b++)Oi(this,b);this.cg=this.vi=this.Gc=this.ih=null;this.hh=0;if(this.Ka>=wi){this.ob=16;this.Dd=0;this.Cd=16;this.dh=0;this.Fe=160;512<=Pi(this)&&(this.Fe|=16);3==Qi(this)&&(this.Fe|=64);this.si=3;this.ag=0;this.Yg=Array(7);this.Ge=0;a&&(this.ma=Array(64));Ri(this,
this.Bp);for(a=21;24>=a;a++)this.ma[a]=0;for(a=14;46>a;a++)void 0===this.ma[a]&&(this.ma[a]=0);this.ma[20]=this.kd&(ui.Rf|2|vi.ii|vi.Rf);this.ma[16]=Si(this,0)<<4|Si(this,1);Ti(this)}};
this.Cp);for(a=21;24>=a;a++)this.ma[a]=0;for(a=14;46>a;a++)void 0===this.ma[a]&&(this.ma[a]=0);this.ma[20]=this.kd&(ui.Rf|2|vi.ii|vi.Rf);this.ma[16]=Si(this,0)<<4|Si(this,1);Ti(this)}};
function Ri(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Z("CMOS date invalid ("+b+"), using "+c)):b&&a.Z("CMOS date: "+c);a.ma[0]=c.getSeconds();a.ma[1]=0;a.ma[2]=c.getMinutes();a.ma[3]=0;a.ma[4]=c.getHours();a.ma[5]=0;a.ma[6]=c.getDay()+1;a.ma[7]=c.getDate();a.ma[8]=c.getMonth()+1;c=c.getFullYear();a.ma[9]=c%100;c/=100;a.ma[50]=c%10|c/10<<4;a.ma[10]=38;a.ma[11]=2;a.ma[12]=0;a.ma[13]=128;a.Fg=a.If=0;a.gm=a.Rh=null}
function Ji(a,b){var c=a.ma[b];if(10>b){var d=!1;4!=b&&5!=b||a.ma[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ma[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.ma[b]^=128);return c}function Ui(a){var b;void 0===b&&(b=a.Rh);a.If=D(a.T,a.ke)+b;a.ma[11]&64&&Zb(a.T,b)}function Ti(a){for(var b=0,c=16;46>c;c++)b+=a.ma[c];a.ma[47]=b&255;a.ma[46]=b>>8}
k.save=function(){var a=new sd(this);a.set(0,[this.hc,this.ye,this.kd,this.df]);for(var b=[],c=0;c<this.sb;c++){for(var d=this.sb[c],e=d,f=[],g=0;g<e.Qb.length;g++){var h=e.Qb[g];f[g]=[h.Nd,h.$g,h.ic,h.ib,h.ab,h.mode,h.jh,h.xp,h.yp]}b[c]=[d.ee,d.ti,d.wk,d.vb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Wb.length;c++)d=this.Wb[c],b[c]=[d.Gf,d.Cc,d.Pd,d.nd,d.Rb,d.Fc,d.He,d.bg];a.set(2,[b]);b=[];for(c=0;c<this.Kb.length;c++)d=this.Kb[c],b[c]=[d.ic,d.Jc,d.ab,d.Oe,d.yk,d.mode,d.bi,d.he,d.pd,d.rd,d.mg,d.Se,d.jd];
k.save=function(){var a=new sd(this);a.set(0,[this.hc,this.ye,this.kd,this.df]);for(var b=[],c=0;c<this.sb;c++){for(var d=this.sb[c],e=d,f=[],g=0;g<e.Qb.length;g++){var h=e.Qb[g];f[g]=[h.Nd,h.$g,h.ic,h.ib,h.ab,h.mode,h.jh,h.yp,h.zp]}b[c]=[d.ee,d.ti,d.wk,d.vb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Wb.length;c++)d=this.Wb[c],b[c]=[d.Gf,d.Cc,d.Pd,d.nd,d.Rb,d.Fc,d.He,d.bg];a.set(2,[b]);b=[];for(c=0;c<this.Kb.length;c++)d=this.Kb[c],b[c]=[d.ic,d.Jc,d.ab,d.Oe,d.yk,d.mode,d.bi,d.he,d.pd,d.rd,d.mg,d.Se,d.jd];
a.set(3,[this.xi,b]);a.set(4,[this.ih,this.Gc,this.vi,this.cg,this.hh]);this.Ka>=wi&&(a.set(5,[this.ob,this.Dd,this.Cd,this.dh,this.Fe,this.si]),a.set(6,[this.ag,this.Yg,this.Ge,this.ma,this.Fg,this.If]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.hc=b[0];this.ye=b[1];this.kd=b[2];this.df=b[3];b=a[1];for(c=0;c<this.mh;c++)Mi(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.dg;c++)Ni(this,c,0===c?32:160,b[0][c]);b=a[3];this.xi=b[0];for(c=0;c<this.Kb.length;c++)Oi(this,c,b[1][c]);b=a[4];this.ih=b[0];this.Gc=b[1];this.vi=b[2];this.cg=b[3];this.hh=b[4];if(b=a[5])this.ob=b[0],this.Dd=b[1],this.Cd=b[2],this.dh=b[3],this.Fe=b[4],this.si=b[5];if(b=a[6])this.ag=b[0],this.Yg=b[1],this.Ge=b[2],this.ma=b[3],
this.Fg=b[4],this.If=b[5],Ri(this);return!0};var Vi=[0,null,null,0,Array(4)];function Mi(a,b,c){var d=a.sb[b];d||(d={Qb:Array(4)});c=c&&5==c.length?c:Vi;d.ee=c[0];d.ti=c[1];d.wk=c[2];d.vb=c[3];d.mo=b<<2;for(var e=0;e<d.Qb.length;e++)Wi(d,e,c[4][e]);a.sb[b]=d}var Xi=[!0,[0,0],[0,0],[0,0],[0,0]];
function Wi(a,b,c){var d=a.Qb[b];d||(d={$g:[0,0],ic:[0,0],ib:[0,0],ab:[0,0]});c=c&&8==c.length?c:Xi;d.Nd=c[0];d.$g[0]=c[1][0];d.$g[1]=c[1][1];d.ic[0]=c[2][0];d.ic[1]=c[2][1];d.ib[0]=c[3][0];d.ib[1]=c[3][1];d.ab[0]=c[4][0];d.ab[1]=c[4][1];d.mode=c[5];d.jh=c[6];d.ga=a;d.Wk=b;Yi(d,c[8],c[9]);a.Qb[b]=d}function Yi(a,b,c,d){"string"==typeof b&&(b=Ya(b));b&&(a.th=null,a.xp=b.id,a.yp=c,a.rh=b,a.Si=b[c],a.Uh=d)}var Zi=[0,Array(4)];
function Ni(a,b,c,d){var e=a.Wb[b];e||(e={Cc:[null,null,null,null]});d=d&&8==d.length?d:Zi;e.port=c;e.Sq=b<<3;e.Gf=d[0];e.Cc[0]=d[1][0];e.Cc[1]=d[1][1];e.Cc[2]=d[1][2];e.Cc[3]=d[1][3];e.Pd=d[2];e.nd=d[3];e.Rb=d[4];e.Fc=d[5];e.He=d[6];e.bg=d[7];a.Wb[b]=e}var $i=[[0,0],[0,0],[0,0],[0,0]];
function Oi(a,b,c){var d=a.Kb[b];d||(d={ic:[0,0],Jc:[0,0],ab:[0,0],Oe:[0,0]});c=c&&13==c.length?c:$i;d.ic[0]=c[0][0];d.ic[1]=c[0][1];d.Jc[0]=c[1][0];d.Jc[1]=c[1][1];d.ab[0]=c[2][0];d.ab[1]=c[2][1];d.Oe[0]=c[3][0];d.Oe[1]=c[3][1];d.yk=c[4];d.mode=c[5];d.bi=c[6];d.he=c[7];d.pd=c[8];d.rd=c[9];d.mg=c[10];d.Se=c[11];d.jd=c[12];a.Kb[b]=d}function Pi(a,b){return((((b?a.hc:a.kd)&12)>>2)+1)*a.eo+32*((b?a.ye:a.df)&15)}function aj(a,b){var c=b?a.hc:a.kd;return a.Ka!=ri||c&vi.ii?((c&vi.Rf)>>vi.Sf)+1:0}
this.Fg=b[4],this.If=b[5],Ri(this);return!0};var Vi=[0,null,null,0,Array(4)];function Mi(a,b,c){var d=a.sb[b];d||(d={Qb:Array(4)});c=c&&5==c.length?c:Vi;d.ee=c[0];d.ti=c[1];d.wk=c[2];d.vb=c[3];d.no=b<<2;for(var e=0;e<d.Qb.length;e++)Wi(d,e,c[4][e]);a.sb[b]=d}var Xi=[!0,[0,0],[0,0],[0,0],[0,0]];
function Wi(a,b,c){var d=a.Qb[b];d||(d={$g:[0,0],ic:[0,0],ib:[0,0],ab:[0,0]});c=c&&8==c.length?c:Xi;d.Nd=c[0];d.$g[0]=c[1][0];d.$g[1]=c[1][1];d.ic[0]=c[2][0];d.ic[1]=c[2][1];d.ib[0]=c[3][0];d.ib[1]=c[3][1];d.ab[0]=c[4][0];d.ab[1]=c[4][1];d.mode=c[5];d.jh=c[6];d.ga=a;d.Wk=b;Yi(d,c[8],c[9]);a.Qb[b]=d}function Yi(a,b,c,d){"string"==typeof b&&(b=Ya(b));b&&(a.th=null,a.yp=b.id,a.zp=c,a.rh=b,a.Si=b[c],a.Uh=d)}var Zi=[0,Array(4)];
function Ni(a,b,c,d){var e=a.Wb[b];e||(e={Cc:[null,null,null,null]});d=d&&8==d.length?d:Zi;e.port=c;e.Tq=b<<3;e.Gf=d[0];e.Cc[0]=d[1][0];e.Cc[1]=d[1][1];e.Cc[2]=d[1][2];e.Cc[3]=d[1][3];e.Pd=d[2];e.nd=d[3];e.Rb=d[4];e.Fc=d[5];e.He=d[6];e.bg=d[7];a.Wb[b]=e}var $i=[[0,0],[0,0],[0,0],[0,0]];
function Oi(a,b,c){var d=a.Kb[b];d||(d={ic:[0,0],Jc:[0,0],ab:[0,0],Oe:[0,0]});c=c&&13==c.length?c:$i;d.ic[0]=c[0][0];d.ic[1]=c[0][1];d.Jc[0]=c[1][0];d.Jc[1]=c[1][1];d.ab[0]=c[2][0];d.ab[1]=c[2][1];d.Oe[0]=c[3][0];d.Oe[1]=c[3][1];d.yk=c[4];d.mode=c[5];d.bi=c[6];d.he=c[7];d.pd=c[8];d.rd=c[9];d.mg=c[10];d.Se=c[11];d.jd=c[12];a.Kb[b]=d}function Pi(a,b){return((((b?a.hc:a.kd)&12)>>2)+1)*a.fo+32*((b?a.ye:a.df)&15)}function aj(a,b){var c=b?a.hc:a.kd;return a.Ka!=ri||c&vi.ii?((c&vi.Rf)>>vi.Sf)+1:0}
function Si(a,b){if(b<aj(a)){if(!a.Xd)return 1;if(b<a.Xd.length)switch(a.Xd[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 Qi(a,b){return((b?a.hc:a.kd)&ui.Rf)>>ui.Sf}
function yi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=z(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)null!=e&&null!=e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),bj(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");bj(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.hc=
a.hc&~e|(c?0:e);break;case "sw2":a.ye=a.ye&~e|(c?0:e)}Li(a)}}(a,b[g])}function bj(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Li(a){var b=a.xa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Pi(a,!0)+"Kb");d+=", "+c[Qi(a,!0)]+" Monitor";d+=", "+aj(a,!0)+" Floppy Drives";if(null!=a.kd&&a.kd!=a.hc||null!=a.df&&a.df!=a.ye)d+=" (Reset required)";b.textContent=d}}
function cj(a,b,c,d,e){var f=a.sb[b],g=f.Qb[c],h=g.ib[f.vb];a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.vb+"]",h,!0);f.vb^=1;b||0!=c||f.vb||(g.ib[0]++,255<g.ib[0]&&(g.ib[0]=0,g.ib[1]++,255<g.ib[1]&&(g.ib[1]=0)));return h}function ej(a,b,c,d,e,f){var g=a.sb[b];a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.vb+"]",null,!0);a=g.Qb[c];a.ib[g.vb]=a.$g[g.vb]=e;g.vb^=1}
function fj(a,b,c,d,e){var f=a.sb[b],g=f.Qb[c],h=g.ab[f.vb];a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.vb+"]",h,!0);f.vb^=1;b||0!=c||f.vb||(g.ab[0]--,0>g.ab[0]&&(g.ab[0]=255,g.ab[1]--,0>g.ab[1]&&(g.ab[1]=255)));return h}function gj(a,b,c,d,e,f){var g=a.sb[b];a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.vb+"]",null,!0);a=g.Qb[c];a.ab[g.vb]=a.ic[g.vb]=e;g.vb^=1}function hj(a,b,c,d){var e=a.sb[b],f=e.ee|1;e.ee&=-16;a.ua(dj|N)&&A(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function ij(a,b,c,d,e){var f=a.sb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.ee=f.ee&~(16<<a)|(d&4)<<a+2;f.wk=d}function jj(a,b,c,d,e){var f=a.sb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Qb[b];c.Nd=!!(d&4);c.Nd||kj(a,f.mo+b)}function lj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MODE",null,!0);a.sb[b].Qb[d&3].mode=d}function mj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".RESET_FF",null,!0);a.sb[b].vb=0}
function ij(a,b,c,d,e){var f=a.sb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.ee=f.ee&~(16<<a)|(d&4)<<a+2;f.wk=d}function jj(a,b,c,d,e){var f=a.sb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Qb[b];c.Nd=!!(d&4);c.Nd||kj(a,f.no+b)}function lj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MODE",null,!0);a.sb[b].Qb[d&3].mode=d}function mj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".RESET_FF",null,!0);a.sb[b].vb=0}
function nj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.sb[b];for(b=0;b<a.Qb.length;b++)Wi(a,b)}function oj(a,b,c,d,e){var f=a.sb[b].Qb[c].jh;a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function pj(a,b,c,d,e,f){a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.sb[b].Qb[c].jh=e}function qj(a,b,c,d){var e=a.Yg[b];a.ua(dj|N)&&A(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function rj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Yg[b]=d}function sj(a,b,c,d,e){Yi(a.sb[b>>2].Qb[b&3],c,d,e)}function kj(a,b,c){b=a.sb[b>>2].Qb[b&3];b.rh&&b.Si&&b.Uh?(c&&(b.th=c),b.Nd||Vd(a,b,!0)):c&&c(!0)}
function Vd(a,b,c){c&&(b.count=b.ab[1]<<8|b.ab[0],b.zm=b.mode&12,b.Sk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.jh<<16|b.ib[1]<<8|b.ib[0],4==b.zm?(d=!0,function(c){b.Si.call(b.rh,b.Uh,-1,function(f,g){0>f&&(b.Sk||(b.Sk=!0),f=255);b.Nd||tb(a.sa,c,f);(d=g)&&setTimeout(function(){tj(b)||Vd(a,b)},0)})}(c)):8==b.zm?(c=rb(a.sa,c),0>b.Si.call(b.rh,b.Uh,c)&&(b.fd=!0)):b.fd=!0),!d&&!tj(b););}
@ -468,39 +468,39 @@ function vj(a,b,c,d){var e=a.Wb[b];a.ua(Qd|N|qi)&&A(a,e.port,c,d,"PIC"+b,null,!0
function yj(a,b,c,d){var e=a.Wb[b];a.ua(Qd|N|qi)&&A(a,e.port+1,c,d,"PIC"+b,null,!0);e.Pd<e.Cc.length?(e.Cc[e.Pd++]=c,2==e.Pd&&e.Cc[0]&2&&e.Pd++,3!=e.Pd||e.Cc[0]&1||e.Pd++):(e.nd=c,d=a.T,d.ba|=4,wj(a,b||253!=c?0:6))}function zj(a,b,c){var d=a.Wb[b>>3];b=1<<(b&7);d.Rb&b||(d.Rb|=b,d.Gf=c||0,wj(a))}function Aj(a,b){var c=a.Wb[b>>3],d=1<<(b&7);c.Rb&d&&(c.Rb&=~d,wj(a))}
function wj(a,b){var c,d=-1;1<a.dg&&(c=a.Wb[1],d=~(c.Fc|c.nd)&c.Rb);c=a.Wb[0];0<=d&&(c.Rb=d?c.Rb|4:c.Rb&-5);var d=~(c.Fc|c.nd)&c.Rb,e=a.T;e.oa&&(e.yb=d?e.yb|1:e.yb&-2);d&&b&&(c.Gf=b)}function Rd(a,b){void 0===b&&(b=0);var c=-1,d=a.Wb[b];if(d.Gf)c=-2,d.Gf--;else for(var e=d.Rb&((d.Fc|d.nd)^255),f=d.He+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Cc[1]+f:Rd(a,1);0<=c&&(d.Fc|=g,d.Rb&=~g);break}if(f++==d.He)break}return c}
function Bj(a,b,c){var d;d=a.Kb[b];d.he==d.pd&&Cj(a,b);if(d.mg)return d.Oe[d.he++];Hi(a,b);d=d.ab[d.he++];a.ua(Gi|N)&&A(a,64+b,null,c,"TIMER"+b,d,!0);return d}function Dj(a,b,c,d){a.ua(Gi|N)&&A(a,64+b,c,d,"TIMER"+b,null,!0);d=a.Kb[b];d.he==d.pd&&Cj(a,b);d.ic[d.he++]=c;d.he==d.pd&&(d.Se&&0!=d.mode&&8!=d.mode||(d.mg=!1,d.ab[0]=d.Jc[0]=d.ic[0],d.ab[1]=d.Jc[1]=d.ic[1],d.jd=D(a.T,a.ke),d.Se=!0,d.rd=0!=d.mode,0==b&&(Aj(a,0),c=Ej(a,0)*a.Th|0,6==d.mode&&(c>>=1),Zb(a.T,c))),2==b&&bc(a))}k=M.prototype;
k.Wn=function(a,b){A(this,a,null,b,"TIMER_CTRL",null,Gi);return null};k.mp=function(a,b,c){this.xi=b;A(this,a,b,c,"TIMER_CTRL",null,Gi);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Kb[a];e.bi=b;e.mode=d;e.yk=c;e.ic=[0,0];e.ab=[0,0];e.Oe=[0,0];e.rd=!1;e.mg=!1;e.Se=!1;Cj(this,a);0==a&&Aj(this,0);2==a&&255==this.Wb[0].nd&&77==this.Gc&&(a=this.Kb[0],a.Jc[0]=a.ic[0],a.Jc[1]=a.ic[1],a.jd=D(this.T,this.ke))}else Hi(this,a),b=this.Kb[a],b.Oe[0]=b.ab[0],b.Oe[1]=b.ab[1],b.mg=!0,Cj(this,a)}};
k.Xn=function(a,b){A(this,a,null,b,"TIMER_CTRL",null,Gi);return null};k.np=function(a,b,c){this.xi=b;A(this,a,b,c,"TIMER_CTRL",null,Gi);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Kb[a];e.bi=b;e.mode=d;e.yk=c;e.ic=[0,0];e.ab=[0,0];e.Oe=[0,0];e.rd=!1;e.mg=!1;e.Se=!1;Cj(this,a);0==a&&Aj(this,0);2==a&&255==this.Wb[0].nd&&77==this.Gc&&(a=this.Kb[0],a.Jc[0]=a.ic[0],a.Jc[1]=a.ic[1],a.jd=D(this.T,this.ke))}else Hi(this,a),b=this.Kb[a],b.Oe[0]=b.ab[0],b.Oe[1]=b.ab[1],b.mg=!0,Cj(this,a)}};
function Ej(a,b){var c=a.Kb[b],d=c.ic[1]<<8|c.ic[0];d||(d=1==c.pd?256:65536);return d}function dc(a,b){var c=a.Kb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.pd?256:65536);return d}function Cj(a,b){var c=a.Kb[b];c.he=32==c.bi?1:0;c.pd=48==c.bi?2:1}
function Hi(a,b,c){var d=a.Kb[b];if(d.Se&&(2!=b||a.Gc&1)){var e=D(a.T,a.ke),f=(e-d.jd)/a.Th|0;0>f&&(d.jd=e,f=0);var g=Ej(a,b),h=dc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.rd=!0,d.Se=!1,b||zj(a,0))):4==d.mode?(d.rd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&zj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.rd=!d.rd,h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&zj(a,0)));d.ab[0]=h&255;d.ab[1]=h>>8;c&&(a.jd=0)}return d}
function cc(a,b){for(var c=0;c<a.Kb.length;c++)Hi(a,c,b);if(a.Ka>=wi){var c=a.T.da.sd,d=D(a.T,a.ke);null==a.Rh&&(a.Fg=D(a.T,a.ke),a.gm=1024,a.Rh=Math.floor(a.T.da.sd/a.gm),Ui(a));d>=a.If&&(a.ma[12]|=64,a.ma[11]&64&&(a.ma[12]|=128,zj(a,8)),a.If=d+a.Rh);a.ma[0]==a.ma[1]&&a.ma[2]==a.ma[3]&&a.ma[4]==a.ma[5]&&(a.ma[12]|=32,a.ma[11]&32&&(a.ma[12]|=128,zj(a,8)));var e=d-a.Fg,f=Math.floor(e/c);if(f&&!(a.ma[11]&128)){for(;f--;)if(60<=++a.ma[0]&&(a.ma[0]=0,60<=++a.ma[2]&&(a.ma[2]=0,24<=++a.ma[4]))){a.ma[4]=
0;a.ma[6]=a.ma[6]%7+1;var g;g=a.ma[9];var h=ra[a.ma[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ma[7]>g&&(a.ma[7]=1,12<++a.ma[8]&&(a.ma[8]=1,a.ma[9]=(a.ma[9]+1)%100))}a.ma[12]|=16;a.ma[11]&16&&(a.ma[12]|=128,zj(a,8))}a.Fg=d-e%c}}k.On=function(a,b){var c=this.ih;if(this.cg&16)if(this.Gc&128)c=this.kd;else if(this.Oa){var c=this.Oa,d=0;c.Xb.length&&(d=c.Xb[0]);c.ua()&&c.cb("scan code 0x"+q(d)+" delivered");c=d}A(this,a,null,b,"PPI_A",c);return c};
k.fp=function(a,b,c){A(this,a,b,c,"PPI_A");this.ih=b};k.Pn=function(a,b){var c=this.Gc;A(this,a,null,b,"PPI_B",c);return c};k.gp=function(a,b,c){A(this,a,b,c,"PPI_B");Fj(this,b);this.Oa&&Gj(this.Oa,b&128?!1:!0,b&64?!0:!1)};function Fj(a,b){var c=!!(b&2),d=!!(a.Gc&2);a.Gc=b;c!=d&&bc(a,c)}k.Qn=function(a,b){var c=0,c=this.Ka==ri?this.Gc&4?c|this.df&15:c|this.df>>4&1:this.Gc&8?c|this.kd>>4:c|this.kd&15;this.Gc&1&&Hi(this,2).rd&&(c=this.Gc&2?c|32:c|16);A(this,a,null,b,"PPI_C",c,qi|Fb);return c};
k.hp=function(a,b,c){A(this,a,b,c,"PPI_C");this.vi=b};k.Rn=function(a,b){var c=this.cg;A(this,a,null,b,"PPI_CTRL",c);return c};k.ip=function(a,b,c){A(this,a,b,c,"PPI_CTRL");this.cg=b};k.dn=function(a,b){var c=this.dh;A(this,a,null,b,"8042_OUTBUFF",c,Hj);this.ob&=-258;this.Oa&&Ij(this.Oa);return c};
k.xo=function(a,b,c){A(this,a,b,c,"8042_INBUF.DATA",null,Hj);if(this.ob&8)switch(this.Dd){case 96:Jj(this,b);break;case 209:Kj(this,b);break;default:if(Jj(this,this.Cd&-17),this.Oa){a=-1;switch(b){case 255:a=250,Lj(this.Oa)}Mj(this,a)}}this.Dd=b;this.ob&=-9};k.en=function(a,b){var c=this.Gc&-209|(D(this.T)&64?16:0);A(this,a,null,b,"8042_RWREG",c,Hj);return c};k.yo=function(a,b,c){A(this,a,b,c,"8042_RWREG",null,Hj);Fj(this,b)};
k.fn=function(a,b){A(this,a,null,b,"8042_STATUS",this.ob,Hj);var c=this.ob&255;this.ob&256&&(this.ob|=1,this.ob&=-257);return c};
k.wo=function(a,b,c){A(this,a,b,c,"8042_INBUFF.CMD",null,Hj);this.Dd=b;this.ob|=8;a=0;240<=this.Dd&&(a=this.Dd^15,this.Dd=240);switch(this.Dd){case 192:Mj(this,this.Fe);break;case 173:Jj(this,this.Cd|16);break;case 174:Jj(this,this.Cd&-17);this.Oa&&Ij(this.Oa);break;case 170:this.Oa&&(a=this.Oa,a.Xb=[],a.ua()&&a.cb("scan codes flushed"));Jj(this,this.Cd|16);Mj(this,85);Kj(this,3);break;case 224:Mj(this,this.Cd&16?0:1);break;case 240:a&1&&id(this.T)}};
function Jj(a,b){a.Cd=b;a.ob=a.ob&-5|b&4;a.Oa&&Gj(a.Oa,!!(b&8),!(b&16))}function Mj(a,b){0<=b&&(a.dh=b,a.ob&=-2,a.ob|=256)}function Kj(a,b){a.si=b;nb(a.sa,!!(b&2));b&1||id(a.T)}function Nj(a,b){a.Ka<wi?zj(a,1,4):a.Cd&16||a.ob&257||(Mj(a,b),Oj(a.Oa),zj(a,1,120))}k.un=function(a,b){A(this,a,null,b,"CMOS.ADDR",this.Ge,Ii);return this.Ge};k.Mo=function(a,b,c){A(this,a,b,c,"CMOS.ADDR",null,Ii);this.Ge=b;this.hh=b&128?0:128};
k.vn=function(a,b){var c=this.Ge&63,d=13>=c?Ji(this,c):this.ma[c];this.ua(Ii|N)&&A(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.ma[c]&=15,d&128&&Aj(this,8),d&64&&this.ma[11]&64&&Ui(this));return d};
k.No=function(a,b,c){var d=this.Ge&63;this.ua(Ii|N)&&A(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.ma[d];if(13>=d){if(c=b,10>d){var e=!1;this.ma[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.ma[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ma[d]=c;11==d&&a&64&&b&64&&Ui(this)};k.Mn=function(a,b){A(this,a,null,b,"MFG_DATA",this.ag);return this.ag};k.cp=function(a,b,c){A(this,a,b,c,"MFG_DATA");this.ag=b};
k.ep=function(a,b,c){A(this,a,b,c,"NMI");this.hh=b};k.Oo=function(a,b,c){A(this,a,b,c,"COPROC.CLEAR")};k.Po=function(a,b,c){A(this,a,b,c,"COPROC.RESET")};
k.co=function(a){if(this.ua(Pj)&&nd(this.ka,Ki,a)){var b=this.T.H>>8;od(this.T,a,function(a,d){return function(e){d=D(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,l=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+r(h)+" CL(min)="+q(g)+" DH(sec)="+q(l);else if(4==b||5==b)f=" CX(year)="+r(a.T.J)+" DH(month)="+q(l)+" DL(day)="+q(n);pd(a.ka,Ki,e,d,f)}}(this,D(this.T)))}return!0};function si(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}
0;a.ma[6]=a.ma[6]%7+1;var g;g=a.ma[9];var h=ra[a.ma[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ma[7]>g&&(a.ma[7]=1,12<++a.ma[8]&&(a.ma[8]=1,a.ma[9]=(a.ma[9]+1)%100))}a.ma[12]|=16;a.ma[11]&16&&(a.ma[12]|=128,zj(a,8))}a.Fg=d-e%c}}k.Pn=function(a,b){var c=this.ih;if(this.cg&16)if(this.Gc&128)c=this.kd;else if(this.Oa){var c=this.Oa,d=0;c.Xb.length&&(d=c.Xb[0]);c.ua()&&c.cb("scan code 0x"+q(d)+" delivered");c=d}A(this,a,null,b,"PPI_A",c);return c};
k.gp=function(a,b,c){A(this,a,b,c,"PPI_A");this.ih=b};k.Qn=function(a,b){var c=this.Gc;A(this,a,null,b,"PPI_B",c);return c};k.hp=function(a,b,c){A(this,a,b,c,"PPI_B");Fj(this,b);this.Oa&&Gj(this.Oa,b&128?!1:!0,b&64?!0:!1)};function Fj(a,b){var c=!!(b&2),d=!!(a.Gc&2);a.Gc=b;c!=d&&bc(a,c)}k.Rn=function(a,b){var c=0,c=this.Ka==ri?this.Gc&4?c|this.df&15:c|this.df>>4&1:this.Gc&8?c|this.kd>>4:c|this.kd&15;this.Gc&1&&Hi(this,2).rd&&(c=this.Gc&2?c|32:c|16);A(this,a,null,b,"PPI_C",c,qi|Fb);return c};
k.ip=function(a,b,c){A(this,a,b,c,"PPI_C");this.vi=b};k.Sn=function(a,b){var c=this.cg;A(this,a,null,b,"PPI_CTRL",c);return c};k.jp=function(a,b,c){A(this,a,b,c,"PPI_CTRL");this.cg=b};k.en=function(a,b){var c=this.dh;A(this,a,null,b,"8042_OUTBUFF",c,Hj);this.ob&=-258;this.Oa&&Ij(this.Oa);return c};
k.yo=function(a,b,c){A(this,a,b,c,"8042_INBUF.DATA",null,Hj);if(this.ob&8)switch(this.Dd){case 96:Jj(this,b);break;case 209:Kj(this,b);break;default:if(Jj(this,this.Cd&-17),this.Oa){a=-1;switch(b){case 255:a=250,Lj(this.Oa)}Mj(this,a)}}this.Dd=b;this.ob&=-9};k.fn=function(a,b){var c=this.Gc&-209|(D(this.T)&64?16:0);A(this,a,null,b,"8042_RWREG",c,Hj);return c};k.zo=function(a,b,c){A(this,a,b,c,"8042_RWREG",null,Hj);Fj(this,b)};
k.gn=function(a,b){A(this,a,null,b,"8042_STATUS",this.ob,Hj);var c=this.ob&255;this.ob&256&&(this.ob|=1,this.ob&=-257);return c};
k.xo=function(a,b,c){A(this,a,b,c,"8042_INBUFF.CMD",null,Hj);this.Dd=b;this.ob|=8;a=0;240<=this.Dd&&(a=this.Dd^15,this.Dd=240);switch(this.Dd){case 192:Mj(this,this.Fe);break;case 173:Jj(this,this.Cd|16);break;case 174:Jj(this,this.Cd&-17);this.Oa&&Ij(this.Oa);break;case 170:this.Oa&&(a=this.Oa,a.Xb=[],a.ua()&&a.cb("scan codes flushed"));Jj(this,this.Cd|16);Mj(this,85);Kj(this,3);break;case 224:Mj(this,this.Cd&16?0:1);break;case 240:a&1&&id(this.T)}};
function Jj(a,b){a.Cd=b;a.ob=a.ob&-5|b&4;a.Oa&&Gj(a.Oa,!!(b&8),!(b&16))}function Mj(a,b){0<=b&&(a.dh=b,a.ob&=-2,a.ob|=256)}function Kj(a,b){a.si=b;nb(a.sa,!!(b&2));b&1||id(a.T)}function Nj(a,b){a.Ka<wi?zj(a,1,4):a.Cd&16||a.ob&257||(Mj(a,b),Oj(a.Oa),zj(a,1,120))}k.vn=function(a,b){A(this,a,null,b,"CMOS.ADDR",this.Ge,Ii);return this.Ge};k.No=function(a,b,c){A(this,a,b,c,"CMOS.ADDR",null,Ii);this.Ge=b;this.hh=b&128?0:128};
k.wn=function(a,b){var c=this.Ge&63,d=13>=c?Ji(this,c):this.ma[c];this.ua(Ii|N)&&A(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.ma[c]&=15,d&128&&Aj(this,8),d&64&&this.ma[11]&64&&Ui(this));return d};
k.Oo=function(a,b,c){var d=this.Ge&63;this.ua(Ii|N)&&A(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.ma[d];if(13>=d){if(c=b,10>d){var e=!1;this.ma[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.ma[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ma[d]=c;11==d&&a&64&&b&64&&Ui(this)};k.Nn=function(a,b){A(this,a,null,b,"MFG_DATA",this.ag);return this.ag};k.dp=function(a,b,c){A(this,a,b,c,"MFG_DATA");this.ag=b};
k.fp=function(a,b,c){A(this,a,b,c,"NMI");this.hh=b};k.Po=function(a,b,c){A(this,a,b,c,"COPROC.CLEAR")};k.Qo=function(a,b,c){A(this,a,b,c,"COPROC.RESET")};
k.eo=function(a){if(this.ua(Pj)&&nd(this.ka,Ki,a)){var b=this.T.H>>8;od(this.T,a,function(a,d){return function(e){d=D(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,l=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+r(h)+" CL(min)="+q(g)+" DH(sec)="+q(l);else if(4==b||5==b)f=" CX(year)="+r(a.T.J)+" DH(month)="+q(l)+" DL(day)="+q(n);pd(a.ka,Ki,e,d,f)}}(this,D(this.T)))}return!0};function si(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 bc(a,b){if(a.Ai){void 0!==b?a.Rk=b:b=a.Rk&&a.T&&a.T.na.lb;var c=Math.round(1193181/Ej(a,2));if(20>c||2E4<c)b=!1;b?a.xd?(a.xd.frequency.value=c,a.ua(Qj)&&a.cb("speaker set to "+c+"hz",!0)):(a.xd=a.Ai.createOscillator(),a.xd.type=1,a.xd.connect(a.Ai.destination),a.xd.frequency.value=c,a.ua(Qj)&&a.cb("speaker on at "+c+"hz",!0),a.xd.noteOn(0)):a.xd&&(a.xd.noteOff(0),a.xd.disconnect(),delete a.xd,a.ua(Qj)&&a.cb("speaker off at "+c+"hz",!0))}else b&&a.cb("BEEP",Qj)}
var zi={0:function(a,b){return cj(this,0,0,a,b)},1:function(a,b){return fj(this,0,0,a,b)},2:function(a,b){return cj(this,0,1,a,b)},3:function(a,b){return fj(this,0,1,a,b)},4:function(a,b){return cj(this,0,2,a,b)},5:function(a,b){return fj(this,0,2,a,b)},6:function(a,b){return cj(this,0,3,a,b)},7:function(a,b){return fj(this,0,3,a,b)},8:function(a,b){return hj(this,0,a,b)},32:function(a,b){return uj(this,0,b)},33:function(a,b){return xj(this,0,b)},64:function(a,b){return Bj(this,0,b)},65:function(a,
b){return Bj(this,1,b)},66:function(a,b){return Bj(this,2,b)},67:M.prototype.Wn,129:function(a,b){return oj(this,0,2,a,b)},130:function(a,b){return oj(this,0,3,a,b)},131:function(a,b){return oj(this,0,1,a,b)},135:function(a,b){return oj(this,0,0,a,b)}},Bi={96:M.prototype.On,97:M.prototype.Pn,98:M.prototype.Qn,99:M.prototype.Rn},Di={96:M.prototype.dn,97:M.prototype.en,100:M.prototype.fn,112:M.prototype.un,113:M.prototype.vn,128:M.prototype.Mn,132:function(a,b){return qj(this,0,a,b)},133:function(a,
b){return Bj(this,1,b)},66:function(a,b){return Bj(this,2,b)},67:M.prototype.Xn,129:function(a,b){return oj(this,0,2,a,b)},130:function(a,b){return oj(this,0,3,a,b)},131:function(a,b){return oj(this,0,1,a,b)},135:function(a,b){return oj(this,0,0,a,b)}},Bi={96:M.prototype.Pn,97:M.prototype.Qn,98:M.prototype.Rn,99:M.prototype.Sn},Di={96:M.prototype.en,97:M.prototype.fn,100:M.prototype.gn,112:M.prototype.vn,113:M.prototype.wn,128:M.prototype.Nn,132:function(a,b){return qj(this,0,a,b)},133:function(a,
b){return qj(this,1,a,b)},134:function(a,b){return qj(this,2,a,b)},136:function(a,b){return qj(this,3,a,b)},137:function(a,b){return oj(this,1,2,a,b)},138:function(a,b){return oj(this,1,3,a,b)},139:function(a,b){return oj(this,1,1,a,b)},140:function(a,b){return qj(this,4,a,b)},141:function(a,b){return qj(this,5,a,b)},142:function(a,b){return qj(this,6,a,b)},143:function(a,b){return oj(this,1,0,a,b)},160:function(a,b){return uj(this,1,b)},161:function(a,b){return xj(this,1,b)},192:function(a,b){return cj(this,
1,0,a,b)},194:function(a,b){return fj(this,1,0,a,b)},196:function(a,b){return cj(this,1,1,a,b)},198:function(a,b){return fj(this,1,1,a,b)},200:function(a,b){return cj(this,1,2,a,b)},202:function(a,b){return fj(this,1,2,a,b)},204:function(a,b){return cj(this,1,3,a,b)},206:function(a,b){return fj(this,1,3,a,b)},208:function(a,b){return hj(this,1,a,b)}},Ai={0:function(a,b,c){ej(this,0,0,a,b,c)},1:function(a,b,c){gj(this,0,0,a,b,c)},2:function(a,b,c){ej(this,0,1,a,b,c)},3:function(a,b,c){gj(this,0,1,
a,b,c)},4:function(a,b,c){ej(this,0,2,a,b,c)},5:function(a,b,c){gj(this,0,2,a,b,c)},6:function(a,b,c){ej(this,0,3,a,b,c)},7:function(a,b,c){gj(this,0,3,a,b,c)},8:function(a,b,c){this.ua(dj|N)&&A(this,a,b,c,"DMA0.CMD",null,!0);this.sb[0].ti=b},9:function(a,b,c){ij(this,0,a,b,c)},10:function(a,b,c){jj(this,0,a,b,c)},11:function(a,b,c){lj(this,0,a,b,c)},12:function(a,b,c){mj(this,0,a,b,c)},13:function(a,b,c){nj(this,0,a,b,c)},32:function(a,b,c){vj(this,0,b,c)},33:function(a,b,c){yj(this,0,b,c)},64:function(a,
b,c){Dj(this,0,b,c)},65:function(a,b,c){Dj(this,1,b,c)},66:function(a,b,c){Dj(this,2,b,c)},67:M.prototype.mp,129:function(a,b,c){pj(this,0,2,a,b,c)},130:function(a,b,c){pj(this,0,3,a,b,c)},131:function(a,b,c){pj(this,0,1,a,b,c)},135:function(a,b,c){pj(this,0,0,a,b,c)}},Ci={96:M.prototype.fp,97:M.prototype.gp,98:M.prototype.hp,99:M.prototype.ip,160:M.prototype.ep},Ei={96:M.prototype.xo,97:M.prototype.yo,100:M.prototype.wo,112:M.prototype.Mo,113:M.prototype.No,128:M.prototype.cp,132:function(a,b,c){rj(this,
b,c){Dj(this,0,b,c)},65:function(a,b,c){Dj(this,1,b,c)},66:function(a,b,c){Dj(this,2,b,c)},67:M.prototype.np,129:function(a,b,c){pj(this,0,2,a,b,c)},130:function(a,b,c){pj(this,0,3,a,b,c)},131:function(a,b,c){pj(this,0,1,a,b,c)},135:function(a,b,c){pj(this,0,0,a,b,c)}},Ci={96:M.prototype.gp,97:M.prototype.hp,98:M.prototype.ip,99:M.prototype.jp,160:M.prototype.fp},Ei={96:M.prototype.yo,97:M.prototype.zo,100:M.prototype.xo,112:M.prototype.No,113:M.prototype.Oo,128:M.prototype.dp,132:function(a,b,c){rj(this,
0,a,b,c)},133:function(a,b,c){rj(this,1,a,b,c)},134:function(a,b,c){rj(this,2,a,b,c)},136:function(a,b,c){rj(this,3,a,b,c)},137:function(a,b,c){pj(this,1,2,a,b,c)},138:function(a,b,c){pj(this,1,3,a,b,c)},139:function(a,b,c){pj(this,1,1,a,b,c)},140:function(a,b,c){rj(this,4,a,b,c)},141:function(a,b,c){rj(this,5,a,b,c)},142:function(a,b,c){rj(this,6,a,b,c)},143:function(a,b,c){pj(this,1,0,a,b,c)},160:function(a,b,c){vj(this,1,b,c)},161:function(a,b,c){yj(this,1,b,c)},192:function(a,b,c){ej(this,1,0,
a,b,c)},194:function(a,b,c){gj(this,1,0,a,b,c)},196:function(a,b,c){ej(this,1,1,a,b,c)},198:function(a,b,c){gj(this,1,1,a,b,c)},200:function(a,b,c){ej(this,1,2,a,b,c)},202:function(a,b,c){gj(this,1,2,a,b,c)},204:function(a,b,c){ej(this,1,3,a,b,c)},206:function(a,b,c){gj(this,1,3,a,b,c)},208:function(a,b,c){this.ua(dj|N)&&A(this,a,b,c,"DMA1.CMD",null,!0);this.sb[1].ti=b},210:function(a,b,c){ij(this,1,a,b,c)},212:function(a,b,c){jj(this,1,a,b,c)},214:function(a,b,c){lj(this,1,a,b,c)},216:function(a,
b,c){mj(this,1,a,b,c)},218:function(a,b,c){nj(this,1,a,b,c)},240:M.prototype.Oo,241:M.prototype.Po};Ja(function(){for(var a=z(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new M(d);ab(d,c);Li(d)}});
function Rj(a){y.call(this,"ROM",a,Rj);this.Lb=null;this.rk=a.addr;this.ei=a.size;this.Hm=a.alias;this.Mg=a.file;this.Yk=a.notify;if(this.Mg){a=this.Mg;var b=ga(this.Mg);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.Mg+"&format=bytes&decimal=true");sa(a,!0,null,this,Rj.prototype.ro)}}Ua(y,Rj);Rj.prototype.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;Sj(this)};Rj.prototype.fc=function(){this.ni&&(this.ka&&Tj(this.ka,this.rk,this.ei,this.ni),delete this.ni);return!0};Rj.prototype.ec=function(){return!0};
Rj.prototype.ro=function(a,b,c){if(c)this.Ia("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.Lb=e;else if(f)for(this.Lb=Array(4*f.length),c=b=0;b<f.length;b++)this.Lb[c++]=f[b]&255,this.Lb[c++]=f[b]>>8&255,this.Lb[c++]=f[b]>>16&255,this.Lb[c++]=f[b]>>24&255;else this.Lb=d;this.ni=d.symbols;if(!this.Lb.length){w("Empty ROM: "+a);return}if(1==this.Lb.length){w(this.Lb[0]);return}}catch(g){this.Ia("ROM data error: "+
b,c){mj(this,1,a,b,c)},218:function(a,b,c){nj(this,1,a,b,c)},240:M.prototype.Po,241:M.prototype.Qo};Ja(function(){for(var a=z(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new M(d);ab(d,c);Li(d)}});
function Rj(a){y.call(this,"ROM",a,Rj);this.Lb=null;this.rk=a.addr;this.ei=a.size;this.Hm=a.alias;this.Mg=a.file;this.Yk=a.notify;if(this.Mg){a=this.Mg;var b=ga(this.Mg);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.Mg+"&format=bytes&decimal=true");sa(a,!0,null,this,Rj.prototype.so)}}Ua(y,Rj);Rj.prototype.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;Sj(this)};Rj.prototype.fc=function(){this.ni&&(this.ka&&Tj(this.ka,this.rk,this.ei,this.ni),delete this.ni);return!0};Rj.prototype.ec=function(){return!0};
Rj.prototype.so=function(a,b,c){if(c)this.Ia("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.Lb=e;else if(f)for(this.Lb=Array(4*f.length),c=b=0;b<f.length;b++)this.Lb[c++]=f[b]&255,this.Lb[c++]=f[b]>>8&255,this.Lb[c++]=f[b]>>16&255,this.Lb[c++]=f[b]>>24&255;else this.Lb=d;this.ni=d.symbols;if(!this.Lb.length){w("Empty ROM: "+a);return}if(1==this.Lb.length){w(this.Lb[0]);return}}catch(g){this.Ia("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Lb=Array(a.length),d=0;d<a.length;d++)this.Lb[d]=parseInt(a[d],16);Sj(this)}};function Sj(a){if(!fb(a))if(!a.Mg)B(a);else if(a.Lb&&a.sa){if(a.Lb.length!=a.ei)gb(a,"ROM size (0x"+p(a.Lb.length)+") does not match specified size (0x"+p(a.ei)+")");else if(Uj(a,a.rk)&&Uj(a,a.Hm)){if(a.Yk){var b=Ya(a.Yk,a.id);b&&("ega"==b.Ka&&Vj(b,a.Lb,[8752,12640],8),B(b))}delete a.Lb}B(a)}}
function Uj(a,b){if(null==b)return!0;if(ob(a.sa,b,a.ei,!0)){for(var c=0;c<a.Lb.length;c++)tb(a.sa,b+c,a.Lb[c]);return!0}return!1}Ja(function(){for(var a=z(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Rj(d);ab(d,c)}});function Wj(a){y.call(this,"RAM",a,Wj);this.ah=a.addr;this.Sd=a.size;this.Wm=a.test;this.Um=!!this.Sd;this.uh=!1}Ua(y,Wj);Wj.prototype.wc=function(a,b,c){this.sa=b;this.T=c;this.oa=ib(a,"ChipSet");B(this)};Wj.prototype.fc=function(a,b){b||this.reset();return!0};
Wj.prototype.ec=function(){return!0};Wj.prototype.reset=function(){if(!this.ah&&!this.Um&&this.oa){var a=1024*Pi(this.oa);this.Sd&&a!=this.Sd&&(qb(this.sa,this.ah,this.Sd),this.uh=!1);this.Sd=a}!this.uh&&this.Sd&&ob(this.sa,this.ah,this.Sd)&&(this.uh=!0,this.status(Math.floor(this.Sd/1024)+"Kb"));if(this.uh){if(this.Wm||ub(this.sa,1138,4660),this.oa&&(a=this.oa,a.ma)){var b=1048576>this.ah?21:23,c=a.ma[b]|a.ma[b+1]<<8,c=c+(this.Sd>>10);a.ma[b]=c&255;a.ma[b+1]=c>>8;Ti(a)}}else w("No RAM allocated")};
Ja(function(){for(var a=z(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Wj(d);ab(d,c)}});function Xj(a){y.call(this,"Keyboard",a,Xj,Yj);this.Pk=za("Mobi");this.cb("mobile keyboard support: "+(this.Pk?"true":"false"));this.Bk=0;this.yh=!0;this.Pi=this.Mk=!1;this.Vb=[];this.jo=500;this.ko=100;this.io=50;B(this)}Ua(y,Xj);
var O={Mp:1,Np:3,Op: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,Jp:65,Kp:66,kk:67,Bm:68,E:69,Rp:70,Up:71,lk:72,Wp:73,Xp:74,Yp:75,Zp:76,$p:77,ji:78,bq:79,cq:80,eq:81,nk:82,iq:83,sq:84,wq:85,xq:86,yq:87,Aq:88,Bq:89,Cq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Dq:97,Eq:98,Gq:99,Hq:100,Iq:101,Jq:102,Kq:103,Lq:104,Mq:105,Nq:106,Oq:107,
Pq:108,Qq:109,Rq:110,Tq:111,Uq:112,Vq:113,Wq:114,Xq:115,Yq:116,Zq:117,$q:118,ar:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Zj={};Zj[186]=O[";"];Zj[187]=O["="];Zj[188]=O[","];Zj[189]=O["-"];Zj[190]=O["."];Zj[191]=O["/"];Zj[192]=O["`"];Zj[219]=O["["];Zj[220]=O["\\"];Zj[221]=O["]"];Zj[222]=O["'"];Zj[173]=O["-"];var P={};P[O["1"]]=O["!"];P[O["2"]]=O["@"];P[O["3"]]=O["#"];P[O["4"]]=O.$;P[O["5"]]=O["%"];P[O["6"]]=O["^"];P[O["7"]]=O["&"];P[O["8"]]=O["*"];P[O["9"]]=O["("];P[O["0"]]=O[")"];
function Uj(a,b){if(null==b)return!0;if(ob(a.sa,b,a.ei,!0)){for(var c=0;c<a.Lb.length;c++)tb(a.sa,b+c,a.Lb[c]);return!0}return!1}Ja(function(){for(var a=z(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Rj(d);ab(d,c)}});function Wj(a){y.call(this,"RAM",a,Wj);this.ah=a.addr;this.Sd=a.size;this.Xm=a.test;this.Um=!!this.Sd;this.uh=!1}Ua(y,Wj);Wj.prototype.wc=function(a,b,c){this.sa=b;this.T=c;this.oa=ib(a,"ChipSet");B(this)};Wj.prototype.fc=function(a,b){b||this.reset();return!0};
Wj.prototype.ec=function(){return!0};Wj.prototype.reset=function(){if(!this.ah&&!this.Um&&this.oa){var a=1024*Pi(this.oa);this.Sd&&a!=this.Sd&&(qb(this.sa,this.ah,this.Sd),this.uh=!1);this.Sd=a}!this.uh&&this.Sd&&ob(this.sa,this.ah,this.Sd)&&(this.uh=!0,this.status(Math.floor(this.Sd/1024)+"Kb"));if(this.uh){if(this.Xm||ub(this.sa,1138,4660),this.oa&&(a=this.oa,a.ma)){var b=1048576>this.ah?21:23,c=a.ma[b]|a.ma[b+1]<<8,c=c+(this.Sd>>10);a.ma[b]=c&255;a.ma[b+1]=c>>8;Ti(a)}}else w("No RAM allocated")};
Ja(function(){for(var a=z(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Wj(d);ab(d,c)}});function Xj(a){y.call(this,"Keyboard",a,Xj,Yj);this.Pk=za("Mobi");this.Vm=za("MSIE");this.cb("mobile keyboard support: "+(this.Pk?"true":"false"));this.Bk=0;this.yh=!0;this.Pi=this.Mk=!1;this.Vb=[];this.ko=500;this.lo=100;this.jo=50;B(this)}Ua(y,Xj);
var O={Np:1,Op:3,Pp: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,Kp:65,Lp:66,kk:67,Bm:68,E:69,Sp:70,Vp:71,lk:72,Xp:73,Yp:74,Zp:75,$p:76,aq:77,ji:78,cq:79,dq:80,fq:81,nk:82,jq:83,tq:84,xq:85,yq:86,zq:87,Bq:88,Cq:89,Dq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Eq:97,Fq:98,Hq:99,Iq:100,Jq:101,Kq:102,Lq:103,Mq:104,Nq:105,Oq:106,Pq:107,
Qq:108,Rq:109,Sq:110,Uq:111,Vq:112,Wq:113,Xq:114,Yq:115,Zq:116,$q:117,ar:118,br:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Zj={};Zj[186]=O[";"];Zj[187]=O["="];Zj[188]=O[","];Zj[189]=O["-"];Zj[190]=O["."];Zj[191]=O["/"];Zj[192]=O["`"];Zj[219]=O["["];Zj[220]=O["\\"];Zj[221]=O["]"];Zj[222]=O["'"];Zj[173]=O["-"];var P={};P[O["1"]]=O["!"];P[O["2"]]=O["@"];P[O["3"]]=O["#"];P[O["4"]]=O.$;P[O["5"]]=O["%"];P[O["6"]]=O["^"];P[O["7"]]=O["&"];P[O["8"]]=O["*"];P[O["9"]]=O["("];P[O["0"]]=O[")"];
P[186]=O[":"];P[187]=O["+"];P[188]=O["<"];P[189]=O._;P[190]=O[">"];P[191]=O["?"];P[192]=O["~"];P[219]=O["{"];P[220]=O["|"];P[221]=O["}"];P[222]=O['"'];P[173]=O._;P[61]=O["+"];P[59]=O[":"];
var ak={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},bk={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,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},ck={esc:1027,1:O["1"],2:O["2"],3:O["3"],4:O["4"],5:O["5"],6:O["6"],7:O["7"],8:O["8"],9:O["9"],0:O["0"],"-":O["-"],"=":O["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":O["["],"]":O["]"],enter:13,
ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":O[";"],quote:O["'"],"`":O["`"],shift:1016,"\\":O["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":O[","],".":O["."],"/":O["/"],"right-shift":3016,prtsc:1044,alt:1018,space:O[" "],"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,
@ -516,19 +516,19 @@ function Oj(a,b){0<a.Xb.length&&(a.Xb.shift(),b&&(a.Xb.length&&a.oa?Nj(a.oa,a.Xb
k.ne=function(a){var b=0;void 0===a&&(a=[]);this.Ki=a[b++];this.xh=a[b];return!0};k.fk=function(){var a=0,b=[];b[a++]=this.Ki;b[a]=this.xh;return b};function gk(a,b,c,d){if(S[b]){var e=Math.floor(b/1E3)&2;if(b=ak[b]||0){e&&(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d&&(d=!((c?a.lf:a.Db)&b));if(c){a.lf&=~b;d&&(a.lf|=b);c=b;var f,g;for(g in dk)d="led-"+g,e=dk[g],c&&c!=e||!(f=a.xa[d])||(f.style.backgroundColor=a.lf&e?"#00ff00":"#000000")}else a.Db&=~b,d&&(a.Db|=b);return!0}}return!1}
function fk(a,b,c){if(S[b]&&a.T&&a.T.na.lb){for(var d,e=0;e<a.Vb.length;e++)if(d=a.Vb[e],d.xe==b){if(!c||0<=d.vd){e=-1;break}0<e&&(0<a.Vb[0].vd&&(a.Vb[0].vd=0),a.Vb.splice(e,1));break}0>e||(e==a.Vb.length&&(d={},d.xe=b,d.Db=a.Db,ik(a,b,!0),e++),0<e&&a.Vb.splice(0,0,d),d.lg=!0,d.vd=c?-1:ak[b]?0:1,jk(a,d))}}
function hk(a,b,c){if(!S[b]||!(c||a.T&&a.T.na.lb))return!1;for(var d=!1,e=0;e<a.Vb.length;e++){var f=a.Vb[e];if(f.xe==b||f.xe==P[b]){0<a.Vb[0].vd&&(a.Vb[0].vd=0);a.Vb.splice(e,1);f.wm&&clearTimeout(f.wm);f.lg&&!c&&kk(a,f.xe,!1);ik(a,b,!1);d=!0;break}}!a.Vb.length&&a.Pi&&(gk(a,1020),a.Pi=!1);return d}
function jk(a,b){if(a.T&&a.T.na.lb){if(kk(a,b.xe,b.lg),b.vd){var c;if(0>b.vd){if(!b.lg){hk(a,b.xe);return}b.lg=!1;c=a.io}else c=1==b.vd++?a.jo:a.ko;b.wm=setTimeout(function(a){return function(){jk(a,b)}}(a),c)}}else hk(a,b.xe,!0)}function lk(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Db&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Db&515)==c&&(d=b-32);else if(!!(a.Db&3)==c){if(a=P[b])d=a}else if(a=Zj[b])d=a;return d}k.Vh=function(a){this.yh=a;a||(this.Db&=-256)};
function ek(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=lk(a,g,!0);a.Mk&&h==O["`"]&&(g=h=27);if(S[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),gk(a,h,!1,c)){if(20==g||144==g||145==g)c=e=!0;if(!(c||91!=g&&93!=g))for(var n=0;n<a.Vb.length;n++){var l=a.Vb[n];l.lg=!1;0<l.vd&&(l.vd=0)}}else 8==g&&8==(a.Db&40)&&(h=4008),d=!1;else S[h]&&a.Db&60&&(d=!1),f=!!(a.Db&192);d||b.preventDefault();f||a.Pk&&d||(c?fk(a,h,e):hk(a,h)||(b=lk(a,g,!1),b!=h&&hk(a,b)));return d}
function jk(a,b){if(a.T&&a.T.na.lb){if(kk(a,b.xe,b.lg),b.vd){var c;if(0>b.vd){if(!b.lg){hk(a,b.xe);return}b.lg=!1;c=a.jo}else c=1==b.vd++?a.ko:a.lo;b.wm=setTimeout(function(a){return function(){jk(a,b)}}(a),c)}}else hk(a,b.xe,!0)}function lk(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Db&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Db&515)==c&&(d=b-32);else if(!!(a.Db&3)==c){if(a=P[b])d=a}else if(a=Zj[b])d=a;return d}k.Vh=function(a){this.yh=a;a||(this.Db&=-256)};
function ek(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=lk(a,g,!0);a.Mk&&h==O["`"]&&(g=h=27);if(S[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),gk(a,h,!1,c)){if(20==g||144==g||145==g)a.Vm||(c=e=!0);if(!(c||91!=g&&93!=g))for(var n=0;n<a.Vb.length;n++){var l=a.Vb[n];l.lg=!1;0<l.vd&&(l.vd=0)}}else 8==g&&8==(a.Db&40)&&(h=4008),d=!1;else S[h]&&a.Db&60&&(d=!1),f=!!(a.Db&192);d||b.preventDefault();f||a.Pk&&d||(c?fk(a,h,e):hk(a,h)||(b=lk(a,g,!1),b!=h&&hk(a,b)));return d}
function kk(a,b,c){gk(a,b,!0,c);var d=S[b]||S[b+1E3];if(void 0!==d){14==d&&40==(a.Db&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.Db&3||a.Db&512&&b||(g=h):29==h?a.Db&12||(g=h):56==h?a.Db&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Xb&&(20>d.Xb.length?(d.ua()&&d.cb("scan code 0x"+q(f)+" buffered"),d.Xb.push(f),1==d.Xb.length&&d.oa&&Nj(d.oa,
f)):(20==d.Xb.length&&d.Xb.push(255),d.cb("scan code buffer overflow")))}}Ja(function(){for(var a=z(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Xj(d);ab(d,c)}});
function T(a,b,c,d){y.call(this,"Video",a,T,mk);this.Ka=a.model;this.cd=0;"ega"==this.Ka&&(this.rm=a.switches,this.cd=a.memory||0);this.ud=a.mode;if(void 0===this.ud||void 0===nk[this.ud])this.ud=ok;this.Nh=a.charCols;this.ej=a.charRows;if(void 0===this.Nh||void 0===this.ej)this.Nh=nk[this.ud][0],this.ej=nk[this.ud][1];this.Fd=a.screenWidth;this.je=a.screenHeight;this.Vm=a.scale;this.Tm=12<=Math.round(this.Fd/this.Nh);this.Xm=a.touchScreen;this.eg=b;this.dd=c;this.Na=(this.Ep=d)||b||null;this.pe=
function T(a,b,c,d){y.call(this,"Video",a,T,mk);this.Ka=a.model;this.cd=0;"ega"==this.Ka&&(this.rm=a.switches,this.cd=a.memory||0);this.ud=a.mode;if(void 0===this.ud||void 0===nk[this.ud])this.ud=ok;this.Nh=a.charCols;this.ej=a.charRows;if(void 0===this.Nh||void 0===this.ej)this.Nh=nk[this.ud][0],this.ej=nk[this.ud][1];this.Fd=a.screenWidth;this.je=a.screenHeight;this.Wm=a.scale;this.Tm=12<=Math.round(this.Fd/this.Nh);this.Ym=a.touchScreen;this.eg=b;this.dd=c;this.Na=(this.Fp=d)||b||null;this.pe=
null;this.Sm=a.autoLock;this.Wa=this.Ub=0;this.Yd=[];this.Ad=Array(16);this.yh=!1;var e=this;this.Na&&(this.Na.onfocus=function(){return e.Vh(!0)},this.Na.onblur=function(){return e.Vh(!1)},this.Na.zf=this.Na.requestPointerLock||this.Na.mozRequestPointerLock||this.Na.webkitRequestPointerLock,this.Na.xm=this.Na.exitPointerLock||this.Na.mozExitPointerLock||this.Na.webkitExitPointerLock,b=function(){e.Gg(document.pointerLockElement===e.Na||document.mozPointerLockElement===e.Na||document.webkitPointerLockElement===
e.Na)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ga(a)&&(a=ta()+"/api/v1/dump?file="+a+"&format=bytes"),sa(a,!0,null,this,this.so)}Ua(y,T);
e.Na)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ga(a)&&(a=ta()+"/api/v1/dump?file="+a+"&format=bytes"),sa(a,!0,null,this,this.to)}Ua(y,T);
var pk={2:{hj:15700,gj:208,Vj:85,Wj:96},3:{hj:18432,gj:364,Vj:85,Wj:96},4:{hj:21850,gj:364,Vj:85,Wj:96}},qk={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]},ok=7,nk=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];nk[ok]=[80,25,1,0,1];nk[13]=[320,200,16];nk[14]=[640,200,16];nk[15]=[640,350,16];nk[16]=[640,350,16];nk[0]=nk[1];nk[2]=nk[3];nk[5]=nk[4];var rk=Array(5);rk[0]=[0,0,0,255];
rk[1]=[127,192,127,255];rk[2]=[127,192,127,255];rk[3]=[127,255,127,255];rk[4]=[127,255,127,255];var sk=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],V=Array(16);V[0]=[0,0,0,255];V[1]=[0,0,170,255];V[2]=[0,170,0,255];V[3]=[0,170,170,255];V[4]=[170,0,0,255];V[5]=[170,0,170,255];V[6]=[170,85,0,255];V[7]=[170,170,170,255];V[8]=[85,85,85,255];V[9]=[85,85,255,255];V[10]=[85,255,85,255];V[11]=[85,255,255,255];V[12]=[255,85,85,255];V[13]=[255,85,255,255];V[14]=[255,255,85,255];V[15]=[255,255,255,255];
var tk=[2,4,6],uk=[3,5,7],vk=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],wk=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],xk=[0];xk[128]=1;xk[32768]=2;xk[32896]=3;xk[8388608]=4;xk[8388736]=5;xk[8421376]=6;xk[8421504]=7;xk[2147483648]=8;xk[2147483776]=9;xk[2147516416]=10;xk[2147516544]=11;xk[2155872256]=12;xk[2155872384]=13;xk[2155905024]=14;xk[2155905152]=15;
function yk(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=zk[b],f=a.qe||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Ak)];this.ka=a.ka;this.type=e[0];this.port=e[1];this.me=b;this.Wa=e[2];this.Ub=e[3];this.cd=d||e[4];65536<=this.cd&&720896<=this.Wa&&(this.Ub=Math.min(this.cd>>2,32768));this.ed=c[0];this.Lc=c[1];this.of=c[2];this.Nf=c[3];this.vc=c[4]&255;this.Gh=c[4]>>8&255;this.lc=c[5];this.Yi=Ak;this.bh=Bk;if(5==b){this.Yi=Ck;this.bh=Dk;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.Wa,this.Ub,this.cd],Array(this.cd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.qd=b[0];this.Jd=b[1];this.Vd=b[2];this.pi=Ek;this.gi=b[3];this.qg=b[4];this.Fh=b[5];this.Ld=b[6];this.Uf=b[7];this.ri=Fk;this.Ti=b[8];this.Ui=b[9];this.Kd=b[10];this.Be=b[11];this.qi=Gk;this.Jb=b[12];d=b[13];"number"==typeof d&&(d=[this.Wa,this.Ub,d]);this.Wa=d[0];this.Ub=d[1];d=this.cd>>2;if((this.md=b[14])&&this.md.length<d){for(var e=this.md,g=0,h=Array(d),n=0;n<e.length-1;){for(var l=
e[n++],t=e[n++];l--;)h[g]=t,g+=2;g==d&&(g=1)}this.md=h}this.di(b[15]);this.Sj=b[16];this.rb=b[17];this.td=b[18];this.zb=b[19];this.Sh=b[20];this.te=b[21];this.Xe=b[22];this.$i=b[23];this.aj=b[24]}f=pk[f]||pk[3];this.bj=a.T.da.sd/f.hj|0;this.no=this.bj*f.Vj/100|0;this.fl=this.bj*f.gj;this.po=this.fl*f.Wj/100|0;this.ij=null==c[7]?0:c[7]}}
e[n++],t=e[n++];l--;)h[g]=t,g+=2;g==d&&(g=1)}this.md=h}this.di(b[15]);this.Sj=b[16];this.rb=b[17];this.td=b[18];this.zb=b[19];this.Sh=b[20];this.te=b[21];this.Xe=b[22];this.$i=b[23];this.aj=b[24]}f=pk[f]||pk[3];this.bj=a.T.da.sd/f.hj|0;this.oo=this.bj*f.Vj/100|0;this.fl=this.bj*f.gj;this.qo=this.fl*f.Wj/100|0;this.ij=null==c[7]?0:c[7]}}
var Ak=18,Ck=25,Bk="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Dk="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
Ek="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),Fk=["RESET","CLK","MAPMASK","CHARMAP","MODE"],Gk="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function Hk(a){return this.zc(a)|this.zc(a+1)<<8}function Nk(a,b){this.Nc(a,b&255);this.Nc(a+1,b>>8&255)}
var Ok=[,,function(a){a+=this.offset;return(this.ga.Jb=this.ya[a])>>this.ga.Sj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ya[b]>>8:this.ya[b])&255}];Ok[16]=function(a){a+=this.offset;a=this.ya[a];for(var b=this.ga.$i&this.ga.aj,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Ok[512]=function(a,b){var c=a+this.offset,d;d=this.ya[c]&~this.ga.rb|(b|b<<8|b<<16|b<<24)&this.ga.rb;d=d&this.ga.zb|this.ga.Jb&~this.ga.zb;this.ya[c]!=d&&(this.ya[c]=d,this.wb=!0)};
@ -541,56 +541,56 @@ Ok[40960]=function(a,b){var c=a+this.offset,d=wk[b&15],d=d|this.ga.Jb,d=d&this.g
function Pk(a){var b=[];if(void 0!==a.me){b[0]=a.ed;b[1]=a.Lc;b[2]=a.of;b[3]=a.Nf;b[4]=a.vc|a.Gh<<8;b[5]=a.lc;if(5==a.me){var c=[];c[0]=a.qd;c[1]=a.Jd;c[2]=a.Vd;c[3]=a.gi;c[4]=a.qg;c[5]=a.Fh;c[6]=a.Ld;c[7]=a.Uf;c[8]=a.Ti;c[9]=a.Ui;c[10]=a.Kd;c[11]=a.Be;c[12]=a.Jb;c[13]=[a.Wa,a.Ub,a.cd];var d;a:if(d=a.md){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var n=d[h],l=h+2;l<d.length&&d[l]===n;)l+=2;f[e++]=l-h>>1;f[e++]=n;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Lh;c[16]=a.Sj;c[17]=a.rb;c[18]=a.td;c[19]=a.zb;c[20]=a.Sh;c[21]=a.te;c[22]=a.Xe;c[23]=a.$i;c[24]=a.aj;b[6]=c}b[7]=a.ij}return b}function Qk(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var n=e[g],f=f+(b+"["+q(g)+"]: "+(n+" ".substr(0,h-n.length))+q(d[g])+(g===c?"*":""))}a.ka.Z(f)}else a.ka.Z(b+": "+q(c))}
yk.prototype.di=function(a){if(null!=a&&a!=this.Lh){var b=a&255,c=Ok[b];c||b&1&&(c=Ok[1]);var b=a&65280,d=Ok[b];d||b&256&&(d=Ok[256]);this.Zf||(this.Zf=[null,Hk,null,Nk]);this.Zf[0]=c;this.Zf[2]=d;this.Lh=a}};var zk=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=T.prototype;
k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;xb(b,this,Rk);Bb(b,this,Sk);"ega"==this.Ka&&(xb(b,this,Tk),Bb(b,this,Uk));if(d){var e=this;Fi(d,mk,function(a){if(e.Ja)if(a){var b=e.Ja;if(b.md){a=da(a);a=void 0!==a?a-b.Wa:b.sp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Wa+a)+":",s=0;8>s&&a<b.md.length;s++)var u=b.md[a++],f=f+(" "+p(u));c&&(c+="\n");c+=f}c&&b.ka.Z(c);b.sp=a}else b.ka.Z("no buffer")}else{e.ka.Z("BIOSMODE: "+q(e.Qd));b=e.Ja;Qk(b,"CRTC",b.vc,b.lc,b.bh);if(1==b.me||3==b.me)Qk(b,
k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;xb(b,this,Rk);Bb(b,this,Sk);"ega"==this.Ka&&(xb(b,this,Tk),Bb(b,this,Uk));if(d){var e=this;Fi(d,mk,function(a){if(e.Ja)if(a){var b=e.Ja;if(b.md){a=da(a);a=void 0!==a?a-b.Wa:b.tp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Wa+a)+":",s=0;8>s&&a<b.md.length;s++)var u=b.md[a++],f=f+(" "+p(u));c&&(c+="\n");c+=f}c&&b.ka.Z(c);b.tp=a}else b.ka.Z("no buffer")}else{e.ka.Z("BIOSMODE: "+q(e.Qd));b=e.Ja;Qk(b,"CRTC",b.vc,b.lc,b.bh);if(1==b.me||3==b.me)Qk(b,
" MODEREG",b.Lc),Qk(b," STATUS1",b.Nf);3==b.me&&Qk(b," COLOR",b.of);5==b.me&&(b.ka.Z(" ATCDATA: "+b.qd),Qk(b," ATC",b.Jd,b.Vd,b.pi),Qk(b," GRC",b.Kd,b.Be,b.qi),Qk(b," SEQ",b.Ld,b.Uf,b.ri),Qk(b," FEAT",b.Fh),Qk(b," MISC",b.qg),Qk(b," STATUS0",b.gi),Qk(b," LATCHES",b.Jb),b.ka.Z(" ACCESS: "+r(b.Lh)),b.ka.Z("Use 'dump video buffer' to dump video memory"))}else e.ka.Z("no active video card")})}if((this.Oa=ib(a,"Keyboard"))&&this.eg){for(var f in this.xa)0<f.indexOf("lock")&&this.Oa.Hb("led",f,
this.xa[f]);this.Oa.Hb(this.Ep?"textarea":"canvas","kbd",this.Na)}this.eh=9;(this.oa=ib(a,"ChipSet"))&&this.rm&&(this.eh=si(this.rm,this.eh));this.Oa&&this.Xm&&Vk(this)};k.Hb=function(a,b,c){var d=this;if(!this.xa[b])switch(this.xa[b]=c,b){case "lockPointer":return this.zp=c.textContent,this.Na&&this.Na.zf?c.onclick=function(){d.zf(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Pb(d,!0)},!0}return!1};k.Mc=function(){this.Na&&this.Na.focus()};
k.zf=function(a){var b=!1;this.Na&&(a?this.Na.zf&&(this.Na.zf(),this.pe.Gg(!0),b=!0):this.Na.xm&&(this.Na.xm(),this.pe.Gg(!1),b=!0),this.Mc());return b};k.Gg=function(a){this.pe&&(this.pe.Gg(a),this.Oa&&(this.Oa.Mk=a));var b=this.xa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.zp)};
this.xa[f]);this.Oa.Hb(this.Fp?"textarea":"canvas","kbd",this.Na)}this.eh=9;(this.oa=ib(a,"ChipSet"))&&this.rm&&(this.eh=si(this.rm,this.eh));this.Oa&&this.Ym&&Vk(this)};k.Hb=function(a,b,c){var d=this;if(!this.xa[b])switch(this.xa[b]=c,b){case "lockPointer":return this.Ap=c.textContent,this.Na&&this.Na.zf?c.onclick=function(){d.zf(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Pb(d,!0)},!0}return!1};k.Mc=function(){this.Na&&this.Na.focus()};
k.zf=function(a){var b=!1;this.Na&&(a?this.Na.zf&&(this.Na.zf(),this.pe.Gg(!0),b=!0):this.Na.xm&&(this.Na.xm(),this.pe.Gg(!1),b=!0),this.Mc());return b};k.Gg=function(a){this.pe&&(this.pe.Gg(a),this.Oa&&(this.Oa.Mk=a));var b=this.xa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.Ap)};
function Vk(a){var b=a.Na;b&&!a.Ji&&(b.addEventListener("touchstart",function(b){Wk(a,b)},!1),b.addEventListener("touchmove",function(b){Wk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Ji=!0)}k.Vh=function(a){this.yh=a;this.Oa&&this.Oa.Vh(a)};
function Wk(a,b){a.yh&&b.preventDefault();var c=0,d=0,e=a.eg;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.Fd/a.eg.offsetWidth,e=a.je/a.eg.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.Fd/3)|0;d=(h-d)*e/(a.je/3)|0;1!=d?d?fk(a.Oa,1040,!0):fk(a.Oa,1038,!0):1!=c&&(c?fk(a.Oa,1039,!0):fk(a.Oa,1037,!0))}
k.fc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.oa&&(b=Qi(this.oa));var c=!1;if(this.Ka)switch(this.Ka){case "ega":var c=!0,d=qk[this.eh];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.qe!==b&&(this.qe=b,a=!0);this.Ja=null;this.bd=this.yi=new yk(this,1);this.Mb=this.qh=new yk(this,3);c?(this.pa=new yk(this,5,null,this.cd),Xk(this)):this.pa=new yk;Yk(this);this.Qd=null;this.ud=3==b?ok:3;this.Le=this.Tc=-1;this.Ke=0;Zk(this,this.ud);if(this.Ja.Wa&&a){a=this.Ja.Wa+this.zi;for(b=this.Ja.Wa;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.qe?(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),ub(this.sa,b,c|d<<8);Pb(this,!0)}};function Xk(a){a.pa.qg&1?(a.bd=a.yi,a.Mb=a.pa):(a.bd=a.pa,a.Mb=a.qh)}k.save=function(){var a=new sd(this);a.set(0,Pk(this.yi));a.set(1,Pk(this.qh));a.set(2,[this.qe,this.ud,this.Qd]);a.set(3,Pk(this.pa));return a.data()};
k.restore=function(a){var b=a[2];this.qe=b[0];this.ud=b[1];this.Qd=b[2];this.Ja=null;this.bd=this.yi=new yk(this,1,a[0]);this.Mb=this.qh=new yk(this,3,a[1]);this.pa=new yk(this,5,a[3],this.cd);this.pa.ed&&Xk(this);Yk(this);if(!$k(this))return!1;al(this);return!0};
k.so=function(a,b,c){if(c)this.Ia("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)Vj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}B(this)}};
k.to=function(a,b,c){if(c)this.Ia("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)Vj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}B(this)}};
function bl(a,b){if(1==b)return a.Ad[0]=V[0],a.Ad[1]=V[7],a.Ad;if(2==b){var c=a.Ja.of;if(a.Ja===a.pa){var d=a.pa.Vd[0],c=d&7;d&16&&(c|=8);18!=a.pa.Vd[1]&&(c|=32)}a.Ad[0]=V[c&15];c=c&32?uk:tk;for(d=0;d<c.length;d++)a.Ad[d+1]=V[c[d]];return a.Ad}if(a.Mb===a.qh)return V;c=null!=a.pa.Vd[15]?a.pa.Vd:vk;for(d=0;d<a.Ad.length;d++){var e=c[d]||0;a.Ad[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.Ad}function Vj(a,b,c,d){a.Zg=b;a.mi=c;a.Pe=d}
function Yk(a){var b=!1;if(window&&a.Zg){var c=a.Pe?0:2048,d=a.Pe?a.Pe:9;cl(a,1,a.mi[0],c,d,14,a.Zg,rk,sk)&&(b=!0);c=bl(a);d=a.Pe?a.Pe:8;cl(a,3,a.mi[1],0,d,8,a.Zg,c)&&(b=!0);a.Pe&&cl(a,5,a.mi[0],0,a.Pe,14,a.Zg,c)&&(b=!0)}return b}function cl(a,b,c,d,e,f,g,h,n){var l=!1;dl(a,b,c,d,e,f,g,h,n)&&(l=!0);a.Tm&&dl(a,b<<1,c,d,e,f,g,h,n)&&(l=!0);return l}
function dl(a,b,c,d,e,f,g,h,n){var l=!1,t=b&1?0:1,s=a.Yd[b];s||(s={sc:e<<t,tc:f<<t,hf:Array(h.length),qk:h.slice(),Tf:n,ki:Array(h.length)});for(n=0;n<h.length;n++){var u=h[n],x=s.hf[n]?s.qk[n]:[];if(u[0]!==x[0]||u[1]!==x[1]||u[2]!==x[2]){var l=s,x=n,v=t,C=c,U=d,Q=e,Ba=f,Ia=g,bb=[0,0,0,0],Wb=window.document.createElement("canvas");Wb.width=l.sc<<4;Wb.height=l.tc<<4;for(var Lc=Wb.getContext("2d"),E=void 0,R=void 0,I=void 0,qa=8>Ba||!U?Ba:8,Ca=Lc.createImageData(l.sc,l.tc),E=0;256>E;E++){for(I=0;I<
Ba;I++)for(var ka=l.Tf&&x&1&&I>=Ba-2,ca=Ia[I<qa?C+E*qa+I:U+E*qa+I-qa],Z=0;Z<=v;Z++)for(R=0;R<Q;R++){var Mc=R<<v,pc=(I<<v)+Z,Nc=ka||ca&128>>(8<=R&&176<=E&&223>=E?7:R)?u:bb;el(Ca,Mc,pc,Nc);v&&el(Ca,Mc+1,pc,Nc)}Lc.putImageData(Ca,(E&15)*l.sc,(E>>4)*l.tc)}l.hf[x]="#"+q(u[0])+q(u[1])+q(u[2]);l.qk[x]=u;l.ki[x]=Wb;l=!0}}a.Yd[b]=s;return l}function fl(a){0<a.Ke||0<=a.Tc?0>a.Le&&(a.Le=0):a.Le=-1}
Ba;I++)for(var ka=l.Tf&&x&1&&I>=Ba-2,ca=Ia[I<qa?C+E*qa+I:U+E*qa+I-qa],Z=0;Z<=v;Z++)for(R=0;R<Q;R++){var Mc=R<<v,qc=(I<<v)+Z,Nc=ka||ca&128>>(8<=R&&176<=E&&223>=E?7:R)?u:bb;el(Ca,Mc,qc,Nc);v&&el(Ca,Mc+1,qc,Nc)}Lc.putImageData(Ca,(E&15)*l.sc,(E>>4)*l.tc)}l.hf[x]="#"+q(u[0])+q(u[1])+q(u[2]);l.qk[x]=u;l.ki[x]=Wb;l=!0}}a.Yd[b]=s;return l}function fl(a){0<a.Ke||0<=a.Tc?0>a.Le&&(a.Le=0):a.Le=-1}
function al(a){if(a.ac){for(var b=10;15>=b;b++)if(null==a.Ja.lc[b])return;var c=a.Ja.lc[10],b=c&31,d=a.Ja.lc[11]&31,e=a.Ja.lc[9]&31,f=!1;a.Ja===a.pa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)gl(a);else{c=a.Ja.lc[15]+((a.Ja.lc[14]&63)<<8);a.Tc!=c&&(gl(a),a.Tc=c);d=d-b+1;if(a.Am!=b||a.Gk!=d)a.Am=b,a.Gk=d;a.ie=e+1;fl(a)}}}
function gl(a){if(0<=a.Tc){if(void 0!==a.mc){var b=a.mc[a.Tc];if(b&131072){var b=b&-131073,c=a.Tc%a.Nb,d=Math.floor(a.Tc/a.Nb);a.ac&&a.Yd[a.ac]&&(a.pf&&hl(a,c,d,b,a.pf),hl(a,c,d,b));a.mc[a.Tc]=b}}a.Tc=-1}}
function il(a){var b;a=a.Ja;var c=a.Be[5];if(null!=c){b=2;var d=512,e=a.Be[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.td=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.bf=function(a){var b=this.Ja;null!=a&&b&&a!=b.Lh&&(b.di(a),this.sa.di(b.Wa,b.Ub,b.Zf))};
function $k(a,b){var c,d=a.Qd,e=a.Ja;if(e)if(1==e.me)d=ok;else if(5==e.me){var d=null,f=e.cd>>2,g=32768<f?32768:f,h=e.Be[6];if(null!=h){switch(h&12){case 0:e.Wa=655360;e.Ub=f;d=255;break;case 4:e.Wa=655360;e.Ub=f;d=3==a.qe?15:16;break;case 8:e.Wa=720896;e.Ub=g;d=ok;break;case 12:e.Wa=753664,e.Ub=g,d=3==a.qe?2:3}c=e.Uf[1]&8;f=e.lc[6]|(e.lc[7]&1)<<8;255!=d&&(h&1?753664==e.Wa?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=il(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||(d-=1)):(d=e.Lc&1?3:1,e.Lc&4&&(d-=
1)));else a.Qd=null,null==d&&(d=a.ud);if(!Zk(a,d,b))return!1;a.bf(c);return!0}
function Zk(a,b,c){if(null!=b&&(b!=a.Qd||c)){a.Jm=0;a.Qd=b;b=a.Ja||(b==ok?a.bd:a.Mb);if(b!=a.Ja||b.Wa!=a.Wa||b.Ub!=a.Ub){gl(a);if(a.Wa){if(!qb(a.sa,a.Wa,a.Ub))return!1;a.Ja&&(a.Ja.ed=!1)}a.Ja=b;b.ed=!0;a.Wa=b.Wa;a.Ub=b.Ub;if(!ob(a.sa,b.Wa,b.Ub,!1,b===a.pa?b:null))return!1}a.ac=0;a.Nb=a.Nh;a.yc=a.ej;a.Zi=nk[ok][2];b=0;var d=nk[a.Qd];d&&(a.Nb=d[0],a.yc=d[1],a.Zi=d[2],b=d[3]||0,a.ac=d[4],4==a.qe&&a.Ja===a.pa&&3==a.ac&&(7==a.pa.lc[9]?a.yc=43:a.ac=5));a.cl=a.Nb*a.yc;a.Mh=a.cl/a.Zi;a.zi=(a.Mh<<1)+b;a.Dk=
b?a.zi+b>>1:0;13<=a.Qd&&(a.Mh<<=1);a.Yd.length&&(a.Gd=Math.floor(a.Fd/a.Nb),a.Hd=Math.floor(a.je/a.yc),a.ac?(b=a.Yd[a.ac],d=a.Yd[a.ac<<1],a.Vm&&80==a.Nb?d&&a.Gd>=3*d.sc>>2&&(a.ac<<=1,b=d):(d&&a.Gd>=d.sc&&(a.ac<<=1,b=d),b&&(a.Gd=b.sc,a.Hd=b.tc)),a.ig=a.jg=0,b&&(a.ig=a.Nb*b.sc,a.jg=a.yc*b.tc)):(a.Gd=a.Hd=1,a.ig=a.Nb,a.jg=a.yc),a.Ih=a.dd.createImageData(a.ig,a.jg),a.mf=window.document.createElement("canvas"),a.mf.width=a.ig,a.mf.height=a.jg,a.pf=a.mf.getContext("2d"),a.ik=a.jk=0,a.Bi=a.Fd,a.Ci=a.je,
b?a.zi+b>>1:0;13<=a.Qd&&(a.Mh<<=1);a.Yd.length&&(a.Gd=Math.floor(a.Fd/a.Nb),a.Hd=Math.floor(a.je/a.yc),a.ac?(b=a.Yd[a.ac],d=a.Yd[a.ac<<1],a.Wm&&80==a.Nb?d&&a.Gd>=3*d.sc>>2&&(a.ac<<=1,b=d):(d&&a.Gd>=d.sc&&(a.ac<<=1,b=d),b&&(a.Gd=b.sc,a.Hd=b.tc)),a.ig=a.jg=0,b&&(a.ig=a.Nb*b.sc,a.jg=a.yc*b.tc)):(a.Gd=a.Hd=1,a.ig=a.Nb,a.jg=a.yc),a.Ih=a.dd.createImageData(a.ig,a.jg),a.mf=window.document.createElement("canvas"),a.mf.width=a.ig,a.mf.height=a.jg,a.pf=a.mf.getContext("2d"),a.ik=a.jk=0,a.Bi=a.Fd,a.Ci=a.je,
b=a.Fd-a.Nb*a.Gd,d=a.je-a.yc*a.Hd,0<b&&(a.ik=b>>1,a.Bi-=b),0<d&&(a.jk=d>>1,a.Ci-=d),b||d)&&(a.dd.fillStyle=a.eg.style.backgroundColor,a.dd.fillRect(0,0,a.Fd,a.je));!1!==c?Pb(a,!0):jl(a,!0)}return!0}function el(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function jl(a,b){var c;if(b){if(c=a.Mh,void 0===a.mc||a.mc.length!=c)a.mc=Array(c)}else{if(void 0===a.mc)return;c=a.mc.length}for(var d=0;d<c;d++)a.mc[d]=-1;a.Ke=-1}
function hl(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Yd[a.ac];h.Tf&&(d=h.Tf[d]);var n=g>>4&15;h.Tf&&(n=h.Tf[n]);e?(b*=h.sc,c*=h.tc,e.fillStyle=h.hf[n],e.fillRect(b,c,h.sc,h.tc)):(b=b*a.Gd+a.ik,c=c*a.Hd+a.jk,a.dd.fillStyle=h.hf[n],a.dd.fillRect(b,c,a.Gd,a.Hd));g&256&&(n=(f&15)*h.sc,f=(f>>4)*h.tc,e?e.drawImage(h.ki[d],n,f,h.sc,h.tc,b,c,h.sc,h.tc):a.dd.drawImage(h.ki[d],n,f,h.sc,h.tc,b,c,a.Gd,a.Hd));g&512&&(f=a.Am,g=a.Gk,e?(a.ie&&a.ie!==h.tc&&(f=Math.floor(f*h.tc/a.ie),g=Math.floor(g*h.tc/a.ie)),
e.fillStyle=h.hf[d],e.fillRect(b,c+f,h.sc,g)):(a.ie&&a.ie!==a.Hd&&(f=Math.floor(f*a.Hd/a.ie),g=Math.floor(g*a.Hd/a.ie)),a.dd.fillStyle=h.hf[d],a.dd.fillRect(b,c+f,a.Gd,g)))}
function Pb(a,b){if(a.na.Sb){var c=!1;a.Ja&&(a.Ja===a.pa?a.pa.Jd&32&&(c=!0):a.Ja.Lc&8&&(c=!0));if(c||b){if(b)jl(a,!0);else if(void 0===a.mc)return;var d=!1;!(b||++a.Jm&15)&&0<=a.Le&&(a.Le++,d=!0);var e=0,f=a.cl,c=a.Ja.Wa,g=c+a.Ja.Ub,h=(a.Ja.lc[12]<<8)+a.Ja.lc[13];a.ac&&(h<<=1);var c=c+h,n=a.zi;c+n>g&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.sa,l=!0,t=c>>h.Eb;0<n&&t<h.Ha.length;)h.Ha[t].wb&&(h.Ha[t].wb=l=!1,h.Ha[t].Kk=!0),n-=h.nc,t++;h=l}if(h){if(!d)return;if(!a.Ke){if(0>a.Tc)return;e=a.Tc;f=
e+1}}if(a.ac){if(a.Yd[a.ac]){d=0;h=a.Ke=0;n=1048575;a.Ja.Lc&32&&(h=32768,n&=~h,a.Le&2||(n&=-65537));for(c+=e<<1;c<g&&e<f;)l=sb(a.sa,c),l|=65536,l&h&&(a.Ke++,l&=n),e==a.Tc&&(l|=a.Le&1?131072:0),t=a.mc[e],t!=l&&(hl(a,e%a.Nb,Math.floor(e/a.Nb),l,a.pf),a.mc[e]=l,d++),c+=2,e++;d&&a.pf&&a.dd.drawImage(a.mf,0,0,a.ig,a.jg,a.ik,a.jk,a.Bi,a.Ci);fl(a)}}else if(a.Dk){for(var f=g,s,u,e=c,g=a.Ke=0,d=a.Zi,h=16==d?65536:196608,n=16==d?1:2,l=bl(a,n),x=t=0,v=a.Nb,C=0,U=a.yc,Q=0;e<f;){s=sb(a.sa,e);u=a.mc[g];if(u===
s)t+=d;else{a.mc[g]=s;s=s>>8|(s&255)<<8;u=h;var Ba=16;t<v&&(v=t);for(var Ia=0;Ia<d;Ia++){var bb=(s&(u>>=n))>>(Ba-=n);el(a.Ih,t++,x,l[bb])}t>C&&(C=t);x<U&&(U=x);x>=Q&&(Q=x+1)}e+=2;g++;if(t>=a.Nb){t=0;x+=2;if(x>a.yc)break;x==a.yc&&(x=1,e=c+a.Dk)}}v<a.Nb&&(a.pf.putImageData(a.Ih,0,0,v,U,C-v,Q-U),a.dd.drawImage(a.mf,0,0,a.Nb,a.yc,0,0,a.Fd,a.je))}else{f=g;e=a.Ke=0;g=bl(a);d=a.Ja.md;n=h=0;l=a.Nb;t=0;x=a.yc;for(v=0;c<f;){C=c++-a.Wa;C=d[C];U=a.mc[e];if(U===C)h+=8;else{a.mc[e]=C;h<l&&(l=h);for(U=0;8>U;U++)Q=
C&2155905152,0>Q&&(Q+=4294967296),Q=xk[Q]||0,el(a.Ih,h++,n,g[Q]),C<<=1;h>t&&(t=h);n<x&&(x=n);n>=v&&(v=n+1)}e++;if(h>=a.Nb&&(h=0,++n>a.yc))break}l<a.Nb&&(a.pf.putImageData(a.Ih,0,0,l,x,t-l,v-x),a.dd.drawImage(a.mf,0,0,a.Nb,a.yc,0,0,a.Fd,a.je))}}}}k.Jn=function(a,b){return kl(this,this.bd,b)};k.ap=function(a,b,c){a=this.bd;a.Gh=a.vc;a.vc=b&31;A(this,a.port,b,c,"CRTC.INDX")};k.In=function(a,b){return ll(this,this.bd,b)};k.$o=function(a,b,c){ml(this,this.bd,b,c)};
k.Kn=function(a,b){return nl(this,this.bd,b)};k.bp=function(a,b,c){a=this.bd;A(this,a.port+4,b,c,"MODE");a.Lc=b;$k(this,!1)};k.Ln=function(a,b){return ol(this,this.bd,b)};k.jm=function(a,b,c){this.pa.Fh=this.pa.Fh&-4|b&3;A(this,a,b,c,"FEAT")};k.Zk=function(a,b){var c=this.pa.qd?this.pa.Vd[this.pa.Jd&31]:this.pa.Jd;this.ua()&&A(this,960,null,b,"ATC."+(this.pa.qd?this.pa.pi[this.pa.Jd&31]:"INDX"),c);this.pa.qd=!this.pa.qd;return c};
k.im=function(a,b,c){var d=this.pa.Jd&32;if(this.pa.qd){var e=this.pa.Jd&31;if(16<=e||!d)this.ua()&&A(this,a,b,c,"ATC."+this.pa.pi[e]),this.pa.Vd[e]=b;this.pa.qd=!1}else this.pa.Jd=b,A(this,a,b,c,"ATC.INDX"),this.pa.qd=!0,b&32&&!d&&Yk(this)&&Pb(this,!0)};k.Vn=function(a,b){var c=3-((this.pa.qg&12)>>2),c=this.pa.gi&-17|(this.eh&1<<c)<<4-c;this.pa.gi=c;A(this,962,null,b,"STATUS0",c);return c};k.dp=function(a,b,c){this.pa.qg=b;Xk(this);A(this,962,b,c,"MISC")};
k.Un=function(a,b){var c=this.pa.Ld;A(this,964,null,b,"SEQ.INDX",c);return c};k.kp=function(a,b,c){this.pa.Ld=b;A(this,964,b,c,"SEQ.INDX")};k.Tn=function(a,b){var c=this.pa.Uf[this.pa.Ld];this.ua()&&A(this,965,null,b,"SEQ"+this.pa.ri[this.pa.Ld],c);return c};k.jp=function(a,b,c){this.ua()&&A(this,965,b,c,"SEQ."+this.pa.ri[this.pa.Ld]);this.pa.Uf[this.pa.Ld]=b;2==this.pa.Ld&&(this.pa.rb=wk[b&15])};k.Bn=function(a,b){var c=this.pa.Ti;A(this,972,null,b,"GRC1",c);return c};
k.Vo=function(a,b,c){this.pa.Ti=b;A(this,972,b,c,"GRC1")};k.Cn=function(a,b){var c=this.pa.Ui;A(this,970,null,b,"GRC2",c);return c};k.Wo=function(a,b,c){this.pa.Ui=b;A(this,970,b,c,"GRC2")};k.An=function(a,b){var c=this.pa.Kd;A(this,974,null,b,"GRC.INDX",c);return c};k.Uo=function(a,b,c){this.pa.Kd=b;A(this,974,b,c,"GRC.INDX")};k.zn=function(a,b){var c=this.pa.Be[this.pa.Kd];this.ua()&&A(this,975,null,b,"GRC."+this.pa.qi[this.pa.Kd],c);return c};
k.To=function(a,b,c){this.ua()&&A(this,975,b,c,"GRC."+this.pa.qi[this.pa.Kd]);this.pa.Be[this.pa.Kd]=b;switch(this.pa.Kd){case 0:this.pa.Sh=wk[b&15];this.pa.Xe=this.pa.Sh&~this.pa.te;break;case 1:this.pa.te=~wk[b&15];this.pa.Xe=this.pa.Sh&~this.pa.te;break;case 2:this.pa.$i=wk[b&15]&2155905152;break;case 3:case 5:this.bf(il(this));break;case 4:this.pa.Sj=(b&3)<<3;break;case 6:$k(this,!1);break;case 7:this.pa.aj=wk[b&15^15]&2155905152;break;case 8:this.pa.zb=b|b<<8|b<<16|b<<24}};
k.rn=function(a,b){return kl(this,this.Mb,b)};k.Ko=function(a,b,c){a=this.Mb;a.Gh=a.vc;a.vc=b&31;A(this,a.port,b,c,"CRTC.INDX")};k.qn=function(a,b){return ll(this,this.Mb,b)};k.Jo=function(a,b,c){ml(this,this.Mb,b,c)};k.sn=function(a,b){return nl(this,this.Mb,b)};k.Lo=function(a,b,c){a=this.Mb;A(this,a.port+4,b,c,"MODE");a.Lc=b;$k(this,!1)};k.pn=function(a,b){var c=this.Mb.of;this.ua()&&A(this,this.Mb.port+5,null,b,this.Mb.type+".COLOR",c);return c};
k.Io=function(a,b,c){this.ua()&&A(this,this.Mb.port+5,b,c,this.Mb.type+".COLOR");this.Mb.of!==b&&(this.Mb.of=b,jl(this,!1))};k.tn=function(a,b){return ol(this,this.Mb,b)};function kl(a,b,c){var d=b.vc;A(a,b.port,null,c,"CRTC.INDX",d);return d}function ll(a,b,c){var d;b.vc<b.Yi&&(d=b.lc[b.vc]);a.ua()&&A(a,b.port+1,null,c,"CRTC."+b.bh[b.vc],d);return d}function ml(a,b,c,d){b.vc<b.Yi&&(a.ua()&&A(a,b.port+1,c,d,"CRTC."+b.bh[b.vc]),b.lc[b.vc]=c,9==b.vc&&8!=b.Gh&&$k(a,!0),al(a))}
function nl(a,b,c){var d=b.Lc;A(a,b.port+4,null,c,"MODE",d);return d}function ol(a,b,c){var d=0,e=D(a.T),f=e-b.ij;0>f&&(f=0);f%b.bj>b.no&&(d|=1);f%=b.fl;f>b.po&&(d|=8);b.ij=e-f;b===a.pa?(d|=b.Nf&48^48,b.qd=!1):d=(b.Nf^=9)|240;b.Nf=d;A(a,b.port+6,null,c,b===a.pa?"STATUS1":"STATUS",d);return d}
var Rk={948:T.prototype.Jn,949:T.prototype.In,952:T.prototype.Kn,954:T.prototype.Ln,980:T.prototype.rn,981:T.prototype.qn,984:T.prototype.sn,985:T.prototype.pn,986:T.prototype.tn},Sk={948:T.prototype.ap,949:T.prototype.$o,952:T.prototype.bp,980:T.prototype.Ko,981:T.prototype.Jo,984:T.prototype.Lo,985:T.prototype.Io},Tk={960:T.prototype.Zk,961:T.prototype.Zk,962:T.prototype.Vn,964:T.prototype.Un,965:T.prototype.Tn,970:T.prototype.Cn,972:T.prototype.Bn,974:T.prototype.An,975:T.prototype.zn},Uk={954:T.prototype.jm,
960:T.prototype.im,961:T.prototype.im,962:T.prototype.dp,964:T.prototype.kp,965:T.prototype.jp,970:T.prototype.Wo,972:T.prototype.Vo,974:T.prototype.Uo,975:T.prototype.To,986:T.prototype.jm};
C&2155905152,0>Q&&(Q+=4294967296),Q=xk[Q]||0,el(a.Ih,h++,n,g[Q]),C<<=1;h>t&&(t=h);n<x&&(x=n);n>=v&&(v=n+1)}e++;if(h>=a.Nb&&(h=0,++n>a.yc))break}l<a.Nb&&(a.pf.putImageData(a.Ih,0,0,l,x,t-l,v-x),a.dd.drawImage(a.mf,0,0,a.Nb,a.yc,0,0,a.Fd,a.je))}}}}k.Kn=function(a,b){return kl(this,this.bd,b)};k.bp=function(a,b,c){a=this.bd;a.Gh=a.vc;a.vc=b&31;A(this,a.port,b,c,"CRTC.INDX")};k.Jn=function(a,b){return ll(this,this.bd,b)};k.ap=function(a,b,c){ml(this,this.bd,b,c)};
k.Ln=function(a,b){return nl(this,this.bd,b)};k.cp=function(a,b,c){a=this.bd;A(this,a.port+4,b,c,"MODE");a.Lc=b;$k(this,!1)};k.Mn=function(a,b){return ol(this,this.bd,b)};k.jm=function(a,b,c){this.pa.Fh=this.pa.Fh&-4|b&3;A(this,a,b,c,"FEAT")};k.Zk=function(a,b){var c=this.pa.qd?this.pa.Vd[this.pa.Jd&31]:this.pa.Jd;this.ua()&&A(this,960,null,b,"ATC."+(this.pa.qd?this.pa.pi[this.pa.Jd&31]:"INDX"),c);this.pa.qd=!this.pa.qd;return c};
k.im=function(a,b,c){var d=this.pa.Jd&32;if(this.pa.qd){var e=this.pa.Jd&31;if(16<=e||!d)this.ua()&&A(this,a,b,c,"ATC."+this.pa.pi[e]),this.pa.Vd[e]=b;this.pa.qd=!1}else this.pa.Jd=b,A(this,a,b,c,"ATC.INDX"),this.pa.qd=!0,b&32&&!d&&Yk(this)&&Pb(this,!0)};k.Wn=function(a,b){var c=3-((this.pa.qg&12)>>2),c=this.pa.gi&-17|(this.eh&1<<c)<<4-c;this.pa.gi=c;A(this,962,null,b,"STATUS0",c);return c};k.ep=function(a,b,c){this.pa.qg=b;Xk(this);A(this,962,b,c,"MISC")};
k.Vn=function(a,b){var c=this.pa.Ld;A(this,964,null,b,"SEQ.INDX",c);return c};k.lp=function(a,b,c){this.pa.Ld=b;A(this,964,b,c,"SEQ.INDX")};k.Un=function(a,b){var c=this.pa.Uf[this.pa.Ld];this.ua()&&A(this,965,null,b,"SEQ"+this.pa.ri[this.pa.Ld],c);return c};k.kp=function(a,b,c){this.ua()&&A(this,965,b,c,"SEQ."+this.pa.ri[this.pa.Ld]);this.pa.Uf[this.pa.Ld]=b;2==this.pa.Ld&&(this.pa.rb=wk[b&15])};k.Cn=function(a,b){var c=this.pa.Ti;A(this,972,null,b,"GRC1",c);return c};
k.Wo=function(a,b,c){this.pa.Ti=b;A(this,972,b,c,"GRC1")};k.Dn=function(a,b){var c=this.pa.Ui;A(this,970,null,b,"GRC2",c);return c};k.Xo=function(a,b,c){this.pa.Ui=b;A(this,970,b,c,"GRC2")};k.Bn=function(a,b){var c=this.pa.Kd;A(this,974,null,b,"GRC.INDX",c);return c};k.Vo=function(a,b,c){this.pa.Kd=b;A(this,974,b,c,"GRC.INDX")};k.An=function(a,b){var c=this.pa.Be[this.pa.Kd];this.ua()&&A(this,975,null,b,"GRC."+this.pa.qi[this.pa.Kd],c);return c};
k.Uo=function(a,b,c){this.ua()&&A(this,975,b,c,"GRC."+this.pa.qi[this.pa.Kd]);this.pa.Be[this.pa.Kd]=b;switch(this.pa.Kd){case 0:this.pa.Sh=wk[b&15];this.pa.Xe=this.pa.Sh&~this.pa.te;break;case 1:this.pa.te=~wk[b&15];this.pa.Xe=this.pa.Sh&~this.pa.te;break;case 2:this.pa.$i=wk[b&15]&2155905152;break;case 3:case 5:this.bf(il(this));break;case 4:this.pa.Sj=(b&3)<<3;break;case 6:$k(this,!1);break;case 7:this.pa.aj=wk[b&15^15]&2155905152;break;case 8:this.pa.zb=b|b<<8|b<<16|b<<24}};
k.sn=function(a,b){return kl(this,this.Mb,b)};k.Lo=function(a,b,c){a=this.Mb;a.Gh=a.vc;a.vc=b&31;A(this,a.port,b,c,"CRTC.INDX")};k.rn=function(a,b){return ll(this,this.Mb,b)};k.Ko=function(a,b,c){ml(this,this.Mb,b,c)};k.tn=function(a,b){return nl(this,this.Mb,b)};k.Mo=function(a,b,c){a=this.Mb;A(this,a.port+4,b,c,"MODE");a.Lc=b;$k(this,!1)};k.qn=function(a,b){var c=this.Mb.of;this.ua()&&A(this,this.Mb.port+5,null,b,this.Mb.type+".COLOR",c);return c};
k.Jo=function(a,b,c){this.ua()&&A(this,this.Mb.port+5,b,c,this.Mb.type+".COLOR");this.Mb.of!==b&&(this.Mb.of=b,jl(this,!1))};k.un=function(a,b){return ol(this,this.Mb,b)};function kl(a,b,c){var d=b.vc;A(a,b.port,null,c,"CRTC.INDX",d);return d}function ll(a,b,c){var d;b.vc<b.Yi&&(d=b.lc[b.vc]);a.ua()&&A(a,b.port+1,null,c,"CRTC."+b.bh[b.vc],d);return d}function ml(a,b,c,d){b.vc<b.Yi&&(a.ua()&&A(a,b.port+1,c,d,"CRTC."+b.bh[b.vc]),b.lc[b.vc]=c,9==b.vc&&8!=b.Gh&&$k(a,!0),al(a))}
function nl(a,b,c){var d=b.Lc;A(a,b.port+4,null,c,"MODE",d);return d}function ol(a,b,c){var d=0,e=D(a.T),f=e-b.ij;0>f&&(f=0);f%b.bj>b.oo&&(d|=1);f%=b.fl;f>b.qo&&(d|=8);b.ij=e-f;b===a.pa?(d|=b.Nf&48^48,b.qd=!1):d=(b.Nf^=9)|240;b.Nf=d;A(a,b.port+6,null,c,b===a.pa?"STATUS1":"STATUS",d);return d}
var Rk={948:T.prototype.Kn,949:T.prototype.Jn,952:T.prototype.Ln,954:T.prototype.Mn,980:T.prototype.sn,981:T.prototype.rn,984:T.prototype.tn,985:T.prototype.qn,986:T.prototype.un},Sk={948:T.prototype.bp,949:T.prototype.ap,952:T.prototype.cp,980:T.prototype.Lo,981:T.prototype.Ko,984:T.prototype.Mo,985:T.prototype.Jo},Tk={960:T.prototype.Zk,961:T.prototype.Zk,962:T.prototype.Wn,964:T.prototype.Vn,965:T.prototype.Un,970:T.prototype.Dn,972:T.prototype.Cn,974:T.prototype.Bn,975:T.prototype.An},Uk={954:T.prototype.jm,
960:T.prototype.im,961:T.prototype.im,962:T.prototype.ep,964:T.prototype.lp,965:T.prototype.kp,970:T.prototype.Xo,972:T.prototype.Wo,974:T.prototype.Vo,975:T.prototype.Uo,986:T.prototype.jm};
Ja(function(){for(var a=z(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=$a(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new 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=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*
d.screenHeight/d.screenWidth|0)+"px",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.appendChild(e);var f=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");za("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.style.clear="both";c.style.position="relative";c.appendChild(f);
var g=e.getContext("2d"),d=new T(d,e,g,f);ab(d,c)}});function pl(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Xj=1016;this.yg=4;break;case 2:this.Xj=760;this.yg=3;break;default:w("Unrecognized serial adapter #"+this.Vk);return}this.ge=null;y.call(this,"SerialPort",a,pl,ql);var b=a.binding,c;a=rl;b&&(void 0===c&&(c="Panel"),(c=Za(c,this.id))&&(b=c.xa[b])&&this.Hb(null,a,b))}Ua(y,pl);var rl="buffer";k=pl.prototype;k.sk=function(a,b){return a==this.Hh?(this.pe=b,this):null};
k.Hb=function(a,b,c){var d=this;switch(b){case rl:return this.xa[b]=this.ge=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),sl(d,[b]))},c.onkeypress=function(a){a=a||window.event;sl(d,[a.which||a.keyCode])},!0}return!1};k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=ib(a,"ChipSet");xb(b,this,tl,this.Xj);Bb(b,this,ul,this.Xj);B(this)};k.fc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.ec=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ne()};k.save=function(){var a=new sd(this),b=0,c=[];c[b++]=this.wi;c[b++]=this.xk;c[b++]=this.ef;c[b++]=this.fh;c[b++]=this.ce;c[b++]=this.ad;c[b++]=this.od;c[b++]=this.Sc;c[b++]=this.vk;c[b]=this.Wf;a.set(0,c);return a.data()};k.restore=function(a){return this.ne(a[0])};
k.ne=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.wi=a[b++];this.xk=a[b++];this.ef=a[b++];this.fh=a[b++];this.ce=a[b++];this.ad=a[b++];this.od=a[b++];this.Sc=a[b++];this.vk=a[b++];this.Wf=a[b];return!0};function sl(a,b){a.Wf=a.Wf.concat(b);vl(a)}function vl(a){0<a.Wf.length&&!(a.Sc&1)&&(a.wi=a.Wf.shift(),a.Sc|=1);var b=-1;a.Sc&1&&a.fh&1&&(b=4);0<=b?(a.ce&=-8,a.ce|=b,a.oa&&a.yg&&zj(a.oa,a.yg)):(a.ce|=1,a.oa&&a.yg&&Aj(a.oa,a.yg))}
k.Sn=function(a,b){var c=this.ad&128?this.ef&255:this.wi;A(this,a,null,b,this.ad&128?"DLL":"RBR",c);this.Sc&=-2;vl(this);return c};k.Dn=function(a,b){var c=this.ad&128?this.ef>>8:this.fh;A(this,a,null,b,this.ad&128?"DLM":"IER",c);return c};k.En=function(a,b){var c=this.ce;A(this,a,null,b,"IIR",c);return c};k.Fn=function(a,b){var c=this.ad;A(this,a,null,b,"LCR",c);return c};k.Hn=function(a,b){var c=this.od;A(this,a,null,b,"MCR",c);return c};
k.Gn=function(a,b){var c=this.Sc;A(this,a,null,b,"LSR",c);return c};k.Nn=function(a,b){var c=this.vk;A(this,a,null,b,"MSR",c);return c};k.lp=function(a,b,c){A(this,a,b,c,this.ad&128?"DLL":"THR");this.ad&128?this.ef=this.ef&-256|b:(this.xk=b,this.Sc&=-97,this.ge?(13!=b&&(8==b?this.ge.value=this.ge.value.slice(0,-1):(this.ge.value+=String.fromCharCode(b),this.ge.scrollTop=this.ge.scrollHeight)),a=!0):a=!1,a&&(this.Sc|=96))};
k.Xo=function(a,b,c){A(this,a,b,c,this.ad&128?"DLM":"IER");this.ad&128?this.ef=this.ef&255|b<<8:this.fh=b};k.Yo=function(a,b,c){A(this,a,b,c,"LCR");this.ad=b};
k.Zo=function(a,b,c){var d=this.od;A(this,a,b,c,"MCR");this.od=b;this.pe&&(d^b)&3&&(a=this.pe,b=this.od,(c=3==(b&3))?a.ed||(d=!1,a.od&2||(a.reset(),a.cb("serial mouse reset"),d=!0),a.od&1||(a.cb("serial mouse ID requested"),d=!0),d&&(sl(a.fg,[77,77]),a.cb("serial mouse ID sent")),wl(a,a.Na),a.setActive(c)):a.ed&&(a.cb("serial mouse inactive"),xl(a.Na),a.setActive(c)),a.od=b)};
var tl={0:pl.prototype.Sn,1:pl.prototype.Dn,2:pl.prototype.En,3:pl.prototype.Fn,4:pl.prototype.Hn,5:pl.prototype.Gn,6:pl.prototype.Nn},ul={0:pl.prototype.lp,1:pl.prototype.Xo,3:pl.prototype.Yo,4:pl.prototype.Zo};Ja(function(){for(var a=z(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new pl(d);ab(d,c)}});function yl(a){y.call(this,"Mouse",a,yl,zl);if(this.Vi=a.serial)this.$j="SerialPort";this.setActive(!1);this.zh=!1;B(this)}Ua(y,yl);k=yl.prototype;
k.Tn=function(a,b){var c=this.ad&128?this.ef&255:this.wi;A(this,a,null,b,this.ad&128?"DLL":"RBR",c);this.Sc&=-2;vl(this);return c};k.En=function(a,b){var c=this.ad&128?this.ef>>8:this.fh;A(this,a,null,b,this.ad&128?"DLM":"IER",c);return c};k.Fn=function(a,b){var c=this.ce;A(this,a,null,b,"IIR",c);return c};k.Gn=function(a,b){var c=this.ad;A(this,a,null,b,"LCR",c);return c};k.In=function(a,b){var c=this.od;A(this,a,null,b,"MCR",c);return c};
k.Hn=function(a,b){var c=this.Sc;A(this,a,null,b,"LSR",c);return c};k.On=function(a,b){var c=this.vk;A(this,a,null,b,"MSR",c);return c};k.mp=function(a,b,c){A(this,a,b,c,this.ad&128?"DLL":"THR");this.ad&128?this.ef=this.ef&-256|b:(this.xk=b,this.Sc&=-97,this.ge?(13!=b&&(8==b?this.ge.value=this.ge.value.slice(0,-1):(this.ge.value+=String.fromCharCode(b),this.ge.scrollTop=this.ge.scrollHeight)),a=!0):a=!1,a&&(this.Sc|=96))};
k.Yo=function(a,b,c){A(this,a,b,c,this.ad&128?"DLM":"IER");this.ad&128?this.ef=this.ef&255|b<<8:this.fh=b};k.Zo=function(a,b,c){A(this,a,b,c,"LCR");this.ad=b};
k.$o=function(a,b,c){var d=this.od;A(this,a,b,c,"MCR");this.od=b;this.pe&&(d^b)&3&&(a=this.pe,b=this.od,(c=3==(b&3))?a.ed||(d=!1,a.od&2||(a.reset(),a.cb("serial mouse reset"),d=!0),a.od&1||(a.cb("serial mouse ID requested"),d=!0),d&&(sl(a.fg,[77,77]),a.cb("serial mouse ID sent")),wl(a,a.Na),a.setActive(c)):a.ed&&(a.cb("serial mouse inactive"),xl(a.Na),a.setActive(c)),a.od=b)};
var tl={0:pl.prototype.Tn,1:pl.prototype.En,2:pl.prototype.Fn,3:pl.prototype.Gn,4:pl.prototype.In,5:pl.prototype.Hn,6:pl.prototype.On},ul={0:pl.prototype.mp,1:pl.prototype.Yo,3:pl.prototype.Zo,4:pl.prototype.$o};Ja(function(){for(var a=z(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new pl(d);ab(d,c)}});function yl(a){y.call(this,"Mouse",a,yl,zl);if(this.Vi=a.serial)this.$j="SerialPort";this.setActive(!1);this.zh=!1;B(this)}Ua(y,yl);k=yl.prototype;
k.wc=function(a,b,c,d){this.Ma=a;this.sa=b;this.T=c;this.ka=d;this.hi=ib(this.Ma,"Video")};k.setActive=function(a){this.ed=a};k.fc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.$j&&!this.fg){for(var c=null;(c=ib(this.Ma,this.$j,c))&&(!c.sk||!(this.fg=c.sk(this.Vi,this))););this.fg?this.hi&&(c=this.hi,c.pe=this,this.Na=c.Na):w(this.id+": "+this.$j+" "+this.Vi+" unavailable")}this.ed?wl(this,this.Na):xl(this.Na)}return!0};
k.ec=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ne()};k.save=function(){var a=new sd(this);a.set(0,this.fk());return a.data()};k.restore=function(a){return this.ne(a[0])};k.ne=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Rg=a[b++];this.Sg=a[b++];this.ff=a[b++];this.gf=a[b++];this.vh=a[b++];this.wh=a[b++];this.od=a[b];return!0};
k.fk=function(){var a=0,b=[];b[a++]=this.ed;b[a++]=this.Rg;b[a++]=this.Sg;b[a++]=this.ff;b[a++]=this.gf;b[a++]=this.vh;b[a++]=this.wh;b[a]=this.od;return b};k.Gg=function(a){this.zh=a};
@ -605,12 +605,12 @@ k.load=function(a,b,c,d,e){var f=b;if(!this.Te)if(this.wd=a,this.$e=b,this.Te=d,
ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.uf?"":d)+"&format=json")),sa(f,!0,null,this,this.Pm,b)};
k.Pm=function(a,b,c,d){var e=null;this.vf=!1;var f=0>c&&this.Ma&&!this.Ma.na.Sb;if(this.Ah)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Id=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.wd+'" (error '+c+")",f);else try{if(0<fa(a,!0).toLowerCase().indexOf("-readonly"))this.vf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.vf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.wd]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{this.Ab=h.length;this.Bb=h[0].length;this.Gb=h[0][0].length;var n=h[0][0][0];this.qb=n&&n.length||512;for(b=a=0;b<this.Ab;b++)for(c=0;c<this.Bb;c++)for(d=0;d<this.Gb;d++)if(n=h[b][c][d]){var l=n.length;void 0===l&&(l=n.length=512);var l=l>>2,t=n.pattern;void 0===t&&(t=n.pattern=0);var s=n.data;if(void 0===s){var u=n.bytes;if(void 0!==u&&u.length){for(var f=
l<<2,x=u.length;x<f;x++)u[x]=t;this.fill(n,u,0)}else s=[],t=n.pattern=t|t<<8|t<<16|t<<24,n.data=s;delete n.bytes}Gl(n,b,c);for(f=0;f<s.length;f++)a=a+s[f]&4294967295}this.hb=h;this.qf=a;e=this}else w("Empty disk image: "+this.wd)}catch(v){w("Disk image error: "+v.message)}this.Te&&(this.Te.call(this.Lm,this.Sa,e,this.wd,this.$e),this.Te=null)};function Gl(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.an=b;a.cn=c;a.gd=a.Hc=0;a.wb=!1;return a}
k.qo=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var n=0;h--;){var l=this.seek(e,f,g,!0);if(!l)break;this.fill(l,b,n);n+=l.length;g++}}(d=d[5])&&d(c,a)};function Hl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Ab+":"+a.Bb+":"+a.Gb+":"+a.qb;c+="&machine="+a.ga.wf();c+="&user="+a.ga.le();return ta()+"/api/v1/disk?"+c}
function Il(a,b,c,d,e,f){if(a.Id){var g;g="action=read&volume="+a.$e;g+="&chs="+a.Ab+":"+a.Bb+":"+a.Gb+":"+a.qb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.wf());g+="&user="+a.ga.le();sa(ta()+"/api/v1/disk?"+g,!0,null,a,a.qo,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function Jl(a,b,c){b.wb=!0;var d=a.Ae.indexOf(b);0<=d&&(a.Ae.splice(d,1),a.Vg.splice(d,1));a.Ae.push(b);a.Vg.push(oa());c&&Kl(a)}
l<<2,x=u.length;x<f;x++)u[x]=t;this.fill(n,u,0)}else s=[],t=n.pattern=t|t<<8|t<<16|t<<24,n.data=s;delete n.bytes}Gl(n,b,c);for(f=0;f<s.length;f++)a=a+s[f]&4294967295}this.hb=h;this.qf=a;e=this}else w("Empty disk image: "+this.wd)}catch(v){w("Disk image error: "+v.message)}this.Te&&(this.Te.call(this.Lm,this.Sa,e,this.wd,this.$e),this.Te=null)};function Gl(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.bn=b;a.dn=c;a.gd=a.Hc=0;a.wb=!1;return a}
k.ro=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var n=0;h--;){var l=this.seek(e,f,g,!0);if(!l)break;this.fill(l,b,n);n+=l.length;g++}}(d=d[5])&&d(c,a)};function Hl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Ab+":"+a.Bb+":"+a.Gb+":"+a.qb;c+="&machine="+a.ga.wf();c+="&user="+a.ga.le();return ta()+"/api/v1/disk?"+c}
function Il(a,b,c,d,e,f){if(a.Id){var g;g="action=read&volume="+a.$e;g+="&chs="+a.Ab+":"+a.Bb+":"+a.Gb+":"+a.qb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.wf());g+="&user="+a.ga.le();sa(ta()+"/api/v1/disk?"+g,!0,null,a,a.ro,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function Jl(a,b,c){b.wb=!0;var d=a.Ae.indexOf(b);0<=d&&(a.Ae.splice(d,1),a.Vg.splice(d,1));a.Ae.push(b);a.Vg.push(oa());c&&Kl(a)}
function Kl(a){if(a.Ae.length){var b=a.Vg[0]+2E3;a.Td&&a.bl<b&&(clearTimeout(a.Td),a.Td=null);if(!a.Td){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Td=setTimeout(function(){Fl(a,!0)},b);a.bl=c+b}}else a.Td&&(clearTimeout(a.Td),a.Td=null)}
function Fl(a,b){b&&(a.Td=null);var c=a.Ae[0];if(c){for(var d=c.an,e=c.cn,c=c.sector,f=0,g=[],h=c-1;h<a.hb[d][e].length;h++){var n=a.hb[d][e][h];if(!n.wb)break;var l=a.Ae.indexOf(n);a.Ae.splice(l,1);a.Vg.splice(l,1);g=g.concat(Ll(n));n.wb=!1;f++}a.Id?(h={},a.Qi=!0,h.action="write",h.volume=a.$e,h.chs=a.Ab+":"+a.Bb+":"+a.Gb+":"+a.qb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ga.wf(),h.user=a.ga.le(),h.data=JSON.stringify(g),d=sa(ta()+"/api/v1/disk",b,h,a,a.vo,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.vo=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Qi=!1;if(0<=a&&a<this.hb.length&&0<=b&&b<this.hb[a].length)for(e-=1;0<f--&&0<=e&&e<this.hb[a][b].length;e++){var g=this.hb[a][b][e];c?Jl(this,g,!1):g.wb||(g.gd=g.Hc=0)}d&&Kl(this)};k.info=function(){return this.hb.length?[this.hb.length,this.hb[0].length,this.hb[0][0].length,this.hb[0][0][0].length]:[0,0,0,0]};
function Fl(a,b){b&&(a.Td=null);var c=a.Ae[0];if(c){for(var d=c.bn,e=c.dn,c=c.sector,f=0,g=[],h=c-1;h<a.hb[d][e].length;h++){var n=a.hb[d][e][h];if(!n.wb)break;var l=a.Ae.indexOf(n);a.Ae.splice(l,1);a.Vg.splice(l,1);g=g.concat(Ll(n));n.wb=!1;f++}a.Id?(h={},a.Qi=!0,h.action="write",h.volume=a.$e,h.chs=a.Ab+":"+a.Bb+":"+a.Gb+":"+a.qb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ga.wf(),h.user=a.ga.le(),h.data=JSON.stringify(g),d=sa(ta()+"/api/v1/disk",b,h,a,a.wo,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.wo=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Qi=!1;if(0<=a&&a<this.hb.length&&0<=b&&b<this.hb[a].length)for(e-=1;0<f--&&0<=e&&e<this.hb[a][b].length;e++){var g=this.hb[a][b][e];c?Jl(this,g,!1):g.wb||(g.gd=g.Hc=0)}d&&Kl(this)};k.info=function(){return this.hb.length?[this.hb.length,this.hb[0].length,this.hb[0][0].length,this.hb[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,g=this.Sa,h=this.hb[a];if(h){var n=h[b];if(!n&&g.ui&&b<g.Bb)for(n=h[b]=Array(g.de),h=0;h<n.length;h++)n[h]=Gl(null,a,b,h+1,g.jb,0);if(n){for(h=0;h<n.length;h++)if(n[h]&&n[h].sector==c){f=n[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<n.length;)null===n[h].pattern&&d++;Il(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.ui&&9==g.$a&&(f=n[h]=Gl(null,a,b,g.$a,g.jb,0))}}e&&e(f,!1);return f};
k.fill=function(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 Ll(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}function Ml(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.vf)return!1;if(b<a.length){if(c!=Ml(a,b)){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.Hc?f<a.gd?(a.Hc+=a.gd-f,a.gd=f):f>=a.gd+a.Hc&&(a.Hc+=f-(a.gd+a.Hc)+1):(a.gd=f,a.Hc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Id&&Jl(this,a,!0)}return!0}return null};
@ -619,7 +619,7 @@ k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){v
b+" changes applied)";b=-1;break}if(this.vf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.hb[h][n][l]){for(n=h.data.length;n<e;)h.data[n++]=h.pattern;n=0;h.gd=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[n++];b++}}}0>b&&this.ga.Ia("unable to restore disk '"+this.wd+": "+c);return b};
k.toJSON=function(){var a=JSON.stringify(this.hb),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,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')};
function Nl(a){y.call(this,"FDC",a,Nl,Ol);this.dmaRead=this.Ei;this.dmaWrite=this.Fi;this.dmaFormat=this.Mm;this.Ne=null;if(a.autoMount&&(this.Ne=a.autoMount,"string"==typeof this.Ne))try{this.Ne=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ne=null}this.Bc=[];this.Ok=!za("Mobi")&&window&&"FileReader"in window}Ua(y,Nl);m={};aa={};
var Pl={3:{Ed:3,fe:0,name:aa.nq},4:{Ed:2,fe:1,name:aa.lq},5:{Ed:9,fe:7,name:aa.zq},6:{Ed:9,fe:7,name:aa.fq},7:{Ed:2,fe:0,name:aa.hq},8:{Ed:1,fe:2,name:aa.mq},10:{Ed:2,fe:7,name:aa.gq},13:{Ed:6,fe:7,name:aa.Sp},15:{Ed:3,fe:0,name:aa.kq}};k=Nl.prototype;
var Pl={3:{Ed:3,fe:0,name:aa.oq},4:{Ed:2,fe:1,name:aa.mq},5:{Ed:9,fe:7,name:aa.Aq},6:{Ed:9,fe:7,name:aa.gq},7:{Ed:2,fe:0,name:aa.iq},8:{Ed:1,fe:2,name:aa.nq},10:{Ed:2,fe:7,name:aa.hq},13:{Ed:6,fe:7,name:aa.Tp},15:{Ed:3,fe:0,name:aa.lq}};k=Nl.prototype;
k.Hb=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(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=da(c.value,10);null!=a&&Ql(d,a)},!0;
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Rl(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Ok?(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;Rl(d,fa(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=ib(a,"ChipSet");this.Md();xb(b,this,Sl);Bb(b,this,Tl);this.Ok&&Ul(this,"Local Disk","?");Ul(this,"Remote Disk","??");this.$f()||B(this)};
@ -635,45 +635,45 @@ function Rl(a,b,c,d){var e,f=a.xa.listDrives;if(f&&!isNaN(e=parseInt(f.value,10)
g=c,h=void 0,h=0;h<f.Bc.length;h++)if(f.Bc[h][1]==g){f.Bc.splice(h,1);break}Vl(a,e,!1,!0)}}else Vl(a,e);else a.Ia("Nothing to load")}function Xl(a,b,c,d,e,f){var g=a.Fa[b];if(d&&g.af!=d){Vl(a,b,e,!0);if(g.Kc)return a.Ia("Drive "+b+" busy"),!0;g.Kc=!0;e&&(g.Re=!0,a.Je++,a.ua()&&a.cb("loading diskette '"+c+"'"));g.tf=!!f;(new Cl(a,g,"preload")).load(c,d,f,a.Hk);return!1}return!0}
k.Hk=function(a,b,c,d,e){var f;a.Kc=!1;b&&(f=b.info(),b&&f[0]>a.Ab||f[1]>a.Bb)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.mb)),b=null);b?(a.za=b,a.qm=c,a.af=d,Yl(this,c,d,b),f=b.info(),this.ve|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.mb),a.Re||e),a.Oh=f[0],a.wg=f[1],a.xg=f[2]):a.tf=!1;a.Re&&(a.Re=!1,--this.Je||B(this));Ql(this,a.mb)};
function Ul(a,b,c){if(a=a.xa.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function Ql(a,b){if(0<=b&&b<a.Fa.length){var c=a.Fa[b],d=a.xa.listDisks,e=a.xa.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.tf?"?":c.af,!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 Vl(a,b,c,d){var e=a.Fa[b];e.za&&(Wl(a,e.af,e.za),e.qm="",e.af="",e.za=null,e.tf=!1,a.ve|=128,d||a.Ia("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ql(a,b))}function Yl(a,b,c,d){var e;for(e=0;e<a.Bc.length;e++)if(a.Bc[e][1]==c){d.restore(a.Bc[e][2]);return}a.Bc[e]=[b,c,[]]}function Wl(a,b,c){var d;for(d=0;d<a.Bc.length;d++)if(a.Bc[d][1]==b){a.Bc[d][2]=c.save();break}}k.So=function(a,b,c){A(this,a,b,c,"OUTPUT");b&4?this.Mf&4||this.Mf&8&&this.oa&&zj(this.oa,6):this.Md();this.Mf=b};
k.yn=function(a,b){A(this,a,null,b,"STATUS",this.Ca);return this.Ca};k.wn=function(a,b){var c=0;this.Cb<this.kb&&(c=this.kc[this.Cb]);this.Mf&8&&this.oa&&Aj(this.oa,6);this.ua()&&A(this,a,null,b,"DATA["+this.Cb+"]",c);++this.Cb>=this.kb&&(this.Ca&=-81,this.Cb=this.kb=0);return c};
k.Ro=function(a,b,c){this.ua()&&A(this,a,b,c,"DATA["+this.kb+"]");this.kb<this.kc.length&&(this.kc[this.kb++]=b);a=this.kc[0]&31;if(void 0!==Pl[a]&&this.kb>=Pl[a].Ed){b=!1;this.Cb=0;a=this.Ta();var d,e,f,g,h=a&31;switch(h){case 3:this.Ta(m.oq);this.Ta(m.Vp);this.Yb();break;case 4:c=this.Ta(m.Qf);this.mb=c&3;d=this.Fa[this.mb];this.Yb();this.jc((d.eb&4278190080)>>>24,m.rq);break;case 5:case 6:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];d.Ra=b;c=d.ub=this.Ta(m.kk);e=this.Ta(m.lk);f=d.$a=
this.Ta(m.nk);g=this.Ta(m.ji);d.jb=128<<g;d.de=this.Ta(m.Qp);this.Ta(m.Cm);this.Ta(m.Pp);6==h?(h=d,h.eb=72,h.za&&(h.Xa=null,h.eb=0,this.oa&&(sj(this.oa,2,this,"dmaRead",h),kj(this.oa,2)))):(h=d,h.eb=72,h.za&&(h.za.vf?h.eb=576:(h.Xa=null,h.eb=0,this.oa&&(sj(this.oa,2,this,"dmaWrite",h),kj(this.oa,2)))));Zl(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=this.Ta(m.Qf);this.mb=c&3;d=this.Fa[this.mb];d.ub=d.be=0;d.eb=268435488;this.Yb();b=!0;break;case 8:d=this.Fa[this.mb];d.Ra=0;this.Yb();this.jc(d.mb|d.Ra<<
2|d.eb&255,m.Em);this.jc(d.ub,m.dq);this.mb=this.mb+1&3;break;case 10:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.ub;e=d.Ra=b;f=d.$a=1;g=0;d.eb=0;d.za&&(d.Xa=d.za.seek(d.ub,d.Ra,d.$a))?g=d.Xa.length:d.eb=72;Zl(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.ub;e=d.Ra=b;f=1;g=this.Ta(m.ji);d.jb=128<<g;d.de=this.Ta(m.jq);this.Ta(m.Cm);d.uk=this.Ta(m.Bm);h=d;h.eb=72;h.za&&(h.Xa=null,h.eb=0,this.oa&&(h.nf=0,h.Qc=Array(4),h.ui=!0,h.ph=
0,sj(this.oa,2,this,"dmaFormat",h),kj(this.oa,2),h.ui=!1));Zl(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=this.Ta(m.Qf),this.mb=c&3,d=this.Fa[this.mb],d.Ra=c>>2&1,c=this.Ta(m.aq),d.ub+=c-d.be,0>d.ub&&(d.ub=0),d.ub>=d.Ab&&(d.ub=d.Ab-1),d.be=c,d.eb=32,d.ub||(d.eb|=268435456),this.Yb(),b=!0}0<this.kb&&(this.Ca|=80);this.Mf&8&&(!d||d.eb&8||!b||this.oa&&zj(this.oa,6))}};k.xn=function(a,b){var c=this.ve;this.ve&=-129;A(this,a,null,b,"INPUT",c);return c};
k.Qo=function(a,b,c){A(this,a,b,c,"CONTROL");this.lm=b};function Zl(a,b,c,d,e,f,g,h){a.Yb();a.jc(b.mb|b.Ra<<2|b.eb&255,m.Em);a.jc((b.eb&65280)>>>8,m.pq);a.jc((b.eb&16711680)>>>16,m.qq);var n=0;if(e!=b.ub||f!=b.Ra)n=g=1;c&128&&(f^=n,d||(n=0));a.jc(e+n,m.kk);a.jc(f,m.lk);a.jc(g,m.nk);a.jc(h,m.ji)}k.Ta=function(){var a=this.kc[this.Cb];this.Cb++;return a};k.Yb=function(){this.Cb=this.kb=0};k.jc=function(a){this.kc[this.kb++]=a};k.Ei=function(a,b,c){void 0===b||0>b?this.zc(a,c):c(-1,!1)};
function Vl(a,b,c,d){var e=a.Fa[b];e.za&&(Wl(a,e.af,e.za),e.qm="",e.af="",e.za=null,e.tf=!1,a.ve|=128,d||a.Ia("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ql(a,b))}function Yl(a,b,c,d){var e;for(e=0;e<a.Bc.length;e++)if(a.Bc[e][1]==c){d.restore(a.Bc[e][2]);return}a.Bc[e]=[b,c,[]]}function Wl(a,b,c){var d;for(d=0;d<a.Bc.length;d++)if(a.Bc[d][1]==b){a.Bc[d][2]=c.save();break}}k.To=function(a,b,c){A(this,a,b,c,"OUTPUT");b&4?this.Mf&4||this.Mf&8&&this.oa&&zj(this.oa,6):this.Md();this.Mf=b};
k.zn=function(a,b){A(this,a,null,b,"STATUS",this.Ca);return this.Ca};k.xn=function(a,b){var c=0;this.Cb<this.kb&&(c=this.kc[this.Cb]);this.Mf&8&&this.oa&&Aj(this.oa,6);this.ua()&&A(this,a,null,b,"DATA["+this.Cb+"]",c);++this.Cb>=this.kb&&(this.Ca&=-81,this.Cb=this.kb=0);return c};
k.So=function(a,b,c){this.ua()&&A(this,a,b,c,"DATA["+this.kb+"]");this.kb<this.kc.length&&(this.kc[this.kb++]=b);a=this.kc[0]&31;if(void 0!==Pl[a]&&this.kb>=Pl[a].Ed){b=!1;this.Cb=0;a=this.Ta();var d,e,f,g,h=a&31;switch(h){case 3:this.Ta(m.pq);this.Ta(m.Wp);this.Yb();break;case 4:c=this.Ta(m.Qf);this.mb=c&3;d=this.Fa[this.mb];this.Yb();this.jc((d.eb&4278190080)>>>24,m.sq);break;case 5:case 6:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];d.Ra=b;c=d.ub=this.Ta(m.kk);e=this.Ta(m.lk);f=d.$a=
this.Ta(m.nk);g=this.Ta(m.ji);d.jb=128<<g;d.de=this.Ta(m.Rp);this.Ta(m.Cm);this.Ta(m.Qp);6==h?(h=d,h.eb=72,h.za&&(h.Xa=null,h.eb=0,this.oa&&(sj(this.oa,2,this,"dmaRead",h),kj(this.oa,2)))):(h=d,h.eb=72,h.za&&(h.za.vf?h.eb=576:(h.Xa=null,h.eb=0,this.oa&&(sj(this.oa,2,this,"dmaWrite",h),kj(this.oa,2)))));Zl(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=this.Ta(m.Qf);this.mb=c&3;d=this.Fa[this.mb];d.ub=d.be=0;d.eb=268435488;this.Yb();b=!0;break;case 8:d=this.Fa[this.mb];d.Ra=0;this.Yb();this.jc(d.mb|d.Ra<<
2|d.eb&255,m.Em);this.jc(d.ub,m.eq);this.mb=this.mb+1&3;break;case 10:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.ub;e=d.Ra=b;f=d.$a=1;g=0;d.eb=0;d.za&&(d.Xa=d.za.seek(d.ub,d.Ra,d.$a))?g=d.Xa.length:d.eb=72;Zl(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Ta(m.Qf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.ub;e=d.Ra=b;f=1;g=this.Ta(m.ji);d.jb=128<<g;d.de=this.Ta(m.kq);this.Ta(m.Cm);d.uk=this.Ta(m.Bm);h=d;h.eb=72;h.za&&(h.Xa=null,h.eb=0,this.oa&&(h.nf=0,h.Qc=Array(4),h.ui=!0,h.ph=
0,sj(this.oa,2,this,"dmaFormat",h),kj(this.oa,2),h.ui=!1));Zl(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=this.Ta(m.Qf),this.mb=c&3,d=this.Fa[this.mb],d.Ra=c>>2&1,c=this.Ta(m.bq),d.ub+=c-d.be,0>d.ub&&(d.ub=0),d.ub>=d.Ab&&(d.ub=d.Ab-1),d.be=c,d.eb=32,d.ub||(d.eb|=268435456),this.Yb(),b=!0}0<this.kb&&(this.Ca|=80);this.Mf&8&&(!d||d.eb&8||!b||this.oa&&zj(this.oa,6))}};k.yn=function(a,b){var c=this.ve;this.ve&=-129;A(this,a,null,b,"INPUT",c);return c};
k.Ro=function(a,b,c){A(this,a,b,c,"CONTROL");this.lm=b};function Zl(a,b,c,d,e,f,g,h){a.Yb();a.jc(b.mb|b.Ra<<2|b.eb&255,m.Em);a.jc((b.eb&65280)>>>8,m.qq);a.jc((b.eb&16711680)>>>16,m.rq);var n=0;if(e!=b.ub||f!=b.Ra)n=g=1;c&128&&(f^=n,d||(n=0));a.jc(e+n,m.kk);a.jc(f,m.lk);a.jc(g,m.nk);a.jc(h,m.ji)}k.Ta=function(){var a=this.kc[this.Cb];this.Cb++;return a};k.Yb=function(){this.Cb=this.kb=0};k.jc=function(a){this.kc[this.kb++]=a};k.Ei=function(a,b,c){void 0===b||0>b?this.zc(a,c):c(-1,!1)};
k.Fi=function(a,b){return void 0!==b&&0<=b?this.Nc(a,b):-1};k.Mm=function(a,b){return void 0!==b&&0<=b?this.gk(a,b):-1};k.zc=function(a,b){var c=-1;if(!a.eb&&a.za){do{if(a.Xa&&0<=(c=Ml(a.Xa,a.Va++)))break;a.Xa=a.za.seek(a.ub,a.Ra,a.$a);if(!a.Xa){a.eb=1088;break}a.Va=0;this.Yf(a)}while(1)}b(c,!1)};k.Nc=function(a,b){if(a.eb||!a.za)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Va++,b))break;a.Xa=a.za.seek(a.ub,a.Ra,a.$a);if(!a.Xa){a.eb=8256;b=-1;break}a.Va=0;this.Yf(a)}while(1);return b};
k.Yf=function(a){a.$a++;a.$a>=a.xg+1&&(a.$a=1,a.Ra++,a.Ra>=a.wg&&(a.Ra=0,a.ub++))};k.gk=function(a,b){if(a.eb)return-1;a.Qc[a.nf++]=b;if(a.nf==a.Qc.length){a.ub=a.Qc[0];a.Ra=a.Qc[1];a.$a=a.Qc[2];a.jb=128<<a.Qc[3];for(var c=a.nf=0;c<a.jb;c++)if(0>this.Nc(a,a.uk))return-1;a.ph++}a.ph>=a.de&&(b=-1);return b};var Sl={1012:Nl.prototype.yn,1013:Nl.prototype.wn,1015:Nl.prototype.xn},Tl={1010:Nl.prototype.So,1013:Nl.prototype.Ro,1015:Nl.prototype.Qo};
Ja(function(){for(var a=z(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Nl(d);ab(d,c)}});function W(a){y.call(this,"HDC",a,W,$l);this.dmaRead=this.Ei;this.dmaWrite=this.Fi;this.dmaWriteBuffer=this.Nm;this.dmaWriteFormat=this.Om;this.li=[];if(a.drives)try{this.li=eval("("+a.drives+")")}catch(b){w("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.pg=(this.Qe="at"==a.type)?1:0;this.bn=this.Qe?2:3}Ua(y,W);
var am=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.Hb=function(){return!1};k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=ib(a,"ChipSet");xb(b,this,this.Qe?bm:cm);Bb(b,this,this.Qe?dm:em);kd(c,19,this,this.ao);kd(c,64,this,this.bo);this.reset();this.$f()||B(this)};
k.Yf=function(a){a.$a++;a.$a>=a.xg+1&&(a.$a=1,a.Ra++,a.Ra>=a.wg&&(a.Ra=0,a.ub++))};k.gk=function(a,b){if(a.eb)return-1;a.Qc[a.nf++]=b;if(a.nf==a.Qc.length){a.ub=a.Qc[0];a.Ra=a.Qc[1];a.$a=a.Qc[2];a.jb=128<<a.Qc[3];for(var c=a.nf=0;c<a.jb;c++)if(0>this.Nc(a,a.uk))return-1;a.ph++}a.ph>=a.de&&(b=-1);return b};var Sl={1012:Nl.prototype.zn,1013:Nl.prototype.xn,1015:Nl.prototype.yn},Tl={1010:Nl.prototype.To,1013:Nl.prototype.So,1015:Nl.prototype.Ro};
Ja(function(){for(var a=z(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Nl(d);ab(d,c)}});function W(a){y.call(this,"HDC",a,W,$l);this.dmaRead=this.Ei;this.dmaWrite=this.Fi;this.dmaWriteBuffer=this.Nm;this.dmaWriteFormat=this.Om;this.li=[];if(a.drives)try{this.li=eval("("+a.drives+")")}catch(b){w("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.pg=(this.Qe="at"==a.type)?1:0;this.cn=this.Qe?2:3}Ua(y,W);
var am=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.Hb=function(){return!1};k.wc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=ib(a,"ChipSet");xb(b,this,this.Qe?bm:cm);Bb(b,this,this.Qe?dm:em);kd(c,19,this,this.bo);kd(c,64,this,this.co);this.reset();this.$f()||B(this)};
k.fc=function(a,b){if(!b)if(!a||!this.restore)this.Md(),this.Ma.Mi&&this.$f(!0);else if(!this.restore(a))return!1;return!0};k.ec=function(a){return a&&this.save?this.save():!0};k.wf=function(){return this.Ma?this.Ma.wf():""};k.le=function(){return this.Ma?this.Ma.le():""};k.reset=function(){this.Md(null,!0)};k.save=function(){var a=new sd(this);a.set(0,this.ck());return a.data()};k.restore=function(a){return this.Md(a[0])};
k.Md=function(a,b){var c=0,d=!0;if(this.Qe)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.ue=a[c++],this.pm=a[c++],this.we=a[c++],this.ai=a[c++],this.Zh=a[c++],this.Yh=a[c++],this.Lf=a[c++],this.Ca=a[c++],this.Zj=a[c++],this.$h=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Kf=a[c++];this.Ca=a[c++];this.kc=a[c++];this.Cb=a[c++];this.kb=a[c++];this.om=a[c++];this.nm=a[c++];this.mm=a[c++];var e=a[c++];void 0!==e?this.xf=e:void 0===this.xf&&(this.xf=-1)}void 0===this.Fa&&(this.Fa=Array(this.li.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.Fa.length;e++){void 0===this.Fa[e]&&(this.Fa[e]={});var f=this.Fa[e];this.Wi(e,f,this.li[e],c[e],b)||(d=!1);null!=this.Kf&&1>=e&&(this.Kf|=(f.type&3)<<(1-e<<1))}return d};
k.ck=function(){var a=0,b=[];this.Qe?(b[a++]=this.ue,b[a++]=this.pm,b[a++]=this.we,b[a++]=this.ai,b[a++]=this.Zh,b[a++]=this.Yh,b[a++]=this.Lf,b[a++]=this.Ca,b[a++]=this.Zj,b[a++]=this.$h):(b[a++]=this.Kf,b[a++]=this.Ca,b[a++]=this.kc,b[a++]=this.Cb,b[a++]=this.kb,b[a++]=this.om,b[a++]=this.nm,b[a++]=this.mm,b[a++]=this.xf);b[a]=this.ek();return b};
k.Wi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.mb=a;b.errorCode=d[f++];b.vm=d[f++];b.uf=d[f++];b.jf=d[f++];b.kf=d[f++];b.Ra=d[f++];b.Bb=d[f++];b.Ud=d[f++];b.$a=d[f++];b.de=d[f++];b.jb=d[f++];b.kh=this.Qe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.le()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===am[this.pg][b.type])b.type=this.bn;c=am[this.pg][b.type];
k.Wi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.mb=a;b.errorCode=d[f++];b.vm=d[f++];b.uf=d[f++];b.jf=d[f++];b.kf=d[f++];b.Ra=d[f++];b.Bb=d[f++];b.Ud=d[f++];b.$a=d[f++];b.de=d[f++];b.jb=d[f++];b.kh=this.Qe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.le()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===am[this.pg][b.type])b.type=this.cn;c=am[this.pg][b.type];
b.Gb=c[2]||17;b.qb=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.ma)){var h=e.ma[18],h=a?h&240|c:h&15|c<<4;e.ma&&(e.ma[18]=h,Ti(e))}void 0===b.za&&(b.za=null,this.Ia("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));fm(this,b);b.Va=d[f++];b.Xa=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Xa=b.za.seek(b.Ud,b.Ra,b.$a+b.kh)));return g};k.ek=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.dk(this.Fa[c]);return b};
k.dk=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.vm;c[b++]=a.uf;c[b++]=a.jf;c[b++]=a.kf;c[b++]=a.Ra;c[b++]=a.Bb;c[b++]=a.Ud;c[b++]=a.$a;c[b++]=a.de;c[b++]=a.jb;c[b++]=a.Va;c[b]=a.za?a.za.save():null;return c};k.Fk=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function fm(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.jf[2])?e=b.jf[0]<<8|b.jf[1]:c=b.type);null==c||d||(d=am[a.pg][c][1],e=am[a.pg][c][0]);d&&((c=am[a.pg][b.type])&&e!=c[0]&&d!=c[1]&&a.Ia("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Ab=e,b.Bb=d,null==b.za&&(b.za=new Cl(a,b,b.mode)))}}
k.tm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Ud=Math.floor(b/g),b%=g,a.Ra=Math.floor(b/f),a.$a=b%f,a.jb=c*d[3],a.errorCode=0,!0}}return!1};
k.$f=function(a){a||(this.Je=0);for(var b=0;b<this.Fa.length;b++){var c=this.Fa[b];if(c.name&&c.path){if(!(a&&c.za&&c.za.Ah)){var d;d=c.name;var c=c.path,e=this.Fa[b];e.Kc?(this.Ia("Drive "+b+" busy"),d=!0):(e.Kc=!0,e.Re=!0,this.Je++,this.ua()&&this.cb("loading "+d),(e.za||new Cl(this,e,e.mode)).load(d,c,null,this.Qm),d=!1);!d&&a&&B(this,!1)}}else a&&void 0!==c.type&&(c.za=null,fm(this,c,c.type))}return!!this.Je};
k.Qm=function(a,b,c){a.Kc=!1;(a.za=b)&&this.Ia('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.mb),a.Re);a.Re&&(a.Re=!1,--this.Je||B(this))};k.Yn=function(a,b){var c=0;this.Cb<this.kb&&(c=this.kc[this.Cb]);this.oa&&Aj(this.oa,5);this.Ca&=-33;A(this,a,null,b,"DATA["+this.Cb+"]",c);++this.Cb>=this.kb&&(this.Cb=this.kb=0,this.Ca&=-15);return c};
k.np=function(a,b,c){A(this,a,b,c,"DATA["+this.kb+"]");this.kb<this.kc.length&&(this.kc[this.kb++]=b);a=12!=this.kc[0]?6:this.kc.length;6==this.kb&&(this.Ca&=-2);this.kb>=a&&(this.Ca|=2,this.Ca&=-2,gm(this))};k.Zn=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);this.Cb<this.kb&&(this.Ca|=1);return c};k.qp=function(a,b,c){A(this,a,b,c,"RESET");this.om=b;this.oa&&Aj(this.oa,5);this.Md()};k.Xn=function(a,b){A(this,a,null,b,"CONFIG",this.Kf);return this.Kf};
k.pp=function(a,b,c){A(this,a,b,c,"PULSE");this.nm=b;this.Ca=13};k.op=function(a,b,c){A(this,a,b,c,"PATTERN");this.mm=b};k.Uj=function(a,b,c){A(this,a,b,c,"NOISE")};
k.jn=function(a,b){var c=-1;if(this.Sa)if(c=this.zc(this.Sa),1==this.Sa.Va)this.ua(N|$l)&&A(this,a,null,b,"DATA["+this.Sa.Va+"]",c);else if(this.Sa.Va==this.Sa.qb)if(this.Sa.jb-=this.Sa.qb,this.we=this.we-1&255,this.Sa.jb>=this.Sa.qb){var d=this;d.Ca=136;this.zc(this.Sa,function(a){0<=a?(hm(d),d.Ca=80):(d.Ca=1,d.ue=16)},!1)}else this.Ca=80;return c};
k.Co=function(a,b,c){this.Sa&&this.Sa.jb>=this.Sa.qb&&(0>this.Nc(this.Sa,b)?(this.Ca=1,this.ue=16):1==this.Sa.Va?this.ua(N|$l)&&A(this,a,b,c,"DATA["+this.Sa.Va+"]"):this.Sa.Va==this.Sa.qb&&(this.Sa.jb-=this.Sa.qb,this.we=this.we-1&255,hm(this),this.Ca=80,this.Sa.jb>=this.Sa.qb&&(this.Ca|=8)))};k.ln=function(a,b){var c=this.ue;A(this,a,null,b,"ERROR",c);return c};k.Ho=function(a,b,c){A(this,a,b,c,"WPREC");this.pm=b};k.mn=function(a,b){var c=this.we;A(this,a,null,b,"SECCNT",c);return c};
k.Fo=function(a,b,c){A(this,a,b,c,"SECCNT");this.we=b};k.nn=function(a,b){var c=this.ai;A(this,a,null,b,"SECNUM",c);return c};k.Go=function(a,b,c){A(this,a,b,c,"SECNUM");this.ai=b};k.hn=function(a,b){var c=this.Zh;A(this,a,null,b,"CYLLO",c);return c};k.Bo=function(a,b,c){A(this,a,b,c,"CYLLO");this.Zh=b};k.gn=function(a,b){var c=this.Yh;A(this,a,null,b,"CYLHI",c);return c};k.Ao=function(a,b,c){A(this,a,b,c,"CYLHI");this.Yh=b};k.kn=function(a,b){var c=this.Lf;A(this,a,null,b,"DRVHD",c);return c};
k.Do=function(a,b,c){A(this,a,b,c,"DRVHD");this.Lf=b;this.Ca=this.Fa[this.Lf&16?1:0]?this.Ca|64:this.Ca&-65};k.on=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);return c};k.zo=function(a,b,c){A(this,a,b,c,"COMMAND");this.Zj=b;this.oa&&Aj(this.oa,14);im(this)};k.Eo=function(a,b,c){A(this,a,b,c,"FDR");this.$h&4&&!(b&4)&&(this.ue=1);this.$h=b};
k.Qm=function(a,b,c){a.Kc=!1;(a.za=b)&&this.Ia('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.mb),a.Re);a.Re&&(a.Re=!1,--this.Je||B(this))};k.Zn=function(a,b){var c=0;this.Cb<this.kb&&(c=this.kc[this.Cb]);this.oa&&Aj(this.oa,5);this.Ca&=-33;A(this,a,null,b,"DATA["+this.Cb+"]",c);++this.Cb>=this.kb&&(this.Cb=this.kb=0,this.Ca&=-15);return c};
k.op=function(a,b,c){A(this,a,b,c,"DATA["+this.kb+"]");this.kb<this.kc.length&&(this.kc[this.kb++]=b);a=12!=this.kc[0]?6:this.kc.length;6==this.kb&&(this.Ca&=-2);this.kb>=a&&(this.Ca|=2,this.Ca&=-2,gm(this))};k.$n=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);this.Cb<this.kb&&(this.Ca|=1);return c};k.rp=function(a,b,c){A(this,a,b,c,"RESET");this.om=b;this.oa&&Aj(this.oa,5);this.Md()};k.Yn=function(a,b){A(this,a,null,b,"CONFIG",this.Kf);return this.Kf};
k.qp=function(a,b,c){A(this,a,b,c,"PULSE");this.nm=b;this.Ca=13};k.pp=function(a,b,c){A(this,a,b,c,"PATTERN");this.mm=b};k.Uj=function(a,b,c){A(this,a,b,c,"NOISE")};
k.kn=function(a,b){var c=-1;if(this.Sa)if(c=this.zc(this.Sa),1==this.Sa.Va)this.ua(N|$l)&&A(this,a,null,b,"DATA["+this.Sa.Va+"]",c);else if(this.Sa.Va==this.Sa.qb)if(this.Sa.jb-=this.Sa.qb,this.we=this.we-1&255,this.Sa.jb>=this.Sa.qb){var d=this;d.Ca=136;this.zc(this.Sa,function(a){0<=a?(hm(d),d.Ca=80):(d.Ca=1,d.ue=16)},!1)}else this.Ca=80;return c};
k.Do=function(a,b,c){this.Sa&&this.Sa.jb>=this.Sa.qb&&(0>this.Nc(this.Sa,b)?(this.Ca=1,this.ue=16):1==this.Sa.Va?this.ua(N|$l)&&A(this,a,b,c,"DATA["+this.Sa.Va+"]"):this.Sa.Va==this.Sa.qb&&(this.Sa.jb-=this.Sa.qb,this.we=this.we-1&255,hm(this),this.Ca=80,this.Sa.jb>=this.Sa.qb&&(this.Ca|=8)))};k.mn=function(a,b){var c=this.ue;A(this,a,null,b,"ERROR",c);return c};k.Io=function(a,b,c){A(this,a,b,c,"WPREC");this.pm=b};k.nn=function(a,b){var c=this.we;A(this,a,null,b,"SECCNT",c);return c};
k.Go=function(a,b,c){A(this,a,b,c,"SECCNT");this.we=b};k.on=function(a,b){var c=this.ai;A(this,a,null,b,"SECNUM",c);return c};k.Ho=function(a,b,c){A(this,a,b,c,"SECNUM");this.ai=b};k.jn=function(a,b){var c=this.Zh;A(this,a,null,b,"CYLLO",c);return c};k.Co=function(a,b,c){A(this,a,b,c,"CYLLO");this.Zh=b};k.hn=function(a,b){var c=this.Yh;A(this,a,null,b,"CYLHI",c);return c};k.Bo=function(a,b,c){A(this,a,b,c,"CYLHI");this.Yh=b};k.ln=function(a,b){var c=this.Lf;A(this,a,null,b,"DRVHD",c);return c};
k.Eo=function(a,b,c){A(this,a,b,c,"DRVHD");this.Lf=b;this.Ca=this.Fa[this.Lf&16?1:0]?this.Ca|64:this.Ca&-65};k.pn=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);return c};k.Ao=function(a,b,c){A(this,a,b,c,"COMMAND");this.Zj=b;this.oa&&Aj(this.oa,14);im(this)};k.Fo=function(a,b,c){A(this,a,b,c,"FDR");this.$h&4&&!(b&4)&&(this.ue=1);this.$h=b};
function im(a){var b=!1,c=a.Zj,d=a.Lf&16?1:0,e=a.Lf&15,f=a.Zh|(a.Yh&3)<<8,g=a.ai,h=a.we||256;a.Sa=null;a.ue=0;a.Ca=80;(d=a.Fa[d])?(d.Ud=f,d.Ra=e,d.$a=g,d.jb=h*d.qb,c=144<=c?c:c&240,d.Xa=null,d.Va=0,d.errorCode=0,a.Sa=d):c=-1;switch(c&240){case 32:a.Ca=136;a.zc(d,function(b){0<=b&&a.oa?(hm(a),a.Ca=80):(a.Ca=1,a.ue=16)},!1);break;case 48:a.Ca=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.ue=1;b=!0;break;case 145:d.Bb=e+1,d.Gb=h,b=!0}b&&hm(a)}
function hm(a){!a.oa||a.$h&2||zj(a.oa,14,120)}
function gm(a){a.Cb=0;var b=a.Ta(),c=a.Ta(),d=c&32,e=d>>5,f=c&31,g=a.Ta(),h=a.Ta(),n=g<<2&768|h,l=g&63,t=a.Ta(),s=a.Ta(),u=a.Fa[e];u&&(u.Ud=n,u.Ra=f,u.$a=l,u.jb=t*u.qb);switch(b){case 3:a.Yb(u?u.errorCode:4);a.jc(c);a.jc(g);a.jc(h);a.jc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ta());)u&&c<u.jf.length&&(u.jf[c++]=b);u&&fm(a,u);b=0;u||a.xf!=e||(a.xf=-1,b=2);a.Yb(b|d);b=-1;break;case 224:case 228:a.Yb(0|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=0,u.vm=0),b){case 0:a.Yb(0|d);break;case 1:u.Fq=
function gm(a){a.Cb=0;var b=a.Ta(),c=a.Ta(),d=c&32,e=d>>5,f=c&31,g=a.Ta(),h=a.Ta(),n=g<<2&768|h,l=g&63,t=a.Ta(),s=a.Ta(),u=a.Fa[e];u&&(u.Ud=n,u.Ra=f,u.$a=l,u.jb=t*u.qb);switch(b){case 3:a.Yb(u?u.errorCode:4);a.jc(c);a.jc(g);a.jc(h);a.jc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ta());)u&&c<u.jf.length&&(u.jf[c++]=b);u&&fm(a,u);b=0;u||a.xf!=e||(a.xf=-1,b=2);a.Yb(b|d);b=-1;break;case 224:case 228:a.Yb(0|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=0,u.vm=0),b){case 0:a.Yb(0|d);break;case 1:u.Gq=
s;a.Yb(0|d);break;case 5:a.Yb(0|d);break;case 8:jm(a,u,function(b){a.Yb(b|d)});break;case 10:km(a,u,function(b){a.Yb(b|d)});break;case 15:lm(a,u,function(b){a.Yb(b|d)});break;default:a.Yb(2|d)}}k.Ta=function(){var a=-1;this.Cb<this.kb&&(a=this.kc[this.Cb++]);return a};k.Yb=function(a){this.Cb=this.kb=0;void 0!==a&&this.jc(a);this.oa&&zj(this.oa,5);this.Ca|=32};k.jc=function(a){this.kc[this.kb++]=a};k.Ei=function(a,b,c){void 0===b||0>b?this.zc(a,c):c(-1,!1)};
k.Fi=function(a,b){return void 0!==b&&0<=b?this.Nc(a,b):-1};k.Nm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va<a.kf.length?a.kf[a.Va++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Om=function(a,b){return void 0!==b&&0<=b?this.gk(a,b):-1};function jm(a,b,c){b.errorCode=4;if(b.za&&(b.Xa=null,a.oa)){b.errorCode=0;sj(a.oa,3,a,"dmaRead",b);kj(a.oa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function km(a,b,c){b.errorCode=4;if(b.za&&(b.Xa=null,a.oa)){b.errorCode=0;sj(a.oa,3,a,"dmaWrite",b);kj(a.oa,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 lm(a,b,c){b.errorCode=4;b.kf&&b.kf.length==b.jb||(b.kf=Array(b.jb));b.Va=0;a.oa?(b.errorCode=0,sj(a.oa,3,a,"dmaWriteBuffer",b),kj(a.oa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.zc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Xa&&(d=Ml(a.Xa,a.Va),a.Va+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.za)return a.za.seek(a.Ud,a.Ra,a.$a+a.kh,!1,function(c,h){(a.Xa=c)?(a.Va=0,f.Yf(a),d=Ml(a.Xa,a.Va),a.Va+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
k.Nc=function(a,b){if(a.errorCode)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Va++,b))break;a.za&&a.za.seek(a.Ud,a.Ra,a.$a+a.kh,!0,function(b){a.Xa=b});if(!a.Xa){a.errorCode=20;b=-1;break}a.Va=0;this.Yf(a)}while(1);return b};k.Yf=function(a){a.$a++;var b=1-a.kh;a.$a>=a.Gb+b&&(a.$a=b,a.Ra++,a.Ra>=a.Bb&&(a.Ra=0,a.Ud++))};
k.gk=function(a,b){if(a.errorCode)return-1;a.Qc[a.nf++]=b;if(a.nf==a.Qc.length){a.Ud=a.Qc[0];a.Ra=a.Qc[1];a.$a=a.Qc[2];a.jb=128<<a.Qc[3];for(var c=a.nf=0;c<a.jb;c++)if(0>this.Nc(a,a.uk))return-1;a.ph++}a.ph>=a.de&&(b=-1);return b};k.ao=function(){var a=this.T.K&255;!(this.T.H>>8)&&128<a&&(this.xf=a-128);return!0};k.bo=function(){var a;(a=this.T.H>>8)||(a=!this.oa)||(a=!(this.oa.Wb[0].nd&64));return a?!0:!1};
var cm={800:W.prototype.Yn,801:W.prototype.Zn,802:W.prototype.Xn},bm={496:W.prototype.jn,497:W.prototype.ln,498:W.prototype.mn,499:W.prototype.nn,500:W.prototype.hn,501:W.prototype.gn,502:W.prototype.kn,503:W.prototype.on},em={800:W.prototype.np,801:W.prototype.qp,802:W.prototype.pp,803:W.prototype.op,807:W.prototype.Uj,811:W.prototype.Uj,815:W.prototype.Uj},dm={496:W.prototype.Co,497:W.prototype.Ho,498:W.prototype.Fo,499:W.prototype.Go,500:W.prototype.Bo,501:W.prototype.Ao,502:W.prototype.Do,503:W.prototype.zo,
1014:W.prototype.Eo};Ja(function(){for(var a=z(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new W(d);ab(d,c)}});
k.gk=function(a,b){if(a.errorCode)return-1;a.Qc[a.nf++]=b;if(a.nf==a.Qc.length){a.Ud=a.Qc[0];a.Ra=a.Qc[1];a.$a=a.Qc[2];a.jb=128<<a.Qc[3];for(var c=a.nf=0;c<a.jb;c++)if(0>this.Nc(a,a.uk))return-1;a.ph++}a.ph>=a.de&&(b=-1);return b};k.bo=function(){var a=this.T.K&255;!(this.T.H>>8)&&128<a&&(this.xf=a-128);return!0};k.co=function(){var a;(a=this.T.H>>8)||(a=!this.oa)||(a=!(this.oa.Wb[0].nd&64));return a?!0:!1};
var cm={800:W.prototype.Zn,801:W.prototype.$n,802:W.prototype.Yn},bm={496:W.prototype.kn,497:W.prototype.mn,498:W.prototype.nn,499:W.prototype.on,500:W.prototype.jn,501:W.prototype.hn,502:W.prototype.ln,503:W.prototype.pn},em={800:W.prototype.op,801:W.prototype.rp,802:W.prototype.qp,803:W.prototype.pp,807:W.prototype.Uj,811:W.prototype.Uj,815:W.prototype.Uj},dm={496:W.prototype.Do,497:W.prototype.Io,498:W.prototype.Go,499:W.prototype.Ho,500:W.prototype.Co,501:W.prototype.Bo,502:W.prototype.Eo,503:W.prototype.Ao,
1014:W.prototype.Fo};Ja(function(){for(var a=z(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new W(d);ab(d,c)}});
function mm(a){y.call(this,"Debugger",a,mm);this.nh=this.hd=-1;this.Me=5;this.Oc=[0,0];this.ok=[0,0];this.Uc=-1;this.Pc=[];this.rf=!1;this.ze=[0,0];this.Dc=[];nm(this);om(this);pm(this,a.messages);this.tb={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.ak=a.commands;var b=this;window&&void 0===window.$&&(window.$=function(a){return qm(b,a)})}
var Ob=1,md=16,pf=32,Fb=64,N=128,dj=256,Qd=512,Gi=1024,Ii=2048,Pj=4096,Hj=8192,qi=16384,Yj=32768,mk=131072,Ol=262144,$l=524288,El=1048576,ql=2097152,Qj=4194304,zl=16777216,of=536870912,qf=1073741824;Ua(y,mm);
var Ki=26,rm={16:mk,19:Ol,21:qi,22:Yj,28:Gi,33:67108864,51:zl},sm={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options",reset:"reset computer",ver:"display version"},tm="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 FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE 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 PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF 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 XCHG XLAT XOR".split(" "),
@ -696,7 +696,7 @@ X="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),um
55:"get(0)/set(1) switch character DL (AL)",56:"get country-specific information",57:"create subdirectory DS:DX",58:"remove subdirectory DS:DX",59:"set current directory DS:DX",60:"create or truncate file DS:DX with attributes CX",61:"open existing file DS:DX with mode AL",62:"close file BX",63:"read CX bytes from file BX into buffer DS:DX",64:"write CX bytes to file BX from buffer DS:DX",65:"delete file DS:DX",66:"set position CX:DX of file BX relative to AL",67:"get(0)/set(1) attributes CX of file DS:DX (AL)",
68:"get device information (IOCTL)",69:"duplicate file handle BX",70:"force file handle CX to duplicate file handle BX",71:"get current directory (ds:si) for drive DL",72:"allocate memory segment with BX paragraphs",73:"free memory segment ES",74:"resize memory segment ES to BX paragraphs",75:"load program DS:DX using parameter block ES:BX",76:"terminate with return code AL",77:"get return code (al)",78:"find first matching file DS:DX with attributes CX",79:"find next matching file",80:"set current psp BX",
81:"get current psp (bx)",82:"get system variables (es:bx)",83:"translate bpb DS:SI to dpb (es:bp)",84:"get verify flag (al)",85:"create child psp at segment DX",86:"rename file DS:DX to name ES:DI",87:"get(0)/set(1) file date DX and time CX (AL)",88:"get(0)/set(1) memory allocation strategy (AL)",89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};
mm.prototype.wc=function(a,b,c,d){this.sa=b;this.T=c;this.Ma=a;this.Ym=ib(a,"FDC");this.Uk=ib(a,"HDC");this.Me=b.Bf>>2;this.Vf=xm;80186<=this.T.Ka&&(this.Vf=xm.slice(),this.Vf[15]=Y,80286<=this.T.Ka&&(this.Vf[15]=wm));Fi(this,4,function(a){if(a){var b=Bm(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=Cm(d,b);d.Z("dumpDesc("+r(a.ta)+"): %"+p(a.Bd,d.Me));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?
mm.prototype.wc=function(a,b,c,d){this.sa=b;this.T=c;this.Ma=a;this.Zm=ib(a,"FDC");this.Uk=ib(a,"HDC");this.Me=b.Bf>>2;this.Vf=xm;80186<=this.T.Ka&&(this.Vf=xm.slice(),this.Vf[15]=Y,80286<=this.T.Ka&&(this.Vf[15]=wm));Fi(this,4,function(a){if(a){var b=Bm(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=Cm(d,b);d.Z("dumpDesc("+r(a.ta)+"): %"+p(a.Bd,d.Me));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 switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.nb&32768||(c+=",not present");d.Z((b?"seg="+r(a.Ga&65535)+" off="+r(a.pc):"base="+p(a.Ga,d.Me)+" limit="+r(a.pc))+" dpl="+q(a.oc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.Z("no selector")});
Fi(this,8,function(a){a:{if(a){var b=Bm(d,a);if(void 0===b){d.Z("invalid task selector: "+a);break a}a=Cm(d,b)}else a=d.T.gb;d.Z("dumpTSS("+r(a.ta)+"): %"+p(a.Ga,d.Me));var b="",c;for(c in Dm){var e=Dm[c],l=8>c.length?" ":"",t=sb(d.sa,a.Ga+e);b&&(b+="\n");b+=r(e)+" "+c+": "+l+r(t)}d.Z(b)}});Fi(this,67108864,function(a){if(a)for(d.Z("dumpDOS("+a+")"),a=Bm(d,a);a;){var b=[0,a,void 0],c=d.xb(b,1),e=d.ra(b,2),l=d.ra(b,5);if(77!=c&&90!=c)break;d.Z(ea(0,a)+": '"+String.fromCharCode(c)+"' PID="+r(e)+" LEN="+
r(l)+' "'+Em(d,b)+'"');a+=1+l}else d.Z("no MCB")});B(this);if(this.ak){a=Fm(this,this.ak);delete this.ak;for(var e in a)qm(this,a[e])}};
@ -706,12 +706,12 @@ var Dm={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12
function pm(a,b){a.ka=a;a.Zb=a.Im=of;a.bk=null;a.oi=[];var c=Fm(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in vm)0<=c.indexOf(d)&&(a.Zb|=vm[d],a.Z(d+" messages enabled"))}function Fi(a,b,c){for(var d in vm)if(b==vm[d]){a.oi[d]=c;break}}
function nd(a,b,c){var d,e=!1,f=rm[b];f&&(d=a.T.H>>8,e=a.ua(f)?!0:f==Ol&&a.ua(f=$l));if(e){var g=a.T.K&255;if(33==b&&11==d||f==Ol&&128<=g||f==$l&&128>g)e=!1}if(e){if(f=(f=Am[b])&&f[d]||"")g=a.T,a.tb[X[0]]=q(g.H&255),a.tb[X[1]]=q(g.J&255),a.tb[X[2]]=q(g.K&255),a.tb[X[3]]=q(g.C&255),a.tb[X[4]]=q(g.H>>8),a.tb[X[5]]=q(g.J>>8),a.tb[X[6]]=q(g.K>>8),a.tb[X[7]]=q(g.C>>8),a.tb[X[8]]=r(g.H),a.tb[X[9]]=r(g.J),a.tb[X[10]]=r(g.K),a.tb[X[11]]=r(g.C),a.tb[X[12]]=r(g.Y),a.tb[X[13]]=r(g.I),a.tb[X[14]]=r(g.G),a.tb[X[15]]=
r(g.F),a.tb[X[16]]=r(g.La.ta),a.tb[X[17]]=r(g.va.ta),a.tb[X[18]]=r(g.Ya.ta),a.tb[X[19]]=r(g.fb.ta),a.tb[X[20]]=r(g.wa),f=" "+ja(a.tb,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+ea(c-2-a.T.va.Ga,a.T.va.ta)+f)}return e}function pd(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(zd(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")}
function cb(a,b,c,d,e,f,g,h){h|=N;if(null==e||(a.Zb&h)==h)h=null,null!=e&&(h=a.T.va.ta,e-=a.T.va.Ga),a.message(b.Hh+"."+(null!=d?"outPort":"inPort")+"(0x"+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+ea(e,h):""))}k=mm.prototype;k.message=function(a,b){b&&(a+=" @"+ea(this.T.wa,this.T.va.ta));if(!this.bk||a!=this.bk)if(this.Z(a),this.bk=a,this.T){this.Zb&qf&&this.T.Ib();var c=this.T;c.da.Ff=0;c.Vc-=c.A;c.A=0;Ub(c)}};k.$n=function(){this.Z("Type ? for list of debugger commands")};
function cb(a,b,c,d,e,f,g,h){h|=N;if(null==e||(a.Zb&h)==h)h=null,null!=e&&(h=a.T.va.ta,e-=a.T.va.Ga),a.message(b.Hh+"."+(null!=d?"outPort":"inPort")+"(0x"+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+ea(e,h):""))}k=mm.prototype;k.message=function(a,b){b&&(a+=" @"+ea(this.T.wa,this.T.va.ta));if(!this.bk||a!=this.bk)if(this.Z(a),this.bk=a,this.T){this.Zb&qf&&this.T.Ib();var c=this.T;c.da.Ff=0;c.Vc-=c.A;c.A=0;Ub(c)}};k.ao=function(){this.Z("Type ? for list of debugger commands")};
function om(a){var b;if(Pd(a)){if(!a.Zd||!a.Zd.length){a.Zd=Array(1E4);for(b=0;b<a.Zd.length;b++)a.Zd[b]=[0,null,0];a.yf=0}if(!a.$c||!a.$c.length)for(a.$c=Array(256),b=0;b<a.$c.length;b++)a.$c[b]=[b,0]}else a.yf=0,a.Zd=[],a.$c=[]}k.Ze=function(a){if(!Gm(this))return!1;this.T.Ze(a);return!0};
k.Of=function(a,b,c){if(!Gm(this))return!1;this.hd=0;do{a||Pd(this)&&Wd(this,this.T.Ea,!0);try{var d=this.T.Of(a);0<d&&(this.hd+=d,$b(this.T,d,!0),Vb(this.T,d),this.nh++)}catch(e){this.hd=0,gb(this.T,e.message||e)}}while(this.T.ba&240);!1!==c&&Ub(this.T);Tb(this,b||!1,!1);return 0<this.hd};k.Ib=function(a,b){a&&this.Z(a);this.T.Ib(!b)};function Tb(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Oc=[a.T.wa,a.T.va.ta,void 0];b&&1!=a.uc?Hm(a,null,c):Im(a)}
function Gm(a){var b;if(b=a.T&&fb(a.T))b=a.T,b.na.Sb?b=!0:(b.Z(b.toString()+" not powered"),b=!1);b&&!eb(a.T)?(a=a.T,a.na.fd?(a.Z(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.fc=function(a,b){return!b&&(this.reset(!0),this.Z(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.ec=function(a,b){b&&this.Z(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
k.reset=function(a){om(this);this.hd=this.nh=0;this.Oc=[this.T.wa,this.T.va.ta,void 0];void 0===this.na.lb||a||this.Z("reset");this.na.lb=!1;Jm(this);a||Tb(this)};k.save=function(){var a=new sd(this);a.set(0,this.Oc);a.set(1,this.ze);a.set(2,[this.Pc,this.rf,this.Zb]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Oc=a[b++],this.ze=a[b++],this.Pc=a[b][0],"string"==typeof this.Pc&&(this.Pc=[this.Pc]),this.rf=a[b][1],this.Zb||(this.Zb=a[b][2]));return!0};
k.start=function(a,b){this.uc||this.Z("running");this.na.lb=!0;this.lo=a;this.jd=b};k.stop=function(a,b){if(this.na.lb){this.na.lb=!1;this.hd=b-this.jd;if(!this.uc){var c="stopped";if(this.hd){var d=a-this.lo,e=0<d?Math.round(1E3*this.hd/d):0,c=c+" (";Pd(this)&&(c+=this.nh+" ops, ");c+=this.hd+" cycles, "+d+" ms, "+e+" hz)"}this.Z(c)}Tb(this,!0,2!=this.uc);this.Mc();Jm(this,this.T.Ea)}};function Pd(a){return 1<a.Ac.length||a.ua(md)}
k.start=function(a,b){this.uc||this.Z("running");this.na.lb=!0;this.mo=a;this.jd=b};k.stop=function(a,b){if(this.na.lb){this.na.lb=!1;this.hd=b-this.jd;if(!this.uc){var c="stopped";if(this.hd){var d=a-this.mo,e=0<d?Math.round(1E3*this.hd/d):0,c=c+" (";Pd(this)&&(c+=this.nh+" ops, ");c+=this.hd+" cycles, "+d+" ms, "+e+" hz)"}this.Z(c)}Tb(this,!0,2!=this.uc);this.Mc();Jm(this,this.T.Ea)}};function Pd(a){return 1<a.Ac.length||a.ua(md)}
function Wd(a,b,c){if(!(c||3!=a.T.va.bb||a.T.Ba&512)||!c&&Km(a,b,a.Ac))return!0;a.$c.length&&(a.nh++,c=rb(a.sa,b),a.$c[c][1]++,c=a.Zd[a.yf],c[0]=a.T.wa,c[1]=a.T.va.ta,c[2]=b,++a.yf==a.Zd.length&&(a.yf=0));return!1}function Gb(a,b){return Km(a,b,a.Wd)?(a.T.Ib(!0),!0):!1}function Hb(a,b){return Km(a,b,a.Zc)?(a.T.Ib(!0),!0):!1}function zb(a,b,c){a.Z("break on input from port "+r(b)+": "+q(c));a.T.Ib(!0)}function Db(a,b,c){a.Z("break on output to port "+r(b)+": "+q(c));a.T.Ib(!0)}
function Cm(a,b){if(b==a.T.va.ta)return a.T.va;if(b==a.T.fb.ta)return a.T.fb;if(b==a.T.La.ta)return a.T.La;if(b==a.T.Ya.ta)return a.T.Ya;var c=new fc(a.T,7,"DBG");c.load(b,!0);return c}function Lm(a,b,c,d){var e=b[2];null==e&&(a=Cm(a,b[1]),e=c?a.$b(b[0],d||0,!0):a.Ic(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.xb=function(a,b){var c=255,d=Lm(this,a,!1,0);0<=d&&(c=rb(this.sa,d),void 0!==b&&Mm(a,b));return c};
k.ra=function(a,b){var c=65535,d=Lm(this,a,!1,1);0<=d&&(c=sb(this.sa,d),void 0!==b&&Mm(a,b));return c};k.Rd=function(a,b,c){var d=Lm(this,a,!0,0);0<=d&&(tb(this.sa,d,b),void 0!==c&&Mm(a,c),Ub(this.T))};k.Ua=function(a,b,c){var d=Lm(this,a,!0,1);0<=d&&(ub(this.sa,d,b),void 0!==c&&Mm(a,c),Ub(this.T))};function Nm(a){return null==a[1]?"%"+p(a[2]):ea(a[0],a[1])}function Mm(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
@ -731,7 +731,7 @@ function Tj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],
function Rm(a,b,c){for(var d=[],e=Lm(a,b),f=0;f<a.Dc.length;f++){var g=a.Dc[f][0],h=a.Dc[f][1];if(e>=g&&e<g+h){b=ma(a.Dc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Wm(a,f,b,d):c&&(b=~b,Wm(a,f,b-1,d),Wm(a,f,b,d));break}}return d}function Wm(a,b,c,d){var e={},f=a.Dc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.Dc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function Xm(a,b){if("?"==b)a.Z("\nfrequency commands:"),a.Z("\tclear\tclear all frequency counts");else{var c,d=0;if(a.$c)if("clear"==b){for(c=0;c<a.$c.length;c++)a.$c[c]=[c,0];a.Z("frequency data cleared");d++}else if(void 0!==b)a.Z("unknown frequency command: "+b),d++;else{var e=a.$c.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.Z((tm[a.Vf[f][0]]+" ").substr(0,5)+" ("+q(f)+"): "+g+" times"),d++)}}d||a.Z("no frequency data available")}}
function Ym(a,b){var c=Vm(a,b,1);if(null!=c[0]||null!=c[2]){var d=Lm(a,c);a.Z((b?b+": ":"")+Nm(c)+" (%"+p(d,a.Me)+")");d=Rm(a,c,!0);if(d.length){var e,f;d[0]&&(f="",(e=c[0]-d[1])&&(f=" + "+r(e)),a.Z(d[0]+" ("+ea(d[1],c[1])+")"+f));4<d.length&&d[4]&&(f="",(e=d[5]-c[0])&&(f=" - "+r(e)),a.Z(d[4]+" ("+ea(d[5],c[1])+")"+f))}else a.Z("no symbols")}}
function Zm(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.Z("\nlist/load commands:"),a.Z("\tl [address] [drive #] [sector #] [# sectors]"),a.Z("\tln [address] lists symbol(s) nearest to address");else if("ln"==b[0])Ym(a,b[1]);else{var c="json"==b[1],d,e=0,f=0,g=c?[]:Vm(a,b[1],2);d=Bm(a,b[2],"drive #");if(void 0!==d){if(!c){e=Bm(a,b[3],"sector #");if(void 0===e)return;f=Bm(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Ym;2<=d&&a.Uk&&(d-=2,h=a.Uk);if(h){var n=h.Fk(d);if(n)if(n.za)if(c)a.Z(n.za.toJSON());
function Zm(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.Z("\nlist/load commands:"),a.Z("\tl [address] [drive #] [sector #] [# sectors]"),a.Z("\tln [address] lists symbol(s) nearest to address");else if("ln"==b[0])Ym(a,b[1]);else{var c="json"==b[1],d,e=0,f=0,g=c?[]:Vm(a,b[1],2);d=Bm(a,b[2],"drive #");if(void 0!==d){if(!c){e=Bm(a,b[3],"sector #");if(void 0===e)return;f=Bm(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Zm;2<=d&&a.Uk&&(d-=2,h=a.Uk);if(h){var n=h.Fk(d);if(n)if(n.za)if(c)a.Z(n.za.toJSON());
else if(h.tm(n,e,f)){for(var l=0,t=!1,c=Nm(g);!t&&0<n.jb--;)(function(a,b){h.zc(n,function(c){0>c?(a.Z("out of data at address "+Nm(b)),t=!0):(a.Rd(b,c,1),l++)})})(a,g);a.Z(l+" bytes read at "+c)}else a.Z("sector "+e+" request out of range");else a.Z("drive "+d+" not loaded");else a.Z("invalid drive: "+d)}else a.Z("disk controller not present")}}}
function Hm(a,b,c){if(b&&"?"==b[1])a.Z("\nregister commands:"),a.Z("\tr\t\tdisplay all registers"),a.Z("\tr [target=#]\tmodify target register"),a.Z("supported targets:"),a.Z("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1<b.length){var e=b[1];if("p"==e)d=void 0!==a.T.Ec;else{c=null;var f=e.indexOf("=");if(0<f)c=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)c=b[2];else{a.Z("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.Z("invalid value: "+c);return}e=e.toUpperCase();
switch(e){case "AL":a.T.H=a.T.H&65280|b&255;break;case "AH":a.T.H=a.T.H&255|b<<8&255;break;case "AX":a.T.H=b&65535;break;case "BL":a.T.C=a.T.C&65280|b&255;break;case "BH":a.T.C=a.T.C&255|b<<8&255;break;case "BX":a.T.C=b&65535;break;case "CL":a.T.J=a.T.J&65280|b&255;break;case "CH":a.T.J=a.T.J&255|b<<8&255;break;case "CX":a.T.J=b&65535;break;case "DL":a.T.K=a.T.K&65280|b&255;break;case "DH":a.T.K=a.T.K&255|b<<8&255;break;case "DX":a.T.K=b&65535;break;case "SP":a.T.Y=b&65535;break;case "BP":a.T.I=b&
@ -746,22 +746,22 @@ Vm(a,g[1],1);if(null!=h[0])if(a.ze=h,void 0===g[2])a.Z("begin assemble @"+Nm(h))
a.Z("all breakpoints cleared")):Om(a,a.Ac,l,!0)||Om(a,a.Wd,l,!0)||Om(a,a.Zc,l,!0)||a.Z("breakpoint missing: "+Nm(l)):"i"==s?a.Z("breakpoint "+(wb(a.sa,l[0])?"enabled":"cleared")+": port "+t+" (input)"):"o"==s?a.Z("breakpoint "+(Ab(a.sa,l[0])?"enabled":"cleared")+": port "+t+" (output)"):null!=l[0]&&("p"==s?a.$d(a.Ac,l):"r"==s?a.$d(a.Wd,l):"w"==s?a.$d(a.Zc,l):a.Z("unknown breakpoint command: "+s))}else a.Z("\nbreakpoint commands:"),a.Z("\tbi [p]\ttoggle break on input port [p]"),a.Z("\tbo [p]\ttoggle break on output port [p]"),
a.Z("\tbp [a]\tset exec breakpoint at addr [a]"),a.Z("\tbr [a]\tset read breakpoint at addr [a]"),a.Z("\tbw [a]\tset write breakpoint at addr [a]"),a.Z("\tbc [a]\tclear breakpoint at addr [a]"),a.Z("\tbl\tlist all breakpoints")}break;case "c":a.hg&&(a.hg.value="");break;case "d":a:{var u=g[0],l=g[1],x=g[2],v;if("?"==l){l="";for(v in vm)a.oi[v]&&(l&&(l+=","),l+=v);l+=",state,symbols";a.Z("\ndump commands:");a.Z("\tdb [a] [#] dump # bytes at address a");a.Z("\tdw [a] [#] dump # words at address a");
l.length&&a.Z("dump extensions:\n\t"+l)}else if("state"==l)a.Z(an(a.Ma,!0));else if("symbols"==l)for(l=0;l<a.Dc.length;l++){var C=a.Dc[l][0],U=a.Dc[l][2],Q;for(Q in U)if("."!=Q.charAt(0)){var Ba=U[Q],Ia=Ba.o;if(void 0!==Ia){var bb=Ba.s;void 0===bb&&(bb=C>>>4);var Wb=U[Q].l;Wb&&(Q=Wb);a.Z(ea(Ia,bb)+" "+Q)}}}else{for(v in vm)if(l==v){var Lc=a.oi[v];Lc?Lc(x):a.Z("no dump registered for "+l);break a}var E=Vm(a,l,2);if(null!=E[0]){var R=0,I="dw"==u;void 0!==x&&("l"==x.charAt(0)&&(x=x.substr(1)),(R=parseInt(x,
10))&&(R=I?R+7>>3:R+15>>4));var qa="";R||(R=8);for(g=0;g<R;g++){for(var Ca=x="",l=Nm(E),ka=0,ca=0;16>ca;ca++){var Z=a.xb(E,1);I?ca&1&&(x+=r(ka|Z<<8)+(7==ca?" - ":" ")):x+=q(Z)+(7==ca?"-":" ");Ca+=32<=Z&&128>Z?String.fromCharCode(Z):".";ka=Z}qa&&(qa+="\n");qa+=l+" "+x+" "+Ca}qa&&a.Z(qa);a.ok=E}}}break;case "e":var Mc=g[1];if(void 0===Mc)a.Z("missing address");else{var pc=Vm(a,Mc,2);if(null!=pc[0])for(l=2;l<g.length;l++){var Nc=parseInt(g[l],16);a.Z("setting "+Nm(pc)+" to "+q(Nc));a.Rd(pc,Nc,1)}}break;
10))&&(R=I?R+7>>3:R+15>>4));var qa="";R||(R=8);for(g=0;g<R;g++){for(var Ca=x="",l=Nm(E),ka=0,ca=0;16>ca;ca++){var Z=a.xb(E,1);I?ca&1&&(x+=r(ka|Z<<8)+(7==ca?" - ":" ")):x+=q(Z)+(7==ca?"-":" ");Ca+=32<=Z&&128>Z?String.fromCharCode(Z):".";ka=Z}qa&&(qa+="\n");qa+=l+" "+x+" "+Ca}qa&&a.Z(qa);a.ok=E}}}break;case "e":var Mc=g[1];if(void 0===Mc)a.Z("missing address");else{var qc=Vm(a,Mc,2);if(null!=qc[0])for(l=2;l<g.length;l++){var Nc=parseInt(g[l],16);a.Z("setting "+Nm(qc)+" to "+q(Nc));a.Rd(qc,Nc,1)}}break;
case "f":Xm(a,g[1]);break;case "g":a:{var Ik=g[1];if(void 0!==Ik){var Jk=Vm(a,Ik,1);if(null==Jk[0])break a;a.$d(a.Ac,Jk,!0)}a.Ze(!0)||a.Z('cpu not available, "g" command ignored')}break;case "h":Ca=g[1];if(a.na.lb&&void 0===Ca)a.Z("halting"),a.T.Ib();else{l="";E=10;ka=a.yf;ca=a.Zd;if(ca.length){var Va=void 0===Ca?a.hm:parseInt(Ca,10);isNaN(Va)?Va=E:l="more ";Va>ca.length&&(a.Z("note: only "+ca.length+" available"),Va=ca.length);ka-=Va;0>ka&&(null!=ca[ca.length-1][1]?ka+=ca.length:(Va=ka+Va,ka=0));
for(void 0!==Ca&&a.Z(Va+" instructions earlier:");E&&ka!=a.yf;){var sc=ca[ka];if(null==sc[1])break;sc=[sc[0],sc[1],sc[2]];a.Z(Qm(a,sc,"history",-Va));++ka==ca.length&&(ka=0);a.hm=--Va;E--}}10==E&&(a.Z("no "+l+"history available"),a.hm=void 0)}break;case "i":var ff=g[1];if(ff&&"?"!=ff){var gf=Bm(a,ff);if(void 0!==gf){var rn=yb(a.sa,gf);a.Z(r(gf)+": "+q(rn))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "l":Zm(a,g);break;
for(void 0!==Ca&&a.Z(Va+" instructions earlier:");E&&ka!=a.yf;){var tc=ca[ka];if(null==tc[1])break;tc=[tc[0],tc[1],tc[2]];a.Z(Qm(a,tc,"history",-Va));++ka==ca.length&&(ka=0);a.hm=--Va;E--}}10==E&&(a.Z("no "+l+"history available"),a.hm=void 0)}break;case "i":var ff=g[1];if(ff&&"?"!=ff){var gf=Bm(a,ff);if(void 0!==gf){var rn=yb(a.sa,gf);a.Z(r(gf)+": "+q(rn))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "l":Zm(a,g);break;
case "m":a:{l=null;I=g[1];"?"==I&&(I=void 0);if(void 0!==I){E=0;if("all"==I)E=4294967295&~(qf|268435456),I=null;else if("on"==I)l=!0,I=null;else if("off"==I)l=!1,I=null;else{"keys"==I&&(I="key");"kbd"==I&&(I="keyboard");for(R in vm)if(I==R){E=vm[R];l=!!(a.Zb&E);break}if(!E){a.Z("unknown message category: "+I);break a}}E&&("on"==g[2]?(a.Zb|=E,l=!0):"off"==g[2]&&(a.Zb&=~E,l=!1))}E=0;Z="";for(R in vm)if(!I||I==R)if(qa=!!(a.Zb&vm[R]),null===l||l==qa)Z&&(Z+=","),++E%10||(Z+="\n\t"),"key"==R&&(R="keys"),
Z+=R;void 0===I&&a.Z("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.Z((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(Z||"none"))}break;case "o":var hf=g[1],sn=g[2];if(hf&&"?"!=hf){var Kk=Bm(a,hf,"port #"),Lk=Bm(a,sn);void 0!==Kk&&void 0!==Lk&&Cb(a.sa,Kk,Lk)}else a.Z("\noutput commands:"),a.Z("\to [p] [d]\twrite data [d] to port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "p":case "pr":var Mk="pr"==g[0]?1:0,l=1+Mk;if(a.uc)a.Z("step in progress");
else{var Td,E=!1,Wa=[a.T.wa,a.T.va.ta,void 0];do switch(Td=!1,a.xb(Wa)){case 38:case 46:case 54:case 62:case 240:Mm(Wa,1);Td=!0;break;case 204:case 206:a.uc=l;Mm(Wa,1);break;case 205:case 224:case 225:case 226:a.uc=l;Mm(Wa,2);break;case 232:a.uc=l;Mm(Wa,3);break;case 154:a.uc=l;Mm(Wa,5);break;case 255:a.uc=0<=Qm(a,Wa).indexOf("CALL")?l:0;break;case 243:case 242:Mm(Wa,1);E=Td=!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:E&&
(a.uc=l,Mm(Wa,1))}while(Td);a.uc?(a.$d(a.Ac,Wa,!0),a.Ze()||(a.T.Mc(),a.uc=0)):$m(a,Mk?"tr":"t")}break;case "r":Hm(a,g);break;case "t":case "tr":$m(a,g[0],g[1]);break;case "u":Im(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.Z("\nexecution options:"),a.Z("\tcs int #\tset checksum cycle interval to #"),a.Z("\tcs start #\tset checksum cycle start count to #"),a.Z("\tcs stop #\tset checksum cycle stop count to #"),a.Z("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Sc;
void 0!==g[3]&&(Sc=parseInt(g[3],10));switch(g[2]){case "int":a.T.da.Cf=Sc;break;case "start":a.T.da.sg=Sc;break;case "stop":a.T.da.Ef=Sc;break;default:a.Z("unknown cs option");break a}void 0!==Sc&&Rb(a.T);a.Z("checksums "+(a.T.na.sf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Yb(a.T,parseInt(g[2],10));a.Z("target speed: "+(a.T.da.Ue.toFixed(2)+"Mhz")+" ("+a.T.da.Od+"x)");break;default:a.Z("unknown option: "+g[1])}break;case "?":var l="commands:",Ud;for(Ud in sm)l+="\n"+Ud+" ".substr(0,
7-Ud.length)+sm[Ud];Pd(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.Z(l);break;default:a.Z("unknown command: "+b),c=!1}}}catch(tn){a.Z("debugger sad: "+tn.message),c=!1}return c}Ja(function(){for(var a=z(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new mm(d);ab(d,c)}});function sd(a,b,c){this.id=a.id;this.key=bn(a,b,c);this.ka=a.ka;cn(this,a.rp)}
7-Ud.length)+sm[Ud];Pd(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.Z(l);break;default:a.Z("unknown command: "+b),c=!1}}}catch(tn){a.Z("debugger sad: "+tn.message),c=!1}return c}Ja(function(){for(var a=z(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new mm(d);ab(d,c)}});function sd(a,b,c){this.id=a.id;this.key=bn(a,b,c);this.ka=a.ka;cn(this,a.sp)}
function bn(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}
sd.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Li=!0):this.Li?!0:wa()&&(a=xa(this.key))?(this[this.id]=a,this.Li=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){w(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){cn(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(f){}b.splice(c,1);c=0}},ua:function(a){return this.ka?this.ka.ua(null==a?8388608:a|8388608):!1},cb:function(a){this.ka&&this.ka.message(a)}};function cn(a,b){a[a.id]={};b&&a.set("parms",b);a.Li=!1}
function dn(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function en(a,b,c){y.call(this,"Computer",a,en,33554432);this.na.Sb=!1;this.Bf=a.buswidth;this.Wc=fn;this.Og=null;this.Dh=!1;this.url=b?b.url:null;this.Ap=(Math.random()+0.1).toString(36).substr(2,12);this.Xc=gn(this);if(this.T=Za("CPU",this.id)){this.ka=Za("Debugger",this.id);this.sa=new kb({id:this.Xk+".bus",buswidth:this.Bf},this.T,this.ka);var d,e=Xa(this.id);if((this.Jg=Za("Panel",this.id))&&this.Jg.hg)for(b=0;b<e.length;b++)d=e[b],d.Ia=this.Jg.Ia,d.Z=this.Jg.Z,d.hg=this.Jg.hg;for(b=0;b<e.length;b++)d=
e[b],d.wc&&d.wc(this,this.sa,this.T,this.ka);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.ci=d:this.Wc=parseInt(d,10));var f;if(a=Pa&&Pa.state||(f=!0,a.state))b=this.sm=a,f||(this.Dh=!0,this.Wc=fn),this.Wc&&(this.fi=new sd(this,"1.16.3"),this.fi.load()?b=null:delete this.fi);!b&&this.Wc&&(f=null,this.Xc&&(f=ta()+"/api/v1/user?req=load&user="+this.Xc+"&state="+bn(this,"1.16.3")),b=f)&&(this.Dh=!0);b?sa(b,!0,null,this,this.to):B(this);c||hn(this,this.Wh)}else w("Unable to find CPU component")}
Ua(y,en);var fn=0;k=en.prototype;k.wf=function(){return this.Ap};k.le=function(){return this.Xc?this.Xc:""};k.to=function(a,b,c){c?(this.ci=null,this.Dh=!1,this.Ia("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):this.Og=b;B(this)};function hn(a,b,c){for(var d=Xa(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!fb(f)){fb(f,function(){hn(a,b,c)});return}}b.call(a,c)}
function en(a,b,c){y.call(this,"Computer",a,en,33554432);this.na.Sb=!1;this.Bf=a.buswidth;this.Wc=fn;this.Og=null;this.Dh=!1;this.url=b?b.url:null;this.Bp=(Math.random()+0.1).toString(36).substr(2,12);this.Xc=gn(this);if(this.T=Za("CPU",this.id)){this.ka=Za("Debugger",this.id);this.sa=new kb({id:this.Xk+".bus",buswidth:this.Bf},this.T,this.ka);var d,e=Xa(this.id);if((this.Jg=Za("Panel",this.id))&&this.Jg.hg)for(b=0;b<e.length;b++)d=e[b],d.Ia=this.Jg.Ia,d.Z=this.Jg.Z,d.hg=this.Jg.hg;for(b=0;b<e.length;b++)d=
e[b],d.wc&&d.wc(this,this.sa,this.T,this.ka);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.ci=d:this.Wc=parseInt(d,10));var f;if(a=Pa&&Pa.state||(f=!0,a.state))b=this.sm=a,f||(this.Dh=!0,this.Wc=fn),this.Wc&&(this.fi=new sd(this,"1.16.3"),this.fi.load()?b=null:delete this.fi);!b&&this.Wc&&(f=null,this.Xc&&(f=ta()+"/api/v1/user?req=load&user="+this.Xc+"&state="+bn(this,"1.16.3")),b=f)&&(this.Dh=!0);b?sa(b,!0,null,this,this.uo):B(this);c||hn(this,this.Wh)}else w("Unable to find CPU component")}
Ua(y,en);var fn=0;k=en.prototype;k.wf=function(){return this.Bp};k.le=function(){return this.Xc?this.Xc:""};k.uo=function(a,b,c){c?(this.ci=null,this.Dh=!1,this.Ia("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):this.Og=b;B(this)};function hn(a,b,c){for(var d=Xa(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!fb(f)){fb(f,function(){hn(a,b,c)});return}}b.call(a,c)}
function jn(a,b){var c=new sd(a,"1.16.3","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Wh=function(a){void 0===a&&(a=this.Wc||(this.Og?1:fn));var b=!1,c=!1;this.Qk=!1;var d=this.fi||new sd(this,"1.16.3");if(-1==a)b=!0;else if(a>fn){if(d.load(this.Og)){this.cf=new sd(this,"1.16.3","failsafe");this.cf.load()&&(kn(this,d),a=2,cn(this.cf));this.cf.set("timestamp",pa());dn(this.cf);var e=this.Wc&&!this.Dh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Ia("Error: "+g),"unable to verify user"==g&&(ya("user",""),this.Xc=null)):this.Z(f+": "+g),cn(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&jn(this,c?d:null)}else 2==a&&d.clear()}else jn(this);delete this.Og;delete this.fi}e=Xa(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.T&&(c=ln(this,g,d,b,c));b=[d,a,c];-1!=a?hn(this,this.Ik,b):this.Ik(b)};

View file

@ -6,7 +6,7 @@ a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.se
function oa(){if(null==na){var a;try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"===window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}na=a}return na}function pa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function ra(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var sa={init:[],show:[],exit:[]},ta=!1,ua=!0;function va(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function wa(a){sa.init.push(a)}
function xa(a){if(ua)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Aa(a){!ua&&a?(ua=!0,ta&&Ba("init")):ua=a}function Ba(a){sa[a]&&xa(sa[a])}va("onload",function(){ta=!0;xa(sa.init)});va("onpageshow",function(){xa(sa.show)});va(ra("Opera")||ra("iOS")?"onunload":"onbeforeunload",function(){xa(sa.exit)});
function s(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Lj=b.comment;this.qo=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.ck=this.id.substr(0,b),this.di=this.id.substr(b+1)):this.di=this.id;this[a]=c;this.ma={Jg:!1,zc:!1,Ph:!1,Nb:!1,Sc:!1};this.Zh=null;this.ma.Sc=!1;this.ra={};this.Sa=null;Ca[Ca.length]=this}var Da=void 0,Ea={};
function s(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Lj=b.comment;this.ro=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.ck=this.id.substr(0,b),this.di=this.id.substr(b+1)):this.di=this.id;this[a]=c;this.ma={Jg:!1,zc:!1,Ph:!1,Nb:!1,Sc:!1};this.Zh=null;this.ma.Sc=!1;this.ra={};this.Sa=null;Ca[Ca.length]=this}var Da=void 0,Ea={};
if(window){Da||(Da=window.location.search.substr(1));for(var Fa,Ga=/\+/g,Ha=/([^&=]+)=?([^&]*)/g;Fa=Ha.exec(Da);)Ea[decodeURIComponent(Fa[1].replace(Ga," "))]=decodeURIComponent(Fa[2].replace(Ga," "))}function Ia(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function v(a,b){b.prototype=Ia(a.prototype)}var Ca=[];
function Ja(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ca.length;b++){var d=Ca[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ka(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ca.length;c++)if(Ca[c].id===a)return Ca[c]}return null}
function La(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Ca.length;d++)if(c)c==Ca[d]&&(c=null);else if(!(a!=Ca[d].type||b&&Ca[d].id.indexOf(b)))return Ca[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){q(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
@ -18,41 +18,41 @@ function z(a,b){if(!a.ma.Sc&&(a.ma.Jg=!1!==b,a.ma.Jg)){a.name&&a.log("ready");va
Qa.prototype.Zb=function(a,b){b||Sa();return!0};Qa.prototype.Yb=function(){return!0};function Sa(){for(var a=!1,b=y(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=w(d),f=Ka(e.id);f||(a=!0,f=new Qa(e));Ma(f,d);a&&z(f)}}wa(Sa);
function Ta(a,b,c){s.call(this,"Bus",a,Ta);this.la=b;this.Sa=c;this.zf=a.buswidth||20;this.yh=this.cd=(1<<this.zf)-1;this.Vb=20>=this.zf?12:14;this.xc=1<<this.Vb;this.Ij=this.xc>>2;this.sb=this.xc-1;this.vg=(this.yh+this.xc)/this.xc|0;this.ce=this.vg-1;this.gg=[];this.hg=[];this.fi();z(this)}v(s,Ta);Ta.prototype.fi=function(){this.Da=Array(this.vg);for(var a=0;a<this.vg;a++)this.Da[a]=new Ua(a*this.xc);this.la.fi(this.Da,this.yh,this.Vb,this.sb,this.ce);this.la.Yd=this.cd};
Ta.prototype.reset=function(){Va(this,!0)};Ta.prototype.Zb=function(a,b){b||this.reset();return!0};function Wa(a,b,c,d,e){if(!(b&a.sb||!c||c&a.sb)){for(var f=b>>a.Vb;0<c&&f<a.Da.length;){var g=a.Da[f];if(void 0!==g&&g.size)return Xa(1,b,c);b=f*a.xc;a.Da[f++]=new Ua(b,a.xc,d,e);c-=a.xc}return!0}return Xa(2,b,c)}function Va(a,b){if(void 0!==b&&20<a.zf){var c=a.cd&-1048577|(b?1048576:0);c!=a.cd&&(a.cd=c,a.la&&(a.la.Yd=c))}}
Ta.prototype.nh=function(a,b,c){if(!(a&this.sb||!b||b&this.sb)){for(var d=a>>this.Vb;0<b;){var e=this.Da[d];if(!e.ea)return Xa(5,a,b);e.ve(c);b-=this.xc;d++}return!0}return Xa(3,a,b)};function $a(a,b,c){if(!(b&a.sb||!c||c&a.sb)){for(var d=b>>a.Vb;0<c;)b=d*a.xc,a.Da[d++]=new Ua(b),c-=a.xc;return!0}return Xa(4,b,c)}function ab(a,b){return a.Da[(b&a.cd)>>a.Vb].hj(b&a.sb)}function bb(a,b){var c=b&a.sb,d=(b&a.cd)>>a.Vb;return c!=a.sb?a.Da[d].to(c):a.Da[d++].hj(c)|a.Da[d&a.ce].hj(0)<<8}
function cb(a,b,c){a.Da[(b&a.cd)>>a.Vb].pj(b&a.sb,c&255)}function db(a,b,c){var d=b&a.sb;b=(b&a.cd)>>a.Vb;d!=a.sb?a.Da[b].Fo(d,c&65535):(a.Da[b++].pj(d,c&255),a.Da[b&a.ce].pj(0,c>>8&255))}function eb(a){for(var b=0,c=[],d=0;d<a.vg;d++){var e=a.Da[d];if(e.jb||e.Pj){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,m=0,n=[];h<e.length;){for(var r=e[h],t=h+1;t<e.length&&e[t]===r;)t++;n[m++]=t-h;n[m++]=r;h=t}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.yh==a.cd;return c}
Ta.prototype.nh=function(a,b,c){if(!(a&this.sb||!b||b&this.sb)){for(var d=a>>this.Vb;0<b;){var e=this.Da[d];if(!e.ea)return Xa(5,a,b);e.ve(c);b-=this.xc;d++}return!0}return Xa(3,a,b)};function $a(a,b,c){if(!(b&a.sb||!c||c&a.sb)){for(var d=b>>a.Vb;0<c;)b=d*a.xc,a.Da[d++]=new Ua(b),c-=a.xc;return!0}return Xa(4,b,c)}function ab(a,b){return a.Da[(b&a.cd)>>a.Vb].hj(b&a.sb)}function bb(a,b){var c=b&a.sb,d=(b&a.cd)>>a.Vb;return c!=a.sb?a.Da[d].uo(c):a.Da[d++].hj(c)|a.Da[d&a.ce].hj(0)<<8}
function cb(a,b,c){a.Da[(b&a.cd)>>a.Vb].pj(b&a.sb,c&255)}function db(a,b,c){var d=b&a.sb;b=(b&a.cd)>>a.Vb;d!=a.sb?a.Da[b].Go(d,c&65535):(a.Da[b++].pj(d,c&255),a.Da[b&a.ce].pj(0,c>>8&255))}function eb(a){for(var b=0,c=[],d=0;d<a.vg;d++){var e=a.Da[d];if(e.jb||e.Pj){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,m=0,n=[];h<e.length;){for(var r=e[h],t=h+1;t<e.length&&e[t]===r;)t++;n[m++]=t-h;n[m++]=r;h=t}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.yh==a.cd;return c}
function fb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=g;n++)void 0!==f.gg[n]?q("Input port "+p(n,4)+" registered by "+f.gg[n][0].id+", ignoring "+h.id):f.gg[n]=[h,m,!1,!1]}}function gb(a,b,c){var d=255;a=a.gg[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function hb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=g;n++)void 0!==f.hg[n]?q("Output port "+p(n,4)+" registered by "+f.hg[n][0].id+", ignoring "+h.id):f.hg[n]=[h,m,!1,!1]}}function ib(a,b,c,d){a=a.hg[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Xa(a,b,c){q("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function Ua(a,b,c,d){this.Ml=b||0;this.pa=null;this.offset=0;this.Vj=c;this.ea=null;this.jb=this.Pj=!1;if(b)if(d)this.ea=d,a=[d.Zd,a-d.Ua],this.pa=a[0],this.offset=a[1],this.ve(d.kf);else{this.pa=Array(b>>2);for(d=0;d<this.pa.length;d++)this.pa[d]=0;this.ve(jb)}else this.ve()}
Ua.prototype={fh:function(){return 0},rh:function(){},ro:function(a){return this.pa[a>>2]>>>((a&3)<<3)&255},uo:function(a){var b=a>>2;a=(a&3)<<3;var c=this.pa[b]>>>a;return 24>a?c&65535:c&255|(this.pa[b+1]&255)<<8},Do:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<<d)|b<<d;this.jb=!0},Go:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.pa[c]=this.pa[c]&~(65535<<d)|b<<d:(this.pa[c]=this.pa[c]&16777215|b<<24,c++,this.pa[c]=this.pa[c]&4294967040|b>>8);this.jb=!0},save:function(){return this.ea?
null:this.pa},restore:function(a){return this.ea?null==a:a&&this.Ml==a.length<<2?(this.pa=a,this.jb=!0):!1},ve:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cc=c[0]?c[0]:this.fh;this.so=c[1]?c[1]:this.fh;b&&(this.hj=c[0]?c[0]:this.fh,this.to=c[1]?c[1]:this.fh);c=a;this.Fc=c[2]&&!this.Vj?c[2]:this.rh;this.Eo=c[3]&&!this.Vj?c[3]:this.rh;b&&(this.pj=c[2]?c[2]:this.rh,this.Fo=c[3]?c[3]:this.rh)}};var jb=[Ua.prototype.ro,Ua.prototype.uo,Ua.prototype.Do,Ua.prototype.Go];
function kb(a,b){s.call(this,"CPU",a,kb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.Vc=c;this.ba.Jd=d;this.ba.Pg=Math.round(this.ba.Vc/1E4)/100;this.ba.We=this.ba.Pg*this.ba.Jd;this.ma.Nb=!1;this.ma.Fb=!1;this.ma.Yj=!1;this.ma.Oh=a.autoStart;this.ma.Qj=!1;c=Ea.autostart;void 0!==c&&(this.ma.Oh="true"==c?!0:"false"==c?!1:null);this.ma.Eg=!1;this.ba.Tg=this.ba.Ye=0;this.ba.Ug=a.csStart;this.ba.Af=a.csInterval;this.ba.Bf=a.csStop;var e=this;this.rn=function(){lb(e)};z(this)}v(s,kb);k=kb.prototype;
k.sc=function(a,b,c,d){this.qa=b;this.Sa=d;this.Oa=a;var e=Ra(a,"Video");e&&(this.uf=function(){mb(e)},this.$c=function(){e.$c()});this.ka=Ra(a,"ChipSet");z(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Zb=function(a,b){if(!b){if(a&&this.restore){nb(this);if(!this.restore(a))return!1;ob(this)}else this.reset();this.gc("No debugger detected")}this.ma.Nb=!0;!pb(this)&&this.Sa&&this.Sa.Zp();this.uf();this.Me();return!0};
Ua.prototype={fh:function(){return 0},rh:function(){},so:function(a){return this.pa[a>>2]>>>((a&3)<<3)&255},vo:function(a){var b=a>>2;a=(a&3)<<3;var c=this.pa[b]>>>a;return 24>a?c&65535:c&255|(this.pa[b+1]&255)<<8},Eo:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<<d)|b<<d;this.jb=!0},Ho:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.pa[c]=this.pa[c]&~(65535<<d)|b<<d:(this.pa[c]=this.pa[c]&16777215|b<<24,c++,this.pa[c]=this.pa[c]&4294967040|b>>8);this.jb=!0},save:function(){return this.ea?
null:this.pa},restore:function(a){return this.ea?null==a:a&&this.Ml==a.length<<2?(this.pa=a,this.jb=!0):!1},ve:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cc=c[0]?c[0]:this.fh;this.to=c[1]?c[1]:this.fh;b&&(this.hj=c[0]?c[0]:this.fh,this.uo=c[1]?c[1]:this.fh);c=a;this.Fc=c[2]&&!this.Vj?c[2]:this.rh;this.Fo=c[3]&&!this.Vj?c[3]:this.rh;b&&(this.pj=c[2]?c[2]:this.rh,this.Go=c[3]?c[3]:this.rh)}};var jb=[Ua.prototype.so,Ua.prototype.vo,Ua.prototype.Eo,Ua.prototype.Ho];
function kb(a,b){s.call(this,"CPU",a,kb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.Vc=c;this.ba.Jd=d;this.ba.Pg=Math.round(this.ba.Vc/1E4)/100;this.ba.We=this.ba.Pg*this.ba.Jd;this.ma.Nb=!1;this.ma.Fb=!1;this.ma.Yj=!1;this.ma.Oh=a.autoStart;this.ma.Qj=!1;c=Ea.autostart;void 0!==c&&(this.ma.Oh="true"==c?!0:"false"==c?!1:null);this.ma.Eg=!1;this.ba.Tg=this.ba.Ye=0;this.ba.Ug=a.csStart;this.ba.Af=a.csInterval;this.ba.Bf=a.csStop;var e=this;this.sn=function(){lb(e)};z(this)}v(s,kb);k=kb.prototype;
k.sc=function(a,b,c,d){this.qa=b;this.Sa=d;this.Oa=a;var e=Ra(a,"Video");e&&(this.uf=function(){mb(e)},this.$c=function(){e.$c()});this.ka=Ra(a,"ChipSet");z(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Zb=function(a,b){if(!b){if(a&&this.restore){nb(this);if(!this.restore(a))return!1;ob(this)}else this.reset();this.gc("No debugger detected")}this.ma.Nb=!0;!pb(this)&&this.Sa&&this.Sa.$p();this.uf();this.Me();return!0};
k.Yb=function(a){this.ma.Nb=!1;return a&&this.save?this.save():!0};function pb(a){return!0===a.ma.Oh||null===a.ma.Oh&&void 0===a.ra.run?(lb(a),!0):!1}k.$c=function(){};k.$j=function(){return 0};function ob(a){void 0===a.ba.Ug&&(a.ba.Ug=0);void 0===a.ba.Af&&(a.ba.Af=-1);void 0===a.ba.Bf&&(a.ba.Bf=-1);a.ma.Eg=0<=a.ba.Ug&&0<a.ba.Af;a.ma.Eg&&(a.ba.Tg=0,a.ba.Ye=a.ba.Ug-a.se)}
function A(a,b,c,d){a.ra[b]&&(void 0===d&&(d=4),void 0===c&&(Pa(a,"Register "+b+" is invalid"),qb(a)),c=!a.ma.Fb||a.ma.Qj?p(c,d):"----".substr(0,d),a.ra[b].textContent!=c&&(a.ra[b].textContent=c))}k.Me=function(){};k.uf=function(){};
k.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ra[b]=c;c.onclick=function(){d.ma.Fb?qb(d,!0):lb(d,!0)};a=!0;break;case "reset":this.ra[b]=c;c.onclick=function(){d.Oa&&rb(d.Oa)};a=!0;break;case "speed":this.ra[b]=c;a=!0;break;case "setSpeed":this.ra[b]=c,c.onclick=function(){sb(d,d.ba.Jd<<1,!0)},c.textContent=this.ba.We.toFixed(2)+"Mhz",a=!0}return a};function tb(a,b){if(a.ma.Fb){var c=a.A-b;a.A-=c;a.Uc-=c}}function ub(a,b,c){a.se+=b;c&&(a.Uc=a.A=0)}
function vb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ba.Jd&&a.ba.Hd&&(d=a.ba.Hd/a.ba.Pg);a.ba.gk=Math.round(1E3/30);a.ba.ln=Math.floor(a.ba.Vc/c*d);a.ba.mi=Math.floor(a.ba.Vc/30*d);a.ba.kk=Math.floor(a.ba.Vc/60*d);a.ba.jk=Math.floor(a.ba.Vc/2*d);b||(a.ba.Ef=a.ba.mi,a.ba.Df=a.ba.kk,a.ba.Cf=a.ba.jk);a.ba.ni=0}function B(a,b){var c=a.se+a.Nd+a.Uc-a.A;b&&1<a.ba.Jd&&a.ba.Hd>a.ba.Pg&&(c=Math.round(c/a.ba.Jd));return c}function nb(a){a.ba.Hd=0;a.se=a.Nd=a.Uc=a.A=0;ob(a);sb(a,1)}
function vb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ba.Jd&&a.ba.Hd&&(d=a.ba.Hd/a.ba.Pg);a.ba.gk=Math.round(1E3/30);a.ba.mn=Math.floor(a.ba.Vc/c*d);a.ba.mi=Math.floor(a.ba.Vc/30*d);a.ba.kk=Math.floor(a.ba.Vc/60*d);a.ba.jk=Math.floor(a.ba.Vc/2*d);b||(a.ba.Ef=a.ba.mi,a.ba.Df=a.ba.kk,a.ba.Cf=a.ba.jk);a.ba.ni=0}function B(a,b){var c=a.se+a.Nd+a.Uc-a.A;b&&1<a.ba.Jd&&a.ba.Hd>a.ba.Pg&&(c=Math.round(c/a.ba.Jd));return c}function nb(a){a.ba.Hd=0;a.se=a.Nd=a.Uc=a.A=0;ob(a);sb(a,1)}
function sb(a,b,c){if(void 0!==b){0.8>a.ba.Hd/a.ba.We&&(b=1);a.ba.Jd=b;b=a.ba.Pg*a.ba.Jd;if(a.ba.We!=b){a.ba.We=b;b=a.ba.We.toFixed(2)+"Mhz";var d=a.ra.setSpeed;d&&(d.textContent=b);a.gc("target speed: "+b)}c&&a.$c()}ub(a,a.Nd);a.Nd=0;a.ba.Xe=ha();a.ba.pe=0;vb(a)}
function lb(a,b){if(Na(a,!0)){if(!a.ma.Fb){sb(a);a.Oa&&a.Oa.start(a.ba.Xe,B(a));a.ma.Fb=!0;a.ma.Yj=!0;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Halt");a.Me(!0);b&&a.$c()}a.ba.ni>=a.ba.Vc&&vb(a,!0);a.ba.Ff=0;a.ba.Rg=ha();a.ba.pe&&(c=a.ba.Rg-a.ba.pe,c>a.ba.gk&&(a.ba.Xe+=c,a.ba.Xe>a.ba.Rg&&(a.ba.Xe=a.ba.Rg)));try{do{var d=a.ma.Eg?1:a.ba.ln;if(a.ka){xb(a.ka);var e=a.ka,c=d,f=e.Jb[0];if(f.me){var g=(B(e.la,e.Ed)-f.nd)/e.ah|0,h=yb(e,0)-g;6==f.mode&&(h-=g);var m=h*e.ah|0;6==f.mode&&(m>>=1);c>m&&(c=
function lb(a,b){if(Na(a,!0)){if(!a.ma.Fb){sb(a);a.Oa&&a.Oa.start(a.ba.Xe,B(a));a.ma.Fb=!0;a.ma.Yj=!0;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Halt");a.Me(!0);b&&a.$c()}a.ba.ni>=a.ba.Vc&&vb(a,!0);a.ba.Ff=0;a.ba.Rg=ha();a.ba.pe&&(c=a.ba.Rg-a.ba.pe,c>a.ba.gk&&(a.ba.Xe+=c,a.ba.Xe>a.ba.Rg&&(a.ba.Xe=a.ba.Rg)));try{do{var d=a.ma.Eg?1:a.ba.mn;if(a.ka){xb(a.ka);var e=a.ka,c=d,f=e.Jb[0];if(f.me){var g=(B(e.la,e.Ed)-f.nd)/e.ah|0,h=yb(e,0)-g;6==f.mode&&(h-=g);var m=h*e.ah|0;6==f.mode&&(m>>=1);c>m&&(c=
m)}var d=c,n=a.ka,c=d;if(n.ja&&n.ja[11]&64){var r=n.$e-B(n.la,n.Ed);0<r&&c>r&&(c=r)}d=c}a.zl(d);var t=a.Uc-a.A;a.Nd+=t;a.ba.Ff+=t;ub(a,0,!0);var c=a,u=t;if(c.ma.Eg){var x=!1;c.ba.Tg=c.ba.Tg+c.$j()|0;c.ba.Ye-=u;0>=c.ba.Ye&&(c.ba.Ye+=c.ba.Af,x=!0);0<=c.ba.Bf&&c.ba.Bf<=B(c)&&(c.ba.Af=c.ba.Bf=-1,ob(c),qb(c),x=!0);x&&c.gc(B(c)+" cycles: checksum="+p(c.ba.Tg))}a.ba.Df-=t;0>=a.ba.Df&&(a.ba.Df+=a.ba.kk,a.uf());a.ba.Cf-=t;0>=a.ba.Cf&&(a.ba.Cf+=a.ba.jk,a.Me());a.ba.Ef-=t;if(0>=a.ba.Ef){a.ba.Ef+=a.ba.mi;break}}while(a.ma.Fb)}catch(F){qb(a);
a.uf();a.Me();a.Oa&&a.Oa.stop(ha(),B(a));Na(a,!1);Pa(a,F.message);return}d=setTimeout;e=a.rn;a.ba.pe=ha();f=a.ba.gk;a.ba.Ff&&(f=Math.round(f*a.ba.Ff/a.ba.mi));f-=a.ba.pe-a.ba.Rg;if(g=a.ba.pe-a.ba.Xe)a.ba.Hd=Math.round(a.Nd/(10*g))/100,864E5<=g&&(a.se=0,a.ka&&xb(a.ka,!0),sb(a));if(0>f||a.ba.Hd<a.ba.We)f=0;a.ba.ni+=a.ba.Ff;a.ba.pe+=f;d(e,f)}else a.uf(),a.Me(),a.Oa&&a.Oa.stop(ha(),B(a))}k.zl=function(){return 0};
a.uf();a.Me();a.Oa&&a.Oa.stop(ha(),B(a));Na(a,!1);Pa(a,F.message);return}d=setTimeout;e=a.sn;a.ba.pe=ha();f=a.ba.gk;a.ba.Ff&&(f=Math.round(f*a.ba.Ff/a.ba.mi));f-=a.ba.pe-a.ba.Rg;if(g=a.ba.pe-a.ba.Xe)a.ba.Hd=Math.round(a.Nd/(10*g))/100,864E5<=g&&(a.se=0,a.ka&&xb(a.ka,!0),sb(a));if(0>f||a.ba.Hd<a.ba.We)f=0;a.ba.ni+=a.ba.Ff;a.ba.pe+=f;d(e,f)}else a.uf(),a.Me(),a.Oa&&a.Oa.stop(ha(),B(a))}k.zl=function(){return 0};
function qb(a,b){a.ma.zc&&(a.ma.Ph=!0);a.Uc-=a.A;a.A=0;ub(a,a.Nd);a.Nd=0;if(a.ma.Fb){a.ma.Fb=!1;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Run")}a.ma.vf=b}
var zb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
0,0,1,1,0,1,0,0,1];function Ab(a,b,c,d){this.la=a;this.Sa=a.Sa;this.id=b;this.lh=c||"";this.Ka=this.ya=0;this.Oc=65535;this.hb=0;this.td=-4;this.lc=this.Xa=0;this.Cj=this.id==Bb?Array(32):[];this.Qh=null;this.Lg=!1;Db(this,d)}var Bb=1;function Eb(a){this.ya=a;return this.Ka=a<<4}function Fb(a,b){var c,d,e=this.la;a&4?(c=e.Sd.Ka,d=c+e.Sd.Oc):(c=e.Hc,d=e.Fe);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Gb(this,c,a,b);b||C.call(e,13,a)}return-4}
0,0,1,1,0,1,0,0,1];function Ab(a,b,c,d){this.la=a;this.Sa=a.Sa;this.id=b;this.lh=c||"";this.Ka=this.ya=0;this.Oc=65535;this.hb=0;this.td=-4;this.lc=this.Xa=0;this.Cj=this.id==Bb?Array(32):[];this.Qh=null;this.Lg=!1;Cb(this,d)}var Bb=1;function Eb(a){this.ya=a;return this.Ka=a<<4}function Fb(a,b){var c,d,e=this.la;a&4?(c=e.Sd.Ka,d=c+e.Sd.Oc):(c=e.Hc,d=e.Fe);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Gb(this,c,a,b);b||C.call(e,13,a)}return-4}
function Hb(a){var b=this.la;a=b.Ic+(a<<2);b.ta=D(b,a);this.ya=D(b,a+2);b.Ca&=-769;return this.Ka=this.ya<<4}function Ib(a){var b=this.la;a<<=3;var c=b.Ic+a;if(c+7<=b.Ge)return Gb(this,c,a);C.call(b,13,a|3,!0);return-4}function Jb(a){return this.Ka+a}function Kb(a){return this.Ka+a}function Lb(a,b,c){return a+b<=this.Oc?this.Ka+a:Mb.call(this,0,0,c)}function Nb(a,b,c){return a+b>this.Oc?this.Ka+a:Mb.call(this,0,0,c)}function Mb(a,b,c){c||C.call(this.la,13,0);return-4}
function Ob(a,b,c){return a+b<=this.Oc?this.Ka+a:Pb.call(this,0,0,c)}function Qb(a,b,c){return a+b>this.Oc?this.Ka+a:Pb.call(this,0,0,c)}function Pb(a,b,c){c||C.call(this.la,13,0);return-4}
function Rb(a,b){var c=this.la,d=c.gb.Ka,e=this.Xa,f=c.gb.ya;if(!b){if(768!=c.gb.type)return C.call(c,10,a,!0),!1;E(c,c.gb.td+4,c.gb.hb&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ka;if(b){if(768==c.gb.type)return C.call(c,13,a,!0),!1;E(c,c.gb.td+4,c.gb.hb|=768);c.gb.type=768}E(c,d+14,c.ta);E(c,d+16,Sb(c));E(c,d+18,c.H);E(c,d+20,c.J);E(c,d+22,c.K);E(c,d+24,c.C);E(c,d+26,c.X);E(c,d+28,c.I);E(c,d+30,c.G);E(c,d+32,c.F);E(c,d+34,c.Qa.ya);E(c,d+36,c.xa.ya);E(c,d+38,c.pb.ya);E(c,d+40,c.vb.ya);var d=
38,h=26;Tb(c,D(c,g+16)|(b?16384:0));c.H=D(c,g+18);c.J=D(c,g+20);c.K=D(c,g+22);c.C=D(c,g+24);c.I=D(c,g+28);c.G=D(c,g+30);c.F=D(c,g+32);c.Qa.load(D(c,g+34));c.vb.load(D(c,g+40));Vb(c,D(c,g+14),D(c,g+36));this.Xa<e&&(h=(this.Xa<<2)+2,d=h+2);c.X=D(c,g+h);c.pb.load(D(c,g+d));c.Sd.load(D(c,g+42));b&&E(c,g+0,f);c.hc|=8;return!0}function Wb(a,b,c){var d=a.la,e=D(d,b+2),f=D(d,b+0)|(e&255)<<16,d=D(d,b+4);a.ya=c;a.Ka=f;a.Oc=d;a.hb=e&65280;a.td=b;Db(a)}
38,h=26;Tb(c,D(c,g+16)|(b?16384:0));c.H=D(c,g+18);c.J=D(c,g+20);c.K=D(c,g+22);c.C=D(c,g+24);c.I=D(c,g+28);c.G=D(c,g+30);c.F=D(c,g+32);c.Qa.load(D(c,g+34));c.vb.load(D(c,g+40));Vb(c,D(c,g+14),D(c,g+36));this.Xa<e&&(h=(this.Xa<<2)+2,d=h+2);c.X=D(c,g+h);c.pb.load(D(c,g+d));c.Sd.load(D(c,g+42));b&&E(c,g+0,f);c.hc|=8;return!0}function Wb(a,b,c){var d=a.la,e=D(d,b+2),f=D(d,b+0)|(e&255)<<16,d=D(d,b+4);a.ya=c;a.Ka=f;a.Oc=d;a.hb=e&65280;a.td=b;Cb(a)}
function Gb(a,b,c,d){for(var e=a.la,f=D(e,b+0),g=D(e,b+4),h=g&7936,m=D(e,b+2)|(g&255)<<16,n=c&65528;;){var r;if(a.id==Bb){a.Lg=!1;var n=a.Qh,t,u,x=c&3,F=(g&24576)>>13;if(6144<=h){x=c&3;if(x>a.Xa){if(!1!==n&&!(F==a.Xa||g&1024&&F<=a.Xa)){m=-4;break}t=e.Ia();e.pb.load(e.Ia());e.X=t;a.Lg=!0}t=!1}else if(1024==h)t=!0,u=-1,r=c,x<a.Xa&&(x=a.Xa);else if(1536==h)t=!0,u=-17153,r=c|1;else if(1792==h)t=!0,u=-16641,r=c|1;else if(1280==h){if(!Rb.call(a,m&65535,!0)){m=-4;break}return a.Ka}if(t){b=m&65535;if(x<=
F){d=a.Xa;if(-4==a.load(b,!0)){m=-4;break}e.ta=f;if(a.Xa<d){if(!0!==n){m=-4;break}t=e.X;f=0;for(g&=31;g--;)a.Cj[f++]=D(e,e.pb.yc(t,1)),t+=2;g=e.gb.Ka;d=(a.Xa<<2)+2;n=d+2;r=e.X;b=e.pb.ya;e.X=D(e,g+d);e.pb.load(D(e,g+n));G(e,b);for(G(e,r);f;)G(e,a.Cj[--f]);a.Lg=!0}e.Ca&=u;return a.Ka}d||C.call(e,13,r,!0);m=-4;break}else if(!1!==t){d||C.call(e,13,c,!0);m=-4;break}}else if(2==a.id){if(n&&(4096>h||2048==(h&2560))){d||C.call(e,13,c,!!g);m=-4;break}}else if(3==a.id){if(!n||4096>h||2048==(h&2560)){d||C.call(e,
13,c,!0);m=-4;break}}else if(4==a.id){if(!n||256!=h&&768!=h){d||C.call(e,10,c,!0);m=-4;break}}else if(6==a.id&&!(g&4096)&&768<h){m=-4;break}a.ya=c;a.Ka=m;a.Oc=f;a.hb=g;a.type=h;a.td=b;Db(a);break}return m}Ab.prototype.save=function(){return[this.ya,this.Ka,this.Oc,this.hb,this.id,this.lh,this.Xa,this.lc,this.td]};Ab.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ya=a[0],this.Ka=a[1],this.Oc=a[2],this.hb=a[3],this.id=a[4],this.lh=a[5],this.Xa=a[6],this.lc=a[7],this.td=a[8])};
function Db(a,b){void 0===b&&(b=!!(a.la.hc&1));if(b){a.load=Fb;a.fk=Ib;a.yc=Lb;a.Wb=Ob;if(a.hb&4096){6144==(a.hb&6656)&&(a.Wb=Mb);if(a.hb&2048||!(a.hb&512))a.Wb=Pb;1024==(a.hb&3072)&&(a.yc==Lb&&(a.yc=Nb),a.Wb==Ob&&(a.Wb=Qb))}a.Xa=a.ya&3;a.lc=(a.hb&24576)>>13}else a.load=Eb,a.fk=Hb,a.yc=Jb,a.Wb=Kb,a.Oc=65535,a.Xa=a.lc=0,a.td=-4}
13,c,!0);m=-4;break}}else if(4==a.id){if(!n||256!=h&&768!=h){d||C.call(e,10,c,!0);m=-4;break}}else if(6==a.id&&!(g&4096)&&768<h){m=-4;break}a.ya=c;a.Ka=m;a.Oc=f;a.hb=g;a.type=h;a.td=b;Cb(a);break}return m}Ab.prototype.save=function(){return[this.ya,this.Ka,this.Oc,this.hb,this.id,this.lh,this.Xa,this.lc,this.td]};Ab.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ya=a[0],this.Ka=a[1],this.Oc=a[2],this.hb=a[3],this.id=a[4],this.lh=a[5],this.Xa=a[6],this.lc=a[7],this.td=a[8])};
function Cb(a,b){void 0===b&&(b=!!(a.la.hc&1));if(b){a.load=Fb;a.fk=Ib;a.yc=Lb;a.Wb=Ob;if(a.hb&4096){6144==(a.hb&6656)&&(a.Wb=Mb);if(a.hb&2048||!(a.hb&512))a.Wb=Pb;1024==(a.hb&3072)&&(a.yc==Lb&&(a.yc=Nb),a.Wb==Ob&&(a.Wb=Qb))}a.Xa=a.ya&3;a.lc=(a.hb&24576)>>13}else a.load=Eb,a.fk=Hb,a.yc=Jb,a.Wb=Kb,a.Oc=65535,a.Xa=a.lc=0,a.td=-4}
function Xb(a){this.Ha=a.model||8088;var b=0;switch(this.Ha){default:case 8088:b=4772727;break;case 80286:b=6E6}kb.call(this,a,b);this.vj=61442;this.dg=1792;this.cg=4;this.af=255;this.B=80286<=this.Ha?Yb:Zb;this.Ra=$b.slice();this.Il=ac.slice();this.Jl=bc.slice();this.yj=cc;80186<=this.Ha&&(this.af=31,this.Ra[15]=H,this.Ra[96]=dc,this.Ra[97]=ec,this.Ra[98]=fc,this.Ra[99]=H,this.Ra[100]=H,this.Ra[101]=H,this.Ra[102]=H,this.Ra[103]=H,this.Ra[104]=gc,this.Ra[105]=hc,this.Ra[106]=ic,this.Ra[107]=jc,this.Ra[108]=
kc,this.Ra[109]=lc,this.Ra[110]=mc,this.Ra[111]=nc,this.Ra[192]=oc,this.Ra[193]=pc,this.Ra[200]=qc,this.Ra[201]=rc,this.Ra[241]=sc,this.Il[7]=tc,this.Jl[7]=tc,80286<=this.Ha&&(this.vj=2,this.dg|=28672,this.cg=0,this.Ra[15]=uc,this.Ra[99]=vc,this.Ra[84]=wc));this.fg=[];this.xj=[];this.Uc=this.Fh=0;this.ma.vf=this.ma.Vl=!1;this.Da=[];this.Yd=this.Vb=this.sb=this.ce=0;this.T=this.am;this.U=this.bm;this.O=this.dn;this.P=this.en;this.R=this.Ao;this.S=this.Bo;xc(this)}v(kb,Xb);
kc,this.Ra[109]=lc,this.Ra[110]=mc,this.Ra[111]=nc,this.Ra[192]=oc,this.Ra[193]=pc,this.Ra[200]=qc,this.Ra[201]=rc,this.Ra[241]=sc,this.Il[7]=tc,this.Jl[7]=tc,80286<=this.Ha&&(this.vj=2,this.dg|=28672,this.cg=0,this.Ra[15]=uc,this.Ra[99]=vc,this.Ra[84]=wc));this.fg=[];this.xj=[];this.Uc=this.Fh=0;this.ma.vf=this.ma.Vl=!1;this.Da=[];this.Yd=this.Vb=this.sb=this.ce=0;this.T=this.bm;this.U=this.cm;this.O=this.en;this.P=this.fn;this.R=this.Bo;this.S=this.Co;xc(this)}v(kb,Xb);
var Zb={cj:4,aa:5,sa:6,fa:7,ga:8,Q:9,V:11,W:12,qe:4,mk:60,nk:83,Pb:3,tb:9,ec:16,Yg:1,rk:19,tk:28,vk:16,uk:21,sk:37,pk:2,wi:9,qk:5,ok:33,yi:10,xi:8,Lf:3,Kf:15,Jk:51,Kk:1,Lk:2,Mk:4,Ik:32,zi:15,Ok:15,Qb:16,Rb:4,Qk:11,Pk:18,Nk:24,Cb:4,Rk:2,Ai:16,Sk:17,Fi:18,Tk:19,Ei:5,Gi:6,Yk:2,Xk:8,Vk:9,Wk:10,Uk:10,Hi:10,Ii:10,xk:80,zk:144,wk:86,yk:154,Bk:101,Dk:165,Ak:107,Ck:171,$k:70,bl:113,Zk:76,al:124,Fk:80,Hk:128,Ek:86,Gk:134,Nf:3,Mf:16,Ni:10,Mi:8,cl:51,fc:8,dl:17,el:36,mc:11,fl:16,Of:10,Md:2,ti:18,ui:7,vi:15,Bi:12,
Ci:7,Di:11,Ji:18,Ki:7,Li:15,Oi:15,Pi:7,Qi:13,Ui:11,Vi:7,Wi:8,gl:8,jl:12,hl:18,il:17,kl:15,Si:8,Ri:20,Ti:2,Zi:3,Pf:9,Yi:5,Xi:11,aj:4,$i:17,ll:11},Yb={cj:0,aa:0,sa:0,fa:0,ga:0,Q:0,V:1,W:1,qe:3,mk:14,nk:16,Pb:2,tb:7,ec:7,Yg:0,rk:7,tk:13,vk:7,uk:11,sk:16,pk:3,wi:6,qk:2,ok:13,yi:5,xi:5,Lf:2,Kf:7,Jk:23,Kk:0,Lk:1,Mk:3,Ik:17,zi:7,Ok:11,Qb:7,Rb:3,Qk:7,Pk:11,Nk:15,Cb:2,Rk:3,Ai:7,Sk:8,Fi:8,Tk:8,Ei:4,Gi:4,Yk:2,Xk:3,Vk:5,Wk:2,Uk:3,Hi:5,Ii:3,xk:14,zk:22,wk:17,yk:25,Bk:17,Dk:25,Ak:20,Ck:28,$k:13,bl:21,Zk:16,al:24,
Fk:13,Hk:21,Ek:16,Gk:24,Nf:2,Mf:7,Ni:5,Mi:5,cl:19,fc:5,dl:5,el:17,mc:3,fl:5,Of:3,Md:0,ti:8,ui:5,vi:9,Bi:5,Ci:5,Di:4,Ji:5,Ki:5,Li:4,Oi:7,Pi:5,Qi:8,Ui:3,Vi:4,Wi:3,gl:11,jl:11,hl:15,il:15,kl:7,Si:5,Ri:8,Ti:0,Zi:2,Pf:6,Yi:3,Xi:6,aj:3,$i:5,ll:5};k=Xb.prototype;k.fi=function(a,b,c,d,e){this.Da=a;this.Yd=b;this.Vb=c;this.sb=d;this.ce=e};k.reset=function(){this.ma.Fb&&qb(this);xc(this);nb(this);this.ma.Sc=!1};
function xc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.X=0;a.I=0;a.G=0;a.F=0;a.hc=65520;a.Ic=0;a.Ge=1023;a.Ze=0;a.Xg=-1;a.xa=new Ab(a,Bb,"CS");a.vb=new Ab(a,2,"DS");a.Qa=new Ab(a,2,"ES");a.pb=new Ab(a,3,"SS");a.xl=new Ab(a,0,"NULL");Vb(a,0,65535);80286<=a.Ha&&(a.Hc=0,a.Fe=65535,a.Sd=new Ab(a,5,"LDT",!0),a.gb=new Ab(a,4,"TSS",!0),a.Gb=new Ab(a,6,"VER",!0),Vb(a,65520,61440),a.xa.Ka=16711680);Tb(a,0);yc(a);a.kb=0;a.Db=a.Wf=-1;a.qg=0;a.ha=a.Ja=-4;a.D=a.vb;a.N=a.pb;a.Z=a.va=0}
k.$j=function(){var a=this.H+this.C+this.J+this.K+this.X+this.I+this.G+this.F|0;return a=a+this.ta+this.xa.ya+this.vb.ya+this.pb.ya+this.Qa.ya+Sb(this)|0};function zc(a,b,c,d){void 0!==d&&(void 0===a.fg[b]&&(a.fg[b]=[]),a.fg[b].push([c,d]))}function Ac(a,b){var c=a.xj[b];null!=c&&(c(--a.Fh),delete a.xj[b])}function yc(a,b){void 0===b&&(b=!!(a.hc&1));b||a.dc("returning to real-mode");a.yj=b?Bc:cc;Db(a.xa,b);Db(a.vb,b);Db(a.pb,b);Db(a.Qa,b)}
k.$j=function(){var a=this.H+this.C+this.J+this.K+this.X+this.I+this.G+this.F|0;return a=a+this.ta+this.xa.ya+this.vb.ya+this.pb.ya+this.Qa.ya+Sb(this)|0};function zc(a,b,c,d){void 0!==d&&(void 0===a.fg[b]&&(a.fg[b]=[]),a.fg[b].push([c,d]))}function Ac(a,b){var c=a.xj[b];null!=c&&(c(--a.Fh),delete a.xj[b])}function yc(a,b){void 0===b&&(b=!!(a.hc&1));b||a.dc("returning to real-mode");a.yj=b?Bc:cc;Cb(a.xa,b);Cb(a.vb,b);Cb(a.pb,b);Cb(a.Qa,b)}
k.save=function(){var a=new I(this);a.set(0,[this.H,this.C,this.J,this.K,this.X,this.I,this.G,this.F,this.Ze]);a.set(1,[this.ta,this.xa.save(),this.vb.save(),this.pb.save(),this.Qa.save(),null!=this.Hc?[this.hc,this.Hc,this.Fe,this.Ic,this.Ge,this.Sd.save(),this.gb.save(),this.Ze]:null,Sb(this)]);a.set(2,[this.D.lh,this.N.lh,this.Z,this.va,this.kb,this.ha,this.Ja]);a.set(3,[0,this.se,this.ba.Jd]);a.set(4,eb(this.qa));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.X=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Ze=b[8]||0;b=a[1];this.xa.restore(b[1]);this.vb.restore(b[2]);this.pb.restore(b[3]);this.Qa.restore(b[4]);var c=b[5];c&&c.length&&(this.hc=c[0],this.Hc=c[1],this.Fe=c[2],this.Ic=c[3],this.Ge=c[4],this.Sd.restore(c[5]),this.gb.restore(c[6]),this.Ze=c[7],yc(this));Tb(this,b[6]);J(this,b[0]);b=a[2];this.D=Ec(this,b[0]);this.N=Ec(this,b[1]);this.Z=b[2];this.va=b[3];this.kb=
b[4];this.ha=b[5];this.Ja=b[6];b=a[3];this.se=b[1];sb(this,b[2]);a:{b=this.qa;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.Ij){for(var f=0,g=Array(b.Ij),h=0;h<e.length-1;)for(var m=e[h++],n=e[h++];m--;)g[f++]=n;e=g}f=b.Da[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Va(b,a[c]);b=!0}return b};
@ -61,8 +61,8 @@ function Jc(a,b){a.Ba=a.xa.Ka+(a.ta=a.ta+b&65535)}function Kc(a){return a.Y&a.ca
function Vc(a){a.na=~(a.ia&16)&16|a.na&-17}function Wc(a){a.Y&=~(a.ca-1)}function Xc(a){Oc(a)||(a.ia^=a.ca>>1|a.ca>>2,a.na^=32896)}function Yc(a){a.ia|=a.ca;a.na=a.ia&32896|a.na&-32897}function Sb(a){return a.Ca&-2262|Kc(a)|Lc(a)|Mc(a)|Nc(a)|Oc(a)|Pc(a)}
function Tb(a,b,c){a.ca=256;a.Y=a.ia=a.na=0;b&1&&Uc(a);b&4||(a.ia|=1);b&16&&(a.na|=16);b&64||Sc(a);b&128&&Xc(a);b&2048&&Yc(a);a.hc&1||(b&=-61441);void 0===c&&(c=a.xa.Xa);c?b=b&-12289|a.Ca&12288:a.Ze=(b&12288)>>12;c>a.Ze&&(b=b&-513|a.Ca&512);a.Ca=a.Ca&~a.dg|b&a.dg|a.vj;a.Ca&256&&(a.kb|=2,a.Z|=4)}
k.Eb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ra[b]=c;d=!0;break;default:d=kb.prototype.Eb.call(this,a,b,c)}return d};function Zc(a,b){return a.Da[(b&a.Yd)>>a.Vb].Cc(b&a.sb)}
function D(a,b){var c=b&a.sb,d=(b&a.Yd)>>a.Vb;a.A-=a.B.cj;return c!=a.sb?a.Da[d].so(c):a.Da[d++].Cc(c)|a.Da[d&a.ce].Cc(0)<<8}function $c(a,b,c){a.Da[(b&a.Yd)>>a.Vb].Fc(b&a.sb,c&255)}function E(a,b,c){var d=b&a.sb;b=(b&a.Yd)>>a.Vb;a.A-=a.B.cj;d!=a.sb?a.Da[b].Eo(d,c&65535):(a.Da[b++].Fc(d,c&255),a.Da[b&a.ce].Fc(0,c>>8&255))}k.am=function(a,b){this.Zf=a;this.ha=a.yc(this.Sf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.bm=function(a,b){this.Zf=a;this.ha=a.yc(this.Sf=b,1);return this.Z&1?0:D(this,this.ha)};
k.dn=function(a,b){this.Zf=a;this.Ja=this.ha=a.yc(this.Sf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.en=function(a,b){this.Zf=a;this.Ja=this.ha=a.yc(this.Sf=b,1);return this.Z&1?0:D(this,this.ha)};k.Ao=function(a){this.Z&2||$c(this,this.Zf.Wb(this.Sf,0),a)};k.Bo=function(a){this.Z&2||E(this,this.Zf.Wb(this.Sf,1),a)};k.da=function(){var a=Zc(this,this.Ba);this.Ba=this.xa.Ka+(this.ta=this.ta+1&65535);return a};
function D(a,b){var c=b&a.sb,d=(b&a.Yd)>>a.Vb;a.A-=a.B.cj;return c!=a.sb?a.Da[d].to(c):a.Da[d++].Cc(c)|a.Da[d&a.ce].Cc(0)<<8}function $c(a,b,c){a.Da[(b&a.Yd)>>a.Vb].Fc(b&a.sb,c&255)}function E(a,b,c){var d=b&a.sb;b=(b&a.Yd)>>a.Vb;a.A-=a.B.cj;d!=a.sb?a.Da[b].Fo(d,c&65535):(a.Da[b++].Fc(d,c&255),a.Da[b&a.ce].Fc(0,c>>8&255))}k.bm=function(a,b){this.Zf=a;this.ha=a.yc(this.Sf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.cm=function(a,b){this.Zf=a;this.ha=a.yc(this.Sf=b,1);return this.Z&1?0:D(this,this.ha)};
k.en=function(a,b){this.Zf=a;this.Ja=this.ha=a.yc(this.Sf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.fn=function(a,b){this.Zf=a;this.Ja=this.ha=a.yc(this.Sf=b,1);return this.Z&1?0:D(this,this.ha)};k.Bo=function(a){this.Z&2||$c(this,this.Zf.Wb(this.Sf,0),a)};k.Co=function(a){this.Z&2||E(this,this.Zf.Wb(this.Sf,1),a)};k.da=function(){var a=Zc(this,this.Ba);this.Ba=this.xa.Ka+(this.ta=this.ta+1&65535);return a};
k.M=function(){var a=Zc(this,this.Ba)<<24>>24;this.Ba=this.xa.Ka+(this.ta=this.ta+1&65535);return a&65535};k.L=function(){var a=D(this,this.Ba);this.Ba=this.xa.Ka+(this.ta=this.ta+2&65535);return a};k.Ia=function(){var a=this.X;this.X=this.X+2&65535;return D(this,this.pb.yc(a,1))};function G(a,b){var c=a.X=a.X-2&65535;E(a,a.pb.Wb(c,1),b)}
k.Me=function(a){if(a||!this.ma.Fb||this.ma.Qj)A(this,"AX",this.H),A(this,"BX",this.C),A(this,"CX",this.J),A(this,"DX",this.K),A(this,"SP",this.X),A(this,"BP",this.I),A(this,"SI",this.G),A(this,"DI",this.F),A(this,"CS",this.xa.ya),A(this,"DS",this.vb.ya),A(this,"SS",this.pb.ya),A(this,"ES",this.Qa.ya),A(this,"IP",this.ta),a=Sb(this),A(this,"PS",a),A(this,"C",a&1?1:0,1),A(this,"P",a&4?1:0,1),A(this,"A",a&16?1:0,1),A(this,"Z",a&64?1:0,1),A(this,"S",a&128?1:0,1),A(this,"T",a&256?1:0,1),A(this,"I",a&
512?1:0,1),A(this,"D",a&1024?1:0,1),A(this,"V",a&2048?1:0,1);if(a=this.ra.speed)a.textContent=this.ma.Fb&&this.ba.Hd?this.ba.Hd.toFixed(2)+"Mhz":"Stopped"};
@ -426,60 +426,60 @@ this.B.Ok},function(){var a=this.M();J(this,this.ta+a);this.A-=this.B.zi},functi
L,L,L,L,L,L],Bc=[function(){this.A-=2+(0>this.ha?0:1);return this.Sd.ya},function(){this.A-=2+(0>this.ha?0:1);return this.gb.ya},function(a){this.Z|=2;this.Sd.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;-4!=this.gb.load(a)&&(E(this,this.gb.td+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&2048!=(this.Gb.hb&2560)&&(this.Gb.lc>=this.xa.Xa&&this.Gb.lc>=(a&3)||7168==(this.Gb.hb&
7168)))return Wc(this),a;Sc(this);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&512==(this.Gb.hb&2560)&&this.Gb.lc>=this.xa.Xa&&this.Gb.lc>=(a&3))return Wc(this),a;Sc(this);return a},K,K],cc=[tc,tc,tc,tc,tc,tc,K,K],vh=[function(a){0>this.ha?H.call(this):(a=this.Fe-this.Hc,E(this,this.ha+2,this.Hc),E(this,this.ha+4,65280|this.Hc>>16),this.A-=11);return a},function(a){0>this.ha?H.call(this):(a=this.Ge-this.Ic,E(this,this.ha+2,this.Ic),E(this,this.ha+4,65280|this.Ic>>
16),this.A-=12);return a},function(a){0>this.ha?H.call(this):(this.Hc=D(this,this.ha+2)|Zc(this,this.ha+4)<<16,this.Fe=this.Hc+a,this.Z|=2,this.A-=11);return a},function(a){0>this.ha?H.call(this):(this.Ic=D(this,this.ha+2)|Zc(this,this.ha+4)<<16,this.Ge=this.Ic+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.hc},K,function(a){qe.call(this,a);this.A-=0>this.ha?3:6;this.Z|=2;return a},K];
function N(a){s.call(this,"ChipSet",a,N);this.Ha=(this.Ha=a.model)?parseInt(this.Ha,10):wh;this.Sb=0;var b=a.sw1;if(b)this.Sb=xh(b,yh|zh.Gl);else{this.rd=[360,360];(b=a.floppies)&&b.length&&(this.rd=b);if(b=this.rd.length)this.Sb|=Ah.sh,b--,this.Sb|=(b&3)<<Ah.ff;if(b=a.monitor||(this.Ha<Bh?"mono":"ega"),void 0!==Ch[b])this.Sb|=Ch[b]<<zh.ff}this.Ud=xh(a.sw2||"11110000",0);this.cn=this.Ha==wh?16:64;this.wg=this.of=1;this.Ha>=Bh&&(this.wg=this.of=2);this.Ed=a.scaleTimers||!1;this.zo=a.rtcDate;this.Xj=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ih=new window.webkitAudioContext);this.reset(!0);z(this)}v(s,N);var wh=5150,Bh=5170,Ch={none:0,tv:1,color:2,mono:3,ega:0},Ah={sh:1,ONE:0,tp:64,rp:128,Ro:192,ef:192,ff:6},yh=12,zh={sp:16,Jo:32,Gl:48,ef:48,ff:4};k=N.prototype;
function N(a){s.call(this,"ChipSet",a,N);this.Ha=(this.Ha=a.model)?parseInt(this.Ha,10):wh;this.Sb=0;var b=a.sw1;if(b)this.Sb=xh(b,yh|zh.Gl);else{this.rd=[360,360];(b=a.floppies)&&b.length&&(this.rd=b);if(b=this.rd.length)this.Sb|=Ah.sh,b--,this.Sb|=(b&3)<<Ah.ff;if(b=a.monitor||(this.Ha<Bh?"mono":"ega"),void 0!==Ch[b])this.Sb|=Ch[b]<<zh.ff}this.Ud=xh(a.sw2||"11110000",0);this.dn=this.Ha==wh?16:64;this.wg=this.of=1;this.Ha>=Bh&&(this.wg=this.of=2);this.Ed=a.scaleTimers||!1;this.Ao=a.rtcDate;this.Xj=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ih=new window.webkitAudioContext);this.reset(!0);z(this)}v(s,N);var wh=5150,Bh=5170,Ch={none:0,tv:1,color:2,mono:3,ega:0},Ah={sh:1,ONE:0,up:64,sp:128,So:192,ef:192,ff:6},yh=12,zh={tp:16,Ko:32,Gl:48,ef:48,ff:4};k=N.prototype;
k.Eb=function(a,b,c){switch(b){case "sw1":return this.ra[b]=c,Dh(this,b,c,this.Sb,{0:this.Ha==wh?"Bootable Floppy Drive":"Loop on POST",1:this.Ha==wh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ha==wh)return this.ra[b]=c,Dh(this,b,c,this.Ud,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[b]=c,!0}return!1};
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.Ga=Ra(a,"Keyboard");this.ah=c.ba.Vc/1193181;fb(b,this,Eh);hb(b,this,Fh);this.Ha<Bh?(fb(b,this,Gh),hb(b,this,Hh)):(fb(b,this,Ih),hb(b,this,Jh))};k.Zb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Pc=this.Sb;this.xe=this.Ud;Kh(this);this.Za=Array(this.wg);for(b=0;b<this.wg;b++)Lh(this,b);this.Tb=Array(this.of);Mh(this,0,32);1<this.of&&Mh(this,1,160);this.Eh=null;this.Jb=Array(3);for(b=0;b<this.Jb.length;b++)Nh(this,b);this.nf=this.Ch=this.pc=this.sg=null;this.rg=0;if(this.Ha>=Bh){this.ib=16;this.ed=0;this.dd=16;this.mg=0;this.$d=160;512<=Oh(this)&&(this.$d|=16);3==Ph(this)&&(this.$d|=64);this.zh=3;this.pg=0;this.Ub=Array(7);this.He=0;a&&(this.ja=Array(64));Qh(this,
this.zo);for(a=21;24>=a;a++)this.ja[a]=0;for(a=14;46>a;a++)void 0===this.ja[a]&&(this.ja[a]=0);this.ja[20]=this.Pc&(zh.ef|2|Ah.sh|Ah.ef);this.ja[16]=Rh(this,0)<<4|Rh(this,1);Sh(this)}};
this.Ao);for(a=21;24>=a;a++)this.ja[a]=0;for(a=14;46>a;a++)void 0===this.ja[a]&&(this.ja[a]=0);this.ja[20]=this.Pc&(zh.ef|2|Ah.sh|Ah.ef);this.ja[16]=Rh(this,0)<<4|Rh(this,1);Sh(this)}};
function Qh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.gc("CMOS date invalid ("+b+"), using "+c)):b&&a.gc("CMOS date: "+c);a.ja[0]=c.getSeconds();a.ja[1]=0;a.ja[2]=c.getMinutes();a.ja[3]=0;a.ja[4]=c.getHours();a.ja[5]=0;a.ja[6]=c.getDay()+1;a.ja[7]=c.getDate();a.ja[8]=c.getMonth()+1;c=c.getFullYear();a.ja[9]=c%100;c/=100;a.ja[50]=c%10|c/10<<4;a.ja[10]=38;a.ja[11]=2;a.ja[12]=0;a.ja[13]=128;a.Qf=a.$e=0;a.ml=a.Zg=null}
function Th(a){var b;void 0===b&&(b=a.Zg);a.$e=B(a.la,a.Ed)+b;a.ja[11]&64&&tb(a.la,b)}function Sh(a){for(var b=0,c=16;46>c;c++)b+=a.ja[c];a.ja[47]=b&255;a.ja[46]=b>>8}
k.save=function(){var a=new I(this);a.set(0,[this.Sb,this.Ud,this.Pc,this.xe]);for(var b=[],c=0;c<this.Za;c++){for(var d=this.Za[c],e=d,f=[],g=0;g<e.xb.length;g++){var h=e.xb[g];f[g]=[h.md,h.kg,h.Xb,h.Va,h.Wa,h.mode,h.tg,h.vo,h.wo]}b[c]=[d.xd,d.Ah,d.Fj,d.zb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Tb.length;c++)d=this.Tb[c],b[c]=[d.Gf,d.Gc,d.od,d.Qc,d.Lb,d.vc,d.ae,d.mf];a.set(2,[b]);b=[];for(c=0;c<this.Jb.length;c++)d=this.Jb[c],b[c]=[d.Xb,d.rc,d.Wa,d.ie,d.Hj,d.mode,d.kh,d.Ad,d.he,d.Tc,d.xf,d.me,d.nd];
k.save=function(){var a=new I(this);a.set(0,[this.Sb,this.Ud,this.Pc,this.xe]);for(var b=[],c=0;c<this.Za;c++){for(var d=this.Za[c],e=d,f=[],g=0;g<e.xb.length;g++){var h=e.xb[g];f[g]=[h.md,h.kg,h.Xb,h.Va,h.Wa,h.mode,h.tg,h.wo,h.xo]}b[c]=[d.xd,d.Ah,d.Fj,d.zb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Tb.length;c++)d=this.Tb[c],b[c]=[d.Gf,d.Gc,d.od,d.Qc,d.Lb,d.vc,d.ae,d.mf];a.set(2,[b]);b=[];for(c=0;c<this.Jb.length;c++)d=this.Jb[c],b[c]=[d.Xb,d.rc,d.Wa,d.ie,d.Hj,d.mode,d.kh,d.Ad,d.he,d.Tc,d.xf,d.me,d.nd];
a.set(3,[this.Eh,b]);a.set(4,[this.sg,this.pc,this.Ch,this.nf,this.rg]);this.Ha>=Bh&&(a.set(5,[this.ib,this.ed,this.dd,this.mg,this.$d,this.zh]),a.set(6,[this.pg,this.Ub,this.He,this.ja,this.Qf,this.$e]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Sb=b[0];this.Ud=b[1];this.Pc=b[2];this.xe=b[3];b=a[1];for(c=0;c<this.wg;c++)Lh(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.of;c++)Mh(this,c,0===c?32:160,b[0][c]);b=a[3];this.Eh=b[0];for(c=0;c<this.Jb.length;c++)Nh(this,c,b[1][c]);b=a[4];this.sg=b[0];this.pc=b[1];this.Ch=b[2];this.nf=b[3];this.rg=b[4];if(b=a[5])this.ib=b[0],this.ed=b[1],this.dd=b[2],this.mg=b[3],this.$d=b[4],this.zh=b[5];if(b=a[6])this.pg=b[0],this.Ub=b[1],this.He=b[2],this.ja=b[3],
this.Qf=b[4],this.$e=b[5],Qh(this);return!0};var Uh=[0,null,null,0,Array(4)];function Lh(a,b,c){var d=a.Za[b];d||(d={xb:Array(4)});c=c&&5==c.length?c:Uh;d.xd=c[0];d.Ah=c[1];d.Fj=c[2];d.zb=c[3];d.jn=b<<2;for(var e=0;e<d.xb.length;e++)Vh(d,e,c[4][e]);a.Za[b]=d}var Wh=[!0,[0,0],[0,0],[0,0],[0,0]];
function Vh(a,b,c){var d=a.xb[b];d||(d={kg:[0,0],Xb:[0,0],Va:[0,0],Wa:[0,0]});c=c&&8==c.length?c:Wh;d.md=c[0];d.kg[0]=c[1][0];d.kg[1]=c[1][1];d.Xb[0]=c[2][0];d.Xb[1]=c[2][1];d.Va[0]=c[3][0];d.Va[1]=c[3][1];d.Wa[0]=c[4][0];d.Wa[1]=c[4][1];d.mode=c[5];d.tg=c[6];d.ea=a;d.bk=b;Xh(d,c[8],c[9]);a.xb[b]=d}function Xh(a,b,c,d){"string"==typeof b&&(b=Ka(b));b&&(a.Ag=null,a.vo=b.id,a.wo=c,a.zg=b,a.$h=b[c],a.bh=d)}var Yh=[0,Array(4)];
function Mh(a,b,c,d){var e=a.Tb[b];e||(e={Gc:[null,null,null,null]});d=d&&8==d.length?d:Yh;e.port=c;e.Rp=b<<3;e.Gf=d[0];e.Gc[0]=d[1][0];e.Gc[1]=d[1][1];e.Gc[2]=d[1][2];e.Gc[3]=d[1][3];e.od=d[2];e.Qc=d[3];e.Lb=d[4];e.vc=d[5];e.ae=d[6];e.mf=d[7];a.Tb[b]=e}var Zh=[[0,0],[0,0],[0,0],[0,0]];
function Nh(a,b,c){var d=a.Jb[b];d||(d={Xb:[0,0],rc:[0,0],Wa:[0,0],ie:[0,0]});c=c&&13==c.length?c:Zh;d.Xb[0]=c[0][0];d.Xb[1]=c[0][1];d.rc[0]=c[1][0];d.rc[1]=c[1][1];d.Wa[0]=c[2][0];d.Wa[1]=c[2][1];d.ie[0]=c[3][0];d.ie[1]=c[3][1];d.Hj=c[4];d.mode=c[5];d.kh=c[6];d.Ad=c[7];d.he=c[8];d.Tc=c[9];d.xf=c[10];d.me=c[11];d.nd=c[12];a.Jb[b]=d}function Oh(a,b){return((((b?a.Sb:a.Pc)&12)>>2)+1)*a.cn+32*((b?a.Ud:a.xe)&15)}function $h(a,b){var c=b?a.Sb:a.Pc;return a.Ha!=wh||c&Ah.sh?((c&Ah.ef)>>Ah.ff)+1:0}
this.Qf=b[4],this.$e=b[5],Qh(this);return!0};var Uh=[0,null,null,0,Array(4)];function Lh(a,b,c){var d=a.Za[b];d||(d={xb:Array(4)});c=c&&5==c.length?c:Uh;d.xd=c[0];d.Ah=c[1];d.Fj=c[2];d.zb=c[3];d.kn=b<<2;for(var e=0;e<d.xb.length;e++)Vh(d,e,c[4][e]);a.Za[b]=d}var Wh=[!0,[0,0],[0,0],[0,0],[0,0]];
function Vh(a,b,c){var d=a.xb[b];d||(d={kg:[0,0],Xb:[0,0],Va:[0,0],Wa:[0,0]});c=c&&8==c.length?c:Wh;d.md=c[0];d.kg[0]=c[1][0];d.kg[1]=c[1][1];d.Xb[0]=c[2][0];d.Xb[1]=c[2][1];d.Va[0]=c[3][0];d.Va[1]=c[3][1];d.Wa[0]=c[4][0];d.Wa[1]=c[4][1];d.mode=c[5];d.tg=c[6];d.ea=a;d.bk=b;Xh(d,c[8],c[9]);a.xb[b]=d}function Xh(a,b,c,d){"string"==typeof b&&(b=Ka(b));b&&(a.Ag=null,a.wo=b.id,a.xo=c,a.zg=b,a.$h=b[c],a.bh=d)}var Yh=[0,Array(4)];
function Mh(a,b,c,d){var e=a.Tb[b];e||(e={Gc:[null,null,null,null]});d=d&&8==d.length?d:Yh;e.port=c;e.Sp=b<<3;e.Gf=d[0];e.Gc[0]=d[1][0];e.Gc[1]=d[1][1];e.Gc[2]=d[1][2];e.Gc[3]=d[1][3];e.od=d[2];e.Qc=d[3];e.Lb=d[4];e.vc=d[5];e.ae=d[6];e.mf=d[7];a.Tb[b]=e}var Zh=[[0,0],[0,0],[0,0],[0,0]];
function Nh(a,b,c){var d=a.Jb[b];d||(d={Xb:[0,0],rc:[0,0],Wa:[0,0],ie:[0,0]});c=c&&13==c.length?c:Zh;d.Xb[0]=c[0][0];d.Xb[1]=c[0][1];d.rc[0]=c[1][0];d.rc[1]=c[1][1];d.Wa[0]=c[2][0];d.Wa[1]=c[2][1];d.ie[0]=c[3][0];d.ie[1]=c[3][1];d.Hj=c[4];d.mode=c[5];d.kh=c[6];d.Ad=c[7];d.he=c[8];d.Tc=c[9];d.xf=c[10];d.me=c[11];d.nd=c[12];a.Jb[b]=d}function Oh(a,b){return((((b?a.Sb:a.Pc)&12)>>2)+1)*a.dn+32*((b?a.Ud:a.xe)&15)}function $h(a,b){var c=b?a.Sb:a.Pc;return a.Ha!=wh||c&Ah.sh?((c&Ah.ef)>>Ah.ff)+1:0}
function Rh(a,b){if(b<$h(a)){if(!a.rd)return 1;if(b<a.rd.length)switch(a.rd[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 Ph(a,b){return((b?a.Sb:a.Pc)&zh.ef)>>zh.ff}
function Dh(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=y(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)null!=e&&null!=e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),ai(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");ai(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Sb=
a.Sb&~e|(c?0:e);break;case "sw2":a.Ud=a.Ud&~e|(c?0:e)}Kh(a)}}(a,b[g])}function ai(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Kh(a){var b=a.ra.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Oh(a,!0)+"Kb");d+=", "+c[Ph(a,!0)]+" Monitor";d+=", "+$h(a,!0)+" Floppy Drives";if(null!=a.Pc&&a.Pc!=a.Sb||null!=a.xe&&a.xe!=a.Ud)d+=" (Reset required)";b.textContent=d}}
function bi(a,b,c){a=a.Za[b];var d=a.xb[c],e=d.Va[a.zb];a.zb^=1;b||0!=c||a.zb||(d.Va[0]++,255<d.Va[0]&&(d.Va[0]=0,d.Va[1]++,255<d.Va[1]&&(d.Va[1]=0)));return e}function ci(a,b,c,d){a=a.Za[b];c=a.xb[c];c.Va[a.zb]=c.kg[a.zb]=d;a.zb^=1}function di(a,b,c){a=a.Za[b];var d=a.xb[c],e=d.Wa[a.zb];a.zb^=1;b||0!=c||a.zb||(d.Wa[0]--,0>d.Wa[0]&&(d.Wa[0]=255,d.Wa[1]--,0>d.Wa[1]&&(d.Wa[1]=255)));return e}function ei(a,b,c,d){a=a.Za[b];c=a.xb[c];c.Wa[a.zb]=c.Xb[a.zb]=d;a.zb^=1}
function fi(a,b){var c=a.Za[b],d=c.xd|1;c.xd&=-16;return d}function gi(a,b,c){a=a.Za[b];b=c&3;a.xd=a.xd&~(16<<b)|(c&4)<<b+2;a.Fj=c}function hi(a,b,c){b=a.Za[b];var d=c&3,e=b.xb[d];e.md=!!(c&4);e.md||ii(a,b.jn+d)}function ji(a,b){for(var c=a.Za[b],d=0;d<c.xb.length;d++)Vh(c,d)}function ki(a,b,c){return a.Za[b].xb[c].tg}function li(a,b,c,d){a.Za[b].xb[c].tg=d}function mi(a,b,c,d,e){Xh(a.Za[b>>2].xb[b&3],c,d,e)}
function fi(a,b){var c=a.Za[b],d=c.xd|1;c.xd&=-16;return d}function gi(a,b,c){a=a.Za[b];b=c&3;a.xd=a.xd&~(16<<b)|(c&4)<<b+2;a.Fj=c}function hi(a,b,c){b=a.Za[b];var d=c&3,e=b.xb[d];e.md=!!(c&4);e.md||ii(a,b.kn+d)}function ji(a,b){for(var c=a.Za[b],d=0;d<c.xb.length;d++)Vh(c,d)}function ki(a,b,c){return a.Za[b].xb[c].tg}function li(a,b,c,d){a.Za[b].xb[c].tg=d}function mi(a,b,c,d,e){Xh(a.Za[b>>2].xb[b&3],c,d,e)}
function ii(a,b,c){b=a.Za[b>>2].xb[b&3];b.zg&&b.$h&&b.bh?(c&&(b.Ag=c),b.md||cd(a,b,!0)):c&&c(!0)}function cd(a,b,c){c&&(b.count=b.Wa[1]<<8|b.Wa[0],b.Cl=b.mode&12,b.Zj=b.Sc=!1);for(var d=!1;0<=b.count&&(c=b.tg<<16|b.Va[1]<<8|b.Va[0],4==b.Cl?(d=!0,function(c){b.$h.call(b.zg,b.bh,-1,function(f,g){0>f&&(b.Zj||(b.Zj=!0),f=255);b.md||cb(a.qa,c,f);(d=g)&&setTimeout(function(){ni(b)||cd(a,b)},0)})}(c)):8==b.Cl?(c=ab(a.qa,c),0>b.$h.call(b.zg,b.bh,c)&&(b.Sc=!0)):b.Sc=!0),!d&&!ni(b););}
function ni(a){if(!a.Sc&&0<=--a.count&&(a.mode&32?(a.Va[0]--,0>a.Va[0]&&(a.Va[0]=255,a.Va[1]--,0>a.Va[1]&&(a.Va[1]=255))):(a.Va[0]++,255<a.Va[0]&&(a.Va[0]=0,a.Va[1]++,255<a.Va[1]&&(a.Va[1]=0))),!a.md))return!1;var b=a.ea;b.xd=b.xd&~(16<<a.bk)|1<<a.bk;a.mode&16||(a.md=!0,a.zg=a.bh=null);a.Ag&&(a.Ag(!a.Sc),a.Ag=null);return!0}function oi(a,b){var c=0,d=a.Tb[b];if(null!=d.mf)switch(d.mf&3){case 2:c=d.Lb;break;case 3:c=d.vc}return c}
function pi(a,b,c){b=a.Tb[b];if(c&16)b.od=0,b.Gc[b.od++]=c,b.Qc=0,b.ae=7,b.Lb=b.vc=0,b.mf=10;else if(c&8)b.mf=c;else{var d=c&224;if(d&32){var e=0;if(96==(d&96))e=1<<(c&7);else for(c=b.ae+1;;){c&=7;d=1<<c;if(b.vc&d){e=d;break}if(c++==b.ae)break}b.vc&e&&(b.vc&=~e,qi(a))}else 192==d&&(b.ae=c&7)}}function ri(a,b,c){var d=a.Tb[b];d.od<d.Gc.length?(d.Gc[d.od++]=c,2==d.od&&d.Gc[0]&2&&d.od++,3!=d.od||d.Gc[0]&1||d.od++):(d.Qc=c,d=a.la,d.Z|=4,qi(a,b||253!=c?0:6))}
function si(a,b,c){var d=a.Tb[b>>3];b=1<<(b&7);d.Lb&b||(d.Lb|=b,d.Gf=c||0,qi(a))}function xi(a,b){var c=a.Tb[b>>3],d=1<<(b&7);c.Lb&d&&(c.Lb&=~d,qi(a))}function qi(a,b){var c,d=-1;1<a.of&&(c=a.Tb[1],d=~(c.vc|c.Qc)&c.Lb);c=a.Tb[0];0<=d&&(c.Lb=d?c.Lb|4:c.Lb&-5);var d=~(c.vc|c.Qc)&c.Lb,e=a.la;e.ka&&(e.kb=d?e.kb|1:e.kb&-2);d&&b&&(c.Gf=b)}
function ad(a,b){void 0===b&&(b=0);var c=-1,d=a.Tb[b];if(d.Gf)c=-2,d.Gf--;else for(var e=d.Lb&((d.vc|d.Qc)^255),f=d.ae+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Gc[1]+f:ad(a,1);0<=c&&(d.vc|=g,d.Lb&=~g);break}if(f++==d.ae)break}return c}function yi(a,b){var c=a.Jb[b];c.Ad==c.he&&zi(a,b);if(c.xf)return c.ie[c.Ad++];Ai(a,b);return c.Wa[c.Ad++]}
function Bi(a,b,c){var d=a.Jb[b];d.Ad==d.he&&zi(a,b);d.Xb[d.Ad++]=c;d.Ad==d.he&&(d.me&&0!=d.mode&&8!=d.mode||(d.xf=!1,d.Wa[0]=d.rc[0]=d.Xb[0],d.Wa[1]=d.rc[1]=d.Xb[1],d.nd=B(a.la,a.Ed),d.me=!0,d.Tc=0!=d.mode,0==b&&(xi(a,0),c=Ci(a,0)*a.ah|0,6==d.mode&&(c>>=1),tb(a.la,c))),2==b&&wb(a))}k=N.prototype;k.Xm=function(){return null};
k.lo=function(a,b){this.Eh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Jb[c];g.kh=f;g.mode=e;g.Hj=d;g.Xb=[0,0];g.Wa=[0,0];g.ie=[0,0];g.Tc=!1;g.xf=!1;g.me=!1;zi(this,c);0==c&&xi(this,0);2==c&&255==this.Tb[0].Qc&&77==this.pc&&(c=this.Jb[0],c.rc[0]=c.Xb[0],c.rc[1]=c.Xb[1],c.nd=B(this.la,this.Ed))}else Ai(this,c),d=this.Jb[c],d.ie[0]=d.Wa[0],d.ie[1]=d.Wa[1],d.xf=!0,zi(this,c)}};function Ci(a,b){var c=a.Jb[b],d=c.Xb[1]<<8|c.Xb[0];d||(d=1==c.he?256:65536);return d}
function Bi(a,b,c){var d=a.Jb[b];d.Ad==d.he&&zi(a,b);d.Xb[d.Ad++]=c;d.Ad==d.he&&(d.me&&0!=d.mode&&8!=d.mode||(d.xf=!1,d.Wa[0]=d.rc[0]=d.Xb[0],d.Wa[1]=d.rc[1]=d.Xb[1],d.nd=B(a.la,a.Ed),d.me=!0,d.Tc=0!=d.mode,0==b&&(xi(a,0),c=Ci(a,0)*a.ah|0,6==d.mode&&(c>>=1),tb(a.la,c))),2==b&&wb(a))}k=N.prototype;k.Ym=function(){return null};
k.mo=function(a,b){this.Eh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Jb[c];g.kh=f;g.mode=e;g.Hj=d;g.Xb=[0,0];g.Wa=[0,0];g.ie=[0,0];g.Tc=!1;g.xf=!1;g.me=!1;zi(this,c);0==c&&xi(this,0);2==c&&255==this.Tb[0].Qc&&77==this.pc&&(c=this.Jb[0],c.rc[0]=c.Xb[0],c.rc[1]=c.Xb[1],c.nd=B(this.la,this.Ed))}else Ai(this,c),d=this.Jb[c],d.ie[0]=d.Wa[0],d.ie[1]=d.Wa[1],d.xf=!0,zi(this,c)}};function Ci(a,b){var c=a.Jb[b],d=c.Xb[1]<<8|c.Xb[0];d||(d=1==c.he?256:65536);return d}
function yb(a,b){var c=a.Jb[b],d=c.rc[1]<<8|c.rc[0];d||(d=1==c.he?256:65536);return d}function zi(a,b){var c=a.Jb[b];c.Ad=32==c.kh?1:0;c.he=48==c.kh?2:1}
function Ai(a,b,c){var d=a.Jb[b];if(d.me&&(2!=b||a.pc&1)){var e=B(a.la,a.Ed),f=(e-d.nd)/a.ah|0;0>f&&(d.nd=e,f=0);var g=Ci(a,b),h=yb(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Tc=!0,d.me=!1,b||si(a,0))):4==d.mode?(d.Tc=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.rc[0]=h&255,d.rc[1]=h>>8,d.nd=e,!b&&d.Tc&&si(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Tc=!d.Tc,h=g+h,0>=h&&(h=g),d.rc[0]=h&255,d.rc[1]=h>>8,d.nd=e,!b&&d.Tc&&si(a,0)));d.Wa[0]=h&255;d.Wa[1]=h>>8;c&&(a.nd=0)}return d}
function xb(a,b){for(var c=0;c<a.Jb.length;c++)Ai(a,c,b);if(a.Ha>=Bh){var c=a.la.ba.Vc,d=B(a.la,a.Ed);null==a.Zg&&(a.Qf=B(a.la,a.Ed),a.ml=1024,a.Zg=Math.floor(a.la.ba.Vc/a.ml),Th(a));d>=a.$e&&(a.ja[12]|=64,a.ja[11]&64&&(a.ja[12]|=128,si(a,8)),a.$e=d+a.Zg);a.ja[0]==a.ja[1]&&a.ja[2]==a.ja[3]&&a.ja[4]==a.ja[5]&&(a.ja[12]|=32,a.ja[11]&32&&(a.ja[12]|=128,si(a,8)));var e=d-a.Qf,f=Math.floor(e/c);if(f&&!(a.ja[11]&128)){for(;f--;)if(60<=++a.ja[0]&&(a.ja[0]=0,60<=++a.ja[2]&&(a.ja[2]=0,24<=++a.ja[4]))){a.ja[4]=
0;a.ja[6]=a.ja[6]%7+1;var g;g=a.ja[9];var h=ja[a.ja[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ja[7]>g&&(a.ja[7]=1,12<++a.ja[8]&&(a.ja[8]=1,a.ja[9]=(a.ja[9]+1)%100))}a.ja[12]|=16;a.ja[11]&16&&(a.ja[12]|=128,si(a,8))}a.Qf=d-e%c}}k.Pm=function(){var a=this.sg;if(this.nf&16)if(this.pc&128)a=this.Pc;else if(this.Ga){var a=this.Ga,b=0;a.Kb.length&&(b=a.Kb[0]);a=b}return a};k.co=function(a,b){this.sg=b};k.Qm=function(){return this.pc};
k.eo=function(a,b){Di(this,b);this.Ga&&Ei(this.Ga,b&128?!1:!0,b&64?!0:!1)};function Di(a,b){var c=!!(b&2),d=!!(a.pc&2);a.pc=b;c!=d&&wb(a,c)}k.Rm=function(){var a=0,a=this.Ha==wh?this.pc&4?a|this.xe&15:a|this.xe>>4&1:this.pc&8?a|this.Pc>>4:a|this.Pc&15;this.pc&1&&Ai(this,2).Tc&&(a=this.pc&2?a|32:a|16);return a};k.fo=function(a,b){this.Ch=b};k.Sm=function(){return this.nf};k.ho=function(a,b){this.nf=b};k.fm=function(){var a=this.mg;this.ib&=-258;this.Ga&&Fi(this.Ga);return a};
k.un=function(a,b){if(this.ib&8)switch(this.ed){case 96:Gi(this,b);break;case 209:Hi(this,b);break;default:if(Gi(this,this.dd&-17),this.Ga){var c=-1;switch(b){case 255:c=250,Ii(this.Ga)}Ji(this,c)}}this.ed=b;this.ib&=-9};k.gm=function(){return this.pc&-209|(B(this.la)&64?16:0)};k.vn=function(a,b){Di(this,b)};k.hm=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a};
k.tn=function(a,b){this.ed=b;this.ib|=8;var c=0;240<=this.ed&&(c=this.ed^15,this.ed=240);switch(this.ed){case 192:Ji(this,this.$d);break;case 173:Gi(this,this.dd|16);break;case 174:Gi(this,this.dd&-17);this.Ga&&Fi(this.Ga);break;case 170:this.Ga&&(this.Ga.Kb=[]);Gi(this,this.dd|16);Ji(this,85);Hi(this,3);break;case 224:Ji(this,this.dd&16?0:1);break;case 240:c&1&&xc(this.la)}};function Gi(a,b){a.dd=b;a.ib=a.ib&-5|b&4;a.Ga&&Ei(a.Ga,!!(b&8),!(b&16))}
function Ji(a,b){0<=b&&(a.mg=b,a.ib&=-2,a.ib|=256)}function Hi(a,b){a.zh=b;Va(a.qa,!!(b&2));b&1||xc(a.la)}function Ki(a,b){a.Ha<Bh?si(a,1,4):a.dd&16||a.ib&257||(Ji(a,b),Li(a.Ga),si(a,1,120))}k.vm=function(){return this.He};k.Jn=function(a,b){this.He=b;this.rg=b&128?0:128};
k.wm=function(a,b){var c=this.He&63,d;if(13>=c)if(d=this.ja[c],10>c){var e=!1;4!=c&&5!=c||this.ja[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ja[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.ja[c]^=128);else d=this.ja[c];null!=b&&12==c&&(this.ja[c]&=15,d&128&&xi(this,8),d&64&&this.ja[11]&64&&Th(this));return d};
k.Kn=function(a,b){var c=this.He&63,d=b^this.ja[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.ja[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.ja[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ja[c]=e;11==c&&d&64&&b&64&&Th(this)};k.Nm=function(){return this.pg};k.$n=function(a,b){this.pg=b};k.bo=function(a,b){this.rg=b};k.Ln=function(){};k.Mn=function(){};
0;a.ja[6]=a.ja[6]%7+1;var g;g=a.ja[9];var h=ja[a.ja[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ja[7]>g&&(a.ja[7]=1,12<++a.ja[8]&&(a.ja[8]=1,a.ja[9]=(a.ja[9]+1)%100))}a.ja[12]|=16;a.ja[11]&16&&(a.ja[12]|=128,si(a,8))}a.Qf=d-e%c}}k.Qm=function(){var a=this.sg;if(this.nf&16)if(this.pc&128)a=this.Pc;else if(this.Ga){var a=this.Ga,b=0;a.Kb.length&&(b=a.Kb[0]);a=b}return a};k.eo=function(a,b){this.sg=b};k.Rm=function(){return this.pc};
k.fo=function(a,b){Di(this,b);this.Ga&&Ei(this.Ga,b&128?!1:!0,b&64?!0:!1)};function Di(a,b){var c=!!(b&2),d=!!(a.pc&2);a.pc=b;c!=d&&wb(a,c)}k.Sm=function(){var a=0,a=this.Ha==wh?this.pc&4?a|this.xe&15:a|this.xe>>4&1:this.pc&8?a|this.Pc>>4:a|this.Pc&15;this.pc&1&&Ai(this,2).Tc&&(a=this.pc&2?a|32:a|16);return a};k.ho=function(a,b){this.Ch=b};k.Tm=function(){return this.nf};k.io=function(a,b){this.nf=b};k.gm=function(){var a=this.mg;this.ib&=-258;this.Ga&&Fi(this.Ga);return a};
k.vn=function(a,b){if(this.ib&8)switch(this.ed){case 96:Gi(this,b);break;case 209:Hi(this,b);break;default:if(Gi(this,this.dd&-17),this.Ga){var c=-1;switch(b){case 255:c=250,Ii(this.Ga)}Ji(this,c)}}this.ed=b;this.ib&=-9};k.hm=function(){return this.pc&-209|(B(this.la)&64?16:0)};k.wn=function(a,b){Di(this,b)};k.im=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a};
k.un=function(a,b){this.ed=b;this.ib|=8;var c=0;240<=this.ed&&(c=this.ed^15,this.ed=240);switch(this.ed){case 192:Ji(this,this.$d);break;case 173:Gi(this,this.dd|16);break;case 174:Gi(this,this.dd&-17);this.Ga&&Fi(this.Ga);break;case 170:this.Ga&&(this.Ga.Kb=[]);Gi(this,this.dd|16);Ji(this,85);Hi(this,3);break;case 224:Ji(this,this.dd&16?0:1);break;case 240:c&1&&xc(this.la)}};function Gi(a,b){a.dd=b;a.ib=a.ib&-5|b&4;a.Ga&&Ei(a.Ga,!!(b&8),!(b&16))}
function Ji(a,b){0<=b&&(a.mg=b,a.ib&=-2,a.ib|=256)}function Hi(a,b){a.zh=b;Va(a.qa,!!(b&2));b&1||xc(a.la)}function Ki(a,b){a.Ha<Bh?si(a,1,4):a.dd&16||a.ib&257||(Ji(a,b),Li(a.Ga),si(a,1,120))}k.wm=function(){return this.He};k.Kn=function(a,b){this.He=b;this.rg=b&128?0:128};
k.xm=function(a,b){var c=this.He&63,d;if(13>=c)if(d=this.ja[c],10>c){var e=!1;4!=c&&5!=c||this.ja[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ja[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.ja[c]^=128);else d=this.ja[c];null!=b&&12==c&&(this.ja[c]&=15,d&128&&xi(this,8),d&64&&this.ja[11]&64&&Th(this));return d};
k.Ln=function(a,b){var c=this.He&63,d=b^this.ja[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.ja[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.ja[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ja[c]=e;11==c&&d&64&&b&64&&Th(this)};k.Om=function(){return this.pg};k.ao=function(a,b){this.pg=b};k.co=function(a,b){this.rg=b};k.Mn=function(){};k.Nn=function(){};
function xh(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 wb(a,b){if(a.Ih){void 0!==b?a.Xj=b:b=a.Xj&&a.la&&a.la.ma.Fb;var c=Math.round(1193181/Ci(a,2));if(20>c||2E4<c)b=!1;b?a.ad?a.ad.frequency.value=c:(a.ad=a.Ih.createOscillator(),a.ad.type=1,a.ad.connect(a.Ih.destination),a.ad.frequency.value=c,a.ad.noteOn(0)):a.ad&&(a.ad.noteOff(0),a.ad.disconnect(),delete a.ad)}else b&&a.dc("BEEP",Mi)}
var Eh={0:function(){return bi(this,0,0)},1:function(){return di(this,0,0)},2:function(){return bi(this,0,1)},3:function(){return di(this,0,1)},4:function(){return bi(this,0,2)},5:function(){return di(this,0,2)},6:function(){return bi(this,0,3)},7:function(){return di(this,0,3)},8:function(){return fi(this,0)},32:function(){return oi(this,0)},33:function(){return this.Tb[0].Qc},64:function(){return yi(this,0)},65:function(){return yi(this,1)},66:function(){return yi(this,2)},67:N.prototype.Xm,129:function(){return ki(this,
0,2)},130:function(){return ki(this,0,3)},131:function(){return ki(this,0,1)},135:function(){return ki(this,0,0)}},Gh={96:N.prototype.Pm,97:N.prototype.Qm,98:N.prototype.Rm,99:N.prototype.Sm},Ih={96:N.prototype.fm,97:N.prototype.gm,100:N.prototype.hm,112:N.prototype.vm,113:N.prototype.wm,128:N.prototype.Nm,132:function(){return this.Ub[0]},133:function(){return this.Ub[1]},134:function(){return this.Ub[2]},136:function(){return this.Ub[3]},137:function(){return ki(this,1,2)},138:function(){return ki(this,
var Eh={0:function(){return bi(this,0,0)},1:function(){return di(this,0,0)},2:function(){return bi(this,0,1)},3:function(){return di(this,0,1)},4:function(){return bi(this,0,2)},5:function(){return di(this,0,2)},6:function(){return bi(this,0,3)},7:function(){return di(this,0,3)},8:function(){return fi(this,0)},32:function(){return oi(this,0)},33:function(){return this.Tb[0].Qc},64:function(){return yi(this,0)},65:function(){return yi(this,1)},66:function(){return yi(this,2)},67:N.prototype.Ym,129:function(){return ki(this,
0,2)},130:function(){return ki(this,0,3)},131:function(){return ki(this,0,1)},135:function(){return ki(this,0,0)}},Gh={96:N.prototype.Qm,97:N.prototype.Rm,98:N.prototype.Sm,99:N.prototype.Tm},Ih={96:N.prototype.gm,97:N.prototype.hm,100:N.prototype.im,112:N.prototype.wm,113:N.prototype.xm,128:N.prototype.Om,132:function(){return this.Ub[0]},133:function(){return this.Ub[1]},134:function(){return this.Ub[2]},136:function(){return this.Ub[3]},137:function(){return ki(this,1,2)},138:function(){return ki(this,
1,3)},139:function(){return ki(this,1,1)},140:function(){return this.Ub[4]},141:function(){return this.Ub[5]},142:function(){return this.Ub[6]},143:function(){return ki(this,1,0)},160:function(){return oi(this,1)},161:function(){return this.Tb[1].Qc},192:function(){return bi(this,1,0)},194:function(){return di(this,1,0)},196:function(){return bi(this,1,1)},198:function(){return di(this,1,1)},200:function(){return bi(this,1,2)},202:function(){return di(this,1,2)},204:function(){return bi(this,1,3)},
206:function(){return di(this,1,3)},208:function(){return fi(this,1)}},Fh={0:function(a,b){ci(this,0,0,b)},1:function(a,b){ei(this,0,0,b)},2:function(a,b){ci(this,0,1,b)},3:function(a,b){ei(this,0,1,b)},4:function(a,b){ci(this,0,2,b)},5:function(a,b){ei(this,0,2,b)},6:function(a,b){ci(this,0,3,b)},7:function(a,b){ei(this,0,3,b)},8:function(a,b){this.Za[0].Ah=b},9:function(a,b){gi(this,0,b)},10:function(a,b){hi(this,0,b)},11:function(a,b){this.Za[0].xb[b&3].mode=b},12:function(){this.Za[0].zb=0},13:function(){ji(this,
0)},32:function(a,b){pi(this,0,b)},33:function(a,b){ri(this,0,b)},64:function(a,b){Bi(this,0,b)},65:function(a,b){Bi(this,1,b)},66:function(a,b){Bi(this,2,b)},67:N.prototype.lo,129:function(a,b){li(this,0,2,b)},130:function(a,b){li(this,0,3,b)},131:function(a,b){li(this,0,1,b)},135:function(a,b){li(this,0,0,b)}},Hh={96:N.prototype.co,97:N.prototype.eo,98:N.prototype.fo,99:N.prototype.ho,160:N.prototype.bo},Jh={96:N.prototype.un,97:N.prototype.vn,100:N.prototype.tn,112:N.prototype.Jn,113:N.prototype.Kn,
128:N.prototype.$n,132:function(a,b){this.Ub[0]=b},133:function(a,b){this.Ub[1]=b},134:function(a,b){this.Ub[2]=b},136:function(a,b){this.Ub[3]=b},137:function(a,b){li(this,1,2,b)},138:function(a,b){li(this,1,3,b)},139:function(a,b){li(this,1,1,b)},140:function(a,b){this.Ub[4]=b},141:function(a,b){this.Ub[5]=b},142:function(a,b){this.Ub[6]=b},143:function(a,b){li(this,1,0,b)},160:function(a,b){pi(this,1,b)},161:function(a,b){ri(this,1,b)},192:function(a,b){ci(this,1,0,b)},194:function(a,b){ei(this,
1,0,b)},196:function(a,b){ci(this,1,1,b)},198:function(a,b){ei(this,1,1,b)},200:function(a,b){ci(this,1,2,b)},202:function(a,b){ei(this,1,2,b)},204:function(a,b){ci(this,1,3,b)},206:function(a,b){ei(this,1,3,b)},208:function(a,b){this.Za[1].Ah=b},210:function(a,b){gi(this,1,b)},212:function(a,b){hi(this,1,b)},214:function(a,b){this.Za[1].xb[b&3].mode=b},216:function(){this.Za[1].zb=0},218:function(){ji(this,1)},240:N.prototype.Ln,241:N.prototype.Mn};
wa(function(){for(var a=y(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new N(d);Ma(d,c);Kh(d)}});function Ni(a){s.call(this,"ROM",a,Ni);this.yb=null;this.Aj=a.addr;this.oh=a.size;this.Kl=a.alias;this.Xf=a.file;this.dk=a.notify;if(this.Xf){a=this.Xf;var b=ea(this.Xf);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.Xf+"&format=bytes&decimal=true");ka(a,!0,null,this,Ni.prototype.on)}}v(s,Ni);Ni.prototype.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;Oi(this)};
Ni.prototype.Zb=function(){this.xh&&(this.Sa&&this.Sa.Cp(this.Aj,this.oh,this.xh),delete this.xh);return!0};Ni.prototype.Yb=function(){return!0};
Ni.prototype.on=function(a,b,c){if(c)this.Aa("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.yb=e;else if(f)for(this.yb=Array(4*f.length),c=b=0;b<f.length;b++)this.yb[c++]=f[b]&255,this.yb[c++]=f[b]>>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.xh=d.symbols;if(!this.yb.length){q("Empty ROM: "+a);return}if(1==this.yb.length){q(this.yb[0]);return}}catch(g){this.Aa("ROM data error: "+
0)},32:function(a,b){pi(this,0,b)},33:function(a,b){ri(this,0,b)},64:function(a,b){Bi(this,0,b)},65:function(a,b){Bi(this,1,b)},66:function(a,b){Bi(this,2,b)},67:N.prototype.mo,129:function(a,b){li(this,0,2,b)},130:function(a,b){li(this,0,3,b)},131:function(a,b){li(this,0,1,b)},135:function(a,b){li(this,0,0,b)}},Hh={96:N.prototype.eo,97:N.prototype.fo,98:N.prototype.ho,99:N.prototype.io,160:N.prototype.co},Jh={96:N.prototype.vn,97:N.prototype.wn,100:N.prototype.un,112:N.prototype.Kn,113:N.prototype.Ln,
128:N.prototype.ao,132:function(a,b){this.Ub[0]=b},133:function(a,b){this.Ub[1]=b},134:function(a,b){this.Ub[2]=b},136:function(a,b){this.Ub[3]=b},137:function(a,b){li(this,1,2,b)},138:function(a,b){li(this,1,3,b)},139:function(a,b){li(this,1,1,b)},140:function(a,b){this.Ub[4]=b},141:function(a,b){this.Ub[5]=b},142:function(a,b){this.Ub[6]=b},143:function(a,b){li(this,1,0,b)},160:function(a,b){pi(this,1,b)},161:function(a,b){ri(this,1,b)},192:function(a,b){ci(this,1,0,b)},194:function(a,b){ei(this,
1,0,b)},196:function(a,b){ci(this,1,1,b)},198:function(a,b){ei(this,1,1,b)},200:function(a,b){ci(this,1,2,b)},202:function(a,b){ei(this,1,2,b)},204:function(a,b){ci(this,1,3,b)},206:function(a,b){ei(this,1,3,b)},208:function(a,b){this.Za[1].Ah=b},210:function(a,b){gi(this,1,b)},212:function(a,b){hi(this,1,b)},214:function(a,b){this.Za[1].xb[b&3].mode=b},216:function(){this.Za[1].zb=0},218:function(){ji(this,1)},240:N.prototype.Mn,241:N.prototype.Nn};
wa(function(){for(var a=y(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new N(d);Ma(d,c);Kh(d)}});function Ni(a){s.call(this,"ROM",a,Ni);this.yb=null;this.Aj=a.addr;this.oh=a.size;this.Kl=a.alias;this.Xf=a.file;this.dk=a.notify;if(this.Xf){a=this.Xf;var b=ea(this.Xf);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.Xf+"&format=bytes&decimal=true");ka(a,!0,null,this,Ni.prototype.pn)}}v(s,Ni);Ni.prototype.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;Oi(this)};
Ni.prototype.Zb=function(){this.xh&&(this.Sa&&this.Sa.Dp(this.Aj,this.oh,this.xh),delete this.xh);return!0};Ni.prototype.Yb=function(){return!0};
Ni.prototype.pn=function(a,b,c){if(c)this.Aa("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.yb=e;else if(f)for(this.yb=Array(4*f.length),c=b=0;b<f.length;b++)this.yb[c++]=f[b]&255,this.yb[c++]=f[b]>>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.xh=d.symbols;if(!this.yb.length){q("Empty ROM: "+a);return}if(1==this.yb.length){q(this.yb[0]);return}}catch(g){this.Aa("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;d<a.length;d++)this.yb[d]=parseInt(a[d],16);Oi(this)}};function Oi(a){if(!Oa(a))if(!a.Xf)z(a);else if(a.yb&&a.qa){if(a.yb.length!=a.oh)Pa(a,"ROM size (0x"+p(a.yb.length)+") does not match specified size (0x"+p(a.oh)+")");else if(Pi(a,a.Aj)&&Pi(a,a.Kl)){if(a.dk){var b=Ka(a.dk,a.id);b&&("ega"==b.Ha&&Qi(b,a.yb,[8752,12640],8),z(b))}delete a.yb}z(a)}}
function Pi(a,b){if(null==b)return!0;if(Wa(a.qa,b,a.oh,!0)){for(var c=0;c<a.yb.length;c++)cb(a.qa,b+c,a.yb[c]);return!0}return!1}wa(function(){for(var a=y(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ni(d);Ma(d,c)}});function Ri(a){s.call(this,"RAM",a,Ri);this.lg=a.addr;this.pd=a.size;this.Zl=a.test;this.Xl=!!this.pd;this.Bg=!1}v(s,Ri);Ri.prototype.sc=function(a,b,c){this.qa=b;this.la=c;this.ka=Ra(a,"ChipSet");z(this)};Ri.prototype.Zb=function(a,b){b||this.reset();return!0};
Ri.prototype.Yb=function(){return!0};Ri.prototype.reset=function(){if(!this.lg&&!this.Xl&&this.ka){var a=1024*Oh(this.ka);this.pd&&a!=this.pd&&($a(this.qa,this.lg,this.pd),this.Bg=!1);this.pd=a}!this.Bg&&this.pd&&Wa(this.qa,this.lg,this.pd)&&(this.Bg=!0,this.status(Math.floor(this.pd/1024)+"Kb"));if(this.Bg){if(this.Zl||db(this.qa,1138,4660),this.ka&&(a=this.ka,a.ja)){var b=1048576>this.lg?21:23,c=a.ja[b]|a.ja[b+1]<<8,c=c+(this.pd>>10);a.ja[b]=c&255;a.ja[b+1]=c>>8;Sh(a)}}else q("No RAM allocated")};
wa(function(){for(var a=y(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ri(d);Ma(d,c)}});function Si(a){s.call(this,"Keyboard",a,Si);this.Uj=ra("Mobi");this.dc("mobile keyboard support: "+(this.Uj?"true":"false"));this.Jj=0;this.Gg=!0;this.Wh=this.Rj=!1;this.Ib=[];this.gn=500;this.hn=100;this.fn=50;z(this)}v(s,Si);
var P={Ko:1,Lo:3,Mo: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,Ho:65,Io:66,tj:67,El:68,E:69,Po:70,So:71,uj:72,Uo:73,Vo:74,Wo:75,Xo:76,Yo:77,th:78,$o:79,ap:80,cp:81,wj:82,gp:83,qp:84,up:85,vp:86,wp:87,yp:88,zp:89,Ap:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Bp:97,Dp:98,Fp:99,Gp:100,Hp:101,Ip:102,Jp:103,Kp:104,Lp:105,Mp:106,Np:107,
Op:108,Pp:109,Qp:110,Sp:111,Tp:112,Up:113,Vp:114,Wp:115,Xp:116,Yp:117,$p:118,aq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Ti={};Ti[186]=P[";"];Ti[187]=P["="];Ti[188]=P[","];Ti[189]=P["-"];Ti[190]=P["."];Ti[191]=P["/"];Ti[192]=P["`"];Ti[219]=P["["];Ti[220]=P["\\"];Ti[221]=P["]"];Ti[222]=P["'"];Ti[173]=P["-"];var Q={};Q[P["1"]]=P["!"];Q[P["2"]]=P["@"];Q[P["3"]]=P["#"];Q[P["4"]]=P.$;Q[P["5"]]=P["%"];Q[P["6"]]=P["^"];Q[P["7"]]=P["&"];Q[P["8"]]=P["*"];Q[P["9"]]=P["("];Q[P["0"]]=P[")"];
function Pi(a,b){if(null==b)return!0;if(Wa(a.qa,b,a.oh,!0)){for(var c=0;c<a.yb.length;c++)cb(a.qa,b+c,a.yb[c]);return!0}return!1}wa(function(){for(var a=y(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ni(d);Ma(d,c)}});function Ri(a){s.call(this,"RAM",a,Ri);this.lg=a.addr;this.pd=a.size;this.$l=a.test;this.Xl=!!this.pd;this.Bg=!1}v(s,Ri);Ri.prototype.sc=function(a,b,c){this.qa=b;this.la=c;this.ka=Ra(a,"ChipSet");z(this)};Ri.prototype.Zb=function(a,b){b||this.reset();return!0};
Ri.prototype.Yb=function(){return!0};Ri.prototype.reset=function(){if(!this.lg&&!this.Xl&&this.ka){var a=1024*Oh(this.ka);this.pd&&a!=this.pd&&($a(this.qa,this.lg,this.pd),this.Bg=!1);this.pd=a}!this.Bg&&this.pd&&Wa(this.qa,this.lg,this.pd)&&(this.Bg=!0,this.status(Math.floor(this.pd/1024)+"Kb"));if(this.Bg){if(this.$l||db(this.qa,1138,4660),this.ka&&(a=this.ka,a.ja)){var b=1048576>this.lg?21:23,c=a.ja[b]|a.ja[b+1]<<8,c=c+(this.pd>>10);a.ja[b]=c&255;a.ja[b+1]=c>>8;Sh(a)}}else q("No RAM allocated")};
wa(function(){for(var a=y(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ri(d);Ma(d,c)}});function Si(a){s.call(this,"Keyboard",a,Si);this.Uj=ra("Mobi");this.Yl=ra("MSIE");this.dc("mobile keyboard support: "+(this.Uj?"true":"false"));this.Jj=0;this.Gg=!0;this.Wh=this.Rj=!1;this.Ib=[];this.hn=500;this.jn=100;this.gn=50;z(this)}v(s,Si);
var P={Lo:1,Mo:3,No: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,Io:65,Jo:66,tj:67,El:68,E:69,Qo:70,To:71,uj:72,Vo:73,Wo:74,Xo:75,Yo:76,Zo:77,th:78,ap:79,bp:80,dp:81,wj:82,hp:83,rp:84,vp:85,wp:86,xp:87,zp:88,Ap:89,Bp:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Cp:97,Ep:98,Gp:99,Hp:100,Ip:101,Jp:102,Kp:103,Lp:104,Mp:105,Np:106,Op:107,
Pp:108,Qp:109,Rp:110,Tp:111,Up:112,Vp:113,Wp:114,Xp:115,Yp:116,Zp:117,aq:118,bq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Ti={};Ti[186]=P[";"];Ti[187]=P["="];Ti[188]=P[","];Ti[189]=P["-"];Ti[190]=P["."];Ti[191]=P["/"];Ti[192]=P["`"];Ti[219]=P["["];Ti[220]=P["\\"];Ti[221]=P["]"];Ti[222]=P["'"];Ti[173]=P["-"];var Q={};Q[P["1"]]=P["!"];Q[P["2"]]=P["@"];Q[P["3"]]=P["#"];Q[P["4"]]=P.$;Q[P["5"]]=P["%"];Q[P["6"]]=P["^"];Q[P["7"]]=P["&"];Q[P["8"]]=P["*"];Q[P["9"]]=P["("];Q[P["0"]]=P[")"];
Q[186]=P[":"];Q[187]=P["+"];Q[188]=P["<"];Q[189]=P._;Q[190]=P[">"];Q[191]=P["?"];Q[192]=P["~"];Q[219]=P["{"];Q[220]=P["|"];Q[221]=P["}"];Q[222]=P['"'];Q[173]=P._;Q[61]=P["+"];Q[59]=P[":"];
var Ui={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},Vi={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,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},Wi={esc:1027,1:P["1"],2:P["2"],3:P["3"],4:P["4"],5:P["5"],6:P["6"],7:P["7"],8:P["8"],9:P["9"],0:P["0"],"-":P["-"],"=":P["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":P["["],"]":P["]"],enter:13,
ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":P[";"],quote:P["'"],"`":P["`"],shift:1016,"\\":P["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":P[","],".":P["."],"/":P["/"],"right-shift":3016,prtsc:1044,alt:1018,space:P[" "],"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,
@ -495,19 +495,19 @@ k.Zb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1
function $i(a,b,c,d){if(R[b]){var e=Math.floor(b/1E3)&2;if(b=Ui[b]||0){e&&(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d&&(d=!((c?a.Ie:a.rb)&b));if(c){a.Ie&=~b;d&&(a.Ie|=b);c=b;var f,g;for(g in Xi)d="led-"+g,e=Xi[g],c&&c!=e||!(f=a.ra[d])||(f.style.backgroundColor=a.Ie&e?"#00ff00":"#000000")}else a.rb&=~b,d&&(a.rb|=b);return!0}}return!1}
function Zi(a,b,c){if(R[b]&&a.la&&a.la.ma.Fb){for(var d,e=0;e<a.Ib.length;e++)if(d=a.Ib[e],d.Td==b){if(!c||0<=d.Yc){e=-1;break}0<e&&(0<a.Ib[0].Yc&&(a.Ib[0].Yc=0),a.Ib.splice(e,1));break}0>e||(e==a.Ib.length&&(d={},d.Td=b,d.rb=a.rb,bj(a,b,!0),e++),0<e&&a.Ib.splice(0,0,d),d.wf=!0,d.Yc=c?-1:Ui[b]?0:1,ej(a,d))}}
function aj(a,b,c){if(!R[b]||!(c||a.la&&a.la.ma.Fb))return!1;for(var d=!1,e=0;e<a.Ib.length;e++){var f=a.Ib[e];if(f.Td==b||f.Td==Q[b]){0<a.Ib[0].Yc&&(a.Ib[0].Yc=0);a.Ib.splice(e,1);f.Al&&clearTimeout(f.Al);f.wf&&!c&&fj(a,f.Td,!1);bj(a,b,!1);d=!0;break}}!a.Ib.length&&a.Wh&&($i(a,1020),a.Wh=!1);return d}
function ej(a,b){if(a.la&&a.la.ma.Fb){if(fj(a,b.Td,b.wf),b.Yc){var c;if(0>b.Yc){if(!b.wf){aj(a,b.Td);return}b.wf=!1;c=a.fn}else c=1==b.Yc++?a.gn:a.hn;b.Al=setTimeout(function(a){return function(){ej(a,b)}}(a),c)}}else aj(a,b.Td,!0)}function gj(a,b,c){var d=b;if(65<=b&&90>=b)!(a.rb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.rb&515)==c&&(d=b-32);else if(!!(a.rb&3)==c){if(a=Q[b])d=a}else if(a=Ti[b])d=a;return d}k.dh=function(a){this.Gg=a;a||(this.rb&=-256)};
function Yi(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=gj(a,g,!0);a.Rj&&h==P["`"]&&(g=h=27);if(R[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),$i(a,h,!1,c)){if(20==g||144==g||145==g)c=e=!0;if(!(c||91!=g&&93!=g))for(var m=0;m<a.Ib.length;m++){var n=a.Ib[m];n.wf=!1;0<n.Yc&&(n.Yc=0)}}else 8==g&&8==(a.rb&40)&&(h=4008),d=!1;else R[h]&&a.rb&60&&(d=!1),f=!!(a.rb&192);d||b.preventDefault();f||a.Uj&&d||(c?Zi(a,h,e):aj(a,h)||(b=gj(a,g,!1),b!=h&&aj(a,b)));return d}
function ej(a,b){if(a.la&&a.la.ma.Fb){if(fj(a,b.Td,b.wf),b.Yc){var c;if(0>b.Yc){if(!b.wf){aj(a,b.Td);return}b.wf=!1;c=a.gn}else c=1==b.Yc++?a.hn:a.jn;b.Al=setTimeout(function(a){return function(){ej(a,b)}}(a),c)}}else aj(a,b.Td,!0)}function gj(a,b,c){var d=b;if(65<=b&&90>=b)!(a.rb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.rb&515)==c&&(d=b-32);else if(!!(a.rb&3)==c){if(a=Q[b])d=a}else if(a=Ti[b])d=a;return d}k.dh=function(a){this.Gg=a;a||(this.rb&=-256)};
function Yi(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=gj(a,g,!0);a.Rj&&h==P["`"]&&(g=h=27);if(R[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),$i(a,h,!1,c)){if(20==g||144==g||145==g)a.Yl||(c=e=!0);if(!(c||91!=g&&93!=g))for(var m=0;m<a.Ib.length;m++){var n=a.Ib[m];n.wf=!1;0<n.Yc&&(n.Yc=0)}}else 8==g&&8==(a.rb&40)&&(h=4008),d=!1;else R[h]&&a.rb&60&&(d=!1),f=!!(a.rb&192);d||b.preventDefault();f||a.Uj&&d||(c?Zi(a,h,e):aj(a,h)||(b=gj(a,g,!1),b!=h&&aj(a,b)));return d}
function fj(a,b,c){$i(a,b,!0,c);var d=R[b]||R[b+1E3];if(void 0!==d){14==d&&40==(a.rb&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.rb&3||a.rb&512&&b||(g=h):29==h?a.rb&12||(g=h):56==h?a.rb&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Kb&&(20>d.Kb.length?(d.Kb.push(f),1==d.Kb.length&&d.ka&&Ki(d.ka,f)):(20==d.Kb.length&&d.Kb.push(255),d.dc("scan code buffer overflow")))}}
wa(function(){for(var a=y(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Si(d);Ma(d,c)}});
function S(a,b,c,d){s.call(this,"Video",a,S);this.Ha=a.model;this.Kc=0;"ega"==this.Ha&&(this.vl=a.switches,this.Kc=a.memory||0);this.Xc=a.mode;if(void 0===this.Xc||void 0===V[this.Xc])this.Xc=hj;this.Vg=a.charCols;this.oi=a.charRows;if(void 0===this.Vg||void 0===this.oi)this.Vg=V[this.Xc][0],this.oi=V[this.Xc][1];this.gd=a.screenWidth;this.Cd=a.screenHeight;this.Yl=a.scale;this.Wl=12<=Math.round(this.gd/this.Vg);this.$l=a.touchScreen;this.pf=b;this.Lc=c;this.Fa=(this.Co=d)||b||null;this.Id=null;this.Ul=
function S(a,b,c,d){s.call(this,"Video",a,S);this.Ha=a.model;this.Kc=0;"ega"==this.Ha&&(this.vl=a.switches,this.Kc=a.memory||0);this.Xc=a.mode;if(void 0===this.Xc||void 0===V[this.Xc])this.Xc=hj;this.Vg=a.charCols;this.oi=a.charRows;if(void 0===this.Vg||void 0===this.oi)this.Vg=V[this.Xc][0],this.oi=V[this.Xc][1];this.gd=a.screenWidth;this.Cd=a.screenHeight;this.Zl=a.scale;this.Wl=12<=Math.round(this.gd/this.Vg);this.am=a.touchScreen;this.pf=b;this.Lc=c;this.Fa=(this.Do=d)||b||null;this.Id=null;this.Ul=
a.autoLock;this.Ua=this.Hb=0;this.sd=[];this.bd=Array(16);this.Gg=!1;var e=this;this.Fa&&(this.Fa.onfocus=function(){return e.dh(!0)},this.Fa.onblur=function(){return e.dh(!1)},this.Fa.Ve=this.Fa.requestPointerLock||this.Fa.mozRequestPointerLock||this.Fa.webkitRequestPointerLock,this.Fa.Bl=this.Fa.exitPointerLock||this.Fa.mozExitPointerLock||this.Fa.webkitExitPointerLock,b=function(){e.Rf(document.pointerLockElement===e.Fa||document.mozPointerLockElement===e.Fa||document.webkitPointerLockElement===
e.Fa)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ea(a)&&(a=la()+"/api/v1/dump?file="+a+"&format=bytes"),ka(a,!0,null,this,this.pn)}v(s,S);
e.Fa)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ea(a)&&(a=la()+"/api/v1/dump?file="+a+"&format=bytes"),ka(a,!0,null,this,this.qn)}v(s,S);
var ij={2:{ri:15700,qi:208,ej:85,fj:96},3:{ri:18432,qi:364,ej:85,fj:96},4:{ri:21850,qi:364,ej:85,fj:96}},jj={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]},hj=7,V=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];V[hj]=[80,25,1,0,1];V[13]=[320,200,16];V[14]=[640,200,16];V[15]=[640,350,16];V[16]=[640,350,16];V[0]=V[1];V[2]=V[3];V[5]=V[4];var kj=Array(5);kj[0]=[0,0,0,255];kj[1]=[127,192,127,255];
kj[2]=[127,192,127,255];kj[3]=[127,255,127,255];kj[4]=[127,255,127,255];var lj=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],W=Array(16);W[0]=[0,0,0,255];W[1]=[0,0,170,255];W[2]=[0,170,0,255];W[3]=[0,170,170,255];W[4]=[170,0,0,255];W[5]=[170,0,170,255];W[6]=[170,85,0,255];W[7]=[170,170,170,255];W[8]=[85,85,85,255];W[9]=[85,85,255,255];W[10]=[85,255,85,255];W[11]=[85,255,255,255];W[12]=[255,85,85,255];W[13]=[255,85,255,255];W[14]=[255,255,85,255];W[15]=[255,255,255,255];
var mj=[2,4,6],nj=[3,5,7],oj=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],pj=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],X=[0];X[128]=1;X[32768]=2;X[32896]=3;X[8388608]=4;X[8388736]=5;X[8421376]=6;X[8421504]=7;X[2147483648]=8;X[2147483776]=9;X[2147516416]=10;X[2147516544]=11;X[2155872256]=12;X[2155872384]=13;X[2155905024]=14;X[2155905152]=15;
function qj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=rj[b],f=a.Ld||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(sj)];this.Ng=b;this.Ua=e[2];this.Hb=e[3];this.Kc=d||e[4];65536<=this.Kc&&720896<=this.Ua&&(this.Hb=Math.min(this.Kc>>2,32768));this.Mc=c[0];this.tc=c[1];this.qf=c[2];this.$f=c[3];this.Ac=c[4]&255;this.Mg=c[4]>>8&255;this.ic=c[5];this.hi=sj;if(5==b){this.hi=tj;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.Ua,this.Hb,this.Kc],Array(this.Kc>>
2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Dd=b[0];this.oe=b[1];this.Wd=b[2];this.oj=b[3];this.Qg=b[4];this.Yh=b[5];this.Ue=b[6];this.ig=b[7];this.ai=b[8];this.bi=b[9];this.Te=b[10];this.Ce=b[11];this.Ab=b[12];d=b[13];"number"==typeof d&&(d=[this.Ua,this.Hb,d]);this.Ua=d[0];this.Hb=d[1];d=this.Kc>>2;if((this.Zd=b[14])&&this.Zd.length<d){for(var e=this.Zd,g=0,h=Array(d),m=0;m<e.length-1;){for(var n=e[m++],r=e[m++];n--;)h[g]=r,g+=2;g==d&&(g=1)}this.Zd=h}this.nh(b[15]);this.bj=b[16];
this.eb=b[17];this.Wc=b[18];this.lb=b[19];this.$g=b[20];this.Od=b[21];this.re=b[22];this.ji=b[23];this.ki=b[24]}f=ij[f]||ij[3];this.li=a.la.ba.Vc/f.ri|0;this.kn=this.li*f.ej/100|0;this.lk=this.li*f.qi;this.mn=this.lk*f.fj/100|0;this.si=null==c[7]?0:c[7]}}var sj=18,tj=25;function uj(a){return this.Cc(a)|this.Cc(a+1)<<8}function vj(a,b){this.Fc(a,b&255);this.Fc(a+1,b>>8&255)}
this.eb=b[17];this.Wc=b[18];this.lb=b[19];this.$g=b[20];this.Od=b[21];this.re=b[22];this.ji=b[23];this.ki=b[24]}f=ij[f]||ij[3];this.li=a.la.ba.Vc/f.ri|0;this.ln=this.li*f.ej/100|0;this.lk=this.li*f.qi;this.nn=this.lk*f.fj/100|0;this.si=null==c[7]?0:c[7]}}var sj=18,tj=25;function uj(a){return this.Cc(a)|this.Cc(a+1)<<8}function vj(a,b){this.Fc(a,b&255);this.Fc(a+1,b>>8&255)}
var Y=[,,function(a){a+=this.offset;return(this.ea.Ab=this.pa[a])>>this.ea.bj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.pa[b]>>8:this.pa[b])&255}];Y[16]=function(a){a+=this.offset;a=this.pa[a];for(var b=this.ea.ji&this.ea.ki,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.pa[c]&~this.ea.eb|(b|b<<8|b<<16|b<<24)&this.ea.eb;d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)};
Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.re;d=d&this.ea.eb|this.pa[c]&~this.ea.eb;d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)};
Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.re;d&=this.ea.Ab;d=d&this.ea.eb|this.pa[c]&~this.ea.eb;d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)};
@ -517,50 +517,50 @@ Y[4096]=function(a){a+=this.offset;var b=this.pa[a]&~this.ea.eb|this.ea.Ab&this.
Y[40960]=function(a,b){var c=a+this.offset,d=pj[b&15],d=d|this.ea.Ab,d=d&this.ea.eb|this.pa[c]&~this.ea.eb,d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=pj[b&15],d=d^this.ea.Ab,d=d&this.ea.eb|this.pa[c]&~this.ea.eb,d=d&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[c]!=d&&(this.pa[c]=d,this.jb=!0)};
function wj(a){var b=[];if(void 0!==a.Ng){b[0]=a.Mc;b[1]=a.tc;b[2]=a.qf;b[3]=a.$f;b[4]=a.Ac|a.Mg<<8;b[5]=a.ic;if(5==a.Ng){var c=[];c[0]=a.Dd;c[1]=a.oe;c[2]=a.Wd;c[3]=a.oj;c[4]=a.Qg;c[5]=a.Yh;c[6]=a.Ue;c[7]=a.ig;c[8]=a.ai;c[9]=a.bi;c[10]=a.Te;c[11]=a.Ce;c[12]=a.Ab;c[13]=[a.Ua,a.Hb,a.Kc];var d;a:if(d=a.Zd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var m=d[h],n=h+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-h>>1;f[e++]=m;h=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.gi;c[16]=a.bj;c[17]=a.eb;c[18]=a.Wc;c[19]=a.lb;c[20]=a.$g;c[21]=a.Od;c[22]=a.re;c[23]=a.ji;c[24]=a.ki;b[6]=c}b[7]=a.si}return b}qj.prototype.nh=function(a){if(null!=a&&a!=this.gi){var b=a&255,c=Y[b];c||b&1&&(c=Y[1]);var b=a&65280,d=Y[b];d||b&256&&(d=Y[256]);this.kf||(this.kf=[null,uj,null,vj]);this.kf[0]=c;this.kf[2]=d;this.gi=a}};var rj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=S.prototype;
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;fb(b,this,xj);hb(b,this,yj);"ega"==this.Ha&&(fb(b,this,zj),hb(b,this,Aj));if((this.Ga=Ra(a,"Keyboard"))&&this.pf){for(var e in this.ra)0<e.indexOf("lock")&&this.Ga.Eb("led",e,this.ra[e]);this.Ga.Eb(this.Co?"textarea":"canvas","kbd",this.Fa)}this.ng=9;(this.ka=Ra(a,"ChipSet"))&&this.vl&&(this.ng=xh(this.vl,this.ng));this.Ga&&this.$l&&Bj(this)};
k.Eb=function(a,b,c){var d=this;if(!this.ra[b])switch(this.ra[b]=c,b){case "lockPointer":return this.xo=c.textContent,this.Fa&&this.Fa.Ve?c.onclick=function(){d.Ve(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){mb(d,!0)},!0}return!1};k.$c=function(){this.Fa&&this.Fa.focus()};k.Ve=function(a){var b=!1;this.Fa&&(a?this.Fa.Ve&&(this.Fa.Ve(),this.Id.Rf(!0),b=!0):this.Fa.Bl&&(this.Fa.Bl(),this.Id.Rf(!1),b=!0),this.$c());return b};
k.Rf=function(a){this.Id&&(this.Id.Rf(a),this.Ga&&(this.Ga.Rj=a));var b=this.ra.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.xo)};function Bj(a){var b=a.Fa;b&&!a.Rh&&(b.addEventListener("touchstart",function(b){Cj(a,b)},!1),b.addEventListener("touchmove",function(b){Cj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Rh=!0)}k.dh=function(a){this.Gg=a;this.Ga&&this.Ga.dh(a)};
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;fb(b,this,xj);hb(b,this,yj);"ega"==this.Ha&&(fb(b,this,zj),hb(b,this,Aj));if((this.Ga=Ra(a,"Keyboard"))&&this.pf){for(var e in this.ra)0<e.indexOf("lock")&&this.Ga.Eb("led",e,this.ra[e]);this.Ga.Eb(this.Do?"textarea":"canvas","kbd",this.Fa)}this.ng=9;(this.ka=Ra(a,"ChipSet"))&&this.vl&&(this.ng=xh(this.vl,this.ng));this.Ga&&this.am&&Bj(this)};
k.Eb=function(a,b,c){var d=this;if(!this.ra[b])switch(this.ra[b]=c,b){case "lockPointer":return this.yo=c.textContent,this.Fa&&this.Fa.Ve?c.onclick=function(){d.Ve(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){mb(d,!0)},!0}return!1};k.$c=function(){this.Fa&&this.Fa.focus()};k.Ve=function(a){var b=!1;this.Fa&&(a?this.Fa.Ve&&(this.Fa.Ve(),this.Id.Rf(!0),b=!0):this.Fa.Bl&&(this.Fa.Bl(),this.Id.Rf(!1),b=!0),this.$c());return b};
k.Rf=function(a){this.Id&&(this.Id.Rf(a),this.Ga&&(this.Ga.Rj=a));var b=this.ra.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.yo)};function Bj(a){var b=a.Fa;b&&!a.Rh&&(b.addEventListener("touchstart",function(b){Cj(a,b)},!1),b.addEventListener("touchmove",function(b){Cj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Rh=!0)}k.dh=function(a){this.Gg=a;this.Ga&&this.Ga.dh(a)};
function Cj(a,b){a.Gg&&b.preventDefault();var c=0,d=0,e=a.pf;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.gd/a.pf.offsetWidth,e=a.Cd/a.pf.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.gd/3)|0;d=(h-d)*e/(a.Cd/3)|0;1!=d?d?Zi(a.Ga,1040,!0):Zi(a.Ga,1038,!0):1!=c&&(c?Zi(a.Ga,1039,!0):Zi(a.Ga,1037,!0))}
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ka&&(b=Ph(this.ka));var c=!1;if(this.Ha)switch(this.Ha){case "ega":var c=!0,d=jj[this.ng];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.Ld!==b&&(this.Ld=b,a=!0);this.Ea=null;this.Jc=this.Gh=new qj(this,1);this.cc=this.yg=new qj(this,3);c?(this.oa=new qj(this,5,null,this.Kc),Dj(this)):this.oa=new qj;Ej(this);this.Kd=null;this.Xc=3==b?hj:3;this.fe=this.Bc=-1;this.ee=0;Fj(this,this.Xc);if(this.Ea.Ua&&a){a=this.Ea.Ua+this.Hh;for(b=this.Ea.Ua;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.Ld?(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),db(this.qa,b,c|d<<8);mb(this,!0)}};function Dj(a){a.oa.Qg&1?(a.Jc=a.Gh,a.cc=a.oa):(a.Jc=a.oa,a.cc=a.yg)}k.save=function(){var a=new I(this);a.set(0,wj(this.Gh));a.set(1,wj(this.yg));a.set(2,[this.Ld,this.Xc,this.Kd]);a.set(3,wj(this.oa));return a.data()};
k.restore=function(a){var b=a[2];this.Ld=b[0];this.Xc=b[1];this.Kd=b[2];this.Ea=null;this.Jc=this.Gh=new qj(this,1,a[0]);this.cc=this.yg=new qj(this,3,a[1]);this.oa=new qj(this,5,a[3],this.Kc);this.oa.Mc&&Dj(this);Ej(this);if(!Gj(this))return!1;Hj(this);return!0};
k.pn=function(a,b,c){if(c)this.Aa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){q("Empty font ROM image: "+a);return}if(1==d.length){q(d[0]);return}if(8192==d.length)Qi(this,d,[0,6144]);else{this.Aa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Aa("Font ROM data error: "+e.message);return}z(this)}};
k.qn=function(a,b,c){if(c)this.Aa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){q("Empty font ROM image: "+a);return}if(1==d.length){q(d[0]);return}if(8192==d.length)Qi(this,d,[0,6144]);else{this.Aa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Aa("Font ROM data error: "+e.message);return}z(this)}};
function Ij(a,b){if(1==b)return a.bd[0]=W[0],a.bd[1]=W[7],a.bd;if(2==b){var c=a.Ea.qf;if(a.Ea===a.oa){var d=a.oa.Wd[0],c=d&7;d&16&&(c|=8);18!=a.oa.Wd[1]&&(c|=32)}a.bd[0]=W[c&15];c=c&32?nj:mj;for(d=0;d<c.length;d++)a.bd[d+1]=W[c[d]];return a.bd}if(a.cc===a.yg)return W;c=null!=a.oa.Wd[15]?a.oa.Wd:oj;for(d=0;d<a.bd.length;d++){var e=c[d]||0;a.bd[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.bd}function Qi(a,b,c,d){a.jg=b;a.wh=c;a.je=d}
function Ej(a){var b=!1;if(window&&a.jg){var c=a.je?0:2048,d=a.je?a.je:9;Jj(a,1,a.wh[0],c,d,14,a.jg,kj,lj)&&(b=!0);c=Ij(a);d=a.je?a.je:8;Jj(a,3,a.wh[1],0,d,8,a.jg,c)&&(b=!0);a.je&&Jj(a,5,a.wh[0],0,a.je,14,a.jg,c)&&(b=!0)}return b}function Jj(a,b,c,d,e,f,g,h,m){var n=!1;Kj(a,b,c,d,e,f,g,h,m)&&(n=!0);a.Wl&&Kj(a,b<<1,c,d,e,f,g,h,m)&&(n=!0);return n}
function Kj(a,b,c,d,e,f,g,h,m){var n=!1,r=b&1?0:1,t=a.sd[b];t||(t={jc:e<<r,kc:f<<r,Be:Array(h.length),zj:h.slice(),gf:m,uh:Array(h.length)});for(m=0;m<h.length;m++){var u=h[m],x=t.Be[m]?t.zj[m]:[];if(u[0]!==x[0]||u[1]!==x[1]||u[2]!==x[2]){var n=t,x=m,F=r,T=c,O=d,U=e,ya=f,Ya=g,Ub=[0,0,0,0],Cc=window.document.createElement("canvas");Cc.width=n.jc<<4;Cc.height=n.kc<<4;for(var ti=Cc.getContext("2d"),za=void 0,Cb=void 0,Za=void 0,Dc=8>ya||!O?ya:8,yd=ti.createImageData(n.jc,n.kc),za=0;256>za;za++){for(Za=
0;Za<ya;Za++)for(var Lk=n.gf&&x&1&&Za>=ya-2,Mk=Ya[Za<Dc?T+za*Dc+Za:O+za*Dc+Za-Dc],zd=0;zd<=F;zd++)for(Cb=0;Cb<U;Cb++){var ui=Cb<<F,vi=(Za<<F)+zd,wi=Lk||Mk&128>>(8<=Cb&&176<=za&&223>=za?7:Cb)?u:Ub;Lj(yd,ui,vi,wi);F&&Lj(yd,ui+1,vi,wi)}ti.putImageData(yd,(za&15)*n.jc,(za>>4)*n.kc)}n.Be[x]="#"+p(u[0],2)+p(u[1],2)+p(u[2],2);n.zj[x]=u;n.uh[x]=Cc;n=!0}}a.sd[b]=t;return n}function Mj(a){0<a.ee||0<=a.Bc?0>a.fe&&(a.fe=0):a.fe=-1}
function Kj(a,b,c,d,e,f,g,h,m){var n=!1,r=b&1?0:1,t=a.sd[b];t||(t={jc:e<<r,kc:f<<r,Be:Array(h.length),zj:h.slice(),gf:m,uh:Array(h.length)});for(m=0;m<h.length;m++){var u=h[m],x=t.Be[m]?t.zj[m]:[];if(u[0]!==x[0]||u[1]!==x[1]||u[2]!==x[2]){var n=t,x=m,F=r,T=c,O=d,U=e,ya=f,Ya=g,Ub=[0,0,0,0],Cc=window.document.createElement("canvas");Cc.width=n.jc<<4;Cc.height=n.kc<<4;for(var ti=Cc.getContext("2d"),za=void 0,Db=void 0,Za=void 0,Dc=8>ya||!O?ya:8,yd=ti.createImageData(n.jc,n.kc),za=0;256>za;za++){for(Za=
0;Za<ya;Za++)for(var Lk=n.gf&&x&1&&Za>=ya-2,Mk=Ya[Za<Dc?T+za*Dc+Za:O+za*Dc+Za-Dc],zd=0;zd<=F;zd++)for(Db=0;Db<U;Db++){var ui=Db<<F,vi=(Za<<F)+zd,wi=Lk||Mk&128>>(8<=Db&&176<=za&&223>=za?7:Db)?u:Ub;Lj(yd,ui,vi,wi);F&&Lj(yd,ui+1,vi,wi)}ti.putImageData(yd,(za&15)*n.jc,(za>>4)*n.kc)}n.Be[x]="#"+p(u[0],2)+p(u[1],2)+p(u[2],2);n.zj[x]=u;n.uh[x]=Cc;n=!0}}a.sd[b]=t;return n}function Mj(a){0<a.ee||0<=a.Bc?0>a.fe&&(a.fe=0):a.fe=-1}
function Hj(a){if(a.Ob){for(var b=10;15>=b;b++)if(null==a.Ea.ic[b])return;var c=a.Ea.ic[10],b=c&31,d=a.Ea.ic[11]&31,e=a.Ea.ic[9]&31,f=!1;a.Ea===a.oa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Nj(a);else{c=a.Ea.ic[15]+((a.Ea.ic[14]&63)<<8);a.Bc!=c&&(Nj(a),a.Bc=c);d=d-b+1;if(a.Dl!=b||a.Mj!=d)a.Dl=b,a.Mj=d;a.Bd=e+1;Mj(a)}}}
function Nj(a){if(0<=a.Bc){if(void 0!==a.bc){var b=a.bc[a.Bc];if(b&131072){var b=b&-131073,c=a.Bc%a.Bb,d=Math.floor(a.Bc/a.Bb);a.Ob&&a.sd[a.Ob]&&(a.Le&&Oj(a,c,d,b,a.Le),Oj(a,c,d,b));a.bc[a.Bc]=b}}a.Bc=-1}}
function Pj(a){var b;a=a.Ea;var c=a.Ce[5];if(null!=c){b=2;var d=512,e=a.Ce[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Wc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.ve=function(a){var b=this.Ea;null!=a&&b&&a!=b.gi&&(b.nh(a),this.qa.nh(b.Ua,b.Hb,b.kf))};
function Gj(a,b){var c,d=a.Kd,e=a.Ea;if(e)if(1==e.Ng)d=hj;else if(5==e.Ng){var d=null,f=e.Kc>>2,g=32768<f?32768:f,h=e.Ce[6];if(null!=h){switch(h&12){case 0:e.Ua=655360;e.Hb=f;d=255;break;case 4:e.Ua=655360;e.Hb=f;d=3==a.Ld?15:16;break;case 8:e.Ua=720896;e.Hb=g;d=hj;break;case 12:e.Ua=753664,e.Hb=g,d=3==a.Ld?2:3}c=e.ig[1]&8;f=e.ic[6]|(e.ic[7]&1)<<8;255!=d&&(h&1?753664==e.Ua?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=Pj(a)}}else e.tc&8&&(e.tc&2?(d=e.tc&16?6:5,e.tc&4||(d-=1)):(d=e.tc&1?3:1,e.tc&4&&(d-=
1)));else a.Kd=null,null==d&&(d=a.Xc);if(!Fj(a,d,b))return!1;a.ve(c);return!0}
function Fj(a,b,c){if(null!=b&&(b!=a.Kd||c)){a.Ll=0;a.Kd=b;b=a.Ea||(b==hj?a.Jc:a.cc);if(b!=a.Ea||b.Ua!=a.Ua||b.Hb!=a.Hb){Nj(a);if(a.Ua){if(!$a(a.qa,a.Ua,a.Hb))return!1;a.Ea&&(a.Ea.Mc=!1)}a.Ea=b;b.Mc=!0;a.Ua=b.Ua;a.Hb=b.Hb;if(!Wa(a.qa,b.Ua,b.Hb,!1,b===a.oa?b:null))return!1}a.Ob=0;a.Bb=a.Vg;a.nc=a.oi;a.ii=V[hj][2];b=0;var d=V[a.Kd];d&&(a.Bb=d[0],a.nc=d[1],a.ii=d[2],b=d[3]||0,a.Ob=d[4],4==a.Ld&&a.Ea===a.oa&&3==a.Ob&&(7==a.oa.ic[9]?a.nc=43:a.Ob=5));a.ik=a.Bb*a.nc;a.Sg=a.ik/a.ii;a.Hh=(a.Sg<<1)+b;a.Kj=
b?a.Hh+b>>1:0;13<=a.Kd&&(a.Sg<<=1);a.sd.length&&(a.hd=Math.floor(a.gd/a.Bb),a.jd=Math.floor(a.Cd/a.nc),a.Ob?(b=a.sd[a.Ob],d=a.sd[a.Ob<<1],a.Yl&&80==a.Bb?d&&a.hd>=3*d.jc>>2&&(a.Ob<<=1,b=d):(d&&a.hd>=d.jc&&(a.Ob<<=1,b=d),b&&(a.hd=b.jc,a.jd=b.kc)),a.sf=a.tf=0,b&&(a.sf=a.Bb*b.jc,a.tf=a.nc*b.kc)):(a.hd=a.jd=1,a.sf=a.Bb,a.tf=a.nc),a.Og=a.Lc.createImageData(a.sf,a.tf),a.Je=window.document.createElement("canvas"),a.Je.width=a.sf,a.Je.height=a.tf,a.Le=a.Je.getContext("2d"),a.rj=a.sj=0,a.Kh=a.gd,a.Lh=a.Cd,
b?a.Hh+b>>1:0;13<=a.Kd&&(a.Sg<<=1);a.sd.length&&(a.hd=Math.floor(a.gd/a.Bb),a.jd=Math.floor(a.Cd/a.nc),a.Ob?(b=a.sd[a.Ob],d=a.sd[a.Ob<<1],a.Zl&&80==a.Bb?d&&a.hd>=3*d.jc>>2&&(a.Ob<<=1,b=d):(d&&a.hd>=d.jc&&(a.Ob<<=1,b=d),b&&(a.hd=b.jc,a.jd=b.kc)),a.sf=a.tf=0,b&&(a.sf=a.Bb*b.jc,a.tf=a.nc*b.kc)):(a.hd=a.jd=1,a.sf=a.Bb,a.tf=a.nc),a.Og=a.Lc.createImageData(a.sf,a.tf),a.Je=window.document.createElement("canvas"),a.Je.width=a.sf,a.Je.height=a.tf,a.Le=a.Je.getContext("2d"),a.rj=a.sj=0,a.Kh=a.gd,a.Lh=a.Cd,
b=a.gd-a.Bb*a.hd,d=a.Cd-a.nc*a.jd,0<b&&(a.rj=b>>1,a.Kh-=b),0<d&&(a.sj=d>>1,a.Lh-=d),b||d)&&(a.Lc.fillStyle=a.pf.style.backgroundColor,a.Lc.fillRect(0,0,a.gd,a.Cd));!1!==c?mb(a,!0):Qj(a,!0)}return!0}function Lj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Qj(a,b){var c;if(b){if(c=a.Sg,void 0===a.bc||a.bc.length!=c)a.bc=Array(c)}else{if(void 0===a.bc)return;c=a.bc.length}for(var d=0;d<c;d++)a.bc[d]=-1;a.ee=-1}
function Oj(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.sd[a.Ob];h.gf&&(d=h.gf[d]);var m=g>>4&15;h.gf&&(m=h.gf[m]);e?(b*=h.jc,c*=h.kc,e.fillStyle=h.Be[m],e.fillRect(b,c,h.jc,h.kc)):(b=b*a.hd+a.rj,c=c*a.jd+a.sj,a.Lc.fillStyle=h.Be[m],a.Lc.fillRect(b,c,a.hd,a.jd));g&256&&(m=(f&15)*h.jc,f=(f>>4)*h.kc,e?e.drawImage(h.uh[d],m,f,h.jc,h.kc,b,c,h.jc,h.kc):a.Lc.drawImage(h.uh[d],m,f,h.jc,h.kc,b,c,a.hd,a.jd));g&512&&(f=a.Dl,g=a.Mj,e?(a.Bd&&a.Bd!==h.kc&&(f=Math.floor(f*h.kc/a.Bd),g=Math.floor(g*h.kc/a.Bd)),
e.fillStyle=h.Be[d],e.fillRect(b,c+f,h.jc,g)):(a.Bd&&a.Bd!==a.jd&&(f=Math.floor(f*a.jd/a.Bd),g=Math.floor(g*a.jd/a.Bd)),a.Lc.fillStyle=h.Be[d],a.Lc.fillRect(b,c+f,a.hd,g)))}
function mb(a,b){if(a.ma.Nb){var c=!1;a.Ea&&(a.Ea===a.oa?a.oa.oe&32&&(c=!0):a.Ea.tc&8&&(c=!0));if(c||b){if(b)Qj(a,!0);else if(void 0===a.bc)return;var d=!1;!(b||++a.Ll&15)&&0<=a.fe&&(a.fe++,d=!0);var e=0,f=a.ik,c=a.Ea.Ua,g=c+a.Ea.Hb,h=(a.Ea.ic[12]<<8)+a.Ea.ic[13];a.Ob&&(h<<=1);var c=c+h,m=a.Hh;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.qa,n=!0,r=c>>h.Vb;0<m&&r<h.Da.length;)h.Da[r].jb&&(h.Da[r].jb=n=!1,h.Da[r].Pj=!0),m-=h.xc,r++;h=n}if(h){if(!d)return;if(!a.ee){if(0>a.Bc)return;e=a.Bc;f=
e+1}}if(a.Ob){if(a.sd[a.Ob]){d=0;h=a.ee=0;m=1048575;a.Ea.tc&32&&(h=32768,m&=~h,a.fe&2||(m&=-65537));for(c+=e<<1;c<g&&e<f;)n=bb(a.qa,c),n|=65536,n&h&&(a.ee++,n&=m),e==a.Bc&&(n|=a.fe&1?131072:0),r=a.bc[e],r!=n&&(Oj(a,e%a.Bb,Math.floor(e/a.Bb),n,a.Le),a.bc[e]=n,d++),c+=2,e++;d&&a.Le&&a.Lc.drawImage(a.Je,0,0,a.sf,a.tf,a.rj,a.sj,a.Kh,a.Lh);Mj(a)}}else if(a.Kj){for(var f=g,t,u,e=c,g=a.ee=0,d=a.ii,h=16==d?65536:196608,m=16==d?1:2,n=Ij(a,m),x=r=0,F=a.Bb,T=0,O=a.nc,U=0;e<f;){t=bb(a.qa,e);u=a.bc[g];if(u===
t)r+=d;else{a.bc[g]=t;t=t>>8|(t&255)<<8;u=h;var ya=16;r<F&&(F=r);for(var Ya=0;Ya<d;Ya++){var Ub=(t&(u>>=m))>>(ya-=m);Lj(a.Og,r++,x,n[Ub])}r>T&&(T=r);x<O&&(O=x);x>=U&&(U=x+1)}e+=2;g++;if(r>=a.Bb){r=0;x+=2;if(x>a.nc)break;x==a.nc&&(x=1,e=c+a.Kj)}}F<a.Bb&&(a.Le.putImageData(a.Og,0,0,F,O,T-F,U-O),a.Lc.drawImage(a.Je,0,0,a.Bb,a.nc,0,0,a.gd,a.Cd))}else{f=g;e=a.ee=0;g=Ij(a);d=a.Ea.Zd;m=h=0;n=a.Bb;r=0;x=a.nc;for(F=0;c<f;){T=c++-a.Ua;T=d[T];O=a.bc[e];if(O===T)h+=8;else{a.bc[e]=T;h<n&&(n=h);for(O=0;8>O;O++)U=
T&2155905152,0>U&&(U+=4294967296),U=X[U]||0,Lj(a.Og,h++,m,g[U]),T<<=1;h>r&&(r=h);m<x&&(x=m);m>=F&&(F=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.nc))break}n<a.Bb&&(a.Le.putImageData(a.Og,0,0,n,x,r-n,F-x),a.Lc.drawImage(a.Je,0,0,a.Bb,a.nc,0,0,a.gd,a.Cd))}}}}k.Km=function(){return this.Jc.Ac};k.Yn=function(a,b){var c=this.Jc;c.Mg=c.Ac;c.Ac=b&31};k.Jm=function(){return Rj(this.Jc)};k.Xn=function(a,b){Sj(this,this.Jc,b)};k.Lm=function(){return this.Jc.tc};k.Zn=function(a,b){this.Jc.tc=b;Gj(this,!1)};
k.Mm=function(){return Tj(this,this.Jc)};k.ol=function(a,b){this.oa.Yh=this.oa.Yh&-4|b&3};k.ek=function(){var a=this.oa.Dd?this.oa.Wd[this.oa.oe&31]:this.oa.oe;this.oa.Dd=!this.oa.Dd;return a};k.nl=function(a,b){var c=this.oa.oe&32;if(this.oa.Dd){var d=this.oa.oe&31;if(16<=d||!c)this.oa.Wd[d]=b;this.oa.Dd=!1}else this.oa.oe=b,this.oa.Dd=!0,b&32&&!c&&Ej(this)&&mb(this,!0)};k.Wm=function(){var a=3-((this.oa.Qg&12)>>2),a=this.oa.oj&-17|(this.ng&1<<a)<<4-a;return this.oa.oj=a};
k.ao=function(a,b){this.oa.Qg=b;Dj(this)};k.Vm=function(){return this.oa.Ue};k.jo=function(a,b){this.oa.Ue=b};k.Um=function(){return this.oa.ig[this.oa.Ue]};k.io=function(a,b){this.oa.ig[this.oa.Ue]=b;2==this.oa.Ue&&(this.oa.eb=pj[b&15])};k.Cm=function(){return this.oa.ai};k.Sn=function(a,b){this.oa.ai=b};k.Dm=function(){return this.oa.bi};k.Tn=function(a,b){this.oa.bi=b};k.Bm=function(){return this.oa.Te};k.Rn=function(a,b){this.oa.Te=b};k.Am=function(){return this.oa.Ce[this.oa.Te]};
k.Qn=function(a,b){this.oa.Ce[this.oa.Te]=b;switch(this.oa.Te){case 0:this.oa.$g=pj[b&15];this.oa.re=this.oa.$g&~this.oa.Od;break;case 1:this.oa.Od=~pj[b&15];this.oa.re=this.oa.$g&~this.oa.Od;break;case 2:this.oa.ji=pj[b&15]&2155905152;break;case 3:case 5:this.ve(Pj(this));break;case 4:this.oa.bj=(b&3)<<3;break;case 6:Gj(this,!1);break;case 7:this.oa.ki=pj[b&15^15]&2155905152;break;case 8:this.oa.lb=b|b<<8|b<<16|b<<24}};k.sm=function(){return this.cc.Ac};
k.Hn=function(a,b){var c=this.cc;c.Mg=c.Ac;c.Ac=b&31};k.rm=function(){return Rj(this.cc)};k.Gn=function(a,b){Sj(this,this.cc,b)};k.tm=function(){return this.cc.tc};k.In=function(a,b){this.cc.tc=b;Gj(this,!1)};k.qm=function(){return this.cc.qf};k.Fn=function(a,b){this.cc.qf!==b&&(this.cc.qf=b,Qj(this,!1))};k.um=function(){return Tj(this,this.cc)};function Rj(a){var b;a.Ac<a.hi&&(b=a.ic[a.Ac]);return b}function Sj(a,b,c){b.Ac<b.hi&&(b.ic[b.Ac]=c,9==b.Ac&&8!=b.Mg&&Gj(a,!0),Hj(a))}
function Tj(a,b){var c=0,d=B(a.la),e=d-b.si;0>e&&(e=0);e%b.li>b.kn&&(c|=1);e%=b.lk;e>b.mn&&(c|=8);b.si=d-e;b===a.oa?(c|=b.$f&48^48,b.Dd=!1):c=(b.$f^=9)|240;return b.$f=c}
var xj={948:S.prototype.Km,949:S.prototype.Jm,952:S.prototype.Lm,954:S.prototype.Mm,980:S.prototype.sm,981:S.prototype.rm,984:S.prototype.tm,985:S.prototype.qm,986:S.prototype.um},yj={948:S.prototype.Yn,949:S.prototype.Xn,952:S.prototype.Zn,980:S.prototype.Hn,981:S.prototype.Gn,984:S.prototype.In,985:S.prototype.Fn},zj={960:S.prototype.ek,961:S.prototype.ek,962:S.prototype.Wm,964:S.prototype.Vm,965:S.prototype.Um,970:S.prototype.Dm,972:S.prototype.Cm,974:S.prototype.Bm,975:S.prototype.Am},Aj={954:S.prototype.ol,
960:S.prototype.nl,961:S.prototype.nl,962:S.prototype.ao,964:S.prototype.jo,965:S.prototype.io,970:S.prototype.Tn,972:S.prototype.Sn,974:S.prototype.Rn,975:S.prototype.Qn,986:S.prototype.ol};
T&2155905152,0>U&&(U+=4294967296),U=X[U]||0,Lj(a.Og,h++,m,g[U]),T<<=1;h>r&&(r=h);m<x&&(x=m);m>=F&&(F=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.nc))break}n<a.Bb&&(a.Le.putImageData(a.Og,0,0,n,x,r-n,F-x),a.Lc.drawImage(a.Je,0,0,a.Bb,a.nc,0,0,a.gd,a.Cd))}}}}k.Lm=function(){return this.Jc.Ac};k.Zn=function(a,b){var c=this.Jc;c.Mg=c.Ac;c.Ac=b&31};k.Km=function(){return Rj(this.Jc)};k.Yn=function(a,b){Sj(this,this.Jc,b)};k.Mm=function(){return this.Jc.tc};k.$n=function(a,b){this.Jc.tc=b;Gj(this,!1)};
k.Nm=function(){return Tj(this,this.Jc)};k.ol=function(a,b){this.oa.Yh=this.oa.Yh&-4|b&3};k.ek=function(){var a=this.oa.Dd?this.oa.Wd[this.oa.oe&31]:this.oa.oe;this.oa.Dd=!this.oa.Dd;return a};k.nl=function(a,b){var c=this.oa.oe&32;if(this.oa.Dd){var d=this.oa.oe&31;if(16<=d||!c)this.oa.Wd[d]=b;this.oa.Dd=!1}else this.oa.oe=b,this.oa.Dd=!0,b&32&&!c&&Ej(this)&&mb(this,!0)};k.Xm=function(){var a=3-((this.oa.Qg&12)>>2),a=this.oa.oj&-17|(this.ng&1<<a)<<4-a;return this.oa.oj=a};
k.bo=function(a,b){this.oa.Qg=b;Dj(this)};k.Wm=function(){return this.oa.Ue};k.ko=function(a,b){this.oa.Ue=b};k.Vm=function(){return this.oa.ig[this.oa.Ue]};k.jo=function(a,b){this.oa.ig[this.oa.Ue]=b;2==this.oa.Ue&&(this.oa.eb=pj[b&15])};k.Dm=function(){return this.oa.ai};k.Tn=function(a,b){this.oa.ai=b};k.Em=function(){return this.oa.bi};k.Un=function(a,b){this.oa.bi=b};k.Cm=function(){return this.oa.Te};k.Sn=function(a,b){this.oa.Te=b};k.Bm=function(){return this.oa.Ce[this.oa.Te]};
k.Rn=function(a,b){this.oa.Ce[this.oa.Te]=b;switch(this.oa.Te){case 0:this.oa.$g=pj[b&15];this.oa.re=this.oa.$g&~this.oa.Od;break;case 1:this.oa.Od=~pj[b&15];this.oa.re=this.oa.$g&~this.oa.Od;break;case 2:this.oa.ji=pj[b&15]&2155905152;break;case 3:case 5:this.ve(Pj(this));break;case 4:this.oa.bj=(b&3)<<3;break;case 6:Gj(this,!1);break;case 7:this.oa.ki=pj[b&15^15]&2155905152;break;case 8:this.oa.lb=b|b<<8|b<<16|b<<24}};k.tm=function(){return this.cc.Ac};
k.In=function(a,b){var c=this.cc;c.Mg=c.Ac;c.Ac=b&31};k.sm=function(){return Rj(this.cc)};k.Hn=function(a,b){Sj(this,this.cc,b)};k.um=function(){return this.cc.tc};k.Jn=function(a,b){this.cc.tc=b;Gj(this,!1)};k.rm=function(){return this.cc.qf};k.Gn=function(a,b){this.cc.qf!==b&&(this.cc.qf=b,Qj(this,!1))};k.vm=function(){return Tj(this,this.cc)};function Rj(a){var b;a.Ac<a.hi&&(b=a.ic[a.Ac]);return b}function Sj(a,b,c){b.Ac<b.hi&&(b.ic[b.Ac]=c,9==b.Ac&&8!=b.Mg&&Gj(a,!0),Hj(a))}
function Tj(a,b){var c=0,d=B(a.la),e=d-b.si;0>e&&(e=0);e%b.li>b.ln&&(c|=1);e%=b.lk;e>b.nn&&(c|=8);b.si=d-e;b===a.oa?(c|=b.$f&48^48,b.Dd=!1):c=(b.$f^=9)|240;return b.$f=c}
var xj={948:S.prototype.Lm,949:S.prototype.Km,952:S.prototype.Mm,954:S.prototype.Nm,980:S.prototype.tm,981:S.prototype.sm,984:S.prototype.um,985:S.prototype.rm,986:S.prototype.vm},yj={948:S.prototype.Zn,949:S.prototype.Yn,952:S.prototype.$n,980:S.prototype.In,981:S.prototype.Hn,984:S.prototype.Jn,985:S.prototype.Gn},zj={960:S.prototype.ek,961:S.prototype.ek,962:S.prototype.Xm,964:S.prototype.Wm,965:S.prototype.Vm,970:S.prototype.Em,972:S.prototype.Dm,974:S.prototype.Cm,975:S.prototype.Bm},Aj={954:S.prototype.ol,
960:S.prototype.nl,961:S.prototype.nl,962:S.prototype.bo,964:S.prototype.ko,965:S.prototype.jo,970:S.prototype.Un,972:S.prototype.Tn,974:S.prototype.Sn,975:S.prototype.Rn,986:S.prototype.ol};
wa(function(){for(var a=y(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new 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=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*
d.screenHeight/d.screenWidth|0)+"px",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.appendChild(e);var f=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");ra("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.style.clear="both";c.style.position="relative";c.appendChild(f);
var g=e.getContext("2d"),d=new S(d,e,g,f);Ma(d,c)}});function Z(a){this.ak=a.adapter;switch(this.ak){case 1:this.gj=1016;this.Jf=4;break;case 2:this.gj=760;this.Jf=3;break;default:q("Unrecognized serial adapter #"+this.ak);return}this.zd=null;s.call(this,"SerialPort",a,Z);var b=a.binding,c;a=Uj;b&&(void 0===c&&(c="Panel"),(c=La(c,this.id))&&(b=c.ra[b])&&this.Eb(null,a,b))}v(s,Z);var Uj="buffer";k=Z.prototype;k.Bj=function(a,b){return a==this.di?(this.Id=b,this):null};
k.Eb=function(a,b,c){var d=this;switch(b){case Uj:return this.ra[b]=this.zd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Vj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Vj(d,[a.which||a.keyCode])},!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet");fb(b,this,Wj,this.gj);hb(b,this,Xj,this.gj);z(this)};k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Gd()};k.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.Dh;c[b++]=this.Gj;c[b++]=this.ye;c[b++]=this.og;c[b++]=this.vd;c[b++]=this.be;c[b++]=this.Rc;c[b++]=this.wc;c[b++]=this.Ej;c[b]=this.hf;a.set(0,c);return a.data()};k.restore=function(a){return this.Gd(a[0])};
k.Gd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Dh=a[b++];this.Gj=a[b++];this.ye=a[b++];this.og=a[b++];this.vd=a[b++];this.be=a[b++];this.Rc=a[b++];this.wc=a[b++];this.Ej=a[b++];this.hf=a[b];return!0};function Vj(a,b){a.hf=a.hf.concat(b);Yj(a)}function Yj(a){0<a.hf.length&&!(a.wc&1)&&(a.Dh=a.hf.shift(),a.wc|=1);var b=-1;a.wc&1&&a.og&1&&(b=4);0<=b?(a.vd&=-8,a.vd|=b,a.ka&&a.Jf&&si(a.ka,a.Jf)):(a.vd|=1,a.ka&&a.Jf&&xi(a.ka,a.Jf))}
k.Tm=function(){var a=this.be&128?this.ye&255:this.Dh;this.wc&=-2;Yj(this);return a};k.Em=function(){return this.be&128?this.ye>>8:this.og};k.Fm=function(){return this.vd};k.Gm=function(){return this.be};k.Im=function(){return this.Rc};k.Hm=function(){return this.wc};k.Om=function(){return this.Ej};
k.ko=function(a,b){if(this.be&128)this.ye=this.ye&-256|b;else{this.Gj=b;this.wc&=-97;var c;this.zd?(13!=b&&(8==b?this.zd.value=this.zd.value.slice(0,-1):(this.zd.value+=String.fromCharCode(b),this.zd.scrollTop=this.zd.scrollHeight)),c=!0):c=!1;c&&(this.wc|=96)}};k.Un=function(a,b){this.be&128?this.ye=this.ye&255|b<<8:this.og=b};k.Vn=function(a,b){this.be=b};
k.Wn=function(a,b){var c=this.Rc;this.Rc=b;if(this.Id&&(c^b)&3){var c=this.Id,d=this.Rc,e=3==(d&3);if(e){if(!c.Mc){var f=!1;c.Rc&2||(c.reset(),c.dc("serial mouse reset"),f=!0);c.Rc&1||(c.dc("serial mouse ID requested"),f=!0);f&&(Vj(c.rf,[77,77]),c.dc("serial mouse ID sent"));Zj(c,c.Fa);c.setActive(e)}}else c.Mc&&(c.dc("serial mouse inactive"),ak(c.Fa),c.setActive(e));c.Rc=d}};
var Wj={0:Z.prototype.Tm,1:Z.prototype.Em,2:Z.prototype.Fm,3:Z.prototype.Gm,4:Z.prototype.Im,5:Z.prototype.Hm,6:Z.prototype.Om},Xj={0:Z.prototype.ko,1:Z.prototype.Un,3:Z.prototype.Vn,4:Z.prototype.Wn};wa(function(){for(var a=y(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Z(d);Ma(d,c)}});function bk(a){s.call(this,"Mouse",a,bk);if(this.ci=a.serial)this.jj="SerialPort";this.setActive(!1);this.Hg=!1;z(this)}v(s,bk);k=bk.prototype;
k.Um=function(){var a=this.be&128?this.ye&255:this.Dh;this.wc&=-2;Yj(this);return a};k.Fm=function(){return this.be&128?this.ye>>8:this.og};k.Gm=function(){return this.vd};k.Hm=function(){return this.be};k.Jm=function(){return this.Rc};k.Im=function(){return this.wc};k.Pm=function(){return this.Ej};
k.lo=function(a,b){if(this.be&128)this.ye=this.ye&-256|b;else{this.Gj=b;this.wc&=-97;var c;this.zd?(13!=b&&(8==b?this.zd.value=this.zd.value.slice(0,-1):(this.zd.value+=String.fromCharCode(b),this.zd.scrollTop=this.zd.scrollHeight)),c=!0):c=!1;c&&(this.wc|=96)}};k.Vn=function(a,b){this.be&128?this.ye=this.ye&255|b<<8:this.og=b};k.Wn=function(a,b){this.be=b};
k.Xn=function(a,b){var c=this.Rc;this.Rc=b;if(this.Id&&(c^b)&3){var c=this.Id,d=this.Rc,e=3==(d&3);if(e){if(!c.Mc){var f=!1;c.Rc&2||(c.reset(),c.dc("serial mouse reset"),f=!0);c.Rc&1||(c.dc("serial mouse ID requested"),f=!0);f&&(Vj(c.rf,[77,77]),c.dc("serial mouse ID sent"));Zj(c,c.Fa);c.setActive(e)}}else c.Mc&&(c.dc("serial mouse inactive"),ak(c.Fa),c.setActive(e));c.Rc=d}};
var Wj={0:Z.prototype.Um,1:Z.prototype.Fm,2:Z.prototype.Gm,3:Z.prototype.Hm,4:Z.prototype.Jm,5:Z.prototype.Im,6:Z.prototype.Pm},Xj={0:Z.prototype.lo,1:Z.prototype.Vn,3:Z.prototype.Wn,4:Z.prototype.Xn};wa(function(){for(var a=y(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Z(d);Ma(d,c)}});function bk(a){s.call(this,"Mouse",a,bk);if(this.ci=a.serial)this.jj="SerialPort";this.setActive(!1);this.Hg=!1;z(this)}v(s,bk);k=bk.prototype;
k.sc=function(a,b,c,d){this.Oa=a;this.qa=b;this.la=c;this.Sa=d;this.qh=Ra(this.Oa,"Video")};k.setActive=function(a){this.Mc=a};k.Zb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.jj&&!this.rf){for(var c=null;(c=Ra(this.Oa,this.jj,c))&&(!c.Bj||!(this.rf=c.Bj(this.ci,this))););this.rf?this.qh&&(c=this.qh,c.Id=this,this.Fa=c.Fa):q(this.id+": "+this.jj+" "+this.ci+" unavailable")}this.Mc?Zj(this,this.Fa):ak(this.Fa)}return!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Gd()};k.save=function(){var a=new I(this);a.set(0,this.nj());return a.data()};k.restore=function(a){return this.Gd(a[0])};k.Gd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.ag=a[b++];this.bg=a[b++];this.ze=a[b++];this.Ae=a[b++];this.Cg=a[b++];this.Dg=a[b++];this.Rc=a[b];return!0};
k.nj=function(){var a=0,b=[];b[a++]=this.Mc;b[a++]=this.ag;b[a++]=this.bg;b[a++]=this.ze;b[a++]=this.Ae;b[a++]=this.Cg;b[a++]=this.Dg;b[a]=this.Rc;return b};k.Rf=function(a){this.Hg=a};
@ -574,12 +574,12 @@ k.load=function(a,b,c,d,e){var f=b;if(!this.ne)if(this.Zc=a,this.te=b,this.ne=d,
la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Pe?"":d)+"&format=json")),ka(f,!0,null,this,this.Rl,b)};
k.Rl=function(a,b,c,d){var e=null;this.Qe=!1;var f=0>c&&this.Oa&&!this.Oa.ma.Nb;if(this.Ig)c?this.ea.Aa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.kd=!0,e=this);else if(c)this.ea.Aa('Unable to load disk "'+this.Zc+'" (error '+c+")",f);else try{if(0<da(a,!0).toLowerCase().indexOf("-readonly"))this.Qe=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.Qe=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.Zc]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)q(h[0]);else{this.nb=h.length;this.ob=h[0].length;this.ub=h[0][0].length;var m=h[0][0][0];this.cb=m&&m.length||512;for(b=a=0;b<this.nb;b++)for(c=0;c<this.ob;c++)for(d=0;d<this.ub;d++)if(m=h[b][c][d]){var n=m.length;void 0===n&&(n=m.length=512);var n=n>>2,r=m.pattern;void 0===r&&(r=m.pattern=0);var t=m.data;if(void 0===t){var u=m.bytes;if(void 0!==u&&u.length){for(var f=
n<<2,x=u.length;x<f;x++)u[x]=r;this.fill(m,u,0)}else t=[],r=m.pattern=r|r<<8|r<<16|r<<24,m.data=t;delete m.bytes}hk(m,b,c);for(f=0;f<t.length;f++)a=a+t[f]&4294967295}this.$a=h;this.Ne=a;e=this}else q("Empty disk image: "+this.Zc)}catch(F){q("Disk image error: "+F.message)}this.ne&&(this.ne.call(this.Nl,this.Na,e,this.Zc,this.te),this.ne=null)};function hk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.cm=b;a.em=c;a.Nc=a.qc=0;a.jb=!1;return a}
k.nn=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var m=0;h--;){var n=this.seek(e,f,g,!0);if(!n)break;this.fill(n,b,m);m+=n.length;g++}}(d=d[5])&&d(c,a)};function ik(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.nb+":"+a.ob+":"+a.ub+":"+a.cb;c+="&machine="+a.ea.Re();c+="&user="+a.ea.Fd();return la()+"/api/v1/disk?"+c}
function jk(a,b,c,d,e,f){if(a.kd){var g;g="action=read&volume="+a.te;g+="&chs="+a.nb+":"+a.ob+":"+a.ub+":"+a.cb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.Re());g+="&user="+a.ea.Fd();ka(la()+"/api/v1/disk?"+g,!0,null,a,a.nn,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function kk(a,b,c){b.jb=!0;var d=a.Xd.indexOf(b);0<=d&&(a.Xd.splice(d,1),a.eg.splice(d,1));a.Xd.push(b);a.eg.push(ha());c&&lk(a)}
n<<2,x=u.length;x<f;x++)u[x]=r;this.fill(m,u,0)}else t=[],r=m.pattern=r|r<<8|r<<16|r<<24,m.data=t;delete m.bytes}hk(m,b,c);for(f=0;f<t.length;f++)a=a+t[f]&4294967295}this.$a=h;this.Ne=a;e=this}else q("Empty disk image: "+this.Zc)}catch(F){q("Disk image error: "+F.message)}this.ne&&(this.ne.call(this.Nl,this.Na,e,this.Zc,this.te),this.ne=null)};function hk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.dm=b;a.fm=c;a.Nc=a.qc=0;a.jb=!1;return a}
k.on=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var m=0;h--;){var n=this.seek(e,f,g,!0);if(!n)break;this.fill(n,b,m);m+=n.length;g++}}(d=d[5])&&d(c,a)};function ik(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.nb+":"+a.ob+":"+a.ub+":"+a.cb;c+="&machine="+a.ea.Re();c+="&user="+a.ea.Fd();return la()+"/api/v1/disk?"+c}
function jk(a,b,c,d,e,f){if(a.kd){var g;g="action=read&volume="+a.te;g+="&chs="+a.nb+":"+a.ob+":"+a.ub+":"+a.cb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.Re());g+="&user="+a.ea.Fd();ka(la()+"/api/v1/disk?"+g,!0,null,a,a.on,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function kk(a,b,c){b.jb=!0;var d=a.Xd.indexOf(b);0<=d&&(a.Xd.splice(d,1),a.eg.splice(d,1));a.Xd.push(b);a.eg.push(ha());c&&lk(a)}
function lk(a){if(a.Xd.length){var b=a.eg[0]+2E3;a.qd&&a.hk<b&&(clearTimeout(a.qd),a.qd=null);if(!a.qd){var c=ha(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.qd=setTimeout(function(){gk(a,!0)},b);a.hk=c+b}}else a.qd&&(clearTimeout(a.qd),a.qd=null)}
function gk(a,b){b&&(a.qd=null);var c=a.Xd[0];if(c){for(var d=c.cm,e=c.em,c=c.sector,f=0,g=[],h=c-1;h<a.$a[d][e].length;h++){var m=a.$a[d][e][h];if(!m.jb)break;var n=a.Xd.indexOf(m);a.Xd.splice(n,1);a.eg.splice(n,1);g=g.concat(mk(m));m.jb=!1;f++}a.kd?(h={},a.Xh=!0,h.action="write",h.volume=a.te,h.chs=a.nb+":"+a.ob+":"+a.ub+":"+a.cb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ea.Re(),h.user=a.ea.Fd(),h.data=JSON.stringify(g),d=ka(la()+"/api/v1/disk",b,h,a,a.sn,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.sn=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Xh=!1;if(0<=a&&a<this.$a.length&&0<=b&&b<this.$a[a].length)for(e-=1;0<f--&&0<=e&&e<this.$a[a][b].length;e++){var g=this.$a[a][b][e];c?kk(this,g,!1):g.jb||(g.Nc=g.qc=0)}d&&lk(this)};k.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]};
function gk(a,b){b&&(a.qd=null);var c=a.Xd[0];if(c){for(var d=c.dm,e=c.fm,c=c.sector,f=0,g=[],h=c-1;h<a.$a[d][e].length;h++){var m=a.$a[d][e][h];if(!m.jb)break;var n=a.Xd.indexOf(m);a.Xd.splice(n,1);a.eg.splice(n,1);g=g.concat(mk(m));m.jb=!1;f++}a.kd?(h={},a.Xh=!0,h.action="write",h.volume=a.te,h.chs=a.nb+":"+a.ob+":"+a.ub+":"+a.cb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ea.Re(),h.user=a.ea.Fd(),h.data=JSON.stringify(g),d=ka(la()+"/api/v1/disk",b,h,a,a.tn,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.tn=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Xh=!1;if(0<=a&&a<this.$a.length&&0<=b&&b<this.$a[a].length)for(e-=1;0<f--&&0<=e&&e<this.$a[a][b].length;e++){var g=this.$a[a][b][e];c?kk(this,g,!1):g.jb||(g.Nc=g.qc=0)}d&&lk(this)};k.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]};
k.seek=function(a,b,c,d,e){var f=null,g=this.Na,h=this.$a[a];if(h){var m=h[b];if(!m&&g.Bh&&b<g.ob)for(m=h[b]=Array(g.wd),h=0;h<m.length;h++)m[h]=hk(null,a,b,h+1,g.mb,0);if(m){for(h=0;h<m.length;h++)if(m[h]&&m[h].sector==c){f=m[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<m.length;)null===m[h].pattern&&d++;jk(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.Bh&&9==g.ab&&(f=m[h]=hk(null,a,b,g.ab,g.mb,0))}}e&&e(f,!1);return f};
k.fill=function(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 mk(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}function nk(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.Qe)return!1;if(b<a.length){if(c!=nk(a,b)){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.qc?f<a.Nc?(a.qc+=a.Nc-f,a.Nc=f):f>=a.Nc+a.qc&&(a.qc+=f-(a.Nc+a.qc)+1):(a.Nc=f,a.qc=1);d[f]=d[f]&~(255<<b)|c<<b;this.kd&&kk(this,a,!0)}return!0}return null};
@ -587,7 +587,7 @@ k.save=function(){var a=0,b=[];b[a++]=[this.te,this.Ne,this.nb,this.ob,this.ub,t
k.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?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.Ne&&e[1]!=this.Ne&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Ne+")",b=-1));for(this.$a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],m=g[f++],n=g[f++];if(h>=this.$a.length||m>=this.$a[h].length||n>=this.$a[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+
b+" changes applied)";b=-1;break}if(this.Qe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.$a[h][m][n]){for(m=h.data.length;m<e;)h.data[m++]=h.pattern;m=0;h.Nc=e;for(h.qc=f.length;e<g;)h.data[e++]=f[m++];b++}}}0>b&&this.ea.Aa("unable to restore disk '"+this.Zc+": "+c);return b};
function ok(a){s.call(this,"FDC",a,ok);this.dmaRead=this.Mh;this.dmaWrite=this.Nh;this.dmaFormat=this.Ol;this.ge=null;if(a.autoMount&&(this.ge=a.autoMount,"string"==typeof this.ge))try{this.ge=eval("("+a.autoMount+")")}catch(b){q("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ge=null}this.oc=[];this.Tj=!ra("Mobi")&&window&&"FileReader"in window}v(s,ok);l={};aa={};
var pk={3:{fd:3,yd:0,name:aa.lp},4:{fd:2,yd:1,name:aa.jp},5:{fd:9,yd:7,name:aa.xp},6:{fd:9,yd:7,name:aa.dp},7:{fd:2,yd:0,name:aa.fp},8:{fd:1,yd:2,name:aa.kp},10:{fd:2,yd:7,name:aa.ep},13:{fd:6,yd:7,name:aa.Qo},15:{fd:3,yd:0,name:aa.ip}};k=ok.prototype;
var pk={3:{fd:3,yd:0,name:aa.mp},4:{fd:2,yd:1,name:aa.kp},5:{fd:9,yd:7,name:aa.yp},6:{fd:9,yd:7,name:aa.ep},7:{fd:2,yd:0,name:aa.gp},8:{fd:1,yd:2,name:aa.lp},10:{fd:2,yd:7,name:aa.fp},13:{fd:6,yd:7,name:aa.Ro},15:{fd:3,yd:0,name:aa.jp}};k=ok.prototype;
k.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ra[b]=c,c.onchange=function(){var a=d.ra.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){q("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ra[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;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 h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var m,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(m=parseInt(a,b))&&(g=m)}a=g;null!=a&&qk(d,a)},!0;case "loadDrive":return this.ra[b]=c,c.onclick=function(){var a=d.ra.listDisks;a&&rk(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Tj?
(this.ra[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;rk(d,da(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.ka=Ra(a,"ChipSet");this.ld();fb(b,this,sk);hb(b,this,tk);this.Tj&&uk(this,"Local Disk","?");uk(this,"Remote Disk","??");this.lf()||z(this)};
@ -602,48 +602,48 @@ function rk(a,b,c,d){var e,f=a.ra.listDrives;if(f&&!isNaN(e=parseInt(f.value,10)
a,g=c,h=void 0,h=0;h<f.oc.length;h++)if(f.oc[h][1]==g){f.oc.splice(h,1);break}vk(a,e,!1,!0)}}else vk(a,e);else a.Aa("Nothing to load")}function xk(a,b,c,d,e,f){var g=a.za[b];if(d&&g.ue!=d){vk(a,b,e,!0);if(g.zc)return a.Aa("Drive "+b+" busy"),!0;g.zc=!0;e&&(g.le=!0,a.de++);g.Oe=!!f;(new ek(a,g,"preload")).load(c,d,f,a.Nj);return!1}return!0}
k.Nj=function(a,b,c,d,e){var f;a.zc=!1;b&&(f=b.info(),b&&f[0]>a.nb||f[1]>a.ob)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.bb)),b=null);b?(a.ua=b,a.ul=c,a.ue=d,yk(this,c,d,b),f=b.info(),this.Qd|=128,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.bb),a.le||e),a.Wg=f[0],a.Hf=f[1],a.If=f[2]):a.Oe=!1;a.le&&(a.le=!1,--this.de||z(this));qk(this,a.bb)};
function uk(a,b,c){if(a=a.ra.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function qk(a,b){if(0<=b&&b<a.za.length){var c=a.za[b],d=a.ra.listDisks,e=a.ra.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.Oe?"?":c.ue,!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 vk(a,b,c,d){var e=a.za[b];e.ua&&(wk(a,e.ue,e.ua),e.ul="",e.ue="",e.ua=null,e.Oe=!1,a.Qd|=128,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||qk(a,b))}function yk(a,b,c,d){var e;for(e=0;e<a.oc.length;e++)if(a.oc[e][1]==c){d.restore(a.oc[e][2]);return}a.oc[e]=[b,c,[]]}function wk(a,b,c){var d;for(d=0;d<a.oc.length;d++)if(a.oc[d][1]==b){a.oc[d][2]=c.save();break}}k.Pn=function(a,b){b&4?this.cf&4||this.cf&8&&this.ka&&si(this.ka,6):this.ld();this.cf=b};k.zm=function(){return this.wa};
k.xm=function(){var a=0;this.wb<this.fb&&(a=this.ac[this.wb]);this.cf&8&&this.ka&&xi(this.ka,6);++this.wb>=this.fb&&(this.wa&=-81,this.wb=this.fb=0);return a};
k.On=function(a,b){this.fb<this.ac.length&&(this.ac[this.fb++]=b);var c=this.ac[0]&31;if(void 0!==pk[c]&&this.fb>=pk[c].fd){var d=!1;this.wb=0;var c=this.La(),e,f,g,h,m,n=c&31;switch(n){case 3:this.La(l.mp);this.La(l.To);this.Mb();break;case 4:f=this.La(l.df);this.bb=f&3;e=this.za[this.bb];this.Mb();this.$b((e.Ya&4278190080)>>>24,l.pp);break;case 5:case 6:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];e.Ma=d;f=e.qb=this.La(l.tj);g=this.La(l.uj);h=e.ab=this.La(l.wj);m=this.La(l.th);e.mb=128<<
m;e.wd=this.La(l.Oo);this.La(l.Fl);this.La(l.No);6==n?(n=e,n.Ya=72,n.ua&&(n.Pa=null,n.Ya=0,this.ka&&(mi(this.ka,2,this,"dmaRead",n),ii(this.ka,2)))):(n=e,n.Ya=72,n.ua&&(n.ua.Qe?n.Ya=576:(n.Pa=null,n.Ya=0,this.ka&&(mi(this.ka,2,this,"dmaWrite",n),ii(this.ka,2)))));zk(this,e,c,d,f,g,h,m);d=!0;break;case 7:f=this.La(l.df);this.bb=f&3;e=this.za[this.bb];e.qb=e.ud=0;e.Ya=268435488;this.Mb();d=!0;break;case 8:e=this.za[this.bb];e.Ma=0;this.Mb();this.$b(e.bb|e.Ma<<2|e.Ya&255,l.Hl);this.$b(e.qb,l.bp);this.bb=
this.bb+1&3;break;case 10:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];f=e.qb;g=e.Ma=d;h=e.ab=1;m=0;e.Ya=0;e.ua&&(e.Pa=e.ua.seek(e.qb,e.Ma,e.ab))?m=e.Pa.length:e.Ya=72;zk(this,e,c,d,f,g,h,m);d=!0;break;case 13:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];f=e.qb;g=e.Ma=d;h=1;m=this.La(l.th);e.mb=128<<m;e.wd=this.La(l.hp);this.La(l.Fl);e.Dj=this.La(l.El);n=e;n.Ya=72;n.ua&&(n.Pa=null,n.Ya=0,this.ka&&(n.Ke=0,n.uc=Array(4),n.Bh=!0,n.xg=0,mi(this.ka,2,this,"dmaFormat",n),ii(this.ka,
2),n.Bh=!1));zk(this,e,c,d,f,g,h,m);d=!0;break;case 15:f=this.La(l.df),this.bb=f&3,e=this.za[this.bb],e.Ma=f>>2&1,f=this.La(l.Zo),e.qb+=f-e.ud,0>e.qb&&(e.qb=0),e.qb>=e.nb&&(e.qb=e.nb-1),e.ud=f,e.Ya=32,e.qb||(e.Ya|=268435456),this.Mb(),d=!0}0<this.fb&&(this.wa|=80);this.cf&8&&(!e||e.Ya&8||!d||this.ka&&si(this.ka,6))}};k.ym=function(){var a=this.Qd;this.Qd&=-129;return a};k.Nn=function(a,b){this.pl=b};
function zk(a,b,c,d,e,f,g,h){a.Mb();a.$b(b.bb|b.Ma<<2|b.Ya&255,l.Hl);a.$b((b.Ya&65280)>>>8,l.np);a.$b((b.Ya&16711680)>>>16,l.op);var m=0;if(e!=b.qb||f!=b.Ma)m=g=1;c&128&&(f^=m,d||(m=0));a.$b(e+m,l.tj);a.$b(f,l.uj);a.$b(g,l.wj);a.$b(h,l.th)}k.La=function(){var a=this.ac[this.wb];this.wb++;return a};k.Mb=function(){this.wb=this.fb=0};k.$b=function(a){this.ac[this.fb++]=a};k.Mh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};k.Nh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};
function vk(a,b,c,d){var e=a.za[b];e.ua&&(wk(a,e.ue,e.ua),e.ul="",e.ue="",e.ua=null,e.Oe=!1,a.Qd|=128,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||qk(a,b))}function yk(a,b,c,d){var e;for(e=0;e<a.oc.length;e++)if(a.oc[e][1]==c){d.restore(a.oc[e][2]);return}a.oc[e]=[b,c,[]]}function wk(a,b,c){var d;for(d=0;d<a.oc.length;d++)if(a.oc[d][1]==b){a.oc[d][2]=c.save();break}}k.Qn=function(a,b){b&4?this.cf&4||this.cf&8&&this.ka&&si(this.ka,6):this.ld();this.cf=b};k.Am=function(){return this.wa};
k.ym=function(){var a=0;this.wb<this.fb&&(a=this.ac[this.wb]);this.cf&8&&this.ka&&xi(this.ka,6);++this.wb>=this.fb&&(this.wa&=-81,this.wb=this.fb=0);return a};
k.Pn=function(a,b){this.fb<this.ac.length&&(this.ac[this.fb++]=b);var c=this.ac[0]&31;if(void 0!==pk[c]&&this.fb>=pk[c].fd){var d=!1;this.wb=0;var c=this.La(),e,f,g,h,m,n=c&31;switch(n){case 3:this.La(l.np);this.La(l.Uo);this.Mb();break;case 4:f=this.La(l.df);this.bb=f&3;e=this.za[this.bb];this.Mb();this.$b((e.Ya&4278190080)>>>24,l.qp);break;case 5:case 6:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];e.Ma=d;f=e.qb=this.La(l.tj);g=this.La(l.uj);h=e.ab=this.La(l.wj);m=this.La(l.th);e.mb=128<<
m;e.wd=this.La(l.Po);this.La(l.Fl);this.La(l.Oo);6==n?(n=e,n.Ya=72,n.ua&&(n.Pa=null,n.Ya=0,this.ka&&(mi(this.ka,2,this,"dmaRead",n),ii(this.ka,2)))):(n=e,n.Ya=72,n.ua&&(n.ua.Qe?n.Ya=576:(n.Pa=null,n.Ya=0,this.ka&&(mi(this.ka,2,this,"dmaWrite",n),ii(this.ka,2)))));zk(this,e,c,d,f,g,h,m);d=!0;break;case 7:f=this.La(l.df);this.bb=f&3;e=this.za[this.bb];e.qb=e.ud=0;e.Ya=268435488;this.Mb();d=!0;break;case 8:e=this.za[this.bb];e.Ma=0;this.Mb();this.$b(e.bb|e.Ma<<2|e.Ya&255,l.Hl);this.$b(e.qb,l.cp);this.bb=
this.bb+1&3;break;case 10:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];f=e.qb;g=e.Ma=d;h=e.ab=1;m=0;e.Ya=0;e.ua&&(e.Pa=e.ua.seek(e.qb,e.Ma,e.ab))?m=e.Pa.length:e.Ya=72;zk(this,e,c,d,f,g,h,m);d=!0;break;case 13:f=this.La(l.df);d=f>>2&1;this.bb=f&3;e=this.za[this.bb];f=e.qb;g=e.Ma=d;h=1;m=this.La(l.th);e.mb=128<<m;e.wd=this.La(l.ip);this.La(l.Fl);e.Dj=this.La(l.El);n=e;n.Ya=72;n.ua&&(n.Pa=null,n.Ya=0,this.ka&&(n.Ke=0,n.uc=Array(4),n.Bh=!0,n.xg=0,mi(this.ka,2,this,"dmaFormat",n),ii(this.ka,
2),n.Bh=!1));zk(this,e,c,d,f,g,h,m);d=!0;break;case 15:f=this.La(l.df),this.bb=f&3,e=this.za[this.bb],e.Ma=f>>2&1,f=this.La(l.$o),e.qb+=f-e.ud,0>e.qb&&(e.qb=0),e.qb>=e.nb&&(e.qb=e.nb-1),e.ud=f,e.Ya=32,e.qb||(e.Ya|=268435456),this.Mb(),d=!0}0<this.fb&&(this.wa|=80);this.cf&8&&(!e||e.Ya&8||!d||this.ka&&si(this.ka,6))}};k.zm=function(){var a=this.Qd;this.Qd&=-129;return a};k.On=function(a,b){this.pl=b};
function zk(a,b,c,d,e,f,g,h){a.Mb();a.$b(b.bb|b.Ma<<2|b.Ya&255,l.Hl);a.$b((b.Ya&65280)>>>8,l.op);a.$b((b.Ya&16711680)>>>16,l.pp);var m=0;if(e!=b.qb||f!=b.Ma)m=g=1;c&128&&(f^=m,d||(m=0));a.$b(e+m,l.tj);a.$b(f,l.uj);a.$b(g,l.wj);a.$b(h,l.th)}k.La=function(){var a=this.ac[this.wb];this.wb++;return a};k.Mb=function(){this.wb=this.fb=0};k.$b=function(a){this.ac[this.fb++]=a};k.Mh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};k.Nh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};
k.Ol=function(a,b){return void 0!==b&&0<=b?this.qj(a,b):-1};k.Cc=function(a,b){var c=-1;if(!a.Ya&&a.ua){do{if(a.Pa&&0<=(c=nk(a.Pa,a.Ta++)))break;a.Pa=a.ua.seek(a.qb,a.Ma,a.ab);if(!a.Pa){a.Ya=1088;break}a.Ta=0;this.jf(a)}while(1)}b(c,!1)};k.Fc=function(a,b){if(a.Ya||!a.ua)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ta++,b))break;a.Pa=a.ua.seek(a.qb,a.Ma,a.ab);if(!a.Pa){a.Ya=8256;b=-1;break}a.Ta=0;this.jf(a)}while(1);return b};k.jf=function(a){a.ab++;a.ab>=a.If+1&&(a.ab=1,a.Ma++,a.Ma>=a.Hf&&(a.Ma=0,a.qb++))};
k.qj=function(a,b){if(a.Ya)return-1;a.uc[a.Ke++]=b;if(a.Ke==a.uc.length){a.qb=a.uc[0];a.Ma=a.uc[1];a.ab=a.uc[2];a.mb=128<<a.uc[3];for(var c=a.Ke=0;c<a.mb;c++)if(0>this.Fc(a,a.Dj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};var sk={1012:ok.prototype.zm,1013:ok.prototype.xm,1015:ok.prototype.ym},tk={1010:ok.prototype.Pn,1013:ok.prototype.On,1015:ok.prototype.Nn};wa(function(){for(var a=y(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new ok(d);Ma(d,c)}});
function $(a){s.call(this,"HDC",a,$);this.dmaRead=this.Mh;this.dmaWrite=this.Nh;this.dmaWriteBuffer=this.Pl;this.dmaWriteFormat=this.Ql;this.vh=[];if(a.drives)try{this.vh=eval("("+a.drives+")")}catch(b){q("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.yf=(this.ke="at"==a.type)?1:0;this.dm=this.ke?2:3}v(s,$);
var Ak=[{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]}];k=$.prototype;k.Eb=function(){return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.ka=Ra(a,"ChipSet");fb(b,this,this.ke?Bk:Ck);hb(b,this,this.ke?Dk:Ek);zc(c,19,this,this.an);zc(c,64,this,this.bn);this.reset();this.lf()||z(this)};
k.qj=function(a,b){if(a.Ya)return-1;a.uc[a.Ke++]=b;if(a.Ke==a.uc.length){a.qb=a.uc[0];a.Ma=a.uc[1];a.ab=a.uc[2];a.mb=128<<a.uc[3];for(var c=a.Ke=0;c<a.mb;c++)if(0>this.Fc(a,a.Dj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};var sk={1012:ok.prototype.Am,1013:ok.prototype.ym,1015:ok.prototype.zm},tk={1010:ok.prototype.Qn,1013:ok.prototype.Pn,1015:ok.prototype.On};wa(function(){for(var a=y(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new ok(d);Ma(d,c)}});
function $(a){s.call(this,"HDC",a,$);this.dmaRead=this.Mh;this.dmaWrite=this.Nh;this.dmaWriteBuffer=this.Pl;this.dmaWriteFormat=this.Ql;this.vh=[];if(a.drives)try{this.vh=eval("("+a.drives+")")}catch(b){q("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.yf=(this.ke="at"==a.type)?1:0;this.em=this.ke?2:3}v(s,$);
var Ak=[{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]}];k=$.prototype;k.Eb=function(){return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.ka=Ra(a,"ChipSet");fb(b,this,this.ke?Bk:Ck);hb(b,this,this.ke?Dk:Ek);zc(c,19,this,this.bn);zc(c,64,this,this.cn);this.reset();this.lf()||z(this)};
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.ld(),this.Oa.Uh&&this.lf(!0);else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.Re=function(){return this.Oa?this.Oa.Re():""};k.Fd=function(){return this.Oa?this.Oa.Fd():""};k.reset=function(){this.ld(null,!0)};k.save=function(){var a=new I(this);a.set(0,this.kj());return a.data()};k.restore=function(a){return this.ld(a[0])};
k.ld=function(a,b){var c=0,d=!0;if(this.ke)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Pd=a[c++],this.tl=a[c++],this.Rd=a[c++],this.jh=a[c++],this.hh=a[c++],this.gh=a[c++],this.bf=a[c++],this.wa=a[c++],this.ij=a[c++],this.ih=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Vf=a[c++];this.wa=a[c++];this.ac=a[c++];this.wb=a[c++];this.fb=a[c++];this.sl=a[c++];this.rl=a[c++];this.ql=a[c++];var e=a[c++];void 0!==e?this.Se=e:void 0===this.Se&&(this.Se=-1)}void 0===this.za&&(this.za=Array(this.vh.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.za.length;e++){void 0===this.za[e]&&(this.za[e]={});var f=this.za[e];this.ei(e,f,this.vh[e],c[e],b)||(d=!1);null!=this.Vf&&1>=e&&(this.Vf|=(f.type&3)<<(1-e<<1))}return d};
k.kj=function(){var a=0,b=[];this.ke?(b[a++]=this.Pd,b[a++]=this.tl,b[a++]=this.Rd,b[a++]=this.jh,b[a++]=this.hh,b[a++]=this.gh,b[a++]=this.bf,b[a++]=this.wa,b[a++]=this.ij,b[a++]=this.ih):(b[a++]=this.Vf,b[a++]=this.wa,b[a++]=this.ac,b[a++]=this.wb,b[a++]=this.fb,b[a++]=this.sl,b[a++]=this.rl,b[a++]=this.ql,b[a++]=this.Se);b[a]=this.mj();return b};
k.ei=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.bb=a;b.errorCode=d[f++];b.yl=d[f++];b.Pe=d[f++];b.De=d[f++];b.Ee=d[f++];b.Ma=d[f++];b.ob=d[f++];b.Vd=d[f++];b.ab=d[f++];b.wd=d[f++];b.mb=d[f++];b.ug=this.ke?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Fd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Ak[this.yf][b.type])b.type=this.dm;c=Ak[this.yf][b.type];
k.ei=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.bb=a;b.errorCode=d[f++];b.yl=d[f++];b.Pe=d[f++];b.De=d[f++];b.Ee=d[f++];b.Ma=d[f++];b.ob=d[f++];b.Vd=d[f++];b.ab=d[f++];b.wd=d[f++];b.mb=d[f++];b.ug=this.ke?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Fd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Ak[this.yf][b.type])b.type=this.em;c=Ak[this.yf][b.type];
b.ub=c[2]||17;b.cb=c[3]||512;if(e&&this.ka&&(e=this.ka,c=b.type,e.ja)){var h=e.ja[18],h=a?h&240|c:h&15|c<<4;e.ja&&(e.ja[18]=h,Sh(e))}void 0===b.ua&&(b.ua=null,this.Aa("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Fk(this,b);b.Ta=d[f++];b.Pa=null;b.ua&&(a=d[f],void 0!==a&&0>b.ua.restore(a)&&(g=!1),g&&void 0!==b.Ta&&(b.Pa=b.ua.seek(b.Vd,b.Ma,b.ab+b.ug)));return g};k.mj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.lj(this.za[c]);return b};
k.lj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.yl;c[b++]=a.Pe;c[b++]=a.De;c[b++]=a.Ee;c[b++]=a.Ma;c[b++]=a.ob;c[b++]=a.Vd;c[b++]=a.ab;c[b++]=a.wd;c[b++]=a.mb;c[b++]=a.Ta;c[b]=a.ua?a.ua.save():null;return c};
function Fk(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.De[2])?e=b.De[0]<<8|b.De[1]:c=b.type);null==c||d||(d=Ak[a.yf][c][1],e=Ak[a.yf][c][0]);d&&((c=Ak[a.yf][b.type])&&e!=c[0]&&d!=c[1]&&a.Aa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.nb=e,b.ob=d,null==b.ua&&(b.ua=new ek(a,b,b.mode)))}}
k.lf=function(a){a||(this.de=0);for(var b=0;b<this.za.length;b++){var c=this.za[b];if(c.name&&c.path){if(!(a&&c.ua&&c.ua.Ig)){var d;d=c.name;var c=c.path,e=this.za[b];e.zc?(this.Aa("Drive "+b+" busy"),d=!0):(e.zc=!0,e.le=!0,this.de++,(e.ua||new ek(this,e,e.mode)).load(d,c,null,this.Sl),d=!1);!d&&a&&z(this,!1)}}else a&&void 0!==c.type&&(c.ua=null,Fk(this,c,c.type))}return!!this.de};
k.Sl=function(a,b,c){a.zc=!1;(a.ua=b)&&this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.bb),a.le);a.le&&(a.le=!1,--this.de||z(this))};k.Zm=function(){var a=0;this.wb<this.fb&&(a=this.ac[this.wb]);this.ka&&xi(this.ka,5);this.wa&=-33;++this.wb>=this.fb&&(this.wb=this.fb=0,this.wa&=-15);return a};k.mo=function(a,b){this.fb<this.ac.length&&(this.ac[this.fb++]=b);var c=12!=this.ac[0]?6:this.ac.length;6==this.fb&&(this.wa&=-2);this.fb>=c&&(this.wa|=2,this.wa&=-2,Gk(this))};
k.$m=function(){var a=this.wa;this.wb<this.fb&&(this.wa|=1);return a};k.po=function(a,b){this.sl=b;this.ka&&xi(this.ka,5);this.ld()};k.Ym=function(){return this.Vf};k.oo=function(a,b){this.rl=b;this.wa=13};k.no=function(a,b){this.ql=b};k.dj=function(){};
k.km=function(){var a=-1;if(this.Na&&(a=this.Cc(this.Na),1!=this.Na.Ta&&this.Na.Ta==this.Na.cb))if(this.Na.mb-=this.Na.cb,this.Rd=this.Rd-1&255,this.Na.mb>=this.Na.cb){var b=this;b.wa=136;this.Cc(this.Na,function(a){0<=a?(Hk(b),b.wa=80):(b.wa=1,b.Pd=16)},!1)}else this.wa=80;return a};
k.zn=function(a,b){this.Na&&this.Na.mb>=this.Na.cb&&(0>this.Fc(this.Na,b)?(this.wa=1,this.Pd=16):1!=this.Na.Ta&&this.Na.Ta==this.Na.cb&&(this.Na.mb-=this.Na.cb,this.Rd=this.Rd-1&255,Hk(this),this.wa=80,this.Na.mb>=this.Na.cb&&(this.wa|=8)))};k.mm=function(){return this.Pd};k.En=function(a,b){this.tl=b};k.nm=function(){return this.Rd};k.Cn=function(a,b){this.Rd=b};k.om=function(){return this.jh};k.Dn=function(a,b){this.jh=b};k.jm=function(){return this.hh};k.yn=function(a,b){this.hh=b};k.im=function(){return this.gh};
k.xn=function(a,b){this.gh=b};k.lm=function(){return this.bf};k.An=function(a,b){this.bf=b;this.wa=this.za[this.bf&16?1:0]?this.wa|64:this.wa&-65};k.pm=function(){return this.wa};k.wn=function(a,b){this.ij=b;this.ka&&xi(this.ka,14);Ik(this)};k.Bn=function(a,b){this.ih&4&&!(b&4)&&(this.Pd=1);this.ih=b};
k.Sl=function(a,b,c){a.zc=!1;(a.ua=b)&&this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.bb),a.le);a.le&&(a.le=!1,--this.de||z(this))};k.$m=function(){var a=0;this.wb<this.fb&&(a=this.ac[this.wb]);this.ka&&xi(this.ka,5);this.wa&=-33;++this.wb>=this.fb&&(this.wb=this.fb=0,this.wa&=-15);return a};k.no=function(a,b){this.fb<this.ac.length&&(this.ac[this.fb++]=b);var c=12!=this.ac[0]?6:this.ac.length;6==this.fb&&(this.wa&=-2);this.fb>=c&&(this.wa|=2,this.wa&=-2,Gk(this))};
k.an=function(){var a=this.wa;this.wb<this.fb&&(this.wa|=1);return a};k.qo=function(a,b){this.sl=b;this.ka&&xi(this.ka,5);this.ld()};k.Zm=function(){return this.Vf};k.po=function(a,b){this.rl=b;this.wa=13};k.oo=function(a,b){this.ql=b};k.dj=function(){};
k.lm=function(){var a=-1;if(this.Na&&(a=this.Cc(this.Na),1!=this.Na.Ta&&this.Na.Ta==this.Na.cb))if(this.Na.mb-=this.Na.cb,this.Rd=this.Rd-1&255,this.Na.mb>=this.Na.cb){var b=this;b.wa=136;this.Cc(this.Na,function(a){0<=a?(Hk(b),b.wa=80):(b.wa=1,b.Pd=16)},!1)}else this.wa=80;return a};
k.An=function(a,b){this.Na&&this.Na.mb>=this.Na.cb&&(0>this.Fc(this.Na,b)?(this.wa=1,this.Pd=16):1!=this.Na.Ta&&this.Na.Ta==this.Na.cb&&(this.Na.mb-=this.Na.cb,this.Rd=this.Rd-1&255,Hk(this),this.wa=80,this.Na.mb>=this.Na.cb&&(this.wa|=8)))};k.nm=function(){return this.Pd};k.Fn=function(a,b){this.tl=b};k.om=function(){return this.Rd};k.Dn=function(a,b){this.Rd=b};k.pm=function(){return this.jh};k.En=function(a,b){this.jh=b};k.km=function(){return this.hh};k.zn=function(a,b){this.hh=b};k.jm=function(){return this.gh};
k.yn=function(a,b){this.gh=b};k.mm=function(){return this.bf};k.Bn=function(a,b){this.bf=b;this.wa=this.za[this.bf&16?1:0]?this.wa|64:this.wa&-65};k.qm=function(){return this.wa};k.xn=function(a,b){this.ij=b;this.ka&&xi(this.ka,14);Ik(this)};k.Cn=function(a,b){this.ih&4&&!(b&4)&&(this.Pd=1);this.ih=b};
function Ik(a){var b=!1,c=a.ij,d=a.bf&16?1:0,e=a.bf&15,f=a.hh|(a.gh&3)<<8,g=a.jh,h=a.Rd||256;a.Na=null;a.Pd=0;a.wa=80;(d=a.za[d])?(d.Vd=f,d.Ma=e,d.ab=g,d.mb=h*d.cb,c=144<=c?c:c&240,d.Pa=null,d.Ta=0,d.errorCode=0,a.Na=d):c=-1;switch(c&240){case 32:a.wa=136;a.Cc(d,function(b){0<=b&&a.ka?(Hk(a),a.wa=80):(a.wa=1,a.Pd=16)},!1);break;case 48:a.wa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Pd=1;b=!0;break;case 145:d.ob=e+1,d.ub=h,b=!0}b&&Hk(a)}
function Hk(a){!a.ka||a.ih&2||si(a.ka,14,120)}
function Gk(a){a.wb=0;var b=a.La(),c=a.La(),d=c&32,e=d>>5,f=c&31,g=a.La(),h=a.La(),m=g<<2&768|h,n=g&63,r=a.La(),t=a.La(),u=a.za[e];u&&(u.Vd=m,u.Ma=f,u.ab=n,u.mb=r*u.cb);switch(b){case 3:a.Mb(u?u.errorCode:4);a.$b(c);a.$b(g);a.$b(h);a.$b(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.La());)u&&c<u.De.length&&(u.De[c++]=b);u&&Fk(a,u);b=0;u||a.Se!=e||(a.Se=-1,b=2);a.Mb(b|d);b=-1;break;case 224:case 228:a.Mb(0|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=0,u.yl=0),b){case 0:a.Mb(0|d);break;case 1:u.Ep=
function Gk(a){a.wb=0;var b=a.La(),c=a.La(),d=c&32,e=d>>5,f=c&31,g=a.La(),h=a.La(),m=g<<2&768|h,n=g&63,r=a.La(),t=a.La(),u=a.za[e];u&&(u.Vd=m,u.Ma=f,u.ab=n,u.mb=r*u.cb);switch(b){case 3:a.Mb(u?u.errorCode:4);a.$b(c);a.$b(g);a.$b(h);a.$b(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.La());)u&&c<u.De.length&&(u.De[c++]=b);u&&Fk(a,u);b=0;u||a.Se!=e||(a.Se=-1,b=2);a.Mb(b|d);b=-1;break;case 224:case 228:a.Mb(0|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=0,u.yl=0),b){case 0:a.Mb(0|d);break;case 1:u.Fp=
t;a.Mb(0|d);break;case 5:a.Mb(0|d);break;case 8:Jk(a,u,function(b){a.Mb(b|d)});break;case 10:Kk(a,u,function(b){a.Mb(b|d)});break;case 15:Nk(a,u,function(b){a.Mb(b|d)});break;default:a.Mb(2|d)}}k.La=function(){var a=-1;this.wb<this.fb&&(a=this.ac[this.wb++]);return a};k.Mb=function(a){this.wb=this.fb=0;void 0!==a&&this.$b(a);this.ka&&si(this.ka,5);this.wa|=32};k.$b=function(a){this.ac[this.fb++]=a};k.Mh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};
k.Nh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.Pl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ta<a.Ee.length?a.Ee[a.Ta++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Ql=function(a,b){return void 0!==b&&0<=b?this.qj(a,b):-1};function Jk(a,b,c){b.errorCode=4;if(b.ua&&(b.Pa=null,a.ka)){b.errorCode=0;mi(a.ka,3,a,"dmaRead",b);ii(a.ka,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function Kk(a,b,c){b.errorCode=4;if(b.ua&&(b.Pa=null,a.ka)){b.errorCode=0;mi(a.ka,3,a,"dmaWrite",b);ii(a.ka,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 Nk(a,b,c){b.errorCode=4;b.Ee&&b.Ee.length==b.mb||(b.Ee=Array(b.mb));b.Ta=0;a.ka?(b.errorCode=0,mi(a.ka,3,a,"dmaWriteBuffer",b),ii(a.ka,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Cc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Pa&&(d=nk(a.Pa,a.Ta),a.Ta+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.ua)return a.ua.seek(a.Vd,a.Ma,a.ab+a.ug,!1,function(c,h){(a.Pa=c)?(a.Ta=0,f.jf(a),d=nk(a.Pa,a.Ta),a.Ta+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
k.Fc=function(a,b){if(a.errorCode)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ta++,b))break;a.ua&&a.ua.seek(a.Vd,a.Ma,a.ab+a.ug,!0,function(b){a.Pa=b});if(!a.Pa){a.errorCode=20;b=-1;break}a.Ta=0;this.jf(a)}while(1);return b};k.jf=function(a){a.ab++;var b=1-a.ug;a.ab>=a.ub+b&&(a.ab=b,a.Ma++,a.Ma>=a.ob&&(a.Ma=0,a.Vd++))};
k.qj=function(a,b){if(a.errorCode)return-1;a.uc[a.Ke++]=b;if(a.Ke==a.uc.length){a.Vd=a.uc[0];a.Ma=a.uc[1];a.ab=a.uc[2];a.mb=128<<a.uc[3];for(var c=a.Ke=0;c<a.mb;c++)if(0>this.Fc(a,a.Dj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};k.an=function(){var a=this.la.K&255;!(this.la.H>>8)&&128<a&&(this.Se=a-128);return!0};k.bn=function(){var a;(a=this.la.H>>8)||(a=!this.ka)||(a=!(this.ka.Tb[0].Qc&64));return a?!0:!1};
var Ck={800:$.prototype.Zm,801:$.prototype.$m,802:$.prototype.Ym},Bk={496:$.prototype.km,497:$.prototype.mm,498:$.prototype.nm,499:$.prototype.om,500:$.prototype.jm,501:$.prototype.im,502:$.prototype.lm,503:$.prototype.pm},Ek={800:$.prototype.mo,801:$.prototype.po,802:$.prototype.oo,803:$.prototype.no,807:$.prototype.dj,811:$.prototype.dj,815:$.prototype.dj},Dk={496:$.prototype.zn,497:$.prototype.En,498:$.prototype.Cn,499:$.prototype.Dn,500:$.prototype.yn,501:$.prototype.xn,502:$.prototype.An,503:$.prototype.wn,
1014:$.prototype.Bn};wa(function(){for(var a=y(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new $(d);Ma(d,c)}});var ve=1,ue=32,dj=128,cj=32768,Mi=4194304,te=536870912;function I(a,b,c){this.id=a.id;this.key=Ok(a,b,c);this.Sa=a.Sa;Pk(this,a.qo)}function Ok(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}
k.qj=function(a,b){if(a.errorCode)return-1;a.uc[a.Ke++]=b;if(a.Ke==a.uc.length){a.Vd=a.uc[0];a.Ma=a.uc[1];a.ab=a.uc[2];a.mb=128<<a.uc[3];for(var c=a.Ke=0;c<a.mb;c++)if(0>this.Fc(a,a.Dj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};k.bn=function(){var a=this.la.K&255;!(this.la.H>>8)&&128<a&&(this.Se=a-128);return!0};k.cn=function(){var a;(a=this.la.H>>8)||(a=!this.ka)||(a=!(this.ka.Tb[0].Qc&64));return a?!0:!1};
var Ck={800:$.prototype.$m,801:$.prototype.an,802:$.prototype.Zm},Bk={496:$.prototype.lm,497:$.prototype.nm,498:$.prototype.om,499:$.prototype.pm,500:$.prototype.km,501:$.prototype.jm,502:$.prototype.mm,503:$.prototype.qm},Ek={800:$.prototype.no,801:$.prototype.qo,802:$.prototype.po,803:$.prototype.oo,807:$.prototype.dj,811:$.prototype.dj,815:$.prototype.dj},Dk={496:$.prototype.An,497:$.prototype.Fn,498:$.prototype.Dn,499:$.prototype.En,500:$.prototype.zn,501:$.prototype.yn,502:$.prototype.Bn,503:$.prototype.xn,
1014:$.prototype.Cn};wa(function(){for(var a=y(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new $(d);Ma(d,c)}});var ve=1,ue=32,dj=128,cj=32768,Mi=4194304,te=536870912;function I(a,b,c){this.id=a.id;this.key=Ok(a,b,c);this.Sa=a.Sa;Pk(this,a.ro)}function Ok(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}
I.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Th=!0):this.Th?!0:oa()&&(a=pa(this.key))?(this[this.id]=a,this.Th=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){q(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){Pk(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(f){}b.splice(c,1);c=0}},dc:function(){}};function Pk(a,b){a[a.id]={};b&&a.set("parms",b);a.Th=!1}
function Qk(a){var b=!0;if(oa()){var c=JSON.stringify(a[a.id]);qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function Rk(a,b,c){s.call(this,"Computer",a,Rk);this.ma.Nb=!1;this.zf=a.buswidth;this.Dc=Sk;this.Yf=null;this.Kg=!1;this.url=b?b.url:null;this.yo=(Math.random()+0.1).toString(36).substr(2,12);this.Ec=Tk(this);if(this.la=La("CPU",this.id)){this.Sa=La("Debugger",this.id);this.qa=new Ta({id:this.ck+".bus",buswidth:this.zf},this.la,this.Sa);var d,e=Ja(this.id);if((this.Uf=La("Panel",this.id))&&this.Uf.Jh)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.Uf.Aa,d.gc=this.Uf.gc,d.Jh=this.Uf.Jh;for(b=0;b<e.length;b++)d=
e[b],d.sc&&d.sc(this,this.qa,this.la,this.Sa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.mh=d:this.Dc=parseInt(d,10));var f;if(a=Ea&&Ea.state||(f=!0,a.state))b=this.wl=a,f||(this.Kg=!0,this.Dc=Sk),this.Dc&&(this.ph=new I(this,"1.16.3"),this.ph.load()?b=null:delete this.ph);!b&&this.Dc&&(f=null,this.Ec&&(f=la()+"/api/v1/user?req=load&user="+this.Ec+"&state="+Ok(this,"1.16.3")),b=f)&&(this.Kg=!0);b?ka(b,!0,null,this,this.qn):z(this);c||Uk(this,this.eh)}else q("Unable to find CPU component")}
v(s,Rk);var Sk=0;k=Rk.prototype;k.Re=function(){return this.yo};k.Fd=function(){return this.Ec?this.Ec:""};k.qn=function(a,b,c){c?(this.mh=null,this.Kg=!1,this.Aa("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Yf=b;z(this)};function Uk(a,b,c){for(var d=Ja(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Oa(f)){Oa(f,function(){Uk(a,b,c)});return}}b.call(a,c)}
function Rk(a,b,c){s.call(this,"Computer",a,Rk);this.ma.Nb=!1;this.zf=a.buswidth;this.Dc=Sk;this.Yf=null;this.Kg=!1;this.url=b?b.url:null;this.zo=(Math.random()+0.1).toString(36).substr(2,12);this.Ec=Tk(this);if(this.la=La("CPU",this.id)){this.Sa=La("Debugger",this.id);this.qa=new Ta({id:this.ck+".bus",buswidth:this.zf},this.la,this.Sa);var d,e=Ja(this.id);if((this.Uf=La("Panel",this.id))&&this.Uf.Jh)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.Uf.Aa,d.gc=this.Uf.gc,d.Jh=this.Uf.Jh;for(b=0;b<e.length;b++)d=
e[b],d.sc&&d.sc(this,this.qa,this.la,this.Sa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.mh=d:this.Dc=parseInt(d,10));var f;if(a=Ea&&Ea.state||(f=!0,a.state))b=this.wl=a,f||(this.Kg=!0,this.Dc=Sk),this.Dc&&(this.ph=new I(this,"1.16.3"),this.ph.load()?b=null:delete this.ph);!b&&this.Dc&&(f=null,this.Ec&&(f=la()+"/api/v1/user?req=load&user="+this.Ec+"&state="+Ok(this,"1.16.3")),b=f)&&(this.Kg=!0);b?ka(b,!0,null,this,this.rn):z(this);c||Uk(this,this.eh)}else q("Unable to find CPU component")}
v(s,Rk);var Sk=0;k=Rk.prototype;k.Re=function(){return this.zo};k.Fd=function(){return this.Ec?this.Ec:""};k.rn=function(a,b,c){c?(this.mh=null,this.Kg=!1,this.Aa("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Yf=b;z(this)};function Uk(a,b,c){for(var d=Ja(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Oa(f)){Oa(f,function(){Uk(a,b,c)});return}}b.call(a,c)}
function Vk(a,b){var c=new I(a,"1.16.3","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.eh=function(a){void 0===a&&(a=this.Dc||(this.Yf?1:Sk));var b=!1,c=!1;this.Wj=!1;var d=this.ph||new I(this,"1.16.3");if(-1==a)b=!0;else if(a>Sk){if(d.load(this.Yf)){this.we=new I(this,"1.16.3","failsafe");this.we.load()&&(Wk(this,d),a=2,Pk(this.we));this.we.set("timestamp",ia());Qk(this.we);var e=this.Dc&&!this.Kg;if(1==a||ma("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Aa("Error: "+g),"unable to verify user"==g&&(qa("user",""),this.Ec=null)):this.gc(f+": "+g),Pk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Vk(this,c?d:null)}else 2==a&&d.clear()}else Vk(this);delete this.Yf;delete this.ph}e=Ja(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.la&&(c=Xk(this,g,d,b,c));b=[d,a,c];-1!=a?Uk(this,this.Oj,b):this.Oj(b)};