The Disk component needed improved handling of disk images containing sectors with no 'data' or 'byte' arrays, the Disk restore code needed to stop complaining about disk mismatches when there was no previous disk, and Disk notice() and println() calls (including those made on its behalf; eg, from assert() calls) needed to be passed through to the controller that called it. Also, since the PC-DOS 1.x disk images were changed recently to include BPBs, machines that use those disks and have a machine state file needed their state file updated (eg, the DONKEY.BAS demo).

This commit is contained in:
Jeff Parsons 2017-06-20 10:24:51 -07:00 • committed by Jeff Parsons
commit 07b330bc66
4 changed files with 498 additions and 498 deletions

View file

@ -72,8 +72,8 @@ function yb(a,b){b=zb(b.parentNode,"pcx86-control");for(var c=0;c<b.length;c++)f
function zb(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}
function Ab(a){for(var b=!0,c=Bb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Cb.indexOf(e)&&(f=function(){return function(){Ab(a)}}());var g=Db[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=ub(d[1],a);if(h)if(g=Eb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){gb("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Bb[a];return b}l=mb.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type};
l.Cb=function(a,b,c){switch(b){case "clear":return this.na[b]||(this.na[b]=c,c.onclick=function(a){return function(){a.na.print&&(a.na.print.value="")}}(this)),!0;case "print":return this.na[b]||(this.Je=this.na[b]=c,c.value="",this.P=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.Fa=function(a){this.P(a,this.ce)}),!0;default:return!1}};l.log=function(){};l.P=function(){};
l.status=function(a){this.P(this.ce+": "+a)};l.Fa=function(a,b,c){c=c||this.type;b||gb((c?c+": ":"")+a)};function Fb(a,b){a.ea.error=!0;a.Fa(b)}function Gb(a,b){b&&(a.ea.ready?b():a.qg=b);return a.ea.ready}function Ib(a,b){a.ea.error||(a.ea.ready=!1!==b,a.ea.ready&&(b=a.qg,a.qg=null,b&&b()))}function Jb(a,b){a.ea.qf&&(b?a.ea.ah=!0:void 0===b&&a.P(a.toString()+" busy"));return a.ea.qf}
l.Cb=function(a,b,c){switch(b){case "clear":return this.na[b]||(this.na[b]=c,c.onclick=function(a){return function(){a.na.print&&(a.na.print.value="")}}(this)),!0;case "print":return this.na[b]||(this.Je=this.na[b]=c,c.value="",this.P=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.Ea=function(a){this.P(a,this.ce)}),!0;default:return!1}};l.log=function(){};l.P=function(){};
l.status=function(a){this.P(this.ce+": "+a)};l.Ea=function(a,b,c){c=c||this.type;b||gb((c?c+": ":"")+a)};function Fb(a,b){a.ea.error=!0;a.Ea(b)}function Gb(a,b){b&&(a.ea.ready?b():a.qg=b);return a.ea.ready}function Ib(a,b){a.ea.error||(a.ea.ready=!1!==b,a.ea.ready&&(b=a.qg,a.qg=null,b&&b()))}function Jb(a,b){a.ea.qf&&(b?a.ea.ah=!0:void 0===b&&a.P(a.toString()+" busy"));return a.ea.qf}
function Kb(a,b){if(a.ea.ah)return a.ea.qf=!1,a.ea.ah=!1;if(a.ea.error)return a.P(a.toString()+" error"),!1;a.ea.qf=b;return a.ea.qf}l.Xb=function(){return this.ea.Yb=!0};l.Wb=function(a,b){b&&(this.ea.Yb=!1);return!0};function t(a,b){if(a.ba){a===a.ba?b|=0:b=b||a.ic;var c=a.ba.ic&b;return!!b&&c===b||!!(c&a.ba.xl)}return!1}function Lb(a,b,c,d){a.ba&&(!0===c||t(a,c|0))&&a.ba.message(b,d)}function w(a,b,c,d,e,f,g){a.ba&&(!0===g?g=0:null==g&&(g=a.ic),Mb(a.ba,a,b,c,d,e,f,g))}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var pb=window?window.PCjs.Machines:{},nb=window?window.PCjs.Components:[],Bb=window?window.PCjs.Commands:{},Cb=["hold","sleep","wait"],Db={alert:function(a){gb(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Eb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
@ -184,7 +184,7 @@ l.ja=function(a){var b=a&this.Db,c=(a&this.ed)>>>this.hb;this.A-=this.C.Ag;if(b<
l.fb=function(a,b){var c=a&this.Db,d=(a&this.ed)>>>this.hb;this.A-=this.C.Ag;c<this.Db?this.aa[d].Uf(c,b&65535,a):(this.aa[d++].Dc(c,b&255,a),this.N&4096||this.aa[d&this.ef].Dc(0,b>>8&255,a+1))};l.ab=function(a,b){var c=a&this.Db,d=(a&this.ed)>>>this.hb;this.A-=this.C.Ag;if(c<this.Db-2)this.aa[d].Tf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.aa[d].Dc(c++,b&255,a++);if(this.N&4096)break;--f||(d=d+1&this.ef,c=0);b>>>=8}};
function yg(a,b,c){a.eb=b;a.wb=c&a.wa;a.B=b.bc(a.wb,1);return a.N&1?0:a.Ia(a.B)}function D(a,b){return yg(a,a.Da,b)}function zg(a,b){return yg(a,a.Rb,b)}function Ag(a,b,c){a.eb=b;a.wb=c&a.wa;a.B=b.bc(a.wb,a.V);return a.N&1?0:a.jb(a.B)}function F(a,b){a.eb=a.Da;a.wb=b&a.wa;a.B=a.eb.bc(a.wb,2);return a.N&1?0:a.ja(a.B)}function Bg(a,b){a.eb=a.Rb;a.wb=b&a.wa;a.B=a.eb.bc(a.wb,2);return a.N&1?0:a.ja(a.B)}function H(a,b){a.eb=a.Da;a.wb=b&a.wa;a.B=a.eb.bc(a.wb,4);return a.N&1?0:a.ia(a.B)}
function Cg(a,b){a.eb=a.Rb;a.wb=b&a.wa;a.B=a.eb.bc(a.wb,4);return a.N&1?0:a.ia(a.B)}function Dg(a,b){a.N&2||a.fc(a.eb.cc(a.wb,1),b)}function Eg(a,b){a.N&2||a.fb(a.eb.cc(a.wb,2),b)}function Fg(a,b){a.N&2||a.ab(a.eb.cc(a.wb,4),b)}function ke(a,b,c){return a.jb(b.bc(c,a.V))}l.ra=function(){var a=$f(this,1),b=this.Ia(this.da);this.da=a;return b};function Gg(a){var b=$f(a,2),c=a.ja(a.da);a.da=b;return c}function K(a){var b=$f(a,a.Jc),c=a.Sb(a.da);a.da=b;return c}
l.Ea=function(){var a=$f(this,this.V),b=this.jb(this.da);this.da=a;return b};l.S=function(){var a=$f(this,1),b=this.Ia(this.da)<<24>>24;this.da=a;return b};function ee(a){var b=a.jb(a.Aa);a.Aa=a.Aa+a.V|0;var c=a.dg-a.Aa|0;0>c&&0<=(a.dg^a.Aa)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?ge(a,a.Aa-a.Y.ua&a.Y.wa):-1>c&&y.call(a,12,0));return b}
l.Fa=function(){var a=$f(this,this.V),b=this.jb(this.da);this.da=a;return b};l.S=function(){var a=$f(this,1),b=this.Ia(this.da)<<24>>24;this.da=a;return b};function ee(a){var b=a.jb(a.Aa);a.Aa=a.Aa+a.V|0;var c=a.dg-a.Aa|0;0>c&&0<=(a.dg^a.Aa)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?ge(a,a.Aa-a.Y.ua&a.Y.wa):-1>c&&y.call(a,12,0));return b}
function le(a,b,c,d){c=a.Aa-c|0;0>(c-a.hf|0)&&0<=(a.hf^c)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?(ge(a,c-a.Y.ua&a.Y.wa),c=a.Aa):y.call(a,12,0));switch(d){case 1:a.fc(c,b);break;case 2:a.fb(c,b);break;case 4:a.ab(c,b)}a.Aa=c}function oe(a,b){var c=a.Aa-a.V|0;0>(c-a.hf|0)&&0<=(a.hf^c)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?(ge(a,c-a.Y.ua&a.Y.wa),c=a.Aa):y.call(a,12,0));a.yb(c,b);a.Aa=c}
function Hg(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ca)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.na[b]&&(void 0===c&&(Fb(a,"Value for "+b+" is invalid"),a.Jb()),d=!a.ea.vb||a.ea.lj?q(c,d):"--------".substr(0,d),a.na[b].textContent!=d&&(a.na[b].textContent=d))}
l.Mg=function(a){this.ea.complete=!0;var b=this.ea.kj=this.ba&&Ig(this.ba),c=a?this.ea.oi?0:1:-1;this.ea.oi=!1;this.zc=this.A=a;this.W&&!a&&Nd(this.W);a||t(this,1024)||(this.N|=4);do{var d=this.N&3312;if(d)this.ha|=d;else if(this.Cd=this.da,this.Da=this.Ca,this.Rb=this.Y,this.B=this.F=-1,this.ha&3072&&Qf(this),this.ha=this.N&256,this.Xa){a:{if(!(this.N&4))for(var d=80286>this.ca?0:1,e=0;2>e;e++){switch(d){case 0:if(this.Xa&1&&this.O&512){var f=Jg(this.W);if(-1<=f&&(this.Xa&=-2,0<=f)){this.Xa&=-5;
@ -224,7 +224,7 @@ function wi(a,b){if(-1===this.B)return si.call(this,a,b);var c=this.V<<3;if(b>=c
function yi(a,b){if(-1===this.B)return ui.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Ag(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?jg(this):kg(this);this.A-=8;return a&~b}function zi(a,b){if(-1===this.B)return vi.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Ag(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?jg(this):kg(this);this.A-=8;return a|b}
function Ai(a,b){bg(this,a,b,a-b|0,191,!0);this.A-=-1===this.F?-1===this.B?this.C.mc:this.C.Bh:this.C.Ib;this.N|=2;return a}function Bi(a,b){bg(this,a,b,a-b|0,this.Fb|63,!0);this.A-=-1===this.F?-1===this.B?this.C.mc:this.C.Bh:this.C.Ib;this.N|=2;return a}
function Ci(a){if(this.Tc){var b=this.Tc,c=this.tj,d=this.ga,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=gi[c][f]){if(0>hi.indexOf(e)){var f=b.H,g=f.Cd;8087==b.ca&&(f.ha&16&&g++,f.ha&32&&g++);b.M=f.Z.U;b.I=g-f.Z.ua;-1!==f.B&&(b.N=f.eb.U,b.J=f.B-f.eb.ua);b.O=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.B?2:8;return a}function Di(a){if(80186>this.ca)return Ei.call(this,a);y.call(this,13,0);return a}function Ue(a){y.call(this,6);return a}
function Ei(a){Xe.call(this);return a}function Fi(a,b){a=Gi.call(this,this.S(),b);80386>this.ca&&(this.A-=12);return a}function Hi(a,b){a=this.Ea();a=2==this.V?Gi.call(this,a,b):Ii.call(this,a,b);80386>this.ca&&(this.A-=12);return a}function Ji(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Ki.call(this,a,b);c&&(this.Ba=~this.Ba+1|0,this.Ya=~this.Ya+(this.Ba?0:1)|0)}
function Ei(a){Xe.call(this);return a}function Fi(a,b){a=Gi.call(this,this.S(),b);80386>this.ca&&(this.A-=12);return a}function Hi(a,b){a=this.Fa();a=2==this.V?Gi.call(this,a,b):Ii.call(this,a,b);80386>this.ca&&(this.A-=12);return a}function Ji(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Ki.call(this,a,b);c&&(this.Ba=~this.Ba+1|0,this.Ya=~this.Ya+(this.Ba?0:1)|0)}
function Gi(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767<a||-32768>a?(jg(this),lg(this)):(kg(this),mg(this));this.A-=-1===this.B?9:12;return a&65535}function Ii(a,b){Ji.call(this,a,b);this.Ya!=this.Ba>>31?(jg(this),lg(this)):(kg(this),mg(this));this.A-=-1===this.B?9:12;return this.Ba}function Li(a,b){this.A-=14+(-1===this.B?0:2);qg(this);-1!==this.xb.load(b)&&this.xb.qc>=this.Ma&&this.xb.qc>=(b&3)&&(sg(this),a=this.xb.lb&-256,2<this.V&&(a|=(this.xb.ext&-65281)<<16));return a}
function Mi(a,b){if(-1===this.B)return Xe.call(this),a;me(this,this.ja(this.B+this.V));this.A-=this.C.Ye;return b}function Ni(){this.A-=this.C.lk;return this.B}function Oi(a,b){if(-1===this.B)return Xe.call(this),a;ne(this,this.ja(this.B+this.V));this.A-=this.C.Ye;return b}function Pi(a,b){if(-1===this.B)return Xe.call(this),a;a=this.ja(this.B+this.V);this.Ga.load(a);this.A-=this.C.Ye;return b}
function Qi(a,b){if(-1===this.B)return Xe.call(this),a;a=this.ja(this.B+this.V);this.Ha.load(a);this.A-=this.C.Ye;return b}function Ri(a,b){this.A-=14+(-1===this.B?0:2);if(b&65528&&-1!==this.xb.load(b)&&(7168==(this.xb.lb&7168)||this.xb.qc>=this.Ma)&&this.xb.qc>=(b&3))return sg(this),this.xb.Ka;qg(this);return a}function Si(a,b){if(-1===this.B)return Xe.call(this),a;fe(this,this.ja(this.B+this.V));this.A-=this.C.Ye;return b}
@ -245,7 +245,7 @@ function Hj(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535
function gk(){return this.xa}function hk(a,b){this.Bd=this.Z.U;this.Vc=this.Y.U;this.ta=this.Aa;var c=A(this),d=this.V;null!=se(this,a,b,!0)&&(le(this,this.Bd,d,2),le(this,c,d,d));this.Bd=this.Vc=this.ta=-1}function ik(a,b,c){this.A-=this.C.dk+(c||0);c=qe(this);var d=this.Z.U,e=A(this);a=this.Z.Dj(a);-1!==a&&(oe(this,c),oe(this,d),oe(this,e),null!=b&&oe(this,b),this.Uc=-1,Zf(this,a))}
function jk(a){this.Vc=this.Y.U;this.ta=this.Aa;var b=ee(this),c=ee(this);a&&ge(this,z(this)+a);se(this,b,c,!1)&&(a&&ge(this,z(this)+a),kk.call(this,this.Ca),kk.call(this,this.oa),80386<=this.ca&&(kk.call(this,this.Ga),kk.call(this,this.Ha)));2==a&&this.bg&&Tf(this,this.da);this.Vc=this.ta=-1}function lk(){8086==this.ca?(this.Uc=-1,ik.call(this,0,null,2)):y.call(this,0,null,2)}function Kg(a,b){this.Uc=a;void 0===b&&(b=11);ik.call(this,a,null,b)}
function y(a,b,c,d){var e=!1;this.ea.complete?80186<=this.ca&&(e=!0,0>this.Uc?(-1!=this.Bd&&(this.Bd!==this.Z.U&&(this.Z.Ab=this.Bd&3,Yf(this,this.Bd)),this.Bd=-1),this.Cd!==this.da&&Zf(this,this.Cd),-1!=this.Vc&&(this.Vc!==this.Y.U&&fe(this,this.Vc),this.Vc=-1),-1!==this.ta&&(this.ta!==this.Aa&&ge(this,this.Hc&~this.Y.wa|this.ta-this.Y.ua),this.ta=-1)):8!=this.Uc?(b=0,a=8):(b=0,a=-1,jf(this),e=d=!1)):Zf(this,this.Cd);var f=a,g=b,h=32,k=xg(this,this.da);204!=k||this.cd||(d=!1);this.O&131072&&(6==
f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.da&&1048575>=this.da&&(d=!1);t(this,h|-2147483648)&&(d=!0);if(t(this,h)||d){var m=this.ea.vb,f="Fault "+r(f)+(null!=g?" ("+sa(g)+")":"")+" on opcode "+r(k);d&&m&&(f+=" (blocked)");this.ba?(Lb(this,f,d||h,!0),d&&(d=m,this.ba.Jb())):(this.Fa(f),this.Jb())}if(d&&e)throw-1;if(e)throw this.Uc=a,ik.call(this,a,b,c),this.Cd=this.da,this.N=1==a?this.N|8192:this.N|4096,a;}
f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.da&&1048575>=this.da&&(d=!1);t(this,h|-2147483648)&&(d=!0);if(t(this,h)||d){var m=this.ea.vb,f="Fault "+r(f)+(null!=g?" ("+sa(g)+")":"")+" on opcode "+r(k);d&&m&&(f+=" (blocked)");this.ba?(Lb(this,f,d||h,!0),d&&(d=m,this.ba.Jb())):(this.Ea(f),this.Jb())}if(d&&e)throw-1;if(e)throw this.Uc=a,ik.call(this,a,b,c),this.Cd=this.da,this.N=1==a?this.N|8192:this.N|4096,a;}
function nf(a,b,c){this.Dd=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Ma&&(a|=4);y.call(this,14,a)}function kk(a){var b=a.lb&7680;a.U&65528&&(6144==b||7168==b||7168>b&&a.qc<this.Ma&&a.qc<(a.U&3))&&a.load(0)}
function xf(a){var b,c;switch((this.ga=this.ra())&199){case 0:c=D(this,this.G+this.K);this.A-=this.C.Rc;break;case 1:c=D(this,this.G+this.J);this.A-=this.C.Sc;break;case 2:c=zg(this,this.M+this.K);this.A-=this.C.Sc;break;case 3:c=zg(this,this.M+this.J);this.A-=this.C.Rc;break;case 4:c=D(this,this.K);this.A-=this.C.wc;break;case 5:c=D(this,this.J);this.A-=this.C.wc;break;case 6:c=D(this,K(this));this.A-=this.C.ud;break;case 7:c=D(this,this.G);this.A-=this.C.wc;break;case 64:c=D(this,this.G+this.K+
this.S());this.A-=this.C.Tb;break;case 65:c=D(this,this.G+this.J+this.S());this.A-=this.C.Ub;break;case 66:c=zg(this,this.M+this.K+this.S());this.A-=this.C.Ub;break;case 67:c=zg(this,this.M+this.J+this.S());this.A-=this.C.Tb;break;case 68:c=D(this,this.K+this.S());this.A-=this.C.Va;break;case 69:c=D(this,this.J+this.S());this.A-=this.C.Va;break;case 70:c=zg(this,this.M+this.S());this.A-=this.C.Va;break;case 71:c=D(this,this.G+this.S());this.A-=this.C.Va;break;case 128:c=D(this,this.G+this.K+K(this));
@ -335,7 +335,7 @@ this.B;break;case 131:c=H(this,this.G+K(this));this.F=this.B;break;case 132:c=H(
function mk(a){var b=this.ra(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.D;break;case 1:d=this.I;break;case 2:d=this.L;break;case 3:d=this.G;break;case 4:d=0;break;case 5:d=this.M;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.D;break;case 1:e=this.I;break;case 2:e=this.L;break;case 3:e=this.G;break;case 4:e=z(this);this.Da=this.Rb;break;case 5:a?(e=this.M,this.Da=this.Rb):e=K(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<<c)+e|0}
function Ve(){this.Qd[this.ra()].call(this)}function Ye(){oe(this,z(this)&this.R);this.A-=this.C.Ic}function Ee(){this.ta=this.Aa;var a=z(this)&this.R;oe(this,this.D&this.R);oe(this,this.I&this.R);oe(this,this.L&this.R);oe(this,this.G&this.R);oe(this,a);oe(this,this.M&this.R);oe(this,this.K&this.R);oe(this,this.J&this.R);this.A-=this.C.Ak;this.ta=-1}
function Fe(){this.ta=this.Aa;this.J=this.J&~this.R|ee(this);this.K=this.K&~this.R|ee(this);this.M=this.M&~this.R|ee(this);ge(this,z(this)+this.V);this.G=this.G&~this.R|ee(this);this.L=this.L&~this.R|ee(this);this.I=this.I&~this.R|ee(this);this.D=this.D&~this.R|ee(this);this.A-=this.C.yk;this.ta=-1}function Ge(){this.ma.call(this,pi)}function Ze(){!(this.qa&1)||this.O&131072?y.call(this,6):this.za.call(this,oi)}function $e(){this.N|=20;this.Da=this.Rb=this.Ga;this.A-=this.C.bd}
function af(){this.N|=20;this.Da=this.Rb=this.Ha;this.A-=this.C.bd}function bf(){this.N|=1024;this.ha&1024||(this.V^=6,this.R^=-65536,Pf(this));this.A-=this.C.bd}function cf(){this.N|=2048;this.ha&2048||(this.Jc^=6,this.wa^=-65536,wf(this));this.A-=this.C.bd}function He(){oe(this,this.Ea());this.A-=this.C.Ic}function Ie(){this.ma.call(this,Hi)}function Je(){oe(this,this.S());this.A-=this.C.Ic}function Ke(){this.ma.call(this,Fi)}
function af(){this.N|=20;this.Da=this.Rb=this.Ha;this.A-=this.C.bd}function bf(){this.N|=1024;this.ha&1024||(this.V^=6,this.R^=-65536,Pf(this));this.A-=this.C.bd}function cf(){this.N|=2048;this.ha&2048||(this.Jc^=6,this.wa^=-65536,wf(this));this.A-=this.C.bd}function He(){oe(this,this.Fa());this.A-=this.C.Ic}function Ie(){this.ma.call(this,Hi)}function Je(){oe(this,this.S());this.A-=this.C.Ic}function Ke(){this.ma.call(this,Fi)}
function Le(){var a=1,b=0,c=this.wa,d=5;this.ha&192&&(a=this.I&c,b=1,this.ha&256&&(d=4));if(a--){var e=this.L&65535;ug(this,e,1,!0)&&(e=Oc(this.ka,e,1,this.da-b-1),this.fc(this.oa.cc(this.J&c,1),e),this.J=this.J&~c|this.J+(this.O&1024?-1:1)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(ag(this),this.N|=256))}}
function Me(){var a=1,b=0,c=this.wa,d=5;this.ha&192&&(a=this.I&c,b=1,this.ha&256&&(d=4));if(a--){var e=this.L&65535;ug(this,e,this.V,!0)&&(e=Oc(this.ka,e,this.V,this.da-b-1),this.yb(this.oa.cc(this.J&c,this.V),e),this.J=this.J&~c|this.J+(this.O&1024?-this.V:this.V)&c,this.I=this.I&~c|this.I-b&c,this.A-=d,a&&(ag(this),this.N|=256))}}
function Ne(){var a=1,b=0,c=this.wa,d=5;this.ha&192&&(a=this.I&c,b=1,this.ha&256&&(d=4));if(a--){var e=this.L&65535;if(ug(this,e,1,!1)){var f=this.Ia(this.Ca.bc(this.K&c,1));Sc(this.ka,e,1,f,this.da-b-1);this.K=this.K&~c|this.K+(this.O&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(ag(this),this.N|=256)}}}
@ -347,39 +347,39 @@ function Ck(){var a=this.S();fg(this)||!gg(this)!=!hg(this)?this.A-=this.C.Ra:(C
function Mk(){var a=Gg(this),b=ee(this);C(this,b);a&&ge(this,z(this)+a);this.A-=this.C.Fk}function Nk(){var a=ee(this);C(this,a);this.A-=this.C.Ck}function Re(){this.ta=this.Aa;var a=Gg(this),b=this.ra()&31;this.A-=11;oe(this,this.M);var c=z(this)&this.R;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.M=this.M&~this.R|this.M-this.V&this.R,oe(this,ke(this,this.Y,this.M&this.R));oe(this,c)}this.M=this.M&~this.R|c;ge(this,z(this)&~this.Y.wa|z(this)-a&this.Y.wa);this.ta=-1}
function Se(){this.ta=this.Aa;ge(this,z(this)&~this.Y.wa|this.M&this.Y.wa);this.M=this.M&~this.R|ee(this)&this.R;this.A-=5;this.ta=-1}function Ok(){jk.call(this,Gg(this));this.A-=this.C.Ek}function Pk(){jk.call(this,0);this.A-=this.C.Dk}function Qk(a){this.tj=a;this.ma.call(this,Ci)}function Rk(){this.N|=36;this.A-=this.C.bd}function Te(){Xe.call(this)}function De(){y.call(this,6)}
function Xe(){C(this,this.Cd-this.Z.ua);Fb(this,"Undefined opcode "+r(this.Ia(this.da))+" at "+q(this.da,8,!0));this.Jb()}
var ve=[function(){this.tc.call(this,ki)},function(){this.za.call(this,li)},function(){this.kc.call(this,ki)},function(){this.ma.call(this,li)},function(){this.D=this.D&-256|ki.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|li.call(this,this.D&this.R,this.Ea());this.A--},function(){le(this,this.oa.U,this.V,2);this.A-=this.C.se},function(){this.ta=this.Aa;ne(this,ee(this));this.A-=this.C.nc;this.ta=-1},function(){this.tc.call(this,hj)},function(){this.za.call(this,ij)},
function(){this.kc.call(this,hj)},function(){this.ma.call(this,ij)},function(){this.D=this.D&-256|hj.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|ij.call(this,this.D&this.R,this.Ea());this.A--},function(){le(this,this.Z.U,this.V,2);this.A-=this.C.se},function(){Yf(this,ee(this));this.A-=this.C.nc},function(){this.tc.call(this,ii)},function(){this.za.call(this,ji)},function(){this.kc.call(this,ii)},function(){this.ma.call(this,ji)},function(){this.D=this.D&-256|ii.call(this,
this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|ji.call(this,this.D&this.R,this.Ea());this.A--},function(){le(this,this.Y.U,this.V,2);this.A-=this.C.se},function(){this.ta=this.Aa;fe(this,ee(this));this.A-=this.C.nc;this.ta=-1},function(){this.tc.call(this,jj)},function(){this.za.call(this,kj)},function(){this.kc.call(this,jj)},function(){this.ma.call(this,kj)},function(){this.D=this.D&-256|jj.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|kj.call(this,
this.D&this.R,this.Ea());this.A--},function(){le(this,this.Ca.U,this.V,2);this.A-=this.C.se},function(){this.ta=this.Aa;me(this,ee(this));this.A-=this.C.nc;this.ta=-1},function(){this.tc.call(this,mi)},function(){this.za.call(this,ni)},function(){this.kc.call(this,mi)},function(){this.ma.call(this,ni)},function(){this.D=this.D&-256|mi.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|ni.call(this,this.D&this.R,this.Ea());this.A--},function(){this.N|=20;this.Da=this.Rb=this.oa;
this.A-=this.C.bd},function(){var a=this.D&255,b=eg(this),c=cg(this);9<(a&15)||b?(a+=6,b=16):b=0;159<a||c?(a+=96,c=1):c=0;a&=255;this.D=this.D&-256|a;ig(this,a,128);c?jg(this):kg(this);b?rg(this):pg(this);this.A-=this.C.re},function(){this.tc.call(this,Mj)},function(){this.za.call(this,Nj)},function(){this.kc.call(this,Mj)},function(){this.ma.call(this,Nj)},function(){this.D=this.D&-256|Mj.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|Nj.call(this,this.D&this.R,this.Ea());
var ve=[function(){this.tc.call(this,ki)},function(){this.za.call(this,li)},function(){this.kc.call(this,ki)},function(){this.ma.call(this,li)},function(){this.D=this.D&-256|ki.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|li.call(this,this.D&this.R,this.Fa());this.A--},function(){le(this,this.oa.U,this.V,2);this.A-=this.C.se},function(){this.ta=this.Aa;ne(this,ee(this));this.A-=this.C.nc;this.ta=-1},function(){this.tc.call(this,hj)},function(){this.za.call(this,ij)},
function(){this.kc.call(this,hj)},function(){this.ma.call(this,ij)},function(){this.D=this.D&-256|hj.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|ij.call(this,this.D&this.R,this.Fa());this.A--},function(){le(this,this.Z.U,this.V,2);this.A-=this.C.se},function(){Yf(this,ee(this));this.A-=this.C.nc},function(){this.tc.call(this,ii)},function(){this.za.call(this,ji)},function(){this.kc.call(this,ii)},function(){this.ma.call(this,ji)},function(){this.D=this.D&-256|ii.call(this,
this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|ji.call(this,this.D&this.R,this.Fa());this.A--},function(){le(this,this.Y.U,this.V,2);this.A-=this.C.se},function(){this.ta=this.Aa;fe(this,ee(this));this.A-=this.C.nc;this.ta=-1},function(){this.tc.call(this,jj)},function(){this.za.call(this,kj)},function(){this.kc.call(this,jj)},function(){this.ma.call(this,kj)},function(){this.D=this.D&-256|jj.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|kj.call(this,
this.D&this.R,this.Fa());this.A--},function(){le(this,this.Ca.U,this.V,2);this.A-=this.C.se},function(){this.ta=this.Aa;me(this,ee(this));this.A-=this.C.nc;this.ta=-1},function(){this.tc.call(this,mi)},function(){this.za.call(this,ni)},function(){this.kc.call(this,mi)},function(){this.ma.call(this,ni)},function(){this.D=this.D&-256|mi.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|ni.call(this,this.D&this.R,this.Fa());this.A--},function(){this.N|=20;this.Da=this.Rb=this.oa;
this.A-=this.C.bd},function(){var a=this.D&255,b=eg(this),c=cg(this);9<(a&15)||b?(a+=6,b=16):b=0;159<a||c?(a+=96,c=1):c=0;a&=255;this.D=this.D&-256|a;ig(this,a,128);c?jg(this):kg(this);b?rg(this):pg(this);this.A-=this.C.re},function(){this.tc.call(this,Mj)},function(){this.za.call(this,Nj)},function(){this.kc.call(this,Mj)},function(){this.ma.call(this,Nj)},function(){this.D=this.D&-256|Mj.call(this,this.D&255,this.ra());this.A--},function(){this.D=this.D&~this.R|Nj.call(this,this.D&this.R,this.Fa());
this.A--},function(){this.N|=20;this.Da=this.Rb=this.Z;this.A-=this.C.bd},function(){var a=this.D&255,b=eg(this),c=cg(this);9<(a&15)||b?(a-=6,b=16):b=0;159<a||c?(a-=96,c=1):c=0;a&=255;this.D=this.D&-256|a;ig(this,a,128);c?jg(this):kg(this);b?rg(this):pg(this);this.A-=this.C.re},function(){this.tc.call(this,Uj)},function(){this.za.call(this,Vj)},function(){this.kc.call(this,Uj)},function(){this.ma.call(this,Vj)},function(){this.D=this.D&-256|Uj.call(this,this.D&255,this.ra());this.A--},function(){this.D=
this.D&~this.R|Vj.call(this,this.D&this.R,this.Ea());this.A--},function(){this.N|=20;this.Da=this.Rb=this.Y;this.A-=this.C.bd},function(){var a,b,c=this.D&255,d=this.D>>8&255;9<(c&15)||eg(this)?(c+=6,80286<=this.ca&&255<c&&d++,d++,a=b=1):a=b=0;this.D=this.D&-65536|(d<<8|c)&65295;a?jg(this):kg(this);b?rg(this):pg(this);this.A-=this.C.re},function(){this.tc.call(this,Ai)},function(){this.za.call(this,Bi)},function(){this.kc.call(this,Ai)},function(){this.ma.call(this,Bi)},function(){Ai.call(this,this.D&
255,this.ra());this.A--},function(){Bi.call(this,this.D&this.R,this.Ea());this.A--},function(){this.N|=20;this.Da=this.Rb=this.Ca;this.A-=this.C.bd},function(){var a,b,c=this.D&255,d=this.D>>8&255;9<(c&15)||eg(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.D=this.D&-65536|d<<8|c;a?jg(this):kg(this);b?rg(this):pg(this);this.A-=this.C.re},function(){this.D=Zj.call(this,this.D)},function(){this.I=Zj.call(this,this.I)},function(){this.L=Zj.call(this,this.L)},function(){this.G=Zj.call(this,this.G)},function(){ge(this,
this.D&~this.R|Vj.call(this,this.D&this.R,this.Fa());this.A--},function(){this.N|=20;this.Da=this.Rb=this.Y;this.A-=this.C.bd},function(){var a,b,c=this.D&255,d=this.D>>8&255;9<(c&15)||eg(this)?(c+=6,80286<=this.ca&&255<c&&d++,d++,a=b=1):a=b=0;this.D=this.D&-65536|(d<<8|c)&65295;a?jg(this):kg(this);b?rg(this):pg(this);this.A-=this.C.re},function(){this.tc.call(this,Ai)},function(){this.za.call(this,Bi)},function(){this.kc.call(this,Ai)},function(){this.ma.call(this,Bi)},function(){Ai.call(this,this.D&
255,this.ra());this.A--},function(){Bi.call(this,this.D&this.R,this.Fa());this.A--},function(){this.N|=20;this.Da=this.Rb=this.Ca;this.A-=this.C.bd},function(){var a,b,c=this.D&255,d=this.D>>8&255;9<(c&15)||eg(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.D=this.D&-65536|d<<8|c;a?jg(this):kg(this);b?rg(this):pg(this);this.A-=this.C.re},function(){this.D=Zj.call(this,this.D)},function(){this.I=Zj.call(this,this.I)},function(){this.L=Zj.call(this,this.L)},function(){this.G=Zj.call(this,this.G)},function(){ge(this,
Zj.call(this,z(this)))},function(){this.M=Zj.call(this,this.M)},function(){this.K=Zj.call(this,this.K)},function(){this.J=Zj.call(this,this.J)},function(){this.D=Xj.call(this,this.D)},function(){this.I=Xj.call(this,this.I)},function(){this.L=Xj.call(this,this.L)},function(){this.G=Xj.call(this,this.G)},function(){ge(this,Xj.call(this,z(this)))},function(){this.M=Xj.call(this,this.M)},function(){this.K=Xj.call(this,this.K)},function(){this.J=Xj.call(this,this.J)},function(){oe(this,this.D&this.R);
this.A-=this.C.Ic},function(){oe(this,this.I&this.R);this.A-=this.C.Ic},function(){oe(this,this.L&this.R);this.A-=this.C.Ic},function(){oe(this,this.G&this.R);this.A-=this.C.Ic},function(){oe(this,z(this)-2&65535);this.A-=this.C.Ic},function(){oe(this,this.M&this.R);this.A-=this.C.Ic},function(){oe(this,this.K&this.R);this.A-=this.C.Ic},function(){oe(this,this.J&this.R);this.A-=this.C.Ic},function(){this.D=this.D&~this.R|ee(this);this.A-=this.C.nc},function(){this.I=this.I&~this.R|ee(this);this.A-=
this.C.nc},function(){this.L=this.L&~this.R|ee(this);this.A-=this.C.nc},function(){this.G=this.G&~this.R|ee(this);this.A-=this.C.nc},function(){ge(this,z(this)&~this.R|ee(this));this.A-=this.C.nc},function(){this.M=this.M&~this.R|ee(this);this.A-=this.C.nc},function(){this.K=this.K&~this.R|ee(this);this.A-=this.C.nc},function(){this.J=this.J&~this.R|ee(this);this.A-=this.C.nc},nk,ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,yk,zk,Ak,Bk,Ck,nk,ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,yk,zk,Ak,Bk,Ck,Dk,function(){this.ib.call(this,
Sk,this.Ea);this.A-=-1===this.F?1:this.C.zg},Dk,function(){this.ib.call(this,Sk,this.S);this.A-=-1===this.F?1:this.C.zg},function(){this.tc.call(this,Oj)},function(){this.za.call(this,Pj)},function(){this.kc.call(this,Sj)},function(){this.ma.call(this,Tj)},Fk,Gk,Hk,Ik,function(){this.N|=1;this.za.call(this,gj)},function(){this.N|=1;this.Da=this.Rb=this.Rg;this.ma.call(this,Ni)},function(){var a;this.ma.call(this,fj);switch(this.ga>>3&7){case 0:a=this.D;this.D=this.xa;ne(this,a);break;case 1:a=this.I;
Sk,this.Fa);this.A-=-1===this.F?1:this.C.zg},Dk,function(){this.ib.call(this,Sk,this.S);this.A-=-1===this.F?1:this.C.zg},function(){this.tc.call(this,Oj)},function(){this.za.call(this,Pj)},function(){this.kc.call(this,Sj)},function(){this.ma.call(this,Tj)},Fk,Gk,Hk,Ik,function(){this.N|=1;this.za.call(this,gj)},function(){this.N|=1;this.Da=this.Rb=this.Rg;this.ma.call(this,Ni)},function(){var a;this.ma.call(this,fj);switch(this.ga>>3&7){case 0:a=this.D;this.D=this.xa;ne(this,a);break;case 1:a=this.I;
this.I=this.xa;Yf(this,a);break;case 2:a=this.L;this.L=this.xa;fe(this,a);break;case 3:a=this.G;this.G=this.xa;me(this,a);break;case 4:a=z(this);ge(this,this.xa);80386<=this.ca?this.Ga.load(a):ne(this,a);break;case 5:a=this.M;this.M=this.xa;80386<=this.ca?this.Ha.load(a):Yf(this,a);break;case 6:a=this.K;this.K=this.xa;fe(this,a);break;case 7:a=this.J,this.J=this.xa,me(this,a)}},function(){this.N|=1;this.ta=this.Aa;this.xa=ee(this);this.ib.call(this,Tk,gk);this.ta=-1},function(){this.A-=3},function(){var a=
this.D;this.D=this.D&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.L&this.R;this.L=this.L&~this.R|a&this.R;this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.G&this.R;this.G=this.G&~this.R|a&this.R;this.A-=3},function(){var a=this.D,b=z(this);this.D=this.D&~this.R|b&this.R;ge(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=
this.D;this.D=this.D&~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.D=2==this.V?this.D&-65536|this.D<<24>>24&65535:this.D<<16>>16;this.A-=2},function(){this.L=2==this.V?this.L&-65536|(this.D&32768?65535:0):this.D&-2147483648?-1:0;this.A-=this.C.Lj},function(){hk.call(this,this.Ea(),Gg(this));this.A-=this.C.Oj},function(){this.A-=3},function(){var a=qe(this);a&131072&&
this.D;this.D=this.D&~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.D=2==this.V?this.D&-65536|this.D<<24>>24&65535:this.D<<16>>16;this.A-=2},function(){this.L=2==this.V?this.L&-65536|(this.D&32768?65535:0):this.D&-2147483648?-1:0;this.A-=this.C.Lj},function(){hk.call(this,this.Fa(),Gg(this));this.A-=this.C.Oj},function(){this.A-=3},function(){var a=qe(this);a&131072&&
3>this.lc?y.call(this,13,0):(oe(this,a&-196609),this.A-=this.C.Ic)},function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var a=ee(this),a=a&65535|this.O&-65536;re(this,a);this.A-=this.C.nc}},function(){var a=this.D>>8&255;a&1?jg(this):kg(this);a&4?(this.resultType&=-3,this.O|=4):(this.resultType&=-3,this.O&=-5);a&16?rg(this):pg(this);a&64?sg(this):qg(this);a&128?(this.resultType&=-17,this.O|=128):(this.resultType&=-17,this.O&=-129);this.A-=this.C.Vb},function(){this.D=this.D&-65281|(qe(this)&
213)<<8;this.A-=this.C.Vb},function(){var a=this.D&-256,b;b=K(this);b=this.Ia(this.Da.bc(b,1));this.D=a|b;this.A-=this.C.Lh},function(){this.D=this.D&~this.R|ke(this,this.Da,K(this));this.A-=this.C.Lh},function(){var a=K(this),b=this.D;this.fc(this.Da.cc(a,1),b);this.A-=this.C.Mh},function(){var a=K(this),b=this.D;this.yb(this.Da.cc(a,this.V),b);this.A-=this.C.Mh},function(){var a=1,b=0,c=this.wa,d=this.C.Nh;this.ha&192&&(a=this.I&c,b=1,d=this.C.Ph,this.ha&256||(this.A-=this.C.Oh));if(a--){var e=
this.Ia(this.Da.bc(this.K&c,1));this.fc(this.oa.cc(this.J&c,1),e);e=this.O&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(ag(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.C.Nh;this.ha&192&&(a=this.I&c,b=1,d=this.C.Ph,this.ha&256||(this.A-=this.C.Oh));if(a--){var e=ke(this,this.Da,this.K&c);this.yb(this.oa.cc(this.J&c,this.V),e);e=this.O&1024?-this.V:this.V;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;
this.I=this.I&~c|this.I-b&c;a&&(ag(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.C.yh;this.ha&192&&(a=this.I&c,b=1,d=this.C.Ah,this.ha&256||(this.A-=this.C.zh));if(a--){var e=yg(this,this.Da,this.K),f=yg(this,this.oa,this.J);this.F=this.B;Ai.call(this,e,f);e=this.O&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.C.Ib;a&&fg(this)==(this.ha&64)&&(ag(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.C.yh;this.ha&192&&
(a=this.I&c,b=1,d=this.C.Ah,this.ha&256||(this.A-=this.C.zh));if(a--){var e=Ag(this,this.Da,this.K&c),f=Ag(this,this.oa,this.J&c);this.F=this.B;Bi.call(this,e,f);e=this.O&1024?-this.V:this.V;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.C.Ib;a&&fg(this)==(this.ha&64)&&(ag(this),this.N|=256)}},function(){ig(this,this.D&this.ra(),128);this.A-=this.C.re},function(){ig(this,this.D&this.Ea(),this.Fb);this.A-=this.C.re},function(){var a=1,b=0,c=this.wa,
(a=this.I&c,b=1,d=this.C.Ah,this.ha&256||(this.A-=this.C.zh));if(a--){var e=Ag(this,this.Da,this.K&c),f=Ag(this,this.oa,this.J&c);this.F=this.B;Bi.call(this,e,f);e=this.O&1024?-this.V:this.V;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.C.Ib;a&&fg(this)==(this.ha&64)&&(ag(this),this.N|=256)}},function(){ig(this,this.D&this.ra(),128);this.A-=this.C.re},function(){ig(this,this.D&this.Fa(),this.Fb);this.A-=this.C.re},function(){var a=1,b=0,c=this.wa,
d=this.C.Yh;this.ha&192&&(a=this.I&c,b=1,d=this.C.$h,this.ha&256||(this.A-=this.C.Zh));if(a--){var e=this.D;this.fc(this.oa.cc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.xe&&80564>=this.xe&&!(this.ha&2048)!=(103!=this.Ia(this.da))&&(c^=-65536);this.J=this.J&~c|this.J+(this.O&1024?-1:1)&c;this.A-=d;a&&(ag(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.C.Yh;this.ha&192&&(a=this.I&c,b=1,d=this.C.$h,this.ha&256||(this.A-=this.C.Zh));if(a--){var e=this.D;this.yb(this.oa.cc(this.J&
c,this.V),e);this.J=this.J&~c|this.J+(this.O&1024?-this.V:this.V)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(ag(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.C.Fh;this.ha&192&&(a=this.I&c,b=1,d=this.C.Hh,this.ha&256||(this.A-=this.C.Gh));if(a--){var e=this.Ia(this.Da.bc(this.K&c,1));this.D=this.D&-256|e;this.K=this.K&~c|this.K+(this.O&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(ag(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.C.Fh;this.ha&192&&(a=this.I&c,
b=1,d=this.C.Hh,this.ha&256||(this.A-=this.C.Gh));if(a--){var e=ke(this,this.Da,this.K&c);this.D=this.D&~this.R|e;this.K=this.K&~c|this.K+(this.O&1024?-this.V:this.V)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(ag(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.C.Sh;this.ha&192&&(a=this.I&c,b=1,d=this.C.Uh,this.ha&256||(this.A-=this.C.Th));if(a--){var e=this.D&255,f=yg(this,this.oa,this.J);this.F=this.B;Ai.call(this,e,f);this.J=this.J&~c|this.J+(this.O&1024?-1:1)&c;this.I=this.I&~c|this.I-
b&c;this.A-=d-this.C.Ib;a&&fg(this)==(this.ha&64)&&(ag(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.C.Sh;this.ha&192&&(a=this.I&c,b=1,d=this.C.Uh,this.ha&256||(this.A-=this.C.Th));if(a--){var e=this.D&this.R,f=Ag(this,this.oa,this.J&c);this.F=this.B;Bi.call(this,e,f);this.J=this.J&~c|this.J+(this.O&1024?-this.V:this.V)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.C.Ib;a&&fg(this)==(this.ha&64)&&(ag(this),this.N|=256)}},function(){this.D=this.D&-256|this.ra();this.A-=this.C.Vb},function(){this.I=
this.I&-256|this.ra();this.A-=this.C.Vb},function(){this.L=this.L&-256|this.ra();this.A-=this.C.Vb},function(){this.G=this.G&-256|this.ra();this.A-=this.C.Vb},function(){this.D=this.D&-65281|this.ra()<<8;this.A-=this.C.Vb},function(){this.I=this.I&-65281|this.ra()<<8;this.A-=this.C.Vb},function(){this.L=this.L&-65281|this.ra()<<8;this.A-=this.C.Vb},function(){this.G=this.G&-65281|this.ra()<<8;this.A-=this.C.Vb},function(){this.D=this.D&~this.R|this.Ea();this.A-=this.C.Vb},function(){this.I=this.I&
~this.R|this.Ea();this.A-=this.C.Vb},function(){this.L=this.L&~this.R|this.Ea();this.A-=this.C.Vb},function(){this.G=this.G&~this.R|this.Ea();this.A-=this.C.Vb},function(){ge(this,z(this)&~this.R|this.Ea());this.A-=this.C.Vb},function(){this.M=this.M&~this.R|this.Ea();this.A-=this.C.Vb},function(){this.K=this.K&~this.R|this.Ea();this.A-=this.C.Vb},function(){this.J=this.J&~this.R|this.Ea();this.A-=this.C.Vb},Mk,Nk,Mk,Nk,function(){this.ma.call(this,Oi)},function(){this.ma.call(this,Mi)},function(){this.N|=
1;this.ld.call(this,Uk,this.ra)},function(){this.N|=1;this.ib.call(this,Uk,this.Ea)},Ok,Pk,Ok,Pk,function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var a=this.C.ek;this.Uc=-1;ik.call(this,3,null,a)}},function(){var a=this.ra();if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var b;a:{b=this.Zf[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.da)){b=!1;break a}this.ea.kj&&t(this,16)&&Vk(this.ba,a,this.da);b=!0}b?(this.Uc=-1,ik.call(this,a,null,0)):this.A--}},function(){if(hg(this))if(this.O&
this.I&-256|this.ra();this.A-=this.C.Vb},function(){this.L=this.L&-256|this.ra();this.A-=this.C.Vb},function(){this.G=this.G&-256|this.ra();this.A-=this.C.Vb},function(){this.D=this.D&-65281|this.ra()<<8;this.A-=this.C.Vb},function(){this.I=this.I&-65281|this.ra()<<8;this.A-=this.C.Vb},function(){this.L=this.L&-65281|this.ra()<<8;this.A-=this.C.Vb},function(){this.G=this.G&-65281|this.ra()<<8;this.A-=this.C.Vb},function(){this.D=this.D&~this.R|this.Fa();this.A-=this.C.Vb},function(){this.I=this.I&
~this.R|this.Fa();this.A-=this.C.Vb},function(){this.L=this.L&~this.R|this.Fa();this.A-=this.C.Vb},function(){this.G=this.G&~this.R|this.Fa();this.A-=this.C.Vb},function(){ge(this,z(this)&~this.R|this.Fa());this.A-=this.C.Vb},function(){this.M=this.M&~this.R|this.Fa();this.A-=this.C.Vb},function(){this.K=this.K&~this.R|this.Fa();this.A-=this.C.Vb},function(){this.J=this.J&~this.R|this.Fa();this.A-=this.C.Vb},Mk,Nk,Mk,Nk,function(){this.ma.call(this,Oi)},function(){this.ma.call(this,Mi)},function(){this.N|=
1;this.ld.call(this,Uk,this.ra)},function(){this.N|=1;this.ib.call(this,Uk,this.Fa)},Ok,Pk,Ok,Pk,function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var a=this.C.ek;this.Uc=-1;ik.call(this,3,null,a)}},function(){var a=this.ra();if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var b;a:{b=this.Zf[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.da)){b=!1;break a}this.ea.kj&&t(this,16)&&Vk(this.ba,a,this.da);b=!0}b?(this.Uc=-1,ik.call(this,a,null,0)):this.A--}},function(){if(hg(this))if(this.O&
131072&&3>this.lc)y.call(this,13,0);else{var a=this.C.fk;this.Uc=-1;ik.call(this,4,null,a)}else this.A-=this.C.gk},function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{this.Vc=this.Y.U;this.ta=this.Aa;this.A-=this.C.ck;if(this.qa&1&&this.O&16384){var a=this.ja(this.la.ua+0);he(this.Z,a,!1)}else{var a=this.Ma,b=ee(this),c=ee(this),d=ee(this);if(this.O&131072)d=d&131071|this.O&-131072;else if(d&131072){var e=ee(this),f=ee(this),g=ee(this),h=ee(this),k=ee(this),m=ee(this);ie(this,!0,!0);fe(this,
f);ge(this,e);ne(this,g);me(this,h);this.Ga.load(k);this.Ha.load(m)}null!=se(this,b,c,!1)&&(re(this,d,a),this.bg&&Tf(this,this.da))}this.Vc=this.ta=-1}},function(){this.ld.call(this,Jk,ck)},function(){this.ib.call(this,2==this.V?Kk:Lk,ck)},function(){this.ld.call(this,Jk,dk)},function(){this.ib.call(this,2==this.V?Kk:Lk,dk)},function(){var a=this.ra();if(a){var b=this.D&255;this.D=this.D&-65536|b/a<<8|b%a;ig(this,this.D,128);this.A-=this.C.Ij}else lk.call(this)},function(){var a=this.D&255,b=(this.D>>
8&255)*this.ra()|0,c=a+b|0;this.D=this.D&-65536|c&255;bg(this,a,b,c,191);this.A-=this.C.Hj},function(){this.D=this.D&-256|(cg(this)?255:0);this.A-=2},function(){this.D=this.D&-256|yg(this,this.Da,this.G+(this.D&255));this.A-=this.C.Hk},function(){Qk.call(this,216)},function(){Qk.call(this,217)},function(){Qk.call(this,218)},function(){Qk.call(this,219)},function(){Qk.call(this,220)},function(){Qk.call(this,221)},function(){Qk.call(this,222)},function(){Qk.call(this,223)},function(){var a=this.S(),
b=this.I-1&this.wa;this.I=this.I&~this.wa|b;b&&!fg(this)?(C(this,A(this)+a),this.A-=this.C.nk):this.A-=this.C.Ih},function(){var a=this.S(),b=this.I-1&this.wa;this.I=this.I&~this.wa|b;b&&fg(this)?(C(this,A(this)+a),this.A-=this.C.Jh):this.A-=this.C.Kh},function(){var a=this.S(),b=this.I-1&this.wa;this.I=this.I&~this.wa|b;b?(C(this,A(this)+a),this.A-=this.C.mk):this.A-=this.C.Ih},function(){var a=this.S();this.I&this.wa?this.A-=this.C.Kh:(C(this,A(this)+a),this.A-=this.C.Jh)},function(){var a=this.ra();
ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-2)&255,this.A-=this.C.Dh)},function(){var a=this.ra();ug(this,a,this.V,!0)&&(this.D=this.D&~this.R|Oc(this.ka,a,this.V,this.da-2)&this.R,this.A-=this.C.Dh)},function(){var a=this.ra();ug(this,a,1,!1)&&(Sc(this.ka,a,1,this.D&255,this.da-2),this.A-=this.C.Rh)},function(){var a=this.ra();ug(this,a,this.V,!1)&&(Sc(this.ka,a,this.V,this.D&this.R,this.da-2),this.A-=this.C.Rh)},function(){var a=this.Ea(),b=A(this),a=b+a;oe(this,b);C(this,a);this.A-=
this.C.Mj},function(){var a=this.Ea();C(this,A(this)+a);this.A-=this.C.Eh},function(){se(this,this.Ea(),Gg(this));this.A-=this.C.ik},function(){var a=this.S();C(this,A(this)+a);this.A-=this.C.Eh},function(){var a=this.L&65535;ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-1)&255,this.A-=this.C.Ch)},function(){var a=this.L&65535;ug(this,a,this.V,!0)&&(this.D=this.D&~this.R|Oc(this.ka,a,this.V,this.da-1)&this.R,this.A-=this.C.Ch)},function(){var a=this.L&65535;ug(this,a,1,!1)&&(Sc(this.ka,
ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-2)&255,this.A-=this.C.Dh)},function(){var a=this.ra();ug(this,a,this.V,!0)&&(this.D=this.D&~this.R|Oc(this.ka,a,this.V,this.da-2)&this.R,this.A-=this.C.Dh)},function(){var a=this.ra();ug(this,a,1,!1)&&(Sc(this.ka,a,1,this.D&255,this.da-2),this.A-=this.C.Rh)},function(){var a=this.ra();ug(this,a,this.V,!1)&&(Sc(this.ka,a,this.V,this.D&this.R,this.da-2),this.A-=this.C.Rh)},function(){var a=this.Fa(),b=A(this),a=b+a;oe(this,b);C(this,a);this.A-=
this.C.Mj},function(){var a=this.Fa();C(this,A(this)+a);this.A-=this.C.Eh},function(){se(this,this.Fa(),Gg(this));this.A-=this.C.ik},function(){var a=this.S();C(this,A(this)+a);this.A-=this.C.Eh},function(){var a=this.L&65535;ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-1)&255,this.A-=this.C.Ch)},function(){var a=this.L&65535;ug(this,a,this.V,!0)&&(this.D=this.D&~this.R|Oc(this.ka,a,this.V,this.da-1)&this.R,this.A-=this.C.Ch)},function(){var a=this.L&65535;ug(this,a,1,!1)&&(Sc(this.ka,
a,1,this.D&255,this.da-1),this.A-=this.C.Qh)},function(){var a=this.L&65535;ug(this,a,2,!1)&&(Sc(this.ka,a,this.V,this.D&this.R,this.da-1),this.A-=this.C.Qh)},Rk,Rk,function(){this.N|=132;this.A-=this.C.bd},function(){this.N|=68;this.A-=this.C.bd},function(){this.O&131072?y.call(this,13,0):(this.Xa|=4,this.A-=2,this.ba&&t(this,-2147483648)?(ag(this),this.ba.Jb()):this.O&512||(this.ba&&ag(this),this.Jb()))},function(){cg(this)?kg(this):jg(this);this.A-=2},function(){this.vc=!1;this.ld.call(this,Wk,
fk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R)},function(){this.vc=!1;this.ib.call(this,Xk,fk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R,this.L=this.L&~this.R|this.Ya&this.R)},function(){kg(this);this.A-=2},function(){jg(this);this.A-=2},function(){this.Ma>this.lc?y.call(this,13,0):(this.O&=-513,this.A-=this.C.Kj)},function(){this.Ma>this.lc?y.call(this,13,0):(this.O|=512,this.N|=4,this.A-=2)},function(){this.O&=-1025;this.A-=2},function(){this.O|=1024;this.A-=2},function(){this.ld.call(this,
we,fk)},function(){this.ib.call(this,Be,fk)}],Ek=[ki,hj,ii,jj,mi,Mj,Uj,Ai],Sk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[function(a,b){this.A-=-1===this.F?this.C.nc:this.C.zk;return b},Di,Di,Di,Di,Di,Di,Di],Uk=[function(a,b){this.A-=-1===this.F?this.C.rk:this.C.pk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Jk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<b-1,c=(a<<b|a>>8-b)&255):d=a<<7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;ng(this,c,d,128)}return c},
@ -389,7 +389,7 @@ function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=9)?(c=(a<<b|d<<b-1|a>>9-
function(a,b){var c=a;if(b&=this.Ta){var d=a<<32-b,c=a>>>b|d;ng(this,c,d,-2147483648)}return c},function(a,b){var c=a;if(b&=this.Ta)c=og(this),c=a<<b|c<<b-1|a>>>32-b>>>1,ng(this,c,a<<b-1,-2147483648);return c},function(a,b){var c=a;if(b&=this.Ta)c=og(this),c=a>>>b|c<<32-b|a<<32-b<<1,ng(this,c,a<<32-b,-2147483648);return c},function(a,b){var c=a;if(b&=this.Ta)a<<=b-1,c=a<<1,ig(this,c,-2147483648,a&-2147483648,(c^a)&-2147483648);return c},function(a,b){if(b&=this.Ta)b=a>>>b-1,a=b>>>1,ig(this,a,-2147483648,
b&1,a&-2147483648);return a},Ei,function(a,b){if(b&=this.Ta)b=a>>b-1,a=b>>1,ig(this,a,-2147483648,b&1);return a}],Wk=[function(a,b){b=this.ra();ig(this,a&b,128);this.A-=-1===this.B?this.C.bi:this.C.ai;this.N|=2;return a},Ei,function(a){this.A-=-1===this.B?this.C.Gf:this.C.Ff;return a^255},function(a){var b=-a|0;bg(this,0,a,b,191,!0);this.A-=-1===this.B?this.C.Gf:this.C.Ff;return b&255},function(a){this.Ba=(this.D&255)*a&65535;this.Ba&65280?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=
-1===this.B?this.C.vk:this.C.uk;this.N|=2;return a},function(a){var b=(this.D<<24>>24)*(a<<24>>24)|0;this.Ba=b&65535;127<b||-128>b?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.B?this.C.$j:this.C.Zj;this.N|=2;return a},function(a,b){if(!a)return lk.call(this),a;var c=(b=this.D&65535)/a;if(255<c)return lk.call(this),a;this.Ba=c&255|(b%a&255)<<8;this.vc=!0;this.A-=-1===this.B?this.C.Sj:this.C.Rj;this.N|=2;return a},function(a,b){if(!a)return lk.call(this),a;var c=a<<24>>24,d=
(b=this.D<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ca&&-128==d)return lk.call(this),a;this.Ba=d&255|(b%c&255)<<8;this.vc=!0;this.A-=-1===this.B?this.C.Wj:this.C.Vj;this.N|=2;return a}],Xk=[function(a,b){b=this.Ea();ig(this,a&b,this.Fb);this.A-=-1===this.B?this.C.bi:this.C.ai;this.N|=2;return a},Ei,function(a){this.A-=-1===this.B?this.C.Gf:this.C.Ff;return a^this.R},function(a){var b=-a|0;bg(this,0,a,b,this.Fb|63,!0);this.A-=-1===this.B?this.C.Gf:this.C.Ff;return b&this.R},function(a,b){2==this.V?
(b=this.D<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ca&&-128==d)return lk.call(this),a;this.Ba=d&255|(b%c&255)<<8;this.vc=!0;this.A-=-1===this.B?this.C.Wj:this.C.Vj;this.N|=2;return a}],Xk=[function(a,b){b=this.Fa();ig(this,a&b,this.Fb);this.A-=-1===this.B?this.C.bi:this.C.ai;this.N|=2;return a},Ei,function(a){this.A-=-1===this.B?this.C.Gf:this.C.Ff;return a^this.R},function(a){var b=-a|0;bg(this,0,a,b,this.Fb|63,!0);this.A-=-1===this.B?this.C.Gf:this.C.Ff;return b&this.R},function(a,b){2==this.V?
(b=this.D&65535,b=b*a|0,this.Ba=b&65535,this.Ya=b>>16&65535):(Ki.call(this,a,this.D),80563==this.xe&&68657152==this.D&&129==a&&(this.Ya=0));this.Ya?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.B?this.C.xk:this.C.wk;this.N|=2;return a},function(a,b){2==this.V?(b=this.D&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.Ba=b&65535,this.Ya=b>>16&65535,b=32767<b||-32768>b):(Ji.call(this,a,this.D),b=this.Ya!=this.Ba>>31);b?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.B?
this.C.bk:this.C.ak;this.N|=2;return a},function(a,b){if(2==this.V){if(!a)return lk.call(this),a;b=65536*(this.L&65535)+(this.D&65535);var c=b/a;if(65536<=c)return lk.call(this),a;this.Ba=c&65535;this.Ya=b%a&65535}else{if(!Yj.call(this,this.D,this.L,a))return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.B?this.C.Uj:this.C.Tj;this.N|=2;return a},function(a,b){if(2==this.V){if(!a)return lk.call(this),a;var c=a<<16>>16,d=(b=this.L<<16|this.D&65535)/c|0;if(d!=d<<16>>16||8086==this.ca&&
-32768==d)return lk.call(this),a;this.Ba=d&65535;this.Ya=b%c&65535}else{b=this.D;var c=this.L,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!Yj.call(this,b,c,d)||this.Ba>2147483647+e||this.Ya>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.Ya=-this.Ya),b=!0);if(!b)return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.B?this.C.Yj:this.C.Xj;this.N|=2;return a}],we=[function(a){var b=a+1|0;bg(this,a,1,b,190);this.A-=-1===this.B?this.C.Ef:this.C.Df;return b&
@ -402,10 +402,10 @@ B[7]=function(){if(this.Ma)y.call(this,13,0,0,!0);else{var a=this.oa.bc(this.J&t
this.ia(a+28);this.L=this.ia(a+32);this.I=this.ia(a+36);this.D=this.ia(a+40);ae(this.Ha,this.ia(a+60),this.ia(a+132),this.ia(a+136),this.ia(a+140));ae(this.Ga,this.ia(a+64),this.ia(a+144),this.ia(a+148),this.ia(a+152));ae(this.Ca,this.ia(a+68),this.ia(a+156),this.ia(a+160),this.ia(a+164));ae(this.Y,this.ia(a+72),b,this.ia(a+172),this.ia(a+176));ae(this.Z,this.ia(a+76),this.ia(a+180),this.ia(a+184),this.ia(a+188));ae(this.oa,this.ia(a+80),this.ia(a+192),this.ia(a+196),this.ia(a+200));C(this,this.ia(a+
8));ge(this,this.ia(a+24))}this.A-=122<<(a&3?1:0)}};B[16]=Fk;B[17]=Gk;B[18]=Hk;B[19]=Ik;B[32]=function(){if(this.Ma)y.call(this,13,0);else{var a,b=this.ra();switch((b&56)>>3){case 0:a=this.qa;break;case 2:a=this.Dd;break;case 3:a=this.Wc;break;default:Xe.call(this);return}vf(this,b&7,a);this.A-=6}};B[33]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;4==b||5==b?Xe.call(this):(vf(this,a&7,this.Qb[b]),this.A-=22)}};
B[34]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=uf(this,a&7);switch((a&56)>>3){case 0:ak.call(this,b);this.A-=10;break;case 2:this.Dd=b;this.A-=4;break;case 3:te.call(this,b);this.A-=5;break;default:Xe.call(this)}}};B[35]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;4==b||5==b?Xe.call(this):(a=uf(this,a&7),a!=this.Qb[b]&&(Uf(this,!1),this.Qb[b]=a,Uf(this,!0)),this.A-=4>b?22:14)}};
B[36]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;6>b?Xe.call(this):(vf(this,a&7,this.eg[b]),this.A-=12)}};B[38]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;6>b?Xe.call(this):(this.eg[b]=uf(this,a&7),this.A-=12)}};B[128]=function(){var a=this.Ea();hg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[129]=function(){var a=this.Ea();hg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};
B[130]=function(){var a=this.Ea();cg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[131]=function(){var a=this.Ea();cg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[132]=function(){var a=this.Ea();fg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[133]=function(){var a=this.Ea();fg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[134]=function(){var a=this.Ea();cg(this)||fg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};
B[135]=function(){var a=this.Ea();cg(this)||fg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[136]=function(){var a=this.Ea();gg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[137]=function(){var a=this.Ea();gg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[138]=function(){var a=this.Ea();dg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[139]=function(){var a=this.Ea();dg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};
B[140]=function(){var a=this.Ea();!gg(this)!=!hg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[141]=function(){var a=this.Ea();!gg(this)==!hg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[142]=function(){var a=this.Ea();fg(this)||!gg(this)!=!hg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[143]=function(){var a=this.Ea();fg(this)||!gg(this)!=!hg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[144]=function(){bk.call(this,lj)};
B[36]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;6>b?Xe.call(this):(vf(this,a&7,this.eg[b]),this.A-=12)}};B[38]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;6>b?Xe.call(this):(this.eg[b]=uf(this,a&7),this.A-=12)}};B[128]=function(){var a=this.Fa();hg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[129]=function(){var a=this.Fa();hg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};
B[130]=function(){var a=this.Fa();cg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[131]=function(){var a=this.Fa();cg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[132]=function(){var a=this.Fa();fg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[133]=function(){var a=this.Fa();fg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[134]=function(){var a=this.Fa();cg(this)||fg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};
B[135]=function(){var a=this.Fa();cg(this)||fg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[136]=function(){var a=this.Fa();gg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[137]=function(){var a=this.Fa();gg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[138]=function(){var a=this.Fa();dg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[139]=function(){var a=this.Fa();dg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};
B[140]=function(){var a=this.Fa();!gg(this)!=!hg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[141]=function(){var a=this.Fa();!gg(this)==!hg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[142]=function(){var a=this.Fa();fg(this)||!gg(this)!=!hg(this)?(C(this,A(this)+a),this.A-=this.C.Qa):this.A-=this.C.Ra};B[143]=function(){var a=this.Fa();fg(this)||!gg(this)!=!hg(this)?this.A-=this.C.Ra:(C(this,A(this)+a),this.A-=this.C.Qa)};B[144]=function(){bk.call(this,lj)};
B[145]=function(){bk.call(this,lj)};B[146]=function(){bk.call(this,mj)};B[147]=function(){bk.call(this,nj)};B[148]=function(){bk.call(this,oj)};B[149]=function(){bk.call(this,pj)};B[150]=function(){bk.call(this,qj)};B[151]=function(){bk.call(this,rj)};B[152]=function(){bk.call(this,sj)};B[153]=function(){bk.call(this,tj)};B[154]=function(){bk.call(this,uj)};B[155]=function(){bk.call(this,vj)};B[156]=function(){bk.call(this,wj)};B[157]=function(){bk.call(this,xj)};B[158]=function(){bk.call(this,yj)};
B[159]=function(){bk.call(this,zj)};B[160]=function(){le(this,this.Ga.U,this.V,2);this.A-=this.C.se};B[161]=function(){this.ta=this.Aa;var a=ee(this);this.Ga.load(a);this.A-=this.C.nc;this.ta=-1};B[163]=function(){this.za.call(this,wi);-1!==this.B&&(this.A-=6)};B[164]=function(){this.za.call(this,2==this.V?Aj:Cj);this.A-=-1===this.B?3:7};B[165]=function(){this.za.call(this,2==this.V?Ej:Fj);this.A-=-1===this.B?3:7};B[168]=function(){le(this,this.Ha.U,this.V,2);this.A-=this.C.se};
B[169]=function(){this.ta=this.Aa;var a=ee(this);this.Ha.load(a);this.A-=this.C.nc;this.ta=-1};B[171]=function(){this.za.call(this,zi);-1!==this.B&&(this.A-=5)};B[172]=function(){this.za.call(this,2==this.V?Gj:Ij);this.A-=-1===this.B?3:7};B[173]=function(){this.za.call(this,2==this.V?Kj:Lj);this.A-=-1===this.B?3:7};B[175]=function(){this.ma.call(this,2==this.V?Gi:Ii)};B[178]=function(){this.ma.call(this,Si)};B[179]=function(){this.za.call(this,yi);-1!==this.B&&(this.A-=5)};
@ -468,7 +468,7 @@ l.Mn=function(a,b,c){w(this,a,b,c,"CMOS.ADDR",null,4096);this.W=b;this.da=b&Tp?h
l.Nn=function(a,b,c){var d=this.W&Vp;t(this,4352)&&w(this,a,b,c,"CMOS.DATA["+r(d)+"]",null,!0);a=b^this.A[d];if(d<=Cl){if(c=b,d<Mm){var e=!1;this.A[Qd]&Qm||(c=10*(c>>4)+(c&15),e=!0);if(d==om||d==pm)e&&23<c&&(c+=48),this.A[Qd]&Nm||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;d==Qd&&a&Rd&&b&Rd&&Sm(this)};l.Ok=function(a,b,c){w(this,a,b,c,"NMI");this.da=b};l.Xn=function(a,b,c){w(this,a,b,c,"FPU.CLEAR")};l.Yn=function(a,b,c){w(this,a,b,c,"FPU.RESET");this.Tc&&Ng(this.Tc)};
l.Ym=function(a){if(t(this,16)&&Vk(this.ba,26,a)){var b=this.H.D>>8;Sf(this.H,a,function(a,d){return function(c){d=Dd(a.H)-d;var e,g=a.H.L&255,h=a.H.L>>8,k=a.H.L&255,m=a.H.L>>8;if(2==b||3==b)e=" CH(hour)="+sa(h)+" CL(min)="+r(g)+" DH(sec)="+r(m);else if(4==b||5==b)e=" CX(year)="+sa(a.H.I)+" DH(month)="+r(m)+" DL(day)="+r(k);g=a.ba;h=d;g.message("INT "+r(26)+": C="+(cg(g.H)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,Dd(this.H)))}return!0};
function Um(a,b){if(a.la)try{void 0!==b?a.Ga=b:b=!!(a.Ga&&a.H&&a.H.ea.vb);var c=Math.round(nl/uo(a,vo));if(20>c||2E4<c)b=!1;b?a.I?(a.I.frequency.value=c,t(a,33554432)&&Lb(a,"speaker set to "+c+"hz",!0)):(a.I=a.la.createOscillator(),a.I&&(a.I.type="number"==typeof a.I.type?1:"square",a.I.connect(a.la.destination),a.I.frequency.value=c,"start"in a.I?a.I.start(0):a.I.noteOn(0),t(a,33554432)&&Lb(a,"speaker on at "+c+"hz",!0))):a.I&&("stop"in a.I?a.I.stop(0):a.I.noteOff(0),a.I.disconnect(),delete a.I,
t(a,33554432)&&Lb(a,"speaker off at "+c+"hz",!0))}catch(d){a.Fa("AudioContext exception: "+d.message),a.la=null}else b&&Lb(a,"BEEP",33554432)}var jl=5150,bl=5150.9,dh=5170,kl=5160.101,wl=5180,al={5150:jl,5160:5160,5170:dh,att6300:kl,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:bl};al.deskpro386=wl;
t(a,33554432)&&Lb(a,"speaker off at "+c+"hz",!0))}catch(d){a.Ea("AudioContext exception: "+d.message),a.la=null}else b&&Lb(a,"BEEP",33554432)}var jl=5150,bl=5150.9,dh=5170,kl=5160.101,wl=5180,al={5150:jl,5160:5160,5170:dh,att6300:kl,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:bl};al.deskpro386=wl;
var dl="sw1",hl="sw2",ll="swdesc",Tl=3,tn=1,un=15,xn=3,yn=4,Bn=3,Kn=12,On=0,Ln=4,Nn=8,Qn=16,Pn=32,on=0,Hl=0,Il=32,Jl=1,Kl=160,Wn=16,ko=1,jo=2,co=7,$n=224,ao=32,bo=96,fo=128,go=192,Xn=8,Tn=2,Un=3,Sn=3,Yn=4,Zn=96,to=0,Qp=1,lo=2,Uo=8,fh=13,ro=0,so=0,vo=2,Ho=1,Io=14,po=0,Ro=4,Pd=6,qo=8,Jo=48,Ko=0,Po=32,Qo=48,yo=192,zo=192,Go=6,Bo=2,Ao=16,Eo=32,Co=64,Do=128,nl=1193181,Lo=1,dp=2,Mo=4,No=8,gp=8,Oo=64,ap=128,fp=15,ip=16,hp=32,$o=16,fm={pl:1,ONE:0,bq:64,$p:128,Rp:192,yc:192,Ng:6},em=2,dm={aq:16,pp:32,Sp:48,
yc:48,Ng:4},fl=1,ml=3,gl=4,jn=5,kn=6,cn={};cn[jl]=[{},{}];cn[jl][0][fl]={yc:192,Zc:{1:0,2:64,3:128,4:192},Fd:"Number of Floppy Drives"};cn[jl][0][ml]={yc:2,Zc:{0:0,1:2},Fd:"FPU"};cn[jl][0][gl]={yc:48,Zc:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Fd:"Monitor Type"};cn[jl][0][jn]={yc:12,Zc:{16:0,32:4,48:8,64:12},Fd:"Base Memory (16Kb Increments)"};
cn[jl][1][kn]={yc:31,Zc:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Fd:"Expansion Memory (32Kb Increments)"};cn[5160]=[{},{}];cn[5160][0][fl]=cn[jl][0][fl];cn[5160][0][ml]=cn[jl][0][ml];cn[5160][0][gl]=cn[jl][0][gl];cn[5160][0][jn]={yc:12,Zc:{64:0,128:4,192:8,256:12},Fd:"Base Memory (64Kb Increments)"};cn[5160][1][kn]=cn[jl][1][kn];cn[kl]=[{},{}];cn[kl][0][jn]={yc:143,Zc:{128:1,256:130,512:8,640:141},Fd:"Base Memory (128Kb Increments)"};
@ -487,10 +487,10 @@ b,c){vn(this,1,a,b,c)},212:function(a,b,c){wn(this,1,a,b,c)},214:function(a,b,c)
$a(function(){for(var a=zb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new $k(d);yb(d,c);mn(d)}});
function Xp(a){mb.call(this,"ROM",a);this.A=null;this.F=a.addr;this.B=a.size;this.D=a.alias;this.G=a.file;this.C=a.notify;this.I=null;if(this.C&&(a=this.C.indexOf("["),0<a)){try{this.I=eval(this.C.substr(a))}catch(d){}this.C=this.C.substr(0,a)}if(this.G){a=this.G;var b=va(ta(a));"json"!=b&&"hex"!=b&&(a=La()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,f){Yp(c,a,b,f)})}}ba(Xp,mb);Xp.prototype.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;Zp(this)};
Xp.prototype.Xb=function(){this.Gd&&(this.ba&&$p(this.ba,this.id,0,this.F>>>4,0,this.F,this.B,this.Gd),delete this.Gd);return!0};Xp.prototype.Wb=function(){return!0};
function Yp(a,b,c,d){if(d)a.Fa("Unable to load system ROM (error "+d+": "+b+")");else{ob(a.ye,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Gd=e.symbols;if(!a.A.length){gb("Empty ROM: "+b);return}if(1==a.A.length){gb(a.A[0]);return}}catch(h){a.Fa("ROM data error: "+h.message);return}else for(b=
function Yp(a,b,c,d){if(d)a.Ea("Unable to load system ROM (error "+d+": "+b+")");else{ob(a.ye,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Gd=e.symbols;if(!a.A.length){gb("Empty ROM: "+b);return}if(1==a.A.length){gb(a.A[0]);return}}catch(h){a.Ea("ROM data error: "+h.message);return}else for(b=
c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=oa(b[e],16);Zp(a)}}
function Zp(a){if(!Gb(a))if(!a.G)Ib(a);else if(a.A&&a.ka){a.B||(a.B=a.A.length);if(a.A.length!=a.B)Fb(a,"ROM size ("+q(a.A.length,8,!0)+") does not match specified size ("+q(a.B,8,!0)+")");else{var b;b=a.F;if(oc(a.ka,b,a.B,Dc)){for(var c=0;c<a.A.length;c++){var d=a.ka,e=b+c;d.aa[(e&d.B)>>>d.A].cf(e&d.D,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.D?b.push(a.D):null!=a.D&&a.D.length&&(b=a.D);for(c=0;c<b.length;c++){var d=a,e=b[c],f=xc(d.ka,d.F,d.B);wc(d.ka,e,d.B,f)}a.C&&((b=tb(a.C,a.id))?
(c=a.A,d=a.I,b.La==aq?bq(b,c,d||[12640,8752],8):b.La==cq&&bq(b,c,d||[14221,16269],8),Ib(b)):a.Fa("Unable to find component: "+a.C));delete a.A}}Ib(a)}}$a(function(){for(var a=zb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Xp(d);yb(d,c)}});function dq(a){mb.call(this,"RAM",a);this.C=a.addr;this.A=a.size;this.F=a.test;this.D=!!this.A;this.B=!1}ba(dq,mb);l=dq.prototype;l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.W=Wb(a,"ChipSet");Ib(this)};
(c=a.A,d=a.I,b.La==aq?bq(b,c,d||[12640,8752],8):b.La==cq&&bq(b,c,d||[14221,16269],8),Ib(b)):a.Ea("Unable to find component: "+a.C));delete a.A}}Ib(a)}}$a(function(){for(var a=zb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Xp(d);yb(d,c)}});function dq(a){mb.call(this,"RAM",a);this.C=a.addr;this.A=a.size;this.F=a.test;this.D=!!this.A;this.B=!1}ba(dq,mb);l=dq.prototype;l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.W=Wb(a,"ChipSet");Ib(this)};
l.Xb=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};l.Wb=function(a){return a&&this.controller?this.save():!0};
l.reset=function(){if(!this.C&&!this.D&&this.W){var a=1024*Ql(this.W);this.A&&a!=this.A&&(Bc(this.ka,this.C,this.A),this.B=!1);this.A=a}!this.B&&this.A&&oc(this.ka,this.C,this.A,1)&&(this.B=!0,"ramCPQ"==this.ce&&(this.controller=new eq(this),oc(this.ka,fq,4,4,this.controller)));if(this.B){if(this.F||Jc(this.ka,1138,4660),"ramCPQ"!=this.ce&&this.W&&(a=this.W,a.A)){var b=1048576>this.C?$l:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;jm(a)}}else gb("No RAM allocated")};
l.save=function(){var a=new Wf(this);this.controller&&a.set(0,this.controller.save());return a.data()};l.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function eq(a){this.D=a;this.B=gq;this.H=hq;this.C=iq;this.A=null}l=eq.prototype;l.save=function(){return[this.B,this.C]};l.restore=function(a){this.fc(0,a[0]&255);this.fc(2,a[1]&255);return!0};l.Ia=function(a){var b=255;2>a?b=a&1?this.H>>8:this.H&255:4>a&&(b=a&1?this.C>>8:this.C&255);return b};
@ -555,7 +555,7 @@ a.Db=setTimeout(a.Qd,500)):null!=a.Db&&(clearTimeout(a.Db),a.Db=null);void 0===c
l.reset=function(){var a=!0,b=0;this.W&&(b=+Sl(this.W,gl,void 0));this.ca||(this.La=b==Tl?os:ls);this.da=Bs;switch(this.La){case cq:b=7;break;case aq:var c=Cs[this.xb];c&&(b=c[0]);b||(b=4);break;case os:b=Tl;this.da=Ds;break;default:b=2}this.ga!==b&&(this.ga=b,a=!0);this.B=null;this.Y=this.Kb=new jr(this,os);this.K=this.yb=new jr(this,ls);this.La<aq?this.A=new jr:(this.A=new jr(this,this.La,null,this.rd),Es(this));Fs(this);this.oa=null;this.Aa=this.aa=-1;this.xa=0;Gs(this,this.da);if(this.B.bb&&a){a=
this.B.bb+this.Xa;for(b=this.B.bb;b<a;b+=2){var d=65536*Math.random()|0;4==this.ga||7==this.ga?(c=b>>1&255,d=d>>8&~Hs,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?Is|Js:Ks|Ls)|Ms&d>>8);Jc(this.ka,b,c|d<<8)}ys(this,!0)}};function Es(a){a.A.bf&qr?(a.Y=a.Kb,a.K=a.A):(a.Y=a.A,a.K=a.yb)}l.save=function(){var a=new Wf(this);a.set(0,Hr(this.Kb));a.set(1,Hr(this.yb));a.set(2,[this.ga,this.da,this.oa]);a.set(3,Hr(this.A));return a.data()};
l.restore=function(a){var b=a[2];this.ga=b[0];this.da=b[1];this.oa=b[2];this.B=null;this.Y=this.Kb=new jr(this,os,a[0]);this.K=this.yb=new jr(this,ls,a[1]);this.A=new jr(this,this.La,a[3],this.rd);this.A.rc&&Es(this);Fs(this);if(!Ns(this))return!1;Os(this);return!0};
function ks(a,b,c,d){if(d)a.Fa("Unable to load font ROM (error "+d+": "+b+")");else{ob(a.ye,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){gb("Empty font ROM: "+b);return}if(1==f.length){gb(f[0]);return}if(8192==f.length)bq(a,f,[6144,0]);else if(2048==f.length)bq(a,f,[0]);else{a.Fa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Fa("Font ROM data error: "+g.message);return}(a.L||a.ba)&&Ib(a)}}
function ks(a,b,c,d){if(d)a.Ea("Unable to load font ROM (error "+d+": "+b+")");else{ob(a.ye,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){gb("Empty font ROM: "+b);return}if(1==f.length){gb(f[0]);return}if(8192==f.length)bq(a,f,[6144,0]);else if(2048==f.length)bq(a,f,[0]);else{a.Ea("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Ea("Font ROM data error: "+g.message);return}(a.L||a.ba)&&Ib(a)}}
function Ps(a,b){if(1==b)return a.ha[0]=Qs[Ks],a.ha[1]=Qs[Is],a.ha;if(2==b){var c=a.B.$e;if(a.B===a.A){var d=a.A.Cc[0],c=d&7;d&16&&(c|=8);18!=a.A.Cc[1]&&(c|=32)}a.ha[0]=Qs[c&15];c=c&32?Rs:Ss;for(d=0;d<c.length;d++)a.ha[d+1]=Qs[c[d]];return a.ha}if(a.K===a.yb)return Qs;a.Ga&&b&&!a.ha[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.af,e,f,g,h;if(8==b)for(e=0;256>e;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ha[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Cc[15]?c.Cc:Ts;for(e=0;16>e;e++)f=b[e]&63,k?(f|=
(c.Cc[20]&12)<<4,c.Cc[16]&128&&(f&=-49,f|=(c.Cc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.ha[e]=[g,h,f,255]}a.Ga=!0}return a.ha}function bq(a,b,c,d){a.wb=b;a.Ta=c;a.Da=d}
function Fs(a,b){var c=!1;if(window&&a.wb&&(!b||a.I)){b=0;var d=a.Da?a.Da:8,e=Ps(a);null!=a.Ta[0]&&Us(a,Vs,a.Ta[0],b,d,8,a.wb,e)&&(c=!0);b=a.Da?0:2048;d=a.Da?a.Da:9;null!=a.Ta[1]&&(Us(a,Ws,a.Ta[1],b,d,14,a.wb,Xs,Ys)&&(c=!0),a.Da&&Us(a,a.La,a.Ta[1],0,a.Da,14,a.wb,e)&&(c=!0))}return c}function Us(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Zs(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Dd&&Zs(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
@ -623,15 +623,15 @@ function Ou(a,b,c){if(void 0!==c){var d;!(d=!1!==a.M)&&(d=a.B.length)&&(d=a.B[0]
l.Wd=function(a,b){if(this.rc&&this.H&&this.H.ea.vb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case As:if(this.K!=b){this.K=b;Pu(this,c);return}break;case Qu:if(this.L!=b){this.L=b;Pu(this,c);return}}Lb(this,c+": ignored")}};l.uf=function(a,b,c,d){this.rc&&this.H&&this.H.ea.vb&&(a||b)&&(this.I=a,this.J=b,Pu(this,null,c,d))};
function Pu(a,b,c,d){var e=64|(a.K?32:0)|(a.L?16:0)|(a.J&192)>>4|(a.I&192)>>6,f=a.I&63,g=a.J&63;t(a,8388608)&&Lb(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+r(e)+","+r(f)+","+r(g)+"]",0,!0);a.D.Pf([e,f,g]);a.I=a.J=0}
l.ql=function(a){var b=1048592==(a&1048592);if(b){if(!this.rc){var c=!1;this.A&16||(this.reset(),Lb(this,"serial mouse reset"),c=!0);this.A&1048576||(Lb(this,"serial mouse ID requested"),c=!0);c&&(this.D.Pf([Ru,Ru]),Lb(this,"serial mouse ID sent"));Ku(this);this.rc=b}}else this.rc&&(Lb(this,"serial mouse inactive"),Lu(this),this.rc=b);this.A=a};var Ru=77,As=0,Qu=2;$a(function(){for(var a=zb(document,"pcx86","mouse"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Ju(d);yb(d,c)}});
function Su(a,b,c){mb.call(this,"Disk",{id:a.ye+".disk"+q(++Tu,4)},2097152);this.controller=a;this.pa=a.pa;this.ba=a.ba;this.C=b;this.kd=b.name;this.Pe=b.Pe;this.pg=this.D=!1;Uu(this,c,b.qb,b.kb,b.$a,b.Na);this.I=[];this.L=[];this.F=null;this.N=0;this.M=!1;Ib(this)}ba(Su,mb);l=Su.prototype;l.uc=function(a,b,c,d){this.ba=d};l.Xb=function(a,b){b||!this.pg||this.D||(Ib(this,!1),this.load(this.kd,this.G,null,this.Hl,this));return!0};l.Hl=function(){Ib(this,!0)};
l.Wb=function(a,b){if(this.D){var c,d=0;if(this.M&&!qb("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Vu(this,!1);)if(d=c[0]){this.controller.Fa('Unable to save "'+this.kd+'" (error '+d+")");break}b&&this.D&&(b="action=close&volume="+this.G,b+="&machine="+Wu(this.controller),b+="&user="+Xu(this.controller),Ka(La()+"/api/v1/disk?"+b,null,!0),this.D=!1);!d&&a&&this.controller.Fa(this.kd+" saved")}return!0};
function Su(a,b,c){mb.call(this,"Disk",{id:a.ye+".disk"+q(++Tu,4)},2097152);this.controller=a;this.Ea=a.Ea;this.P=a.P;this.pa=a.pa;this.ba=a.ba;this.C=b;this.kd=b.name;this.Pe=b.Pe;this.pg=this.D=!1;Uu(this,c,b.qb,b.kb,b.$a,b.Na);this.I=[];this.L=[];this.F=null;this.N=0;this.M=!1;Ib(this)}ba(Su,mb);l=Su.prototype;l.uc=function(a,b,c,d){this.ba=d};l.Xb=function(a,b){b||!this.pg||this.D||(Ib(this,!1),this.load(this.kd,this.G,null,this.Hl,this));return!0};l.Hl=function(){Ib(this,!0)};
l.Wb=function(a,b){if(this.D){var c,d=0;if(this.M&&!qb("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Vu(this,!1);)if(d=c[0]){this.Ea('Unable to save "'+this.kd+'" (error '+d+")");break}b&&this.D&&(b="action=close&volume="+this.G,b+="&machine="+Wu(this.controller),b+="&user="+Xu(this.controller),Ka(La()+"/api/v1/disk?"+b,null,!0),this.D=!1);!d&&a&&this.Ea(this.kd+" saved")}return!0};
function Uu(a,b,c,d,e,f){a.mode=b;a.qb=c;a.kb=d;a.$a=e;a.Na=f;a.A=[];if("preload"!=a.mode){b=Array(a.qb);for(c=0;c<b.length;c++){d=Array(a.kb);for(e=0;e<d.length;e++){f=Array(a.$a);for(var g=1;g<=f.length;g++)f[g-1]=Yu(null,c,e,g,a.Na,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.K=null}
l.load=function(a,b,c,d,e){var f=b;if(this.J)return!0;this.kd=a;this.G=b;this.Kg=ta(b);var g=this;this.J=d;this.O=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=la[c];if(d){g.qb=d[0];g.kb=d[1];g.$a=d[2];g.Na=d[3]||512;b=g.Na>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.qb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.kb),G=0;G<f.length;G++)for(var I=f[G]=Array(g.$a),J=0;J<I.length;J++){for(var T=Yu(null,c,G,J+1,g.Na,0),L=T.data,ua=0;ua<
b;ua++,e+=4)var ca=L[ua]=a.getInt32(e,!0),d=d+ca&-1;T.Lc=b;I[J]=T}g.K=d;b=g}else g.Fa("Unrecognized disk format ("+c+" bytes)");g.J&&(g.J.call(g.controller,g.C,b,g.kd,g.G),g.J=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=va(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Zu(this,b),this.pg=!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"):wa(b,
b;ua++,e+=4)var ca=L[ua]=a.getInt32(e,!0),d=d+ca&-1;T.Lc=b;I[J]=T}g.K=d;b=g}else g.Ea("Unrecognized disk format ("+c+" bytes)");g.J&&(g.J.call(g.controller,g.C,b,g.kd,g.G),g.J=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=va(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Zu(this,b),this.pg=!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"):wa(b,
"/")&&(c="dir"),f=La()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Pe?"":d)+"&format=json"));return!!Ka(f,null,!0,function(a,b,c){$u(g,a,b,c)})};
function $u(a,b,c,d){var e=null;a.Se=!1;var f=!(!(0>d&&a.pa)||a.pa.ea.Yb);if(a.pg)d?a.controller.Fa('Unable to connect to disk "'+a.G+'" (error '+d+": "+c+")",f):(a.D=!0,av(a),e=a);else if(d)a.controller.Fa('Unable to load disk "'+a.kd+'" (error '+d+": "+b+")",f);else{ob(a.controller.ye,b,c);try{if(0<ta(a.Kg,!0).toLowerCase().indexOf("-readonly"))a.Se=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.Se=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+
a.kd]:h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)gb(h[0]);else{a.qb=h.length;a.kb=h[0].length;a.$a=h[0][0].length;var k=h[0][0][0];a.Na=k&&k.length||512;for(d=c=0;d<a.qb;d++)for(f=0;f<a.kb;f++)for(g=0;g<a.$a;g++)if(k=h[d][f][g]){var m=k.length;void 0===m&&(m=k.length=512);var m=m>>2,p=k.pattern;void 0===p&&(p=k.pattern=0);var v=k.data;if(void 0===v){var u=k.bytes;if(void 0!==u&&u.length){for(var E=
m<<2,G=u.length;G<E;G++)u[G]=p;bv(k,u,0)}else v=[],p=k.pattern=p|p<<8|p<<16|p<<24,k.data=v;delete k.bytes}Yu(k,d,f);for(E=0;E<v.length;E++)c=c+v[E]&-1}a.A=h;a.K=c;av(a);e=a}else gb("Empty disk image: "+a.kd)}catch(I){gb("Disk image error ("+b+"): "+I.message)}}a.J&&(a.J.call(a.O,a.C,e,a.kd,a.G),a.J=null)}
function $u(a,b,c,d){var e=null;a.Se=!1;var f=!(!(0>d&&a.pa)||a.pa.ea.Yb);if(a.pg)d?a.Ea('Unable to connect to disk "'+a.G+'" (error '+d+": "+c+")",f):(a.D=!0,av(a),e=a);else if(d)a.Ea('Unable to load disk "'+a.kd+'" (error '+d+": "+b+")",f);else{ob(a.controller.ye,b,c);try{if(0<ta(a.Kg,!0).toLowerCase().indexOf("-readonly"))a.Se=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.Se=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.kd]:h=0>c.indexOf("0x")&&
'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)gb(h[0]);else{a.qb=h.length;a.kb=h[0].length;a.$a=h[0][0].length;var k=h[0][0][0];a.Na=k&&k.length||512;for(d=c=0;d<a.qb;d++)for(f=0;f<a.kb;f++)for(g=0;g<a.$a;g++)if(k=h[d][f][g]){var m=k.length;void 0===m&&(m=k.length=512);var m=m>>2,p=k.pattern;void 0===p&&(p=k.pattern=0);var v=k.data;if(void 0===v){var u=k.bytes;if(void 0!==u&&u.length){for(var E=m<<2,G=u.length;G<
E;G++)u[G]=p;bv(k,u,0)}else k.data=v=[],u&&(k.pattern=p|p<<8|p<<16|p<<24);delete k.bytes}Yu(k,d,f);for(E=0;E<v.length;E++)c=c+v[E]&-1}a.A=h;a.K=c;av(a);e=a}else gb("Empty disk image: "+a.kd)}catch(I){gb("Disk image error ("+b+"): "+I.message)}}a.J&&(a.J.call(a.O,a.C,e,a.kd,a.G),a.J=null)}
function av(a){var b,c,d={},e;if(a.B&&a.B.length)for(b=a.A,c=0;c<b.length;c++)for(var f=0;f<b[c].length;f++)for(e=0;e<b[c][f].length;e++){var g=b[c][f][e];g&&(delete g.file,delete g.tn)}a.B=[];d.Lf=d.tf=0;b=a.qb*a.kb*a.$a*a.Na;a.D&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=cv(a,0)){d.Na=dv(a,e,11,2);if(d.Na!=a.Na){f=!1;d.sf=1;d.wg=12;d.mh=d.sf+2;d.wf=1;d.Na=a.Na;if(163840==b&&254==ev(a,d,0,0))d.tf=320,d.wh=64,f=!0;else if(327680==b&&255==ev(a,d,0,0))d.tf=640,d.wh=
112,d.wf++,f=!0;else for(c=446,b=0;4>b;b++){if(128==dv(a,e,c+0,1)){d.Lf=dv(a,e,c+8,4);(e=cv(a,d.Lf))&&(f=!0);break}c+=16}if(!f)return}d.tf||(d.tf=dv(a,e,19,2)||dv(a,e,32,4),d.sf=dv(a,e,14,2),d.mh=d.sf+dv(a,e,22,2)*dv(a,e,16,1),d.wh=dv(a,e,17,2),d.wf=dv(a,e,13,1));d.kh=d.mh+((32*d.wh+(d.Na-1))/d.Na|0);d.nn=(d.tf-d.kh)/d.wf|0;d.wg=4084>=d.nn?12:16;d.Ol=12==d.wg?4086:65526;b=[];for(e=d.mh;e<d.kh;e++)b.push(d.Lf+e);fv(a,d,a.Kg,"",b);for(b=0;b<a.B.length;b++){d=a.B[b];for(e=c=0;e<d.ge.length;e++){var f=
d.ge[e],g=c,h=a.kb*a.$a,k=f%h,m=k/a.$a|0,k=k%a.$a,p=void 0,v=void 0,u=void 0;(p=a.A[f/h|0])&&(v=p[m])&&(u=v[k])&&!u.file&&(u.file=d,u.tn=g);c+=a.Na}e=d;if((wa(e.$b,".EXE")||wa(e.$b,".DLL")||wa(e.$b,".DRV"))&&gv(e,hv)==iv&&gv(e,jv)==kv&&(c=gv(e,lv),gv(e,mv,c)==nv)){m=gv(e,ov,c);g=gv(e,pv,c);h=gv(e,qv,c);if(g&&m){d=e;f=g+c;g=m;h=h||0;m=1;d.od=[];for(d.A=[];g--;){if(k=rv(d,f)<<h)p=rv(d,f+2)||65536,d.od[m++]={hi:k,Jk:k+p-1,fe:[]};f+=8}d.od[254]={hi:0,Jk:0,fe:[]}}g=gv(e,sv,c);h=gv(e,tv,c);if(g&&h)for(d=
@ -648,8 +648,8 @@ l.seek=function(a,b,c,d,e){var f=null,g=this.C,h=this.A[a];if(h){var k=h[b];if(!
function bv(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 Ev(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}l.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};
l.write=function(a,b,c){if(this.Se)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Lc?f<a.hd?(a.Lc+=a.hd-f,a.hd=f):f>=a.hd+a.Lc&&(a.Lc+=f-(a.hd+a.Lc)+1):(a.hd=f,a.Lc=1);d[f]=d[f]&~(255<<b)|c<<b;this.D&&Cv(this,a,!0)}return!0}return null};function Fv(a){for(var b="",c=0,d;d=cv(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(dv(a,d,e,1));return btoa(b)}
l.save=function(){var a=0,b=[];b[a++]=[this.G,this.K,this.qb,this.kb,this.$a,this.Na];if(!this.D&&!this.Se)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.Lc){for(var h=[],k=0,m=g.hd,p=g.hd+g.Lc;m<p;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.hd,h]}}return b};
l.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.A.length&&6<=e.length?Uu(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.K&&e[1]!=this.K&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.K+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.Se){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.hd=e;for(h.Lc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b?-2!=b&&this.controller.Fa("Unable to restore disk '"+this.kd+": "+c):av(this);return b};
l.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.A.length&&6<=e.length?Uu(this,"local",e[2],e[3],e[4],e[5]):null!=e[0]&&null!=e[1]&&null!=this.K&&e[1]!=this.K&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.K+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.Se){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.hd=e;for(h.Lc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b?-2!=b&&this.Ea("Unable to restore disk '"+this.kd+": "+c):av(this);return b};
l.toJSON=function(){var a;a=0;for(var b;b=cv(this,a++);)Gv(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function Gv(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Tu=0;function zv(a,b,c,d,e,f){this.sa=a;this.$b=c;this.Xg=d;this.bj=e;this.ge=f}function rv(a,b,c){var d;c=c||2;var e=b&511,f=cv(a.sa,a.ge[b>>9]);if(f){if(e+c<=f.length)return dv(a.sa,f,e,c);for(e=d=0;c--;)d|=rv(a,b++,1)<<e,e+=8}return d}function gv(a,b,c){return rv(a,b[0]+(c||0),b[1])}
function vv(a,b,c){for(var d=0;!c||b<c;){var e=rv(a,b,1);if(!e)break;var f;f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var m=rv(f,g++,1);if(!m)break;k+=String.fromCharCode(m)}f=k;if(!f)break;b+=1+e;if(d){if(e=rv(a,b),g=a.A[e])g=g[0],a.od[g]&&a.od[g].fe[e].push(f)}else c||(a.Sf=f);b+=2;d++}}
@ -657,7 +657,7 @@ zv.prototype.xj=function(a,b){var c=null;if(this.od)for(var d in this.od){var e=
function Hv(a){mb.call(this,"FDC",a,524288);this.dmaRead=Hv.prototype.kl;this.dmaWrite=Hv.prototype.ll;this.dmaFormat=Hv.prototype.Dl;this.L=Iv(a.autoMount);this.J=a.sortBy||"name";"none"==this.J&&(this.J=null);this.C=[];this.M=!Ta("Mobi")&&window&&"FileReader"in window}ba(Hv,mb);l=Hv.prototype;
l.Cb=function(a,b,c){var d=this;switch(b){case "listDisks":this.na[b]=c;if(this.J){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.J?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.na.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){gb("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}};return!0;case "descDisk":case "listDrives":return this.na[b]=c,c.onchange=function(){var a=oa(c.value,10);null!=a&&Jv(d,a)},!0;case "loadDisk":return this.na[b]=c,c.onclick=function(){var a=d.na.listDisks;a&&Kv(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.na[b]=c;c.onclick=function(){var a=d.na.listDrives;a&&a.options&&d.A&&((a=d.A[oa(a.value,
10)||0])?(a=a.sa)?(a=Wa(Fv(a),"octet-stream",!0,a.Kg.replace(".json",".img")),gb(a)):d.Fa("No diskette loaded in drive."):d.Fa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.na[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;Kv(d,ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
10)||0])?(a=a.sa)?(a=Wa(Fv(a),"octet-stream",!0,a.Kg.replace(".json",".img")),gb(a)):d.Ea("No diskette loaded in drive."):d.Ea("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.na[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;Kv(d,ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.W=Wb(a,"ChipSet");Iv(yd(this.pa,"autoMount"),this.L);Lv(this);Nc(b,this,Mv);Rc(b,this,Nv);Ov(this,"None","",!0);this.M&&Ov(this,"Local Disk","?");Ov(this,"Remote Disk","??");Pv(this)||Ib(this)};function Iv(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){gb("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};for(var c in a)b&&(b[c]=a[c]);return a}
l.Xb=function(a,b){if(!b){if(!a){if(this.reset(),this.pa.O){this.C=[];for(a=0;a<this.A.length;a++)Qv(this,a,!0);Pv(this,!0)}}else if(!this.restore(a))return!1;if(a=this.na.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Jv(this,0))}}return!0};l.Wb=function(a){return a?this.save():!0};l.reset=function(){Lv(this)};
l.save=function(){var a=new Wf(this);a.set(0,Rv(this));return a.data()};l.restore=function(a){return Lv(this,a[0])};
@ -666,12 +666,12 @@ function Lv(a,b){var c=0,d,e=!0;b||(b=[0,0,Sv,Array(9),0,0,0,[]]);a.Ua=b[c++];c+
p[v++];g.cb=null;g.sa||(g.ue="");var E=p[v++];102==E&&(E=!1);"boolean"==typeof E?(u=p[v++],p=p[v],E?(v=k.A[m],Qv(k,m,!0,!0),v.Oe=!0,m=new Su(k,v,"preload"),k.mj(v,m,u,p,!0)):Vv(k,m,u,p,!0)?g.sa&&p&&Wv(k,u,p,g.sa):Ib(k,!1)):void 0!==E&&g.sa&&0>g.sa.restore(E)&&(h=!1);h&&g.sa&&void 0!==g.Sa&&(g.cb=g.sa.seek(g.Gb,g.Za,g.mb));h||(e=!1)}a.G=b[c++]||0;a.Zb=b[c]||Xv;return e}
function Rv(a){var b=0,c=[];c[b++]=a.Ua;c[b++]=0;c[b++]=a.fa;c[b++]=a.F;c[b++]=a.D;c[b++]=a.B;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,p=[];p[m++]=k.rb;p[m++]=[k.name,k.qb,k.kb,k.$a,k.Na,k.Pe,k.vg,k.Bf,k.Cf];p[m++]=k.Za;p[m++]=k.Td+100;p[m++]=k.Gb;p[m++]=k.mb;p[m++]=k.Ud;p[m++]=k.ub;p[m++]=k.Sa;p[m++]=k.Oe;p[m++]=k.$k;p[m]=k.ue;f[h]=p}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Yv(a,f.ue,f.sa);c[d]=a.C;c[b++]=a.G;c[b]=a.Zb;return c}
l.ij=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};l.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Gb=Math.floor(b/f),b%=f,a.Za=Math.floor(b/e),a.mb=b%e+1,a.ub=c*d[3],a.rb=Zv,!0}return!1};
function Pv(a,b){b||(a.K=0);for(var c in a.L){var d=a.L[c],e=d.path||"";if(e){var f=c.charCodeAt(0)-65;if(0<=f&&f<a.A.length){if(!(d=d.name))a:{if((d=a.na.listDisks)&&d.options)for(var g=0;g<d.options.length;g++){var h=d.options[g];if(h.value==e){d=h.text;break a}}d=ta(e,!0)}!Vv(a,f,d||"Unknown",e,!0)&&b&&Ib(a,!1)}else a.Fa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}}return!!a.K}
function Kv(a,b,c,d){var e,f=a.na.listDrives;if(f&&!isNaN(e=oa(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Fa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ta(c)}for(;0>Vv(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}Qv(a,e,!1,
!0)}}else Qv(a,e);else a.Fa("Unable to load the selected drive")}function Vv(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){Qv(a,b,e,!0);if(g.Me)return a.Fa("Drive "+b+" busy"),0;g.Me=!0;e&&(g.le=!0,a.K++,t(a)&&Lb(a,"loading diskette '"+c+"'"));g.Oe=!!f;return(new Su(a,g,"preload")).load(c,d,f,a.mj)?1:0}return-1}
l.mj=function(a,b,c,d,e){var f;a.Me=!1;b&&(f=b.info(),b&&f[0]>a.qb||f[1]>a.kb)&&(this.Fa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b?(a.sa=b,a.$k=c,a.ue=d,Wv(this,c,d,b),f=b.info(),this.G|=$v,this.Fa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.le||e),a.vg=f[0],a.Bf=f[1],a.Cf=f[2],this.pa&&this.pa.md()):a.Oe=!1;a.le&&(a.le=!1,--this.K||Ib(this));Jv(this,a.Ua)};
function Pv(a,b){b||(a.K=0);for(var c in a.L){var d=a.L[c],e=d.path||"";if(e){var f=c.charCodeAt(0)-65;if(0<=f&&f<a.A.length){if(!(d=d.name))a:{if((d=a.na.listDisks)&&d.options)for(var g=0;g<d.options.length;g++){var h=d.options[g];if(h.value==e){d=h.text;break a}}d=ta(e,!0)}!Vv(a,f,d||"Unknown",e,!0)&&b&&Ib(a,!1)}else a.Ea("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}}return!!a.K}
function Kv(a,b,c,d){var e,f=a.na.listDrives;if(f&&!isNaN(e=oa(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Ea('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ta(c)}for(;0>Vv(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}Qv(a,e,!1,
!0)}}else Qv(a,e);else a.Ea("Unable to load the selected drive")}function Vv(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){Qv(a,b,e,!0);if(g.Me)return a.Ea("Drive "+b+" busy"),0;g.Me=!0;e&&(g.le=!0,a.K++,t(a)&&Lb(a,"loading diskette '"+c+"'"));g.Oe=!!f;return(new Su(a,g,"preload")).load(c,d,f,a.mj)?1:0}return-1}
l.mj=function(a,b,c,d,e){var f;a.Me=!1;b&&(f=b.info(),b&&f[0]>a.qb||f[1]>a.kb)&&(this.Ea('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b?(a.sa=b,a.$k=c,a.ue=d,Wv(this,c,d,b),f=b.info(),this.G|=$v,this.Ea('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.le||e),a.vg=f[0],a.Bf=f[1],a.Cf=f[2],this.pa&&this.pa.md()):a.Oe=!1;a.le&&(a.le=!1,--this.K||Ib(this));Jv(this,a.Ua)};
function Ov(a,b,c,d){if((a=a.na.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Jv(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.na.listDisks;a=a.na.listDrives;if(d&&a&&d.options&&a.options&&(a=oa(a.value,10),c=c.Oe?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Qv(a,b,c,d){var e=a.A[b];e.sa&&(Yv(a,e.ue,e.sa),e.$k="",e.ue="",e.sa=null,e.Oe=!1,a.G|=$v,d||a.Fa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Jv(a,b))}
function Jv(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.na.listDisks;a=a.na.listDrives;if(d&&a&&d.options&&a.options&&(a=oa(a.value,10),c=c.Oe?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Qv(a,b,c,d){var e=a.A[b];e.sa&&(Yv(a,e.ue,e.sa),e.$k="",e.ue="",e.sa=null,e.Oe=!1,a.G|=$v,d||a.Ea("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Jv(a,b))}
function Wv(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function Yv(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.Wn=function(a,b,c){w(this,a,b,c,"OUTPUT");b&aw?this.I&aw||this.I&bw&&this.W&&gh(this.W,6):Lv(this);this.I=b};l.sm=function(a,b){w(this,a,null,b,"DIAG",80);return 80};l.um=function(a,b){w(this,a,null,b,"STATUS",this.fa);return this.fa};
l.rm=function(a,b){var c=0;this.D<this.B&&(c=this.F[this.D]);this.I&bw&&this.W&&eh(this.W,6);t(this)&&w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.B&&(this.fa&=~(cw|dw),this.D=this.B=0);return c};
l.Vn=function(a,b,c){t(this)&&w(this,a,b,c,"DATA["+this.B+"]");this.B<this.F.length&&(this.F[this.B++]=b);a=this.F[0]&ew;if(void 0!==fw[a]&&this.B>=fw[a].Jd){b=!1;this.D=0;a=gw(this);var d,e,f,g,h=a&ew;switch(h){case hw:gw(this);gw(this);iw(this);break;case jw:c=gw(this);this.Ua=c&3;d=this.A[this.Ua];iw(this);kw(this,(d.rb&lw)>>>24);break;case mw:case nw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];d.Za=b;c=d.Gb=gw(this);e=gw(this);f=d.mb=gw(this);g=gw(this);d.ub=128<<g;d.Ud=gw(this);gw(this);
@ -683,18 +683,18 @@ l.Dl=function(a,b){if(void 0!==b&&0<=b)a:if(a.rb)a=-1;else{a.$c[a.He++]=b;if(a.H
function Dw(a,b){if(a.rb||!a.sa)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Gw|pw;b=-1;break}a.Sa=0;Fw(a)}while(1);return b}function Fw(a){a.mb++;a.mb>=a.Cf+1&&(a.mb=1,a.Za++,a.Za>=a.Bf&&(a.Za=0,a.Gb++))}var Uv="Floppy Drive",aw=4,bw=8,dw=16,cw=64,Sv=128,hw=3,jw=4,mw=5,nw=6,sw=7,vw=8,xw=10,yw=13,zw=15,ew=31,Cw=128,Zv=0,ow=8,tw=32,pw=64,Tv=192,ww=255,qw=512,Ew=1024,Gw=8192,Aw=65280,Bw=16711680,uw=268435456,lw=-16777216,$v=128,Xv=0;aa={};
var fw={3:{Jd:3,Vd:0,name:aa.Zp},4:{Jd:2,Vd:1,name:aa.Xp},5:{Jd:9,Vd:7,name:aa.cq},6:{Jd:9,Vd:7,name:aa.Tp},7:{Jd:2,Vd:0,name:aa.Vp},8:{Jd:1,Vd:2,name:aa.Yp},10:{Jd:2,Vd:7,name:aa.Up},13:{Jd:6,Vd:7,name:aa.Qp},15:{Jd:3,Vd:0,name:aa.Wp}},Mv={1009:Hv.prototype.sm,1012:Hv.prototype.um,1013:Hv.prototype.rm,1015:Hv.prototype.tm},Nv={1010:Hv.prototype.Wn,1013:Hv.prototype.Vn,1015:Hv.prototype.Un};
$a(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Hv(d);yb(d,c)}});function Hw(a){mb.call(this,"HDC",a,1048576);this.dmaRead=Hw.prototype.ml;this.dmaWrite=Hw.prototype.nl;this.dmaWriteBuffer=Hw.prototype.El;this.dmaWriteFormat=Hw.prototype.Fl;this.Z=[];this.la=a.drives;this.M="at"==a.type}ba(Hw,mb);l=Hw.prototype;
l.Cb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.na[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){var b=b.sa,c=b.Kg||b.kd,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Wa(Fv(b),"octet-stream",!0,c);gb(b)}else d.Fa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
l.Cb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.na[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){var b=b.sa,c=b.Kg||b.kd,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Wa(Fv(b),"octet-stream",!0,c);gb(b)}else d.Ea("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;if(d=yd(a,"drives"))this.Z=d;else if(this.la)try{this.Z=eval("("+this.la+")")}catch(e){gb("HDC drive configuration error: "+e.message+" ("+this.la+")")}this.W=Wb(a,"ChipSet");this.G=0;this.ma=3;Nc(b,this,this.M?Iw:Jw);Rc(b,this,this.M?Kw:Lw);this.M&&(this.G++,this.W&&this.W.ca==wl&&this.G++,this.ma=2,b.Y[Mw]=2,b.Z[Mw]=2);Rf(c,19,this.Wm.bind(this));Rf(c,64,this.Xm.bind(this));this.reset();Nw(this)||Ib(this)};
l.Xb=function(a,b){if(!b)if(!a)Ow(this),this.pa.O&&Nw(this,!0);else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};function Wu(a){return a.pa?a.pa.ha:""}function Xu(a){return a.pa?a.pa.C||"":""}l.reset=function(){Ow(this,null,!0)};l.save=function(){var a=new Wf(this);a.set(0,Pw(this));return a.data()};l.restore=function(a){return Ow(this,a[0])};
function Ow(a,b,c){var d=0,e=!0;a.Ua=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,Qw,0,[0,-1]]),a.I=b[d++],a.va=b[d++],a.J=b[d++],a.ga=b[d++],a.da=b[d++],a.aa=b[d++],a.Y=b[d++],a.fa=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Ua=f[1]}}else b||(b=[0,Rw,Array(14),0,0]),a.O=b[d++],a.fa=b[d++],a.F=b[d++],a.D=b[d++],a.B=b[d++],a.ta=b[d++],a.qa=b[d++],a.oa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.Z.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.Z[d],p=b[d],v=c,u=0,E=!0;p||(p=[Sw,0,!1,Array(8)]);k.Ua=h;k.errorCode=p[u++];k.bl=p[u++];k.Pe=p[u++];k.Ee=p[u++];k.Fe=p[u++];k.Za=p[u++];k.kb=p[u++];k.Pd=p[u++];k.mb=p[u++];k.Ud=p[u++];k.ub=p[u++];k.jg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=Tw);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||Xu(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Uw[g.G][k.type])k.type=
g.ma;m=Uw[g.G][k.type];k.$a=m[2]||17;k.Na=m[3]||512;if(v&&g.W){var m=g.W,G=k.type;if(m.A){var v=null,I=m.A[18];15<G&&(v=G,G=15);h?(I=I&240|G,G=26):(I=I&15|G<<4,G=25);var J=m;J.A&&(J.A[18]=I,jm(J));null!=v&&m.A&&(m.A[G]=v,jm(m))}}void 0===k.sa&&(k.sa=null,g.Fa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Vw(g,k);k.Sa=p[u++];k.cb=null;k.sa&&(g=p[u],void 0!==g&&0>k.sa.restore(g)&&(E=!1),E&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Pd,k.Za,k.mb+k.jg)));E||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-d<<
g.ma;m=Uw[g.G][k.type];k.$a=m[2]||17;k.Na=m[3]||512;if(v&&g.W){var m=g.W,G=k.type;if(m.A){var v=null,I=m.A[18];15<G&&(v=G,G=15);h?(I=I&240|G,G=26):(I=I&15|G<<4,G=25);var J=m;J.A&&(J.A[18]=I,jm(J));null!=v&&m.A&&(m.A[G]=v,jm(m))}}void 0===k.sa&&(k.sa=null,g.Ea("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Vw(g,k);k.Sa=p[u++];k.cb=null;k.sa&&(g=p[u],void 0!==g&&0>k.sa.restore(g)&&(E=!1),E&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Pd,k.Za,k.mb+k.jg)));E||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-d<<
1))}0<=a.Ua&&(a.C=a.A[a.Ua]);return e}
function Pw(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.va,c[b++]=a.J,c[b++]=a.ga,c[b++]=a.da,c[b++]=a.aa,c[b++]=a.Y,c[b++]=a.fa,c[b++]=a.ha,c[b++]=[a.L,a.Ua]):(c[b++]=a.O,c[b++]=a.fa,c[b++]=a.F,c[b++]=a.D,c[b++]=a.B,c[b++]=a.ta,c[b++]=a.qa,c[b++]=a.oa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.bl;m[k++]=h.Pe;m[k++]=h.Ee;m[k++]=h.Fe;m[k++]=h.Za;m[k++]=h.kb;m[k++]=h.Pd;m[k++]=h.mb;m[k++]=h.Ud;m[k++]=h.ub;m[k++]=h.Sa;m[k]=h.sa?h.sa.save():
null;e[g]=m}c[b]=e;return c}l.ij=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};function Vw(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ee[2])?e=b.Ee[0]<<8|b.Ee[1]:c=b.type);null==c||d||(d=Uw[a.G][c][1],e=Uw[a.G][c][0]);d&&((c=Uw[a.G][b.type])&&e!=c[0]&&d!=c[1]&&a.Fa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.qb=e,b.kb=d,null==b.sa&&(b.sa=new Su(a,b,b.mode)))}}
null;e[g]=m}c[b]=e;return c}l.ij=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};function Vw(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ee[2])?e=b.Ee[0]<<8|b.Ee[1]:c=b.type);null==c||d||(d=Uw[a.G][c][1],e=Uw[a.G][c][0]);d&&((c=Uw[a.G][b.type])&&e!=c[0]&&d!=c[1]&&a.Ea("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.qb=e,b.kb=d,null==b.sa&&(b.sa=new Su(a,b,b.mode)))}}
l.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Pd=Math.floor(b/g),b%=g,a.Za=Math.floor(b/f),a.mb=b%f,a.ub=c*d[3],a.errorCode=Sw,!0}}return!1};
function Nw(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.pg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Me?(e.Fa("Drive "+c+" busy"),e=!0):(g.Me=!0,g.le=!0,e.K++,t(e)&&Lb(e,"loading "+f),(g.sa||new Su(e,g,g.mode)).load(f,d,null,e.Gl),e=!1);!e&&b&&Ib(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Vw(a,d,d.type))}return!!a.K}
l.Gl=function(a,b,c){a.Me=!1;if(a.sa=b)this.Fa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ua),a.le),b=b.info(),b[0]==a.qb&&b[1]==a.kb&&b[2]==a.$a&&b[3]==a.Na||this.Fa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Ww[this.G]+" drive type "+a.type+" ("+a.qb+":"+a.kb+":"+a.$a+")");a.le&&(a.le=!1,--this.K||Ib(this))};
function Nw(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.pg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Me?(e.Ea("Drive "+c+" busy"),e=!0):(g.Me=!0,g.le=!0,e.K++,t(e)&&Lb(e,"loading "+f),(g.sa||new Su(e,g,g.mode)).load(f,d,null,e.Gl),e=!1);!e&&b&&Ib(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Vw(a,d,d.type))}return!!a.K}
l.Gl=function(a,b,c){a.Me=!1;if(a.sa=b)this.Ea('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ua),a.le),b=b.info(),b[0]==a.qb&&b[1]==a.kb&&b[2]==a.$a&&b[3]==a.Na||this.Ea("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Ww[this.G]+" drive type "+a.type+" ("+a.qb+":"+a.kb+":"+a.$a+")");a.le&&(a.le=!1,--this.K||Ib(this))};
l.Um=function(a,b){var c=0;this.D<this.B&&(c=this.F[this.D]);this.W&&eh(this.W,5);this.fa&=~Xw;w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.B&&(this.D=this.B=0,this.fa&=~(Yw|Zw|$w));return c};l.to=function(a,b,c){w(this,a,b,c,"DATA["+this.B+"]");this.B<this.F.length&&(this.F[this.B++]=b);a=this.F[0]!=ax?6:this.F.length;6==this.B&&(this.fa&=~bx);this.B>=a&&(this.fa|=Yw,this.fa&=~bx,cx(this))};l.Vm=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.D<this.B&&(this.fa|=bx);return c};
l.wo=function(a,b,c){w(this,a,b,c,"RESET");this.ta=b;this.W&&eh(this.W,5);Ow(this)};l.Tm=function(a,b){w(this,a,null,b,"CONFIG",this.O);return this.O};l.vo=function(a,b,c){w(this,a,b,c,"PULSE");this.qa=b;this.fa=bx|Zw|$w};l.uo=function(a,b,c){w(this,a,b,c,"PATTERN");this.oa=b};l.ii=function(a,b,c){w(this,a,b,c,"NOISE")};
function dx(a,b,c){var d=-1;a.C&&(d=a.te(a.C,function(){}),1==a.C.Sa||a.C.Sa==a.C.Na)&&(t(a,1048832)&&w(a,b,null,c,"DATA["+a.C.Sa+"]",d),1<a.C.Sa&&(a.C.ub-=a.C.Na,a.J=a.J-1&255,a.C.ub>=a.C.Na?(a.fa=ex,a.te(a.C,function(b){0<=b?(fx(a),a.W&&a.W.ca==wl&&(a.fa=0),a.fa=a.fa|Qw|gx|hx):(a.fa=ix,a.I=jx)},!1)):a.fa=Qw|gx));return d}l.ol=function(a,b){return dx(this,a,b)|dx(this,a,b)<<8};
@ -854,12 +854,12 @@ qy,[119,R|S|X,oB|4096]],[[155,R|V|4096,W|V|4096],qy,[98,R|V|X],[96,R|V|X],[95,R|
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},Ay={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
TASK_IOPM:100};$a(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new jy(d);yb(d,c)}});
function EB(a,b,c){mb.call(this,"Computer",a,67108864);this.ea.Yb=!1;FB(this,b);this.N=yd(this,"autoPower",a);this.B=0;this.aa=a.busWidth||a.buswidth;this.A=GB;this.L=null;this.I=this.Z=!1;this.da=yd(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.C=HB(this);if(this.H=ub("CPU",this.id)){this.ba=ub("Debugger",this.id);this.G=[];for(b=null;b=Wb(this,"Video",b);)this.G.push(b);this.ka=new lc({id:this.ye+".bus",busWidth:this.aa},this.H,this.ba);var d,e=sb(this.id);if((this.D=
ub("Panel",this.id))&&this.D.Je)for(b=0;b<e.length;b++)d=e[b],d.Fa=this.D.Fa,d.P=this.D.P,d.Je=this.D.Je;this.P("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.uc&&d.uc(this,this.ka,this.H,this.ba);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.A=parseInt(d,10));var f;if(a=yd(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.I=!0,this.A=GB),this.A&&(this.M=new Wf(this,
"1.35.0"),this.M.load()?b=null:delete this.M);!b&&this.A&&(b=IB(this))&&(this.I=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.K=null,g.I=!1,g.Fa("Unable to load machine state from server (error "+c+(b?": "+Ba(b):"")+")")):(g.L=b,g.Z=!0);Ib(g)})}else Ib(this);this.na.power||(this.N=!0);!c&&this.N&&JB(this,this.Mf)}else gb("Unable to find CPU component")}ba(EB,mb);
ub("Panel",this.id))&&this.D.Je)for(b=0;b<e.length;b++)d=e[b],d.Ea=this.D.Ea,d.P=this.D.P,d.Je=this.D.Je;this.P("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.uc&&d.uc(this,this.ka,this.H,this.ba);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.A=parseInt(d,10));var f;if(a=yd(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.I=!0,this.A=GB),this.A&&(this.M=new Wf(this,
"1.35.0"),this.M.load()?b=null:delete this.M);!b&&this.A&&(b=IB(this))&&(this.I=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.K=null,g.I=!1,g.Ea("Unable to load machine state from server (error "+c+(b?": "+Ba(b):"")+")")):(g.L=b,g.Z=!0);Ib(g)})}else Ib(this);this.na.power||(this.N=!0);!c&&this.N&&JB(this,this.Mf)}else gb("Unable to find CPU component")}ba(EB,mb);
function FB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){gb(d.message+" ("+c+")")}}a.J=b}function yd(a,b,c){var d=b.toLowerCase(),d=Ua(b)||Ua(d);void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function JB(a,b,c){for(var d=sb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Gb(f)){Gb(f,function(){JB(a,b,c)});return}}b.call(a,c)}
function KB(a,b){var c=new Wf(a,"1.35.0",LB);if(c.load()&&MB(c)){var d=c.get(NB),e=b?b.get(NB):"unknown";d!=e&&(a.Fa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=EB.prototype;
function KB(a,b){var c=new Wf(a,"1.35.0",LB);if(c.load()&&MB(c)){var d=c.get(NB),e=b?b.get(NB):"unknown";d!=e&&(a.Ea("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=EB.prototype;
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?OB:GB));if(!this.B){this.B++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Wf(this,"1.35.0");if(a==PB)b=!0;else if(a>GB){if(d.load(this.L)){this.F=new Wf(this,"1.35.0",QB);this.F.load()&&(RB(this,d),a=SB,TB(this.F));this.F.set(NB,Ea());UB(this.F);var e=this.A&&!this.I;if(a==OB||qb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=MB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Fa("Error: "+g),"unable to verify user"==g&&(Ra(VB,""),this.C=null)):this.P(f+": "+g),TB(d),d.load()?(c=MB(d),e=!0):c=!1))}e&&KB(this,c?d:null)}else a==SB&&d.clear()}else KB(this);delete this.L;delete this.M}e=sb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=WB(this,g,d,b,c));b=[d,a,c];a!=PB?JB(this,this.nj,b):this.nj(b)}};
g?(this.Ea("Error: "+g),"unable to verify user"==g&&(Ra(VB,""),this.C=null)):this.P(f+": "+g),TB(d),d.load()?(c=MB(d),e=!0):c=!1))}e&&KB(this,c?d:null)}else a==SB&&d.clear()}else KB(this);delete this.L;delete this.M}e=sb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=WB(this,g,d,b,c));b=[d,a,c];a!=PB?JB(this,this.nj,b):this.nj(b)}};
function WB(a,b,c,d,e){if(!b.ea.Yb){b.ea.Yb=!0;if(b.Xb){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.Xb(f,d)&&f&&(gb("Unable to restore state for "+b.type),a.W&&!a.Z?(c.clear(),a.A=GB,window&&window.location.reload()):a.Y=!0,b.Xb(null),e=!1)}if(!d&&b.yj)for(a=b.yj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.nj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ga=!0;this.ea.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(WB(this,this.H,b,c,a),this.H.mf());this.Y&&(RB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.B=0};
function RB(a,b){if(qb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.C||"";b=b.toString();var d={app:"PCx86",ver:"1.35.0"};d.url=a.da;d.user=c;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}}
@ -867,10 +867,10 @@ function lB(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new Wf(a,"1.35.
a.C,f.toString()),UB(g)&&UB(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==aC),d&&f.clear(h)):e=f.toString());c&&(a.ea.Yb=!1,b=a.na.power)&&(b.textContent="Power");a.B=0;return e}l.reset=function(){this.ka&&this.ka.reset&&(Lb(this,"Resetting "+this.ka.type),this.ka.reset());for(var a=sb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(Lb(this,"Resetting "+c.type),c.reset())}};
l.start=function(a,b){for(var c=sb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};l.stop=function(a,b){for(var c=sb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
l.Cb=function(a,b,c){var d=this;switch(b){case "power":return this.na[b]=c,c.onclick=function(){d.B||(d.ea.Yb?lB(d,!1,!0):JB(d,d.Mf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ea.Yb&&!d.B)if(d.A&&!d.K){var a=qb("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lB(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.O=!0),d.Mf(GB),d.O=!1)}else d.reset(),d.H&&d.H.mf()},!0;case "save":if(wa(La(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.na[b]=c,c.onclick=function(){var a=HB(d,!0);if(a){var b=!!(d.A&&!d.K||d.W),c=lB(d,b);b?$B(d,a,c):d.Fa("Resume disabled, machine state not saved")}},!0}return!1};
function HB(a,b){var c=a.C;c||((c=Pa(VB),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=mC(a,c))||a.Fa("The user ID is invalid.")):b&&a.Fa("Browser local storage is not available"));return c}
else return this.na[b]=c,c.onclick=function(){var a=HB(d,!0);if(a){var b=!!(d.A&&!d.K||d.W),c=lB(d,b);b?$B(d,a,c):d.Ea("Resume disabled, machine state not saved")}},!0}return!1};
function HB(a,b){var c=a.C;c||((c=Pa(VB),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=mC(a,c))||a.Ea("The user ID is invalid.")):b&&a.Ea("Browser local storage is not available"));return c}
function mC(a,b){a.C=null;b=Ka(La()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(VB,b.data),a.C=b.data)}catch(d){gb(d.message+" ("+c+")")}return a.C}function IB(a){var b=null;a.C&&(b=La()+"/api/v1/user?req=load&user="+a.C+"&state="+nC(a,"1.35.0"));return b}
function $B(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=nC(a,"1.35.0");d.data=c;b=Ka(La()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Fa("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.Fa(c),Ra(VB,""),a.C=null)}}
function $B(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=nC(a,"1.35.0");d.data=c;b=Ka(La()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ea("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.Ea(c),Ra(VB,""),a.C=null)}}
function Wb(a,b,c){a=sb(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}l.md=function(a){if(this.G.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.G[0];d.D&&d.D.focus();!a&&window&&window.scrollTo(b,c)}};
function Md(a,b){a.H&&(a=a.H,a.uj&&(b||!a.ea.vb||a.ea.lj)&&(Hg(a,"EAX",a.D),Hg(a,"EBX",a.G),Hg(a,"ECX",a.I),Hg(a,"EDX",a.L),Hg(a,"ESP",z(a)),Hg(a,"EBP",a.M),Hg(a,"ESI",a.K),Hg(a,"EDI",a.J),Hg(a,"CS",a.Z.U),Hg(a,"DS",a.Ca.U),Hg(a,"SS",a.Y.U),Hg(a,"ES",a.oa.U),Hg(a,"EIP",A(a)),b=qe(a),Hg(a,"PS",b),Hg(a,"V",b&2048),Hg(a,"D",b&1024),Hg(a,"I",b&512),Hg(a,"T",b&256),Hg(a,"S",b&128),Hg(a,"Z",b&64),Hg(a,"A",b&16),Hg(a,"P",b&4),Hg(a,"C",b&1),80386==a.ca&&(Hg(a,"FS",a.Ga.U),Hg(a,"GS",a.Ha.U),Hg(a,"CR0",a.qa),
Hg(a,"CR2",a.Dd),Hg(a,"CR3",a.Wc))),b=a.na.speed)&&(b.textContent=a.ea.vb&&a.T.Xd?a.T.Xd.toFixed(2)+"Mhz":"Stopped")}