New improved I/O handler functions for the PDP-11

This commit is contained in:
Jeff 2016-09-21 12:44:25 -07:00 committed by Jeff Parsons
commit dfe367f53d
18 changed files with 847 additions and 1059 deletions

View file

@ -45,19 +45,19 @@ f>d&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&
c}}}m.pd=function(){};function Pb(a,b,c,d){a.A.Bf[a.A.ej++]={Dl:b,Td:c,type:d};return va(Mb,b,c,0,d)}function Nb(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.W=a.va=18;e||(e=a.ua||a.va+"px Monaco, Lucida Console, Courier New");a.fa=a.ua=e;c&&(a.Da=c);d&&(a.N=d,a.Fa=f||"white")}
function Ob(a,b,c,d,e){a.N.font=a.fa;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=t(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.W+2)*(e||1))}function Kb(){for(var a=!1,b=rb(document,"pcx86","panel"),c=0;c<b.length;c++){var d=b[c],e=ob(d),f=mb(e.id);f||(a=!0,f=new Fb(e));qb(f,d);a&&wb(f)}}Ua(Kb);
function Qb(a,b,c){Za.call(this,"Bus",a,Qb);this.F=b;this.ha=c;this.N=a.busWidth||20;this.W=Math.pow(2,this.N);this.Cg=this.Gb=this.W-1|0;this.La=32==this.N||20>=this.N?12:24>=this.N?14:15;this.Sb=1<<this.La;this.fa=this.Sb>>2;this.A=this.Sb-1;this.U=this.W/this.Sb|0;this.ga=this.U-1;this.B=[];this.C=[];this.L=this.V=!1;this.aa=[];this.ea=[];a=new C;Rb(a,this.ha);this.sa=Array(this.U);for(b=0;b<this.U;b++)this.sa[b]=a;a=this.F;b=this.sa;c=this.La;a.kd=a.sa=b;a.La=c;a.Sb=1<<a.La;a.Fa=a.Sb-1;a.Fd=b.length;
a.hd=a.Fd-1;a=this.F;a.Gb=a.Db=this.Gb;wb(this)}hb(Qb);var Mb,Sb={Gk:20,count:8,Jo:1,type:3},Tb=0,Ub;for(Ub in Sb){var Vb=Sb[Ub];Sb[Ub]={uh:(1<<Vb)-1<<Tb,shift:Tb};Tb+=Vb}Mb=Sb;m=Qb.prototype;m.reset=function(){Wb(this,!0)};m.gc=function(a,b){b||this.reset();return!0};
function Yb(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.La;0<g&&h<a.sa.length;){var k=a.sa[h],l=h*a.Sb,n=a.Sb-(f-l);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Ea)return k.Oe+=k.Ea-f,k.Ea=f,!0;if(f>=k.Ea+k.Oe){n=k.size-(f-l);n>g&&(n=g);k.Oe=f-k.Ea+n;f=l+a.Sb;g-=n;h++;continue}}return Zb(a,1,f,g)}f=new C(f,n,a.Sb,d,e);Rb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?($b(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+ac[d]+" at "+t(b)),!0):Zb(a,2,b,c)}
function Wb(a,b){if(32==a.N)b?a.X&&(bc(a,1048576,1048576,a.X),a.X=null):a.X||(a.X=cc(a,1048576,1048576),bc(a,1048576,1048576,cc(a,0,1048576)));else if(20<a.N){var c=a.Gb&-1048577|(b?1048576:0);if(c!=a.Gb&&(a.Gb=c,a.F)){var d=a.F;d.Gb=d.Db=c}}}m.Ug=function(a,b,c,d){if(!(a&this.A||!b||b&this.A)){for(var e=a>>>this.La;0<b;){var f=this.sa[e];if(!f.controller)return Zb(this,3,a,b,d);dc(f,c,!0);b-=this.Sb;e++}return!0}return Zb(this,4,a,b)};
function ec(a,b,c){if(!(b&a.A||!c||c&a.A)){for(var d=b>>>a.La;0<c;){var e=a.sa[d];b=new C(b);Rb(b,a.ha,e);a.sa[d++]=b;b=d*a.Sb;c-=a.Sb}$b(a.F);return!0}return Zb(a,5,b,c)}function cc(a,b,c){var d=[];for(b>>>=a.La;0<c&&b<a.sa.length;)d.push(a.sa[b++]),c-=a.Sb;return d}
a.hd=a.Fd-1;a=this.F;a.Gb=a.Db=this.Gb;wb(this)}hb(Qb);Qb.prototype.reset=function(){Sb(this,!0)};Qb.prototype.gc=function(a,b){b||this.reset();return!0};
function Tb(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.La;0<g&&h<a.sa.length;){var k=a.sa[h],l=h*a.Sb,n=a.Sb-(f-l);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.Ea)return k.Oe+=k.Ea-f,k.Ea=f,!0;if(f>=k.Ea+k.Oe){n=k.size-(f-l);n>g&&(n=g);k.Oe=f-k.Ea+n;f=l+a.Sb;g-=n;h++;continue}}return Ub(a,1,f,g)}f=new C(f,n,a.Sb,d,e);Rb(f,a.ha,k);a.sa[h++]=f;f=l+a.Sb;g-=n}return 0>=g?(Vb(a.F),a.F.la.Ib||a.status(Math.floor(c/1024)+"Kb "+Wb[d]+" at "+t(b)),!0):Ub(a,2,b,c)}
var Mb,Yb={Gk:20,count:8,Jo:1,type:3},Zb=0,$b;for($b in Yb){var ac=Yb[$b];Yb[$b]={uh:(1<<ac)-1<<Zb,shift:Zb};Zb+=ac}Mb=Yb;function Sb(a,b){if(32==a.N)b?a.X&&(bc(a,1048576,1048576,a.X),a.X=null):a.X||(a.X=cc(a,1048576,1048576),bc(a,1048576,1048576,cc(a,0,1048576)));else if(20<a.N){var c=a.Gb&-1048577|(b?1048576:0);if(c!=a.Gb&&(a.Gb=c,a.F)){var d=a.F;d.Gb=d.Db=c}}}m=Qb.prototype;
m.Ug=function(a,b,c,d){if(!(a&this.A||!b||b&this.A)){for(var e=a>>>this.La;0<b;){var f=this.sa[e];if(!f.controller)return Ub(this,3,a,b,d);dc(f,c,!0);b-=this.Sb;e++}return!0}return Ub(this,4,a,b)};function ec(a,b,c){if(!(b&a.A||!c||c&a.A)){for(var d=b>>>a.La;0<c;){var e=a.sa[d];b=new C(b);Rb(b,a.ha,e);a.sa[d++]=b;b=d*a.Sb;c-=a.Sb}Vb(a.F);return!0}return Ub(a,5,b,c)}function cc(a,b,c){var d=[];for(b>>>=a.La;0<c&&b<a.sa.length;)d.push(a.sa[b++]),c-=a.Sb;return d}
function bc(a,b,c,d,e){for(var f=0,g=b>>>a.La;0<c&&g<a.sa.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new C(b),l=k,n=e,r=a.ha;l.id=h.id|1;l.Oe=h.Oe;l.size=h.size;n&&(l.type=n,l.N=n==fc);zb?(l.X=h.X,l.qa=h.qa,l.Ya=h.Ya,l.de=h.de,l.da=h.da,dc(l,gc?hc:ic)):(l.da=h.da,dc(l,jc));Rb(l,r,h);h=k}a.sa[g++]=h;c-=a.Sb}}m.Qa=function(a){return this.sa[(a&this.Gb)>>>this.La].pc(a&this.A,a)};
m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].sf(b,a):this.sa[c++].pc(b,a)|this.sa[c&this.ga].pc(0,a+1)<<8};function kc(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].eg(c,b):a.sa[d++].re(c,b)|a.sa[d&a.ga].re(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b<this.A-2)return this.sa[c].Md(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;)d|=this.sa[c].pc(b++,a++)<<f,--g||(c=c+1&this.ga,b=0),f+=8;return d};
m.qc=function(a,b){this.sa[(a&this.Gb)>>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].zf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ga].sc(0,b>>8&255,a+1))};function lc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].yi(d,c&65535,b):(a.sa[e++].xf(d,c&255,b),a.sa[e&a.ga].xf(0,c>>8&255,b+1))}
m.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c<this.A-2)this.sa[d].yf(c,b);else for(var e=4,f=4-(c&3);e--;)this.sa[d].sc(c++,b&255,a++),--f||(d=d+1&this.ga,c=0),b>>>=8};m.wj=function(){return null};function mc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}
function nc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?x("Input port "+v(k)+" already registered"):f.B[k]=[h,!1]}}function oc(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.B[b],h=a.aa[b]||1,k=1==h?255:2==h?65535:-1,l=k;void 0!==g?(g[0]&&(l=g[0](b,d),void 0===l?l=k:l&=k),a.ha&&a.L!=g[1]&&pc(a.ha,b,l)):a.ha&&(sb(a.ha,a,b,null,d),a.L&&pc(a.ha,b,l));e|=l<<f;f+=h<<3;b+=h;c-=h}return e}
function qc(a,b){if(void 0===b)return a.V=!a.V,a.V;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]}function rc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.C[k]?x("Output port "+v(k)+" already registered"):f.C[k]=[h,!1]}}
function sc(a,b,c,d,e){for(var f=0;0<c;){var g=a.C[b],h=a.ea[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&xc(a.ha,b,k)}else a.ha&&(sb(a.ha,a,b,k,e),a.V&&xc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Zb(a,b,c,d,e){b="Memory block error ("+b+": "+t(c)+","+t(d)+")";e?a.ha?a.ha.message(b):a.log(b):x(b);return!1}var yc;if(zb){var zc=new ArrayBuffer(2);(new DataView(zc)).setUint16(0,256,!0);yc=256===(new Uint16Array(zc))[0]}else yc=!1;var gc=yc;
function sc(a,b,c,d,e){for(var f=0;0<c;){var g=a.C[b],h=a.ea[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.V!=g[1]&&xc(a.ha,b,k)}else a.ha&&(sb(a.ha,a,b,k,e),a.V&&xc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Ub(a,b,c,d,e){b="Memory block error ("+b+": "+t(c)+","+t(d)+")";e?a.ha?a.ha.message(b):a.log(b):x(b);return!1}var yc;if(zb){var zc=new ArrayBuffer(2);(new DataView(zc)).setUint16(0,256,!0);yc=256===(new Uint16Array(zc))[0]}else yc=!1;var gc=yc;
function C(a,b,c,d,e,f){this.id=Ac+=2;this.da=null;this.C=0;this.Ea=a;this.Oe=b;this.size=c||0;this.type=d||Bc;this.N=d==fc;this.controller=null;this.F=f;Rb(this);this.Wa=this.sj=!1;if(c)if(e)this.controller=e,a=e.vj(a),this.da=a[0],this.C=a[1],dc(this,e.mh());else if(zb)this.X=new ArrayBuffer(c),this.qa=new DataView(this.X,0,c),this.Ya=new Uint8Array(this.X,0,c),this.de=new Uint16Array(this.X,0,c>>1),this.da=new Int32Array(this.X,0,c>>2),dc(this,gc?hc:ic);else{this.da=Array(c>>2);for(e=0;e<this.da.length;e++)this.da[e]=
0;dc(this,jc)}else dc(this)}var Bc=0,fc=2,Cc=["black","blue","green","cyan"],ac="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),Ac=0;function Dc(a){zb&&!gc&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
0;dc(this,jc)}else dc(this)}var Bc=0,fc=2,Cc=["black","blue","green","cyan"],Wb="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),Ac=0;function Dc(a){zb&&!gc&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
C.prototype={constructor:C,parent:null,ph:function(a){this.Ea=a},save:function(){var a,b;if(this.controller)a=null;else if(zb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.qa.getInt32(b<<2,!0);else a=this.da;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(zb)for(b=0;b<a.length;b++)this.qa.setInt32(b<<2,a[b],!0);else this.da=a;return this.Wa=!0}return!1},Rd:function(a,b,c){b?0===this.We++&&(c&&(this.F=c),Gc(this,Fc,!1)):0===this.Ve++&&
(c&&(this.F=c),Ec(this,Fc,!1))},ia:function(){this.ha&&B(this.ha,129)&&this.ha.message("attempt to read invalid block %"+t(this.Ea),!0);return 255},L:function(a,b){this.ha&&B(this.ha,129)&&this.ha.message("attempt to write "+v(b)+" to invalid block %"+t(this.Ea),!0)},ka:function(a,b){return this.pc(a++,b++)|this.pc(a,b)<<8},ea:function(a,b){return this.pc(a++,b++)|this.pc(a++,b++)<<8|this.pc(a++,b++)<<16|this.pc(a,b)<<24},W:function(a,b,c){this.sc(a++,b&255,c++);this.sc(a,b>>8,c)},U:function(a,b,
c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},tc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<<d)|b<<d;this.Wa=!0},Cd:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]&
@ -68,9 +68,9 @@ this.V;this.Bd.yf(a,b,c)},Ka:function(a,b){return Kc(this.F,b,!1).pc(a,b)},xd:fu
!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.de[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.sf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.de[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},fa:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Md=this.fa;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>
2]},Ub:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},uc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Bd.Wa=!0},qd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.de[a>>1]=b;this.Wa=!0},Fd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.de[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.zf=this.ya;this.Bd.Wa=!0},ce:function(a,b){this.qa.setInt32(a,
b,!0);this.Wa=!0},va:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},Xc:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.va;this.Bd.Wa=!0}};function Rb(a,b,c){a.ha=b;a.Ve=a.We=0;c&&(c.F&&(a.F=c.F),(a.Ve=c.Ve)&&Ec(a,Fc,!1),(a.We=c.We)&&Gc(a,Fc,!1))}
function Lc(a,b){b?0===--a.We&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.W:a.yi,a.yf=a.N?a.U:a.ua):0===--a.Ve&&(a.pc=a.re,a.sf=a.eg,a.Md=a.ri)}function Gc(a,b,c){c&&a.We||(a.sc=!a.N&&b[3]||a.L,a.zf=!a.N&&b[4]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[3]||a.L,a.yi=b[4]||a.W,a.ua=b[5]||a.U}function Ec(a,b,c){c&&a.Ve||(a.pc=b[0]||a.ia,a.sf=b[1]||a.ka,a.Md=b[2]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.eg=b[1]||a.ka,a.ri=b[2]||a.ea}
function dc(a,b,c){b||(b=5==a.type?Mc:6==a.type?Nc:Oc);Ec(a,b,c);Gc(a,b,c)}var Oc=[],jc=[C.prototype.Fa,C.prototype.sb,C.prototype.$a,C.prototype.tc,C.prototype.Cd,C.prototype.Wc],Fc=[C.prototype.Da,C.prototype.rb,C.prototype.Pa,C.prototype.kc,C.prototype.sd,C.prototype.Vc],Nc=[C.prototype.Ja,C.prototype.Jb,C.prototype.fb,C.prototype.Cc,C.prototype.Gd,C.prototype.hd],Mc=[C.prototype.Ka,C.prototype.xd,C.prototype.gb,C.prototype.Uc,C.prototype.Hd,C.prototype.jd];
if(zb)var ic=[C.prototype.Ca,C.prototype.Tb,C.prototype.Oa,C.prototype.Ub,C.prototype.qd,C.prototype.ce],hc=[C.prototype.aa,C.prototype.pa,C.prototype.fa,C.prototype.ra,C.prototype.ya,C.prototype.va],Pc=[C.prototype.Ga,C.prototype.Db,C.prototype.cb,C.prototype.uc,C.prototype.Fd,C.prototype.Xc];
function Lc(a,b){b?0===--a.We&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.W:a.yi,a.yf=a.N?a.U:a.ua):0===--a.Ve&&(a.pc=a.re,a.sf=a.eg,a.Md=a.ri)}function Gc(a,b,c){c&&a.We||(a.sc=!a.N&&b[1]||a.L,a.zf=!a.N&&b[3]||a.W,a.yf=!a.N&&b[5]||a.U);if(c||void 0===c)a.xf=b[1]||a.L,a.yi=b[3]||a.W,a.ua=b[5]||a.U}function Ec(a,b,c){c&&a.Ve||(a.pc=b[0]||a.ia,a.sf=b[2]||a.ka,a.Md=b[4]||a.ea);if(c||void 0===c)a.re=b[0]||a.ia,a.eg=b[2]||a.ka,a.ri=b[4]||a.ea}
function dc(a,b,c){b||(b=5==a.type?Mc:6==a.type?Nc:Oc);Ec(a,b,c);Gc(a,b,c)}var Oc=[],jc=[C.prototype.Fa,C.prototype.tc,C.prototype.sb,C.prototype.Cd,C.prototype.$a,C.prototype.Wc],Fc=[C.prototype.Da,C.prototype.kc,C.prototype.rb,C.prototype.sd,C.prototype.Pa,C.prototype.Vc],Nc=[C.prototype.Ja,C.prototype.Cc,C.prototype.Jb,C.prototype.Gd,C.prototype.fb,C.prototype.hd],Mc=[C.prototype.Ka,C.prototype.Uc,C.prototype.xd,C.prototype.Hd,C.prototype.gb,C.prototype.jd];
if(zb)var ic=[C.prototype.Ca,C.prototype.Ub,C.prototype.Tb,C.prototype.qd,C.prototype.Oa,C.prototype.ce],hc=[C.prototype.aa,C.prototype.ra,C.prototype.pa,C.prototype.ya,C.prototype.fa,C.prototype.va],Pc=[C.prototype.Ga,C.prototype.uc,C.prototype.Db,C.prototype.Fd,C.prototype.cb,C.prototype.Xc];
function Qc(a,b){Za.call(this,"CPU",a,Qc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Id=c;this.Y.Wd=d;this.Y.zg=Math.round(this.Y.Id/1E4)/100;this.Y.Fe=this.Y.zg*this.Y.Wd;this.la.Ib=!1;this.la.xi=!1;this.la.Cf=a.autoStart;this.la.nj=!1;this.la.Ye=!1;this.Y.Kf=this.Y.lf=0;this.Y.Lf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.zi=this.Le.bind(this);wb(this)}hb(Qc);var Rc=["power","reset"];m=Qc.prototype;
m.Ic=function(a,b,c,d){this.X=a;this.ga=b;this.ha=d;for(b=0;b<Rc.length;b++)(c=this.qa[Rc[b]])&&this.X.Pb(null,Rc[b],c);this.Tb=Jb(a,"FPU");this.N=Jb(a,"ChipSet");a=Tc(a,"autoStart");null!=a&&(this.la.Cf="true"==a?!0:"false"==a?!1:!!a);wb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.gc=function(a,b){if(!b){if(a&&this.restore){Uc(this);if(!this.restore(a))return!1;Xc(this)}else this.reset();this.ha?this.ha.ph():this.O("No debugger detected")}Yc(this);return!0};m.fc=function(a){return a?this.save():!0};m.Cf=function(){return this.la.Cf||!this.ha&&void 0===this.qa.run?(this.Le(!0),!0):!1};m.uj=function(){return 0};
@ -99,22 +99,22 @@ d.oa(h+g)));c&&d.jb(h+0,f);d.Za|=8;return!0}m.save=function(){return[this.Z,this
function id(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.bd=!1;if(c)if(a.load=a.yg,a.Bj=a.Vm,a.mc=a.gj,a.nc=a.ij,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.X,a.mc=a.ga,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.ef=!1;else{if(!(a.Z&-4))a.mc=a.sg,a.nc=a.tg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.sg);if(a.type&2048||!(a.type&512))a.nc=a.tg;1024==(a.type&3072)&&(a.mc==a.gj&&(a.mc=a.rl),a.nc==a.ij&&(a.nc=a.sl),a.bd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&
(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.th,a.Bj=a.Wm,a.mc=a.hj,a.nc=a.jj,a.Lb=a.Gc=0,a.Xb=-1,a.ef=!1}
function Ed(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ea(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Qc.call(this,a,b);this.$f=61442;this.Cc=1792;this.Yf=28672;this.Cd=4;this.ra=255;this.B=80286<=this.ja?Bb:Ab;this.W=Fd;this.dg=Gd;this.jg=Hd;this.kg=Id;if(80186<=this.ja&&(this.W=Fd.slice(),this.dg=Gd.slice(),this.jg=Hd.slice(),this.ra=31,this.W[15]=Jd,this.W[96]=Kd,this.W[97]=Ld,this.W[98]=Md,this.W[99]=Jd,this.W[100]=Jd,this.W[101]=
Jd,this.W[102]=Jd,this.W[103]=Jd,this.W[104]=Nd,this.W[105]=Od,this.W[106]=Pd,this.W[107]=Qd,this.W[108]=Rd,this.W[109]=Sd,this.W[110]=Td,this.W[111]=Ud,this.W[192]=Vd,this.W[193]=Zd,this.W[200]=$d,this.W[201]=ae,this.W[241]=ge,this.dg[7]=he,this.jg[7]=he,80286<=this.ja)){this.$f=2;this.Cc|=28672;this.Cd=0;this.W[15]=ie;this.tc=je.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=ke);this.W[84]=le;this.W[99]=me;if(80386<=this.ja){var c;this.Yf=0;this.Cc|=196608;this.W[100]=ne;this.W[101]=
oe;this.W[102]=pe;this.W[103]=qe;for(c in N)this.tc[+c]=N[+c];80546<=this.Uc&&80562>=this.Uc&&(this.tc[166]=re,this.tc[167]=se)}}this.Hd=[];this.je=[];this.le=0;Uc(this);this.la.complete=this.la.mj=!1;this.Vg=0;this.kd=this.sa=[];this.La=this.Sb=this.Fa=this.Fd=this.hd=this.Gb=this.Db=0;te(this)}hb(Ed,Qc);function ue(a,b,c,d){Lc((d?a.kd:a.sa)[b>>>a.La],c);d&&$b(a)}
function ve(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new C(null,0,0,5,null,a);Rb(a.ke,a.ha);for(b=0;b<a.Fd;b++)a.sa[b]=a.ke;a.jd=new C;a.cg=Array(512);a.me=0}else for(var c=0;c<a.Gd.length;c++){b=a.Gd[c];var d=a.sa[b];512>a.me&&(a.cg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function $b(a){a.Za&-2147483648&&ve(a)}
Jd,this.W[102]=Jd,this.W[103]=Jd,this.W[104]=Nd,this.W[105]=Od,this.W[106]=Pd,this.W[107]=Qd,this.W[108]=Rd,this.W[109]=Sd,this.W[110]=Td,this.W[111]=Ud,this.W[192]=Vd,this.W[193]=Wd,this.W[200]=$d,this.W[201]=ae,this.W[241]=be,this.dg[7]=he,this.jg[7]=he,80286<=this.ja)){this.$f=2;this.Cc|=28672;this.Cd=0;this.W[15]=ie;this.tc=je.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=ke);this.W[84]=le;this.W[99]=me;if(80386<=this.ja){var c;this.Yf=0;this.Cc|=196608;this.W[100]=ne;this.W[101]=
oe;this.W[102]=pe;this.W[103]=qe;for(c in N)this.tc[+c]=N[+c];80546<=this.Uc&&80562>=this.Uc&&(this.tc[166]=re,this.tc[167]=se)}}this.Hd=[];this.je=[];this.le=0;Uc(this);this.la.complete=this.la.mj=!1;this.Vg=0;this.kd=this.sa=[];this.La=this.Sb=this.Fa=this.Fd=this.hd=this.Gb=this.Db=0;te(this)}hb(Ed,Qc);function ue(a,b,c,d){Lc((d?a.kd:a.sa)[b>>>a.La],c);d&&Vb(a)}
function ve(a){var b;if(a.sa===a.kd){a.sa=Array(a.Fd);a.ke=new C(null,0,0,5,null,a);Rb(a.ke,a.ha);for(b=0;b<a.Fd;b++)a.sa[b]=a.ke;a.jd=new C;a.cg=Array(512);a.me=0}else for(var c=0;c<a.Gd.length;c++){b=a.Gd[c];var d=a.sa[b];512>a.me&&(a.cg[a.me++]=d);a.sa[b]=a.ke}a.Gd=[]}function Vb(a){a.Za&-2147483648&&ve(a)}
function Kc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Od+e&a.Gb)>>>a.La],g=f.Md(e);if(!(g&1))return d||we.call(a,b,!1,c),a.jd;if(!(g&4)&&3==a.pa)return d||we.call(a,b,!0,c),a.jd;var h=(b&4190208)>>>10,g=a.kd[((g&-4096)+h&a.Gb)>>>a.La],k=g.Md(h);if(!(k&1))return d||we.call(a,b,!1,c),a.jd;if(!(k&4)&&3==a.pa)return d||we.call(a,b,!0,c),a.jd;c=a.kd[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0<a.me?(l=a.cg[--a.me],l.ph(b)):l=new C(b,0,0,6);b=l;b.Bd=c;b.yb=f;b.A=
e>>2;b.zb=g;b.B=h>>2;zb&&gc&&c.da&&!c.controller&&!c.Ve&&!c.We?(b.Ya=c.Ya,b.de=c.de,b.da=c.da,dc(b,Pc)):(b.ga=c?Dc(32):0,b.V=c?Dc(96):0,dc(b,Nc));Rb(b,a.ha,k);a.sa[d]=b;a.Gd.push(d);return b}function xe(a){a.sa!==a.kd&&(a.sa=a.kd,a.ke=null,a.Gd=null,a.jd=null)}m=Ed.prototype;m.reset=function(){this.la.Ib&&this.Wb();te(this);Uc(this);this.la.error=!1};
function ye(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=J(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function ze(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:I(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}}
function te(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ia=a.va=0;a.aa=0;a.lg=0;a.L=0;a.Za=65520;a.Mc=0;a.Sd=1023;a.ca=a.Pa=0;a.Wc=a.sd=a.Vc=a.Xc=0;a.rb=-1;a.kc=a.sb=-1;a.qe=a.U=-1;a.wa=new hd(a,1,"CS");a.vb=new hd(a,2,"DS");a.Xa=new hd(a,2,"ES");a.ta=new hd(a,3,"SS");I(a,0);nd(a,0);if(80386<=a.ja){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.si=0;a.se=0;a.Od=0;a.Ja=[0,0,0,0,null,null,0,
0];a.Ce=[null,null,null,null,null,null,0,0];a.Nb=new hd(a,2,"FS");a.Ob=new hd(a,2,"GS");xe(a)}a.rf=new hd(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ia=0;a.D=a.C=-1;a.$b=a.rf;a.ua=0;if(80286>a.ja)Cd(a,0,65535);else{a.Ec=0;a.zd=65535;a.Bc=new hd(a,5,"LDT",!0);a.Sa=new hd(a,4,"TSS",!0);a.Da=new hd(a,6,"VER",!0);Cd(a,65520,61440);var b,c=M(a);b=a.wa;var d=-65536;80386>b.F.ja&&(d&=16777215);b=b.Aa=d;a.Ha=b+c|0;a.jf=(b>>>0)+(a.wa.Ta>>>0)+1}Bd(a,0);pd(a)}
function Ae(a){2==a.Oc?(a.bc=a.na,a.Oa=Be,a.$a=Ce,a.Jb=De,2==a.ba?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=He,a.ea=Ie,a.ya=Le)):(a.bc=a.oa,a.Oa=Me,a.$a=Ne,a.Jb=Oe,2==a.ba?(a.V=Pe,a.ea=Qe,a.ya=Re):(a.V=Se,a.ea=Te,a.ya=df))}function vd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,ef(a))}function ef(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=Pe,a.ea=Qe,a.ya=Re)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.V=He,a.ea=Ie,a.ya=Le):(a.V=Se,a.ea=Te,a.ya=df))}
function Ae(a){2==a.Oc?(a.bc=a.na,a.Oa=Be,a.$a=Ce,a.Jb=De,2==a.ba?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=He,a.ea=Ie,a.ya=Je)):(a.bc=a.oa,a.Oa=Me,a.$a=Ne,a.Jb=Oe,2==a.ba?(a.V=Pe,a.ea=Qe,a.ya=Re):(a.V=Se,a.ea=Te,a.ya=Ue))}function vd(a,b){a.ba!=b&&(a.Ia|=1024,a.ba=b,a.R=2==b?65535:-1,ef(a))}function ef(a){2==a.ba?(a.Ga=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.V=Ee,a.ea=Fe,a.ya=Ge):(a.V=Pe,a.ea=Qe,a.ya=Re)):(a.Ga=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.V=He,a.ea=Ie,a.ya=Je):(a.V=Se,a.ea=Te,a.ya=Ue))}
function ff(a){a.Oc=a.wa.Oc;a.Ba=a.wa.Ba;Ae(a);a.ba=a.wa.ba;a.R=a.wa.R;ef(a);a.Ia&=-3073}m.uj=function(){var a=this.G+this.H+this.I+this.M+J(this)+this.P+this.K+this.J|0;return a=a+M(this)+this.wa.Z+this.vb.Z+this.ta.Z+this.Xa.Z+Ad(this)|0};function gf(a,b,c){void 0===a.Hd[b]&&(a.Hd[b]=[]);a.Hd[b].push(c)}function hf(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function jf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
function kf(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Rd(g&a.Fa,f,a):Lc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Ic(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<<g;a.ua|=2;break}}e>>=2;f>>=4}}}
function pd(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.kg=b&&!c?lf:Id;id(a.wa,!1,b,c);id(a.vb,!1,b,c);id(a.ta,!1,b,c);id(a.Xa,!1,b,c);80386<=a.ja&&(id(a.Nb,!1,b,c),id(a.Ob,!1,b,c));ff(a)}
m.save=function(){var a=new mf(this);O(a,0,[this.G,this.H,this.I,this.M,J(this),this.P,this.K,this.J]);var b=M(this),c=this.wa.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.zd,this.Mc,this.Sd,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ja&&(g.push(this.si),g.push(this.se),g.push(this.Od),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,Ad(this)];80386<=this.ja&&(b.push(this.Nb.save()),b.push(this.Ob.save()));O(a,1,b);O(a,2,[this.ka.jc,
this.Ka.jc,this.S,this.Ia,this.ua,this.D,this.C]);O(a,3,[0,this.uc,this.Y.Wd]);b=this.ga;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.X&&b.Cg==b.Gb)||Wb(b,!0);for(g=0;g<b.U;g++){var h=b.sa[g];if(c&&h.type!=fc||h.Wa||h.sj){e[d++]=g;var k=d++;a:if(h=h.save()){for(var l=0,n=0,r=[];l<h.length;){for(var q=h[l],A=l+1;A<h.length&&h[A]===q;)A++;r[n++]=A-l;r[n++]=q;l=A}if(r.length<h.length){h=r;break a}}e[k]=h}}f||Wb(b,!1);e[d]=f;O(a,4,e);return a.data()};
this.Ka.jc,this.S,this.Ia,this.ua,this.D,this.C]);O(a,3,[0,this.uc,this.Y.Wd]);b=this.ga;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.X&&b.Cg==b.Gb)||Sb(b,!0);for(g=0;g<b.U;g++){var h=b.sa[g];if(c&&h.type!=fc||h.Wa||h.sj){e[d++]=g;var k=d++;a:if(h=h.save()){for(var l=0,n=0,r=[];l<h.length;){for(var q=h[l],A=l+1;A<h.length&&h[A]===q;)A++;r[n++]=A-l;r[n++]=q;l=A}if(r.length<h.length){h=r;break a}}e[k]=h}}f||Sb(b,!1);e[d]=f;O(a,4,e);return a.data()};
m.restore=function(a){var b=a[0];this.G=b[0];this.H=b[1];this.I=b[2];this.M=b[3];var c=b[4];this.P=b[5];this.K=b[6];this.J=b[7];b=a[1];this.wa.restore(b[1]);this.vb.restore(b[2]);this.ta.restore(b[3]);this.Xa.restore(b[4]);var d=b[5];d&&d.length&&(this.Za=d[0],this.Ec=d[1],this.zd=d[2],this.Mc=d[3],this.Sd=d[4],this.Bc.restore(d[5]),this.Sa.restore(d[6]),this.Pa=d[7],80386<=this.ja&&(this.si=d[8],this.se=d[9],this.Od=d[10],this.Ja=d[11],this.Ce=d[12]),pd(this));Bd(this,b[6]);var d=!1,e;a:{e=this.ga;
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.fa){for(var l=0,n=Array(e.fa),r=0;r<k.length-1;)for(var q=k[r++],A=k[r++];q--;)n[l++]=A;k=n}l=e.sa[h];if(!l||!l.restore(k)){x("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&Wb(e,f[g]);e=!0}e&&(Cd(this,b[0],this.wa.Z),I(this,c),nd(this,this.ta.Z),80386<=this.ja&&(this.Nb.restore(b[7]),this.Ob.restore(b[8])),d=!0);b=a[2];this.ka=null!=b[0]&&nf(this,b[0])||this.vb;this.Ka=null!=b[1]&&nf(this,b[1])||this.ta;
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.fa){for(var l=0,n=Array(e.fa),r=0;r<k.length-1;)for(var q=k[r++],A=k[r++];q--;)n[l++]=A;k=n}l=e.sa[h];if(!l||!l.restore(k)){x("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&Sb(e,f[g]);e=!0}e&&(Cd(this,b[0],this.wa.Z),I(this,c),nd(this,this.ta.Z),80386<=this.ja&&(this.Nb.restore(b[7]),this.Ob.restore(b[8])),d=!0);b=a[2];this.ka=null!=b[0]&&nf(this,b[0])||this.vb;this.Ka=null!=b[1]&&nf(this,b[1])||this.ta;
this.S=b[2];this.Ia=b[3];this.ua=b[4];this.D=b[5];this.C=b[6];b=a[3];this.uc=b[1];ad(this,b[2]);return d};function nf(a,b){switch(b){case "CS":return a.wa;case "DS":return a.vb;case "SS":return a.ta;case "ES":return a.Xa;case "NULL":return a.rf;default:return[0,b,0,0,""]}}function of(a,b){null!=Cd(a,M(a),b)&&(a.S|=a.Cd)}function yd(a,b){-1!==a.vb.load(b)&&(a.S|=a.Cd)}
function nd(a,b,c){var d=J(a);-1!==a.ta.load(b)&&(I(a,d),a.ta.bd?(a.Rg=a.ta.Aa+a.ta.Ba|0,a.qd=a.ta.Aa+a.ta.Ta|0):(a.Rg=a.ta.Aa+a.ta.Ta|0,a.qd=a.ta.Aa),c||(a.S|=4))}function zd(a,b){-1!==a.Xa.load(b)&&(a.S|=a.Cd)}function M(a){return a.Ha-a.wa.Aa|0}function Q(a,b){a.Ha=a.wa.Aa+(b&a.R)|0}function pf(a,b){a.Ha=b;a.jf=(a.wa.Aa>>>0)+(a.wa.Ta>>>0)+1;a.pa=a.wa.Lb;ff(a)}function Cd(a,b,c,d){var e=a.wa;e.Zf=b;e.C=d;b=e.load(c);return-1!==b?(pf(a,b+(a.wa.Zf&a.wa.R)),a.wa.ef):null}
function qf(a,b){var c=(a.Ha>>>0)+b;c>a.jf&&(8088>=a.ja||a.wa.Ta==a.wa.Ba?c=a.wa.Aa+(c-a.jf&a.R):D.call(a,13,0));return c|0}function rf(a){a.Ha=a.qe}function J(a){return a.gb&~a.ta.Ba|a.fa-a.ta.Aa}function I(a,b){a.gb=b;a.fa=a.ta.Aa+(b&a.ta.Ba)|0}function sf(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&tf(a),g&2&&uf(a),g&4&&vf(a),g&8&&wf(a),g&16&&xf(a),g&32&&yf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.sd=c;a.Xc=d;a.resultType=e}
@ -188,7 +188,7 @@ function kj(a,b){return b>>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function lj
function mj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:I(this,J(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ki}else this.C=this.D,this.S&2||this.rc(this.$b.nc(this.Ca,this.ba),a),this.A-=this.B.ji;return b}
function nj(a,b){var c=a^b;zf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function oj(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return zf(this,a^b,this.Ga)&this.R}function pj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function qj(a){var b=a-1|0;sf(this,a,1,b,this.Ga|62,!0);this.A-=2;return a&~this.R|b&this.R}
function rj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0<pj(a,c);){var f=b=c;b[0]+=f[0];b[1]+=f[1];4294967295<b[0]&&(b[0]>>>=0,b[1]++);e+=e}do 0<=pj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ia=d;this.va=a[0];return!0}function sj(a){var b=a+1|0;sf(this,a,1,b,this.Ga|62);this.A-=2;return a&~this.R|b&this.R}
function tj(a){this.Za=a;pd(this);this.Za&-2147483648?ve(this):xe(this)}function Dd(a){this.Od=a;$b(this)}function uj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Vi(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;zf(this,a,32768,d&32768)}return a}function Xi(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;zf(this,a,-2147483648,d&-2147483648)}return a}
function tj(a){this.Za=a;pd(this);this.Za&-2147483648?ve(this):xe(this)}function Dd(a){this.Od=a;Vb(this)}function uj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Vi(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;zf(this,a,32768,d&32768)}return a}function Xi(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;zf(this,a,-2147483648,d&-2147483648)}return a}
function aj(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;zf(this,a,32768,d&1)}return a}function cj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;zf(this,a,-2147483648,d&1)}return a}function vj(){this.A-=-1===this.D?2:this.B.Ek;return 1}function wj(){var a=this.I&255;this.A-=(-1===this.D?this.B.bi:this.B.ai)+(a<<this.B.ci);return a}function xj(){var a=this.xa();this.A-=(-1===this.D?this.B.bi:this.B.ai)+(a<<this.B.ci);return a}function yj(){return null}
function zj(){return this.aa}function Aj(a,b){this.kc=this.wa.Z;this.sb=this.ta.Z;this.U=this.fa;var c=M(this),d=this.ba;null!=Cd(this,a,b,!0)&&(xd(this,this.kc,d,2),xd(this,c,d,d));this.kc=this.sb=this.U=-1}function Bj(a,b,c){this.A-=this.B.bk+(c||0);c=Ad(this);var d=this.wa.Z,e=M(this);a=this.wa.Bj(a);-1!==a&&(K(this,c),K(this,d),K(this,e),null!=b&&K(this,b),this.rb=-1,pf(this,a))}
function Cj(a){this.sb=this.ta.Z;this.U=this.fa;var b=G(this),c=G(this);a&&I(this,J(this)+a);Cd(this,b,c,!1)&&(a&&I(this,J(this)+a),Dj.call(this,this.vb),Dj.call(this,this.Xa),80386<=this.ja&&(Dj.call(this,this.Nb),Dj.call(this,this.Ob)));2==a&&this.le&&jf(this,this.Ha);this.sb=this.U=-1}function Ej(){8086==this.ja?(this.rb=-1,Bj.call(this,0,null,2)):D.call(this,0,null,2)}function Zf(a,b){this.rb=a;void 0===b&&(b=11);Bj.call(this,a,null,b)}
@ -237,7 +237,7 @@ case 65:b=T(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Rf(this,t
this.C=this.D;break;case 130:b=Rf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:b=Rf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:b=T(this,this.K+U(this));this.C=this.D;break;case 133:b=T(this,this.J+U(this));this.C=this.D;break;case 134:b=Rf(this,this.P+U(this));this.C=this.D;break;case 135:b=T(this,this.H+U(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break;
case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Uf(this,a);this.A-=this.B.dd;break;case 1:case 2:Uf(this,a);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,a);this.A-=this.B.Jc;break;case 6:Uf(this,a);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,
a);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Uf(this,a);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Uf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}}
function Le(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=T(this,this.H+this.K);this.C=this.D;break;case 1:c=T(this,this.H+this.J);this.C=this.D;break;case 2:c=Rf(this,this.P+this.K);this.C=this.D;break;case 3:c=Rf(this,this.P+this.J);this.C=this.D;break;case 4:c=T(this,this.K);this.C=this.D;break;case 5:c=T(this,this.J);this.C=this.D;break;case 6:c=T(this,U(this));this.C=this.D;break;case 7:c=T(this,this.H);this.C=this.D;break;case 64:c=T(this,this.H+this.K+this.T());this.C=this.D;break;
function Je(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=T(this,this.H+this.K);this.C=this.D;break;case 1:c=T(this,this.H+this.J);this.C=this.D;break;case 2:c=Rf(this,this.P+this.K);this.C=this.D;break;case 3:c=Rf(this,this.P+this.J);this.C=this.D;break;case 4:c=T(this,this.K);this.C=this.D;break;case 5:c=T(this,this.J);this.C=this.D;break;case 6:c=T(this,U(this));this.C=this.D;break;case 7:c=T(this,this.H);this.C=this.D;break;case 64:c=T(this,this.H+this.K+this.T());this.C=this.D;break;
case 65:c=T(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Rf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Rf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=T(this,this.K+this.T());this.C=this.D;break;case 69:c=T(this,this.J+this.T());this.C=this.D;break;case 70:c=Rf(this,this.P+this.T());this.C=this.D;break;case 71:c=T(this,this.H+this.T());this.C=this.D;break;case 128:c=T(this,this.H+this.K+U(this));this.C=this.D;break;case 129:c=T(this,this.H+this.J+U(this));
this.C=this.D;break;case 130:c=Rf(this,this.P+this.K+U(this));this.C=this.D;break;case 131:c=Rf(this,this.P+this.J+U(this));this.C=this.D;break;case 132:c=T(this,this.K+U(this));this.C=this.D;break;case 133:c=T(this,this.J+U(this));this.C=this.D;break;case 134:c=Rf(this,this.P+U(this));this.C=this.D;break;case 135:c=T(this,this.H+U(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;
case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Uf(this,c);this.A-=this.B.dd;break;case 1:case 2:Uf(this,c);this.A-=this.B.ed;break;case 4:case 5:case 7:Uf(this,c);this.A-=this.B.Jc;break;case 6:Uf(this,c);this.A-=this.B.Jd;break;case 64:case 67:case 128:case 131:Uf(this,c);this.A-=this.B.cc;break;case 65:case 66:case 129:case 130:Uf(this,c);this.A-=this.B.dc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Uf(this,
@ -276,7 +276,7 @@ function Te(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=T(this,this.G
this.C=this.D;break;case 66:b=T(this,this.M+this.T());this.C=this.D;break;case 67:b=T(this,this.H+this.T());this.C=this.D;break;case 68:b=T(this,Fj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Rf(this,this.P+this.T());this.C=this.D;break;case 70:b=T(this,this.K+this.T());this.C=this.D;break;case 71:b=T(this,this.J+this.T());this.C=this.D;break;case 128:b=T(this,this.G+U(this));this.C=this.D;break;case 129:b=T(this,this.I+U(this));this.C=this.D;break;case 130:b=T(this,this.M+U(this));this.C=
this.D;break;case 131:b=T(this,this.H+U(this));this.C=this.D;break;case 132:b=T(this,Fj.call(this,2)+U(this));this.C=this.D;break;case 133:b=Rf(this,this.P+U(this));this.C=this.D;break;case 134:b=T(this,this.K+U(this));this.C=this.D;break;case 135:b=T(this,this.J+U(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=J(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>
3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=J(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:I(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Uf(this,a)}}
function df(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=T(this,this.G);this.C=this.D;break;case 1:c=T(this,this.I);this.C=this.D;break;case 2:c=T(this,this.M);this.C=this.D;break;case 3:c=T(this,this.H);this.C=this.D;break;case 4:c=T(this,Fj.call(this,0));this.C=this.D;break;case 5:c=T(this,U(this));this.C=this.D;break;case 6:c=T(this,this.K);this.C=this.D;break;case 7:c=T(this,this.J);this.C=this.D;break;case 64:c=T(this,this.G+this.T());this.C=this.D;break;case 65:c=T(this,this.I+this.T());
function Ue(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=T(this,this.G);this.C=this.D;break;case 1:c=T(this,this.I);this.C=this.D;break;case 2:c=T(this,this.M);this.C=this.D;break;case 3:c=T(this,this.H);this.C=this.D;break;case 4:c=T(this,Fj.call(this,0));this.C=this.D;break;case 5:c=T(this,U(this));this.C=this.D;break;case 6:c=T(this,this.K);this.C=this.D;break;case 7:c=T(this,this.J);this.C=this.D;break;case 64:c=T(this,this.G+this.T());this.C=this.D;break;case 65:c=T(this,this.I+this.T());
this.C=this.D;break;case 66:c=T(this,this.M+this.T());this.C=this.D;break;case 67:c=T(this,this.H+this.T());this.C=this.D;break;case 68:c=T(this,Fj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Rf(this,this.P+this.T());this.C=this.D;break;case 70:c=T(this,this.K+this.T());this.C=this.D;break;case 71:c=T(this,this.J+this.T());this.C=this.D;break;case 128:c=T(this,this.G+U(this));this.C=this.D;break;case 129:c=T(this,this.I+U(this));this.C=this.D;break;case 130:c=T(this,this.M+U(this));this.C=
this.D;break;case 131:c=T(this,this.H+U(this));this.C=this.D;break;case 132:c=T(this,Fj.call(this,2)+U(this));this.C=this.D;break;case 133:c=Rf(this,this.P+U(this));this.C=this.D;break;case 134:c=T(this,this.K+U(this));this.C=this.D;break;case 135:c=T(this,this.J+U(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=J(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>>
3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:I(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Uf(this,c)}}
@ -291,9 +291,9 @@ function Ud(){var a=1,b=0,c=this.Ba,d=5;this.Ia&192&&(a=this.I&c,b=1,this.Ia&256
function Hj(){var a=this.T();yf(this)?this.A-=this.B.bb:(Q(this,M(this)+a),this.A-=this.B.ab)}function Ij(){var a=this.T();tf(this)?(Q(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Jj(){var a=this.T();tf(this)?this.A-=this.B.bb:(Q(this,M(this)+a),this.A-=this.B.ab)}function Kj(){var a=this.T();wf(this)?(Q(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Lj(){var a=this.T();wf(this)?this.A-=this.B.bb:(Q(this,M(this)+a),this.A-=this.B.ab)}
function Mj(){var a=this.T();tf(this)||wf(this)?(Q(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Nj(){var a=this.T();tf(this)||wf(this)?this.A-=this.B.bb:(Q(this,M(this)+a),this.A-=this.B.ab)}function Oj(){var a=this.T();xf(this)?(Q(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Pj(){var a=this.T();xf(this)?this.A-=this.B.bb:(Q(this,M(this)+a),this.A-=this.B.ab)}function Qj(){var a=this.T();uf(this)?(Q(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}
function Rj(){var a=this.T();uf(this)?this.A-=this.B.bb:(Q(this,M(this)+a),this.A-=this.B.ab)}function Sj(){var a=this.T();!xf(this)!=!yf(this)?(Q(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Tj(){var a=this.T();!xf(this)==!yf(this)?(Q(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Uj(){var a=this.T();wf(this)||!xf(this)!=!yf(this)?(Q(this,M(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}
function Vj(){var a=this.T();wf(this)||!xf(this)!=!yf(this)?this.A-=this.B.bb:(Q(this,M(this)+a),this.A-=this.B.ab)}function Wj(){this.Jb.call(this,Xj,this.xa);this.A-=-1===this.C?1:this.B.Ig}function Yj(){this.S|=1;this.$a.call(this,fi)}function Zj(){this.S|=1;this.ea.call(this,fi)}function ak(){this.Oa.call(this,fi)}function bk(){this.V.call(this,fi)}function Vd(){this.Jb.call(this,ck,xj)}function Zd(){this.ya.call(this,2==this.ba?dk:ek,xj)}
function Vj(){var a=this.T();wf(this)||!xf(this)!=!yf(this)?this.A-=this.B.bb:(Q(this,M(this)+a),this.A-=this.B.ab)}function Wj(){this.Jb.call(this,Xj,this.xa);this.A-=-1===this.C?1:this.B.Ig}function Yj(){this.S|=1;this.$a.call(this,fi)}function Zj(){this.S|=1;this.ea.call(this,fi)}function ak(){this.Oa.call(this,fi)}function bk(){this.V.call(this,fi)}function Vd(){this.Jb.call(this,ck,xj)}function Wd(){this.ya.call(this,2==this.ba?dk:ek,xj)}
function fk(){var a=Vf(this),b=G(this);Q(this,b);a&&I(this,J(this)+a);this.A-=this.B.Dk}function gk(){var a=G(this);Q(this,a);this.A-=this.B.Ak}function $d(){this.U=this.fa;var a=Vf(this),b=this.xa()&31;this.A-=11;K(this,this.P);var c=J(this)&this.R;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.P=this.P&~this.R|this.P-this.ba&this.R,K(this,wd(this,this.ta,this.P&this.R));K(this,c)}this.P=this.P&~this.R|c;I(this,J(this)&~this.ta.Ba|J(this)-a&this.ta.Ba);this.U=-1}
function ae(){this.U=this.fa;I(this,J(this)&~this.ta.Ba|this.P&this.ta.Ba);this.P=this.P&~this.R|G(this)&this.R;this.A-=5;this.U=-1}function hk(){Cj.call(this,Vf(this));this.A-=this.B.Ck}function ik(){Cj.call(this,0);this.A-=this.B.Bk}function jk(a){this.lg=a;this.V.call(this,Ph)}function kk(){this.S|=36;this.A-=this.B.nd}function ge(){ke.call(this)}function Jd(){D.call(this,6)}
function ae(){this.U=this.fa;I(this,J(this)&~this.ta.Ba|this.P&this.ta.Ba);this.P=this.P&~this.R|G(this)&this.R;this.A-=5;this.U=-1}function hk(){Cj.call(this,Vf(this));this.A-=this.B.Ck}function ik(){Cj.call(this,0);this.A-=this.B.Bk}function jk(a){this.lg=a;this.V.call(this,Ph)}function kk(){this.S|=36;this.A-=this.B.nd}function be(){ke.call(this)}function Jd(){D.call(this,6)}
function ke(){Q(this,this.qe-this.wa.Aa);yb(this,"Undefined opcode "+u(this.Qa(this.Ha))+" at "+t(this.Ha,8,!0));this.Wb()}
var Fd=[function(){this.$a.call(this,xh)},function(){this.ea.call(this,yh)},function(){this.Oa.call(this,xh)},function(){this.V.call(this,yh)},function(){this.G=this.G&-256|xh.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|yh.call(this,this.G&this.R,this.Ma());this.A--},function(){xd(this,this.Xa.Z,this.ba,2);this.A-=this.B.Ie},function(){this.U=this.fa;zd(this,G(this));this.A-=this.B.zc;this.U=-1},function(){this.$a.call(this,Bi)},function(){this.ea.call(this,Ci)},function(){this.Oa.call(this,
Bi)},function(){this.V.call(this,Ci)},function(){this.G=this.G&-256|Bi.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|Ci.call(this,this.G&this.R,this.Ma());this.A--},function(){xd(this,this.wa.Z,this.ba,2);this.A-=this.B.Ie},function(){of(this,G(this));this.A-=this.B.zc},function(){this.$a.call(this,vh)},function(){this.ea.call(this,wh)},function(){this.Oa.call(this,vh)},function(){this.V.call(this,wh)},function(){this.G=this.G&-256|vh.call(this,this.G&255,this.xa());this.A--},
@ -414,7 +414,7 @@ m.Ll=function(a,b){var c=this.Ja;y(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&
m.jn=function(a,b,c){y(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.ea){case 96:Vl(this,b);break;case 209:Wl(this,b);break;default:if(Vl(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;B(a)&&z(a,"sendCmd("+u(c)+")");switch(a.V||c){case 255:d=250;Xl(a);break;case 243:a.V&&(c=0);Yl(a,250);a.V=c;break;case 237:a.V&&(c=0);Yl(a,250);a.V=c;break;default:z(a,"sendCmd(): unrecognized command")}Zl(this,d)}}this.ea=b;this.N&=-9};
m.Ml=function(a,b){var c=this.W&-209|($c(this.F)&64?16:0);y(this,a,null,b,"8042_RWREG",c,16384);return c};m.kn=function(a,b,c){y(this,a,b,c,"8042_RWREG",null,16384);Sl(this,b)};m.Nl=function(a,b){y(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c};
m.hn=function(a,b,c){y(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.ea=b;this.N|=8;a=0;240<=this.ea&&(a=this.ea^15,this.ea=240);switch(this.ea){case 32:Zl(this,this.aa);break;case 173:Vl(this,this.aa|16);break;case 174:Vl(this,this.aa&-17);this.B&&Ul(this.B);break;case 170:this.B&&(a=this.B,a.A=[],B(a)&&z(a,"scan codes flushed"));Vl(this,this.aa|16);Zl(this,85);Wl(this,3);break;case 171:Zl(this,0);break;case 192:Zl(this,this.fa);break;case 208:Zl(this,this.Ka);break;case 224:Zl(this,this.aa&16?0:
1);break;case 240:a&1&&te(this.F)}};function Vl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Tl(a.B,!!(b&8),!(b&16))}function Zl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Wl(a,b){a.Ka=b;Wb(a.ga,!!(b&2));b&1||te(a.F)}function $l(a,b){a.ja<gg?(ig(a,1,4),a.va|=1):a.aa&16||a.N&257||(Zl(a,b,!0),am(a.B),ig(a,1,120))}function bm(a,b,c,d){var e=a.C[b][1];y(a,c,null,d,"DIPSW-"+b,e,32768);return e}m.am=function(a,b){y(this,a,null,b,"CMOS.ADDR",this.pa,4096);return this.pa};
1);break;case 240:a&1&&te(this.F)}};function Vl(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Tl(a.B,!!(b&8),!(b&16))}function Zl(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Wl(a,b){a.Ka=b;Sb(a.ga,!!(b&2));b&1||te(a.F)}function $l(a,b){a.ja<gg?(ig(a,1,4),a.va|=1):a.aa&16||a.N&257||(Zl(a,b,!0),am(a.B),ig(a,1,120))}function bm(a,b,c,d){var e=a.C[b][1];y(a,c,null,d,"DIPSW-"+b,e,32768);return e}m.am=function(a,b){y(this,a,null,b,"CMOS.ADDR",this.pa,4096);return this.pa};
m.zn=function(a,b,c){y(this,a,b,c,"CMOS.ADDR",null,4096);this.pa=b;this.ya=b&128?0:128};m.bm=function(a,b){var c=this.pa&63,d=13>=c?Sk(this,c):this.A[c];B(this,4352)&&y(this,a,null,b,"CMOS.DATA["+u(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&hg(this,8),d&64&&this.A[11]&64&&bl(this));return d};
m.An=function(a,b,c){var d=this.pa&63;B(this,4352)&&y(this,a,b,c,"CMOS.DATA["+u(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.A[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&bl(this)};m.Mk=function(a,b,c){y(this,a,b,c,"NMI");this.ya=b};m.Kn=function(a,b,c){y(this,a,b,c,"FPU.CLEAR")};m.Ln=function(a,b,c){y(this,a,b,c,"FPU.RESET");this.Tb&&bg(this.Tb)};
m.Om=function(a){if(B(this,16)&&ok(this.ha,26,a)){var b=this.F.G>>8;hf(this.F,a,function(a,d){return function(e){d=$c(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+v(h)+" CL(min)="+u(g)+" DH(sec)="+u(l);else if(4==b||5==b)f=" CX(year)="+v(a.F.I)+" DH(month)="+u(l)+" DL(day)="+u(k);g=a.ha;h=d;g.message("INT "+u(26)+": C="+(tf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,$c(this.F)))}return!0};
@ -435,10 +435,10 @@ function cm(a){Za.call(this,"ROM",a,cm);this.A=null;this.X=a.addr;this.C=a.size;
cm.prototype.gc=function(){this.Qd&&(this.ha&&fm(this.ha,this.id,0,this.X>>>4,0,this.X,this.C,this.Qd),delete this.Qd);return!0};cm.prototype.fc=function(){return!0};
function dm(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{jb(a.ce,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=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.Qd=e.symbols;if(!a.A.length){x("Empty ROM: "+b);return}if(1==a.A.length){x(a.A[0]);return}}catch(h){a.Na("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]=ea(b[e],16);em(a)}}
function em(a){if(!xb(a))if(!a.L)wb(a);else if(a.A&&a.ga){a.C||(a.C=a.A.length);if(a.A.length!=a.C)yb(a,"ROM size ("+t(a.A.length,8,!0)+") does not match specified size ("+t(a.C,8,!0)+")");else{var b;b=a.X;if(Yb(a.ga,b,a.C,fc)){for(var c=0;c<a.A.length;c++){var d=a.ga,e=b+c;d.sa[(e&d.Gb)>>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;c<b.length;c++){var d=a,e=b[c],f=cc(d.ga,d.X,d.C);bc(d.ga,e,d.C,f)}a.B&&((b=mb(a.B,
function em(a){if(!xb(a))if(!a.L)wb(a);else if(a.A&&a.ga){a.C||(a.C=a.A.length);if(a.A.length!=a.C)yb(a,"ROM size ("+t(a.A.length,8,!0)+") does not match specified size ("+t(a.C,8,!0)+")");else{var b;b=a.X;if(Tb(a.ga,b,a.C,fc)){for(var c=0;c<a.A.length;c++){var d=a.ga,e=b+c;d.sa[(e&d.Gb)>>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;c<b.length;c++){var d=a,e=b[c],f=cc(d.ga,d.X,d.C);bc(d.ga,e,d.C,f)}a.B&&((b=mb(a.B,
a.id))?(c=a.A,d=a.V,5==b.Ua?gm(b,c,d||[12640,8752],8):b.Ua==hm&&gm(b,c,d||[14221,16269],8),wb(b)):a.Na("Unable to find component: "+a.B));delete a.A}}wb(a)}}Ua(function(){for(var a=rb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new cm(d);qb(d,c)}});function im(a){Za.call(this,"RAM",a,im);this.B=a.addr;this.A=a.size;this.L=a.test;this.X=!!this.A;this.C=!1}hb(im);m=im.prototype;m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;this.N=Jb(a,"ChipSet");wb(this)};
m.gc=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};m.fc=function(a){return a&&this.controller?this.save():!0};
m.reset=function(){if(!this.B&&!this.X&&this.N){var a=1024*Xk(this.N);this.A&&a!=this.A&&(ec(this.ga,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Yb(this.ga,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.xd&&(this.controller=new jm(this),Yb(this.ga,km,4,4,this.controller)));if(this.C){if(this.L||lc(this.ga,1138,4660),"ramCPQ"!=this.xd&&this.N&&(a=this.N,a.A)){var b=1048576>this.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;al(a)}}else x("No RAM allocated")};
m.reset=function(){if(!this.B&&!this.X&&this.N){var a=1024*Xk(this.N);this.A&&a!=this.A&&(ec(this.ga,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Tb(this.ga,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.xd&&(this.controller=new jm(this),Tb(this.ga,km,4,4,this.controller)));if(this.C){if(this.L||lc(this.ga,1138,4660),"ramCPQ"!=this.xd&&this.N&&(a=this.N,a.A)){var b=1048576>this.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;al(a)}}else x("No RAM allocated")};
m.save=function(){var a=new mf(this);this.controller&&O(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function jm(a){this.N=a;this.C=lm;this.ha=mm;this.B=nm;this.A=null}var km=-2134900736,lm=65535,mm=2575,nm=2,om=[null,0],pm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=jm.prototype;m.save=function(){return[this.C,this.B]};
m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ga;if(b&1)this.A&&(bc(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=cc(c,917504,131072));var d=cc(c,16646144,131072);bc(c,917504,131072,d,b&2?1:fc)}this.C=this.C&-256|b}};m.vj=function(){return om};m.mh=function(){return pm};
Ua(function(){for(var a=rb(document,"pcx86","ram"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new im(d);qb(d,c)}});function qm(a){Za.call(this,"Keyboard",a,qm,65536);rm(this,a.model);this.ia=Ka("Mobi");this.pa=Ka("MSIE");z(this,"mobile keyboard support: "+(this.ia?"true":"false"));this.fa=0;this.ka=this.jh=!1;this.B=[];this.ua=50;wb(this)}hb(qm);
@ -490,7 +490,7 @@ gn[98]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d&this.controller.Fb,d=d&this.c
gn[226]=function(a,b){var c=a+this.C,d=Vm[b&15],d=d^this.controller.Fb,d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb,d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};gn[3]=function(a,b){var c=a+this.C;b=b>>this.controller.cd|b<<8-this.controller.cd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Wf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};
function hn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.fd;b[2]=a.tf;b[3]=a.ma;b[4]=a.Ac|a.Pg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.$e;c[1]=a.Nd;c[2]=a.Tc;c[3]=a.Sg;c[4]=a.vf;c[5]=a.gg;c[6]=a.ae;c[7]=a.Ke;c[8]=a.Pk;c[9]=a.Qk;c[10]=a.$d;c[11]=a.Zd;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Dd];var d;a:if(d=a.rd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var k=d[h],l=h+2;l<d.length&&d[l]===k;)l+=2;f[e++]=l-h>>1;f[e++]=k;h=l}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Bg|-2147483648;c[16]=a.li;c[17]=a.qb;c[18]=a.cd;c[19]=a.Mb;c[20]=a.Wf;c[21]=a.Yd;c[22]=a.pe;c[23]=a.wh;c[24]=a.xh;c[25]=a.Ld;a.Ua==hm&&(c[26]=a.ui,c[27]=a.ti,c[28]=a.od,c[29]=a.Kc,c[30]=a.Qg,c[31]=a.uf);b[6]=c}b[7]=a.Dh}return b}function jn(a,b,c,d,e){if(d){var f,g="";for(f=0;f<e.length;f++){var h=d===a.mb?kn(a,f):d[f];g&&(g+="\n");g+=b+"["+t(f,2)+"]: "+oa(e[f],18)+(f===c?"*":" ")+t(h,255<h?4:2);null!=h&&(g+=" ("+h+".)")}a.ha.O(g)}else a.ha.O(b+": "+t(c,2))}
Xm.prototype.vj=function(a){return[this.rd,a-this.ob]};Xm.prototype.mh=function(){return this.A};Xm.prototype.Ug=function(a){if(null!=a&&a!=this.Bg){var b=a&65280,c=gn[b];c||b&4096&&(c=gn[4096]);var b=a&255,d=gn[b];d||b&16&&(d=gn[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[3]=d;this.Bg=a}};
Xm.prototype.vj=function(a){return[this.rd,a-this.ob]};Xm.prototype.mh=function(){return this.A};Xm.prototype.Ug=function(a){if(null!=a&&a!=this.Bg){var b=a&65280,c=gn[b];c||b&4096&&(c=gn[4096]);var b=a&255,d=gn[b];d||b&16&&(d=gn[16]);this.A||(this.A=Array(6));this.A[0]=c;this.A[1]=d;this.Bg=a}};
function kn(a,b){var c=a.mb[b];if(null!=c&&5<=a.Ua){var d=0,e=0,f=0;switch(b){case 6:d=1;a.Ua==hm&&(e=32);break;case 10:5==a.Ua&&(d=32);break;case 16:d=4;a.Ua==hm&&(e=128);break;case 18:d=2;a.Ua==hm&&(e=64);break;case 21:d=8;a.Ua==hm&&(f=32);break;case 24:d=16,a.Ua==hm&&(f=64)}d&&(c|=a.mb[7]&d?256:0,c|=a.mb[7]&e?512:0,c|=a.mb[9]&f?512:0)}return c}var Ym=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];Ym[hm]=["VGA",980,753664,16384,262144,7];var Km=0;
m=Z.prototype;
m.Ic=function(a,b,c,d){this.ga=b;this.F=c;this.ha=d;c=(c=Im[this.ja])&&c[0];3!==c&&(nc(b,this,ln),rc(b,this,mn));1!==c&&(nc(b,this,nn),rc(b,this,on));5<=this.Ua&&(nc(b,this,pn),rc(b,this,qn));this.Ua==hm&&(nc(b,this,rn),rc(b,this,sn));if(d){var e=this;Qk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.rd){var c,d,f,r=!1,q=8,A=8,F=-1,w=b.video.L>>3;for(c=0;c<a.length;c++){var E=a[c];if(c){var H=E.charAt(0);d=ea(E.substr(1),16);switch(H){case "l":q=d;break;case "n":1<=d&&8>=d&&(A=d,r=!0);break;
@ -511,14 +511,14 @@ function Zn(a,b){if(1==b)return a.Ca[0]=Rm[0],a.Ca[1]=Rm[7],a.Ca;if(2==b){var c=
(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function gm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d}
function yn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=Zn(a);null!=a.Jb[0]&&$n(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&($n(a,1,a.Jb[1],d,e,14,a.Uc,Pm,Qm)&&(c=!0),a.Tb&&$n(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function $n(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(ao(a,b,c,d,e,f,g,h,k)&&(l=!0),a.qo&&ao(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l}
function ao(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,r=a.Oa[b],q=16>h.length?h.length:16;r||(r={Qc:e<<n,Rc:f<<n,Pe:Array(q),Xi:h.slice(0,q),Af:k,Yg:Array(q)});for(k=0;k<q;k++){var A=h[k],F=r.Pe[k]?r.Xi[k]:[];if(A[0]!==F[0]||A[1]!==F[1]||A[2]!==F[2]){var l=r,F=k,w=n,E=c,H=d,L=e,W=f,P=g,bb=[0,0,0,0],ia=document.createElement("canvas");ia.width=l.Qc<<4;ia.height=l.Rc<<4;for(var ja=ia.getContext("2d"),Ha=void 0,Xa=void 0,Ba=void 0,Xb=8>W||!H?W:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba=
0;Ba<W;Ba++)for(var Wd=l.Af&&F&1&&Ba>=W-2,Sc=P[Ba<Xb?E+Ha*Xb+Ba:H+Ha*Xb+Ba-Xb],Xd=0;Xd<=w;Xd++)for(Xa=0;Xa<L;Xa++){var Je=Xa<<w,Yd=(Ba<<w)+Xd,Ke=Wd||Sc&128>>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?A:bb;bo(wa,Je,Yd,Ke);w&&bo(wa,Je+1,Yd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+t(A[0],2)+t(A[1],2)+t(A[2],2);l.Xi[F]=A;l.Yg[F]=ia;l=!0}}a.Oa[b]=r;return l}function co(a){0<a.Pa||0<=a.ua?0>a.cb&&(a.cb=0):a.cb=-1}
0;Ba<W;Ba++)for(var Xd=l.Af&&F&1&&Ba>=W-2,Sc=P[Ba<Xb?E+Ha*Xb+Ba:H+Ha*Xb+Ba-Xb],Yd=0;Yd<=w;Yd++)for(Xa=0;Xa<L;Xa++){var Ke=Xa<<w,Zd=(Ba<<w)+Yd,Le=Xd||Sc&128>>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?A:bb;bo(wa,Ke,Zd,Le);w&&bo(wa,Ke+1,Zd,Le)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+t(A[0],2)+t(A[1],2)+t(A[2],2);l.Xi[F]=A;l.Yg[F]=ia;l=!0}}a.Oa[b]=r;return l}function co(a){0<a.Pa||0<=a.ua?0>a.cb&&(a.cb=0):a.cb=-1}
function Yn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)eo(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(eo(a),a.ua=c);d=d-b+1;if(a.lg!=b||a.Ce!=d)a.lg=b,a.Ce=d;a.$a=e+1;co(a)}}}
function eo(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&fo(a,c,d,b,a.gb),fo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}}
function go(a){var b,c=a.C;a.jf=!1;var d=c.Zd[5];if(null!=d){b=1024;var e=0,f=c.Zd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ua==hm&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.Ke[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.jf=!0));b|=e}return b}
function ho(a,b){var c=a.C;return c&&null!=b&&b!=c.Bg?(c.Ug(b),a.ga.Ug(c.ob,c.ac,c.mh(),!0),!0):!1}
function An(a,b){var c,d=a.Ga,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Dd>>2,g=32768<f?32768:f,h=e.Zd[6];if(null!=h){switch(h&12){case 0:e.ob=655360;e.ac=f;d=255;break;case 4:e.ob=655360;e.ac=f;d=3==a.ya?15:16;break;case 8:e.ob=720896;e.ac=g;d=7;break;case 12:e.ob=753664,e.ac=g,d=3==a.ya?2:3}c=80==(e.Zd[5]&80);!c||e.ob==a.ob&&e.ac==a.ac||(b=!0);var f=kn(e,6),g=e.mb[9],k=e.mb[23],l=e.Ke[1]&8;255!=d&&(h&1?655360==e.ob||c||k&1?e.Zd[5]&64?d=g&31?143>=e.mb[18]?19:20:21:g&128||350>f?d=
l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=go(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ga=null,null==d&&(d=a.va);if(!zn(a,d,b))return!1;ho(a,c);return!0}
function zn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Vg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){eo(a);if(a.ob){if(!ec(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Yb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.cg=a.L*a.W|0;a.$f=a.cg/
function zn(a,b,c){if(null!=b&&(b!=a.Ga||c)){a.Vg=0;a.Ga=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){eo(a);if(a.ob){if(!ec(a.ga,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Tb(a.ga,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.je;a.Db=a.L;a.hd=Jm[7][2];b=0;if(c=Jm[a.Ga])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.W=350>kn(a.A,18)?43:50:a.U=a.Ua);a.cg=a.L*a.W|0;a.$f=a.cg/
a.hd|0;a.Ub=a.$f;a.sd=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Da/a.W|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Yf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Yf||(a.Ja=b.Qc,a.Ka=b.Rc));a.kc=a.tc=0;b&&(a.kc=a.L*b.Qc,a.tc=a.W*b.Rc)}else a.Ja=a.Ka=1,a.kc=a.L,a.tc=a.W;a.sb=a.ea.createImageData(a.kc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.kc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.le=a.me=
0;a.Cd=a.ra;a.Fd=a.Da;b=a.ra-a.L*a.Ja;c=a.Da-a.W*a.Ka;0<b&&(a.le=b>>1,a.Cd-=b);0<c&&(a.me=c>>1,a.Fd-=c);if(b||c)a.ea.fillStyle=a.ka.style.backgroundColor,a.ea.fillRect(0,0,a.ra,a.Da)}}io(a,!0);un(a)}return!0}function bo(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function jo(a){a.Pa=-1;a.Fa=!1;var b=a.$f;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function io(a,b){b||(a.rb=!1);jo(a)}
function fo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.Af&&(d=h.Af[d]);var k=g>>4&15;h.Af&&(k=h.Af[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Pe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.le,c=c*a.Ka+a.me,a.ea.fillStyle=h.Pe[k],a.ea.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Yg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ea.drawImage(h.Yg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.lg,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Pe[d],
@ -707,7 +707,7 @@ function fr(a,b,c,d){var e,f=c?a.aa:a.sb;c=d?0:f.type;var g=f.Ra,h=f.Z,f=f.Ea;if
k)return e;0>f?null!=h?(g=lq(a,b,void 0),f=null):(f=lq(a,b,void 0),null==f&&(g=null)):(h=lq(a,b.substring(0,f),void 0),g=lq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=rq(a,g,h,f,c),d||er(a,e,!0)||(a.O("invalid offset: "+Zq(e)),e=null));return e}function gr(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.kl=a.Mg(b.Rk=c[2]))}m.Ok=function(a,b){var c=fr(this,b);return a.replace("["+b+"]",c?t(this.tb(c),c.Rb?8:4):"undefined")};
function ar(a,b,c){c=c||1;null!=b.Ea&&(b.Ea+=c);null!=b.Z&&(b.Ra+=c,er(a,b)||(b.Ra=0,b.Ea=null))}function Pq(a,b,c){return null!=b?t(b,4)+":"+t(a,a&-65536||c?8:4):t(a)}function Zq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+t(a.Ea):b+Pq(a.Ra,a.Z,a.oc)}
function Qq(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Qa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function Lq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.bc(fr(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Kc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=ac[c],6==c&&(d=d.Bd,h+=" -> "+ac[d.type]),d&&a.O(t(d.id,8)+" %"+t(f<<a.F.La,8)+" %%"+t(d.Ea,8)+" "+v(d.Oe)+" "+v(d.size)+" "+
function Lq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.bc(fr(a,c));if(-1===e){a.O("invalid address: "+c);return}f=e>>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Kc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=Wb[c],6==c&&(d=d.Bd,h+=" -> "+Wb[d.type]),d&&a.O(t(d.id,8)+" %"+t(f<<a.F.La,8)+" %%"+t(d.Ea,8)+" "+v(d.Oe)+" "+v(d.size)+" "+
h),c!=Bc&&5!=c&&(c=-1),h=0),e+=a.F.Sb,f++}function hr(a,b,c){a=t(a)+" "+t(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
var Nq={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},Rq={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,
TASK_LDT:42},Sq={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};
@ -727,7 +727,7 @@ m.save=function(){var a=new mf(this);O(a,0,cr(this.aa));O(a,1,cr(this.ua));O(a,2
m.stop=function(a,b){if(this.la.Ib){this.la.Ib=!1;this.ea=b-this.vd;if(!this.U){var c="stopped";if(this.ea){var d=a-this.tc,e=0<d?Math.round(1E3*this.ea/d):0,c=c+" (";Xf(this)&&(c+=this.pa+" opcodes, ",this.Ca-=this.pa,this.pa=0);c+=this.ea+" cycles, "+d+" ms, "+e+" hz)"}else B(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.O(c)}this.pd(!0);this.wd();nr(this,this.F.Ha)}};function Xf(a){return 1<a.B.length||!!a.Oa||B(a,16)}
function $f(a,b,c){var d=a.F;if(0<c&&(a.Oa&&!--a.Oa||or(a,b,1,a.B)))return!0;0<=c&&a.W.length&&(a.pa++,b=Mf(d,b),null!=b&&(a.W[b][1]++,br(a,a.ia[a.Fa],M(d),d.wa.Z),++a.Fa==a.ia.length&&(a.Fa=0)));return!1}function Hc(a,b,c){return or(a,b,c||1,a.ra)?(a.Wb(!0),!0):!1}function Jc(a,b,c){return or(a,b,c||1,a.fa)?(a.Wb(!0),!0):!1}function pc(a,b,c){a.O("break on input from port "+v(b)+": "+t(c));a.Wb(!0)}function xc(a,b,c){a.O("break on output to port "+v(b)+": "+t(c));a.Wb(!0)}
function sq(a){var b,c;a.B=["bp"];if(void 0!==a.ra)for(b=1;b<a.ra.length;b++)c=a.ra[b],ue(a.F,a.bc(c),!1,5==c.type);a.ra=["br"];if(void 0!==a.fa)for(b=1;b<a.fa.length;b++)c=a.fa[b],ue(a.F,a.bc(c),!0,5==c.type);a.fa=["bw"];a.fb=0}
m.Rd=function(a,b,c){var d=!0;c||Yq(this,a,b,!1,!0);if(a!=this.B){var e=this.bc(b);if(-1===e)this.O("invalid address: "+Zq(b)),d=!1;else{var f=this.F,g=5==b.type;(g?f.kd:f.sa)[e>>>f.La].Rd(e&f.Fa,a==this.fa);g&&$b(f)}}d&&(a.push(b),c?(null!=b.Ea&&(b.Z=null),b.Vd=!0):(pr(this,a,a.length-1,"set"),tq(this)));return d};
m.Rd=function(a,b,c){var d=!0;c||Yq(this,a,b,!1,!0);if(a!=this.B){var e=this.bc(b);if(-1===e)this.O("invalid address: "+Zq(b)),d=!1;else{var f=this.F,g=5==b.type;(g?f.kd:f.sa)[e>>>f.La].Rd(e&f.Fa,a==this.fa);g&&Vb(f)}}d&&(a.push(b),c?(null!=b.Ea&&(b.Z=null),b.Vd=!0):(pr(this,a,a.length-1,"set"),tq(this)));return d};
function Yq(a,b,c,d,e){for(var f=!1,g=qr(a,a.bc(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==qr(a,a.bc(k))||-1===g&&c.Z==k.Z&&c.Ra==k.Ra)if(!d||k.Vd){f=!0;k.Vd||e||pr(a,b,h,"cleared");b.splice(h,1);b!=a.B&&ue(a.F,g,b==a.fa,5==k.type);k.Vd||tq(a);break}}return f}function rr(a,b){for(var c=1;c<b.length;c++)pr(a,b,c);return b.length-1}function pr(a,b,c,d){c=b[c];a.O(b[0]+" "+Zq(c)+(d?" "+d:c.Rk?' "'+c.Rk+'"':""))}
function nr(a,b){if(void 0!==b)or(a,b,1,a.B,!0),a.U=0;else for(var c=1;c<a.B.length;c++){var d=a.B[c];if(d.Vd){if(!Yq(a,a.B,d,!0))break;c=0}}}function qr(a,b){if(-1!==b){var c=a.Ba&-65536;(b&c)==c&&(b&=1048575)}return b}
function or(a,b,c,d,e){var f=!1;if(!a.fb++){b=qr(a,b);B(a,-2147483632)&&204==Mf(a.F,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Vd){null!=h.Z&&(h.Ea=null);for(var k=qr(a,a.bc(h)),l=0;l<c;l++)if(b+l==k){var n,f=!0;h.Vd&&(Yq(a,d,h,!0),e=!0);if(n=h.kl){for(var f=!1,r=0;r<n.length;r++)if(!sr(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var q=r+1;q<n.length&&n[q].indexOf("else");q++)r++;if(q==n.length){f=!0;break}}a.F.la.Ib||(f=!0)}if(f){e||pr(a,d,g,"hit");break}}}}}a.fb--;return f}
@ -765,23 +765,23 @@ fr(a,g[1],!0);if(r)if(a.ua=r,void 0===g[2])a.O("begin assemble at "+Zq(r)),a.va=
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+rr(a,a.B),L=L+rr(a,a.ra);(L+=rr(a,a.fa))||a.O("no breakpoints")}else if("n"==H)a.Oa=nq(a,w),a.O("break after "+a.Oa+" instruction(s)");else if(void 0===w)a.O("missing breakpoint address");else{var W={};if("*"!=w&&(W=fr(a,w,!0,!0),!W))break a;w=null==W.Ra?w:v(W.Ra);"c"==H?null==W.Ra?(sq(a),a.O("all breakpoints cleared")):Yq(a,
a.B,W)||Yq(a,a.ra,W)||Yq(a,a.fa,W)||a.O("breakpoint missing: "+Zq(W)):"i"==H?a.O("breakpoint "+(mc(a.ga,W.Ra)?"enabled":"cleared")+": port "+w+" (input)"):"o"==H?a.O("breakpoint "+(qc(a.ga,W.Ra)?"enabled":"cleared")+": port "+w+" (output)"):null!=W.Ra&&(gr(a,W,E),"p"==H?a.Rd(a.B,W):"r"==H?a.Rd(a.ra,W):"w"==H?a.Rd(a.fa,W):a.O("unknown breakpoint command: "+H))}}}break;case "c":Dr(a);break;case "d":a:{var P=g,bb,ia=P[0],ja=P[1],Ha=P[2],Xa=P[3];if("?"==ja){var Ba="";for(bb in Db)a.$a[bb]&&(Ba&&(Ba+=
","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Xb=Lr(a.X,!0);"console"==Ha?console.log(Xb):(Dr(a),
a.O(Xb))}else if("symbols"==ja)for(var wa=0;wa<a.N.length;wa++){var Wd=a.N[wa],Sc;for(Sc in Wd.Qd)if("."!=Sc.charAt(0)){var Xd=Wd.Qd[Sc],Je=Xd.o;if(void 0!==Je){var Yd=Xd.s;void 0===Yd&&(Yd=Wd.Z);var Ke=Wd.Qd[Sc].l;Ke&&(Sc=Ke);a.O(Pq(Je,Yd)+" "+Sc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ki=P[0];if(ki){var Ue=a.bc(fr(a,ki));if(-1===Ue)a.O("invalid address: "+ki);else{var be,Da=null;if(80386<=a.F.ja){var ce=
a.ga,Da={};Da.Ik=(Ue&-4194304)>>>20;Da.Zi=a.F.Od+Da.Ik;Da.yb=ce.sa[(Da.Zi&ce.Gb)>>>ce.La];Da.zj=Da.yb.Md(Da.Ik);Da.Jk=(Ue&4190208)>>>10;Da.$i=(Da.zj&-4096)+Da.Jk;Da.zb=ce.sa[(Da.$i&ce.Gb)>>>ce.La];Da.Aj=Da.zb.Md(Da.Jk);Da.ml=(Da.Aj&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+t(Ue),qd=qd+(" %%"+hr(be.Zi,be.zj)),qd=qd+(" %%"+hr(be.$i,be.Aj,!0)),
qd=qd+(" %%"+t(be.ml));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Hr(a,P);break a}for(bb in Db)if(P[1]==bb){var Bn=a.$a[bb];Bn?(P.shift(),P.shift(),Bn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Cn=ja,Dn=Ha,En="",Fn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+Cn||a.Jb,de=+Dn||10;isNaN(Eb)?Eb=de:En="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length);
tb-=Eb;0>tb&&(null==tc[tc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=tc.length);var li=[];"call"==Dn&&(de=1E5,li=["CALL"]);for(void 0!==Cn&&a.O(Eb+" instructions earlier:");0<de&&tb!=a.Fa;){var rd=tc[tb++];if(null==rd.Z)break;var Ve=rq(a,rd.Ra,rd.Z,rd.Ea,rd.type,rd.Rb,rd.oc),es=Eb--,Gn=tr(a,Ve,"history",es);(!li.length||0<=Gn.indexOf(li[0]))&&a.O(Gn);Ve.Ue&&(tb+=Ve.Ue,de-=Ve.Ue,Eb-=Ve.Ue);tb>=tc.length&&(tb=0);a.Jb=Eb;Fn++;de--}}Fn||(a.O("no "+En+"history available"),a.Jb=void 0)}else if("di"==ia){P.shift();
var mi=P[0];if(mi){var We=nq(a,mi);if(void 0===We||0>We||255<We)a.O("invalid vector: "+mi);else{var Hn="&",In=!!(a.F.Za&1),Jn=!1,qg=a.F.Mc+(We<<(In?3:2)),ni=a.F.na(qg+0),fs=a.F.na(qg+2);In&&(Hn="#",a.F.na(qg+4)&2048&&(Jn=!0,ni|=a.F.na(qg+6)<<16));a.O("dumpIDT("+v(We)+"): "+Hn+t(fs,4)+":"+t(ni,Jn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=fr(a,ja);if(ee&&(null!=ee.Z||null!=ee.Ea)){var rg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),rg=nq(a,Ha)>>>
0,65536<rg&&(rg=65536));for(var sd="",sg="dd"==ia?4:"dw"==ia?2:1,tg=sg*rg||128,gs=tg+15>>4||1;gs--&&0<tg;){var ug=0,oi=0,Xe,Ye="",pi="",ja=Zq(ee);for(Xe=16;0<Xe&&0<tg;Xe--){var vg=a.Qa(ee,1),ug=ug|vg<<(oi++<<3);oi==sg&&(Ye+=t(ug,2*sg),Ye+=1==sg?9==Xe?"-":" ":" ",ug=oi=0);pi+=32<=vg&&128>vg?String.fromCharCode(vg):".";tg--}sd&&(sd+="\n");sd+=ja+" "+Ye+(0==Xe?" "+pi:"")}sd&&a.O(sd);a.sb=ee}}}}}break;case "e":if("else"==g[0])break;var wg=1,Kn=255,Ln=a.Qa,Mn=a.qc;"ew"==g[0]&&(wg=2,Kn=65535,Ln=a.na,
Mn=a.jb);var Nn=wg<<1,On=g[1];if(null==On)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var xg=fr(a,On);if(xg)for(var yg=2;yg<g.length;yg++){var Ze=lq(a,g[yg]);if(void 0===Ze){a.O("unrecognized value: "+g[yg]);break}Ze&~Kn&&a.O("warning: "+t(Ze)+" exceeds "+wg+"-byte value");var hs=Ln.call(a,xg);a.O("changing "+Zq(xg)+" from "+t(hs,Nn,!0)+" to "+t(Ze,Nn,!0));Mn.call(a,xg,Ze,wg)}}break;case "f":Er(a,g[1]);break;case "g":a:{var Pn=
g[1],is=b;"gt"==g[0]&&(a.cb=!0);if(void 0!==Pn){var qi=fr(a,Pn,!0);if(!qi)break a;gr(a,qi,is);a.Rd(a.B,qi,!0)}a.Le(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ri;if(a.la.Ib)ri="halting",a.Wb();else{if(vb(a,!0))break a;ri="already halted"}c||a.O(ri)}break;case "i":if("if"==g[0]){var si;var $e=b.substr(2),$e=pa($e);lq(a,$e)?(c||a.O("true: "+$e),si=!0):(c||a.O("false: "+$e),si=!1);si||(d=!1);break}if("int"==g[0]){var zg;a:switch(nq(a,g[1])){case 19:ok(a,19,a.F.Ha,
!0);a.Ca=a.pa;zg=!0;break a;case 33:ok(a,33,a.F.Ha,!0);a.Ca=a.pa;zg=!0;break a;default:zg=!1}zg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=nq(a,ti);if(void 0!==ui){var js=oc(a.ga,ui,1);a.O(v(ui)+": "+u(js))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ks=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var vi=0,Qn=a.F.wa.Z,af=rq(a),
Vc=rq(a,J(a.F),a.F.ta.Z);for(a.O("stack trace for "+Zq(Vc));10>vi;){for(var uc=null,ls=256;Vc.Ra>>>0<a.F.Rg>>>0;){af.Ra=a.tb(Vc,!0);if(null==Vc.Ea||!ls--)break;af.Z=Qn;if(uc=Jr(a,af))break;af.Z=a.tb(Vc);if(uc=Jr(a,af,!0)){Qn=a.tb(Vc,!0);0<uc.indexOf("INT")&&a.tb(Vc,!0);break}}if(!uc||null==uc)break;var Rn=null;if("ks"==ks){var Sn=uc.match(/[0-9A-F]+$/);Sn&&(Rn=Gr(a,Sn[0]))}uc=oa(uc,50)+" ;"+(Rn||"stack="+Zq(Vc));a.O(uc);vi++}vi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Gr(a,
a.O(Xb))}else if("symbols"==ja)for(var wa=0;wa<a.N.length;wa++){var Xd=a.N[wa],Sc;for(Sc in Xd.Qd)if("."!=Sc.charAt(0)){var Yd=Xd.Qd[Sc],Ke=Yd.o;if(void 0!==Ke){var Zd=Yd.s;void 0===Zd&&(Zd=Xd.Z);var Le=Xd.Qd[Sc].l;Le&&(Sc=Le);a.O(Pq(Ke,Zd)+" "+Sc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ki=P[0];if(ki){var Ve=a.bc(fr(a,ki));if(-1===Ve)a.O("invalid address: "+ki);else{var ce,Da=null;if(80386<=a.F.ja){var de=
a.ga,Da={};Da.Ik=(Ve&-4194304)>>>20;Da.Zi=a.F.Od+Da.Ik;Da.yb=de.sa[(Da.Zi&de.Gb)>>>de.La];Da.zj=Da.yb.Md(Da.Ik);Da.Jk=(Ve&4190208)>>>10;Da.$i=(Da.zj&-4096)+Da.Jk;Da.zb=de.sa[(Da.$i&de.Gb)>>>de.La];Da.Aj=Da.zb.Md(Da.Jk);Da.ml=(Da.Aj&-4096)+(Ve&4095)}if(ce=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+t(Ve),qd=qd+(" %%"+hr(ce.Zi,ce.zj)),qd=qd+(" %%"+hr(ce.$i,ce.Aj,!0)),
qd=qd+(" %%"+t(ce.ml));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Hr(a,P);break a}for(bb in Db)if(P[1]==bb){var Bn=a.$a[bb];Bn?(P.shift(),P.shift(),Bn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Cn=ja,Dn=Ha,En="",Fn=0,tb=a.Fa,tc=a.ia;if(tc.length){var Eb=+Cn||a.Jb,ee=+Dn||10;isNaN(Eb)?Eb=ee:En="more ";Eb>tc.length&&(a.O("note: only "+tc.length+" available"),Eb=tc.length);
tb-=Eb;0>tb&&(null==tc[tc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=tc.length);var li=[];"call"==Dn&&(ee=1E5,li=["CALL"]);for(void 0!==Cn&&a.O(Eb+" instructions earlier:");0<ee&&tb!=a.Fa;){var rd=tc[tb++];if(null==rd.Z)break;var We=rq(a,rd.Ra,rd.Z,rd.Ea,rd.type,rd.Rb,rd.oc),es=Eb--,Gn=tr(a,We,"history",es);(!li.length||0<=Gn.indexOf(li[0]))&&a.O(Gn);We.Ue&&(tb+=We.Ue,ee-=We.Ue,Eb-=We.Ue);tb>=tc.length&&(tb=0);a.Jb=Eb;Fn++;ee--}}Fn||(a.O("no "+En+"history available"),a.Jb=void 0)}else if("di"==ia){P.shift();
var mi=P[0];if(mi){var Xe=nq(a,mi);if(void 0===Xe||0>Xe||255<Xe)a.O("invalid vector: "+mi);else{var Hn="&",In=!!(a.F.Za&1),Jn=!1,qg=a.F.Mc+(Xe<<(In?3:2)),ni=a.F.na(qg+0),fs=a.F.na(qg+2);In&&(Hn="#",a.F.na(qg+4)&2048&&(Jn=!0,ni|=a.F.na(qg+6)<<16));a.O("dumpIDT("+v(Xe)+"): "+Hn+t(fs,4)+":"+t(ni,Jn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var fe=fr(a,ja);if(fe&&(null!=fe.Z||null!=fe.Ea)){var rg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),rg=nq(a,Ha)>>>
0,65536<rg&&(rg=65536));for(var sd="",sg="dd"==ia?4:"dw"==ia?2:1,tg=sg*rg||128,gs=tg+15>>4||1;gs--&&0<tg;){var ug=0,oi=0,Ye,Ze="",pi="",ja=Zq(fe);for(Ye=16;0<Ye&&0<tg;Ye--){var vg=a.Qa(fe,1),ug=ug|vg<<(oi++<<3);oi==sg&&(Ze+=t(ug,2*sg),Ze+=1==sg?9==Ye?"-":" ":" ",ug=oi=0);pi+=32<=vg&&128>vg?String.fromCharCode(vg):".";tg--}sd&&(sd+="\n");sd+=ja+" "+Ze+(0==Ye?" "+pi:"")}sd&&a.O(sd);a.sb=fe}}}}}break;case "e":if("else"==g[0])break;var wg=1,Kn=255,Ln=a.Qa,Mn=a.qc;"ew"==g[0]&&(wg=2,Kn=65535,Ln=a.na,
Mn=a.jb);var Nn=wg<<1,On=g[1];if(null==On)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var xg=fr(a,On);if(xg)for(var yg=2;yg<g.length;yg++){var $e=lq(a,g[yg]);if(void 0===$e){a.O("unrecognized value: "+g[yg]);break}$e&~Kn&&a.O("warning: "+t($e)+" exceeds "+wg+"-byte value");var hs=Ln.call(a,xg);a.O("changing "+Zq(xg)+" from "+t(hs,Nn,!0)+" to "+t($e,Nn,!0));Mn.call(a,xg,$e,wg)}}break;case "f":Er(a,g[1]);break;case "g":a:{var Pn=
g[1],is=b;"gt"==g[0]&&(a.cb=!0);if(void 0!==Pn){var qi=fr(a,Pn,!0);if(!qi)break a;gr(a,qi,is);a.Rd(a.B,qi,!0)}a.Le(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ri;if(a.la.Ib)ri="halting",a.Wb();else{if(vb(a,!0))break a;ri="already halted"}c||a.O(ri)}break;case "i":if("if"==g[0]){var si;var af=b.substr(2),af=pa(af);lq(a,af)?(c||a.O("true: "+af),si=!0):(c||a.O("false: "+af),si=!1);si||(d=!1);break}if("int"==g[0]){var zg;a:switch(nq(a,g[1])){case 19:ok(a,19,a.F.Ha,
!0);a.Ca=a.pa;zg=!0;break a;case 33:ok(a,33,a.F.Ha,!0);a.Ca=a.pa;zg=!0;break a;default:zg=!1}zg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=nq(a,ti);if(void 0!==ui){var js=oc(a.ga,ui,1);a.O(v(ui)+": "+u(js))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ks=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var vi=0,Qn=a.F.wa.Z,bf=rq(a),
Vc=rq(a,J(a.F),a.F.ta.Z);for(a.O("stack trace for "+Zq(Vc));10>vi;){for(var uc=null,ls=256;Vc.Ra>>>0<a.F.Rg>>>0;){bf.Ra=a.tb(Vc,!0);if(null==Vc.Ea||!ls--)break;bf.Z=Qn;if(uc=Jr(a,bf))break;bf.Z=a.tb(Vc);if(uc=Jr(a,bf,!0)){Qn=a.tb(Vc,!0);0<uc.indexOf("INT")&&a.tb(Vc,!0);break}}if(!uc||null==uc)break;var Rn=null;if("ks"==ks){var Sn=uc.match(/[0-9A-F]+$/);Sn&&(Rn=Gr(a,Sn[0]))}uc=oa(uc,50)+" ;"+(Rn||"stack="+Zq(Vc));a.O(uc);vi++}vi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Gr(a,
g[1],!0);break}Hr(a,g);break;case "m":if("mouse"==g[0]){var wi=g[1],Ag=g[2];if(a.V){var Tn=1;"-"==Ag.charAt(0)&&(Tn=-1,Ag=Ag.substr(1));var td=nq(a,Ag,wi);if(void 0!==td)switch(td=td*Tn|0,wi){case "x":a.V.Jf(td,0);break;case "y":a.V.Jf(0,td);break;case "click":a.V.he(td,!0);a.V.he(td,!1);break;default:a.O("unknown action: "+wi)}}else a.O("no mouse");break}a:{var vc,wc=null,Oa=g[1];"?"==Oa&&(Oa=void 0);if(void 0!==Oa){var ud=0;if("all"==Oa)ud=1610481663,Oa=null;else if("on"==Oa)wc=!0,Oa=null;else if("off"==
Oa)wc=!1,Oa=null;else{"keys"==Oa&&(Oa="key");"kbd"==Oa&&(Oa="keyboard");for(vc in Db)if(Oa==vc){ud=Db[vc];wc=!!(a.wc&ud);break}if(!ud){a.O("unknown message category: "+Oa);break a}}ud&&("on"==g[2]?(a.wc|=ud,wc=!0):"off"==g[2]&&(a.wc&=~ud,wc=!1))}var ms=0,Wc="";for(vc in Db)if(!Oa||Oa==vc){var ns=!!(a.wc&Db[vc]);if(null===wc||wc==ns)Wc&&(Wc+=","),++ms%10||(Wc+="\n\t"),"key"==vc&&(vc="keys"),Wc+=vc}void 0===Oa&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==wc?
wc?"messages on: ":"messages off: ":"message categories:\n\t")+(Wc||"none"));tq(a)}break;case "o":var xi=g[1],os=g[2];if(xi&&"?"!=xi){var yi=nq(a,xi,"port #"),zi=nq(a,os);void 0!==yi&&void 0!==zi&&(sc(a.ga,yi,1,zi),a.O(v(yi)+": "+u(zi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Ir(a,b.substr(5));break}var Un="pr"==g[0]?1:0,fe=1+Un;if(a.U)a.O("step in progress");else{var Bg,
Vn=!1,lb=rq(a,M(a.F),a.F.wa.Z);do switch(Bg=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:ar(a,lb,1);Bg=!0;break;case 204:case 206:a.U=fe;ar(a,lb,1);break;case 205:case 224:case 225:case 226:a.U=fe;ar(a,lb,lb.Rb?4:2);break;case 232:a.U=fe;ar(a,lb,lb.Rb?5:3);break;case 154:a.U=fe;ar(a,lb,lb.Rb?7:5);break;case 255:var Wn=a.tb(lb)&14591;if(4351==Wn||6399==Wn)a.U=fe,tr(a,lb);break;case 243:case 242:ar(a,lb,1);Vn=Bg=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Vn&&
(a.U=fe,ar(a,lb,1))}while(Bg);a.U?(a.Rd(a.B,lb,!0),a.Le()||(a.X&&a.X.wd(),a.U=0)):Kr(a,Un?"tr":"t")}break;case "r":if("reset"==b){a.X&&a.X.reset();break}lr(a,g);break;case "t":Kr(a,g[0],g[1]);break;case "u":mr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Fr(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.30.0 ("+a.F.ja+",RELEASE,NOPREFETCH"+(zb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Ca());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var bf;void 0!==g[3]&&(bf=+g[3]);switch(g[2]){case "int":a.F.Y.kf=
bf;break;case "start":a.F.Y.Lf=bf;break;case "stop":a.F.Y.mf=bf;break;default:a.O("unknown cs option");break a}void 0!==bf&&Xc(a.F);a.O("checksums "+(a.F.la.Ye?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ad(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.Fe.toFixed(2)+"Mhz")+" ("+a.F.Y.Wd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Ir(a,b.substr(1));break}var cf="commands:",Ai;for(Ai in yq)cf+="\n"+oa(Ai,7)+yq[Ai];Xf(a)||(cf+="\nnote: frequency/history disabled if no exec breakpoints");a.O(cf);break;default:a.O("unknown command: "+b),d=!1}}}catch(Xn){a.O("debugger error: "+(Xn.stack||Xn.message)),d=!1}return d}function vq(a,b,c){b=a.Mg(b,c);for(var d in b)if(!sr(a,b[+d]))return!1;return!0}
wc?"messages on: ":"messages off: ":"message categories:\n\t")+(Wc||"none"));tq(a)}break;case "o":var xi=g[1],os=g[2];if(xi&&"?"!=xi){var yi=nq(a,xi,"port #"),zi=nq(a,os);void 0!==yi&&void 0!==zi&&(sc(a.ga,yi,1,zi),a.O(v(yi)+": "+u(zi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Ir(a,b.substr(5));break}var Un="pr"==g[0]?1:0,ge=1+Un;if(a.U)a.O("step in progress");else{var Bg,
Vn=!1,lb=rq(a,M(a.F),a.F.wa.Z);do switch(Bg=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:ar(a,lb,1);Bg=!0;break;case 204:case 206:a.U=ge;ar(a,lb,1);break;case 205:case 224:case 225:case 226:a.U=ge;ar(a,lb,lb.Rb?4:2);break;case 232:a.U=ge;ar(a,lb,lb.Rb?5:3);break;case 154:a.U=ge;ar(a,lb,lb.Rb?7:5);break;case 255:var Wn=a.tb(lb)&14591;if(4351==Wn||6399==Wn)a.U=ge,tr(a,lb);break;case 243:case 242:ar(a,lb,1);Vn=Bg=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Vn&&
(a.U=ge,ar(a,lb,1))}while(Bg);a.U?(a.Rd(a.B,lb,!0),a.Le()||(a.X&&a.X.wd(),a.U=0)):Kr(a,Un?"tr":"t")}break;case "r":if("reset"==b){a.X&&a.X.reset();break}lr(a,g);break;case "t":Kr(a,g[0],g[1]);break;case "u":mr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Fr(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.30.0 ("+a.F.ja+",RELEASE,NOPREFETCH"+(zb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(Ca());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var cf;void 0!==g[3]&&(cf=+g[3]);switch(g[2]){case "int":a.F.Y.kf=
cf;break;case "start":a.F.Y.Lf=cf;break;case "stop":a.F.Y.mf=cf;break;default:a.O("unknown cs option");break a}void 0!==cf&&Xc(a.F);a.O("checksums "+(a.F.la.Ye?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ad(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.Fe.toFixed(2)+"Mhz")+" ("+a.F.Y.Wd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Ir(a,b.substr(1));break}var df="commands:",Ai;for(Ai in yq)df+="\n"+oa(Ai,7)+yq[Ai];Xf(a)||(df+="\nnote: frequency/history disabled if no exec breakpoints");a.O(df);break;default:a.O("unknown command: "+b),d=!1}}}catch(Xn){a.O("debugger error: "+(Xn.stack||Xn.message)),d=!1}return d}function vq(a,b,c){b=a.Mg(b,c);for(var d in b)if(!sr(a,b[+d]))return!1;return!0}
Ua(function(){for(var a=rb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new qq(d);qb(d,c)}});
function Mr(a,b,c){Za.call(this,"Computer",a,Mr,67108864);this.la.hc=!1;Nr(this,b);this.fa=Tc(this,"autoPower",a);this.N=0;this.ra=a.busWidth||a.buswidth;this.A=Or;this.aa=null;this.V=this.pa=!1;this.ua=Tc(this,"url")||"";this.ya=(Math.random()+.1).toString(36).substr(2,12);this.B=Pr(this);if(this.F=nb("CPU",this.id)){this.ha=nb("Debugger",this.id);this.L=[];for(b=null;b=Jb(this,"Video",b);)this.L.push(b);this.ga=new Qb({id:this.ce+".bus",busWidth:this.ra},this.F,this.ha);var d,e=kb(this.id);if((this.C=
nb("Panel",this.id))&&this.C.Ff)for(b=0;b<e.length;b++)d=e[b],d.Na=this.C.Na,d.O=this.C.O,d.Ff=this.C.Ff;this.O("PCx86 v1.30.0\nCopyright \u00a9 2012-2016 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.Ic&&d.Ic(this,this.ga,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.W=d:this.A=parseInt(d,10));var f;if(a=Tc(this,"state")||(f=!0,a.state))b=this.ia=a,f||(this.V=!0,this.A=Or),this.A&&(this.ea=new mf(this,
@ -804,7 +804,7 @@ function Zr(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=as(a,"1.30.0");d.d
function Jb(a,b,c){a=kb(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}m.wd=function(a){if(this.L.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.L[0];d.X&&d.X.focus();a&&window&&window.scrollTo(b,c)}};m.pd=function(a){this.F&&this.F.pd(a);this.C&&this.C.pd(a)};
function gd(a,b){for(var c=0;c<a.L.length;c++)un(a.L[c],b);if(a.C&&(c=a.C,c.Ja)){Nb(c,18,c.aa,c.Ga);if(c.gb){var d=c.ga,e=c.A,f,g;null==f&&(f=0);null==g&&(g=d.W-f|0);null==e&&(e={hh:0,Td:0,Xg:[]});var h=f>>>d.La;f=f+g-1>>>d.La;e.hh=0;for(e.Td=0;h<=f;)g=d.sa[h],e.hh+=g.size,g.size&&(e.Xg.push(va(Mb,h,0,0,g.type)),e.Td++),h++;c.A=e;c.ya=c.A.Td*c.ga.Sb/691200;d=0;c.A.ej=0;c.A.Bf||(c.A.Bf=[]);var e=-1,h=0,k=-1;for(f=0;f<c.A.Td;f++){var l=c.A.Xg[f];g=xa(Mb.type,l);l=xa(Mb.Gk,l);if(g!=e||l!=k+1)(k=f-h)&&
(d+=Pb(c,h,k,e)),e=g,h=f;k=l}d+=Pb(c,h,f-h,e);e=c.A.tl!=d;c.A.tl=d;if(e){e=new Hb(0,0,c.aa.width,c.aa.height);c.A.Qe=[];h=c.A.Td;for(d=0;d<c.A.ej;d++)f=c.A.Bf[d].Td,c.A.Qe.push(Ib(e,f,h,!d)),h-=f;for(d=0;d<c.A.Qe.length;d++)e=c.A.Bf[d],h=f=c.A.Qe[d],g=c.Ga,(k=Cc[e.type])||(k=new Gb),g.strokeStyle="black",g.strokeRect(h.x,h.y,h.ad,h.A),g.fillStyle="string"==typeof k?k:k.toString(),g.fillRect(h.x,h.y,h.ad,h.A),h=c,g=f,h.fa=h.ua,h.W=h.va,f=g.x+(g.ad>>1),k=g.y+(g.A>>1),l=g.A,g.ad<g.A&&(l=g.ad,h.ra=!0,
h.N.save(),h.N.translate(f,k),h.N.rotate(-Math.PI/2),f=k=0),l<h.W&&(h.W=l,h.fa=h.W+"px Monaco, Lucida Console, Courier New"),g=k,h.C=f,h.U=g,h=c,e=ac[e.type]+" ("+(e.Td*c.ga.Sb/1024|0)+"Kb)",h.N.font=h.fa,h.C-=h.N.measureText(e).width>>1,h.U+=(h.W>>1)-2,Ob(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Ob(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}}
h.N.save(),h.N.translate(f,k),h.N.rotate(-Math.PI/2),f=k=0),l<h.W&&(h.W=l,h.fa=h.W+"px Monaco, Lucida Console, Courier New"),g=k,h.C=f,h.U=g,h=c,e=Wb[e.type]+" ("+(e.Td*c.ga.Sb/1024|0)+"Kb)",h.N.font=h.fa,h.C-=h.N.measureText(e).width>>1,h.U+=(h.W>>1)-2,Ob(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Ob(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}}
Ua(function(){for(var a=rb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=ob(c),c=rb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=ob(f),g=new Mr(g,d,!0);qb(g,f);g.fa&&Rr(g,g.bg)}});Pa.show.push(function(){for(var a=rb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=nb("Computer",c.id))&&c.va&&!c.la.hc&&c.bg(-1)}});
Pa.exit.push(function(){for(var a=rb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=nb("Computer",c.id))&&c.la.hc&&Lr(c,!(!c.A||c.W),!0)}});function mf(a,b,c){this.id=a.id;this.key=as(a,b,c);this.ha=a.ha;Wr(this,a.Nk)}function as(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
mf.prototype={constructor:mf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ga()&&(a=Ia(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Wr(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==