v1.16.3 refinements continue

Keyboard handling in JavaScript is a nightmare; mapping physical keyboard events to simulated keyboard events is a nightmare within a nightmare
This commit is contained in:
Jeff Parsons 2014-12-11 00:46:12 -08:00 • committed by jeffpar
commit 16aca36dbf
6 changed files with 1778 additions and 1692 deletions

View file

@ -6,97 +6,97 @@ 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.Jj=b.comment;this.oo=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.ak=this.id.substr(0,b),this.ci=this.id.substr(b+1)):this.ci=this.id;this[a]=c;this.ma={Ig:!1,zc:!1,Nh:!1,Mb:!1,Sc:!1};this.Yh=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.Kj=b.comment;this.po=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.bk=this.id.substr(0,b),this.ci=this.id.substr(b+1)):this.ci=this.id;this[a]=c;this.ma={Ig:!1,zc:!1,Nh:!1,Nb:!1,Sc:!1};this.Yh=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);
function Ma(a,b){for(var c=y(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h)for(var m=h.split(" "),n=0;n<m.length;n++)switch(h=m[n],h){case "pcjs-binding":(h=w(g))&&h.binding&&a.Eb(h.type,h.binding,g),n=m.length}}}}
function y(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
s.prototype={toString:function(){return this.name?this.name:this.id||this.type},Eb:function(a,b,c){switch(b){case "clear":return this.ra[b]||(this.ra[b]=c,c.onclick=function(a){return function(){a.ra.print&&(a.ra.print.value="")}}(this)),!0;case "print":return this.ra[b]||(this.Hh=this.ra[b]=c,c.value="",this.fc=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.Aa=function(a,
b,c){this.fc(a,"notice",c)}),!0;default:return!1}},log:function(){},fc:function(){},status:function(a){this.fc(this.ci+": "+a)},Aa:function(a,b){b||q(a)},Yb:function(){return this.ma.Mb=!0},Xb:function(a,b){b&&(this.ma.Mb=!1);return!0},cc:function(){return!1}};function Na(a,b){if(a.ma.Nh)return a.ma.zc&&(a.ma.zc=!1),a.ma.Nh=!1;if(a.ma.Sc)return a.fc(a.toString()+" error"),!1;a.ma.zc=b;return a.ma.zc}
s.prototype={toString:function(){return this.name?this.name:this.id||this.type},Eb:function(a,b,c){switch(b){case "clear":return this.ra[b]||(this.ra[b]=c,c.onclick=function(a){return function(){a.ra.print&&(a.ra.print.value="")}}(this)),!0;case "print":return this.ra[b]||(this.Hh=this.ra[b]=c,c.value="",this.gc=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.Aa=function(a,
b,c){this.gc(a,"notice",c)}),!0;default:return!1}},log:function(){},gc:function(){},status:function(a){this.gc(this.ci+": "+a)},Aa:function(a,b){b||q(a)},Zb:function(){return this.ma.Nb=!0},Yb:function(a,b){b&&(this.ma.Nb=!1);return!0},dc:function(){return!1}};function Na(a,b){if(a.ma.Nh)return a.ma.zc&&(a.ma.zc=!1),a.ma.Nh=!1;if(a.ma.Sc)return a.gc(a.toString()+" error"),!1;a.ma.zc=b;return a.ma.zc}
function z(a,b){if(!a.ma.Sc&&(a.ma.Ig=!1!==b,a.ma.Ig)){a.name&&a.log("ready");var c=a.Yh;a.Yh=null;c&&c()}}function Oa(a,b){b&&(a.ma.Ig?b():a.Yh=b);return a.ma.Ig}function Pa(a,b){a.ma.Sc=!0;a.Aa("Fatal error: "+b)}function Qa(a){s.call(this,"Panel",a,Qa)}v(s,Qa);Qa.prototype.Eb=function(a,b,c){return this.Oa&&this.Oa.Eb(a,b,c)||this.la&&this.la.Eb(a,b,c)||this.Ka&&this.Ka.Eb(a,b,c)?!0:s.prototype.Eb.call(this,a,b,c)};Qa.prototype.sc=function(a,b,c,d){this.Oa=a;this.la=c;this.Sa=d;this.Ka=Ra(a,"Keyboard")};
Qa.prototype.Yb=function(a,b){b||Sa();return!0};Qa.prototype.Xb=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.yf=a.buswidth||20;this.wh=this.ad=(1<<this.yf)-1;this.Ub=20>=this.yf?12:14;this.xc=1<<this.Ub;this.Hj=this.xc>>2;this.sb=this.xc-1;this.ug=(this.wh+this.xc)/this.xc|0;this.be=this.ug-1;this.fg=[];this.gg=[];this.ei();z(this)}v(s,Ta);Ta.prototype.ei=function(){this.Da=Array(this.ug);for(var a=0;a<this.ug;a++)this.Da[a]=new Ua(a*this.xc);this.la.ei(this.Da,this.wh,this.Ub,this.sb,this.be);this.la.Xd=this.ad};
Ta.prototype.reset=function(){Va(this,!0)};Ta.prototype.Yb=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.Ub;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.yf){var c=a.ad&-1048577|(b?1048576:0);c!=a.ad&&(a.ad=c,a.la&&(a.la.Xd=c))}}
Ta.prototype.lh=function(a,b,c){if(!(a&this.sb||!b||b&this.sb)){for(var d=a>>this.Ub;0<b;){var e=this.Da[d];if(!e.ea)return Xa(5,a,b);e.ue(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.Ub;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.ad)>>a.Ub].gj(b&a.sb)}function bb(a,b){var c=b&a.sb,d=(b&a.ad)>>a.Ub;return c!=a.sb?a.Da[d].ro(c):a.Da[d++].gj(c)|a.Da[d&a.be].gj(0)<<8}
function cb(a,b,c){a.Da[(b&a.ad)>>a.Ub].oj(b&a.sb,c&255)}function db(a,b,c){var d=b&a.sb;b=(b&a.ad)>>a.Ub;d!=a.sb?a.Da[b].Do(d,c&65535):(a.Da[b++].oj(d,c&255),a.Da[b&a.be].oj(0,c>>8&255))}function eb(a){for(var b=0,c=[],d=0;d<a.ug;d++){var e=a.Da[d];if(e.kb||e.Nj){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.wh==a.ad;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.fg[n]?q("Input port "+p(n,4)+" registered by "+f.fg[n][0].id+", ignoring "+h.id):f.fg[n]=[h,m,!1,!1]}}function gb(a,b,c){var d=255;a=a.fg[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.gg[n]?q("Output port "+p(n,4)+" registered by "+f.gg[n][0].id+", ignoring "+h.id):f.gg[n]=[h,m,!1,!1]}}function ib(a,b,c,d){a=a.gg[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.Kl=b||0;this.pa=null;this.offset=0;this.Tj=c;this.ea=null;this.kb=this.Nj=!1;if(b)if(d)this.ea=d,a=[d.Yd,a-d.Ua],this.pa=a[0],this.offset=a[1],this.ue(d.kf);else{this.pa=Array(b>>2);for(d=0;d<this.pa.length;d++)this.pa[d]=0;this.ue(jb)}else this.ue()}
Ua.prototype={dh:function(){return 0},ph:function(){},po:function(a){return this.pa[a>>2]>>>((a&3)<<3)&255},so: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},Bo:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<<d)|b<<d;this.kb=!0},Eo: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.kb=!0},save:function(){return this.ea?
null:this.pa},restore:function(a){return this.ea?null==a:a&&this.Kl==a.length<<2?(this.pa=a,this.kb=!0):!1},ue:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cc=c[0]?c[0]:this.dh;this.qo=c[1]?c[1]:this.dh;b&&(this.gj=c[0]?c[0]:this.dh,this.ro=c[1]?c[1]:this.dh);c=a;this.Fc=c[2]&&!this.Tj?c[2]:this.ph;this.Co=c[3]&&!this.Tj?c[3]:this.ph;b&&(this.oj=c[2]?c[2]:this.ph,this.Do=c[3]?c[3]:this.ph)}};var jb=[Ua.prototype.po,Ua.prototype.so,Ua.prototype.Bo,Ua.prototype.Eo];
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.Id=d;this.ba.Og=Math.round(this.ba.Vc/1E4)/100;this.ba.Ve=this.ba.Og*this.ba.Id;this.ma.Mb=!1;this.ma.Fb=!1;this.ma.Wj=!1;this.ma.Mh=a.autoStart;this.ma.Oj=!1;c=Ea.autostart;void 0!==c&&(this.ma.Mh="true"==c?!0:"false"==c?!1:null);this.ma.Dg=!1;this.ba.Sg=this.ba.Xe=0;this.ba.Tg=a.csStart;this.ba.zf=a.csInterval;this.ba.Af=a.csStop;var e=this;this.pn=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.nd=function(){e.nd()});this.ka=Ra(a,"ChipSet");z(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Yb=function(a,b){if(!b){if(a&&this.restore){nb(this);if(!this.restore(a))return!1;ob(this)}else this.reset();this.fc("No debugger detected")}this.ma.Mb=!0;!pb(this)&&this.Sa&&this.Sa.Xp();this.uf();this.Le();return!0};
k.Xb=function(a){this.ma.Mb=!1;return a&&this.save?this.save():!0};function pb(a){return!0===a.ma.Mh||null===a.ma.Mh&&void 0===a.ra.run?(lb(a),!0):!1}k.nd=function(){};k.Yj=function(){return 0};function ob(a){void 0===a.ba.Tg&&(a.ba.Tg=0);void 0===a.ba.zf&&(a.ba.zf=-1);void 0===a.ba.Af&&(a.ba.Af=-1);a.ma.Dg=0<=a.ba.Tg&&0<a.ba.zf;a.ma.Dg&&(a.ba.Sg=0,a.ba.Xe=a.ba.Tg-a.re)}
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.Oj?p(c,d):"----".substr(0,d),a.ra[b].textContent!=c&&(a.ra[b].textContent=c))}k.Le=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.Id<<1,!0)},c.textContent=this.ba.Ve.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.re+=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.Id&&a.ba.Gd&&(d=a.ba.Gd/a.ba.Og);a.ba.ek=Math.round(1E3/30);a.ba.jn=Math.floor(a.ba.Vc/c*d);a.ba.li=Math.floor(a.ba.Vc/30*d);a.ba.ik=Math.floor(a.ba.Vc/60*d);a.ba.hk=Math.floor(a.ba.Vc/2*d);b||(a.ba.Df=a.ba.li,a.ba.Cf=a.ba.ik,a.ba.Bf=a.ba.hk);a.ba.mi=0}function B(a,b){var c=a.re+a.Md+a.Uc-a.A;b&&1<a.ba.Id&&a.ba.Gd>a.ba.Og&&(c=Math.round(c/a.ba.Id));return c}function nb(a){a.ba.Gd=0;a.re=a.Md=a.Uc=a.A=0;ob(a);sb(a,1)}
function sb(a,b,c){if(void 0!==b){0.8>a.ba.Gd/a.ba.Ve&&(b=1);a.ba.Id=b;b=a.ba.Og*a.ba.Id;if(a.ba.Ve!=b){a.ba.Ve=b;b=a.ba.Ve.toFixed(2)+"Mhz";var d=a.ra.setSpeed;d&&(d.textContent=b);a.fc("target speed: "+b)}c&&a.nd()}ub(a,a.Md);a.Md=0;a.ba.We=ha();a.ba.oe=0;vb(a)}
function lb(a,b){if(Na(a,!0)){if(!a.ma.Fb){sb(a);a.Oa&&a.Oa.start(a.ba.We,B(a));a.ma.Fb=!0;a.ma.Wj=!0;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Halt");a.Le(!0);b&&a.nd()}a.ba.mi>=a.ba.Vc&&vb(a,!0);a.ba.Ef=0;a.ba.Qg=ha();a.ba.oe&&(c=a.ba.Qg-a.ba.oe,c>a.ba.ek&&(a.ba.We+=c,a.ba.We>a.ba.Qg&&(a.ba.We=a.ba.Qg)));try{do{var d=a.ma.Dg?1:a.ba.jn;if(a.ka){xb(a.ka);var e=a.ka,c=d,f=e.Ib[0];if(f.le){var g=(B(e.la,e.Dd)-f.ld)/e.$g|0,h=yb(e,0)-g;6==f.mode&&(h-=g);var m=h*e.$g|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.Ze-B(n.la,n.Dd);0<r&&c>r&&(c=r)}d=c}a.xl(d);var t=a.Uc-a.A;a.Md+=t;a.ba.Ef+=t;ub(a,0,!0);var c=a,u=t;if(c.ma.Dg){var x=!1;c.ba.Sg=c.ba.Sg+c.Yj()|0;c.ba.Xe-=u;0>=c.ba.Xe&&(c.ba.Xe+=c.ba.zf,x=!0);0<=c.ba.Af&&c.ba.Af<=B(c)&&(c.ba.zf=c.ba.Af=-1,ob(c),qb(c),x=!0);x&&c.fc(B(c)+" cycles: checksum="+p(c.ba.Sg))}a.ba.Cf-=t;0>=a.ba.Cf&&(a.ba.Cf+=a.ba.ik,a.uf());a.ba.Bf-=t;0>=a.ba.Bf&&(a.ba.Bf+=a.ba.hk,a.Le());a.ba.Df-=t;if(0>=a.ba.Df){a.ba.Df+=a.ba.li;break}}while(a.ma.Fb)}catch(E){qb(a);
a.uf();a.Le();a.Oa&&a.Oa.stop(ha(),B(a));Na(a,!1);Pa(a,E.message);return}d=setTimeout;e=a.pn;a.ba.oe=ha();f=a.ba.ek;a.ba.Ef&&(f=Math.round(f*a.ba.Ef/a.ba.li));f-=a.ba.oe-a.ba.Qg;if(g=a.ba.oe-a.ba.We)a.ba.Gd=Math.round(a.Md/(10*g))/100,864E5<=g&&(a.re=0,a.ka&&xb(a.ka,!0),sb(a));if(0>f||a.ba.Gd<a.ba.Ve)f=0;a.ba.mi+=a.ba.Ef;a.ba.oe+=f;d(e,f)}else a.uf(),a.Le(),a.Oa&&a.Oa.stop(ha(),B(a))}k.xl=function(){return 0};
function qb(a,b){a.ma.zc&&(a.ma.Nh=!0);a.Uc-=a.A;a.A=0;ub(a,a.Md);a.Md=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}
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.wh=this.cd=(1<<this.zf)-1;this.Vb=20>=this.zf?12:14;this.xc=1<<this.Vb;this.Hj=this.xc>>2;this.rb=this.xc-1;this.vg=(this.wh+this.xc)/this.xc|0;this.ce=this.vg-1;this.gg=[];this.hg=[];this.ei();z(this)}v(s,Ta);Ta.prototype.ei=function(){this.Da=Array(this.vg);for(var a=0;a<this.vg;a++)this.Da[a]=new Ua(a*this.xc);this.la.ei(this.Da,this.wh,this.Vb,this.rb,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.rb||!c||c&a.rb)){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.lh=function(a,b,c){if(!(a&this.rb||!b||b&this.rb)){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.rb||!c||c&a.rb)){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].gj(b&a.rb)}function bb(a,b){var c=b&a.rb,d=(b&a.cd)>>a.Vb;return c!=a.rb?a.Da[d].so(c):a.Da[d++].gj(c)|a.Da[d&a.ce].gj(0)<<8}
function cb(a,b,c){a.Da[(b&a.cd)>>a.Vb].oj(b&a.rb,c&255)}function db(a,b,c){var d=b&a.rb;b=(b&a.cd)>>a.Vb;d!=a.rb?a.Da[b].Eo(d,c&65535):(a.Da[b++].oj(d,c&255),a.Da[b&a.ce].oj(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.Oj){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.wh==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.Ll=b||0;this.pa=null;this.offset=0;this.Uj=c;this.ea=null;this.jb=this.Oj=!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={dh:function(){return 0},ph:function(){},qo:function(a){return this.pa[a>>2]>>>((a&3)<<3)&255},to: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},Co:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<<d)|b<<d;this.jb=!0},Fo: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.Ll==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.dh;this.ro=c[1]?c[1]:this.dh;b&&(this.gj=c[0]?c[0]:this.dh,this.so=c[1]?c[1]:this.dh);c=a;this.Fc=c[2]&&!this.Uj?c[2]:this.ph;this.Do=c[3]&&!this.Uj?c[3]:this.ph;b&&(this.oj=c[2]?c[2]:this.ph,this.Eo=c[3]?c[3]:this.ph)}};var jb=[Ua.prototype.qo,Ua.prototype.to,Ua.prototype.Co,Ua.prototype.Fo];
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.Og=Math.round(this.ba.Vc/1E4)/100;this.ba.We=this.ba.Og*this.ba.Jd;this.ma.Nb=!1;this.ma.Fb=!1;this.ma.Xj=!1;this.ma.Mh=a.autoStart;this.ma.Pj=!1;c=Ea.autostart;void 0!==c&&(this.ma.Mh="true"==c?!0:"false"==c?!1:null);this.ma.Eg=!1;this.ba.Sg=this.ba.Ye=0;this.ba.Tg=a.csStart;this.ba.Af=a.csInterval;this.ba.Bf=a.csStop;var e=this;this.qn=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.Yp();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.Mh||null===a.ma.Mh&&void 0===a.ra.run?(lb(a),!0):!1}k.$c=function(){};k.Zj=function(){return 0};function ob(a){void 0===a.ba.Tg&&(a.ba.Tg=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.Tg&&0<a.ba.Af;a.ma.Eg&&(a.ba.Sg=0,a.ba.Ye=a.ba.Tg-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.Pj?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.Og);a.ba.fk=Math.round(1E3/30);a.ba.kn=Math.floor(a.ba.Vc/c*d);a.ba.li=Math.floor(a.ba.Vc/30*d);a.ba.jk=Math.floor(a.ba.Vc/60*d);a.ba.ik=Math.floor(a.ba.Vc/2*d);b||(a.ba.Ef=a.ba.li,a.ba.Df=a.ba.jk,a.ba.Cf=a.ba.ik);a.ba.mi=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.Og&&(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.Og*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.Xj=!0;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Halt");a.Me(!0);b&&a.$c()}a.ba.mi>=a.ba.Vc&&vb(a,!0);a.ba.Ff=0;a.ba.Qg=ha();a.ba.pe&&(c=a.ba.Qg-a.ba.pe,c>a.ba.fk&&(a.ba.Xe+=c,a.ba.Xe>a.ba.Qg&&(a.ba.Xe=a.ba.Qg)));try{do{var d=a.ma.Eg?1:a.ba.kn;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.$g|0,h=yb(e,0)-g;6==f.mode&&(h-=g);var m=h*e.$g|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.yl(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.Sg=c.ba.Sg+c.Zj()|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.Sg))}a.ba.Df-=t;0>=a.ba.Df&&(a.ba.Df+=a.ba.jk,a.uf());a.ba.Cf-=t;0>=a.ba.Cf&&(a.ba.Cf+=a.ba.ik,a.Me());a.ba.Ef-=t;if(0>=a.ba.Ef){a.ba.Ef+=a.ba.li;break}}while(a.ma.Fb)}catch(E){qb(a);
a.uf();a.Me();a.Oa&&a.Oa.stop(ha(),B(a));Na(a,!1);Pa(a,E.message);return}d=setTimeout;e=a.qn;a.ba.pe=ha();f=a.ba.fk;a.ba.Ff&&(f=Math.round(f*a.ba.Ff/a.ba.li));f-=a.ba.pe-a.ba.Qg;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.mi+=a.ba.Ff;a.ba.pe+=f;d(e,f)}else a.uf(),a.Me(),a.Oa&&a.Oa.stop(ha(),B(a))}k.yl=function(){return 0};
function qb(a,b){a.ma.zc&&(a.ma.Nh=!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.jh=c||"";this.Ja=this.ya=0;this.Oc=65535;this.ib=0;this.sd=-4;this.kc=this.Ya=0;this.Bj=this.id==Bb?Array(32):[];this.Oh=null;this.Kg=!1;Db(this,d)}var Bb=1;function Eb(a){this.ya=a;return this.Ja=a<<4}function Fb(a,b){var c,d,e=this.la;a&4?(c=e.Rd.Ja,d=c+e.Rd.Oc):(c=e.Hc,d=e.Ee);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.Ja=this.ya<<4}function Ib(a){var b=this.la;a<<=3;var c=b.Ic+a;if(c+7<=b.Fe)return Gb(this,c,a);C.call(b,13,a|3,!0);return-4}function Jb(a){return this.Ja+a}function Kb(a){return this.Ja+a}function Lb(a,b,c){return a+b<=this.Oc?this.Ja+a:Mb.call(this,0,0,c)}function Nb(a,b,c){return a+b>this.Oc?this.Ja+a:Mb.call(this,0,0,c)}function Mb(a,b,c){c||C.call(this.la,13,0);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.jh=c||"";this.Ja=this.ya=0;this.Oc=65535;this.hb=0;this.td=-4;this.lc=this.Xa=0;this.Bj=this.id==Bb?Array(32):[];this.Oh=null;this.Kg=!1;Db(this,d)}var Bb=1;function Eb(a){this.ya=a;return this.Ja=a<<4}function Fb(a,b){var c,d,e=this.la;a&4?(c=e.Sd.Ja,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.Ja=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.Ja+a}function Kb(a){return this.Ja+a}function Lb(a,b,c){return a+b<=this.Oc?this.Ja+a:Mb.call(this,0,0,c)}function Nb(a,b,c){return a+b>this.Oc?this.Ja+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.Ja+a:Pb.call(this,0,0,c)}function Qb(a,b,c){return a+b>this.Oc?this.Ja+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.hb.Ja,e=this.Ya,f=c.hb.ya;if(!b){if(768!=c.hb.type)return C.call(c,10,a,!0),!1;F(c,c.hb.sd+4,c.hb.ib&-769|256)}if(-4==c.hb.load(a))return!1;var g=c.hb.Ja;if(b){if(768==c.hb.type)return C.call(c,13,a,!0),!1;F(c,c.hb.sd+4,c.hb.ib|=768);c.hb.type=768}F(c,d+14,c.ta);F(c,d+16,Sb(c));F(c,d+18,c.H);F(c,d+20,c.J);F(c,d+22,c.K);F(c,d+24,c.C);F(c,d+26,c.X);F(c,d+28,c.I);F(c,d+30,c.G);F(c,d+32,c.F);F(c,d+34,c.Qa.ya);F(c,d+36,c.xa.ya);F(c,d+38,c.qb.ya);F(c,d+40,c.vb.ya);var d=
38,h=26;Ub(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.Ya<e&&(h=(this.Ya<<2)+2,d=h+2);c.X=D(c,g+h);c.qb.load(D(c,g+d));c.Rd.load(D(c,g+42));b&&F(c,g+0,f);c.gc|=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.Ja=f;a.Oc=d;a.ib=e&65280;a.sd=b;Db(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.Kg=!1;var n=a.Oh,t,u,x=c&3,E=(g&24576)>>13;if(6144<=h){x=c&3;if(x>a.Ya){if(!1!==n&&!(E==a.Ya||g&1024&&E<=a.Ya)){m=-4;break}t=e.Ha();e.qb.load(e.Ha());e.X=t;a.Kg=!0}t=!1}else if(1024==h)t=!0,u=-1,r=c,x<a.Ya&&(x=a.Ya);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.Ja}if(t){b=m&65535;if(x<=
E){d=a.Ya;if(-4==a.load(b,!0)){m=-4;break}e.ta=f;if(a.Ya<d){if(!0!==n){m=-4;break}t=e.X;f=0;for(g&=31;g--;)a.Bj[f++]=D(e,e.qb.yc(t,1)),t+=2;g=e.hb.Ja;d=(a.Ya<<2)+2;n=d+2;r=e.X;b=e.qb.ya;e.X=D(e,g+d);e.qb.load(D(e,g+n));G(e,b);for(G(e,r);f;)G(e,a.Bj[--f]);a.Kg=!0}e.Ca&=u;return a.Ja}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.Ja=m;a.Oc=f;a.ib=g;a.type=h;a.sd=b;Db(a);break}return m}Ab.prototype.save=function(){return[this.ya,this.Ja,this.Oc,this.ib,this.id,this.jh,this.Ya,this.kc,this.sd]};Ab.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ya=a[0],this.Ja=a[1],this.Oc=a[2],this.ib=a[3],this.id=a[4],this.jh=a[5],this.Ya=a[6],this.kc=a[7],this.sd=a[8])};
function Db(a,b){void 0===b&&(b=!!(a.la.gc&1));if(b){a.load=Fb;a.dk=Ib;a.yc=Lb;a.Vb=Ob;if(a.ib&4096){6144==(a.ib&6656)&&(a.Vb=Mb);if(a.ib&2048||!(a.ib&512))a.Vb=Pb;1024==(a.ib&3072)&&(a.yc==Lb&&(a.yc=Nb),a.Vb==Ob&&(a.Vb=Qb))}a.Ya=a.ya&3;a.kc=(a.ib&24576)>>13}else a.load=Eb,a.dk=Hb,a.yc=Jb,a.Vb=Kb,a.Oc=65535,a.Ya=a.kc=0,a.sd=-4}
function Xb(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}kb.call(this,a,b);this.uj=61442;this.cg=1792;this.bg=4;this.af=255;this.B=80286<=this.Ga?Yb:Zb;this.Ra=$b.slice();this.Gl=ac.slice();this.Hl=bc.slice();this.xj=cc;80186<=this.Ga&&(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.Gl[7]=tc,this.Hl[7]=tc,80286<=this.Ga&&(this.uj=2,this.cg|=28672,this.bg=0,this.Ra[15]=uc,this.Ra[99]=vc,this.Ra[84]=wc));this.eg=[];this.wj=[];this.Uc=this.Dh=0;this.ma.vf=this.ma.Tl=!1;this.Da=[];this.Xd=this.Ub=this.sb=this.be=0;this.T=this.Zl;this.U=this.$l;this.O=this.bn;this.P=this.cn;this.R=this.yo;this.S=this.zo;xc(this)}v(kb,Xb);
var Zb={bj:4,aa:5,sa:6,fa:7,ga:8,Q:9,V:11,W:12,pe:4,kk:60,lk:83,Ob:3,tb:9,dc:16,Xg:1,pk:19,rk:28,tk:16,sk:21,qk:37,nk:2,vi:9,ok:5,mk:33,xi:10,wi:8,Kf:3,Jf:15,Hk:51,Ik:1,Jk:2,Kk:4,Gk:32,yi:15,Mk:15,Pb:16,Qb:4,Ok:11,Nk:18,Lk:24,Cb:4,Pk:2,zi:16,Qk:17,Ei:18,Rk:19,Di:5,Fi:6,Wk:2,Vk:8,Tk:9,Uk:10,Sk:10,Gi:10,Hi:10,vk:80,xk:144,uk:86,wk:154,zk:101,Bk:165,yk:107,Ak:171,Yk:70,$k:113,Xk:76,Zk:124,Dk:80,Fk:128,Ck:86,Ek:134,Mf:3,Lf:16,Mi:10,Li:8,al:51,ec:8,bl:17,cl:36,lc:11,dl:16,Nf:10,Ld:2,si:18,ti:7,ui:15,Ai:12,
Bi:7,Ci:11,Ii:18,Ji:7,Ki:15,Ni:15,Oi:7,Pi:13,Ti:11,Ui:7,Vi:8,el:8,hl:12,fl:18,gl:17,il:15,Ri:8,Qi:20,Si:2,Yi:3,Of:9,Xi:5,Wi:11,$i:4,Zi:17,jl:11},Yb={bj:0,aa:0,sa:0,fa:0,ga:0,Q:0,V:1,W:1,pe:3,kk:14,lk:16,Ob:2,tb:7,dc:7,Xg:0,pk:7,rk:13,tk:7,sk:11,qk:16,nk:3,vi:6,ok:2,mk:13,xi:5,wi:5,Kf:2,Jf:7,Hk:23,Ik:0,Jk:1,Kk:3,Gk:17,yi:7,Mk:11,Pb:7,Qb:3,Ok:7,Nk:11,Lk:15,Cb:2,Pk:3,zi:7,Qk:8,Ei:8,Rk:8,Di:4,Fi:4,Wk:2,Vk:3,Tk:5,Uk:2,Sk:3,Gi:5,Hi:3,vk:14,xk:22,uk:17,wk:25,zk:17,Bk:25,yk:20,Ak:28,Yk:13,$k:21,Xk:16,Zk:24,
Dk:13,Fk:21,Ck:16,Ek:24,Mf:2,Lf:7,Mi:5,Li:5,al:19,ec:5,bl:5,cl:17,lc:3,dl:5,Nf:3,Ld:0,si:8,ti:5,ui:9,Ai:5,Bi:5,Ci:4,Ii:5,Ji:5,Ki:4,Ni:7,Oi:5,Pi:8,Ti:3,Ui:4,Vi:3,el:11,hl:11,fl:15,gl:15,il:7,Ri:5,Qi:8,Si:0,Yi:2,Of:6,Xi:3,Wi:6,$i:3,Zi:5,jl:5};k=Xb.prototype;k.ei=function(a,b,c,d,e){this.Da=a;this.Xd=b;this.Ub=c;this.sb=d;this.be=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.gc=65520;a.Ic=0;a.Fe=1023;a.Ye=0;a.Wg=-1;a.xa=new Ab(a,Bb,"CS");a.vb=new Ab(a,2,"DS");a.Qa=new Ab(a,2,"ES");a.qb=new Ab(a,3,"SS");a.vl=new Ab(a,0,"NULL");Vb(a,0,65535);80286<=a.Ga&&(a.Hc=0,a.Ee=65535,a.Rd=new Ab(a,5,"LDT",!0),a.hb=new Ab(a,4,"TSS",!0),a.Gb=new Ab(a,6,"VER",!0),Vb(a,65520,61440),a.xa.Ja=16711680);Ub(a,0);yc(a);a.lb=0;a.Db=a.Vf=-1;a.pg=0;a.ha=a.Ia=-4;a.D=a.vb;a.N=a.qb;a.Z=a.va=0}
k.Yj=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.qb.ya+this.Qa.ya+Sb(this)|0};function zc(a,b,c,d){void 0!==d&&(void 0===a.eg[b]&&(a.eg[b]=[]),a.eg[b].push([c,d]))}function Ac(a,b){var c=a.wj[b];null!=c&&(c(--a.Dh),delete a.wj[b])}function yc(a,b){void 0===b&&(b=!!(a.gc&1));b||a.cc("returning to real-mode");a.xj=b?Bc:cc;Db(a.xa,b);Db(a.vb,b);Db(a.qb,b);Db(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.Ye]);a.set(1,[this.ta,this.xa.save(),this.vb.save(),this.qb.save(),this.Qa.save(),null!=this.Hc?[this.gc,this.Hc,this.Ee,this.Ic,this.Fe,this.Rd.save(),this.hb.save(),this.Ye]:null,Sb(this)]);a.set(2,[this.D.jh,this.N.jh,this.Z,this.va,this.lb,this.ha,this.Ia]);a.set(3,[0,this.re,this.ba.Id]);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.Ye=b[8]||0;b=a[1];this.xa.restore(b[1]);this.vb.restore(b[2]);this.qb.restore(b[3]);this.Qa.restore(b[4]);var c=b[5];c&&c.length&&(this.gc=c[0],this.Hc=c[1],this.Ee=c[2],this.Ic=c[3],this.Fe=c[4],this.Rd.restore(c[5]),this.hb.restore(c[6]),this.Ye=c[7],yc(this));Ub(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.lb=
b[4];this.ha=b[5];this.Ia=b[6];b=a[3];this.re=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.Hj){for(var f=0,g=Array(b.Hj),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};
function Ec(a,b){switch(b){case "CS":return a.xa;case "DS":return a.vb;case "SS":return a.qb;case "ES":return a.Qa;case "NULL":return a.vl;default:return[0,b,0,0,""]}}function Fc(a,b){a.Ba=a.xa.load(b)+a.ta;a.Z|=a.bg}function Gc(a,b){a.vb.load(b);a.Z|=a.bg}function Hc(a,b){a.qb.load(b);a.Z|=4}function Ic(a,b){a.Qa.load(b);a.Z|=a.bg}function J(a,b){a.Ba=a.xa.Ja+(a.ta=b&65535)}function Vb(a,b,c,d){a.xa.Oh=d;a.ta=b;b=a.xa.load(c);return-4!=b?(a.Ba=b+a.ta,a.xa.Kg):null}
function Rb(a,b){var c=this.la,d=c.gb.Ja,e=this.Xa,f=c.gb.ya;if(!b){if(768!=c.gb.type)return C.call(c,10,a,!0),!1;F(c,c.gb.td+4,c.gb.hb&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ja;if(b){if(768==c.gb.type)return C.call(c,13,a,!0),!1;F(c,c.gb.td+4,c.gb.hb|=768);c.gb.type=768}F(c,d+14,c.ta);F(c,d+16,Sb(c));F(c,d+18,c.H);F(c,d+20,c.J);F(c,d+22,c.K);F(c,d+24,c.C);F(c,d+26,c.X);F(c,d+28,c.I);F(c,d+30,c.G);F(c,d+32,c.F);F(c,d+34,c.Qa.ya);F(c,d+36,c.xa.ya);F(c,d+38,c.pb.ya);F(c,d+40,c.ub.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.ub.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&&F(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.Ja=f;a.Oc=d;a.hb=e&65280;a.td=b;Db(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.Kg=!1;var n=a.Oh,t,u,x=c&3,E=(g&24576)>>13;if(6144<=h){x=c&3;if(x>a.Xa){if(!1!==n&&!(E==a.Xa||g&1024&&E<=a.Xa)){m=-4;break}t=e.Ha();e.pb.load(e.Ha());e.X=t;a.Kg=!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.Ja}if(t){b=m&65535;if(x<=
E){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.Bj[f++]=D(e,e.pb.yc(t,1)),t+=2;g=e.gb.Ja;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.Bj[--f]);a.Kg=!0}e.Ca&=u;return a.Ja}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.Ja=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.Ja,this.Oc,this.hb,this.id,this.jh,this.Xa,this.lc,this.td]};Ab.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ya=a[0],this.Ja=a[1],this.Oc=a[2],this.hb=a[3],this.id=a[4],this.jh=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.ek=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.ek=Hb,a.yc=Jb,a.Wb=Kb,a.Oc=65535,a.Xa=a.lc=0,a.td=-4}
function Xb(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}kb.call(this,a,b);this.uj=61442;this.dg=1792;this.cg=4;this.af=255;this.B=80286<=this.Ga?Yb:Zb;this.Ra=$b.slice();this.Hl=ac.slice();this.Il=bc.slice();this.xj=cc;80186<=this.Ga&&(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.Hl[7]=tc,this.Il[7]=tc,80286<=this.Ga&&(this.uj=2,this.dg|=28672,this.cg=0,this.Ra[15]=uc,this.Ra[99]=vc,this.Ra[84]=wc));this.fg=[];this.wj=[];this.Uc=this.Dh=0;this.ma.vf=this.ma.Ul=!1;this.Da=[];this.Yd=this.Vb=this.rb=this.ce=0;this.T=this.$l;this.U=this.am;this.O=this.cn;this.P=this.dn;this.R=this.zo;this.S=this.Ao;xc(this)}v(kb,Xb);
var Zb={bj:4,aa:5,sa:6,fa:7,ga:8,Q:9,V:11,W:12,qe:4,lk:60,mk:83,Pb:3,sb:9,ec:16,Xg:1,qk:19,sk:28,uk:16,tk:21,rk:37,ok:2,vi:9,pk:5,nk:33,xi:10,wi:8,Lf:3,Kf:15,Ik:51,Jk:1,Kk:2,Lk:4,Hk:32,yi:15,Nk:15,Qb:16,Rb:4,Pk:11,Ok:18,Mk:24,Cb:4,Qk:2,zi:16,Rk:17,Ei:18,Sk:19,Di:5,Fi:6,Xk:2,Wk:8,Uk:9,Vk:10,Tk:10,Gi:10,Hi:10,wk:80,yk:144,vk:86,xk:154,Ak:101,Ck:165,zk:107,Bk:171,Zk:70,al:113,Yk:76,$k:124,Ek:80,Gk:128,Dk:86,Fk:134,Nf:3,Mf:16,Mi:10,Li:8,bl:51,fc:8,cl:17,dl:36,mc:11,el:16,Of:10,Md:2,si:18,ti:7,ui:15,Ai:12,
Bi:7,Ci:11,Ii:18,Ji:7,Ki:15,Ni:15,Oi:7,Pi:13,Ti:11,Ui:7,Vi:8,fl:8,il:12,gl:18,hl:17,jl:15,Ri:8,Qi:20,Si:2,Yi:3,Pf:9,Xi:5,Wi:11,$i:4,Zi:17,kl:11},Yb={bj:0,aa:0,sa:0,fa:0,ga:0,Q:0,V:1,W:1,qe:3,lk:14,mk:16,Pb:2,sb:7,ec:7,Xg:0,qk:7,sk:13,uk:7,tk:11,rk:16,ok:3,vi:6,pk:2,nk:13,xi:5,wi:5,Lf:2,Kf:7,Ik:23,Jk:0,Kk:1,Lk:3,Hk:17,yi:7,Nk:11,Qb:7,Rb:3,Pk:7,Ok:11,Mk:15,Cb:2,Qk:3,zi:7,Rk:8,Ei:8,Sk:8,Di:4,Fi:4,Xk:2,Wk:3,Uk:5,Vk:2,Tk:3,Gi:5,Hi:3,wk:14,yk:22,vk:17,xk:25,Ak:17,Ck:25,zk:20,Bk:28,Zk:13,al:21,Yk:16,$k:24,
Ek:13,Gk:21,Dk:16,Fk:24,Nf:2,Mf:7,Mi:5,Li:5,bl:19,fc:5,cl:5,dl:17,mc:3,el:5,Of:3,Md:0,si:8,ti:5,ui:9,Ai:5,Bi:5,Ci:4,Ii:5,Ji:5,Ki:4,Ni:7,Oi:5,Pi:8,Ti:3,Ui:4,Vi:3,fl:11,il:11,gl:15,hl:15,jl:7,Ri:5,Qi:8,Si:0,Yi:2,Pf:6,Xi:3,Wi:6,$i:3,Zi:5,kl:5};k=Xb.prototype;k.ei=function(a,b,c,d,e){this.Da=a;this.Yd=b;this.Vb=c;this.rb=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.Wg=-1;a.xa=new Ab(a,Bb,"CS");a.ub=new Ab(a,2,"DS");a.Qa=new Ab(a,2,"ES");a.pb=new Ab(a,3,"SS");a.wl=new Ab(a,0,"NULL");Vb(a,0,65535);80286<=a.Ga&&(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.Ja=16711680);Tb(a,0);yc(a);a.kb=0;a.Db=a.Wf=-1;a.qg=0;a.ha=a.Ia=-4;a.D=a.ub;a.N=a.pb;a.Z=a.va=0}
k.Zj=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.ub.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.wj[b];null!=c&&(c(--a.Dh),delete a.wj[b])}function yc(a,b){void 0===b&&(b=!!(a.hc&1));b||a.dc("returning to real-mode");a.xj=b?Bc:cc;Db(a.xa,b);Db(a.ub,b);Db(a.pb,b);Db(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.ub.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.jh,this.N.jh,this.Z,this.va,this.kb,this.ha,this.Ia]);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.ub.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.Ia=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.Hj){for(var f=0,g=Array(b.Hj),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};
function Ec(a,b){switch(b){case "CS":return a.xa;case "DS":return a.ub;case "SS":return a.pb;case "ES":return a.Qa;case "NULL":return a.wl;default:return[0,b,0,0,""]}}function Fc(a,b){a.Ba=a.xa.load(b)+a.ta;a.Z|=a.cg}function Gc(a,b){a.ub.load(b);a.Z|=a.cg}function Hc(a,b){a.pb.load(b);a.Z|=4}function Ic(a,b){a.Qa.load(b);a.Z|=a.cg}function J(a,b){a.Ba=a.xa.Ja+(a.ta=b&65535)}function Vb(a,b,c,d){a.xa.Oh=d;a.ta=b;b=a.xa.load(c);return-4!=b?(a.Ba=b+a.ta,a.xa.Kg):null}
function Jc(a,b){a.Ba=a.xa.Ja+(a.ta=a.ta+b&65535)}function Kc(a){return a.Y&a.ca?1:0}function Lc(a){return zb[a.ia&255]?4:0}function Mc(a){return(a.ia^a.na)&16?16:0}function Nc(a){return a.Y&a.ca-1?0:64}function Oc(a){return a.ia&a.ca>>1?128:0}function Pc(a){return(a.ia^a.na^a.ia>>1)&a.ca>>1?2048:0}function Qc(a){a.Y&=~a.ca}function Rc(a){a.na=a.ia&16|a.na&-17}function Sc(a){a.Y|=a.ca-1}function Tc(a){a.ia&=~a.ca;a.na=a.ia&32896|a.na&-32897}function Uc(a){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 Ub(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.gc&1||(b&=-61441);void 0===c&&(c=a.xa.Ya);c?b=b&-12289|a.Ca&12288:a.Ye=(b&12288)>>12;c>a.Ye&&(b=b&-513|a.Ca&512);a.Ca=a.Ca&~a.cg|b&a.cg|a.uj;a.Ca&256&&(a.lb|=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.Xd)>>a.Ub].Cc(b&a.sb)}
function D(a,b){var c=b&a.sb,d=(b&a.Xd)>>a.Ub;a.A-=a.B.bj;return c!=a.sb?a.Da[d].qo(c):a.Da[d++].Cc(c)|a.Da[d&a.be].Cc(0)<<8}function $c(a,b,c){a.Da[(b&a.Xd)>>a.Ub].Fc(b&a.sb,c&255)}function F(a,b,c){var d=b&a.sb;b=(b&a.Xd)>>a.Ub;a.A-=a.B.bj;d!=a.sb?a.Da[b].Co(d,c&65535):(a.Da[b++].Fc(d,c&255),a.Da[b&a.be].Fc(0,c>>8&255))}k.Zl=function(a,b){this.Yf=a;this.ha=a.yc(this.Rf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.$l=function(a,b){this.Yf=a;this.ha=a.yc(this.Rf=b,1);return this.Z&1?0:D(this,this.ha)};
k.bn=function(a,b){this.Yf=a;this.Ia=this.ha=a.yc(this.Rf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.cn=function(a,b){this.Yf=a;this.Ia=this.ha=a.yc(this.Rf=b,1);return this.Z&1?0:D(this,this.ha)};k.yo=function(a){this.Z&2||$c(this,this.Yf.Vb(this.Rf,0),a)};k.zo=function(a){this.Z&2||F(this,this.Yf.Vb(this.Rf,1),a)};k.da=function(){var a=Zc(this,this.Ba);this.Ba=this.xa.Ja+(this.ta=this.ta+1&65535);return a};
k.M=function(){var a=Zc(this,this.Ba)<<24>>24;this.Ba=this.xa.Ja+(this.ta=this.ta+1&65535);return a&65535};k.L=function(){var a=D(this,this.Ba);this.Ba=this.xa.Ja+(this.ta=this.ta+2&65535);return a};k.Ha=function(){var a=this.X;this.X=this.X+2&65535;return D(this,this.qb.yc(a,1))};function G(a,b){var c=a.X=a.X-2&65535;F(a,a.qb.Vb(c,1),b)}
k.Le=function(a){if(a||!this.ma.Fb||this.ma.Oj)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.qb.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.Gd?this.ba.Gd.toFixed(2)+"Mhz":"Stopped"};
k.xl=function(a){this.ma.vf=!0;this.ma.Tl=!1;this.ma.Wj=!1;this.Uc=this.A=a;this.ka&&!a&&xb(this.ka);a||(this.Z|=4);do{if(a=this.Z&240)this.va|=a;else if(this.Sf=this.Ba,this.ha=this.Ia=-4,this.D=this.vb,this.N=this.qb,this.va=this.Z&256,this.lb){a:{if(!(this.Z&4))if(this.lb&1&&this.Ca&512){if(a=ad(this.ka),-1<=a&&(this.lb&=-2,0<=a)){this.lb&=-5;bd.call(this,a,null,11);break a}}else if(this.lb&2){this.lb&=-3;bd.call(this,1,null,11);break a}if(a=this.lb&8){a=this.ka;for(var b=!1,c=0;c<a.$a;c++)for(var d=
a.$a[c],e=0;e<d.xb.length;e++){var f=d.xb[e];f.kd||(cd(a,f),f.kd||(b=!0))}a=!b}a&&(this.lb&=-9)}if(this.lb&4){this.Z=this.A=0;break}}this.Z=0;this.Ra[this.da()].call(this)}while(0<this.A);return this.ma.vf?this.Uc-this.A:void 0===this.ma.vf?0:-1};wa(function(){for(var a=y(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Xb(d);Ma(d,c)}});function dd(a,b){this.na=a^b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=a+b)&255}
function ed(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a|b)&255}function fd(a,b){this.na=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return this.Y&255}function gd(a,b){this.na=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return this.Y&255}
function hd(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a&b)&255}function id(a,b){this.na=a^b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=a-b)&255}function jd(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a^b)&255}
function kd(a,b){this.na=a^b;this.ca=256;this.Y=this.ia=a-b;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.vi:this.B.tb;this.Z|=2;return a}function ld(a,b){this.na=a^b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=a+b)&65535}function md(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a|b)&65535}
function nd(a,b){this.na=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return this.Y&65535}function od(a,b){this.na=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return this.Y&65535}function pd(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a&b)&65535}
function qd(a,b){this.na=a^b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=a-b)&65535}function rd(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a^b)&65535}function sd(a,b){this.na=a^b;this.ca=65536;this.Y=this.ia=a-b;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.vi:this.B.tb;this.Z|=2;return a}function td(a,b){this.Y=this.Y&this.ca-1|(a&b?this.ca:0);(a^a>>1)&b>>1?Yc(this):Tc(this)}
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.uj;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.rb)}
function D(a,b){var c=b&a.rb,d=(b&a.Yd)>>a.Vb;a.A-=a.B.bj;return c!=a.rb?a.Da[d].ro(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.rb,c&255)}function F(a,b,c){var d=b&a.rb;b=(b&a.Yd)>>a.Vb;a.A-=a.B.bj;d!=a.rb?a.Da[b].Do(d,c&65535):(a.Da[b++].Fc(d,c&255),a.Da[b&a.ce].Fc(0,c>>8&255))}k.$l=function(a,b){this.Zf=a;this.ha=a.yc(this.Sf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.am=function(a,b){this.Zf=a;this.ha=a.yc(this.Sf=b,1);return this.Z&1?0:D(this,this.ha)};
k.cn=function(a,b){this.Zf=a;this.Ia=this.ha=a.yc(this.Sf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.dn=function(a,b){this.Zf=a;this.Ia=this.ha=a.yc(this.Sf=b,1);return this.Z&1?0:D(this,this.ha)};k.zo=function(a){this.Z&2||$c(this,this.Zf.Wb(this.Sf,0),a)};k.Ao=function(a){this.Z&2||F(this,this.Zf.Wb(this.Sf,1),a)};k.da=function(){var a=Zc(this,this.Ba);this.Ba=this.xa.Ja+(this.ta=this.ta+1&65535);return a};
k.M=function(){var a=Zc(this,this.Ba)<<24>>24;this.Ba=this.xa.Ja+(this.ta=this.ta+1&65535);return a&65535};k.L=function(){var a=D(this,this.Ba);this.Ba=this.xa.Ja+(this.ta=this.ta+2&65535);return a};k.Ha=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;F(a,a.pb.Wb(c,1),b)}
k.Me=function(a){if(a||!this.ma.Fb||this.ma.Pj)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.ub.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"};
k.yl=function(a){this.ma.vf=!0;this.ma.Ul=!1;this.ma.Xj=!1;this.Uc=this.A=a;this.ka&&!a&&xb(this.ka);a||(this.Z|=4);do{if(a=this.Z&240)this.va|=a;else if(this.Tf=this.Ba,this.ha=this.Ia=-4,this.D=this.ub,this.N=this.pb,this.va=this.Z&256,this.kb){a:{if(!(this.Z&4))if(this.kb&1&&this.Ca&512){if(a=ad(this.ka),-1<=a&&(this.kb&=-2,0<=a)){this.kb&=-5;bd.call(this,a,null,11);break a}}else if(this.kb&2){this.kb&=-3;bd.call(this,1,null,11);break a}if(a=this.kb&8){a=this.ka;for(var b=!1,c=0;c<a.Za;c++)for(var d=
a.Za[c],e=0;e<d.wb.length;e++){var f=d.wb[e];f.md||(cd(a,f),f.md||(b=!0))}a=!b}a&&(this.kb&=-9)}if(this.kb&4){this.Z=this.A=0;break}}this.Z=0;this.Ra[this.da()].call(this)}while(0<this.A);return this.ma.vf?this.Uc-this.A:void 0===this.ma.vf?0:-1};wa(function(){for(var a=y(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Xb(d);Ma(d,c)}});function dd(a,b){this.na=a^b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=a+b)&255}
function ed(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=this.na=a|b)&255}function fd(a,b){this.na=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return this.Y&255}function gd(a,b){this.na=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return this.Y&255}
function hd(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=this.na=a&b)&255}function id(a,b){this.na=a^b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=a-b)&255}function jd(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=this.na=a^b)&255}
function kd(a,b){this.na=a^b;this.ca=256;this.Y=this.ia=a-b;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.vi:this.B.sb;this.Z|=2;return a}function ld(a,b){this.na=a^b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=a+b)&65535}function md(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=this.na=a|b)&65535}
function nd(a,b){this.na=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return this.Y&65535}function od(a,b){this.na=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return this.Y&65535}function pd(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=this.na=a&b)&65535}
function qd(a,b){this.na=a^b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=a-b)&65535}function rd(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.sb:this.B.ec;return(this.Y=this.ia=this.na=a^b)&65535}function sd(a,b){this.na=a^b;this.ca=65536;this.Y=this.ia=a-b;this.A-=0>this.Ia?0>this.ha?this.B.Pb:this.B.vi:this.B.sb;this.Z|=2;return a}function td(a,b){this.Y=this.Y&this.ca-1|(a&b?this.ca:0);(a^a>>1)&b>>1?Yc(this):Tc(this)}
function ud(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;td.call(this,d,256)}return c}function vd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;td.call(this,d,65536)}return c}function wd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);td.call(this,d,256)}return c}function xd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);td.call(this,d,65536)}return c}
function Ad(a,b){var c=a;if(b){var d;(d=(b&this.af)%9)?(d=a<<d|(this.Y&this.ca?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.Y&this.ca?1:0)<<8;td.call(this,d,256)}return c}function Bd(a,b){var c=a;if(b){var d;(d=(b&this.af)%17)?(d=a<<d|(this.Y&this.ca?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.Y&this.ca?1:0)<<16;td.call(this,d,65536)}return c}function Cd(a,b){var c=a;b&&(c=(b&this.af)%9,c=a>>c|(this.Y&this.ca?1:0)<<8-c|a<<9-c,td.call(this,c,256),c&=255);return c}
function Dd(a,b){var c=a;b&&(c=(b&this.af)%17,c=a>>c|(this.Y&this.ca?1:0)<<16-c|a<<17-c,td.call(this,c,65536),c&=65535);return c}function Ed(a,b){var c=a;b&&(c=8<b?this.Y=this.ia=0:(this.Y=this.ia=a<<b)&255,this.na=0,this.ca=256);return c}function Fd(a,b){var c=a;b&&(c=16<b?this.Y=this.ia=0:(this.Y=this.ia=a<<b)&65535,this.na=0,this.ca=65536);return c}
function Gd(a,b){if(b){var c=8<b?0:a>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.na=a^this.Y;this.ca=256;a=this.Y}return a&255}function Hd(a,b){if(b){var c=16<b?0:a>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.na=a^this.Y;this.ca=65536;a=this.Y}return a&65535}function Id(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.na=a^this.Y;this.ca=256;a=this.Y}return a&255}
function Jd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.na=a^this.Y;this.ca=65536;a=this.Y}return a&65535}function Kd(){this.A-=0>this.ha?2:this.B.il;return 1}function Ld(){var a=this.J&this.af;this.A-=(0>this.ha?this.B.Ri:this.B.Qi)+(a<<this.B.Si);return a}function Md(){var a=this.da();this.A-=(0>this.ha?this.B.Ri:this.B.Qi)+(a<<this.B.Si);return a}function Nd(){return null}function Od(a){C.call(this,13,0);return a}
function Jd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.na=a^this.Y;this.ca=65536;a=this.Y}return a&65535}function Kd(){this.A-=0>this.ha?2:this.B.jl;return 1}function Ld(){var a=this.J&this.af;this.A-=(0>this.ha?this.B.Ri:this.B.Qi)+(a<<this.B.Si);return a}function Md(){var a=this.da();this.A-=(0>this.ha?this.B.Ri:this.B.Qi)+(a<<this.B.Si);return a}function Nd(){return null}function Od(a){C.call(this,13,0);return a}
function tc(a){H.call(this);return a}function K(a){L.call(this);return a}
var Pd=[dd,ed,fd,gd,hd,id,jd,kd],Qd=[ld,md,nd,od,pd,qd,rd,sd],Rd=[function(a,b){this.A-=0>this.Ia?this.B.ec:this.B.bl;return b},Od,Od,Od,Od,Od,Od,Od],Sd=[function(a,b){this.A-=0>this.Ia?this.B.Uk:this.B.Sk;return b},K,K,K,K,K,K,K],Td=[ud,wd,Ad,Cd,Ed,Gd,K,Id],Ud=[vd,xd,Bd,Dd,Fd,Hd,K,Jd],Wd=[function(a,b){b=this.da();this.Y=this.ia=this.na=a&b;this.ca=256;this.A-=0>this.ha?this.B.Xi:this.B.Wi;this.Z|=2;return a},K,function(a){this.A-=0>this.ha?this.B.Mf:this.B.Lf;return a^255},function(a,b){b=0;this.na=
a^b;this.ca=256;this.A-=0>this.ha?this.B.Mf:this.B.Lf;return(this.Y=this.ia=b-a)&255},function(a){this.H=this.Db=(this.Y=(this.H&255)*a)&65535;this.na=this.ia=this.Y;this.ca=256;this.H&65280?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Yk:this.B.Xk;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Db=b&65535;this.Y=this.na=this.ia=b;this.ca=256;127<b||-128>b?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Dk:this.B.Ck;this.Z|=2;return a},
function(a){if(!a)return Vd.call(this),a;var b=this.H/a;if(255<b)return Vd.call(this),a;this.Db=this.H=b&255|(this.H%a&255)<<8;this.ia=this.na=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.vk:this.B.uk;this.Z|=2;return a},function(a){if(!a)return Vd.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Vd.call(this),a;this.Db=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ia=this.na=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.zk:this.B.yk;this.Z|=2;return a}],
Xd=[function(a,b){b=this.L();this.Y=this.ia=this.na=a&b;this.ca=65536;this.A-=0>this.ha?this.B.Xi:this.B.Wi;this.Z|=2;return a},K,function(a){this.A-=0>this.ha?this.B.Mf:this.B.Lf;return a^65535},function(a,b){b=0;this.na=a^b;this.ca=65536;this.A-=0>this.ha?this.B.Mf:this.B.Lf;return(this.Y=this.ia=b-a)&65535},function(a){this.Db=this.H=(this.Y=this.H*a)&65535;this.Vf=this.K=this.Y>>16&65535;this.na=this.ia=this.Y;this.ca=65536;this.K?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.$k:
this.B.Zk;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Db=b&65535;this.K=this.Vf=b>>16&65535;this.Y=this.na=this.ia=b;this.ca=65536;32767<b||-32768>b?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Fk:this.B.Ek;this.Z|=2;return a},function(a,b){if(!a)return Vd.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Vd.call(this),a;this.Db=this.H=c&65535;this.Vf=this.K=b%a&65535;this.ia=this.na=this.Y=c|65536;this.ca=65536;this.A-=
0>this.ha?this.B.xk:this.B.wk;this.Z|=2;return a},function(a,b){if(!a)return Vd.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Vd.call(this),a;this.Db=this.H=d&65535;this.Vf=this.K=b%c&65535;this.ia=this.na=this.Y=d|65536;this.ca=65536;this.A-=0>this.ha?this.B.Bk:this.B.Ak;this.Z|=2;return a}],ac=[function(a){this.na=a;a=(this.ia=a+1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Kf:this.B.Jf;return a},function(a){this.na=
a;a=(this.ia=a-1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Kf:this.B.Jf;return a},K,K,K,K,K,K],bc=[function(a){this.na=a;a=(this.ia=a+1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Kf:this.B.Jf;return a},function(a){this.na=a;a=(this.ia=a-1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Kf:this.B.Jf;return a},function(a){G(this,this.ta);J(this,a);this.A-=0>this.ha?this.B.tk:this.B.sk;this.Z|=2;return a},
function(a){if(0>this.ha)return K.call(this,a);Yd.call(this,a,D(this,this.ha+2));this.A-=this.B.qk;this.Z|=2;return a},function(a){J(this,a);this.A-=0>this.ha?this.B.Ok:this.B.Nk;this.Z|=2;return a},function(a){if(0>this.ha)return K.call(this,a);Vb(this,a,D(this,this.ha+2));this.A-=this.B.Lk;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Ga&&(b=a));G(this,b);this.A-=0>this.ha?this.B.lc:this.B.dl;this.Z|=2;return a},Od],Zd=[ud,wd,Ad,Cd,Ed,Gd,K,Id],$d=[vd,xd,Bd,Dd,Fd,Hd,
K,Jd];function ae(a,b){this.A-=0>this.Ia?0>this.ha?this.B.Wk:this.B.Vk:this.B.Tk;return b}function be(){return ae.call(this,0,this.Db)}function ce(a,b){this.Y=this.ia=this.na=a&b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Yi:this.B.Of:this.B.Of;this.Z|=2;return a}function de(a,b){this.Y=this.ia=this.na=a&b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Yi:this.B.Of:this.B.Of;this.Z|=2;return a}
function ee(a,b){var c=(b<<16>>16)*(this.da()<<24>>24);this.Y=this.na=this.ia=c;this.ca=256;32767<c||-32768>c?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?21:24;return c&65535}function fe(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Y=this.na=this.ia=c;this.ca=65536;32767<c||-32768>c?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?21:24;return c&65535}function ge(a){return a}function he(a){if(0>this.ha)return L.call(this),a;this.A-=this.B.Pk;return this.ha}
function ie(a,b){if(0>this.ha)return L.call(this),a;Gc(this,D(this,this.ha+2));this.A-=this.B.zi;return b}function je(a,b){if(0>this.ha)return L.call(this),a;Ic(this,D(this,this.ha+2));this.A-=this.B.zi;return b}function ke(a){if(0>this.ha)return H.call(this),a;var b=a<<16>>16,c=D(this,this.ha)<<16>>16,d=D(this,this.ha+2)<<16>>16;this.A-=this.B.mk;if(b<c||b>d)J(this,this.Sf-this.xa.Ja),bd.call(this,5,null,0);this.Z|=2;return a}
function le(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Wc(this),a;Sc(this);return a}function me(a,b){this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(b,!0)&&this.Gb.kc>=this.xa.Ya&&this.Gb.kc>=(b&3))return Wc(this),this.Gb.ib&65280;Sc(this);return a}function ne(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&-4!=this.Gb.load(b,!0)&&(7168==(this.Gb.ib&7168)||this.Gb.kc>=this.xa.Ya)&&this.Gb.kc>=(b&3))return Wc(this),this.Gb.Oc;Sc(this);return a}
function oe(a,b){if(0>this.ha){switch(this.pg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.$i}else this.Ia=this.ha,this.R(a),this.A-=this.B.Zi;return b}
function pe(a,b){if(0>this.ha){switch(this.pg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.X=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.$i}else this.Ia=this.ha,this.S(a),this.A-=this.B.Zi;return b}function qe(a){a|=this.gc&1;this.gc=this.gc&65520|a&-65521;this.gc&1&&yc(this,!0)}function Yd(a,b){var c=this.xa.ya,d=this.ta;null!=Vb(this,a,b,!0)&&(G(this,c),G(this,d))}
function re(a){var b=this.Ha(),c=this.Ha();a&&(this.X=this.X+a&65535);Vb(this,b,c,!1)&&(a&&(this.X=this.X+a&65535),this.vb.ya&65528&&this.vb.kc<this.xa.Ya&&7168!=(this.vb.ib&7168)&&this.vb.load(0),this.Qa.ya&65528&&this.Qa.kc<this.xa.Ya&&7168!=(this.Qa.ib&7168)&&this.Qa.load(0));2==a&&this.Dh&&Ac(this,this.Ba)}
function bd(a,b,c){this.A-=this.B.Hk+c;this.xa.Oh=!0;c=Sb(this);var d=this.xa.ya,e=this.ta;a=this.xa.dk(a);-4!=a&&(this.Ba=a+this.ta,G(this,c),G(this,d),G(this,e),null!=b&&G(this,b),this.Wg=-1)}function Vd(){J(this,this.Sf-this.xa.Ja);bd.call(this,0,null,2)}
function C(a,b,c){if(this.ma.vf){var d=!1;if(80186<=this.Ga)if(0>this.Wg)J(this,this.Sf-this.xa.Ja),d=!0;else if(8!=this.Wg)b=0,a=8,d=!0;else{se.call(this,-1,0,c);xc(this);return}se.call(this,a,b,c)&&(d=!1);d&&bd.call(this,this.Wg=a,b,0);this.Z&=-4}else this.cc("Fault "+p(a,2)+" blocked by Debugger",te),J(this,this.Sf-this.xa.Ja)}
function se(a,b,c){var d=ue,e=ab(this.qa,this.Ba);204==e&&(c=!1,d|=ve);983040<=this.Ba&&1048575>=this.Ba&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+p(a,2)+(null!=b?" ("+p(b,4)+")":"")+" on opcode 0x"+p(e,2)+" at "+ca(this.ta,this.xa.ya)+" (%"+p(this.Ba,6)+")",b=this.ma.Fb,this.cc(a,d)?c&&(c=b,qb(this.Sa)):(this.Aa(a),qb(this)));return c}function we(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function xe(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}
var Pd=[dd,ed,fd,gd,hd,id,jd,kd],Qd=[ld,md,nd,od,pd,qd,rd,sd],Rd=[function(a,b){this.A-=0>this.Ia?this.B.fc:this.B.cl;return b},Od,Od,Od,Od,Od,Od,Od],Sd=[function(a,b){this.A-=0>this.Ia?this.B.Vk:this.B.Tk;return b},K,K,K,K,K,K,K],Td=[ud,wd,Ad,Cd,Ed,Gd,K,Id],Ud=[vd,xd,Bd,Dd,Fd,Hd,K,Jd],Wd=[function(a,b){b=this.da();this.Y=this.ia=this.na=a&b;this.ca=256;this.A-=0>this.ha?this.B.Xi:this.B.Wi;this.Z|=2;return a},K,function(a){this.A-=0>this.ha?this.B.Nf:this.B.Mf;return a^255},function(a,b){b=0;this.na=
a^b;this.ca=256;this.A-=0>this.ha?this.B.Nf:this.B.Mf;return(this.Y=this.ia=b-a)&255},function(a){this.H=this.Db=(this.Y=(this.H&255)*a)&65535;this.na=this.ia=this.Y;this.ca=256;this.H&65280?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Zk:this.B.Yk;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Db=b&65535;this.Y=this.na=this.ia=b;this.ca=256;127<b||-128>b?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Ek:this.B.Dk;this.Z|=2;return a},
function(a){if(!a)return Vd.call(this),a;var b=this.H/a;if(255<b)return Vd.call(this),a;this.Db=this.H=b&255|(this.H%a&255)<<8;this.ia=this.na=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.wk:this.B.vk;this.Z|=2;return a},function(a){if(!a)return Vd.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Vd.call(this),a;this.Db=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ia=this.na=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.Ak:this.B.zk;this.Z|=2;return a}],
Xd=[function(a,b){b=this.L();this.Y=this.ia=this.na=a&b;this.ca=65536;this.A-=0>this.ha?this.B.Xi:this.B.Wi;this.Z|=2;return a},K,function(a){this.A-=0>this.ha?this.B.Nf:this.B.Mf;return a^65535},function(a,b){b=0;this.na=a^b;this.ca=65536;this.A-=0>this.ha?this.B.Nf:this.B.Mf;return(this.Y=this.ia=b-a)&65535},function(a){this.Db=this.H=(this.Y=this.H*a)&65535;this.Wf=this.K=this.Y>>16&65535;this.na=this.ia=this.Y;this.ca=65536;this.K?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.al:
this.B.$k;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Db=b&65535;this.K=this.Wf=b>>16&65535;this.Y=this.na=this.ia=b;this.ca=65536;32767<b||-32768>b?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Gk:this.B.Fk;this.Z|=2;return a},function(a,b){if(!a)return Vd.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Vd.call(this),a;this.Db=this.H=c&65535;this.Wf=this.K=b%a&65535;this.ia=this.na=this.Y=c|65536;this.ca=65536;this.A-=
0>this.ha?this.B.yk:this.B.xk;this.Z|=2;return a},function(a,b){if(!a)return Vd.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Vd.call(this),a;this.Db=this.H=d&65535;this.Wf=this.K=b%c&65535;this.ia=this.na=this.Y=d|65536;this.ca=65536;this.A-=0>this.ha?this.B.Ck:this.B.Bk;this.Z|=2;return a}],ac=[function(a){this.na=a;a=(this.ia=a+1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Lf:this.B.Kf;return a},function(a){this.na=
a;a=(this.ia=a-1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Lf:this.B.Kf;return a},K,K,K,K,K,K],bc=[function(a){this.na=a;a=(this.ia=a+1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Lf:this.B.Kf;return a},function(a){this.na=a;a=(this.ia=a-1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Lf:this.B.Kf;return a},function(a){G(this,this.ta);J(this,a);this.A-=0>this.ha?this.B.uk:this.B.tk;this.Z|=2;return a},
function(a){if(0>this.ha)return K.call(this,a);Yd.call(this,a,D(this,this.ha+2));this.A-=this.B.rk;this.Z|=2;return a},function(a){J(this,a);this.A-=0>this.ha?this.B.Pk:this.B.Ok;this.Z|=2;return a},function(a){if(0>this.ha)return K.call(this,a);Vb(this,a,D(this,this.ha+2));this.A-=this.B.Mk;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Ga&&(b=a));G(this,b);this.A-=0>this.ha?this.B.mc:this.B.el;this.Z|=2;return a},Od],Zd=[ud,wd,Ad,Cd,Ed,Gd,K,Id],$d=[vd,xd,Bd,Dd,Fd,Hd,
K,Jd];function ae(a,b){this.A-=0>this.Ia?0>this.ha?this.B.Xk:this.B.Wk:this.B.Uk;return b}function be(){return ae.call(this,0,this.Db)}function ce(a,b){this.Y=this.ia=this.na=a&b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Yi:this.B.Pf:this.B.Pf;this.Z|=2;return a}function de(a,b){this.Y=this.ia=this.na=a&b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Yi:this.B.Pf:this.B.Pf;this.Z|=2;return a}
function ee(a,b){var c=(b<<16>>16)*(this.da()<<24>>24);this.Y=this.na=this.ia=c;this.ca=256;32767<c||-32768>c?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?21:24;return c&65535}function fe(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Y=this.na=this.ia=c;this.ca=65536;32767<c||-32768>c?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?21:24;return c&65535}function ge(a){return a}function he(a){if(0>this.ha)return L.call(this),a;this.A-=this.B.Qk;return this.ha}
function ie(a,b){if(0>this.ha)return L.call(this),a;Gc(this,D(this,this.ha+2));this.A-=this.B.zi;return b}function je(a,b){if(0>this.ha)return L.call(this),a;Ic(this,D(this,this.ha+2));this.A-=this.B.zi;return b}function ke(a){if(0>this.ha)return H.call(this),a;var b=a<<16>>16,c=D(this,this.ha)<<16>>16,d=D(this,this.ha+2)<<16>>16;this.A-=this.B.nk;if(b<c||b>d)J(this,this.Tf-this.xa.Ja),bd.call(this,5,null,0);this.Z|=2;return a}
function le(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Wc(this),a;Sc(this);return a}function me(a,b){this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(b,!0)&&this.Gb.lc>=this.xa.Xa&&this.Gb.lc>=(b&3))return Wc(this),this.Gb.hb&65280;Sc(this);return a}function ne(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&-4!=this.Gb.load(b,!0)&&(7168==(this.Gb.hb&7168)||this.Gb.lc>=this.xa.Xa)&&this.Gb.lc>=(b&3))return Wc(this),this.Gb.Oc;Sc(this);return a}
function oe(a,b){if(0>this.ha){switch(this.qg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.$i}else this.Ia=this.ha,this.R(a),this.A-=this.B.Zi;return b}
function pe(a,b){if(0>this.ha){switch(this.qg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.X=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.$i}else this.Ia=this.ha,this.S(a),this.A-=this.B.Zi;return b}function qe(a){a|=this.hc&1;this.hc=this.hc&65520|a&-65521;this.hc&1&&yc(this,!0)}function Yd(a,b){var c=this.xa.ya,d=this.ta;null!=Vb(this,a,b,!0)&&(G(this,c),G(this,d))}
function re(a){var b=this.Ha(),c=this.Ha();a&&(this.X=this.X+a&65535);Vb(this,b,c,!1)&&(a&&(this.X=this.X+a&65535),this.ub.ya&65528&&this.ub.lc<this.xa.Xa&&7168!=(this.ub.hb&7168)&&this.ub.load(0),this.Qa.ya&65528&&this.Qa.lc<this.xa.Xa&&7168!=(this.Qa.hb&7168)&&this.Qa.load(0));2==a&&this.Dh&&Ac(this,this.Ba)}
function bd(a,b,c){this.A-=this.B.Ik+c;this.xa.Oh=!0;c=Sb(this);var d=this.xa.ya,e=this.ta;a=this.xa.ek(a);-4!=a&&(this.Ba=a+this.ta,G(this,c),G(this,d),G(this,e),null!=b&&G(this,b),this.Wg=-1)}function Vd(){J(this,this.Tf-this.xa.Ja);bd.call(this,0,null,2)}
function C(a,b,c){if(this.ma.vf){var d=!1;if(80186<=this.Ga)if(0>this.Wg)J(this,this.Tf-this.xa.Ja),d=!0;else if(8!=this.Wg)b=0,a=8,d=!0;else{se.call(this,-1,0,c);xc(this);return}se.call(this,a,b,c)&&(d=!1);d&&bd.call(this,this.Wg=a,b,0);this.Z&=-4}else this.dc("Fault "+p(a,2)+" blocked by Debugger",te),J(this,this.Tf-this.xa.Ja)}
function se(a,b,c){var d=ue,e=ab(this.qa,this.Ba);204==e&&(c=!1,d|=ve);983040<=this.Ba&&1048575>=this.Ba&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+p(a,2)+(null!=b?" ("+p(b,4)+")":"")+" on opcode 0x"+p(e,2)+" at "+ca(this.ta,this.xa.ya)+" (%"+p(this.Ba,6)+")",b=this.ma.Fb,this.dc(a,d)?c&&(c=b,qb(this.Sa)):(this.Aa(a),qb(this)));return c}function we(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function xe(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}
function ye(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function ze(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function Ae(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function Be(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function Ce(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function De(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}
function Ee(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Fe(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Ge(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function He(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function Ie(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function Je(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}
function Ke(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Le(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Me(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function Ne(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Oe(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function Pe(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}
@ -375,111 +375,111 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio
this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.X=a[4].call(this,this.X,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C=
a[5].call(this,this.C,b.call(this))},function(a,b){this.X=a[5].call(this,this.X,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},
function(a,b){this.Z|=512;this.X=a[6].call(this,this.X,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.X=a[7].call(this,
this.X,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function uc(){Yg[this.da()].call(this)}function wc(){G(this,this.X);this.A-=this.B.lc}function dc(){var a=this.X;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.cl}
function ec(){this.F=this.Ha();this.G=this.Ha();this.I=this.Ha();this.X+=2;this.C=this.Ha();this.K=this.Ha();this.J=this.Ha();this.H=this.Ha();this.A-=this.B.al}function fc(){M[this.da()].call(this,ke)}function vc(){Ug[this.da()].call(this,le)}function gc(){G(this,this.L());this.A-=this.B.lc}function hc(){M[this.da()].call(this,fe)}function ic(){G(this,this.da());this.A-=this.B.lc}function jc(){M[this.da()].call(this,ee)}
function kc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=gb(this.qa,this.K,this.Ba-b-1);$c(this,this.Qa.Vb(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}}
function lc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=this.Ba-b-1,d=gb(this.qa,this.K,d)|gb(this.qa,this.K,d)<<8;F(this,this.Qa.Vb(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}}
function mc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=Zc(this,this.vb.yc(this.G,0));this.G=this.G+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;ib(this.qa,this.K,d,this.Ba-b-1);a&&(Jc(this,-2),this.Z|=256)}}
function nc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=D(this,this.vb.yc(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ba-b-1;ib(this.qa,this.K,d&255,b);ib(this.qa,this.K,d>>8,b);a&&(Jc(this,-2),this.Z|=256)}}function Zg(){var a=this.M();Pc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function $g(){var a=this.M();Pc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}
function ah(){var a=this.M();Kc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function bh(){var a=this.M();Kc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}function ch(){var a=this.M();Nc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function dh(){var a=this.M();Nc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}function eh(){var a=this.M();Kc(this)||Nc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}
function fh(){var a=this.M();Kc(this)||Nc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}function gh(){var a=this.M();Oc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function hh(){var a=this.M();Oc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}function ih(){var a=this.M();Lc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function jh(){var a=this.M();Lc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}
function kh(){var a=this.M();!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function lh(){var a=this.M();!Oc(this)==!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function mh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function nh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}
function oh(){Wg[this.da()].call(this,Pd,this.da);this.A-=0>this.Ia?1:this.B.Xg}function oc(){Wg[this.da()].call(this,Zd,Md)}function pc(){Xg[this.da()].call(this,$d,Md)}function ph(){var a=this.L();J(this,this.Ha());this.X=this.X+a&65535;this.A-=this.B.hl}function qh(){J(this,this.Ha());this.A-=this.B.el}
function qc(){var a=this.L(),b=this.da()&31;this.A-=11;G(this,this.I);var c=this.X;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,G(this,D(this,this.qb.yc(this.I,1)));G(this,c)}this.I=c;this.X=this.X-a&65535}function rc(){this.X=this.I;this.I=this.Ha();this.A-=5}function rh(){re.call(this,this.L());this.A-=this.B.gl}function sh(){re.call(this,0);this.A-=this.B.fl}function th(){M[this.da()].call(this,ge);this.A-=8}function uh(){this.Z|=36;this.A-=this.B.Ld}
function sc(){L.call(this)}function H(){C.call(this,6);qb(this)}function L(){J(this,this.Sf-this.xa.Ja);var a=ab(this.qa,this.Ba);Pa(this,"Undefined opcode 0x"+p(a,2)+" at "+ca(this.ta,this.xa.ya));qb(this)}
var $b=[function(){var a=this.da();Tg[a].call(this,dd)},function(){Ug[this.da()].call(this,ld)},function(){Vg[this.da()].call(this,dd)},function(){M[this.da()].call(this,ld)},function(){this.H=this.H&-256|dd.call(this,this.H&255,this.da());this.A--},function(){this.H=ld.call(this,this.H,this.L());this.A--},function(){G(this,this.Qa.ya);this.A-=this.B.Nf},function(){Ic(this,this.Ha());this.A-=this.B.ec},function(){Tg[this.da()].call(this,ed)},function(){Ug[this.da()].call(this,md)},function(){Vg[this.da()].call(this,
ed)},function(){M[this.da()].call(this,md)},function(){this.H=this.H&-256|ed.call(this,this.H&255,this.da());this.A--},function(){this.H=md.call(this,this.H,this.L());this.A--},function(){G(this,this.xa.ya);this.A-=this.B.Nf},function(){Fc(this,this.Ha());this.A-=this.B.ec},function(){Tg[this.da()].call(this,fd)},function(){Ug[this.da()].call(this,nd)},function(){Vg[this.da()].call(this,fd)},function(){M[this.da()].call(this,nd)},function(){this.H=this.H&-256|fd.call(this,this.H&255,this.da());this.A--},
function(){this.H=nd.call(this,this.H,this.L());this.A--},function(){G(this,this.qb.ya);this.A-=this.B.Nf},function(){Hc(this,this.Ha());this.A-=this.B.ec},function(){Tg[this.da()].call(this,gd)},function(){Ug[this.da()].call(this,od)},function(){Vg[this.da()].call(this,gd)},function(){M[this.da()].call(this,od)},function(){this.H=this.H&-256|gd.call(this,this.H&255,this.da());this.A--},function(){this.H=od.call(this,this.H,this.L());this.A--},function(){G(this,this.vb.ya);this.A-=this.B.Nf},function(){Gc(this,
this.Ha());this.A-=this.B.ec},function(){Tg[this.da()].call(this,hd)},function(){Ug[this.da()].call(this,pd)},function(){Vg[this.da()].call(this,hd)},function(){M[this.da()].call(this,pd)},function(){this.H=this.H&-256|hd.call(this,this.H&255,this.da());this.A--},function(){this.H=pd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.Qa;this.A-=this.B.Ld},function(){var a=this.H&255,b=Mc(this),c=this.Y&this.ca;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.Y=this.ia=a&255);this.ca=65536;c&&(this.Y|=this.ca);b?Vc(this):Rc(this);this.A-=this.B.pe},function(){Tg[this.da()].call(this,id)},function(){Ug[this.da()].call(this,qd)},function(){Vg[this.da()].call(this,id)},function(){M[this.da()].call(this,qd)},function(){this.H=this.H&-256|id.call(this,this.H&255,this.da());this.A--},function(){this.H=qd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.xa;this.A-=this.B.Ld},function(){var a=this.H&255,b=Mc(this),c=this.Y&
this.ca;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.Y=this.ia=a&255);this.ca=65536;c&&(this.Y|=this.ca);b?Vc(this):Rc(this);this.A-=this.B.pe},function(){Tg[this.da()].call(this,jd)},function(){Ug[this.da()].call(this,rd)},function(){Vg[this.da()].call(this,jd)},function(){M[this.da()].call(this,rd)},function(){this.H=this.H&-256|jd.call(this,this.H&255,this.da());this.A--},function(){this.H=rd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.qb;
this.A-=this.B.Ld},function(){var a=this.H&255,b=this.H>>8,c,d=Mc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.pe},function(){Tg[this.da()].call(this,kd)},function(){Ug[this.da()].call(this,sd)},function(){Vg[this.da()].call(this,kd)},function(){M[this.da()].call(this,sd)},function(){this.H=this.H&-256|kd.call(this,this.H&255,this.da());this.A--},function(){this.H=sd.call(this,this.H,this.L());this.A--},
function(){this.Z|=20;this.D=this.N=this.vb;this.A-=this.B.Ld},function(){var a=this.H&255,b=this.H>>8,c,d=Mc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.pe},function(){this.na=this.H;this.H=(this.ia=this.H+1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J+1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=
this.X,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function uc(){Yg[this.da()].call(this)}function wc(){G(this,this.X);this.A-=this.B.mc}function dc(){var a=this.X;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.dl}
function ec(){this.F=this.Ha();this.G=this.Ha();this.I=this.Ha();this.X+=2;this.C=this.Ha();this.K=this.Ha();this.J=this.Ha();this.H=this.Ha();this.A-=this.B.bl}function fc(){M[this.da()].call(this,ke)}function vc(){Ug[this.da()].call(this,le)}function gc(){G(this,this.L());this.A-=this.B.mc}function hc(){M[this.da()].call(this,fe)}function ic(){G(this,this.da());this.A-=this.B.mc}function jc(){M[this.da()].call(this,ee)}
function kc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=gb(this.qa,this.K,this.Ba-b-1);$c(this,this.Qa.Wb(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}}
function lc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=this.Ba-b-1,d=gb(this.qa,this.K,d)|gb(this.qa,this.K,d)<<8;F(this,this.Qa.Wb(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}}
function mc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=Zc(this,this.ub.yc(this.G,0));this.G=this.G+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;ib(this.qa,this.K,d,this.Ba-b-1);a&&(Jc(this,-2),this.Z|=256)}}
function nc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=D(this,this.ub.yc(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ba-b-1;ib(this.qa,this.K,d&255,b);ib(this.qa,this.K,d>>8,b);a&&(Jc(this,-2),this.Z|=256)}}function Zg(){var a=this.M();Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function $g(){var a=this.M();Pc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}
function ah(){var a=this.M();Kc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function bh(){var a=this.M();Kc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function ch(){var a=this.M();Nc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function dh(){var a=this.M();Nc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function eh(){var a=this.M();Kc(this)||Nc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}
function fh(){var a=this.M();Kc(this)||Nc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function gh(){var a=this.M();Oc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function hh(){var a=this.M();Oc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}function ih(){var a=this.M();Lc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function jh(){var a=this.M();Lc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}
function kh(){var a=this.M();!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function lh(){var a=this.M();!Oc(this)==!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function mh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Qb):this.A-=this.B.Rb}function nh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?this.A-=this.B.Rb:(J(this,this.ta+a),this.A-=this.B.Qb)}
function oh(){Wg[this.da()].call(this,Pd,this.da);this.A-=0>this.Ia?1:this.B.Xg}function oc(){Wg[this.da()].call(this,Zd,Md)}function pc(){Xg[this.da()].call(this,$d,Md)}function ph(){var a=this.L();J(this,this.Ha());this.X=this.X+a&65535;this.A-=this.B.il}function qh(){J(this,this.Ha());this.A-=this.B.fl}
function qc(){var a=this.L(),b=this.da()&31;this.A-=11;G(this,this.I);var c=this.X;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,G(this,D(this,this.pb.yc(this.I,1)));G(this,c)}this.I=c;this.X=this.X-a&65535}function rc(){this.X=this.I;this.I=this.Ha();this.A-=5}function rh(){re.call(this,this.L());this.A-=this.B.hl}function sh(){re.call(this,0);this.A-=this.B.gl}function th(){M[this.da()].call(this,ge);this.A-=8}function uh(){this.Z|=36;this.A-=this.B.Md}
function sc(){L.call(this)}function H(){C.call(this,6);qb(this)}function L(){J(this,this.Tf-this.xa.Ja);var a=ab(this.qa,this.Ba);Pa(this,"Undefined opcode 0x"+p(a,2)+" at "+ca(this.ta,this.xa.ya));qb(this)}
var $b=[function(){var a=this.da();Tg[a].call(this,dd)},function(){Ug[this.da()].call(this,ld)},function(){Vg[this.da()].call(this,dd)},function(){M[this.da()].call(this,ld)},function(){this.H=this.H&-256|dd.call(this,this.H&255,this.da());this.A--},function(){this.H=ld.call(this,this.H,this.L());this.A--},function(){G(this,this.Qa.ya);this.A-=this.B.Of},function(){Ic(this,this.Ha());this.A-=this.B.fc},function(){Tg[this.da()].call(this,ed)},function(){Ug[this.da()].call(this,md)},function(){Vg[this.da()].call(this,
ed)},function(){M[this.da()].call(this,md)},function(){this.H=this.H&-256|ed.call(this,this.H&255,this.da());this.A--},function(){this.H=md.call(this,this.H,this.L());this.A--},function(){G(this,this.xa.ya);this.A-=this.B.Of},function(){Fc(this,this.Ha());this.A-=this.B.fc},function(){Tg[this.da()].call(this,fd)},function(){Ug[this.da()].call(this,nd)},function(){Vg[this.da()].call(this,fd)},function(){M[this.da()].call(this,nd)},function(){this.H=this.H&-256|fd.call(this,this.H&255,this.da());this.A--},
function(){this.H=nd.call(this,this.H,this.L());this.A--},function(){G(this,this.pb.ya);this.A-=this.B.Of},function(){Hc(this,this.Ha());this.A-=this.B.fc},function(){Tg[this.da()].call(this,gd)},function(){Ug[this.da()].call(this,od)},function(){Vg[this.da()].call(this,gd)},function(){M[this.da()].call(this,od)},function(){this.H=this.H&-256|gd.call(this,this.H&255,this.da());this.A--},function(){this.H=od.call(this,this.H,this.L());this.A--},function(){G(this,this.ub.ya);this.A-=this.B.Of},function(){Gc(this,
this.Ha());this.A-=this.B.fc},function(){Tg[this.da()].call(this,hd)},function(){Ug[this.da()].call(this,pd)},function(){Vg[this.da()].call(this,hd)},function(){M[this.da()].call(this,pd)},function(){this.H=this.H&-256|hd.call(this,this.H&255,this.da());this.A--},function(){this.H=pd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.Qa;this.A-=this.B.Md},function(){var a=this.H&255,b=Mc(this),c=this.Y&this.ca;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.Y=this.ia=a&255);this.ca=65536;c&&(this.Y|=this.ca);b?Vc(this):Rc(this);this.A-=this.B.qe},function(){Tg[this.da()].call(this,id)},function(){Ug[this.da()].call(this,qd)},function(){Vg[this.da()].call(this,id)},function(){M[this.da()].call(this,qd)},function(){this.H=this.H&-256|id.call(this,this.H&255,this.da());this.A--},function(){this.H=qd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.xa;this.A-=this.B.Md},function(){var a=this.H&255,b=Mc(this),c=this.Y&
this.ca;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.Y=this.ia=a&255);this.ca=65536;c&&(this.Y|=this.ca);b?Vc(this):Rc(this);this.A-=this.B.qe},function(){Tg[this.da()].call(this,jd)},function(){Ug[this.da()].call(this,rd)},function(){Vg[this.da()].call(this,jd)},function(){M[this.da()].call(this,rd)},function(){this.H=this.H&-256|jd.call(this,this.H&255,this.da());this.A--},function(){this.H=rd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.pb;
this.A-=this.B.Md},function(){var a=this.H&255,b=this.H>>8,c,d=Mc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.qe},function(){Tg[this.da()].call(this,kd)},function(){Ug[this.da()].call(this,sd)},function(){Vg[this.da()].call(this,kd)},function(){M[this.da()].call(this,sd)},function(){this.H=this.H&-256|kd.call(this,this.H&255,this.da());this.A--},function(){this.H=sd.call(this,this.H,this.L());this.A--},
function(){this.Z|=20;this.D=this.N=this.ub;this.A-=this.B.Md},function(){var a=this.H&255,b=this.H>>8,c,d=Mc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.qe},function(){this.na=this.H;this.H=(this.ia=this.H+1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J+1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=
2},function(){this.na=this.K;this.K=(this.ia=this.K+1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ia=this.C+1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.X;this.X=(this.ia=this.X+1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ia=this.I+1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=
this.G;this.G=(this.ia=this.G+1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F+1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.H;this.H=(this.ia=this.H-1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J-1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.K;this.K=
(this.ia=this.K-1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ia=this.C-1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.X;this.X=(this.ia=this.X-1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ia=this.I-1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.G;this.G=(this.ia=this.G-
1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F-1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){G(this,this.H);this.A-=this.B.lc},function(){G(this,this.J);this.A-=this.B.lc},function(){G(this,this.K);this.A-=this.B.lc},function(){G(this,this.C);this.A-=this.B.lc},function(){G(this,this.X-2&65535);this.A-=this.B.lc},function(){G(this,this.I);this.A-=this.B.lc},function(){G(this,this.G);this.A-=
this.B.lc},function(){G(this,this.F);this.A-=this.B.lc},function(){this.H=this.Ha();this.A-=this.B.ec},function(){this.J=this.Ha();this.A-=this.B.ec},function(){this.K=this.Ha();this.A-=this.B.ec},function(){this.C=this.Ha();this.A-=this.B.ec},function(){this.X=this.Ha();this.A-=this.B.ec},function(){this.I=this.Ha();this.A-=this.B.ec},function(){this.G=this.Ha();this.A-=this.B.ec},function(){this.F=this.Ha();this.A-=this.B.ec},Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,Zg,$g,ah,bh,ch,dh,eh,
fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,function(){Xg[this.da()].call(this,Qd,this.L);this.A-=0>this.Ia?1:this.B.Xg},oh,function(){Xg[this.da()].call(this,Qd,this.M);this.A-=0>this.Ia?1:this.B.Xg},function(){Tg[this.da()].call(this,ce)},function(){Ug[this.da()].call(this,de)},function(){Vg[this.pg=this.da()].call(this,oe)},function(){M[this.pg=this.da()].call(this,pe)},function(){this.Z|=1;Tg[this.da()].call(this,ae)},function(){this.Z|=1;Ug[this.da()].call(this,ae)},function(){Vg[this.da()].call(this,ae)},
function(){M[this.da()].call(this,ae)},function(){var a=this.da();switch((a&56)>>3){case 0:this.Db=this.Qa.ya;break;case 1:this.Db=this.xa.ya;break;case 2:this.Db=this.qb.ya;break;case 3:this.Db=this.vb.ya;break;default:L.call(this);return}this.Z|=1;Ug[a].call(this,be)},function(){this.Z|=1;this.D=this.N=this.vl;M[this.da()].call(this,he)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ga){H.call(this);return}switch(c){case 1:a=
1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F-1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){G(this,this.H);this.A-=this.B.mc},function(){G(this,this.J);this.A-=this.B.mc},function(){G(this,this.K);this.A-=this.B.mc},function(){G(this,this.C);this.A-=this.B.mc},function(){G(this,this.X-2&65535);this.A-=this.B.mc},function(){G(this,this.I);this.A-=this.B.mc},function(){G(this,this.G);this.A-=
this.B.mc},function(){G(this,this.F);this.A-=this.B.mc},function(){this.H=this.Ha();this.A-=this.B.fc},function(){this.J=this.Ha();this.A-=this.B.fc},function(){this.K=this.Ha();this.A-=this.B.fc},function(){this.C=this.Ha();this.A-=this.B.fc},function(){this.X=this.Ha();this.A-=this.B.fc},function(){this.I=this.Ha();this.A-=this.B.fc},function(){this.G=this.Ha();this.A-=this.B.fc},function(){this.F=this.Ha();this.A-=this.B.fc},Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,Zg,$g,ah,bh,ch,dh,eh,
fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,function(){Xg[this.da()].call(this,Qd,this.L);this.A-=0>this.Ia?1:this.B.Xg},oh,function(){Xg[this.da()].call(this,Qd,this.M);this.A-=0>this.Ia?1:this.B.Xg},function(){Tg[this.da()].call(this,ce)},function(){Ug[this.da()].call(this,de)},function(){Vg[this.qg=this.da()].call(this,oe)},function(){M[this.qg=this.da()].call(this,pe)},function(){this.Z|=1;Tg[this.da()].call(this,ae)},function(){this.Z|=1;Ug[this.da()].call(this,ae)},function(){Vg[this.da()].call(this,ae)},
function(){M[this.da()].call(this,ae)},function(){var a=this.da();switch((a&56)>>3){case 0:this.Db=this.Qa.ya;break;case 1:this.Db=this.xa.ya;break;case 2:this.Db=this.pb.ya;break;case 3:this.Db=this.ub.ya;break;default:L.call(this);return}this.Z|=1;Ug[a].call(this,be)},function(){this.Z|=1;this.D=this.N=this.wl;M[this.da()].call(this,he)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ga){H.call(this);return}switch(c){case 1:a=
this.J;break;case 4:a=this.X;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}M[b].call(this,ae);switch(c){case 0:Ic(this,this.H);this.H=a;break;case 1:Fc(this,this.J);this.J=a;break;case 2:Hc(this,this.K);this.K=a;break;case 3:Gc(this,this.C);this.C=a;break;case 4:Ic(this,this.X);this.X=a;break;case 5:Fc(this,this.I);this.I=a;break;case 6:Hc(this,this.G);this.G=a;break;case 7:Gc(this,this.F),this.F=a}},function(){this.Z|=1;Xg[this.da()].call(this,Rd,this.Ha)},function(){this.A-=
3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.X;this.X=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=
this.B.ok},function(){Yd.call(this,this.L(),this.L());this.A-=this.B.rk},function(){this.cc("WAIT not implemented",ve);this.A--},function(){G(this,Sb(this));this.A-=this.B.lc},function(){Ub(this,this.Ha());this.A-=this.B.ec},function(){var a=this.H>>8;a&1?Uc(this):Qc(this);a&4?Lc(this)||(this.ia^=1):Lc(this)&&(this.ia^=1);a&16?Vc(this):Rc(this);a&64?Wc(this):Sc(this);a&128?Xc(this):Oc(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.na^=32896);this.A-=this.B.Cb},function(){this.H=this.H&255|(Sb(this)&
213)<<8;this.A-=this.B.Cb},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.Gi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.Gi},function(){var a=this.L(),b=this.H;$c(this,this.D.Vb(a,0),b);this.A-=this.B.Hi},function(){var a=this.L(),b=this.H;F(this,this.D.Vb(a,1),b);this.A-=this.B.Hi},function(){var a=1,b=0,c=this.B.Ii;this.va&192&&(a=this.J,b=1,c=this.B.Ki,this.va&256||(this.A-=this.B.Ji));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G);$c(this,this.Qa.Vb(this.F,
0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ii;this.va&192&&(a=this.J,b=1,c=this.B.Ki,this.va&256||(this.A-=this.B.Ji));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G);F(this,this.Qa.Vb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.si;this.va&192&&(a=this.J,b=1,c=this.B.ui,this.va&
256||(this.A-=this.B.ti));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.Qa,this.F);kd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.tb;this.J-=b;a&&Nc(this)==(this.va&64)&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.si;this.va&192&&(a=this.J,b=1,c=this.B.ui,this.va&256||(this.A-=this.B.ti));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.Qa,this.F);sd.call(this,e,f);this.G=this.G+d&65535;this.F=
this.F+d&65535;this.A-=c-this.B.tb;this.J-=b;a&&Nc(this)==(this.va&64)&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){this.Y=this.ia=this.na=this.H&255&this.da();this.ca=256;this.A-=this.B.pe},function(){this.Y=this.ia=this.na=this.H&this.L();this.ca=65536;this.A-=this.B.pe},function(){var a=1,b=0,c=this.B.Ti;this.va&192&&(a=this.J,b=1,c=this.B.Vi,this.va&256||(this.A-=this.B.Ui));if(a--){var d=this.H;$c(this,this.Qa.Vb(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=
b;a&&(Jc(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ti;this.va&192&&(a=this.J,b=1,c=this.B.Vi,this.va&256||(this.A-=this.B.Ui));if(a--){var d=this.H;F(this,this.Qa.Vb(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ai;this.va&192&&(a=this.J,b=1,c=this.B.Ci,this.va&256||(this.A-=this.B.Bi));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Ca&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&
this.B.pk},function(){Yd.call(this,this.L(),this.L());this.A-=this.B.sk},function(){this.dc("WAIT not implemented",ve);this.A--},function(){G(this,Sb(this));this.A-=this.B.mc},function(){Tb(this,this.Ha());this.A-=this.B.fc},function(){var a=this.H>>8;a&1?Uc(this):Qc(this);a&4?Lc(this)||(this.ia^=1):Lc(this)&&(this.ia^=1);a&16?Vc(this):Rc(this);a&64?Wc(this):Sc(this);a&128?Xc(this):Oc(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.na^=32896);this.A-=this.B.Cb},function(){this.H=this.H&255|(Sb(this)&
213)<<8;this.A-=this.B.Cb},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.Gi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.Gi},function(){var a=this.L(),b=this.H;$c(this,this.D.Wb(a,0),b);this.A-=this.B.Hi},function(){var a=this.L(),b=this.H;F(this,this.D.Wb(a,1),b);this.A-=this.B.Hi},function(){var a=1,b=0,c=this.B.Ii;this.va&192&&(a=this.J,b=1,c=this.B.Ki,this.va&256||(this.A-=this.B.Ji));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G);$c(this,this.Qa.Wb(this.F,
0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ii;this.va&192&&(a=this.J,b=1,c=this.B.Ki,this.va&256||(this.A-=this.B.Ji));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G);F(this,this.Qa.Wb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.si;this.va&192&&(a=this.J,b=1,c=this.B.ui,this.va&
256||(this.A-=this.B.ti));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.Qa,this.F);kd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.sb;this.J-=b;a&&Nc(this)==(this.va&64)&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.si;this.va&192&&(a=this.J,b=1,c=this.B.ui,this.va&256||(this.A-=this.B.ti));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.Qa,this.F);sd.call(this,e,f);this.G=this.G+d&65535;this.F=
this.F+d&65535;this.A-=c-this.B.sb;this.J-=b;a&&Nc(this)==(this.va&64)&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){this.Y=this.ia=this.na=this.H&255&this.da();this.ca=256;this.A-=this.B.qe},function(){this.Y=this.ia=this.na=this.H&this.L();this.ca=65536;this.A-=this.B.qe},function(){var a=1,b=0,c=this.B.Ti;this.va&192&&(a=this.J,b=1,c=this.B.Vi,this.va&256||(this.A-=this.B.Ui));if(a--){var d=this.H;$c(this,this.Qa.Wb(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=
b;a&&(Jc(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ti;this.va&192&&(a=this.J,b=1,c=this.B.Vi,this.va&256||(this.A-=this.B.Ui));if(a--){var d=this.H;F(this,this.Qa.Wb(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ai;this.va&192&&(a=this.J,b=1,c=this.B.Ci,this.va&256||(this.A-=this.B.Bi));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Ca&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&
(Jc(this,this.va&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Ai;this.va&192&&(a=this.J,b=1,c=this.B.Ci,this.va&256||(this.A-=this.B.Bi));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Ca&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(Jc(this,this.va&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Ni;this.va&192&&(a=this.J,b=1,c=this.B.Pi,this.va&256||(this.A-=this.B.Oi));a--&&(kd.call(this,this.H&255,this.O(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-1:1)&65535,this.A-=c-
this.B.tb,this.J-=b,a&&Nc(this)==(this.va&64)&&(Jc(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Ni;this.va&192&&(a=this.J,b=1,c=this.B.Pi,this.va&256||(this.A-=this.B.Oi));a--&&(sd.call(this,this.H,this.P(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.tb,this.J-=b,a&&Nc(this)==(this.va&64)&&(Jc(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.da();this.A-=this.B.Cb},function(){this.J=this.J&-256|this.da();this.A-=this.B.Cb},function(){this.K=this.K&
this.B.sb,this.J-=b,a&&Nc(this)==(this.va&64)&&(Jc(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Ni;this.va&192&&(a=this.J,b=1,c=this.B.Pi,this.va&256||(this.A-=this.B.Oi));a--&&(sd.call(this,this.H,this.P(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.sb,this.J-=b,a&&Nc(this)==(this.va&64)&&(Jc(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.da();this.A-=this.B.Cb},function(){this.J=this.J&-256|this.da();this.A-=this.B.Cb},function(){this.K=this.K&
-256|this.da();this.A-=this.B.Cb},function(){this.C=this.C&-256|this.da();this.A-=this.B.Cb},function(){this.H=this.H&255|this.da()<<8;this.A-=this.B.Cb},function(){this.J=this.J&255|this.da()<<8;this.A-=this.B.Cb},function(){this.K=this.K&255|this.da()<<8;this.A-=this.B.Cb},function(){this.C=this.C&255|this.da()<<8;this.A-=this.B.Cb},function(){this.H=this.L();this.A-=this.B.Cb},function(){this.J=this.L();this.A-=this.B.Cb},function(){this.K=this.L();this.A-=this.B.Cb},function(){this.C=this.L();
this.A-=this.B.Cb},function(){this.X=this.L();this.A-=this.B.Cb},function(){this.I=this.L();this.A-=this.B.Cb},function(){this.G=this.L();this.A-=this.B.Cb},function(){this.F=this.L();this.A-=this.B.Cb},ph,qh,ph,qh,function(){M[this.da()].call(this,je)},function(){M[this.da()].call(this,ie)},function(){this.Z|=1;Wg[this.da()].call(this,Sd,this.da)},function(){this.Z|=1;Xg[this.da()].call(this,Sd,this.L)},rh,sh,rh,sh,function(){bd.call(this,3,null,this.B.Ik)},function(){var a=this.da(),b;a:{b=this.eg[a];
if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.Ba)){b=!1;break a}b=!0}b?bd.call(this,a,null,0):this.A--},function(){Pc(this)?bd.call(this,4,null,this.B.Jk):this.A-=this.B.Kk},function(){this.A-=this.B.Gk;if(this.gc&1&&this.Ca&16384){var a=D(this,this.hb.Ja+0);Rb.call(this.xa,a,!1)}else{var a=this.xa.Ya,b=this.Ha(),c=this.Ha(),d=this.Ha();null!=Vb(this,b,c,!1)&&(Ub(this,d,a),this.Dh&&Ac(this,this.Ba))}},function(){Wg[this.da()].call(this,Td,Kd)},function(){Xg[this.da()].call(this,
Ud,Kd)},function(){Wg[this.da()].call(this,Td,Ld)},function(){Xg[this.da()].call(this,Ud,Ld)},function(){var a=this.da(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ca=256;this.Y=this.ia=b;this.A-=this.B.lk},function(){var a=this.da();this.Y=this.ia=this.H=(this.H>>8)*a+this.H&255;this.ca=256;this.A-=this.B.kk},function(){this.H=this.H&-256|(Kc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.jl},th,th,th,th,th,th,th,th,function(){var a=this.M();
(this.J=this.J-1&65535)&&this.Y&this.ca-1?(J(this,this.ta+a),this.A-=this.B.Rk):this.A-=this.B.Di},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Y&this.ca-1?this.A-=this.B.Fi:(J(this,this.ta+a),this.A-=this.B.Ei)},function(){var a=this.M();(this.J=this.J-1&65535)?(J(this,this.ta+a),this.A-=this.B.Qk):this.A-=this.B.Di},function(){var a=this.M();this.J?this.A-=this.B.Fi:(J(this,this.ta+a),this.A-=this.B.Ei)},function(){var a=this.da();this.H=this.H&-256|gb(this.qa,a,this.Ba-2);this.A-=this.B.xi},
function(){var a=this.da();this.H=gb(this.qa,a,this.Ba-1)|gb(this.qa,a+1&65535,this.Ba-2)<<8;this.A-=this.B.xi},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);this.A-=this.B.Mi},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);ib(this.qa,a+1&65535,this.H>>8,this.Ba-2);this.A-=this.B.Mi},function(){var a=this.L();G(this,this.ta);J(this,this.ta+a);this.A-=this.B.pk},function(){var a=this.L();J(this,this.ta+a);this.A-=this.B.yi},function(){Vb(this,this.L(),this.L());this.A-=
this.B.Mk},function(){var a=this.M();J(this,this.ta+a);this.A-=this.B.yi},function(){this.H=this.H&-256|gb(this.qa,this.K,this.Ba-1);this.A-=this.B.wi},function(){this.H=gb(this.qa,this.K,this.Ba-1)|gb(this.qa,this.K+1&65535,this.Ba-1)<<8;this.A-=this.B.wi},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);this.A-=this.B.Li},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);ib(this.qa,this.K+1&65535,this.H>>8,this.Ba-1);this.A-=this.B.Li},uh,uh,function(){this.Z|=132;this.A-=this.B.Ld},function(){this.Z|=
68;this.A-=this.B.Ld},function(){this.lb|=4;this.A-=2;this.Ca&512||qb(this)},function(){Kc(this)?Qc(this):Uc(this);this.A-=2},function(){this.Db=-1;Wg[this.da()].call(this,Wd,Nd);0<=this.Db&&(this.H=this.Db)},function(){this.Db=-1;Xg[this.da()].call(this,Xd,Nd);0<=this.Db&&(this.H=this.Db,this.K=this.Vf)},function(){this.Y&=~this.ca;this.A-=2},function(){this.Y|=this.ca;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.nk},function(){this.Ca|=512;this.Z|=4;this.A-=2},function(){this.Ca&=-1025;this.A-=
2},function(){this.Ca|=1024;this.A-=2},function(){Wg[this.da()].call(this,ac,Nd)},function(){Xg[this.da()].call(this,bc,Nd)}],Yg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Xg[a].call(this,this.xj,Nd)},function(){var a=this.da();a&16||(this.Z|=1);Xg[a].call(this,vh,Nd)},function(){M[this.da()].call(this,me)},function(){M[this.da()].call(this,ne)},L,function(){this.xa.Ya?C.call(this,13,0,!0):(qe.call(this,D(this,2054)),this.F=D(this,2086),this.G=D(this,2088),this.I=D(this,2090),this.X=D(this,
2092),this.C=D(this,2094),this.K=D(this,2096),this.J=D(this,2098),this.H=D(this,2100),Wb(this.Qa,2102,D(this,2084)),Wb(this.xa,2108,D(this,2082)),Wb(this.qb,2114,D(this,2080)),Wb(this.vb,2120,D(this,2078)),Ub(this,D(this,2072)),J(this,D(this,2074)),this.Hc=D(this,2126)|D(this,2128)<<16,this.Ee=this.Hc+D(this,2130),Wb(this.Rd,2132,D(this,2076)),this.Ic=D(this,2138)|D(this,2140)<<16,this.Fe=this.Ic+D(this,2142),Wb(this.hb,2144,D(this,2070)),this.A-=195)},function(){this.xa.Ya?C.call(this,13,0,!0):(this.gc&=
this.A-=this.B.Cb},function(){this.X=this.L();this.A-=this.B.Cb},function(){this.I=this.L();this.A-=this.B.Cb},function(){this.G=this.L();this.A-=this.B.Cb},function(){this.F=this.L();this.A-=this.B.Cb},ph,qh,ph,qh,function(){M[this.da()].call(this,je)},function(){M[this.da()].call(this,ie)},function(){this.Z|=1;Wg[this.da()].call(this,Sd,this.da)},function(){this.Z|=1;Xg[this.da()].call(this,Sd,this.L)},rh,sh,rh,sh,function(){bd.call(this,3,null,this.B.Jk)},function(){var a=this.da(),b;a:{b=this.fg[a];
if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.Ba)){b=!1;break a}b=!0}b?bd.call(this,a,null,0):this.A--},function(){Pc(this)?bd.call(this,4,null,this.B.Kk):this.A-=this.B.Lk},function(){this.A-=this.B.Hk;if(this.hc&1&&this.Ca&16384){var a=D(this,this.gb.Ja+0);Rb.call(this.xa,a,!1)}else{var a=this.xa.Xa,b=this.Ha(),c=this.Ha(),d=this.Ha();null!=Vb(this,b,c,!1)&&(Tb(this,d,a),this.Dh&&Ac(this,this.Ba))}},function(){Wg[this.da()].call(this,Td,Kd)},function(){Xg[this.da()].call(this,
Ud,Kd)},function(){Wg[this.da()].call(this,Td,Ld)},function(){Xg[this.da()].call(this,Ud,Ld)},function(){var a=this.da(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ca=256;this.Y=this.ia=b;this.A-=this.B.mk},function(){var a=this.da();this.Y=this.ia=this.H=(this.H>>8)*a+this.H&255;this.ca=256;this.A-=this.B.lk},function(){this.H=this.H&-256|(Kc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.kl},th,th,th,th,th,th,th,th,function(){var a=this.M();
(this.J=this.J-1&65535)&&this.Y&this.ca-1?(J(this,this.ta+a),this.A-=this.B.Sk):this.A-=this.B.Di},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Y&this.ca-1?this.A-=this.B.Fi:(J(this,this.ta+a),this.A-=this.B.Ei)},function(){var a=this.M();(this.J=this.J-1&65535)?(J(this,this.ta+a),this.A-=this.B.Rk):this.A-=this.B.Di},function(){var a=this.M();this.J?this.A-=this.B.Fi:(J(this,this.ta+a),this.A-=this.B.Ei)},function(){var a=this.da();this.H=this.H&-256|gb(this.qa,a,this.Ba-2);this.A-=this.B.xi},
function(){var a=this.da();this.H=gb(this.qa,a,this.Ba-1)|gb(this.qa,a+1&65535,this.Ba-2)<<8;this.A-=this.B.xi},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);this.A-=this.B.Mi},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);ib(this.qa,a+1&65535,this.H>>8,this.Ba-2);this.A-=this.B.Mi},function(){var a=this.L();G(this,this.ta);J(this,this.ta+a);this.A-=this.B.qk},function(){var a=this.L();J(this,this.ta+a);this.A-=this.B.yi},function(){Vb(this,this.L(),this.L());this.A-=
this.B.Nk},function(){var a=this.M();J(this,this.ta+a);this.A-=this.B.yi},function(){this.H=this.H&-256|gb(this.qa,this.K,this.Ba-1);this.A-=this.B.wi},function(){this.H=gb(this.qa,this.K,this.Ba-1)|gb(this.qa,this.K+1&65535,this.Ba-1)<<8;this.A-=this.B.wi},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);this.A-=this.B.Li},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);ib(this.qa,this.K+1&65535,this.H>>8,this.Ba-1);this.A-=this.B.Li},uh,uh,function(){this.Z|=132;this.A-=this.B.Md},function(){this.Z|=
68;this.A-=this.B.Md},function(){this.kb|=4;this.A-=2;this.Ca&512||qb(this)},function(){Kc(this)?Qc(this):Uc(this);this.A-=2},function(){this.Db=-1;Wg[this.da()].call(this,Wd,Nd);0<=this.Db&&(this.H=this.Db)},function(){this.Db=-1;Xg[this.da()].call(this,Xd,Nd);0<=this.Db&&(this.H=this.Db,this.K=this.Wf)},function(){this.Y&=~this.ca;this.A-=2},function(){this.Y|=this.ca;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.ok},function(){this.Ca|=512;this.Z|=4;this.A-=2},function(){this.Ca&=-1025;this.A-=
2},function(){this.Ca|=1024;this.A-=2},function(){Wg[this.da()].call(this,ac,Nd)},function(){Xg[this.da()].call(this,bc,Nd)}],Yg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Xg[a].call(this,this.xj,Nd)},function(){var a=this.da();a&16||(this.Z|=1);Xg[a].call(this,vh,Nd)},function(){M[this.da()].call(this,me)},function(){M[this.da()].call(this,ne)},L,function(){this.xa.Xa?C.call(this,13,0,!0):(qe.call(this,D(this,2054)),this.F=D(this,2086),this.G=D(this,2088),this.I=D(this,2090),this.X=D(this,
2092),this.C=D(this,2094),this.K=D(this,2096),this.J=D(this,2098),this.H=D(this,2100),Wb(this.Qa,2102,D(this,2084)),Wb(this.xa,2108,D(this,2082)),Wb(this.pb,2114,D(this,2080)),Wb(this.ub,2120,D(this,2078)),Tb(this,D(this,2072)),J(this,D(this,2074)),this.Hc=D(this,2126)|D(this,2128)<<16,this.Fe=this.Hc+D(this,2130),Wb(this.Sd,2132,D(this,2076)),this.Ic=D(this,2138)|D(this,2140)<<16,this.Ge=this.Ic+D(this,2142),Wb(this.gb,2144,D(this,2070)),this.A-=195)},function(){this.xa.Xa?C.call(this,13,0,!0):(this.hc&=
-9,this.A-=2)},L,L,L,L,H,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,
L,L,L,L,L,L],Bc=[function(){this.A-=2+(0>this.ha?0:1);return this.Rd.ya},function(){this.A-=2+(0>this.ha?0:1);return this.hb.ya},function(a){this.Z|=2;this.Rd.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;-4!=this.hb.load(a)&&(F(this,this.hb.sd+4,this.hb.ib|=512),this.hb.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.ib&2560)&&(this.Gb.kc>=this.xa.Ya&&this.Gb.kc>=(a&3)||7168==(this.Gb.ib&
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.ib&2560)&&this.Gb.kc>=this.xa.Ya&&this.Gb.kc>=(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.Ee-this.Hc,F(this,this.ha+2,this.Hc),F(this,this.ha+4,65280|this.Hc>>16),this.A-=11);return a},function(a){0>this.ha?H.call(this):(a=this.Fe-this.Ic,F(this,this.ha+2,this.Ic),F(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.Ee=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.Fe=this.Ic+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.gc},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.Ga=(this.Ga=a.model)?parseInt(this.Ga,10):wh;this.Rb=0;var b=a.sw1;if(b)this.Rb=xh(b,yh|zh.El);else{this.qd=[360,360];(b=a.floppies)&&b.length&&(this.qd=b);if(b=this.qd.length)this.Rb|=Ah.qh,b--,this.Rb|=(b&3)<<Ah.ff;if(b=a.monitor||(this.Ga<Bh?"mono":"ega"),void 0!==Ch[b])this.Rb|=Ch[b]<<zh.ff}this.Td=xh(a.sw2||"11110000",0);this.an=this.Ga==wh?16:64;this.vg=this.of=1;this.Ga>=Bh&&(this.vg=this.of=2);this.Dd=a.scaleTimers||!1;this.xo=a.rtcDate;this.Vj=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Gh=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={qh:1,ONE:0,rp:64,pp:128,Po:192,ef:192,ff:6},yh=12,zh={qp:16,Ho:32,El: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.Rb,{0:this.Ga==wh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==wh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==wh)return this.ra[b]=c,Dh(this,b,c,this.Td,{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.Ka=Ra(a,"Keyboard");this.$g=c.ba.Vc/1193181;fb(b,this,Eh);hb(b,this,Fh);this.Ga<Bh?(fb(b,this,Gh),hb(b,this,Hh)):(fb(b,this,Ih),hb(b,this,Jh))};k.Yb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Xb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Pc=this.Rb;this.we=this.Td;Kh(this);this.$a=Array(this.vg);for(b=0;b<this.vg;b++)Lh(this,b);this.Sb=Array(this.of);Mh(this,0,32);1<this.of&&Mh(this,1,160);this.Ch=null;this.Ib=Array(3);for(b=0;b<this.Ib.length;b++)Nh(this,b);this.nf=this.Ah=this.pc=this.rg=null;this.qg=0;if(this.Ga>=Bh){this.jb=16;this.cd=0;this.bd=16;this.lg=0;this.Zd=160;512<=Oh(this)&&(this.Zd|=16);3==Ph(this)&&(this.Zd|=64);this.xh=3;this.og=0;this.Tb=Array(7);this.Ge=0;a&&(this.ja=Array(64));Qh(this,
this.xo);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.qh|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.fc("CMOS date invalid ("+b+"), using "+c)):b&&a.fc("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.Pf=a.Ze=0;a.kl=a.Yg=null}
function Th(a){var b;void 0===b&&(b=a.Yg);a.Ze=B(a.la,a.Dd)+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.Rb,this.Td,this.Pc,this.we]);for(var b=[],c=0;c<this.$a;c++){for(var d=this.$a[c],e=d,f=[],g=0;g<e.xb.length;g++){var h=e.xb[g];f[g]=[h.kd,h.jg,h.Wb,h.Va,h.Xa,h.mode,h.sg,h.to,h.uo]}b[c]=[d.wd,d.yh,d.Ej,d.zb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Sb.length;c++)d=this.Sb[c],b[c]=[d.Ff,d.Gc,d.md,d.Qc,d.Kb,d.vc,d.$d,d.mf];a.set(2,[b]);b=[];for(c=0;c<this.Ib.length;c++)d=this.Ib[c],b[c]=[d.Wb,d.rc,d.Xa,d.he,d.Gj,d.mode,d.ih,d.zd,d.ge,d.Tc,d.wf,d.le,d.ld];
a.set(3,[this.Ch,b]);a.set(4,[this.rg,this.pc,this.Ah,this.nf,this.qg]);this.Ga>=Bh&&(a.set(5,[this.jb,this.cd,this.bd,this.lg,this.Zd,this.xh]),a.set(6,[this.og,this.Tb,this.Ge,this.ja,this.Pf,this.Ze]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Rb=b[0];this.Td=b[1];this.Pc=b[2];this.we=b[3];b=a[1];for(c=0;c<this.vg;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.Ch=b[0];for(c=0;c<this.Ib.length;c++)Nh(this,c,b[1][c]);b=a[4];this.rg=b[0];this.pc=b[1];this.Ah=b[2];this.nf=b[3];this.qg=b[4];if(b=a[5])this.jb=b[0],this.cd=b[1],this.bd=b[2],this.lg=b[3],this.Zd=b[4],this.xh=b[5];if(b=a[6])this.og=b[0],this.Tb=b[1],this.Ge=b[2],this.ja=b[3],
this.Pf=b[4],this.Ze=b[5],Qh(this);return!0};var Uh=[0,null,null,0,Array(4)];function Lh(a,b,c){var d=a.$a[b];d||(d={xb:Array(4)});c=c&&5==c.length?c:Uh;d.wd=c[0];d.yh=c[1];d.Ej=c[2];d.zb=c[3];d.gn=b<<2;for(var e=0;e<d.xb.length;e++)Vh(d,e,c[4][e]);a.$a[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={jg:[0,0],Wb:[0,0],Va:[0,0],Xa:[0,0]});c=c&&8==c.length?c:Wh;d.kd=c[0];d.jg[0]=c[1][0];d.jg[1]=c[1][1];d.Wb[0]=c[2][0];d.Wb[1]=c[2][1];d.Va[0]=c[3][0];d.Va[1]=c[3][1];d.Xa[0]=c[4][0];d.Xa[1]=c[4][1];d.mode=c[5];d.sg=c[6];d.ea=a;d.$j=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.zg=null,a.to=b.id,a.uo=c,a.yg=b,a.Zh=b[c],a.ah=d)}var Yh=[0,Array(4)];
function Mh(a,b,c,d){var e=a.Sb[b];e||(e={Gc:[null,null,null,null]});d=d&&8==d.length?d:Yh;e.port=c;e.Pp=b<<3;e.Ff=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.md=d[2];e.Qc=d[3];e.Kb=d[4];e.vc=d[5];e.$d=d[6];e.mf=d[7];a.Sb[b]=e}var Zh=[[0,0],[0,0],[0,0],[0,0]];
function Nh(a,b,c){var d=a.Ib[b];d||(d={Wb:[0,0],rc:[0,0],Xa:[0,0],he:[0,0]});c=c&&13==c.length?c:Zh;d.Wb[0]=c[0][0];d.Wb[1]=c[0][1];d.rc[0]=c[1][0];d.rc[1]=c[1][1];d.Xa[0]=c[2][0];d.Xa[1]=c[2][1];d.he[0]=c[3][0];d.he[1]=c[3][1];d.Gj=c[4];d.mode=c[5];d.ih=c[6];d.zd=c[7];d.ge=c[8];d.Tc=c[9];d.wf=c[10];d.le=c[11];d.ld=c[12];a.Ib[b]=d}function Oh(a,b){return((((b?a.Rb:a.Pc)&12)>>2)+1)*a.an+32*((b?a.Td:a.we)&15)}function $h(a,b){var c=b?a.Rb:a.Pc;return a.Ga!=wh||c&Ah.qh?((c&Ah.ef)>>Ah.ff)+1:0}
function Rh(a,b){if(b<$h(a)){if(!a.qd)return 1;if(b<a.qd.length)switch(a.qd[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.Rb: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.Rb=
a.Rb&~e|(c?0:e);break;case "sw2":a.Td=a.Td&~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.Rb||null!=a.we&&a.we!=a.Td)d+=" (Reset required)";b.textContent=d}}
function bi(a,b,c){a=a.$a[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.$a[b];c=a.xb[c];c.Va[a.zb]=c.jg[a.zb]=d;a.zb^=1}function di(a,b,c){a=a.$a[b];var d=a.xb[c],e=d.Xa[a.zb];a.zb^=1;b||0!=c||a.zb||(d.Xa[0]--,0>d.Xa[0]&&(d.Xa[0]=255,d.Xa[1]--,0>d.Xa[1]&&(d.Xa[1]=255)));return e}function ei(a,b,c,d){a=a.$a[b];c=a.xb[c];c.Xa[a.zb]=c.Wb[a.zb]=d;a.zb^=1}
function fi(a,b){var c=a.$a[b],d=c.wd|1;c.wd&=-16;return d}function gi(a,b,c){a=a.$a[b];b=c&3;a.wd=a.wd&~(16<<b)|(c&4)<<b+2;a.Ej=c}function hi(a,b,c){b=a.$a[b];var d=c&3,e=b.xb[d];e.kd=!!(c&4);e.kd||ii(a,b.gn+d)}function ji(a,b){for(var c=a.$a[b],d=0;d<c.xb.length;d++)Vh(c,d)}function ki(a,b,c){return a.$a[b].xb[c].sg}function li(a,b,c,d){a.$a[b].xb[c].sg=d}function mi(a,b,c,d,e){Xh(a.$a[b>>2].xb[b&3],c,d,e)}
function ii(a,b,c){b=a.$a[b>>2].xb[b&3];b.yg&&b.Zh&&b.ah?(c&&(b.zg=c),b.kd||cd(a,b,!0)):c&&c(!0)}function cd(a,b,c){c&&(b.count=b.Xa[1]<<8|b.Xa[0],b.Al=b.mode&12,b.Xj=b.Sc=!1);for(var d=!1;0<=b.count&&(c=b.sg<<16|b.Va[1]<<8|b.Va[0],4==b.Al?(d=!0,function(c){b.Zh.call(b.yg,b.ah,-1,function(f,g){0>f&&(b.Xj||(b.Xj=!0),f=255);b.kd||cb(a.qa,c,f);(d=g)&&setTimeout(function(){ni(b)||cd(a,b)},0)})}(c)):8==b.Al?(c=ab(a.qa,c),0>b.Zh.call(b.yg,b.ah,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.kd))return!1;var b=a.ea;b.wd=b.wd&~(16<<a.$j)|1<<a.$j;a.mode&16||(a.kd=!0,a.yg=a.ah=null);a.zg&&(a.zg(!a.Sc),a.zg=null);return!0}function oi(a,b){var c=0,d=a.Sb[b];if(null!=d.mf)switch(d.mf&3){case 2:c=d.Kb;break;case 3:c=d.vc}return c}
function pi(a,b,c){b=a.Sb[b];if(c&16)b.md=0,b.Gc[b.md++]=c,b.Qc=0,b.$d=7,b.Kb=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.$d+1;;){c&=7;d=1<<c;if(b.vc&d){e=d;break}if(c++==b.$d)break}b.vc&e&&(b.vc&=~e,qi(a))}else 192==d&&(b.$d=c&7)}}function ri(a,b,c){var d=a.Sb[b];d.md<d.Gc.length?(d.Gc[d.md++]=c,2==d.md&&d.Gc[0]&2&&d.md++,3!=d.md||d.Gc[0]&1||d.md++):(d.Qc=c,d=a.la,d.Z|=4,qi(a,b||253!=c?0:6))}
function wi(a,b,c){var d=a.Sb[b>>3];b=1<<(b&7);d.Kb&b||(d.Kb|=b,d.Ff=c||0,qi(a))}function xi(a,b){var c=a.Sb[b>>3],d=1<<(b&7);c.Kb&d&&(c.Kb&=~d,qi(a))}function qi(a,b){var c,d=-1;1<a.of&&(c=a.Sb[1],d=~(c.vc|c.Qc)&c.Kb);c=a.Sb[0];0<=d&&(c.Kb=d?c.Kb|4:c.Kb&-5);var d=~(c.vc|c.Qc)&c.Kb,e=a.la;e.ka&&(e.lb=d?e.lb|1:e.lb&-2);d&&b&&(c.Ff=b)}
function ad(a,b){void 0===b&&(b=0);var c=-1,d=a.Sb[b];if(d.Ff)c=-2,d.Ff--;else for(var e=d.Kb&((d.vc|d.Qc)^255),f=d.$d+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.Kb&=~g);break}if(f++==d.$d)break}return c}function yi(a,b){var c=a.Ib[b];c.zd==c.ge&&zi(a,b);if(c.wf)return c.he[c.zd++];Ai(a,b);return c.Xa[c.zd++]}
function Bi(a,b,c){var d=a.Ib[b];d.zd==d.ge&&zi(a,b);d.Wb[d.zd++]=c;d.zd==d.ge&&(d.le&&0!=d.mode&&8!=d.mode||(d.wf=!1,d.Xa[0]=d.rc[0]=d.Wb[0],d.Xa[1]=d.rc[1]=d.Wb[1],d.ld=B(a.la,a.Dd),d.le=!0,d.Tc=0!=d.mode,0==b&&(xi(a,0),c=Ci(a,0)*a.$g|0,6==d.mode&&(c>>=1),tb(a.la,c))),2==b&&wb(a))}k=N.prototype;k.Vm=function(){return null};
k.jo=function(a,b){this.Ch=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Ib[c];g.ih=f;g.mode=e;g.Gj=d;g.Wb=[0,0];g.Xa=[0,0];g.he=[0,0];g.Tc=!1;g.wf=!1;g.le=!1;zi(this,c);0==c&&xi(this,0);2==c&&255==this.Sb[0].Qc&&77==this.pc&&(c=this.Ib[0],c.rc[0]=c.Wb[0],c.rc[1]=c.Wb[1],c.ld=B(this.la,this.Dd))}else Ai(this,c),d=this.Ib[c],d.he[0]=d.Xa[0],d.he[1]=d.Xa[1],d.wf=!0,zi(this,c)}};function Ci(a,b){var c=a.Ib[b],d=c.Wb[1]<<8|c.Wb[0];d||(d=1==c.ge?256:65536);return d}
function yb(a,b){var c=a.Ib[b],d=c.rc[1]<<8|c.rc[0];d||(d=1==c.ge?256:65536);return d}function zi(a,b){var c=a.Ib[b];c.zd=32==c.ih?1:0;c.ge=48==c.ih?2:1}
function Ai(a,b,c){var d=a.Ib[b];if(d.le&&(2!=b||a.pc&1)){var e=B(a.la,a.Dd),f=(e-d.ld)/a.$g|0;0>f&&(d.ld=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.le=!1,b||wi(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.ld=e,!b&&d.Tc&&wi(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.ld=e,!b&&d.Tc&&wi(a,0)));d.Xa[0]=h&255;d.Xa[1]=h>>8;c&&(a.ld=0)}return d}
function xb(a,b){for(var c=0;c<a.Ib.length;c++)Ai(a,c,b);if(a.Ga>=Bh){var c=a.la.ba.Vc,d=B(a.la,a.Dd);null==a.Yg&&(a.Pf=B(a.la,a.Dd),a.kl=1024,a.Yg=Math.floor(a.la.ba.Vc/a.kl),Th(a));d>=a.Ze&&(a.ja[12]|=64,a.ja[11]&64&&(a.ja[12]|=128,wi(a,8)),a.Ze=d+a.Yg);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,wi(a,8)));var e=d-a.Pf,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,wi(a,8))}a.Pf=d-e%c}}k.Nm=function(){var a=this.rg;if(this.nf&16)if(this.pc&128)a=this.Pc;else if(this.Ka){var a=this.Ka,b=0;a.Jb.length&&(b=a.Jb[0]);a=b}return a};k.ao=function(a,b){this.rg=b};k.Om=function(){return this.pc};
k.bo=function(a,b){Di(this,b);this.Ka&&Ei(this.Ka,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.Pm=function(){var a=0,a=this.Ga==wh?this.pc&4?a|this.we&15:a|this.we>>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.co=function(a,b){this.Ah=b};k.Qm=function(){return this.nf};k.eo=function(a,b){this.nf=b};k.dm=function(){var a=this.lg;this.jb&=-258;this.Ka&&Fi(this.Ka);return a};
k.sn=function(a,b){if(this.jb&8)switch(this.cd){case 96:Gi(this,b);break;case 209:Hi(this,b);break;default:if(Gi(this,this.bd&-17),this.Ka){var c=-1;switch(b){case 255:c=250,Ii(this.Ka)}Ji(this,c)}}this.cd=b;this.jb&=-9};k.em=function(){return this.pc&-209|(B(this.la)&64?16:0)};k.tn=function(a,b){Di(this,b)};k.fm=function(){var a=this.jb&255;this.jb&256&&(this.jb|=1,this.jb&=-257);return a};
k.rn=function(a,b){this.cd=b;this.jb|=8;var c=0;240<=this.cd&&(c=this.cd^15,this.cd=240);switch(this.cd){case 192:Ji(this,this.Zd);break;case 173:Gi(this,this.bd|16);break;case 174:Gi(this,this.bd&-17);this.Ka&&Fi(this.Ka);break;case 170:this.Ka&&(this.Ka.Jb=[]);Gi(this,this.bd|16);Ji(this,85);Hi(this,3);break;case 224:Ji(this,this.bd&16?0:1);break;case 240:c&1&&xc(this.la)}};function Gi(a,b){a.bd=b;a.jb=a.jb&-5|b&4;a.Ka&&Ei(a.Ka,!!(b&8),!(b&16))}
function Ji(a,b){0<=b&&(a.lg=b,a.jb&=-2,a.jb|=256)}function Hi(a,b){a.xh=b;Va(a.qa,!!(b&2));b&1||xc(a.la)}function Ki(a,b){a.Ga<Bh?wi(a,1,4):a.bd&16||a.jb&257||(Ji(a,b),Li(a.Ka),wi(a,1,120))}k.tm=function(){return this.Ge};k.Hn=function(a,b){this.Ge=b;this.qg=b&128?0:128};
k.um=function(a,b){var c=this.Ge&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.In=function(a,b){var c=this.Ge&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.Lm=function(){return this.og};k.Yn=function(a,b){this.og=b};k.$n=function(a,b){this.qg=b};k.Jn=function(){};k.Kn=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.Gh){void 0!==b?a.Vj=b:b=a.Vj&&a.la&&a.la.ma.Fb;var c=Math.round(1193181/Ci(a,2));if(20>c||2E4<c)b=!1;b?a.Zc?a.Zc.frequency.value=c:(a.Zc=a.Gh.createOscillator(),a.Zc.type=1,a.Zc.connect(a.Gh.destination),a.Zc.frequency.value=c,a.Zc.noteOn(0)):a.Zc&&(a.Zc.noteOff(0),a.Zc.disconnect(),delete a.Zc)}else b&&a.cc("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.Sb[0].Qc},64:function(){return yi(this,0)},65:function(){return yi(this,1)},66:function(){return yi(this,2)},67:N.prototype.Vm,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.Nm,97:N.prototype.Om,98:N.prototype.Pm,99:N.prototype.Qm},Ih={96:N.prototype.dm,97:N.prototype.em,100:N.prototype.fm,112:N.prototype.tm,113:N.prototype.um,128:N.prototype.Lm,132:function(){return this.Tb[0]},133:function(){return this.Tb[1]},134:function(){return this.Tb[2]},136:function(){return this.Tb[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.Tb[4]},141:function(){return this.Tb[5]},142:function(){return this.Tb[6]},143:function(){return ki(this,1,0)},160:function(){return oi(this,1)},161:function(){return this.Sb[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.$a[0].yh=b},9:function(a,b){gi(this,0,b)},10:function(a,b){hi(this,0,b)},11:function(a,b){this.$a[0].xb[b&3].mode=b},12:function(){this.$a[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.jo,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.ao,97:N.prototype.bo,98:N.prototype.co,99:N.prototype.eo,160:N.prototype.$n},Jh={96:N.prototype.sn,97:N.prototype.tn,100:N.prototype.rn,112:N.prototype.Hn,113:N.prototype.In,
128:N.prototype.Yn,132:function(a,b){this.Tb[0]=b},133:function(a,b){this.Tb[1]=b},134:function(a,b){this.Tb[2]=b},136:function(a,b){this.Tb[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.Tb[4]=b},141:function(a,b){this.Tb[5]=b},142:function(a,b){this.Tb[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.$a[1].yh=b},210:function(a,b){gi(this,1,b)},212:function(a,b){hi(this,1,b)},214:function(a,b){this.$a[1].xb[b&3].mode=b},216:function(){this.$a[1].zb=0},218:function(){ji(this,1)},240:N.prototype.Jn,241:N.prototype.Kn};
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.zj=a.addr;this.mh=a.size;this.Il=a.alias;this.Wf=a.file;this.bk=a.notify;if(this.Wf){a=this.Wf;var b=ea(this.Wf);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.Wf+"&format=bytes&decimal=true");ka(a,!0,null,this,Ni.prototype.mn)}}v(s,Ni);Ni.prototype.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;Oi(this)};
Ni.prototype.Yb=function(){this.vh&&(this.Sa&&this.Sa.Ap(this.zj,this.mh,this.vh),delete this.vh);return!0};Ni.prototype.Xb=function(){return!0};
Ni.prototype.mn=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.vh=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.Wf)z(a);else if(a.yb&&a.qa){if(a.yb.length!=a.mh)Pa(a,"ROM size (0x"+p(a.yb.length)+") does not match specified size (0x"+p(a.mh)+")");else if(Pi(a,a.zj)&&Pi(a,a.Il)){if(a.bk){var b=Ka(a.bk,a.id);b&&("ega"==b.Ga&&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.mh,!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.kg=a.addr;this.od=a.size;this.Xl=a.test;this.Vl=!!this.od;this.Ag=!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.Yb=function(a,b){b||this.reset();return!0};
Ri.prototype.Xb=function(){return!0};Ri.prototype.reset=function(){if(!this.kg&&!this.Vl&&this.ka){var a=1024*Oh(this.ka);this.od&&a!=this.od&&($a(this.qa,this.kg,this.od),this.Ag=!1);this.od=a}!this.Ag&&this.od&&Wa(this.qa,this.kg,this.od)&&(this.Ag=!0,this.status(Math.floor(this.od/1024)+"Kb"));if(this.Ag){if(this.Xl||db(this.qa,1138,4660),this.ka&&(a=this.ka,a.ja)){var b=1048576>this.kg?21:23,c=a.ja[b]|a.ja[b+1]<<8,c=c+(this.od>>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.Sj=ra("Mobi");this.cc("mobile keyboard support: "+(this.Sj?"true":"false"));this.Vh=this.Pj=!1;this.oc=[];this.en=500;this.fn=100;this.dn=50;z(this)}v(s,Si);
var P={Io:1,Jo:3,Ko: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,Fo:65,Go:66,sj:67,Cl:68,E:69,No:70,Qo:71,tj:72,So:73,To:74,Uo:75,Vo:76,Wo:77,rh:78,Yo:79,Zo:80,ap:81,vj:82,ep:83,op:84,sp:85,tp:86,up:87,wp:88,xp:89,yp:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,zp:97,Bp:98,Dp:99,Ep:100,Fp:101,Gp:102,Hp:103,Ip:104,Jp:105,Kp:106,Lp:107,
Mp:108,Np:109,Op:110,Qp:111,Rp:112,Sp:113,Tp:114,Up:115,Vp:116,Wp:117,Yp:118,Zp: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["'"];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[":"];
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)&&(F(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,F(this,this.ha+2,this.Hc),F(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,F(this,this.ha+2,this.Ic),F(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.Ga=(this.Ga=a.model)?parseInt(this.Ga,10):wh;this.Sb=0;var b=a.sw1;if(b)this.Sb=xh(b,yh|zh.Fl);else{this.rd=[360,360];(b=a.floppies)&&b.length&&(this.rd=b);if(b=this.rd.length)this.Sb|=Ah.qh,b--,this.Sb|=(b&3)<<Ah.ff;if(b=a.monitor||(this.Ga<Bh?"mono":"ega"),void 0!==Ch[b])this.Sb|=Ch[b]<<zh.ff}this.Ud=xh(a.sw2||"11110000",0);this.bn=this.Ga==wh?16:64;this.wg=this.of=1;this.Ga>=Bh&&(this.wg=this.of=2);this.Ed=a.scaleTimers||!1;this.yo=a.rtcDate;this.Wj=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Gh=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={qh:1,ONE:0,sp:64,qp:128,Qo:192,ef:192,ff:6},yh=12,zh={rp:16,Io:32,Fl: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.Ga==wh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==wh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==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.Ka=Ra(a,"Keyboard");this.$g=c.ba.Vc/1193181;fb(b,this,Eh);hb(b,this,Fh);this.Ga<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.Ch=null;this.Jb=Array(3);for(b=0;b<this.Jb.length;b++)Nh(this,b);this.nf=this.Ah=this.pc=this.sg=null;this.rg=0;if(this.Ga>=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.xh=3;this.pg=0;this.Ub=Array(7);this.He=0;a&&(this.ja=Array(64));Qh(this,
this.yo);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.qh|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.ll=a.Yg=null}
function Th(a){var b;void 0===b&&(b=a.Yg);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.wb.length;g++){var h=e.wb[g];f[g]=[h.md,h.kg,h.Xb,h.Va,h.Wa,h.mode,h.tg,h.uo,h.vo]}b[c]=[d.xd,d.yh,d.Ej,d.yb,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.Gj,d.mode,d.ih,d.Ad,d.he,d.Tc,d.xf,d.me,d.nd];
a.set(3,[this.Ch,b]);a.set(4,[this.sg,this.pc,this.Ah,this.nf,this.rg]);this.Ga>=Bh&&(a.set(5,[this.ib,this.ed,this.dd,this.mg,this.$d,this.xh]),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.Ch=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.Ah=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.xh=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={wb:Array(4)});c=c&&5==c.length?c:Uh;d.xd=c[0];d.yh=c[1];d.Ej=c[2];d.yb=c[3];d.hn=b<<2;for(var e=0;e<d.wb.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.wb[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.ak=b;Xh(d,c[8],c[9]);a.wb[b]=d}function Xh(a,b,c,d){"string"==typeof b&&(b=Ka(b));b&&(a.Ag=null,a.uo=b.id,a.vo=c,a.zg=b,a.Zh=b[c],a.ah=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.Qp=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.Gj=c[4];d.mode=c[5];d.ih=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.bn+32*((b?a.Ud:a.xe)&15)}function $h(a,b){var c=b?a.Sb:a.Pc;return a.Ga!=wh||c&Ah.qh?((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.wb[c],e=d.Va[a.yb];a.yb^=1;b||0!=c||a.yb||(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.wb[c];c.Va[a.yb]=c.kg[a.yb]=d;a.yb^=1}function di(a,b,c){a=a.Za[b];var d=a.wb[c],e=d.Wa[a.yb];a.yb^=1;b||0!=c||a.yb||(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.wb[c];c.Wa[a.yb]=c.Xb[a.yb]=d;a.yb^=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.Ej=c}function hi(a,b,c){b=a.Za[b];var d=c&3,e=b.wb[d];e.md=!!(c&4);e.md||ii(a,b.hn+d)}function ji(a,b){for(var c=a.Za[b],d=0;d<c.wb.length;d++)Vh(c,d)}function ki(a,b,c){return a.Za[b].wb[c].tg}function li(a,b,c,d){a.Za[b].wb[c].tg=d}function mi(a,b,c,d,e){Xh(a.Za[b>>2].wb[b&3],c,d,e)}
function ii(a,b,c){b=a.Za[b>>2].wb[b&3];b.zg&&b.Zh&&b.ah?(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.Bl=b.mode&12,b.Yj=b.Sc=!1);for(var d=!1;0<=b.count&&(c=b.tg<<16|b.Va[1]<<8|b.Va[0],4==b.Bl?(d=!0,function(c){b.Zh.call(b.zg,b.ah,-1,function(f,g){0>f&&(b.Yj||(b.Yj=!0),f=255);b.md||cb(a.qa,c,f);(d=g)&&setTimeout(function(){ni(b)||cd(a,b)},0)})}(c)):8==b.Bl?(c=ab(a.qa,c),0>b.Zh.call(b.zg,b.ah,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.ak)|1<<a.ak;a.mode&16||(a.md=!0,a.zg=a.ah=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.$g|0,6==d.mode&&(c>>=1),tb(a.la,c))),2==b&&wb(a))}k=N.prototype;k.Wm=function(){return null};
k.ko=function(a,b){this.Ch=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.ih=f;g.mode=e;g.Gj=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.ih?1:0;c.he=48==c.ih?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.$g|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.Ga>=Bh){var c=a.la.ba.Vc,d=B(a.la,a.Ed);null==a.Yg&&(a.Qf=B(a.la,a.Ed),a.ll=1024,a.Yg=Math.floor(a.la.ba.Vc/a.ll),Th(a));d>=a.$e&&(a.ja[12]|=64,a.ja[11]&64&&(a.ja[12]|=128,si(a,8)),a.$e=d+a.Yg);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.Om=function(){var a=this.sg;if(this.nf&16)if(this.pc&128)a=this.Pc;else if(this.Ka){var a=this.Ka,b=0;a.Kb.length&&(b=a.Kb[0]);a=b}return a};k.bo=function(a,b){this.sg=b};k.Pm=function(){return this.pc};
k.co=function(a,b){Di(this,b);this.Ka&&Ei(this.Ka,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.Qm=function(){var a=0,a=this.Ga==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.eo=function(a,b){this.Ah=b};k.Rm=function(){return this.nf};k.fo=function(a,b){this.nf=b};k.em=function(){var a=this.mg;this.ib&=-258;this.Ka&&Fi(this.Ka);return a};
k.tn=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.Ka){var c=-1;switch(b){case 255:c=250,Ii(this.Ka)}Ji(this,c)}}this.ed=b;this.ib&=-9};k.fm=function(){return this.pc&-209|(B(this.la)&64?16:0)};k.un=function(a,b){Di(this,b)};k.gm=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a};
k.sn=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.Ka&&Fi(this.Ka);break;case 170:this.Ka&&(this.Ka.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.Ka&&Ei(a.Ka,!!(b&8),!(b&16))}
function Ji(a,b){0<=b&&(a.mg=b,a.ib&=-2,a.ib|=256)}function Hi(a,b){a.xh=b;Va(a.qa,!!(b&2));b&1||xc(a.la)}function Ki(a,b){a.Ga<Bh?si(a,1,4):a.dd&16||a.ib&257||(Ji(a,b),Li(a.Ka),si(a,1,120))}k.um=function(){return this.He};k.In=function(a,b){this.He=b;this.rg=b&128?0:128};
k.vm=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.Jn=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.Mm=function(){return this.pg};k.Zn=function(a,b){this.pg=b};k.ao=function(a,b){this.rg=b};k.Kn=function(){};k.Ln=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.Gh){void 0!==b?a.Wj=b:b=a.Wj&&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.Gh.createOscillator(),a.ad.type=1,a.ad.connect(a.Gh.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.Wm,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.Om,97:N.prototype.Pm,98:N.prototype.Qm,99:N.prototype.Rm},Ih={96:N.prototype.em,97:N.prototype.fm,100:N.prototype.gm,112:N.prototype.um,113:N.prototype.vm,128:N.prototype.Mm,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].yh=b},9:function(a,b){gi(this,0,b)},10:function(a,b){hi(this,0,b)},11:function(a,b){this.Za[0].wb[b&3].mode=b},12:function(){this.Za[0].yb=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.ko,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.bo,97:N.prototype.co,98:N.prototype.eo,99:N.prototype.fo,160:N.prototype.ao},Jh={96:N.prototype.tn,97:N.prototype.un,100:N.prototype.sn,112:N.prototype.In,113:N.prototype.Jn,
128:N.prototype.Zn,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].yh=b},210:function(a,b){gi(this,1,b)},212:function(a,b){hi(this,1,b)},214:function(a,b){this.Za[1].wb[b&3].mode=b},216:function(){this.Za[1].yb=0},218:function(){ji(this,1)},240:N.prototype.Kn,241:N.prototype.Ln};
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.xb=null;this.zj=a.addr;this.mh=a.size;this.Jl=a.alias;this.Xf=a.file;this.ck=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.nn)}}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.vh&&(this.Sa&&this.Sa.Bp(this.zj,this.mh,this.vh),delete this.vh);return!0};Ni.prototype.Yb=function(){return!0};
Ni.prototype.nn=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.xb=e;else if(f)for(this.xb=Array(4*f.length),c=b=0;b<f.length;b++)this.xb[c++]=f[b]&255,this.xb[c++]=f[b]>>8&255,this.xb[c++]=f[b]>>16&255,this.xb[c++]=f[b]>>24&255;else this.xb=d;this.vh=d.symbols;if(!this.xb.length){q("Empty ROM: "+a);return}if(1==this.xb.length){q(this.xb[0]);return}}catch(g){this.Aa("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.xb=Array(a.length),d=0;d<a.length;d++)this.xb[d]=parseInt(a[d],16);Oi(this)}};function Oi(a){if(!Oa(a))if(!a.Xf)z(a);else if(a.xb&&a.qa){if(a.xb.length!=a.mh)Pa(a,"ROM size (0x"+p(a.xb.length)+") does not match specified size (0x"+p(a.mh)+")");else if(Pi(a,a.zj)&&Pi(a,a.Jl)){if(a.ck){var b=Ka(a.ck,a.id);b&&("ega"==b.Ga&&Qi(b,a.xb,[8752,12640],8),z(b))}delete a.xb}z(a)}}
function Pi(a,b){if(null==b)return!0;if(Wa(a.qa,b,a.mh,!0)){for(var c=0;c<a.xb.length;c++)cb(a.qa,b+c,a.xb[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.Yl=a.test;this.Wl=!!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.Wl&&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.Yl||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.Tj=ra("Mobi");this.dc("mobile keyboard support: "+(this.Tj?"true":"false"));this.Ij=0;this.Vh=this.Qj=!1;this.Ib=[];this.fn=500;this.gn=100;this.en=50;z(this)}v(s,Si);
var P={Jo:1,Ko:3,Lo: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,Go:65,Ho:66,sj:67,Dl:68,E:69,Oo:70,Ro:71,tj:72,To:73,Uo:74,Vo:75,Wo:76,Xo:77,rh:78,Zo:79,$o:80,bp:81,vj:82,fp:83,pp:84,tp:85,up:86,vp:87,xp:88,yp:89,zp:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ap:97,Cp:98,Ep:99,Fp:100,Gp:101,Hp:102,Ip:103,Jp:104,Kp:105,Lp:106,Mp:107,
Np:108,Op:109,Pp:110,Rp:111,Sp:112,Tp:113,Up:114,Vp:115,Wp:116,Xp:117,Zp:118,$p: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["'"];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['"'];
var Ui={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,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,"num-down":1040,
@ -487,182 +487,183 @@ a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":P[";"],quote:P["'"],"`":P["`"],
R[87]=10769;R[101]=18;R[69]=10770;R[114]=19;R[82]=10771;R[116]=20;R[84]=10772;R[121]=21;R[89]=10773;R[117]=22;R[85]=10774;R[105]=23;R[73]=10775;R[111]=24;R[79]=10776;R[112]=25;R[80]=10777;R[P["["]]=26;R[P["{"]]=10778;R[P["]"]]=27;R[P["}"]]=10779;R[13]=28;R[1017]=29;R[97]=30;R[65]=10782;R[115]=31;R[83]=10783;R[100]=32;R[68]=10784;R[102]=33;R[70]=10785;R[103]=34;R[71]=10786;R[104]=35;R[72]=10787;R[106]=36;R[74]=10788;R[107]=37;R[75]=10789;R[108]=38;R[76]=10790;R[P[";"]]=39;R[P[":"]]=10791;
R[P["'"]]=40;R[P['"']]=10792;R[P["`"]]=41;R[P["~"]]=10793;R[1016]=42;R[P["\\"]]=43;R[P["|"]]=10795;R[122]=44;R[90]=10796;R[120]=45;R[88]=10797;R[99]=46;R[67]=10798;R[118]=47;R[86]=10799;R[98]=48;R[66]=10800;R[110]=49;R[78]=10801;R[109]=50;R[77]=10802;R[P[","]]=51;R[P["<"]]=10803;R[P["."]]=52;R[P[">"]]=10804;R[P["/"]]=53;R[P["?"]]=10805;R[3016]=54;R[1044]=55;R[1018]=56;R[P[" "]]=57;R[1020]=58;R[1112]=59;R[1113]=60;R[1114]=61;R[1115]=62;R[1116]=63;R[1117]=64;R[1118]=65;R[1119]=66;R[1120]=67;
R[1121]=68;R[1144]=69;R[1145]=70;R[1036]=71;R[1038]=72;R[1033]=73;R[1109]=74;R[1037]=75;R[1101]=76;R[1039]=77;R[1107]=78;R[1035]=79;R[1040]=80;R[1034]=81;R[1045]=82;R[1046]=83;R[1122]=87;R[1123]=88;R[1091]=91;R[1093]=93;R[4003]=7470;R[4008]=7494;R[4046]=3677523;k=Si.prototype;
k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ra[e])switch(b){case "kbd":return this.ra[e]=c,c.onkeydown=function(a){return Yi(d,a,!0)},c.onkeypress=function(a){var b=!1,c=!0;a=a||window.event;a=a.which||a.keyCode;var e=d.oc.length?d.oc[0].Sd:0;e&&(65<=e&&90>=e||97<=e&&122>=e)&&(65<=a&&90>=a||97<=a&&122>=a)&&e!=a&&(d.Vh=!0,a=e);8==a||9==a?c=!1:d.Wa&128?d.Wa&=-129:d.Wa&40?c=!1:(d.Pj&&a==P["`"]&&(a=27),c=!1,b=!0);b&&Zi(d,a,!0);return c},c.onkeyup=function(a){return Yi(d,a,!1)},!0;case "caps-lock":return this.ra[e]=
c,c.onclick=function(){d.la&&d.la.nd();Zi(d,1020,!0)},!0;case "num-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.nd();Zi(d,1144,!0)},!0;case "scroll-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.nd();Zi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==Vi[f]&&"button"==a)return this.ra[e]=c,c.onclick=function(a,b,c){return function(){a.la&&a.la.nd();$i(a,c,!0);Zi(a,c,!0)}}(this,f,Vi[f]),!0;if(void 0!==Wi[b])return this.ra[e]=c,a=function(a,b,c){return function(){Zi(a,
c)}}(this,b,Wi[b]),b=function(a,b,c){return function(){aj(a,c)}}(this,b,Wi[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function bj(a,b,c){for(var d in Wi){var e;(e=Wi[d]==b)||(e=b,97<=e&&122>=e&&(e-=32),e=Wi[d]==e);if(e){(a=a.ra["key-"+d])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet")};
function Ii(a,b){a.cc("keyboard reset",cj|dj);a.Jb=[170];b&&a.ka&&Ki(a.ka,a.Jb[0])}function Ei(a,b,c){a.Qh!==c&&(a.Qh=a.Uh=c);a.Eg!==b&&(a.Eg=b)&&!a.Uh&&Li(a,!0);a.Eg&&a.Uh&&(Ii(a,!0),a.Uh=!1)}function Fi(a){var b=0;a.Jb.length&&(b=a.Jb[0],a.ka&&Ki(a.ka,b))}function Li(a,b){0<a.Jb.length&&(a.Jb.shift(),b&&a.Jb.length&&a.ka&&Ki(a.ka,a.Jb[0]))}k.Yb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Xb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){this.Fd();this.Wa=this.He=0;this.Jb=[]};k.save=function(){var a=new I(this);a.set(0,this.mj());return a.data()};k.restore=function(a){return this.Fd(a[0])};k.Fd=function(a){var b=0;void 0===a&&(a=[]);this.Qh=a[b++];this.Eg=a[b];return!0};k.mj=function(){var a=0,b=[];b[a++]=this.Qh;b[a]=this.Eg;return b};
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.He:a.Wa)&b));if(c){a.He&=~b;d&&(a.He|=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.He&e?"#00ff00":"#000000")}else a.Wa&=~b,d&&(a.Wa|=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.oc.length;e++)if(d=a.oc[e],d.Sd==b){if(!c||0<=d.$e){e=-1;break}0<e&&(a.oc[0].$e=0,a.oc.splice(e,1));break}0>e||(e==a.oc.length&&(d={},d.Sd=b,d.Wa=a.Wa,bj(a,b,!0),e++),0<e&&a.oc.splice(0,0,d),d.Fg=!0,d.$e=c?-1:Ui[b]?0:1,ej(a,d))}}
function aj(a,b,c){if(R[b]&&(c||a.la&&a.la.ma.Fb)){for(var d=0;d<a.oc.length;d++){var e=a.oc[d];if(e.Sd==b||e.Sd==Q[b]){a.oc[0].$e=0;a.oc.splice(d,1);e.yl&&clearTimeout(e.yl);e.Fg&&!c&&fj(a,e.Sd,!1);bj(a,b,!1);break}}!a.oc.length&&a.Vh&&($i(a,1020),a.Vh=!1)}}function ej(a,b){if(a.la&&a.la.ma.Fb){if(fj(a,b.Sd,b.Fg),b.$e){var c;if(0>b.$e){if(!b.Fg){aj(a,b.Sd);return}b.Fg=!1;c=a.dn}else c=1==b.$e++?a.en:a.fn;b.yl=setTimeout(function(a){return function(){ej(a,b)}}(a),c)}}else aj(a,b.Sd,!0)}
function Yi(a,b,c){var d=!0,e=!1,f=!c,g,h=b.keyCode,m=h;if(65<=h&&90>=h)a.Wa&515||(m=h+32);else if(a.Wa&3){if(g=Q[h])m=g}else if(g=Ti[h])m=g;if(R[h+1E3])if(m+=1E3,2==b.location&&(m+=2E3),$i(a,m,!1,c)){if(20==h||144==h||145==h)c=e=!0;f=!1}else{if(8==h||9==h||27==h)8==h&&8==(a.Wa&40)&&(m=4008),d=!1}else 91==h&&(a.Wa&=-129,c&&(a.Wa|=128),f=!1);f&&(a.Wa&=-129);R[m]&&b.preventDefault();a.Sj&&d||(c?Zi(a,m,e):aj(a,m));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.Wa&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.Wa&3||a.Wa&512&&b||(g=h):29==h?a.Wa&12||(g=h):56==h?a.Wa&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.Jb&&(20>d.Jb.length?(d.Jb.push(f),1==d.Jb.length&&d.ka&&Ki(d.ka,f)):(20==d.Jb.length&&d.Jb.push(255),d.cc("scan code buffer overflow")))}}
k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ra[e])switch(b){case "kbd":return this.ra[e]=c,c.onkeydown=function(a){return Yi(d,a,!0)},c.onkeypress=function(a){var b,c=!1;b=!0;b=a||window.event;a=b.which||b.keyCode;(b=d.Ib.length?d.Ib[0].Td:0)&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Vh=!0,a=b);8==a||9==a?b=!1:(c=!(d.zb&40),b=!R[b]);c&&Zi(d,a,!0);return b},c.onkeyup=function(a){return Yi(d,a,!1)},!0;case "caps-lock":return this.ra[e]=c,c.onclick=function(){d.la&&
d.la.$c();Zi(d,1020,!0)},!0;case "num-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.$c();Zi(d,1144,!0)},!0;case "scroll-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.$c();Zi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==Vi[f]&&"button"==a)return this.ra[e]=c,c.onclick=function(a,b,c){return function(){a.la&&a.la.$c();$i(a,c,!0);Zi(a,c,!0)}}(this,f,Vi[f]),!0;if(void 0!==Wi[b])return this.Ij++,this.ra[e]=c,a=function(a,b,c){return function(){Zi(a,
c)}}(this,b,Wi[b]),b=function(a,b,c){return function(){aj(a,c)}}(this,b,Wi[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function bj(a,b,c){if(a.Ij){for(var d in Q)if(b==Q[d]){b=parseInt(d,10);(d=Ti[d])&&(b=d);break}for(var e in Wi)if((d=Wi[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=Wi[e]==d),d){(a=a.ra["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet")};function Ii(a,b){a.dc("keyboard reset",cj|dj);a.Kb=[170];b&&a.ka&&Ki(a.ka,a.Kb[0])}function Ei(a,b,c){a.Qh!==c&&(a.Qh=a.Uh=c);a.Fg!==b&&(a.Fg=b)&&!a.Uh&&Li(a,!0);a.Fg&&a.Uh&&(Ii(a,!0),a.Uh=!1)}function Fi(a){var b=0;a.Kb.length&&(b=a.Kb[0],a.ka&&Ki(a.ka,b))}function Li(a,b){0<a.Kb.length&&(a.Kb.shift(),b&&a.Kb.length&&a.ka&&Ki(a.ka,a.Kb[0]))}
k.Zb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Gd();this.zb=this.Ie=0;this.Kb=[]};k.save=function(){var a=new I(this);a.set(0,this.mj());return a.data()};k.restore=function(a){return this.Gd(a[0])};k.Gd=function(a){var b=0;void 0===a&&(a=[]);this.Qh=a[b++];this.Fg=a[b];return!0};k.mj=function(){var a=0,b=[];b[a++]=this.Qh;b[a]=this.Fg;return b};
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.zb)&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.zb&=~b,d&&(a.zb|=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.zb=a.zb,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.zl&&clearTimeout(f.zl);f.wf&&!c&&fj(a,f.Td,!1);bj(a,b,!1);d=!0;break}}!a.Ib.length&&a.Vh&&($i(a,1020),a.Vh=!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.en}else c=1==b.Yc++?a.fn:a.gn;b.zl=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)c&&a.zb&515||(d=b+32);else if(97<=b&&122>=b){if(!c||a.zb&515)d=b-32}else if(!c||a.zb&3){if(a=Q[b])d=a}else if(a=Ti[b])d=a;return d}
function Yi(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=gj(a,g,!0);a.Qj&&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(g=0;g<a.Ib.length;g++){var m=a.Ib[g];m.wf=!1;0<m.Yc&&(m.Yc=0)}}else 8==g&&8==(a.zb&40)&&(h=4008),d=!1;else R[h]&&a.zb&252&&(d=!1),a.zb&192&&(f=!0);d||b.preventDefault();f||a.Tj&&d||(c?Zi(a,h,e):aj(a,h)||(b=gj(a,h,!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.zb&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.zb&3||a.zb&512&&b||(g=h):29==h?a.zb&12||(g=h):56==h?a.zb&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.Ga=a.model;this.Kc=0;"ega"==this.Ga&&(this.tl=a.switches,this.Kc=a.memory||0);this.Xc=a.mode;if(void 0===this.Xc||void 0===V[this.Xc])this.Xc=gj;this.Ug=a.charCols;this.ni=a.charRows;if(void 0===this.Ug||void 0===this.ni)this.Ug=V[this.Xc][0],this.ni=V[this.Xc][1];this.ed=a.screenWidth;this.Bd=a.screenHeight;this.Wl=a.scale;this.Ul=12<=Math.round(this.ed/this.Ug);this.Yl=a.touchScreen;this.pf=b;this.Lc=c;this.Fa=(this.Ao=d)||b||null;this.Hd=null;this.Sl=
a.autoLock;this.Ua=this.Hb=0;this.rd=[];this.$c=Array(16);this.Rh=!1;var e=this;this.Fa&&(this.Fa.onfocus=function(){e.Rh=!0},this.Fa.onblur=function(){e.Rh=!1},this.Fa.Ue=this.Fa.requestPointerLock||this.Fa.mozRequestPointerLock||this.Fa.webkitRequestPointerLock,this.Fa.zl=this.Fa.exitPointerLock||this.Fa.mozExitPointerLock||this.Fa.webkitExitPointerLock,b=function(){e.Qf(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.nn)}v(s,S);
var hj={2:{qi:15700,pi:208,dj:85,ej:96},3:{qi:18432,pi:364,dj:85,ej:96},4:{qi:21850,pi:364,dj:85,ej:96}},ij={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]},gj=7,V=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];V[gj]=[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 jj=Array(5);jj[0]=[0,0,0,255];jj[1]=[127,192,127,255];
jj[2]=[127,192,127,255];jj[3]=[127,255,127,255];jj[4]=[127,255,127,255];var kj=[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 lj=[2,4,6],mj=[3,5,7],nj=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],oj=[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 pj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=qj[b],f=a.Kd||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(rj)];this.Mg=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.Zf=c[3];this.Ac=c[4]&255;this.Lg=c[4]>>8&255;this.hc=c[5];this.gi=rj;if(5==b){this.gi=sj;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.Cd=b[0];this.ne=b[1];this.Vd=b[2];this.nj=b[3];this.Pg=b[4];this.Xh=b[5];this.Te=b[6];this.hg=b[7];this.$h=b[8];this.ai=b[9];this.Se=b[10];this.Be=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.Yd=b[14])&&this.Yd.length<d){for(var e=this.Yd,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.Yd=h}this.lh(b[15]);this.aj=b[16];
this.fb=b[17];this.Wc=b[18];this.mb=b[19];this.Zg=b[20];this.Nd=b[21];this.qe=b[22];this.ii=b[23];this.ji=b[24]}f=hj[f]||hj[3];this.ki=a.la.ba.Vc/f.qi|0;this.hn=this.ki*f.dj/100|0;this.jk=this.ki*f.pi;this.kn=this.jk*f.ej/100|0;this.ri=null==c[7]?0:c[7]}}var rj=18,sj=25;function tj(a){return this.Cc(a)|this.Cc(a+1)<<8}function uj(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.aj&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.ii&this.ea.ji,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.fb|(b|b<<8|b<<16|b<<24)&this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!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.Nd|this.ea.qe;d=d&this.ea.fb|this.pa[c]&~this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!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.Nd|this.ea.qe;d&=this.ea.Ab;d=d&this.ea.fb|this.pa[c]&~this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[2560]=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.Nd|this.ea.qe;d|=this.ea.Ab;d=d&this.ea.fb|this.pa[c]&~this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[3584]=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.Nd|this.ea.qe;d^=this.ea.Ab;d=d&this.ea.fb|this.pa[c]&~this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.fb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.pa[d]&~c;c=c&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[d]!=c&&(this.pa[d]=c,this.kb=!0)};
Y[4096]=function(a){a+=this.offset;var b=this.pa[a]&~this.ea.fb|this.ea.Ab&this.ea.fb;this.pa[a]!=b&&(this.pa[a]=b,this.kb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=oj[b&15],d=d&this.ea.fb|this.pa[c]&~this.ea.fb,d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=oj[b&15],d=d&this.ea.Ab,d=d&this.ea.fb|this.pa[c]&~this.ea.fb,d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[40960]=function(a,b){var c=a+this.offset,d=oj[b&15],d=d|this.ea.Ab,d=d&this.ea.fb|this.pa[c]&~this.ea.fb,d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=oj[b&15],d=d^this.ea.Ab,d=d&this.ea.fb|this.pa[c]&~this.ea.fb,d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
function vj(a){var b=[];if(void 0!==a.Mg){b[0]=a.Mc;b[1]=a.tc;b[2]=a.qf;b[3]=a.Zf;b[4]=a.Ac|a.Lg<<8;b[5]=a.hc;if(5==a.Mg){var c=[];c[0]=a.Cd;c[1]=a.ne;c[2]=a.Vd;c[3]=a.nj;c[4]=a.Pg;c[5]=a.Xh;c[6]=a.Te;c[7]=a.hg;c[8]=a.$h;c[9]=a.ai;c[10]=a.Se;c[11]=a.Be;c[12]=a.Ab;c[13]=[a.Ua,a.Hb,a.Kc];var d;a:if(d=a.Yd){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.fi;c[16]=a.aj;c[17]=a.fb;c[18]=a.Wc;c[19]=a.mb;c[20]=a.Zg;c[21]=a.Nd;c[22]=a.qe;c[23]=a.ii;c[24]=a.ji;b[6]=c}b[7]=a.ri}return b}pj.prototype.lh=function(a){if(null!=a&&a!=this.fi){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,tj,null,uj]);this.kf[0]=c;this.kf[2]=d;this.fi=a}};var qj=[,["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,wj);hb(b,this,xj);"ega"==this.Ga&&(fb(b,this,yj),hb(b,this,zj));if((this.Ka=Ra(a,"Keyboard"))&&this.pf){for(var e in this.ra)0<e.indexOf("lock")&&this.Ka.Eb("led",e,this.ra[e]);this.Ka.Eb(this.Ao?"textarea":"canvas","kbd",this.Fa)}this.mg=9;(this.ka=Ra(a,"ChipSet"))&&this.tl&&(this.mg=xh(this.tl,this.mg));this.Ka&&this.Yl&&Aj(this)};
k.Eb=function(a,b,c){var d=this;if(!this.ra[b])switch(this.ra[b]=c,b){case "lockPointer":return this.vo=c.textContent,this.Fa&&this.Fa.Ue?c.onclick=function(){d.Ue(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){mb(d,!0)},!0}return!1};k.nd=function(){this.Fa&&this.Fa.focus()};k.Ue=function(a){if(this.Fa)if(a){if(this.Fa.Ue)return this.Fa.Ue(),this.Hd.Qf(!0),!0}else if(this.Fa.zl)return this.Fa.zl(),this.Hd.Qf(!1),!0;return!1};
k.Qf=function(a){this.Hd&&(this.Hd.Qf(a),this.Ka&&(this.Ka.Pj=a));var b=this.ra.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vo)};function Aj(a){var b=a.Fa;b&&!a.Ph&&(b.addEventListener("touchstart",function(b){Bj(a,b)},!1),b.addEventListener("touchmove",function(b){Bj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Ph=!0)}
function Bj(a,b){a.Rh&&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.ed/a.pf.offsetWidth,e=a.Bd/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.ed/3)|0;d=(h-d)*e/(a.Bd/3)|0;1!=d?d?Zi(a.Ka,1040,!0):Zi(a.Ka,1038,!0):1!=c&&(c?Zi(a.Ka,1039,!0):Zi(a.Ka,1037,!0))}
k.Yb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Xb=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.Ga)switch(this.Ga){case "ega":var c=!0,d=ij[this.mg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.Kd!==b&&(this.Kd=b,a=!0);this.Ea=null;this.Jc=this.Eh=new pj(this,1);this.bc=this.xg=new pj(this,3);c?(this.oa=new pj(this,5,null,this.Kc),Cj(this)):this.oa=new pj;Dj(this);this.Jd=null;this.Xc=3==b?gj:3;this.ee=this.Bc=-1;this.de=0;Ej(this,this.Xc);if(this.Ea.Ua&&a){a=this.Ea.Ua+this.Fh;for(b=this.Ea.Ua;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.Kd?(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 Cj(a){a.oa.Pg&1?(a.Jc=a.Eh,a.bc=a.oa):(a.Jc=a.oa,a.bc=a.xg)}k.save=function(){var a=new I(this);a.set(0,vj(this.Eh));a.set(1,vj(this.xg));a.set(2,[this.Kd,this.Xc,this.Jd]);a.set(3,vj(this.oa));return a.data()};
k.restore=function(a){var b=a[2];this.Kd=b[0];this.Xc=b[1];this.Jd=b[2];this.Ea=null;this.Jc=this.Eh=new pj(this,1,a[0]);this.bc=this.xg=new pj(this,3,a[1]);this.oa=new pj(this,5,a[3],this.Kc);this.oa.Mc&&Cj(this);Dj(this);if(!Fj(this))return!1;Gj(this);return!0};
k.nn=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 Hj(a,b){if(1==b)return a.$c[0]=W[0],a.$c[1]=W[7],a.$c;if(2==b){var c=a.Ea.qf;if(a.Ea===a.oa){var d=a.oa.Vd[0],c=d&7;d&16&&(c|=8);18!=a.oa.Vd[1]&&(c|=32)}a.$c[0]=W[c&15];c=c&32?mj:lj;for(d=0;d<c.length;d++)a.$c[d+1]=W[c[d]];return a.$c}if(a.bc===a.xg)return W;c=null!=a.oa.Vd[15]?a.oa.Vd:nj;for(d=0;d<a.$c.length;d++){var e=c[d]||0;a.$c[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.$c}function Qi(a,b,c,d){a.ig=b;a.uh=c;a.ie=d}
function Dj(a){var b=!1;if(window&&a.ig){var c=a.ie?0:2048,d=a.ie?a.ie:9;Ij(a,1,a.uh[0],c,d,14,a.ig,jj,kj)&&(b=!0);c=Hj(a);d=a.ie?a.ie:8;Ij(a,3,a.uh[1],0,d,8,a.ig,c)&&(b=!0);a.ie&&Ij(a,5,a.uh[0],0,a.ie,14,a.ig,c)&&(b=!0)}return b}function Ij(a,b,c,d,e,f,g,h,m){var n=!1;Jj(a,b,c,d,e,f,g,h,m)&&(n=!0);a.Ul&&Jj(a,b<<1,c,d,e,f,g,h,m)&&(n=!0);return n}
function Jj(a,b,c,d,e,f,g,h,m){var n=!1,r=b&1?0:1,t=a.rd[b];t||(t={ic:e<<r,jc:f<<r,Ae:Array(h.length),yj:h.slice(),gf:m,sh:Array(h.length)});for(m=0;m<h.length;m++){var u=h[m],x=t.Ae[m]?t.yj[m]:[];if(u[0]!==x[0]||u[1]!==x[1]||u[2]!==x[2]){var n=t,x=m,E=r,T=c,O=d,U=e,ya=f,Ya=g,Tb=[0,0,0,0],Cc=window.document.createElement("canvas");Cc.width=n.ic<<4;Cc.height=n.jc<<4;for(var si=Cc.getContext("2d"),za=void 0,Cb=void 0,Za=void 0,Dc=8>ya||!O?ya:8,yd=si.createImageData(n.ic,n.jc),za=0;256>za;za++){for(Za=
0;Za<ya;Za++)for(var Kk=n.gf&&x&1&&Za>=ya-2,Lk=Ya[Za<Dc?T+za*Dc+Za:O+za*Dc+Za-Dc],zd=0;zd<=E;zd++)for(Cb=0;Cb<U;Cb++){var ti=Cb<<E,ui=(Za<<E)+zd,vi=Kk||Lk&128>>(8<=Cb&&176<=za&&223>=za?7:Cb)?u:Tb;Kj(yd,ti,ui,vi);E&&Kj(yd,ti+1,ui,vi)}si.putImageData(yd,(za&15)*n.ic,(za>>4)*n.jc)}n.Ae[x]="#"+p(u[0],2)+p(u[1],2)+p(u[2],2);n.yj[x]=u;n.sh[x]=Cc;n=!0}}a.rd[b]=t;return n}function Lj(a){0<a.de||0<=a.Bc?0>a.ee&&(a.ee=0):a.ee=-1}
function Gj(a){if(a.Nb){for(var b=10;15>=b;b++)if(null==a.Ea.hc[b])return;var c=a.Ea.hc[10],b=c&31,d=a.Ea.hc[11]&31,e=a.Ea.hc[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)Mj(a);else{c=a.Ea.hc[15]+((a.Ea.hc[14]&63)<<8);a.Bc!=c&&(Mj(a),a.Bc=c);d=d-b+1;if(a.Bl!=b||a.Kj!=d)a.Bl=b,a.Kj=d;a.Ad=e+1;Lj(a)}}}
function Mj(a){if(0<=a.Bc){if(void 0!==a.ac){var b=a.ac[a.Bc];if(b&131072){var b=b&-131073,c=a.Bc%a.Bb,d=Math.floor(a.Bc/a.Bb);a.Nb&&a.rd[a.Nb]&&(a.Ke&&Nj(a,c,d,b,a.Ke),Nj(a,c,d,b));a.ac[a.Bc]=b}}a.Bc=-1}}
function Oj(a){var b;a=a.Ea;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.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.ue=function(a){var b=this.Ea;null!=a&&b&&a!=b.fi&&(b.lh(a),this.qa.lh(b.Ua,b.Hb,b.kf))};
function Fj(a,b){var c,d=a.Jd,e=a.Ea;if(e)if(1==e.Mg)d=gj;else if(5==e.Mg){var d=null,f=e.Kc>>2,g=32768<f?32768:f,h=e.Be[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.Kd?15:16;break;case 8:e.Ua=720896;e.Hb=g;d=gj;break;case 12:e.Ua=753664,e.Hb=g,d=3==a.Kd?2:3}c=e.hg[1]&8;f=e.hc[6]|(e.hc[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=Oj(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.Jd=null,null==d&&(d=a.Xc);if(!Ej(a,d,b))return!1;a.ue(c);return!0}
function Ej(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.Jl=0;a.Jd=b;b=a.Ea||(b==gj?a.Jc:a.bc);if(b!=a.Ea||b.Ua!=a.Ua||b.Hb!=a.Hb){Mj(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.Nb=0;a.Bb=a.Ug;a.mc=a.ni;a.hi=V[gj][2];b=0;var d=V[a.Jd];d&&(a.Bb=d[0],a.mc=d[1],a.hi=d[2],b=d[3]||0,a.Nb=d[4],4==a.Kd&&a.Ea===a.oa&&3==a.Nb&&(7==a.oa.hc[9]?a.mc=43:a.Nb=5));a.gk=a.Bb*a.mc;a.Rg=a.gk/a.hi;a.Fh=(a.Rg<<1)+b;a.Ij=
b?a.Fh+b>>1:0;13<=a.Jd&&(a.Rg<<=1);a.rd.length&&(a.fd=Math.floor(a.ed/a.Bb),a.gd=Math.floor(a.Bd/a.mc),a.Nb?(b=a.rd[a.Nb],d=a.rd[a.Nb<<1],a.Wl&&80==a.Bb?d&&a.fd>=3*d.ic>>2&&(a.Nb<<=1,b=d):(d&&a.fd>=d.ic&&(a.Nb<<=1,b=d),b&&(a.fd=b.ic,a.gd=b.jc)),a.sf=a.tf=0,b&&(a.sf=a.Bb*b.ic,a.tf=a.mc*b.jc)):(a.fd=a.gd=1,a.sf=a.Bb,a.tf=a.mc),a.Ng=a.Lc.createImageData(a.sf,a.tf),a.Ie=window.document.createElement("canvas"),a.Ie.width=a.sf,a.Ie.height=a.tf,a.Ke=a.Ie.getContext("2d"),a.qj=a.rj=0,a.Ih=a.ed,a.Jh=a.Bd,
b=a.ed-a.Bb*a.fd,d=a.Bd-a.mc*a.gd,0<b&&(a.qj=b>>1,a.Ih-=b),0<d&&(a.rj=d>>1,a.Jh-=d),b||d)&&(a.Lc.fillStyle=a.pf.style.backgroundColor,a.Lc.fillRect(0,0,a.ed,a.Bd));!1!==c?mb(a,!0):Pj(a,!0)}return!0}function Kj(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 Pj(a,b){var c;if(b){if(c=a.Rg,void 0===a.ac||a.ac.length!=c)a.ac=Array(c)}else{if(void 0===a.ac)return;c=a.ac.length}for(var d=0;d<c;d++)a.ac[d]=-1;a.de=-1}
function Nj(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.rd[a.Nb];h.gf&&(d=h.gf[d]);var m=g>>4&15;h.gf&&(m=h.gf[m]);e?(b*=h.ic,c*=h.jc,e.fillStyle=h.Ae[m],e.fillRect(b,c,h.ic,h.jc)):(b=b*a.fd+a.qj,c=c*a.gd+a.rj,a.Lc.fillStyle=h.Ae[m],a.Lc.fillRect(b,c,a.fd,a.gd));g&256&&(m=(f&15)*h.ic,f=(f>>4)*h.jc,e?e.drawImage(h.sh[d],m,f,h.ic,h.jc,b,c,h.ic,h.jc):a.Lc.drawImage(h.sh[d],m,f,h.ic,h.jc,b,c,a.fd,a.gd));g&512&&(f=a.Bl,g=a.Kj,e?(a.Ad&&a.Ad!==h.jc&&(f=Math.floor(f*h.jc/a.Ad),g=Math.floor(g*h.jc/a.Ad)),
e.fillStyle=h.Ae[d],e.fillRect(b,c+f,h.ic,g)):(a.Ad&&a.Ad!==a.gd&&(f=Math.floor(f*a.gd/a.Ad),g=Math.floor(g*a.gd/a.Ad)),a.Lc.fillStyle=h.Ae[d],a.Lc.fillRect(b,c+f,a.fd,g)))}
function mb(a,b){if(a.ma.Mb){var c=!1;a.Ea&&(a.Ea===a.oa?a.oa.ne&32&&(c=!0):a.Ea.tc&8&&(c=!0));if(c||b){if(b)Pj(a,!0);else if(void 0===a.ac)return;var d=!1;!(b||++a.Jl&15)&&0<=a.ee&&(a.ee++,d=!0);var e=0,f=a.gk,c=a.Ea.Ua,g=c+a.Ea.Hb,h=(a.Ea.hc[12]<<8)+a.Ea.hc[13];a.Nb&&(h<<=1);var c=c+h,m=a.Fh;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.Ub;0<m&&r<h.Da.length;)h.Da[r].kb&&(h.Da[r].kb=n=!1,h.Da[r].Nj=!0),m-=h.xc,r++;h=n}if(h){if(!d)return;if(!a.de){if(0>a.Bc)return;e=a.Bc;f=
e+1}}if(a.Nb){if(a.rd[a.Nb]){d=0;h=a.de=0;m=1048575;a.Ea.tc&32&&(h=32768,m&=~h,a.ee&2||(m&=-65537));for(c+=e<<1;c<g&&e<f;)n=bb(a.qa,c),n|=65536,n&h&&(a.de++,n&=m),e==a.Bc&&(n|=a.ee&1?131072:0),r=a.ac[e],r!=n&&(Nj(a,e%a.Bb,Math.floor(e/a.Bb),n,a.Ke),a.ac[e]=n,d++),c+=2,e++;d&&a.Ke&&a.Lc.drawImage(a.Ie,0,0,a.sf,a.tf,a.qj,a.rj,a.Ih,a.Jh);Lj(a)}}else if(a.Ij){for(var f=g,t,u,e=c,g=a.de=0,d=a.hi,h=16==d?65536:196608,m=16==d?1:2,n=Hj(a,m),x=r=0,E=a.Bb,T=0,O=a.mc,U=0;e<f;){t=bb(a.qa,e);u=a.ac[g];if(u===
t)r+=d;else{a.ac[g]=t;t=t>>8|(t&255)<<8;u=h;var ya=16;r<E&&(E=r);for(var Ya=0;Ya<d;Ya++){var Tb=(t&(u>>=m))>>(ya-=m);Kj(a.Ng,r++,x,n[Tb])}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.mc)break;x==a.mc&&(x=1,e=c+a.Ij)}}E<a.Bb&&(a.Ke.putImageData(a.Ng,0,0,E,O,T-E,U-O),a.Lc.drawImage(a.Ie,0,0,a.Bb,a.mc,0,0,a.ed,a.Bd))}else{f=g;e=a.de=0;g=Hj(a);d=a.Ea.Yd;m=h=0;n=a.Bb;r=0;x=a.mc;for(E=0;c<f;){T=c++-a.Ua;T=d[T];O=a.ac[e];if(O===T)h+=8;else{a.ac[e]=T;h<n&&(n=h);for(O=0;8>O;O++)U=
T&2155905152,0>U&&(U+=4294967296),U=X[U]||0,Kj(a.Ng,h++,m,g[U]),T<<=1;h>r&&(r=h);m<x&&(x=m);m>=E&&(E=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.mc))break}n<a.Bb&&(a.Ke.putImageData(a.Ng,0,0,n,x,r-n,E-x),a.Lc.drawImage(a.Ie,0,0,a.Bb,a.mc,0,0,a.ed,a.Bd))}}}}k.Im=function(){return this.Jc.Ac};k.Wn=function(a,b){var c=this.Jc;c.Lg=c.Ac;c.Ac=b&31};k.Hm=function(){return Qj(this.Jc)};k.Vn=function(a,b){Rj(this,this.Jc,b)};k.Jm=function(){return this.Jc.tc};k.Xn=function(a,b){this.Jc.tc=b;Fj(this,!1)};
k.Km=function(){return Sj(this,this.Jc)};k.ml=function(a,b){this.oa.Xh=this.oa.Xh&-4|b&3};k.ck=function(){var a=this.oa.Cd?this.oa.Vd[this.oa.ne&31]:this.oa.ne;this.oa.Cd=!this.oa.Cd;return a};k.ll=function(a,b){var c=this.oa.ne&32;if(this.oa.Cd){var d=this.oa.ne&31;if(16<=d||!c)this.oa.Vd[d]=b;this.oa.Cd=!1}else this.oa.ne=b,this.oa.Cd=!0,b&32&&!c&&Dj(this)&&mb(this,!0)};k.Um=function(){var a=3-((this.oa.Pg&12)>>2),a=this.oa.nj&-17|(this.mg&1<<a)<<4-a;return this.oa.nj=a};
k.Zn=function(a,b){this.oa.Pg=b;Cj(this)};k.Tm=function(){return this.oa.Te};k.ho=function(a,b){this.oa.Te=b};k.Sm=function(){return this.oa.hg[this.oa.Te]};k.fo=function(a,b){this.oa.hg[this.oa.Te]=b;2==this.oa.Te&&(this.oa.fb=oj[b&15])};k.Am=function(){return this.oa.$h};k.Qn=function(a,b){this.oa.$h=b};k.Bm=function(){return this.oa.ai};k.Rn=function(a,b){this.oa.ai=b};k.zm=function(){return this.oa.Se};k.Pn=function(a,b){this.oa.Se=b};k.ym=function(){return this.oa.Be[this.oa.Se]};
k.On=function(a,b){this.oa.Be[this.oa.Se]=b;switch(this.oa.Se){case 0:this.oa.Zg=oj[b&15];this.oa.qe=this.oa.Zg&~this.oa.Nd;break;case 1:this.oa.Nd=~oj[b&15];this.oa.qe=this.oa.Zg&~this.oa.Nd;break;case 2:this.oa.ii=oj[b&15]&2155905152;break;case 3:case 5:this.ue(Oj(this));break;case 4:this.oa.aj=(b&3)<<3;break;case 6:Fj(this,!1);break;case 7:this.oa.ji=oj[b&15^15]&2155905152;break;case 8:this.oa.mb=b|b<<8|b<<16|b<<24}};k.qm=function(){return this.bc.Ac};
k.Fn=function(a,b){var c=this.bc;c.Lg=c.Ac;c.Ac=b&31};k.pm=function(){return Qj(this.bc)};k.En=function(a,b){Rj(this,this.bc,b)};k.rm=function(){return this.bc.tc};k.Gn=function(a,b){this.bc.tc=b;Fj(this,!1)};k.om=function(){return this.bc.qf};k.Dn=function(a,b){this.bc.qf!==b&&(this.bc.qf=b,Pj(this,!1))};k.sm=function(){return Sj(this,this.bc)};function Qj(a){var b;a.Ac<a.gi&&(b=a.hc[a.Ac]);return b}function Rj(a,b,c){b.Ac<b.gi&&(b.hc[b.Ac]=c,9==b.Ac&&8!=b.Lg&&Fj(a,!0),Gj(a))}
function Sj(a,b){var c=0,d=B(a.la),e=d-b.ri;0>e&&(e=0);e%b.ki>b.hn&&(c|=1);e%=b.jk;e>b.kn&&(c|=8);b.ri=d-e;b===a.oa?(c|=b.Zf&48^48,b.Cd=!1):c=(b.Zf^=9)|240;return b.Zf=c}
var wj={948:S.prototype.Im,949:S.prototype.Hm,952:S.prototype.Jm,954:S.prototype.Km,980:S.prototype.qm,981:S.prototype.pm,984:S.prototype.rm,985:S.prototype.om,986:S.prototype.sm},xj={948:S.prototype.Wn,949:S.prototype.Vn,952:S.prototype.Xn,980:S.prototype.Fn,981:S.prototype.En,984:S.prototype.Gn,985:S.prototype.Dn},yj={960:S.prototype.ck,961:S.prototype.ck,962:S.prototype.Um,964:S.prototype.Tm,965:S.prototype.Sm,970:S.prototype.Bm,972:S.prototype.Am,974:S.prototype.zm,975:S.prototype.ym},zj={954:S.prototype.ml,
960:S.prototype.ll,961:S.prototype.ll,962:S.prototype.Zn,964:S.prototype.ho,965:S.prototype.fo,970:S.prototype.Rn,972:S.prototype.Qn,974:S.prototype.Pn,975:S.prototype.On,986:S.prototype.ml};
function S(a,b,c,d){s.call(this,"Video",a,S);this.Ga=a.model;this.Kc=0;"ega"==this.Ga&&(this.ul=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.Ug=a.charCols;this.ni=a.charRows;if(void 0===this.Ug||void 0===this.ni)this.Ug=V[this.Xc][0],this.ni=V[this.Xc][1];this.gd=a.screenWidth;this.Cd=a.screenHeight;this.Xl=a.scale;this.Vl=12<=Math.round(this.gd/this.Ug);this.Zl=a.touchScreen;this.pf=b;this.Lc=c;this.Fa=(this.Bo=d)||b||null;this.Id=null;this.Tl=
a.autoLock;this.Ua=this.Hb=0;this.sd=[];this.bd=Array(16);this.Rh=!1;var e=this;this.Fa&&(this.Fa.onfocus=function(){e.Rh=!0},this.Fa.onblur=function(){e.Rh=!1},this.Fa.Ve=this.Fa.requestPointerLock||this.Fa.mozRequestPointerLock||this.Fa.webkitRequestPointerLock,this.Fa.Al=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.on)}v(s,S);
var ij={2:{qi:15700,pi:208,dj:85,ej:96},3:{qi:18432,pi:364,dj:85,ej:96},4:{qi:21850,pi:364,dj:85,ej: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.Mg=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.Lg=c[4]>>8&255;this.ic=c[5];this.gi=sj;if(5==b){this.gi=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.nj=b[3];this.Pg=b[4];this.Xh=b[5];this.Ue=b[6];this.ig=b[7];this.$h=b[8];this.ai=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.lh(b[15]);this.aj=b[16];
this.eb=b[17];this.Wc=b[18];this.lb=b[19];this.Zg=b[20];this.Od=b[21];this.re=b[22];this.ii=b[23];this.ji=b[24]}f=ij[f]||ij[3];this.ki=a.la.ba.Vc/f.qi|0;this.jn=this.ki*f.dj/100|0;this.kk=this.ki*f.pi;this.ln=this.kk*f.ej/100|0;this.ri=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.aj&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.ii&this.ea.ji,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)};
Y[2560]=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)};
Y[3584]=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)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.eb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.pa[d]&~c;c=c&this.ea.lb|this.ea.Ab&~this.ea.lb;this.pa[d]!=c&&(this.pa[d]=c,this.jb=!0)};
Y[4096]=function(a){a+=this.offset;var b=this.pa[a]&~this.ea.eb|this.ea.Ab&this.ea.eb;this.pa[a]!=b&&(this.pa[a]=b,this.jb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=pj[b&15],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[24576]=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[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.Mg){b[0]=a.Mc;b[1]=a.tc;b[2]=a.qf;b[3]=a.$f;b[4]=a.Ac|a.Lg<<8;b[5]=a.ic;if(5==a.Mg){var c=[];c[0]=a.Dd;c[1]=a.oe;c[2]=a.Wd;c[3]=a.nj;c[4]=a.Pg;c[5]=a.Xh;c[6]=a.Ue;c[7]=a.ig;c[8]=a.$h;c[9]=a.ai;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.fi;c[16]=a.aj;c[17]=a.eb;c[18]=a.Wc;c[19]=a.lb;c[20]=a.Zg;c[21]=a.Od;c[22]=a.re;c[23]=a.ii;c[24]=a.ji;b[6]=c}b[7]=a.ri}return b}qj.prototype.lh=function(a){if(null!=a&&a!=this.fi){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.fi=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.Ga&&(fb(b,this,zj),hb(b,this,Aj));if((this.Ka=Ra(a,"Keyboard"))&&this.pf){for(var e in this.ra)0<e.indexOf("lock")&&this.Ka.Eb("led",e,this.ra[e]);this.Ka.Eb(this.Bo?"textarea":"canvas","kbd",this.Fa)}this.ng=9;(this.ka=Ra(a,"ChipSet"))&&this.ul&&(this.ng=xh(this.ul,this.ng));this.Ka&&this.Zl&&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.wo=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.Al&&(this.Fa.Al(),this.Id.Rf(!1),b=!0),this.$c());return b};
k.Rf=function(a){this.Id&&(this.Id.Rf(a),this.Ka&&(this.Ka.Qj=a));var b=this.ra.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.wo)};function Bj(a){var b=a.Fa;b&&!a.Ph&&(b.addEventListener("touchstart",function(b){Cj(a,b)},!1),b.addEventListener("touchmove",function(b){Cj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Ph=!0)}
function Cj(a,b){a.Rh&&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.Ka,1040,!0):Zi(a.Ka,1038,!0):1!=c&&(c?Zi(a.Ka,1039,!0):Zi(a.Ka,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.Ga)switch(this.Ga){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.Eh=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.Fh;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.Pg&1?(a.Jc=a.Eh,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.Eh));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.Eh=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.on=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.uh=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.uh[0],c,d,14,a.jg,kj,lj)&&(b=!0);c=Ij(a);d=a.je?a.je:8;Jj(a,3,a.uh[1],0,d,8,a.jg,c)&&(b=!0);a.je&&Jj(a,5,a.uh[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.Vl&&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),yj:h.slice(),gf:m,sh:Array(h.length)});for(m=0;m<h.length;m++){var u=h[m],x=t.Be[m]?t.yj[m]:[];if(u[0]!==x[0]||u[1]!==x[1]||u[2]!==x[2]){var n=t,x=m,E=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<=E;zd++)for(Cb=0;Cb<U;Cb++){var ui=Cb<<E,vi=(Za<<E)+zd,wi=Lk||Mk&128>>(8<=Cb&&176<=za&&223>=za?7:Cb)?u:Ub;Lj(yd,ui,vi,wi);E&&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.yj[x]=u;n.sh[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.Cl!=b||a.Lj!=d)a.Cl=b,a.Lj=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.fi&&(b.lh(a),this.qa.lh(b.Ua,b.Hb,b.kf))};
function Gj(a,b){var c,d=a.Kd,e=a.Ea;if(e)if(1==e.Mg)d=hj;else if(5==e.Mg){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.Kl=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.Ug;a.nc=a.ni;a.hi=V[hj][2];b=0;var d=V[a.Kd];d&&(a.Bb=d[0],a.nc=d[1],a.hi=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.hk=a.Bb*a.nc;a.Rg=a.hk/a.hi;a.Fh=(a.Rg<<1)+b;a.Jj=
b?a.Fh+b>>1:0;13<=a.Kd&&(a.Rg<<=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.Xl&&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.Ng=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.qj=a.rj=0,a.Ih=a.gd,a.Jh=a.Cd,
b=a.gd-a.Bb*a.hd,d=a.Cd-a.nc*a.jd,0<b&&(a.qj=b>>1,a.Ih-=b),0<d&&(a.rj=d>>1,a.Jh-=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.Rg,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.qj,c=c*a.jd+a.rj,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.sh[d],m,f,h.jc,h.kc,b,c,h.jc,h.kc):a.Lc.drawImage(h.sh[d],m,f,h.jc,h.kc,b,c,a.hd,a.jd));g&512&&(f=a.Cl,g=a.Lj,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.Kl&15)&&0<=a.fe&&(a.fe++,d=!0);var e=0,f=a.hk,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.Fh;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].Oj=!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.qj,a.rj,a.Ih,a.Jh);Mj(a)}}else if(a.Jj){for(var f=g,t,u,e=c,g=a.ee=0,d=a.hi,h=16==d?65536:196608,m=16==d?1:2,n=Ij(a,m),x=r=0,E=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<E&&(E=r);for(var Ya=0;Ya<d;Ya++){var Ub=(t&(u>>=m))>>(ya-=m);Lj(a.Ng,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.Jj)}}E<a.Bb&&(a.Le.putImageData(a.Ng,0,0,E,O,T-E,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(E=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.Ng,h++,m,g[U]),T<<=1;h>r&&(r=h);m<x&&(x=m);m>=E&&(E=m+1)}e++;if(h>=a.Bb&&(h=0,++m>a.nc))break}n<a.Bb&&(a.Le.putImageData(a.Ng,0,0,n,x,r-n,E-x),a.Lc.drawImage(a.Je,0,0,a.Bb,a.nc,0,0,a.gd,a.Cd))}}}}k.Jm=function(){return this.Jc.Ac};k.Xn=function(a,b){var c=this.Jc;c.Lg=c.Ac;c.Ac=b&31};k.Im=function(){return Rj(this.Jc)};k.Wn=function(a,b){Sj(this,this.Jc,b)};k.Km=function(){return this.Jc.tc};k.Yn=function(a,b){this.Jc.tc=b;Gj(this,!1)};
k.Lm=function(){return Tj(this,this.Jc)};k.nl=function(a,b){this.oa.Xh=this.oa.Xh&-4|b&3};k.dk=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.ml=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.Vm=function(){var a=3-((this.oa.Pg&12)>>2),a=this.oa.nj&-17|(this.ng&1<<a)<<4-a;return this.oa.nj=a};
k.$n=function(a,b){this.oa.Pg=b;Dj(this)};k.Um=function(){return this.oa.Ue};k.io=function(a,b){this.oa.Ue=b};k.Tm=function(){return this.oa.ig[this.oa.Ue]};k.ho=function(a,b){this.oa.ig[this.oa.Ue]=b;2==this.oa.Ue&&(this.oa.eb=pj[b&15])};k.Bm=function(){return this.oa.$h};k.Rn=function(a,b){this.oa.$h=b};k.Cm=function(){return this.oa.ai};k.Sn=function(a,b){this.oa.ai=b};k.Am=function(){return this.oa.Te};k.Qn=function(a,b){this.oa.Te=b};k.zm=function(){return this.oa.Ce[this.oa.Te]};
k.Pn=function(a,b){this.oa.Ce[this.oa.Te]=b;switch(this.oa.Te){case 0:this.oa.Zg=pj[b&15];this.oa.re=this.oa.Zg&~this.oa.Od;break;case 1:this.oa.Od=~pj[b&15];this.oa.re=this.oa.Zg&~this.oa.Od;break;case 2:this.oa.ii=pj[b&15]&2155905152;break;case 3:case 5:this.ve(Pj(this));break;case 4:this.oa.aj=(b&3)<<3;break;case 6:Gj(this,!1);break;case 7:this.oa.ji=pj[b&15^15]&2155905152;break;case 8:this.oa.lb=b|b<<8|b<<16|b<<24}};k.rm=function(){return this.cc.Ac};
k.Gn=function(a,b){var c=this.cc;c.Lg=c.Ac;c.Ac=b&31};k.qm=function(){return Rj(this.cc)};k.Fn=function(a,b){Sj(this,this.cc,b)};k.sm=function(){return this.cc.tc};k.Hn=function(a,b){this.cc.tc=b;Gj(this,!1)};k.pm=function(){return this.cc.qf};k.En=function(a,b){this.cc.qf!==b&&(this.cc.qf=b,Qj(this,!1))};k.tm=function(){return Tj(this,this.cc)};function Rj(a){var b;a.Ac<a.gi&&(b=a.ic[a.Ac]);return b}function Sj(a,b,c){b.Ac<b.gi&&(b.ic[b.Ac]=c,9==b.Ac&&8!=b.Lg&&Gj(a,!0),Hj(a))}
function Tj(a,b){var c=0,d=B(a.la),e=d-b.ri;0>e&&(e=0);e%b.ki>b.jn&&(c|=1);e%=b.kk;e>b.ln&&(c|=8);b.ri=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.Jm,949:S.prototype.Im,952:S.prototype.Km,954:S.prototype.Lm,980:S.prototype.rm,981:S.prototype.qm,984:S.prototype.sm,985:S.prototype.pm,986:S.prototype.tm},yj={948:S.prototype.Xn,949:S.prototype.Wn,952:S.prototype.Yn,980:S.prototype.Gn,981:S.prototype.Fn,984:S.prototype.Hn,985:S.prototype.En},zj={960:S.prototype.dk,961:S.prototype.dk,962:S.prototype.Vm,964:S.prototype.Um,965:S.prototype.Tm,970:S.prototype.Cm,972:S.prototype.Bm,974:S.prototype.Am,975:S.prototype.zm},Aj={954:S.prototype.nl,
960:S.prototype.ml,961:S.prototype.ml,962:S.prototype.$n,964:S.prototype.io,965:S.prototype.ho,970:S.prototype.Sn,972:S.prototype.Rn,974:S.prototype.Qn,975:S.prototype.Pn,986:S.prototype.nl};
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;ra("iOS")&&(e.setAttribute("autocapitalize","off"),e.setAttribute("autocorrect","off"));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;");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.Zj=a.adapter;switch(this.Zj){case 1:this.fj=1016;this.If=4;break;case 2:this.fj=760;this.If=3;break;default:q("Unrecognized serial adapter #"+this.Zj);return}this.yd=null;s.call(this,"SerialPort",a,Z);var b=a.binding,c;a=Tj;b&&(void 0===c&&(c="Panel"),(c=La(c,this.id))&&(b=c.ra[b])&&this.Eb(null,a,b))}v(s,Z);var Tj="buffer";k=Z.prototype;k.Aj=function(a,b){return a==this.ci?(this.Hd=b,this):null};
k.Eb=function(a,b,c){var d=this;switch(b){case Tj:return this.ra[b]=this.yd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Uj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Uj(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,Vj,this.fj);hb(b,this,Wj,this.fj);z(this)};k.Yb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.Xb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Fd()};k.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.Bh;c[b++]=this.Fj;c[b++]=this.xe;c[b++]=this.ng;c[b++]=this.ud;c[b++]=this.ae;c[b++]=this.Rc;c[b++]=this.wc;c[b++]=this.Dj;c[b]=this.hf;a.set(0,c);return a.data()};k.restore=function(a){return this.Fd(a[0])};
k.Fd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Bh=a[b++];this.Fj=a[b++];this.xe=a[b++];this.ng=a[b++];this.ud=a[b++];this.ae=a[b++];this.Rc=a[b++];this.wc=a[b++];this.Dj=a[b++];this.hf=a[b];return!0};function Uj(a,b){a.hf=a.hf.concat(b);Xj(a)}function Xj(a){0<a.hf.length&&!(a.wc&1)&&(a.Bh=a.hf.shift(),a.wc|=1);var b=-1;a.wc&1&&a.ng&1&&(b=4);0<=b?(a.ud&=-8,a.ud|=b,a.ka&&a.If&&wi(a.ka,a.If)):(a.ud|=1,a.ka&&a.If&&xi(a.ka,a.If))}
k.Rm=function(){var a=this.ae&128?this.xe&255:this.Bh;this.wc&=-2;Xj(this);return a};k.Cm=function(){return this.ae&128?this.xe>>8:this.ng};k.Dm=function(){return this.ud};k.Em=function(){return this.ae};k.Gm=function(){return this.Rc};k.Fm=function(){return this.wc};k.Mm=function(){return this.Dj};
k.io=function(a,b){if(this.ae&128)this.xe=this.xe&-256|b;else{this.Fj=b;this.wc&=-97;var c;this.yd?(13!=b&&(8==b?this.yd.value=this.yd.value.slice(0,-1):(this.yd.value+=String.fromCharCode(b),this.yd.scrollTop=this.yd.scrollHeight)),c=!0):c=!1;c&&(this.wc|=96)}};k.Sn=function(a,b){this.ae&128?this.xe=this.xe&255|b<<8:this.ng=b};k.Tn=function(a,b){this.ae=b};
k.Un=function(a,b){var c=this.Rc;this.Rc=b;if(this.Hd&&(c^b)&3){var c=this.Hd,d=this.Rc,e=3==(d&3);if(e){if(!c.Mc){var f=!1;c.Rc&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.Rc&1||(c.cc("serial mouse ID requested"),f=!0);f&&(Uj(c.rf,[77,77]),c.cc("serial mouse ID sent"));Yj(c,c.Fa);c.setActive(e)}}else c.Mc&&(c.cc("serial mouse inactive"),Zj(c.Fa),c.setActive(e));c.Rc=d}};
var Vj={0:Z.prototype.Rm,1:Z.prototype.Cm,2:Z.prototype.Dm,3:Z.prototype.Em,4:Z.prototype.Gm,5:Z.prototype.Fm,6:Z.prototype.Mm},Wj={0:Z.prototype.io,1:Z.prototype.Sn,3:Z.prototype.Tn,4:Z.prototype.Un};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 ak(a){s.call(this,"Mouse",a,ak);if(this.bi=a.serial)this.ij="SerialPort";this.setActive(!1);this.Gg=!1;z(this)}v(s,ak);k=ak.prototype;
k.sc=function(a,b,c,d){this.Oa=a;this.qa=b;this.la=c;this.Sa=d;this.oh=Ra(this.Oa,"Video")};k.setActive=function(a){this.Mc=a};k.Yb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.ij&&!this.rf){for(var c=null;(c=Ra(this.Oa,this.ij,c))&&(!c.Aj||!(this.rf=c.Aj(this.bi,this))););this.rf?this.oh&&(c=this.oh,c.Hd=this,this.Fa=c.Fa):q(this.id+": "+this.ij+" "+this.bi+" unavailable")}this.Mc?Yj(this,this.Fa):Zj(this.Fa)}return!0};
k.Xb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Fd()};k.save=function(){var a=new I(this);a.set(0,this.mj());return a.data()};k.restore=function(a){return this.Fd(a[0])};k.Fd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.$f=a[b++];this.ag=a[b++];this.ye=a[b++];this.ze=a[b++];this.Bg=a[b++];this.Cg=a[b++];this.Rc=a[b];return!0};
k.mj=function(){var a=0,b=[];b[a++]=this.Mc;b[a++]=this.$f;b[a++]=this.ag;b[a++]=this.ye;b[a++]=this.ze;b[a++]=this.Bg;b[a++]=this.Cg;b[a]=this.Rc;return b};k.Qf=function(a){this.Gg=a};
function Yj(a,b){b&&(a.Ph||(b.addEventListener("mousemove",function(b){if(a.Mc&&a.la&&a.la.ma.Fb){if(0>a.$f||0>a.ag)a.$f=b.clientX,a.ag=b.clientY;a.Gg?(a.ye=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.ze=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ye=b.clientX-a.$f,a.ze=b.clientY-a.ag);(a.ye||a.ze)&&bk(a);a.$f=b.clientX;a.ag=b.clientY}},!1),b.addEventListener("mousedown",function(b){ck(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){ck(a,b.button,!1)},!1),a.Ph=!0),b.style.cursor=
"none")}function Zj(a){a&&(a.style.cursor="auto")}function ck(a,b,c){if(a.Mc&&a.la&&a.la.ma.Fb){var d;!(d=!1!==a.Gg)&&(d=a.oh)&&(d=a.oh,d=d.Sl?d.Ue(!0):!1);d||(a.Gg=null);switch(b){case 0:a.Bg!=c&&(a.Bg=c,bk(a));break;case 2:a.Cg!=c&&(a.Cg=c,bk(a))}}}function bk(a){Uj(a.rf,[64|(a.Bg?32:0)|(a.Cg?16:0)|(a.ze&192)>>4|(a.ye&192)>>6,a.ye&63,a.ze&63]);a.ye=a.ze=0}wa(function(){for(var a=y(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new ak(d);Ma(d,c)}});
function dk(a,b,c){s.call(this,"Disk",{id:a.ak+".disk"+ek++},dk);this.ea=a;this.Oa=a.Oa;this.Sa=a.Sa;this.Na=b;this.Yc=b.name;this.Oe=b.Oe;this.Hg=this.hd=!1;this.create(c,b.ob,b.pb,b.ub,b.eb);this.Wd=[];this.dg=[];this.pd=null;this.fk=0;this.Wh=!1;z(this)}var ek=0;v(s,dk);k=dk.prototype;k.sc=function(a,b,c,d){this.Sa=d};k.Yb=function(a,b){b||!this.Hg||this.hd||(z(this,!1),this.load(this.Yc,this.se,null,this.Rl,this));return!0};k.Rl=function(){z(this,!0)};
k.Xb=function(a,b){if(this.hd){var c,d=0;if(this.Wh&&!ma("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=fk(this,!1);)if(d=c[0]){this.ea.Aa('Unable to save "'+this.Yc+'" (error '+d+")");break}b&&this.hd&&(c="action=close&volume="+this.se,c+="&machine="+this.ea.Qe(),c+="&user="+this.ea.Ed(),ka(la()+"/api/v1/disk?"+c,!0),this.hd=!1);!d&&a&&this.ea.Aa(this.Yc+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.ob=b;this.pb=c;this.ub=d;this.eb=e;this.ab=[];if("preload"!=this.mode){a=Array(this.ob);for(b=0;b<a.length;b++){c=Array(this.pb);for(d=0;d<c.length;d++){e=Array(this.ub);for(var f=1;f<=e.length;f++)e[f-1]=gk(null,b,d,f,this.eb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.ab=a}this.Me=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.me)if(this.Yc=a,this.se=b,this.me=d,this.Ll=e||this.ea,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.ob=d[0];g.pb=d[1];g.ub=d[2];g.eb=512;b=g.eb>>2;var e=d=0,a=new DataView(a,0,c);g.ab=Array(g.ob);for(c=0;c<g.ab.length;c++)for(var f=g.ab[c]=Array(g.pb),E=0;E<f.length;E++)for(var T=f[E]=Array(g.ub),O=0;O<T.length;O++){for(var U=gk(null,c,E,O+1,g.eb,0),ya=U.data,Ya=0;Ya<b;Ya++,e+=4)var Tb=ya[Ya]=a.getInt32(e,
!0),d=d+Tb&4294967295;U.qc=b;T[O]=U}g.Me=d;b=g}else g.Aa("Unrecognized diskette format ("+c+" bytes)");g.me&&(g.me.call(g.ea,g.Na,b,g.Yc,g.se),g.me=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ea(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=hk(this,b),this.Hg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=
la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Oe?"":d)+"&format=json")),ka(f,!0,null,this,this.Pl,b)};
k.Pl=function(a,b,c,d){var e=null;this.Pe=!1;var f=0>c&&this.Oa&&!this.Oa.ma.Mb;if(this.Hg)c?this.ea.Aa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.hd=!0,e=this);else if(c)this.ea.Aa('Unable to load disk "'+this.Yc+'" (error '+c+")",f);else try{if(0<da(a,!0).toLowerCase().indexOf("-readonly"))this.Pe=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.Pe=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.Yc]: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.ob=h.length;this.pb=h[0].length;this.ub=h[0][0].length;var m=h[0][0][0];this.eb=m&&m.length||512;for(b=a=0;b<this.ob;b++)for(c=0;c<this.pb;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}gk(m,b,c);for(f=0;f<t.length;f++)a=a+t[f]&4294967295}this.ab=h;this.Me=a;e=this}else q("Empty disk image: "+this.Yc)}catch(E){q("Disk image error: "+E.message)}this.me&&(this.me.call(this.Ll,this.Na,e,this.Yc,this.se),this.me=null)};function gk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.am=b;a.cm=c;a.Nc=a.qc=0;a.kb=!1;return a}
k.ln=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 hk(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.ob+":"+a.pb+":"+a.ub+":"+a.eb;c+="&machine="+a.ea.Qe();c+="&user="+a.ea.Ed();return la()+"/api/v1/disk?"+c}
function ik(a,b,c,d,e,f){if(a.hd){var g;g="action=read&volume="+a.se;g+="&chs="+a.ob+":"+a.pb+":"+a.ub+":"+a.eb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.Qe());g+="&user="+a.ea.Ed();ka(la()+"/api/v1/disk?"+g,!0,null,a,a.ln,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function jk(a,b,c){b.kb=!0;var d=a.Wd.indexOf(b);0<=d&&(a.Wd.splice(d,1),a.dg.splice(d,1));a.Wd.push(b);a.dg.push(ha());c&&kk(a)}
function kk(a){if(a.Wd.length){var b=a.dg[0]+2E3;a.pd&&a.fk<b&&(clearTimeout(a.pd),a.pd=null);if(!a.pd){var c=ha(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.pd=setTimeout(function(){fk(a,!0)},b);a.fk=c+b}}else a.pd&&(clearTimeout(a.pd),a.pd=null)}
function fk(a,b){b&&(a.pd=null);var c=a.Wd[0];if(c){for(var d=c.am,e=c.cm,c=c.sector,f=0,g=[],h=c-1;h<a.ab[d][e].length;h++){var m=a.ab[d][e][h];if(!m.kb)break;var n=a.Wd.indexOf(m);a.Wd.splice(n,1);a.dg.splice(n,1);g=g.concat(lk(m));m.kb=!1;f++}a.hd?(h={},a.Wh=!0,h.action="write",h.volume=a.se,h.chs=a.ob+":"+a.pb+":"+a.ub+":"+a.eb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ea.Qe(),h.user=a.ea.Ed(),h.data=JSON.stringify(g),d=ka(la()+"/api/v1/disk",b,h,a,a.qn,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.qn=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Wh=!1;if(0<=a&&a<this.ab.length&&0<=b&&b<this.ab[a].length)for(e-=1;0<f--&&0<=e&&e<this.ab[a][b].length;e++){var g=this.ab[a][b][e];c?jk(this,g,!1):g.kb||(g.Nc=g.qc=0)}d&&kk(this)};k.info=function(){return this.ab.length?[this.ab.length,this.ab[0].length,this.ab[0][0].length,this.ab[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,g=this.Na,h=this.ab[a];if(h){var m=h[b];if(!m&&g.zh&&b<g.pb)for(m=h[b]=Array(g.vd),h=0;h<m.length;h++)m[h]=gk(null,a,b,h+1,g.nb,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++;ik(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.zh&&9==g.bb&&(f=m[h]=gk(null,a,b,g.bb,g.nb,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 lk(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 mk(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.Pe)return!1;if(b<a.length){if(c!=mk(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.hd&&jk(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.se,this.Me,this.ob,this.pb,this.ub,this.eb];if(!this.hd&&!this.Pe)for(var c=this.ab,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.qc){for(var h=[],m=0,n=g.Nc,r=g.Nc+g.qc;n<r;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Nc,h]}}return b};
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.ab.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.Me&&e[1]!=this.Me&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Me+")",b=-1));for(this.ab.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.ab.length||m>=this.ab[h].length||n>=this.ab[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+
b+" changes applied)";b=-1;break}if(this.Pe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.ab[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.Yc+": "+c);return b};
function nk(a){s.call(this,"FDC",a,nk);this.dmaRead=this.Kh;this.dmaWrite=this.Lh;this.dmaFormat=this.Ml;this.fe=null;if(a.autoMount&&(this.fe=a.autoMount,"string"==typeof this.fe))try{this.fe=eval("("+a.autoMount+")")}catch(b){q("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.fe=null}this.nc=[];this.Rj=!ra("Mobi")&&window&&"FileReader"in window}v(s,nk);l={};aa={};
var ok={3:{dd:3,xd:0,name:aa.jp},4:{dd:2,xd:1,name:aa.hp},5:{dd:9,xd:7,name:aa.vp},6:{dd:9,xd:7,name:aa.bp},7:{dd:2,xd:0,name:aa.dp},8:{dd:1,xd:2,name:aa.ip},10:{dd:2,xd:7,name:aa.cp},13:{dd:6,xd:7,name:aa.Oo},15:{dd:3,xd:0,name:aa.gp}};k=nk.prototype;
c.appendChild(f);var g=e.getContext("2d"),d=new S(d,e,g,f);Ma(d,c)}});function Z(a){this.$j=a.adapter;switch(this.$j){case 1:this.fj=1016;this.Jf=4;break;case 2:this.fj=760;this.Jf=3;break;default:q("Unrecognized serial adapter #"+this.$j);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.Aj=function(a,b){return a==this.ci?(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.fj);hb(b,this,Xj,this.fj);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.Bh;c[b++]=this.Fj;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.Dj;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.Bh=a[b++];this.Fj=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.Dj=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.Bh=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.Sm=function(){var a=this.be&128?this.ye&255:this.Bh;this.wc&=-2;Yj(this);return a};k.Dm=function(){return this.be&128?this.ye>>8:this.og};k.Em=function(){return this.vd};k.Fm=function(){return this.be};k.Hm=function(){return this.Rc};k.Gm=function(){return this.wc};k.Nm=function(){return this.Dj};
k.jo=function(a,b){if(this.be&128)this.ye=this.ye&-256|b;else{this.Fj=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.Tn=function(a,b){this.be&128?this.ye=this.ye&255|b<<8:this.og=b};k.Un=function(a,b){this.be=b};
k.Vn=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.Sm,1:Z.prototype.Dm,2:Z.prototype.Em,3:Z.prototype.Fm,4:Z.prototype.Hm,5:Z.prototype.Gm,6:Z.prototype.Nm},Xj={0:Z.prototype.jo,1:Z.prototype.Tn,3:Z.prototype.Un,4:Z.prototype.Vn};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.bi=a.serial)this.ij="SerialPort";this.setActive(!1);this.Gg=!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.oh=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.ij&&!this.rf){for(var c=null;(c=Ra(this.Oa,this.ij,c))&&(!c.Aj||!(this.rf=c.Aj(this.bi,this))););this.rf?this.oh&&(c=this.oh,c.Id=this,this.Fa=c.Fa):q(this.id+": "+this.ij+" "+this.bi+" 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.mj());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.mj=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.Gg=a};
function Zj(a,b){b&&(a.Ph||(b.addEventListener("mousemove",function(b){if(a.Mc&&a.la&&a.la.ma.Fb){if(0>a.ag||0>a.bg)a.ag=b.clientX,a.bg=b.clientY;a.Gg?(a.ze=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.Ae=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ze=b.clientX-a.ag,a.Ae=b.clientY-a.bg);(a.ze||a.Ae)&&ck(a);a.ag=b.clientX;a.bg=b.clientY}},!1),b.addEventListener("mousedown",function(b){dk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){dk(a,b.button,!1)},!1),a.Ph=!0),b.style.cursor=
"none")}function ak(a){a&&(a.style.cursor="auto")}function dk(a,b,c){if(a.Mc&&a.la&&a.la.ma.Fb){var d;!(d=!1!==a.Gg)&&(d=a.oh)&&(d=a.oh,d=d.Tl?d.Ve(!0):!1);d||(a.Gg=null);switch(b){case 0:a.Cg!=c&&(a.Cg=c,ck(a));break;case 2:a.Dg!=c&&(a.Dg=c,ck(a))}}}function ck(a){Vj(a.rf,[64|(a.Cg?32:0)|(a.Dg?16:0)|(a.Ae&192)>>4|(a.ze&192)>>6,a.ze&63,a.Ae&63]);a.ze=a.Ae=0}wa(function(){for(var a=y(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new bk(d);Ma(d,c)}});
function ek(a,b,c){s.call(this,"Disk",{id:a.bk+".disk"+fk++},ek);this.ea=a;this.Oa=a.Oa;this.Sa=a.Sa;this.Na=b;this.Zc=b.name;this.Pe=b.Pe;this.Hg=this.kd=!1;this.create(c,b.nb,b.ob,b.tb,b.cb);this.Xd=[];this.eg=[];this.qd=null;this.gk=0;this.Wh=!1;z(this)}var fk=0;v(s,ek);k=ek.prototype;k.sc=function(a,b,c,d){this.Sa=d};k.Zb=function(a,b){b||!this.Hg||this.kd||(z(this,!1),this.load(this.Zc,this.te,null,this.Sl,this));return!0};k.Sl=function(){z(this,!0)};
k.Yb=function(a,b){if(this.kd){var c,d=0;if(this.Wh&&!ma("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=gk(this,!1);)if(d=c[0]){this.ea.Aa('Unable to save "'+this.Zc+'" (error '+d+")");break}b&&this.kd&&(c="action=close&volume="+this.te,c+="&machine="+this.ea.Re(),c+="&user="+this.ea.Fd(),ka(la()+"/api/v1/disk?"+c,!0),this.kd=!1);!d&&a&&this.ea.Aa(this.Zc+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.nb=b;this.ob=c;this.tb=d;this.cb=e;this.$a=[];if("preload"!=this.mode){a=Array(this.nb);for(b=0;b<a.length;b++){c=Array(this.ob);for(d=0;d<c.length;d++){e=Array(this.tb);for(var f=1;f<=e.length;f++)e[f-1]=hk(null,b,d,f,this.cb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.$a=a}this.Ne=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.ne)if(this.Zc=a,this.te=b,this.ne=d,this.Ml=e||this.ea,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.nb=d[0];g.ob=d[1];g.tb=d[2];g.cb=512;b=g.cb>>2;var e=d=0,a=new DataView(a,0,c);g.$a=Array(g.nb);for(c=0;c<g.$a.length;c++)for(var f=g.$a[c]=Array(g.ob),E=0;E<f.length;E++)for(var T=f[E]=Array(g.tb),O=0;O<T.length;O++){for(var U=hk(null,c,E,O+1,g.cb,0),ya=U.data,Ya=0;Ya<b;Ya++,e+=4)var Ub=ya[Ya]=a.getInt32(e,
!0),d=d+Ub&4294967295;U.qc=b;T[O]=U}g.Ne=d;b=g}else g.Aa("Unrecognized diskette format ("+c+" bytes)");g.ne&&(g.ne.call(g.ea,g.Na,b,g.Zc,g.te),g.ne=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ea(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=ik(this,b),this.Hg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=
la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Pe?"":d)+"&format=json")),ka(f,!0,null,this,this.Ql,b)};
k.Ql=function(a,b,c,d){var e=null;this.Qe=!1;var f=0>c&&this.Oa&&!this.Oa.ma.Nb;if(this.Hg)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.tb=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.tb;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(E){q("Disk image error: "+E.message)}this.ne&&(this.ne.call(this.Ml,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.bm=b;a.dm=c;a.Nc=a.qc=0;a.jb=!1;return a}
k.mn=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.tb+":"+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.tb+":"+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.mn,[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.gk<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.gk=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.bm,e=c.dm,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.Wh=!0,h.action="write",h.volume=a.te,h.chs=a.nb+":"+a.ob+":"+a.tb+":"+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.rn,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.rn=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Wh=!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.zh&&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.zh&&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};
k.save=function(){var a=0,b=[];b[a++]=[this.te,this.Ne,this.nb,this.ob,this.tb,this.cb];if(!this.kd&&!this.Qe)for(var c=this.$a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.qc){for(var h=[],m=0,n=g.Nc,r=g.Nc+g.qc;n<r;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Nc,h]}}return b};
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.Kh;this.dmaWrite=this.Lh;this.dmaFormat=this.Nl;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.Sj=!ra("Mobi")&&window&&"FileReader"in window}v(s,ok);l={};aa={};
var pk={3:{fd:3,yd:0,name:aa.kp},4:{fd:2,yd:1,name:aa.ip},5:{fd:9,yd:7,name:aa.wp},6:{fd:9,yd:7,name:aa.cp},7:{fd:2,yd:0,name:aa.ep},8:{fd:1,yd:2,name:aa.jp},10:{fd:2,yd:7,name:aa.dp},13:{fd:6,yd:7,name:aa.Po},15:{fd:3,yd:0,name:aa.hp}};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&&pk(d,a)},!0;case "loadDrive":return this.ra[b]=c,c.onclick=function(){var a=d.ra.listDisks;a&&qk(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Rj?
(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;qk(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.jd();fb(b,this,rk);hb(b,this,sk);this.Rj&&tk(this,"Local Disk","?");tk(this,"Remote Disk","??");this.lf()||z(this)};
k.Yb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Oa.Th){this.nc=[];for(var c=0;c<this.za.length;c++)uk(this,c,!0);this.lf(!0)}}else if(!this.restore(a))return!1;if(c=this.ra.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.oi;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.oi&&(c.value="0",pk(this,0))}}return!0};
k.Xb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.jd()};k.save=function(){var a=new I(this);a.set(0,this.jj());return a.data()};k.restore=function(a){return this.jd(a[0])};
k.jd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.cb=a[b++];b++;this.wa=a[b++];this.$b=a[b++];this.wb=a[b++];this.gb=a[b++];this.cf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.nc=c);void 0===this.za&&(this.oi=4,this.ka&&(this.oi=$h(this.ka)),this.za=Array(4));for(c=0;c<this.za.length;c++){var f=this.za[c];if(void 0===f){var f=this.za[c]={},g;if(this.ka)a:{g=this.ka;if(c<$h(g)){if(!g.qd){g=360;break a}if(c<g.qd.length){g=g.qd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.pb=
1;default:f.ob=40;f.ub=9;break;case 720:f.ob=80;f.ub=9;break;case 1200:f.ob=80;f.ub=15;break;case 1440:f.ob=80,f.ub=18}}this.di(f,c,e[c])||(d=!1)}this.Pd=a[b++]||0;this.nl=a[b]||0;return d};k.jj=function(){var a=0,b=[];b[a++]=this.cb;b[a++]=0;b[a++]=this.wa;b[a++]=this.$b;b[a++]=this.wb;b[a++]=this.gb;b[a++]=this.cf;b[a++]=this.lj();for(var c=a++,d=0;d<this.za.length;d++){var e=this.za[d];e.ua&&vk(this,e.te,e.ua)}b[c]=this.nc;b[a++]=this.Pd;b[a]=this.nl;return b};
k.di=function(a,b,c){var d=0,e=!0;a.cb=b;a.zc=a.Ne=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.ob||40,a.pb||c[3],a.ub||9,a.eb||512,c[1],a.Vg,a.Gf,a.Hf]);a.Za=c[d++];var f=c[d++];a.name=f[0];a.ob=f[1];a.pb=f[2];a.ub=f[3];a.eb=f[4];a.Oe=f[5];(a.Vg=f[6])?(a.Gf=f[7],a.Hf=f[8]):(a.Vg=a.ob,a.Gf=a.pb,a.Hf=a.ub);a.Ma=c[d++];a.td=c[d++];a.rb=c[d++];a.td=100<=a.td?a.td-100:a.td-a.rb;a.bb=c[d++];a.vd=c[d++];a.nb=c[d++];a.Ta=c[d++];a.Pa=null;a.ua||(a.te="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.za[b],uk(this,b,!0,!0),d.Ne=!0,b=new dk(this,d,"preload"),this.Lj(d,b,f,c,!0)):wk(this,b,f,c,!0)?a.ua&&c&&xk(this,f,c,a.ua):z(this,!1)):void 0!==g&&a.ua&&0>a.ua.restore(g)&&(e=!1);e&&a.ua&&void 0!==a.Ta&&(a.Pa=a.ua.seek(a.rb,a.Ma,a.bb));return e};k.lj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.kj(this.za[c]);return b};
k.kj=function(a){var b=0,c=[];c[b++]=a.Za;c[b++]=[a.name,a.ob,a.pb,a.ub,a.eb,a.Oe,a.Vg,a.Gf,a.Hf];c[b++]=a.Ma;c[b++]=a.td+100;c[b++]=a.rb;c[b++]=a.bb;c[b++]=a.vd;c[b++]=a.nb;c[b++]=a.Ta;c[b++]=a.Ne;c[b++]=a.sl;c[b]=a.te;return c};k.lf=function(a){a||(this.ce=0);if(this.fe)for(var b in this.fe){var c=this.fe[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.za.length){!wk(this,d,c.name,c.path,!0)&&a&&z(this,!1);continue}}this.Aa("Unrecognized auto-mount specification for drive "+b)}return!!this.ce};
function qk(a,b,c,d){var e,f=a.ra.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.za.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=da(c);a.fc("Attempting to load "+c+' as "'+b+'"')}for(a.fc("loading disk "+c+"...");wk(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=
a,g=c,h=void 0,h=0;h<f.nc.length;h++)if(f.nc[h][1]==g){f.nc.splice(h,1);break}uk(a,e,!1,!0)}}else uk(a,e);else a.Aa("Nothing to load")}function wk(a,b,c,d,e,f){var g=a.za[b];if(d&&g.te!=d){uk(a,b,e,!0);if(g.zc)return a.Aa("Drive "+b+" busy"),!0;g.zc=!0;e&&(g.ke=!0,a.ce++);g.Ne=!!f;(new dk(a,g,"preload")).load(c,d,f,a.Lj);return!1}return!0}
k.Lj=function(a,b,c,d,e){var f;a.zc=!1;b&&(f=b.info(),b&&f[0]>a.ob||f[1]>a.pb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.cb)),b=null);b?(a.ua=b,a.sl=c,a.te=d,xk(this,c,d,b),f=b.info(),this.Pd|=128,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.cb),a.ke||e),a.Vg=f[0],a.Gf=f[1],a.Hf=f[2]):a.Ne=!1;a.ke&&(a.ke=!1,--this.ce||z(this));pk(this,a.cb)};
function tk(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 pk(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.Ne?"?":c.te,!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 uk(a,b,c,d){var e=a.za[b];e.ua&&(vk(a,e.te,e.ua),e.sl="",e.te="",e.ua=null,e.Ne=!1,a.Pd|=128,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||pk(a,b))}function xk(a,b,c,d){var e;for(e=0;e<a.nc.length;e++)if(a.nc[e][1]==c){d.restore(a.nc[e][2]);return}a.nc[e]=[b,c,[]]}function vk(a,b,c){var d;for(d=0;d<a.nc.length;d++)if(a.nc[d][1]==b){a.nc[d][2]=c.save();break}}k.Nn=function(a,b){b&4?this.cf&4||this.cf&8&&this.ka&&wi(this.ka,6):this.jd();this.cf=b};k.xm=function(){return this.wa};
k.vm=function(){var a=0;this.wb<this.gb&&(a=this.$b[this.wb]);this.cf&8&&this.ka&&xi(this.ka,6);++this.wb>=this.gb&&(this.wa&=-81,this.wb=this.gb=0);return a};
k.Mn=function(a,b){this.gb<this.$b.length&&(this.$b[this.gb++]=b);var c=this.$b[0]&31;if(void 0!==ok[c]&&this.gb>=ok[c].dd){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.kp);this.La(l.Ro);this.Lb();break;case 4:f=this.La(l.df);this.cb=f&3;e=this.za[this.cb];this.Lb();this.Zb((e.Za&4278190080)>>>24,l.np);break;case 5:case 6:f=this.La(l.df);d=f>>2&1;this.cb=f&3;e=this.za[this.cb];e.Ma=d;f=e.rb=this.La(l.sj);g=this.La(l.tj);h=e.bb=this.La(l.vj);m=this.La(l.rh);e.nb=128<<
m;e.vd=this.La(l.Mo);this.La(l.Dl);this.La(l.Lo);6==n?(n=e,n.Za=72,n.ua&&(n.Pa=null,n.Za=0,this.ka&&(mi(this.ka,2,this,"dmaRead",n),ii(this.ka,2)))):(n=e,n.Za=72,n.ua&&(n.ua.Pe?n.Za=576:(n.Pa=null,n.Za=0,this.ka&&(mi(this.ka,2,this,"dmaWrite",n),ii(this.ka,2)))));yk(this,e,c,d,f,g,h,m);d=!0;break;case 7:f=this.La(l.df);this.cb=f&3;e=this.za[this.cb];e.rb=e.td=0;e.Za=268435488;this.Lb();d=!0;break;case 8:e=this.za[this.cb];e.Ma=0;this.Lb();this.Zb(e.cb|e.Ma<<2|e.Za&255,l.Fl);this.Zb(e.rb,l.$o);this.cb=
this.cb+1&3;break;case 10:f=this.La(l.df);d=f>>2&1;this.cb=f&3;e=this.za[this.cb];f=e.rb;g=e.Ma=d;h=e.bb=1;m=0;e.Za=0;e.ua&&(e.Pa=e.ua.seek(e.rb,e.Ma,e.bb))?m=e.Pa.length:e.Za=72;yk(this,e,c,d,f,g,h,m);d=!0;break;case 13:f=this.La(l.df);d=f>>2&1;this.cb=f&3;e=this.za[this.cb];f=e.rb;g=e.Ma=d;h=1;m=this.La(l.rh);e.nb=128<<m;e.vd=this.La(l.fp);this.La(l.Dl);e.Cj=this.La(l.Cl);n=e;n.Za=72;n.ua&&(n.Pa=null,n.Za=0,this.ka&&(n.Je=0,n.uc=Array(4),n.zh=!0,n.wg=0,mi(this.ka,2,this,"dmaFormat",n),ii(this.ka,
2),n.zh=!1));yk(this,e,c,d,f,g,h,m);d=!0;break;case 15:f=this.La(l.df),this.cb=f&3,e=this.za[this.cb],e.Ma=f>>2&1,f=this.La(l.Xo),e.rb+=f-e.td,0>e.rb&&(e.rb=0),e.rb>=e.ob&&(e.rb=e.ob-1),e.td=f,e.Za=32,e.rb||(e.Za|=268435456),this.Lb(),d=!0}0<this.gb&&(this.wa|=80);this.cf&8&&(!e||e.Za&8||!d||this.ka&&wi(this.ka,6))}};k.wm=function(){var a=this.Pd;this.Pd&=-129;return a};k.Ln=function(a,b){this.nl=b};
function yk(a,b,c,d,e,f,g,h){a.Lb();a.Zb(b.cb|b.Ma<<2|b.Za&255,l.Fl);a.Zb((b.Za&65280)>>>8,l.lp);a.Zb((b.Za&16711680)>>>16,l.mp);var m=0;if(e!=b.rb||f!=b.Ma)m=g=1;c&128&&(f^=m,d||(m=0));a.Zb(e+m,l.sj);a.Zb(f,l.tj);a.Zb(g,l.vj);a.Zb(h,l.rh)}k.La=function(){var a=this.$b[this.wb];this.wb++;return a};k.Lb=function(){this.wb=this.gb=0};k.Zb=function(a){this.$b[this.gb++]=a};k.Kh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};k.Lh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};
k.Ml=function(a,b){return void 0!==b&&0<=b?this.pj(a,b):-1};k.Cc=function(a,b){var c=-1;if(!a.Za&&a.ua){do{if(a.Pa&&0<=(c=mk(a.Pa,a.Ta++)))break;a.Pa=a.ua.seek(a.rb,a.Ma,a.bb);if(!a.Pa){a.Za=1088;break}a.Ta=0;this.jf(a)}while(1)}b(c,!1)};k.Fc=function(a,b){if(a.Za||!a.ua)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ta++,b))break;a.Pa=a.ua.seek(a.rb,a.Ma,a.bb);if(!a.Pa){a.Za=8256;b=-1;break}a.Ta=0;this.jf(a)}while(1);return b};k.jf=function(a){a.bb++;a.bb>=a.Hf+1&&(a.bb=1,a.Ma++,a.Ma>=a.Gf&&(a.Ma=0,a.rb++))};
k.pj=function(a,b){if(a.Za)return-1;a.uc[a.Je++]=b;if(a.Je==a.uc.length){a.rb=a.uc[0];a.Ma=a.uc[1];a.bb=a.uc[2];a.nb=128<<a.uc[3];for(var c=a.Je=0;c<a.nb;c++)if(0>this.Fc(a,a.Cj))return-1;a.wg++}a.wg>=a.vd&&(b=-1);return b};var rk={1012:nk.prototype.xm,1013:nk.prototype.vm,1015:nk.prototype.wm},sk={1010:nk.prototype.Nn,1013:nk.prototype.Mn,1015:nk.prototype.Ln};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 nk(d);Ma(d,c)}});
function $(a){s.call(this,"HDC",a,$);this.dmaRead=this.Kh;this.dmaWrite=this.Lh;this.dmaWriteBuffer=this.Nl;this.dmaWriteFormat=this.Ol;this.th=[];if(a.drives)try{this.th=eval("("+a.drives+")")}catch(b){q("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.xf=(this.je="at"==a.type)?1:0;this.bm=this.je?2:3}v(s,$);
var zk=[{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.je?Ak:Bk);hb(b,this,this.je?Ck:Dk);zc(c,19,this,this.Zm);zc(c,64,this,this.$m);this.reset();this.lf()||z(this)};
k.Yb=function(a,b){if(!b)if(!a||!this.restore)this.jd(),this.Oa.Th&&this.lf(!0);else if(!this.restore(a))return!1;return!0};k.Xb=function(a){return a&&this.save?this.save():!0};k.Qe=function(){return this.Oa?this.Oa.Qe():""};k.Ed=function(){return this.Oa?this.Oa.Ed():""};k.reset=function(){this.jd(null,!0)};k.save=function(){var a=new I(this);a.set(0,this.jj());return a.data()};k.restore=function(a){return this.jd(a[0])};
k.jd=function(a,b){var c=0,d=!0;if(this.je)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Od=a[c++],this.rl=a[c++],this.Qd=a[c++],this.hh=a[c++],this.fh=a[c++],this.eh=a[c++],this.bf=a[c++],this.wa=a[c++],this.hj=a[c++],this.gh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Uf=a[c++];this.wa=a[c++];this.$b=a[c++];this.wb=a[c++];this.gb=a[c++];this.ql=a[c++];this.pl=a[c++];this.ol=a[c++];var e=a[c++];void 0!==e?this.Re=e:void 0===this.Re&&(this.Re=-1)}void 0===this.za&&(this.za=Array(this.th.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.di(e,f,this.th[e],c[e],b)||(d=!1);null!=this.Uf&&1>=e&&(this.Uf|=(f.type&3)<<(1-e<<1))}return d};
k.jj=function(){var a=0,b=[];this.je?(b[a++]=this.Od,b[a++]=this.rl,b[a++]=this.Qd,b[a++]=this.hh,b[a++]=this.fh,b[a++]=this.eh,b[a++]=this.bf,b[a++]=this.wa,b[a++]=this.hj,b[a++]=this.gh):(b[a++]=this.Uf,b[a++]=this.wa,b[a++]=this.$b,b[a++]=this.wb,b[a++]=this.gb,b[a++]=this.ql,b[a++]=this.pl,b[a++]=this.ol,b[a++]=this.Re);b[a]=this.lj();return b};
k.di=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.cb=a;b.errorCode=d[f++];b.wl=d[f++];b.Oe=d[f++];b.Ce=d[f++];b.De=d[f++];b.Ma=d[f++];b.pb=d[f++];b.Ud=d[f++];b.bb=d[f++];b.vd=d[f++];b.nb=d[f++];b.tg=this.je?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.Ed()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===zk[this.xf][b.type])b.type=this.bm;c=zk[this.xf][b.type];
b.ub=c[2]||17;b.eb=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));Ek(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.Ud,b.Ma,b.bb+b.tg)));return g};k.lj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.kj(this.za[c]);return b};
k.kj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.wl;c[b++]=a.Oe;c[b++]=a.Ce;c[b++]=a.De;c[b++]=a.Ma;c[b++]=a.pb;c[b++]=a.Ud;c[b++]=a.bb;c[b++]=a.vd;c[b++]=a.nb;c[b++]=a.Ta;c[b]=a.ua?a.ua.save():null;return c};
function Ek(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ce[2])?e=b.Ce[0]<<8|b.Ce[1]:c=b.type);null==c||d||(d=zk[a.xf][c][1],e=zk[a.xf][c][0]);d&&((c=zk[a.xf][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.ob=e,b.pb=d,null==b.ua&&(b.ua=new dk(a,b,b.mode)))}}
k.lf=function(a){a||(this.ce=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.Hg)){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.ke=!0,this.ce++,(e.ua||new dk(this,e,e.mode)).load(d,c,null,this.Ql),d=!1);!d&&a&&z(this,!1)}}else a&&void 0!==c.type&&(c.ua=null,Ek(this,c,c.type))}return!!this.ce};
k.Ql=function(a,b,c){a.zc=!1;(a.ua=b)&&this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.cb),a.ke);a.ke&&(a.ke=!1,--this.ce||z(this))};k.Xm=function(){var a=0;this.wb<this.gb&&(a=this.$b[this.wb]);this.ka&&xi(this.ka,5);this.wa&=-33;++this.wb>=this.gb&&(this.wb=this.gb=0,this.wa&=-15);return a};k.ko=function(a,b){this.gb<this.$b.length&&(this.$b[this.gb++]=b);var c=12!=this.$b[0]?6:this.$b.length;6==this.gb&&(this.wa&=-2);this.gb>=c&&(this.wa|=2,this.wa&=-2,Fk(this))};
k.Ym=function(){var a=this.wa;this.wb<this.gb&&(this.wa|=1);return a};k.no=function(a,b){this.ql=b;this.ka&&xi(this.ka,5);this.jd()};k.Wm=function(){return this.Uf};k.mo=function(a,b){this.pl=b;this.wa=13};k.lo=function(a,b){this.ol=b};k.cj=function(){};
k.im=function(){var a=-1;if(this.Na&&(a=this.Cc(this.Na),1!=this.Na.Ta&&this.Na.Ta==this.Na.eb))if(this.Na.nb-=this.Na.eb,this.Qd=this.Qd-1&255,this.Na.nb>=this.Na.eb){var b=this;b.wa=136;this.Cc(this.Na,function(a){0<=a?(Gk(b),b.wa=80):(b.wa=1,b.Od=16)},!1)}else this.wa=80;return a};
k.xn=function(a,b){this.Na&&this.Na.nb>=this.Na.eb&&(0>this.Fc(this.Na,b)?(this.wa=1,this.Od=16):1!=this.Na.Ta&&this.Na.Ta==this.Na.eb&&(this.Na.nb-=this.Na.eb,this.Qd=this.Qd-1&255,Gk(this),this.wa=80,this.Na.nb>=this.Na.eb&&(this.wa|=8)))};k.km=function(){return this.Od};k.Cn=function(a,b){this.rl=b};k.lm=function(){return this.Qd};k.An=function(a,b){this.Qd=b};k.mm=function(){return this.hh};k.Bn=function(a,b){this.hh=b};k.hm=function(){return this.fh};k.wn=function(a,b){this.fh=b};k.gm=function(){return this.eh};
k.vn=function(a,b){this.eh=b};k.jm=function(){return this.bf};k.yn=function(a,b){this.bf=b;this.wa=this.za[this.bf&16?1:0]?this.wa|64:this.wa&-65};k.nm=function(){return this.wa};k.un=function(a,b){this.hj=b;this.ka&&xi(this.ka,14);Hk(this)};k.zn=function(a,b){this.gh&4&&!(b&4)&&(this.Od=1);this.gh=b};
function Hk(a){var b=!1,c=a.hj,d=a.bf&16?1:0,e=a.bf&15,f=a.fh|(a.eh&3)<<8,g=a.hh,h=a.Qd||256;a.Na=null;a.Od=0;a.wa=80;(d=a.za[d])?(d.Ud=f,d.Ma=e,d.bb=g,d.nb=h*d.eb,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?(Gk(a),a.wa=80):(a.wa=1,a.Od=16)},!1);break;case 48:a.wa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Od=1;b=!0;break;case 145:d.pb=e+1,d.ub=h,b=!0}b&&Gk(a)}
function Gk(a){!a.ka||a.gh&2||wi(a.ka,14,120)}
function Fk(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.Ud=m,u.Ma=f,u.bb=n,u.nb=r*u.eb);switch(b){case 3:a.Lb(u?u.errorCode:4);a.Zb(c);a.Zb(g);a.Zb(h);a.Zb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.La());)u&&c<u.Ce.length&&(u.Ce[c++]=b);u&&Ek(a,u);b=0;u||a.Re!=e||(a.Re=-1,b=2);a.Lb(b|d);b=-1;break;case 224:case 228:a.Lb(0|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=0,u.wl=0),b){case 0:a.Lb(0|d);break;case 1:u.Cp=
t;a.Lb(0|d);break;case 5:a.Lb(0|d);break;case 8:Ik(a,u,function(b){a.Lb(b|d)});break;case 10:Jk(a,u,function(b){a.Lb(b|d)});break;case 15:Mk(a,u,function(b){a.Lb(b|d)});break;default:a.Lb(2|d)}}k.La=function(){var a=-1;this.wb<this.gb&&(a=this.$b[this.wb++]);return a};k.Lb=function(a){this.wb=this.gb=0;void 0!==a&&this.Zb(a);this.ka&&wi(this.ka,5);this.wa|=32};k.Zb=function(a){this.$b[this.gb++]=a};k.Kh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};
k.Lh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.Nl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ta<a.De.length?a.De[a.Ta++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Ol=function(a,b){return void 0!==b&&0<=b?this.pj(a,b):-1};function Ik(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 Jk(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 Mk(a,b,c){b.errorCode=4;b.De&&b.De.length==b.nb||(b.De=Array(b.nb));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=mk(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.Ud,a.Ma,a.bb+a.tg,!1,function(c,h){(a.Pa=c)?(a.Ta=0,f.jf(a),d=mk(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.Ud,a.Ma,a.bb+a.tg,!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.bb++;var b=1-a.tg;a.bb>=a.ub+b&&(a.bb=b,a.Ma++,a.Ma>=a.pb&&(a.Ma=0,a.Ud++))};
k.pj=function(a,b){if(a.errorCode)return-1;a.uc[a.Je++]=b;if(a.Je==a.uc.length){a.Ud=a.uc[0];a.Ma=a.uc[1];a.bb=a.uc[2];a.nb=128<<a.uc[3];for(var c=a.Je=0;c<a.nb;c++)if(0>this.Fc(a,a.Cj))return-1;a.wg++}a.wg>=a.vd&&(b=-1);return b};k.Zm=function(){var a=this.la.K&255;!(this.la.H>>8)&&128<a&&(this.Re=a-128);return!0};k.$m=function(){var a;(a=this.la.H>>8)||(a=!this.ka)||(a=!(this.ka.Sb[0].Qc&64));return a?!0:!1};
var Bk={800:$.prototype.Xm,801:$.prototype.Ym,802:$.prototype.Wm},Ak={496:$.prototype.im,497:$.prototype.km,498:$.prototype.lm,499:$.prototype.mm,500:$.prototype.hm,501:$.prototype.gm,502:$.prototype.jm,503:$.prototype.nm},Dk={800:$.prototype.ko,801:$.prototype.no,802:$.prototype.mo,803:$.prototype.lo,807:$.prototype.cj,811:$.prototype.cj,815:$.prototype.cj},Ck={496:$.prototype.xn,497:$.prototype.Cn,498:$.prototype.An,499:$.prototype.Bn,500:$.prototype.wn,501:$.prototype.vn,502:$.prototype.yn,503:$.prototype.un,
1014:$.prototype.zn};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=Nk(a,b,c);this.Sa=a.Sa;Ok(this,a.oo)}function Nk(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}
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.Sj?
(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.Sj&&uk(this,"Local Disk","?");uk(this,"Remote Disk","??");this.lf()||z(this)};
k.Zb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Oa.Th){this.oc=[];for(var c=0;c<this.za.length;c++)vk(this,c,!0);this.lf(!0)}}else if(!this.restore(a))return!1;if(c=this.ra.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.oi;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.oi&&(c.value="0",qk(this,0))}}return!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ld()};k.save=function(){var a=new I(this);a.set(0,this.jj());return a.data()};k.restore=function(a){return this.ld(a[0])};
k.ld=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.bb=a[b++];b++;this.wa=a[b++];this.ac=a[b++];this.vb=a[b++];this.fb=a[b++];this.cf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.oc=c);void 0===this.za&&(this.oi=4,this.ka&&(this.oi=$h(this.ka)),this.za=Array(4));for(c=0;c<this.za.length;c++){var f=this.za[c];if(void 0===f){var f=this.za[c]={},g;if(this.ka)a:{g=this.ka;if(c<$h(g)){if(!g.rd){g=360;break a}if(c<g.rd.length){g=g.rd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.ob=
1;default:f.nb=40;f.tb=9;break;case 720:f.nb=80;f.tb=9;break;case 1200:f.nb=80;f.tb=15;break;case 1440:f.nb=80,f.tb=18}}this.di(f,c,e[c])||(d=!1)}this.Qd=a[b++]||0;this.ol=a[b]||0;return d};k.jj=function(){var a=0,b=[];b[a++]=this.bb;b[a++]=0;b[a++]=this.wa;b[a++]=this.ac;b[a++]=this.vb;b[a++]=this.fb;b[a++]=this.cf;b[a++]=this.lj();for(var c=a++,d=0;d<this.za.length;d++){var e=this.za[d];e.ua&&wk(this,e.ue,e.ua)}b[c]=this.oc;b[a++]=this.Qd;b[a]=this.ol;return b};
k.di=function(a,b,c){var d=0,e=!0;a.bb=b;a.zc=a.Oe=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.nb||40,a.ob||c[3],a.tb||9,a.cb||512,c[1],a.Vg,a.Hf,a.If]);a.Ya=c[d++];var f=c[d++];a.name=f[0];a.nb=f[1];a.ob=f[2];a.tb=f[3];a.cb=f[4];a.Pe=f[5];(a.Vg=f[6])?(a.Hf=f[7],a.If=f[8]):(a.Vg=a.nb,a.Hf=a.ob,a.If=a.tb);a.Ma=c[d++];a.ud=c[d++];a.qb=c[d++];a.ud=100<=a.ud?a.ud-100:a.ud-a.qb;a.ab=c[d++];a.wd=c[d++];a.mb=c[d++];a.Ta=c[d++];a.Pa=null;a.ua||(a.ue="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.za[b],vk(this,b,!0,!0),d.Oe=!0,b=new ek(this,d,"preload"),this.Mj(d,b,f,c,!0)):xk(this,b,f,c,!0)?a.ua&&c&&yk(this,f,c,a.ua):z(this,!1)):void 0!==g&&a.ua&&0>a.ua.restore(g)&&(e=!1);e&&a.ua&&void 0!==a.Ta&&(a.Pa=a.ua.seek(a.qb,a.Ma,a.ab));return e};k.lj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.kj(this.za[c]);return b};
k.kj=function(a){var b=0,c=[];c[b++]=a.Ya;c[b++]=[a.name,a.nb,a.ob,a.tb,a.cb,a.Pe,a.Vg,a.Hf,a.If];c[b++]=a.Ma;c[b++]=a.ud+100;c[b++]=a.qb;c[b++]=a.ab;c[b++]=a.wd;c[b++]=a.mb;c[b++]=a.Ta;c[b++]=a.Oe;c[b++]=a.tl;c[b]=a.ue;return c};k.lf=function(a){a||(this.de=0);if(this.ge)for(var b in this.ge){var c=this.ge[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.za.length){!xk(this,d,c.name,c.path,!0)&&a&&z(this,!1);continue}}this.Aa("Unrecognized auto-mount specification for drive "+b)}return!!this.de};
function rk(a,b,c,d){var e,f=a.ra.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.za.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=da(c);a.gc("Attempting to load "+c+' as "'+b+'"')}for(a.gc("loading disk "+c+"...");xk(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=
a,g=c,h=void 0,h=0;h<f.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.Mj);return!1}return!0}
k.Mj=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.tl=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.Vg=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.tl="",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.On=function(a,b){b&4?this.cf&4||this.cf&8&&this.ka&&si(this.ka,6):this.ld();this.cf=b};k.ym=function(){return this.wa};
k.wm=function(){var a=0;this.vb<this.fb&&(a=this.ac[this.vb]);this.cf&8&&this.ka&&xi(this.ka,6);++this.vb>=this.fb&&(this.wa&=-81,this.vb=this.fb=0);return a};
k.Nn=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.vb=0;var c=this.La(),e,f,g,h,m,n=c&31;switch(n){case 3:this.La(l.lp);this.La(l.So);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.op);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.sj);g=this.La(l.tj);h=e.ab=this.La(l.vj);m=this.La(l.rh);e.mb=128<<
m;e.wd=this.La(l.No);this.La(l.El);this.La(l.Mo);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.Gl);this.$b(e.qb,l.ap);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.rh);e.mb=128<<m;e.wd=this.La(l.gp);this.La(l.El);e.Cj=this.La(l.Dl);n=e;n.Ya=72;n.ua&&(n.Pa=null,n.Ya=0,this.ka&&(n.Ke=0,n.uc=Array(4),n.zh=!0,n.xg=0,mi(this.ka,2,this,"dmaFormat",n),ii(this.ka,
2),n.zh=!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.Yo),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.xm=function(){var a=this.Qd;this.Qd&=-129;return a};k.Mn=function(a,b){this.ol=b};
function zk(a,b,c,d,e,f,g,h){a.Mb();a.$b(b.bb|b.Ma<<2|b.Ya&255,l.Gl);a.$b((b.Ya&65280)>>>8,l.mp);a.$b((b.Ya&16711680)>>>16,l.np);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.sj);a.$b(f,l.tj);a.$b(g,l.vj);a.$b(h,l.rh)}k.La=function(){var a=this.ac[this.vb];this.vb++;return a};k.Mb=function(){this.vb=this.fb=0};k.$b=function(a){this.ac[this.fb++]=a};k.Kh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};k.Lh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};
k.Nl=function(a,b){return void 0!==b&&0<=b?this.pj(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.pj=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.Cj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};var sk={1012:ok.prototype.ym,1013:ok.prototype.wm,1015:ok.prototype.xm},tk={1010:ok.prototype.On,1013:ok.prototype.Nn,1015:ok.prototype.Mn};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.Kh;this.dmaWrite=this.Lh;this.dmaWriteBuffer=this.Ol;this.dmaWriteFormat=this.Pl;this.th=[];if(a.drives)try{this.th=eval("("+a.drives+")")}catch(b){q("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.yf=(this.ke="at"==a.type)?1:0;this.cm=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.$m);zc(c,64,this,this.an);this.reset();this.lf()||z(this)};
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.ld(),this.Oa.Th&&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.jj());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.sl=a[c++],this.Rd=a[c++],this.hh=a[c++],this.fh=a[c++],this.eh=a[c++],this.bf=a[c++],this.wa=a[c++],this.hj=a[c++],this.gh=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.vb=a[c++];this.fb=a[c++];this.rl=a[c++];this.ql=a[c++];this.pl=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.th.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.di(e,f,this.th[e],c[e],b)||(d=!1);null!=this.Vf&&1>=e&&(this.Vf|=(f.type&3)<<(1-e<<1))}return d};
k.jj=function(){var a=0,b=[];this.ke?(b[a++]=this.Pd,b[a++]=this.sl,b[a++]=this.Rd,b[a++]=this.hh,b[a++]=this.fh,b[a++]=this.eh,b[a++]=this.bf,b[a++]=this.wa,b[a++]=this.hj,b[a++]=this.gh):(b[a++]=this.Vf,b[a++]=this.wa,b[a++]=this.ac,b[a++]=this.vb,b[a++]=this.fb,b[a++]=this.rl,b[a++]=this.ql,b[a++]=this.pl,b[a++]=this.Se);b[a]=this.lj();return b};
k.di=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.xl=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.cm;c=Ak[this.yf][b.type];
b.tb=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.lj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.kj(this.za[c]);return b};
k.kj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.xl;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.Hg)){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.Rl),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.Rl=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.Ym=function(){var a=0;this.vb<this.fb&&(a=this.ac[this.vb]);this.ka&&xi(this.ka,5);this.wa&=-33;++this.vb>=this.fb&&(this.vb=this.fb=0,this.wa&=-15);return a};k.lo=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.Zm=function(){var a=this.wa;this.vb<this.fb&&(this.wa|=1);return a};k.oo=function(a,b){this.rl=b;this.ka&&xi(this.ka,5);this.ld()};k.Xm=function(){return this.Vf};k.no=function(a,b){this.ql=b;this.wa=13};k.mo=function(a,b){this.pl=b};k.cj=function(){};
k.jm=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.yn=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.lm=function(){return this.Pd};k.Dn=function(a,b){this.sl=b};k.mm=function(){return this.Rd};k.Bn=function(a,b){this.Rd=b};k.nm=function(){return this.hh};k.Cn=function(a,b){this.hh=b};k.im=function(){return this.fh};k.xn=function(a,b){this.fh=b};k.hm=function(){return this.eh};
k.wn=function(a,b){this.eh=b};k.km=function(){return this.bf};k.zn=function(a,b){this.bf=b;this.wa=this.za[this.bf&16?1:0]?this.wa|64:this.wa&-65};k.om=function(){return this.wa};k.vn=function(a,b){this.hj=b;this.ka&&xi(this.ka,14);Ik(this)};k.An=function(a,b){this.gh&4&&!(b&4)&&(this.Pd=1);this.gh=b};
function Ik(a){var b=!1,c=a.hj,d=a.bf&16?1:0,e=a.bf&15,f=a.fh|(a.eh&3)<<8,g=a.hh,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.tb=h,b=!0}b&&Hk(a)}
function Hk(a){!a.ka||a.gh&2||si(a.ka,14,120)}
function Gk(a){a.vb=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.xl=0),b){case 0:a.Mb(0|d);break;case 1:u.Dp=
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.vb<this.fb&&(a=this.ac[this.vb++]);return a};k.Mb=function(a){this.vb=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.Kh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};
k.Lh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.Ol=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.Pl=function(a,b){return void 0!==b&&0<=b?this.pj(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.tb+b&&(a.ab=b,a.Ma++,a.Ma>=a.ob&&(a.Ma=0,a.Vd++))};
k.pj=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.Cj))return-1;a.xg++}a.xg>=a.wd&&(b=-1);return b};k.$m=function(){var a=this.la.K&255;!(this.la.H>>8)&&128<a&&(this.Se=a-128);return!0};k.an=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.Ym,801:$.prototype.Zm,802:$.prototype.Xm},Bk={496:$.prototype.jm,497:$.prototype.lm,498:$.prototype.mm,499:$.prototype.nm,500:$.prototype.im,501:$.prototype.hm,502:$.prototype.km,503:$.prototype.om},Ek={800:$.prototype.lo,801:$.prototype.oo,802:$.prototype.no,803:$.prototype.mo,807:$.prototype.cj,811:$.prototype.cj,815:$.prototype.cj},Dk={496:$.prototype.yn,497:$.prototype.Dn,498:$.prototype.Bn,499:$.prototype.Cn,500:$.prototype.xn,501:$.prototype.wn,502:$.prototype.zn,503:$.prototype.vn,
1014:$.prototype.An};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.po)}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.Sh=!0):this.Sh?!0:oa()&&(a=pa(this.key))?(this[this.id]=a,this.Sh=!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){Ok(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}},cc:function(){}};function Ok(a,b){a[a.id]={};b&&a.set("parms",b);a.Sh=!1}
function Pk(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 Qk(a,b,c){s.call(this,"Computer",a,Qk);this.ma.Mb=!1;this.yf=a.buswidth;this.Dc=Rk;this.Xf=null;this.Jg=!1;this.url=b?b.url:null;this.wo=(Math.random()+0.1).toString(36).substr(2,12);this.Ec=Sk(this);if(this.la=La("CPU",this.id)){this.Sa=La("Debugger",this.id);this.qa=new Ta({id:this.ak+".bus",buswidth:this.yf},this.la,this.Sa);var d,e=Ja(this.id);if((this.Tf=La("Panel",this.id))&&this.Tf.Hh)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.Tf.Aa,d.fc=this.Tf.fc,d.Hh=this.Tf.Hh;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.kh=d:this.Dc=parseInt(d,10));var f;if(a=Ea&&Ea.state||(f=!0,a.state))b=this.ul=a,f||(this.Jg=!0,this.Dc=Rk),this.Dc&&(this.nh=new I(this,"1.16.3"),this.nh.load()?b=null:delete this.nh);!b&&this.Dc&&(f=null,this.Ec&&(f=la()+"/api/v1/user?req=load&user="+this.Ec+"&state="+Nk(this,"1.16.3")),b=f)&&(this.Jg=!0);b?ka(b,!0,null,this,this.on):z(this);c||Tk(this,this.bh)}else q("Unable to find CPU component")}
v(s,Qk);var Rk=0;k=Qk.prototype;k.Qe=function(){return this.wo};k.Ed=function(){return this.Ec?this.Ec:""};k.on=function(a,b,c){c?(this.kh=null,this.Jg=!1,this.Aa("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Xf=b;z(this)};function Tk(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(){Tk(a,b,c)});return}}b.call(a,c)}
function Uk(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.bh=function(a){void 0===a&&(a=this.Dc||(this.Xf?1:Rk));var b=!1,c=!1;this.Uj=!1;var d=this.nh||new I(this,"1.16.3");if(-1==a)b=!0;else if(a>Rk){if(d.load(this.Xf)){this.ve=new I(this,"1.16.3","failsafe");this.ve.load()&&(Vk(this,d),a=2,Ok(this.ve));this.ve.set("timestamp",ia());Pk(this.ve);var e=this.Dc&&!this.Jg;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.fc(f+": "+g),Ok(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Uk(this,c?d:null)}else 2==a&&d.clear()}else Uk(this);delete this.Xf;delete this.nh}e=Ja(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.la&&(c=Wk(this,g,d,b,c));b=[d,a,c];-1!=a?Tk(this,this.Mj,b):this.Mj(b)};
function Wk(a,b,c,d,e){if(!b.ma.Mb){b.ma.Mb=!0;if(b.Yb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Yb(f,d)&&f&&(q("Unable to restore state for "+b.type),a.ul&&!a.Xf?(c.clear(),a.Dc=Rk,window&&window.location.reload()):a.Uj=!0,b.Yb(null),e=!1)}if(!d&&b.Jj)for(a=b.Jj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Mj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ma.Mb=!0;this.Qj||(this.fc("PCjs v1.16.3\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Qj=!0);this.la&&Wk(this,this.la,b,c,a);this.Uj&&(Vk(this,b),b.clear());!c&&this.ve&&(this.ve.clear(),delete this.ve)};
function Vk(a,b){if(ma("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Ed(),d=b.toString(),e={app:"PCjs",ver:"1.16.3"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ka("http://www.pcjs.org/api/v1/report",!0,e)}}
function Xk(a,b,c){var d,e="none",f=new I(a,"1.16.3"),g=new I(a,"1.16.3","validate"),h=ia();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.la&&a.la.Xb&&(c&&qb(a.la),d=a.la.Xb(b,c),"object"===typeof d&&f.set(a.la.id,d),c&&(a.la.ma.Mb=!1,!1===d&&(e=null)));for(var h=Ja(a.id),m=0;m<h.length;m++){var n=h[m];n.ma.Mb&&(n.Xb&&(d=n.Xb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.ma.Mb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Ec&&Yk(a,a.Ec,f.toString()),Pk(g)&&Pk(f)||(e=null,d=h=!0)):a.Dc&&(d=!0,h=3==a.Dc),d&&f.clear(h)):e=f.toString());c&&(a.ma.Mb=!1);return e}k.reset=function(){this.qa&&this.qa.reset&&(this.cc("Resetting "+this.qa.type),this.qa.reset());for(var a=Ja(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.qa&&c.reset&&(this.cc("Resetting "+c.type),c.reset())}};
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.Sh=!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.Jg=!1;this.url=b?b.url:null;this.xo=(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.bk+".bus",buswidth:this.zf},this.la,this.Sa);var d,e=Ja(this.id);if((this.Uf=La("Panel",this.id))&&this.Uf.Hh)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.Uf.Aa,d.gc=this.Uf.gc,d.Hh=this.Uf.Hh;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.kh=d:this.Dc=parseInt(d,10));var f;if(a=Ea&&Ea.state||(f=!0,a.state))b=this.vl=a,f||(this.Jg=!0,this.Dc=Sk),this.Dc&&(this.nh=new I(this,"1.16.3"),this.nh.load()?b=null:delete this.nh);!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.Jg=!0);b?ka(b,!0,null,this,this.pn):z(this);c||Uk(this,this.bh)}else q("Unable to find CPU component")}
v(s,Rk);var Sk=0;k=Rk.prototype;k.Re=function(){return this.xo};k.Fd=function(){return this.Ec?this.Ec:""};k.pn=function(a,b,c){c?(this.kh=null,this.Jg=!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.bh=function(a){void 0===a&&(a=this.Dc||(this.Yf?1:Sk));var b=!1,c=!1;this.Vj=!1;var d=this.nh||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.Jg;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.nh}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.Nj,b):this.Nj(b)};
function Xk(a,b,c,d,e){if(!b.ma.Nb){b.ma.Nb=!0;if(b.Zb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Zb(f,d)&&f&&(q("Unable to restore state for "+b.type),a.vl&&!a.Yf?(c.clear(),a.Dc=Sk,window&&window.location.reload()):a.Vj=!0,b.Zb(null),e=!1)}if(!d&&b.Kj)for(a=b.Kj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Nj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ma.Nb=!0;this.Rj||(this.gc("PCjs v1.16.3\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Rj=!0);this.la&&Xk(this,this.la,b,c,a);this.Vj&&(Wk(this,b),b.clear());!c&&this.we&&(this.we.clear(),delete this.we)};
function Wk(a,b){if(ma("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Fd(),d=b.toString(),e={app:"PCjs",ver:"1.16.3"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ka("http://www.pcjs.org/api/v1/report",!0,e)}}
function Yk(a,b,c){var d,e="none",f=new I(a,"1.16.3"),g=new I(a,"1.16.3","validate"),h=ia();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.la&&a.la.Yb&&(c&&qb(a.la),d=a.la.Yb(b,c),"object"===typeof d&&f.set(a.la.id,d),c&&(a.la.ma.Nb=!1,!1===d&&(e=null)));for(var h=Ja(a.id),m=0;m<h.length;m++){var n=h[m];n.ma.Nb&&(n.Yb&&(d=n.Yb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.ma.Nb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Ec&&Zk(a,a.Ec,f.toString()),Qk(g)&&Qk(f)||(e=null,d=h=!0)):a.Dc&&(d=!0,h=3==a.Dc),d&&f.clear(h)):e=f.toString());c&&(a.ma.Nb=!1);return e}k.reset=function(){this.qa&&this.qa.reset&&(this.dc("Resetting "+this.qa.type),this.qa.reset());for(var a=Ja(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.qa&&c.reset&&(this.dc("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Ja(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Ja(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ra[b]=c,c.onclick=function(){var a=Sk(d,!0);if(a){var b=!(!d.Dc||d.kh),c=Xk(d,b);b?Yk(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0;case "reset":return this.ra[b]=c,c.onclick=function(){rb(d)},!0}return!1};
function Sk(a,b){var c=a.Ec;c||(c=pa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Zk(a,c))||a.Aa("Your user ID has not been approved."))):b&&a.Aa("Browser local storage is not available"));return c}
function Zk(a,b){a.Ec=null;var c=ka(la()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(qa("user",c.data),a.Ec=c.data)}catch(e){q(e.message+" ("+d+")")}return a.Ec}
function Yk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Nk(a,"1.16.3");d.data=c;b=ka(la()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Aa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Aa(c),qa("user",""),a.Ec=null)}}
function rb(a){if(a.Dc&&!a.kh){var b=ma("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Xk(a,b,!0);!b&&a.ul?window&&window.location.reload():(b||(a.Th=!0),a.bh(Rk),a.Th=!1)}else a.reset(),a.la&&pb(a.la)}function Ra(a,b,c){a=Ja(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}
wa(function(){for(var a=y(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new Qk(g,d,!0);Ma(g,f);Tk(g,g.bh)}});sa.show.push(function(){for(var a=y(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=La("Computer",c.id))&&c.Qj&&!c.ma.Mb&&c.bh(-1)}});
sa.exit.push(function(){for(var a=y(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=La("Computer",c.id))&&c.ma.Mb&&Xk(c,!(!c.Dc||c.kh),!0)}});var $k=0;function al(a,b,c,d,e,f){e("Loading "+a+"...");ka(a,!0,null,null,function(g,h,m){m?(h||(h="unable to load "+a+" ("+m+")"),f(h,null)):bl(h,a,b,c,d,e,f)})}
function bl(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){h=
null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?cl(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function cl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ka(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=h[0],n,r=/( [a-z]+=)(['"])(.*?)\2/g;n=r.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=m&&(g=g.replace(h[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);cl(a,b,c)}})}else c(a,null)}
function dl(a,b,c,d){function e(a){if(void 0===h){var b=g&&y(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);m&&(--$k||Aa(!0));m=!1}var g,h,m=!0;$k++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.3/components.xsl");var n=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--$k||Aa(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--$k||Aa(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?al(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?al(b,a,d,!0,e,n):bl(b,null,a,d,!1,e,n)}else f("failed to find machine element: "+a)}catch(r){f(r.message)}return m}
window.embedPC=function(a,b,c,d){Aa(!1);return dl(a,b,c,d)};window.enableEvents=Aa;window.sendEvent=Ba;})();
k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ra[b]=c,c.onclick=function(){var a=Tk(d,!0);if(a){var b=!(!d.Dc||d.kh),c=Yk(d,b);b?Zk(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0;case "reset":return this.ra[b]=c,c.onclick=function(){rb(d)},!0}return!1};
function Tk(a,b){var c=a.Ec;c||(c=pa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=$k(a,c))||a.Aa("Your user ID has not been approved."))):b&&a.Aa("Browser local storage is not available"));return c}
function $k(a,b){a.Ec=null;var c=ka(la()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(qa("user",c.data),a.Ec=c.data)}catch(e){q(e.message+" ("+d+")")}return a.Ec}
function Zk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ok(a,"1.16.3");d.data=c;b=ka(la()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Aa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Aa(c),qa("user",""),a.Ec=null)}}
function rb(a){if(a.Dc&&!a.kh){var b=ma("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Yk(a,b,!0);!b&&a.vl?window&&window.location.reload():(b||(a.Th=!0),a.bh(Sk),a.Th=!1)}else a.reset(),a.la&&pb(a.la)}function Ra(a,b,c){a=Ja(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}
wa(function(){for(var a=y(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new Rk(g,d,!0);Ma(g,f);Uk(g,g.bh)}});sa.show.push(function(){for(var a=y(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=La("Computer",c.id))&&c.Rj&&!c.ma.Nb&&c.bh(-1)}});
sa.exit.push(function(){for(var a=y(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=La("Computer",c.id))&&c.ma.Nb&&Yk(c,!(!c.Dc||c.kh),!0)}});var al=0;function bl(a,b,c,d,e,f){e("Loading "+a+"...");ka(a,!0,null,null,function(g,h,m){m?(h||(h="unable to load "+a+" ("+m+")"),f(h,null)):cl(h,a,b,c,d,e,f)})}
function cl(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){h=
null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?dl(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function dl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ka(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=h[0],n,r=/( [a-z]+=)(['"])(.*?)\2/g;n=r.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=m&&(g=g.replace(h[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);dl(a,b,c)}})}else c(a,null)}
function el(a,b,c,d){function e(a){if(void 0===h){var b=g&&y(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);m&&(--al||Aa(!0));m=!1}var g,h,m=!0;al++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.3/components.xsl");var n=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--al||Aa(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--al||Aa(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?bl(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?bl(b,a,d,!0,e,n):cl(b,null,a,d,!1,e,n)}else f("failed to find machine element: "+a)}catch(r){f(r.message)}return m}
window.embedPC=function(a,b,c,d){Aa(!1);return el(a,b,c,d)};window.enableEvents=Aa;window.sendEvent=Ba;})();