More MACRO-10 support

This commit is contained in:
Jeff 2017-03-11 23:30:06 -08:00 committed by Jeff Parsons
commit e2e018af67
8 changed files with 706 additions and 205 deletions

View file

@ -8,5 +8,5 @@
<device id="default" type="default"/>
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
<panel ref="/devices/pdp10/panel/test/debugger/terminal.xml"/>
<debugger id="debugger" base="8" messages="" commands=""/>
<debugger id="debugger" base="8" messages="" commands="a 100 http://archive.pcjs.org/apps/pdp10/tapes/diags/klad/dakadm.mac.html"/>
</machine>

View file

@ -50,8 +50,8 @@ var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[4
"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ce:65,ti:66,ui:67,vi:68,E:69,wi:70,xi:71,yi:72,zi:73,Ai:74,Bi:75,Ci:76,Di:77,Ei:78,Fi:79,Gi:80,Q:81,Hi:82,Ii:83,Ji:84,Ki:85,Li:86,Mi:87,Ni:88,Oi:89,eg:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,de:97,vl:98,xl:99,d:100,e:101,Hl:102,Il:103,Jl:104,Kl:105,an:106,k:107,dn:108,hn:109,n:110,qn:111,p:112,q:113,r:114,No:115,t:116,Qo:117,Ro:118,So:119,x:120,
y:121,z:122,"{":123,"|":124,"}":125,"~":126,Mp:127},ma={};ma[173]=n["-"];ma[186]=n[";"];ma[187]=n["="];ma[189]=n["-"];ma[188]=n[","];ma[190]=n["."];ma[191]=n["/"];ma[192]=n["`"];ma[219]=n["["];ma[220]=n["\\"];ma[221]=n["]"];ma[222]=n["'"];var na={};na[n["1"]]=n["!"];na[n["2"]]=n["@"];na[n["3"]]=n["#"];na[n["4"]]=n.$;na[n["5"]]=n["%"];na[n["6"]]=n["^"];na[n["7"]]=n["&"];na[n["8"]]=n["*"];na[n["9"]]=n["("];na[n["0"]]=n[")"];na[186]=n[":"];na[187]=n["+"];na[188]=n["<"];na[189]=n._;na[190]=n[">"];
na[191]=n["?"];na[192]=n["~"];na[219]=n["{"];na[220]=n["|"];na[221]=n["}"];na[222]=n['"'];na[173]=n._;na[61]=n["+"];na[59]=n[":"];
function oa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):
2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function pa(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}
function oa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d?(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));
var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function pa(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}
function qa(a,b){var c,d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function ra(a,b,c){var d="";if(!b||4<b)b=4;for(var e=0;e<b;e++)d&&(d=","+d),d=qa(a&255,8)+d,a>>=8;return(c?"0b":"")+d}function sa(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return pa(a,8,b,c?"0o":"")}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return pa(a,16,b,c?"0x":"")}function r(a){return q(a,2,!0)}function ta(a){return q(a,4,!0)}
function va(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function wa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function xa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function ya(a){return a.replace(/[&<>"']/g,function(a){return Aa[a]})}
function Ba(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
@ -98,7 +98,7 @@ function Zb(a,b,c){var d=$b/null.offsetWidth,e=ac/null.offsetHeight,f=null.getBo
f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.ga)){b=c;if(a.context&&a.N&&a.O){e=dc-ec;f=a.N.width;a.O.fillStyle=fc;a.O.fillRect(0,e,f,ec);gc(a,e+hc,a.N,a.O);a.W=a.ha.width/24|0;if(null==b)ic(a,"Mouse over memory to dump");else for(ic(a,q(b,8,!0),null,0,1),d=1;16>=d;d++){for(var g="",h=1;8>=h;h++){var k;k=a.ka;var m=b++;k=k.aa[(m&k.C)>>>k.A].Zd(m&k.D,m);ic(a,q(k,2),null,1);g+=32<=k&&128>k?String.fromCharCode(k):"."}ic(a,g,null,0,1)}a.context.drawImage(a.N,0,e,f,ec,a.Da,a.Ha,a.va,a.za)}a.ga=c}}}
function jc(a,b,c,d){a.A.kf[a.A.$i++]={Ll:b,Hd:c,type:d};return Ga(cc,b,c,0,d)}function gc(a,b,c,d){var e,f=null.style.color,g=a.ta=10;a.C=g;a.I=b;a.J=a.aa=hc;e||(e=a.Z||a.aa+"px "+kc);a.M=a.Z=e;c&&(a.ha=c);d&&(a.D=d,a.la=f||"white")}function ic(a,b,c,d,e){a.D.font=a.M;a.D.fillStyle=a.la;a.D.fillText(b,a.C,a.I);a.C+=a.W;null!=c&&(16!=a.Ca?b=c.toString():(b=8>a.qa?"0x":"",b+=q(c,a.qa)),a.D.fillText(b,a.C,a.I),a.C+=a.W);d&&(a.C+=a.W*d);e&&(a.C=a.ta,a.I+=(a.J+2)*(e||1))}
function Yb(){for(var a=!1,b=Ab(document,"pcx86","panel"),c=0;c<b.length;c++){var d=b[c],e=wb(d),f=ub(e.id);f||(a=!0,f=new Wb(e));zb(f,d);a&&Jb(f)}}var $b=1280,ac=720,hc=18,kc="Monaco, Lucida Console, Courier New",bc=3*$b>>2,lc=ac,dc=ac,fc="black",ec=ac>>1;ab(Yb);
function mc(a,b,c){nb.call(this,"Bus",a);this.H=b;this.ba=c;this.I=a.busWidth||20;this.O=Math.pow(2,this.I);this.N=this.C=this.O-1|0;this.A=32==this.I||20>=this.I?12:24>=this.I?14:15;this.B=1<<this.A;this.da=this.B>>2;this.D=this.B-1;this.M=this.O/this.B|0;this.W=this.M-1;this.F=[];this.G=[];this.K=this.L=!1;this.Y=[];this.Z=[];a=new x;nc(a,this.ba);this.aa=Array(this.M);for(b=0;b<this.M;b++)this.aa[b]=a;a=this.H;b=this.aa;c=this.A;a.sc=a.aa=b;a.qb=c;a.Ng=1<<a.qb;a.Db=a.Ng-1;a.Wf=b.length;a.df=a.Wf-
function mc(a,b,c){nb.call(this,"Bus",a);this.H=b;this.ba=c;this.I=a.busWidth||20;this.O=Math.pow(2,this.I);this.N=this.C=this.O-1|0;this.A=32==this.I||20>=this.I?12:24>=this.I?14:15;this.B=1<<this.A;this.da=this.B>>2;this.D=this.B-1;this.M=this.O/this.B|0;this.W=this.M-1;this.F=[];this.G=[];this.K=this.L=!1;this.Y=[];this.Z=[];a=new x;nc(a,this.ba);this.aa=Array(this.M);for(b=0;b<this.M;b++)this.aa[b]=a;a=this.H;b=this.aa;c=this.A;a.sc=a.aa=b;a.hb=c;a.Ng=1<<a.hb;a.Db=a.Ng-1;a.Wf=b.length;a.df=a.Wf-
1;a=this.H;a.ef=a.ed=this.C;Jb(this)}ba(mc,nb);l=mc.prototype;l.reset=function(){oc(this,!0)};l.Xb=function(a,b){b||this.reset();return!0};
function pc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.A;0<g&&h<a.aa.length;){var k=a.aa[h],m=h*a.B,p=a.B-(f-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.xa)return k.ve+=k.xa-f,k.xa=f,!0;if(f>=k.xa+k.ve){p=k.size-(f-m);p>g&&(p=g);k.ve=f-k.xa+p;f=m+a.B;g-=p;h++;continue}}return qc(a,sc,f,g)}f=new x(f,p,a.B,d,e);nc(f,a.ba,k);a.aa[h++]=f;f=m+a.B;g-=p}return 0>=g?(tc(a.H),a.H.ea.vb||a.status(Math.floor(c/1024)+"Kb "+vc[d]+" at "+q(b)),!0):qc(a,wc,b,c)}
function oc(a,b){32==a.I?b?a.J&&(xc(a,1048576,1048576,a.J),a.J=null):a.J||(a.J=yc(a,1048576,1048576),xc(a,1048576,1048576,yc(a,0,1048576))):20<a.I&&(b=a.C&-1048577|(b?1048576:0),b!=a.C&&(a.C=b,a.H&&(a=a.H,a.ef=a.ed=b)))}l.Kg=function(a,b,c,d){if(!(a&this.D||!b||b&this.D)){for(var e=a>>>this.A;0<b;){var f=this.aa[e];if(!f.controller)return qc(this,zc,a,b,d);Ac(f,c,!0);b-=this.B;e++}return!0}return qc(this,Bc,a,b)};
@ -117,13 +117,13 @@ l.Gd=function(a,b,c){b?this.ie++||(c&&(this.C=c),id(this,pd,!1)):this.he++||(c&&
l.Uk=function(a,b){return this.Bc(a++,b++)|this.Bc(a,b)<<8};l.Rk=function(a,b){return this.Bc(a++,b++)|this.Bc(a++,b++)<<8|this.Bc(a++,b++)<<16|this.Bc(a,b)<<24};l.pi=function(a,b,c){this.Dc(a++,b&255,c++);this.Dc(a,b>>8,c)};l.oi=function(a,b,c){this.Dc(a++,b&255,c++);this.Dc(a++,b>>8&255,c++);this.Dc(a++,b>>16&255,c++);this.Dc(a,b>>>24,c)};l.xo=function(a){return this.X[a>>2]>>>((a&3)<<3)&255};
l.Jo=function(a){var b=a>>2;a=(a&3)<<3;var c=this.X[b]>>a;return 24>a?c&65535:c&255|(this.X[b+1]&255)<<8};l.Do=function(a){var b=a>>2;a=(a&3)<<3;var c=this.X[b];a&&(c=c>>>a|this.X[b+1]<<32-a);return c};l.Vo=function(a,b){var c=a>>2;a=(a&3)<<3;this.X[c]=this.X[c]&~(255<<a)|b<<a;this.Oa=!0};l.hp=function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.X[c]=this.X[c]&~(65535<<a)|b<<a:(this.X[c]=this.X[c]&16777215|b<<24,c++,this.X[c]=this.X[c]&-256|b>>8);this.Oa=!0};
l.ap=function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<<a;this.X[c]=this.X[c]&~d|b<<a;c++;this.X[c]=this.X[c]&d|b>>>32-a}else this.X[c]=b;this.Oa=!0};l.wo=function(a,b){this.ba&&null!=this.xa&&qd(this.ba,this.xa+a)||this.C&&rd(this.C,b,1,!1);return this.Zd(a,b)};l.Io=function(a,b){this.ba&&null!=this.xa&&qd(this.ba,this.xa+a,2)||this.C&&rd(this.C,b,2,!1);return this.Nf(a,b)};l.Co=function(a,b){this.ba&&null!=this.xa&&qd(this.ba,this.xa+a,4)||this.C&&rd(this.C,b,4,!1);return this.ji(a,b)};
l.Uo=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a)||this.C&&rd(this.C,c,1,!0);this.D?this.cf(0,b,c):this.bf(a,b,c)};l.gp=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a,2)||this.C&&rd(this.C,c,2,!0);this.D?this.cf(0,b,c):this.ri(a,b,c)};l.$o=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a,4)||this.C&&rd(this.C,c,4,!0);this.D?this.cf(0,b,c):this.K(a,b,c)};l.zo=function(a,b){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.F;return this.pd.Bc(a,b)};
l.Lo=function(a,b){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.F;return this.pd.Mf(a,b)};l.Fo=function(a,b){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.F;return this.pd.Nd(a,b)};l.Xo=function(a,b,c){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.J;this.pd.Dc(a,b,c)};l.jp=function(a,b,c){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.J;this.pd.Tf(a,b,c)};l.cp=function(a,b,c){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.J;this.pd.Sf(a,b,c)};
l.Ao=function(a,b){return td(this.C,b,!1).Bc(a,b)};l.Mo=function(a,b){return td(this.C,b,!1).Mf(a,b)};l.Go=function(a,b){return td(this.C,b,!1).Nd(a,b)};l.Yo=function(a,b,c){td(this.C,c,!0).Dc(a,b,c)};l.kp=function(a,b,c){td(this.C,c,!0).Tf(a,b,c)};l.ep=function(a,b,c){td(this.C,c,!0).Sf(a,b,c)};l.vo=function(a){return this.Pa[a]};l.Qk=function(a){return this.Pa[a]};l.yo=function(a){this.lb.X[this.A]|=32;this.mb.X[this.B]|=32;this.Bc=this.Qk;return this.Pa[a]};
l.Ho=function(a){return this.G.getUint16(a,!0)};l.Vk=function(a){return a&1?this.Pa[a]|this.Pa[a+1]<<8:this.Rd[a>>1]};l.Ko=function(a){this.lb.X[this.A]|=32;this.mb.X[this.B]|=32;this.Mf=this.Vk;return a&1?this.Pa[a]|this.Pa[a+1]<<8:this.Rd[a>>1]};l.Bo=function(a){return this.G.getInt32(a,!0)};l.Sk=function(a){return a&3?this.Pa[a]|this.Pa[a+1]<<8|this.Pa[a+2]<<16|this.Pa[a+3]<<24:this.X[a>>2]};
l.Eo=function(a){this.lb.X[this.A]|=32;this.mb.X[this.B]|=32;this.Nd=this.Sk;return a&3?this.Pa[a]|this.Pa[a+1]<<8|this.Pa[a+2]<<16|this.Pa[a+3]<<24:this.X[a>>2]};l.To=function(a,b){this.Pa[a]=b;this.Oa=!0};l.el=function(a,b){this.Pa[a]=b;this.Oa=!0};l.Wo=function(a,b){this.Pa[a]=b;this.lb.X[this.A]|=32;this.mb.X[this.B]|=96;this.Dc=this.el;this.pd.Oa=!0};l.fp=function(a,b){this.G.setUint16(a,b,!0);this.Oa=!0};l.gl=function(a,b){a&1?(this.Pa[a]=b,this.Pa[a+1]=b>>8):this.Rd[a>>1]=b;this.Oa=!0};
l.ip=function(a,b){a&1?(this.Pa[a]=b,this.Pa[a+1]=b>>8):this.Rd[a>>1]=b;this.lb.X[this.A]|=32;this.mb.X[this.B]|=96;this.Tf=this.gl;this.pd.Oa=!0};l.Zo=function(a,b){this.G.setInt32(a,b,!0);this.Oa=!0};l.fl=function(a,b){a&3?(this.Pa[a]=b,this.Pa[a+1]=b>>8,this.Pa[a+2]=b>>16,this.Pa[a+3]=b>>24):this.X[a>>2]=b;this.Oa=!0};
l.bp=function(a,b){a&3?(this.Pa[a]=b,this.Pa[a+1]=b>>8,this.Pa[a+2]=b>>16,this.Pa[a+3]=b>>24):this.X[a>>2]=b;this.lb.X[this.A]|=32;this.mb.X[this.B]|=96;this.Sf=this.fl;this.pd.Oa=!0};function ud(a){Ob&&!Fc&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
l.Uo=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a)||this.C&&rd(this.C,c,1,!0);this.D?this.cf(0,b,c):this.bf(a,b,c)};l.gp=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a,2)||this.C&&rd(this.C,c,2,!0);this.D?this.cf(0,b,c):this.ri(a,b,c)};l.$o=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a,4)||this.C&&rd(this.C,c,4,!0);this.D?this.cf(0,b,c):this.K(a,b,c)};l.zo=function(a,b){this.nb.X[this.A]|=this.F;this.ob.X[this.B]|=this.F;return this.pd.Bc(a,b)};
l.Lo=function(a,b){this.nb.X[this.A]|=this.F;this.ob.X[this.B]|=this.F;return this.pd.Mf(a,b)};l.Fo=function(a,b){this.nb.X[this.A]|=this.F;this.ob.X[this.B]|=this.F;return this.pd.Nd(a,b)};l.Xo=function(a,b,c){this.nb.X[this.A]|=this.F;this.ob.X[this.B]|=this.J;this.pd.Dc(a,b,c)};l.jp=function(a,b,c){this.nb.X[this.A]|=this.F;this.ob.X[this.B]|=this.J;this.pd.Tf(a,b,c)};l.cp=function(a,b,c){this.nb.X[this.A]|=this.F;this.ob.X[this.B]|=this.J;this.pd.Sf(a,b,c)};
l.Ao=function(a,b){return td(this.C,b,!1).Bc(a,b)};l.Mo=function(a,b){return td(this.C,b,!1).Mf(a,b)};l.Go=function(a,b){return td(this.C,b,!1).Nd(a,b)};l.Yo=function(a,b,c){td(this.C,c,!0).Dc(a,b,c)};l.kp=function(a,b,c){td(this.C,c,!0).Tf(a,b,c)};l.ep=function(a,b,c){td(this.C,c,!0).Sf(a,b,c)};l.vo=function(a){return this.Pa[a]};l.Qk=function(a){return this.Pa[a]};l.yo=function(a){this.nb.X[this.A]|=32;this.ob.X[this.B]|=32;this.Bc=this.Qk;return this.Pa[a]};
l.Ho=function(a){return this.G.getUint16(a,!0)};l.Vk=function(a){return a&1?this.Pa[a]|this.Pa[a+1]<<8:this.Rd[a>>1]};l.Ko=function(a){this.nb.X[this.A]|=32;this.ob.X[this.B]|=32;this.Mf=this.Vk;return a&1?this.Pa[a]|this.Pa[a+1]<<8:this.Rd[a>>1]};l.Bo=function(a){return this.G.getInt32(a,!0)};l.Sk=function(a){return a&3?this.Pa[a]|this.Pa[a+1]<<8|this.Pa[a+2]<<16|this.Pa[a+3]<<24:this.X[a>>2]};
l.Eo=function(a){this.nb.X[this.A]|=32;this.ob.X[this.B]|=32;this.Nd=this.Sk;return a&3?this.Pa[a]|this.Pa[a+1]<<8|this.Pa[a+2]<<16|this.Pa[a+3]<<24:this.X[a>>2]};l.To=function(a,b){this.Pa[a]=b;this.Oa=!0};l.el=function(a,b){this.Pa[a]=b;this.Oa=!0};l.Wo=function(a,b){this.Pa[a]=b;this.nb.X[this.A]|=32;this.ob.X[this.B]|=96;this.Dc=this.el;this.pd.Oa=!0};l.fp=function(a,b){this.G.setUint16(a,b,!0);this.Oa=!0};l.gl=function(a,b){a&1?(this.Pa[a]=b,this.Pa[a+1]=b>>8):this.Rd[a>>1]=b;this.Oa=!0};
l.ip=function(a,b){a&1?(this.Pa[a]=b,this.Pa[a+1]=b>>8):this.Rd[a>>1]=b;this.nb.X[this.A]|=32;this.ob.X[this.B]|=96;this.Tf=this.gl;this.pd.Oa=!0};l.Zo=function(a,b){this.G.setInt32(a,b,!0);this.Oa=!0};l.fl=function(a,b){a&3?(this.Pa[a]=b,this.Pa[a+1]=b>>8,this.Pa[a+2]=b>>16,this.Pa[a+3]=b>>24):this.X[a>>2]=b;this.Oa=!0};
l.bp=function(a,b){a&3?(this.Pa[a]=b,this.Pa[a+1]=b>>8,this.Pa[a+2]=b>>16,this.Pa[a+3]=b>>24):this.X[a>>2]=b;this.nb.X[this.A]|=32;this.ob.X[this.B]|=96;this.Sf=this.fl;this.pd.Oa=!0};function ud(a){Ob&&!Fc&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
var bd=0,Ec=2,cd=5,ed=6,vd=["black","blue","green","cyan"],vc="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),ad=0,gd=[],Ic=[x.prototype.xo,x.prototype.Vo,x.prototype.Jo,x.prototype.hp,x.prototype.Do,x.prototype.ap],pd=[x.prototype.wo,x.prototype.Uo,x.prototype.Io,x.prototype.gp,x.prototype.Co,x.prototype.$o],fd=[x.prototype.zo,x.prototype.Xo,x.prototype.Lo,x.prototype.jp,x.prototype.Fo,x.prototype.cp],dd=[x.prototype.Ao,x.prototype.Yo,x.prototype.Mo,x.prototype.kp,x.prototype.Go,x.prototype.ep];
if(Ob)var Hc=[x.prototype.vo,x.prototype.To,x.prototype.Ho,x.prototype.fp,x.prototype.Bo,x.prototype.Zo],Gc=[x.prototype.Qk,x.prototype.el,x.prototype.Vk,x.prototype.gl,x.prototype.Sk,x.prototype.fl],wd=[x.prototype.yo,x.prototype.Wo,x.prototype.Ko,x.prototype.ip,x.prototype.Eo,x.prototype.bp];
function xd(a,b){nb.call(this,"CPU",a,1);b=a.cycles||b;var c=a.multiplier||1;this.T={};this.T.sd=b;this.T.Kd=c;this.T.rg=Math.round(this.T.sd/1E4)/100;this.T.oe=this.T.rg*this.T.Kd;this.ea.vb=!1;this.ea.ni=!1;this.ea.lf=a.autoStart;this.ea.kj=!1;this.ea.He=!1;this.T.uf=this.T.Te=0;this.T.wf=a.csStart;this.T.Se=a.csInterval;this.T.Ue=a.csStop;this.Ql=this.Uf.bind(this);Jb(this)}ba(xd,nb);l=xd.prototype;
@ -138,57 +138,57 @@ l.Uf=function(a){if(Lb(this,!0)){if(!this.ea.vb){Fd(this);this.pa&&this.pa.start
(Ed(d.H,d.O)-e.jd)/d.Ba|0,g=Pd(d,0)-f;e.mode==Qd&&(g-=f);var h=g*d.Ba|0;e.mode==Qd&&(h>>=1);a>h&&(a=h)}var c=a,k=this.W;a=c;if(k.A&&k.A[Rd]&Td){var m=k.Z-Ed(k.H,k.O);0<m&&a>m&&(a=m)}c=a}try{this.Lg(c)}catch(w){if("number"!=typeof w)throw w;}var p=this.zc-this.A;this.md+=p;this.T.zf+=p;Hd(this,0,!0);Dd(this,p);this.T.yf-=p;0>=this.T.yf&&(this.T.yf+=this.T.Fj,this.pa&&Ud(this.pa));this.T.xf-=p;0>=this.T.xf&&(this.T.xf+=this.T.Ej,this.pa&&Nd(this.pa));this.T.Ve-=p;if(0>=this.T.Ve){this.T.Ve+=this.T.sh;
break}}while(this.ea.vb)}catch(w){this.Jb();Cd(this);this.pa&&this.pa.stop(Ka(),Ed(this));Lb(this,!1);Gb(this,w.stack||w.message);return}c=setTimeout;d=this.Ql;this.T.pe=Ka();e=this.T.Dj;this.T.zf&&(e=Math.round(e*this.T.zf/this.T.sh));e-=this.T.pe-this.T.sg;if(f=this.T.pe-this.T.Xd)this.T.Wd=Math.round(this.md/(10*f))/100,864E5<=f&&(this.Dd=0,this.W&&Od(this.W,!0),Fd(this));if(0>e||this.T.Wd<this.T.oe)-1E3>e&&(this.T.Xd-=e),e=0;this.T.th+=this.T.zf;this.T.pe+=e;c(d,e)}else Cd(this),this.pa&&this.pa.stop(Ka(),
Ed(this))};l.Lg=function(){return 0};l.Jb=function(a){Kb(this,!0);this.zc-=this.A;this.A=0;Hd(this,this.md);this.md=0;if(this.ea.vb){this.ea.vb=!1;this.W&&this.W.stop();var b=this.na.run;b&&(b.textContent="Run")}this.ea.complete=a};function Cd(a,b){a.pa&&(Ud(a.pa,b),Nd(a.pa,b))}var Jd=30,Kd=60,Md=2,yd=["power","reset"];
function Vd(a,b,c,d){this.gc=a;this.ba=a.ba;this.id=b;this.$b=c||"";this.U=0;this.Ka=65535;this.Nb=this.Ka+1;this.Ab=this.qc=this.ext=this.jb=this.type=this.ua=0;this.Lb=-1;this.V=this.Jc=2;this.R=this.wa=65535;this.G=this.mh;this.D=this.dj;this.F=this.fj;this.A={U:-1,ua:0,Ka:0,jb:0,type:0,ext:0,Lb:-1};1==this.id&&(this.Jf=0,this.C=null,this.Pe=!1,this.H=Array(32),this.B=[]);Wd(this,!0,d)}function Xd(a,b){a.B.push(b);return[a.B.length,Yd]}l=Vd.prototype;
function Vd(a,b,c,d){this.gc=a;this.ba=a.ba;this.id=b;this.$b=c||"";this.U=0;this.Ka=65535;this.Nb=this.Ka+1;this.Ab=this.qc=this.ext=this.lb=this.type=this.ua=0;this.Lb=-1;this.V=this.Jc=2;this.R=this.wa=65535;this.G=this.mh;this.D=this.dj;this.F=this.fj;this.A={U:-1,ua:0,Ka:0,lb:0,type:0,ext:0,Lb:-1};1==this.id&&(this.Jf=0,this.C=null,this.Pe=!1,this.H=Array(32),this.B=[]);Wd(this,!0,d)}function Xd(a,b){a.B.push(b);return[a.B.length,Yd]}l=Vd.prototype;
l.mh=function(a){this.U=a&65535;return this.ua=this.U<<4};l.qg=function(a,b){var c,d,e=this.gc;a&=65535;a&4?(c=e.Eb.ua,d=c+e.Eb.Ka|0):(c=e.Kb,d=e.Pc);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,Zd(this,c,a,b);this.id<$d&&y.call(e,b&&this.id==ae?10:13,a&65532)}return-1};l.gn=function(a){var b=this.gc;a=b.Pb+(a<<2);var c=b.ja(a);b.O&=-769;return this.load(b.ja(a+2))+c|0};
l.fn=function(a){var b=this.gc;a<<=3;var c=b.Pb+a|0;if(7<=(b.cd-c|0))return this.C=!0,a=Zd(this,c,a),-1!==a&&(a+=this.Jf),a;y.call(b,13,a|2);return-1};l.dj=function(a){return this.ua+a|0};l.fj=function(a){return this.ua+a|0};l.cj=function(a,b){return(a>>>0)+b<=this.Nb?this.ua+a|0:this.kg()};l.zl=function(a,b){return(a>>>0)+b>this.Nb?this.ua+a|0:this.kg()};l.kg=function(){y.call(this.gc,13,0);return-1};l.ej=function(a,b){return(a>>>0)+b<=this.Nb?this.ua+a|0:this.lg()};
l.Al=function(a,b){return(a>>>0)+b>this.Nb?this.ua+a|0:this.lg()};l.lg=function(){y.call(this.gc,13,0);return-1};function be(a,b,c,d,e){a.U=b;a.ua=d;a.Ka=e;a.Nb=(e>>>0)+1;a.jb=c;a.type=c&7936;a.ext=c>>16&192;a.Lb=(b&4?a.gc.Eb.ua:a.gc.Kb)+(b&65528)|0;a.id<ce&&Wd(a,!0)}function de(a,b,c){var d=a.gc,e=d.ja(b+2),f=d.ja(b)|(e&255)<<16,d=d.ja(b+4);a.U=c;a.ua=f;a.Ka=d;a.Nb=(d>>>0)+1;a.jb=e;a.type=e&7936;a.ext=0;a.Lb=b;a.id<ce&&Wd(a,!0)}
function Zd(a,b,c,d){var e=a.gc;if(!d&&c===a.A.U)return a.U=c,a.ua=a.A.ua,a.Ka=a.A.Ka,a.Nb=(a.A.Ka>>>0)+1,a.jb=a.A.jb,a.type=a.A.type,a.ext=a.A.ext,a.Lb=a.A.Lb,a.A.U=-1,Wd(a,!0,!0,!1),a.ua;a.A.U=-1;var f=e.ja(b+0),g=e.ja(b+4),h=g&7936,k=e.ja(b+2)|(g&255)<<16,m=e.ja(b+6),p=c&65528;if(80386<=e.ca){var w=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case ee:var u=a.C;a.Pe=!1;if(u&&c==Yd&&a.B.length){var F=a.B[a.Jf-1];if(F&&!F())return-1}var K=c&3,H=(g&24576)>>13,F=-1,I,T;p||b>=
l.Al=function(a,b){return(a>>>0)+b>this.Nb?this.ua+a|0:this.lg()};l.lg=function(){y.call(this.gc,13,0);return-1};function be(a,b,c,d,e){a.U=b;a.ua=d;a.Ka=e;a.Nb=(e>>>0)+1;a.lb=c;a.type=c&7936;a.ext=c>>16&192;a.Lb=(b&4?a.gc.Eb.ua:a.gc.Kb)+(b&65528)|0;a.id<ce&&Wd(a,!0)}function de(a,b,c){var d=a.gc,e=d.ja(b+2),f=d.ja(b)|(e&255)<<16,d=d.ja(b+4);a.U=c;a.ua=f;a.Ka=d;a.Nb=(d>>>0)+1;a.lb=e;a.type=e&7936;a.ext=0;a.Lb=b;a.id<ce&&Wd(a,!0)}
function Zd(a,b,c,d){var e=a.gc;if(!d&&c===a.A.U)return a.U=c,a.ua=a.A.ua,a.Ka=a.A.Ka,a.Nb=(a.A.Ka>>>0)+1,a.lb=a.A.lb,a.type=a.A.type,a.ext=a.A.ext,a.Lb=a.A.Lb,a.A.U=-1,Wd(a,!0,!0,!1),a.ua;a.A.U=-1;var f=e.ja(b+0),g=e.ja(b+4),h=g&7936,k=e.ja(b+2)|(g&255)<<16,m=e.ja(b+6),p=c&65528;if(80386<=e.ca){var w=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case ee:var u=a.C;a.Pe=!1;if(u&&c==Yd&&a.B.length){var F=a.B[a.Jf-1];if(F&&!F())return-1}var K=c&3,H=(g&24576)>>13,F=-1,I,T;p||b>=
e.Kb&&b<e.Pc&&(h=0);if(6144<=h)null!=d?F=0:!1!==u?(h&1024?H<=a.Ab&&(F=0):K<=a.Ab&&H==a.Ab&&(F=0),F||(c=c&-4|a.Ab&3)):K>=a.Ab&&(K>a.Ab&&(F=fe(e),ge(e,fe(e),!0),he(e,F),a.Pe=!0),F=0);else{if(256==h||2304==h)return ie(a,c,u)?a.ua:-1;if(1024==h)F=2,T=0,K<a.Ab&&(K=a.Ab);else if(3072==h)F=4,T=0,K<a.Ab&&(K=a.Ab);else if(1536==h)F=2,T=148224;else if(3584==h)F=4,T=148224;else if(1792==h)F=2,T=147712;else if(3840==h)F=4,T=147712;else if(1280==h)return ie(a,k&65535,u)?a.ua:-1}0<F&&!(g&32768)&&(F=0);if(0<F&&
(p=a.Ab,I=b==e.Pb+c,K<=H&&(!I||0<=e.Uc||p<=H))){b=k&65535;h&2048&&(f=w|m<<16);m=h=0;d=b&3;if(d<p){if(-1===a.qg(b,!0))return-1;m=e.la.ua;e.la.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.ja(m+c+k);if(!h)return y.call(e,10,h),-1;if(-1===e.Y.qg(h,!0))return-1;m=2==k?e.ja(m+c):e.ia(m+c)}c=e.O;e.O&=~T;c&131072&&je(e,!0,!1);if(-1===a.qg(b,!1))return-1;ke(e,F);a.Jf=f;if(d<p){if(!0!==u)return-1;F=z(e);f=0;for(g&=31;g--;)a.H[f++]=le(e,e.Y,F),F+=2;u=e.Y.U;g=z(e);ge(e,h,!0);he(e,m);c&131072&&(ke(e,4),me(e,
e.Ha.U,4,2),e.Ha.load(0),me(e,e.Ga.U,4,2),e.Ga.load(0),me(e,e.Ca.U,4,2),ne(e,0),me(e,e.oa.U,4,2),oe(e,0));me(e,u,e.V,2);for(pe(e,g);f;)pe(e,a.H[--f]);a.Pe=!0}return a.ua}if(F)return y.call(e,13,c&65532|(I?2:0)),-1;if(!(g&32768))return y.call(e,11,c&65532|(I?2:0)),-1;break;case qe:if(p){if(4096>h||2048==(h&2560))return y.call(e,13,c&65532),-1;if(!(g&32768))return y.call(e,11,c&65532),-1}break;case ae:if(!p||4096>h||512!=(h&2560))return y.call(e,13,c&65532),-1;if(!(g&32768))return y.call(e,12,c&65532),
-1;break;case ce:u=h&-513;if(!p||256!=u&&2304!=u)return y.call(e,13,c&65532),-1;2304==u&&(a.Si=k+e.ja(k+102)|0,a.tl=k+a.Ka|0);break;case $d:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.U=c,a.A.ua=k,a.A.Ka=f,a.A.jb=g,a.A.type=h,a.A.ext=m,a.A.Lb=b):(a.U=c,a.ua=k,a.Ka=f,a.Nb=(f>>>0)+1,a.jb=g,a.type=h,a.ext=m,a.Lb=b,Wd(a,!0,!0,!1));return k}
function ie(a,b,c){var d=a.gc,e=a.Ab,f=d.la.U,g=d.la.ua;if(!c){if(!(d.la.type&512))return y.call(d,13,b&65532),!1;d.fb(d.la.Lb+4,d.la.jb&=-513)}if(-1===d.la.load(b))return!1;var h=d.la.ua;if(!1!==c){if(d.la.type&512)return y.call(d,13,b&65532),!1;d.fb(d.la.Lb+4,d.la.jb|=512)}d.la.type=d.la.type&-513|d.la.jb&512;256==d.la.type||768==d.la.type?(d.fb(g+14,A(d)),d.fb(g+16,re(d)),d.fb(g+18,d.D),d.fb(g+20,d.I),d.fb(g+22,d.L),d.fb(g+24,d.G),d.fb(g+26,z(d)),d.fb(g+28,d.M),d.fb(g+30,d.K),d.fb(g+32,d.J),d.fb(g+
-1;break;case ce:u=h&-513;if(!p||256!=u&&2304!=u)return y.call(e,13,c&65532),-1;2304==u&&(a.Si=k+e.ja(k+102)|0,a.tl=k+a.Ka|0);break;case $d:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.U=c,a.A.ua=k,a.A.Ka=f,a.A.lb=g,a.A.type=h,a.A.ext=m,a.A.Lb=b):(a.U=c,a.ua=k,a.Ka=f,a.Nb=(f>>>0)+1,a.lb=g,a.type=h,a.ext=m,a.Lb=b,Wd(a,!0,!0,!1));return k}
function ie(a,b,c){var d=a.gc,e=a.Ab,f=d.la.U,g=d.la.ua;if(!c){if(!(d.la.type&512))return y.call(d,13,b&65532),!1;d.fb(d.la.Lb+4,d.la.lb&=-513)}if(-1===d.la.load(b))return!1;var h=d.la.ua;if(!1!==c){if(d.la.type&512)return y.call(d,13,b&65532),!1;d.fb(d.la.Lb+4,d.la.lb|=512)}d.la.type=d.la.type&-513|d.la.lb&512;256==d.la.type||768==d.la.type?(d.fb(g+14,A(d)),d.fb(g+16,re(d)),d.fb(g+18,d.D),d.fb(g+20,d.I),d.fb(g+22,d.L),d.fb(g+24,d.G),d.fb(g+26,z(d)),d.fb(g+28,d.M),d.fb(g+30,d.K),d.fb(g+32,d.J),d.fb(g+
34,d.oa.U),d.fb(g+36,d.Z.U),d.fb(g+38,d.Y.U),d.fb(g+40,d.Ca.U),d.Eb.load(d.ja(h+42)),se(d,d.ja(h+16)|(c?16384:0)),d.D=d.ja(h+18),d.I=d.ja(h+20),d.L=d.ja(h+22),d.G=d.ja(h+24),d.M=d.ja(h+28),d.K=d.ja(h+30),d.J=d.ja(h+32),d.oa.load(d.ja(h+34)),d.Ca.load(d.ja(h+40)),te(d,d.ja(h+14),d.ja(h+36)),b=38,g=26,a.Ab<e&&(g=(a.Ab<<2)+2,b=g+2),ge(d,d.ja(h+b),!0),he(d,d.ja(h+g))):(d.ab(g+28,d.Wc),d.ab(g+32,A(d)),d.ab(g+36,re(d)),d.ab(g+40,d.D),d.ab(g+44,d.I),d.ab(g+48,d.L),d.ab(g+52,d.G),d.ab(g+56,z(d)),d.ab(g+60,
d.M),d.ab(g+64,d.K),d.ab(g+68,d.J),d.ab(g+72,d.oa.U),d.ab(g+76,d.Z.U),d.ab(g+80,d.Y.U),d.ab(g+84,d.Ca.U),d.ab(g+88,d.Ga.U),d.ab(g+92,d.Ha.U),ue.call(d,d.ia(h+28)),d.Eb.load(d.ja(h+96)),se(d,d.ia(h+36)|(c?16384:0)),d.D=d.ia(h+40),d.I=d.ia(h+44),d.L=d.ia(h+48),d.G=d.ia(h+52),d.M=d.ia(h+60),d.K=d.ia(h+64),d.J=d.ia(h+68),d.oa.load(d.ja(h+72)),d.Ca.load(d.ja(h+84)),d.Ga.load(d.ja(h+88)),d.Ha.load(d.ja(h+92)),te(d,d.ia(h+32),d.ja(h+76)),b=80,g=56,a.Ab<e&&(g=(a.Ab<<3)+4,b=g+4),ge(d,d.ja(h+b),!0),he(d,d.ia(h+
g)));c&&d.fb(h+0,f);d.qa|=8;return!0}l.save=function(){return[this.U,this.ua,this.Ka,this.jb,this.id,this.$b,this.Ab,this.qc,this.Lb,this.Jc,this.wa,this.V,this.R,this.type,this.Nb]};l.restore=function(a){"number"==typeof a?this.load(a):(this.U=a[0],this.ua=a[1],this.Ka=a[2],this.jb=a[3],this.id=a[4],this.$b=a[5],this.Ab=a[6],this.qc=a[7],this.Lb=a[8],this.Jc=a[9]||2,this.wa=a[10]||65535,this.V=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.jb&7936,this.Nb=a[14]||(this.Ka>>>0)+1)};
g)));c&&d.fb(h+0,f);d.qa|=8;return!0}l.save=function(){return[this.U,this.ua,this.Ka,this.lb,this.id,this.$b,this.Ab,this.qc,this.Lb,this.Jc,this.wa,this.V,this.R,this.type,this.Nb]};l.restore=function(a){"number"==typeof a?this.load(a):(this.U=a[0],this.ua=a[1],this.Ka=a[2],this.lb=a[3],this.id=a[4],this.$b=a[5],this.Ab=a[6],this.qc=a[7],this.Lb=a[8],this.Jc=a[9]||2,this.wa=a[10]||65535,this.V=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.lb&7936,this.Nb=a[14]||(this.Ka>>>0)+1)};
function Wd(a,b,c,d){void 0===c&&(c=!!(a.gc.qa&1));a.Oc=!1;if(c)if(a.load=a.qg,a.Cj=a.fn,a.bc=a.cj,a.cc=a.ej,void 0===d&&(d=!!(a.gc.O&131072)),d)a.load=a.G,a.bc=a.D,a.cc=a.F,a.Ab=a.qc=3,a.V=2,a.R=a.wa=65535,a.Ka=65535,a.Nb=a.Ka+1,a.Jc=a.V,a.Lb=-1,a.Pe=!1;else{if(!(a.U&-4))a.bc=a.kg,a.cc=a.lg;else if(a.type&4096){6144==(a.type&6656)&&(a.bc=a.kg);if(a.type&2048||!(a.type&512))a.cc=a.lg;1024==(a.type&3072)&&(a.bc==a.cj&&(a.bc=a.zl),a.cc==a.ej&&(a.cc=a.Al),a.Oc=!0);b&&a.id<$d&&a.U&-4&&-1!==a.Lb&&(c=a.Lb+
5,d=a.gc.Ia(c),d&1||a.gc.fc(c,d|1))}b&&(a.Ab=a.U&3,a.qc=(a.jb&24576)>>13,80386>a.gc.ca||!(a.ext&64)?(a.V=2,a.R=65535):(a.V=4,a.R=-1),a.Jc=a.V,a.wa=a.R)}else a.load=a.mh,a.Cj=a.gn,a.bc=a.dj,a.cc=a.fj,a.Ab=a.qc=0,a.Lb=-1,a.Pe=!1}var ee=1,qe=2,ae=3,ce=4,$d=6,Yd=1;
5,d=a.gc.Ia(c),d&1||a.gc.fc(c,d|1))}b&&(a.Ab=a.U&3,a.qc=(a.lb&24576)>>13,80386>a.gc.ca||!(a.ext&64)?(a.V=2,a.R=65535):(a.V=4,a.R=-1),a.Jc=a.V,a.wa=a.R)}else a.load=a.mh,a.Cj=a.gn,a.bc=a.dj,a.cc=a.fj,a.Ab=a.qc=0,a.Lb=-1,a.Pe=!1}var ee=1,qe=2,ae=3,ce=4,$d=6,Yd=1;
function ze(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}xd.call(this,a,c);this.ca=b;a=a.stepping;this.we=b+(a?oa(a,16):0);this.Ri=61442;this.Qd=1792;this.si=28672;this.Vf=4;this.Ta=255;this.B=80286<=this.ca?Qb:Pb;this.va=Ae;this.bj=Be;this.ij=Ce;this.nj=De;if(80186<=this.ca&&(this.va=Ae.slice(),this.bj=Be.slice(),this.ij=Ce.slice(),this.Ta=31,this.va[15]=Ee,this.va[96]=Fe,this.va[97]=Ge,this.va[98]=He,this.va[99]=Ee,this.va[100]=Ee,this.va[101]=
Ee,this.va[102]=Ee,this.va[103]=Ee,this.va[104]=Ie,this.va[105]=Je,this.va[106]=Ke,this.va[107]=Le,this.va[108]=Me,this.va[109]=Ne,this.va[110]=Oe,this.va[111]=Pe,this.va[192]=Qe,this.va[193]=Re,this.va[200]=Se,this.va[201]=Te,this.va[241]=Ue,this.bj[7]=Ve,this.ij[7]=Ve,80286<=this.ca)){this.Ri=2;this.Qd|=28672;this.Vf=0;this.va[15]=We;this.Pd=Xe.slice();for(b=0;b<this.Pd.length;b++)this.Pd[b]||(this.Pd[b]=Ye);this.va[84]=Ze;this.va[99]=$e;if(80386<=this.ca){var d;this.si=0;this.Qd|=196608;this.va[100]=
af;this.va[101]=bf;this.va[102]=ff;this.va[103]=gf;for(d in B)this.Pd[+d]=B[+d];80546<=this.we&&80562>=this.we&&(this.Pd[166]=hf,this.Pd[167]=jf)}}this.Yf=[];this.Zf=[];this.ag=0;Ad(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.qb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;kf(this)}ba(ze,xd);function lf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.qb];c?--b.ie||od(b):--b.he||nd(b);d&&tc(a)}
af;this.va[101]=bf;this.va[102]=ff;this.va[103]=gf;for(d in B)this.Pd[+d]=B[+d];80546<=this.we&&80562>=this.we&&(this.Pd[166]=hf,this.Pd[167]=jf)}}this.Yf=[];this.Zf=[];this.ag=0;Ad(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.hb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;kf(this)}ba(ze,xd);function lf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.hb];c?--b.ie||od(b):--b.he||nd(b);d&&tc(a)}
function mf(a){var b;if(a.aa===a.sc){a.aa=Array(a.Wf);a.$f=new x(null,0,0,cd,null,a);nc(a.$f,a.ba);for(b=0;b<a.Wf;b++)a.aa[b]=a.$f;a.ff=new x;a.Zi=Array(sf);a.bg=0}else for(var c=0;c<a.Xf.length;c++){b=a.Xf[c];var d=a.aa[b];a.bg<sf&&(a.Zi[a.bg++]=d);a.aa[b]=a.$f}a.Xf=[]}function tc(a){a.qa&-2147483648&&mf(a)}
function td(a,b,c,d){var e=(b&-4194304)>>>20,f=a.sc[(a.Wc+e&a.ef)>>>a.qb],g=f.Nd(e);if(!(g&1))return d||tf.call(a,b,!1,c),a.ff;if(!(g&4)&&3==a.Ma)return d||tf.call(a,b,!0,c),a.ff;var h=(b&4190208)>>>10,g=a.sc[((g&-4096)+h&a.ef)>>>a.qb],k=g.Nd(h);if(!(k&1))return d||tf.call(a,b,!1,c),a.ff;if(!(k&4)&&3==a.Ma)return d||tf.call(a,b,!0,c),a.ff;c=a.sc[((k&-4096)+(b&4095)&a.ef)>>>a.qb];if(d)return c;d=b>>>a.qb;k=a.aa[d];b&=-4096;var m;0<a.bg?(m=a.Zi[--a.bg],m.ih(b)):m=new x(b,0,0,ed);b=m;b.pd=c;b.lb=f;b.A=
e>>2;b.mb=g;b.B=h>>2;Ob&&Fc&&c.X&&!c.controller&&!c.he&&!c.ie?(b.Pa=c.Pa,b.Rd=c.Rd,b.X=c.X,Ac(b,wd)):(b.F=c?ud(32):0,b.J=c?ud(96):0,Ac(b,fd));nc(b,a.ba,k);a.aa[d]=b;a.Xf.push(d);return b}function uf(a){a.aa!==a.sc&&(a.aa=a.sc,a.$f=null,a.Xf=null,a.ff=null)}l=ze.prototype;l.reset=function(){this.ea.vb&&this.Jb();kf(this);Ad(this);this.ea.error=!1};
function td(a,b,c,d){var e=(b&-4194304)>>>20,f=a.sc[(a.Wc+e&a.ef)>>>a.hb],g=f.Nd(e);if(!(g&1))return d||tf.call(a,b,!1,c),a.ff;if(!(g&4)&&3==a.Ma)return d||tf.call(a,b,!0,c),a.ff;var h=(b&4190208)>>>10,g=a.sc[((g&-4096)+h&a.ef)>>>a.hb],k=g.Nd(h);if(!(k&1))return d||tf.call(a,b,!1,c),a.ff;if(!(k&4)&&3==a.Ma)return d||tf.call(a,b,!0,c),a.ff;c=a.sc[((k&-4096)+(b&4095)&a.ef)>>>a.hb];if(d)return c;d=b>>>a.hb;k=a.aa[d];b&=-4096;var m;0<a.bg?(m=a.Zi[--a.bg],m.ih(b)):m=new x(b,0,0,ed);b=m;b.pd=c;b.nb=f;b.A=
e>>2;b.ob=g;b.B=h>>2;Ob&&Fc&&c.X&&!c.controller&&!c.he&&!c.ie?(b.Pa=c.Pa,b.Rd=c.Rd,b.X=c.X,Ac(b,wd)):(b.F=c?ud(32):0,b.J=c?ud(96):0,Ac(b,fd));nc(b,a.ba,k);a.aa[d]=b;a.Xf.push(d);return b}function uf(a){a.aa!==a.sc&&(a.aa=a.sc,a.$f=null,a.Xf=null,a.ff=null)}l=ze.prototype;l.reset=function(){this.ea.vb&&this.Jb();kf(this);Ad(this);this.ea.error=!1};
function vf(a,b){var c;switch(b){case 0:c=a.D;break;case 1:c=a.I;break;case 2:c=a.L;break;case 3:c=a.G;break;case 4:c=z(a);break;case 5:c=a.M;break;case 6:c=a.K;break;case 7:c=a.J}return c}function wf(a,b,c){switch(b){case 0:a.D=c;break;case 1:a.I=c;break;case 2:a.L=c;break;case 3:a.G=c;break;case 4:he(a,c);break;case 5:a.M=c;break;case 6:a.K=c;break;case 7:a.J=c}}
function kf(a){a.D=0;a.G=0;a.I=0;a.L=0;a.Hc=0;a.M=0;a.K=0;a.J=0;a.vc=!1;a.Ba=a.$a=0;a.bn=[0,0];a.cn=[0,0];a.ya=0;a.sj=0;a.ga=0;a.qa=65520;a.Pb=0;a.cd=1023;a.O=a.lc=0;a.ze=a.hf=a.ye=a.Ae=0;a.Uc=-1;a.Ad=a.Vc=-1;a.Bd=a.ta=-1;a.Z=new Vd(a,ee,"CS");a.Ca=new Vd(a,qe,"DS");a.oa=new Vd(a,qe,"ES");a.Y=new Vd(a,ae,"SS");he(a,0);ge(a,0);if(80386<=a.ca){switch(a.we){case 80562:case 80563:a.L=771;break;case 80578:a.L=772;break;case 80594:a.L=773;break;case 80595:case 80596:a.L=776}a.qa=16;a.Og=0;a.Cd=0;a.Wc=0;
a.Qb=[0,0,0,0,null,null,0,0];a.dg=[null,null,null,null,null,null,0,0];a.Ga=new Vd(a,qe,"FS");a.Ha=new Vd(a,qe,"GS");uf(a)}a.Qg=new Vd(a,0,"NULL");a.Da=a.Ca;a.Rb=a.Y;a.N=a.ha=0;a.C=a.F=-1;a.eb=a.Qg;a.Za=0;if(80286>a.ca)te(a,0,65535);else{a.Kb=0;a.Pc=65535;a.Eb=new Vd(a,5,"LDT",!0);a.la=new Vd(a,ce,"TSS",!0);a.xb=new Vd(a,$d,"VER",!0);te(a,65520,61440);var b,c=A(a);b=a.Z;var d=-65536;80386>b.gc.ca&&(d&=16777215);b=b.ua=d;a.da=b+c|0;a.Pg=(b>>>0)+(a.Z.Ka>>>0)+1}se(a,0);je(a)}
function xf(a){2==a.Jc?(a.Sb=a.ja,a.kc=yf,a.tc=zf,a.kd=Af,2==a.V?(a.ma=Bf,a.za=Cf,a.rb=Df):(a.ma=Ef,a.za=Ff,a.rb=Gf)):(a.Sb=a.ia,a.kc=Hf,a.tc=If,a.kd=Jf,2==a.V?(a.ma=Kf,a.za=Lf,a.rb=Mf):(a.ma=Nf,a.za=Of,a.rb=Pf))}function ke(a,b){a.V!=b&&(a.ha|=1024,a.V=b,a.R=2==b?65535:-1,Qf(a))}function Qf(a){2==a.V?(a.Fb=32768,a.hb=a.ja,a.yb=a.fb,2==a.Jc?(a.ma=Bf,a.za=Cf,a.rb=Df):(a.ma=Kf,a.za=Lf,a.rb=Mf)):(a.Fb=-2147483648,a.hb=a.ia,a.yb=a.ab,2==a.Jc?(a.ma=Ef,a.za=Ff,a.rb=Gf):(a.ma=Nf,a.za=Of,a.rb=Pf))}
function kf(a){a.D=0;a.G=0;a.I=0;a.L=0;a.Hc=0;a.M=0;a.K=0;a.J=0;a.vc=!1;a.Ba=a.Ya=0;a.bn=[0,0];a.cn=[0,0];a.ya=0;a.sj=0;a.ga=0;a.qa=65520;a.Pb=0;a.cd=1023;a.O=a.lc=0;a.ze=a.hf=a.ye=a.Ae=0;a.Uc=-1;a.Ad=a.Vc=-1;a.Bd=a.ta=-1;a.Z=new Vd(a,ee,"CS");a.Ca=new Vd(a,qe,"DS");a.oa=new Vd(a,qe,"ES");a.Y=new Vd(a,ae,"SS");he(a,0);ge(a,0);if(80386<=a.ca){switch(a.we){case 80562:case 80563:a.L=771;break;case 80578:a.L=772;break;case 80594:a.L=773;break;case 80595:case 80596:a.L=776}a.qa=16;a.Og=0;a.Cd=0;a.Wc=0;
a.Qb=[0,0,0,0,null,null,0,0];a.dg=[null,null,null,null,null,null,0,0];a.Ga=new Vd(a,qe,"FS");a.Ha=new Vd(a,qe,"GS");uf(a)}a.Qg=new Vd(a,0,"NULL");a.Da=a.Ca;a.Rb=a.Y;a.N=a.ha=0;a.C=a.F=-1;a.eb=a.Qg;a.Xa=0;if(80286>a.ca)te(a,0,65535);else{a.Kb=0;a.Pc=65535;a.Eb=new Vd(a,5,"LDT",!0);a.la=new Vd(a,ce,"TSS",!0);a.xb=new Vd(a,$d,"VER",!0);te(a,65520,61440);var b,c=A(a);b=a.Z;var d=-65536;80386>b.gc.ca&&(d&=16777215);b=b.ua=d;a.da=b+c|0;a.Pg=(b>>>0)+(a.Z.Ka>>>0)+1}se(a,0);je(a)}
function xf(a){2==a.Jc?(a.Sb=a.ja,a.kc=yf,a.tc=zf,a.kd=Af,2==a.V?(a.ma=Bf,a.za=Cf,a.ib=Df):(a.ma=Ef,a.za=Ff,a.ib=Gf)):(a.Sb=a.ia,a.kc=Hf,a.tc=If,a.kd=Jf,2==a.V?(a.ma=Kf,a.za=Lf,a.ib=Mf):(a.ma=Nf,a.za=Of,a.ib=Pf))}function ke(a,b){a.V!=b&&(a.ha|=1024,a.V=b,a.R=2==b?65535:-1,Qf(a))}function Qf(a){2==a.V?(a.Fb=32768,a.jb=a.ja,a.yb=a.fb,2==a.Jc?(a.ma=Bf,a.za=Cf,a.ib=Df):(a.ma=Kf,a.za=Lf,a.ib=Mf)):(a.Fb=-2147483648,a.jb=a.ia,a.yb=a.ab,2==a.Jc?(a.ma=Ef,a.za=Ff,a.ib=Gf):(a.ma=Nf,a.za=Of,a.ib=Pf))}
function Rf(a){a.Jc=a.Z.Jc;a.wa=a.Z.wa;xf(a);a.V=a.Z.V;a.R=a.Z.R;Qf(a);a.ha&=-3073}l.uj=function(){var a=this.D+this.G+this.I+this.L+z(this)+this.M+this.K+this.J|0;return a=a+A(this)+this.Z.U+this.Ca.U+this.Y.U+this.oa.U+re(this)|0};function Sf(a,b,c){void 0===a.Yf[b]&&(a.Yf[b]=[]);a.Yf[b].push(c)}function Tf(a,b,c){c&&(null==a.Zf[b]&&a.ag++,a.Zf[b]=c)}function Uf(a,b){var c=a.Zf[b];null!=c&&(c(--a.ag),delete a.Zf[b])}
function Vf(a,b){for(var c=a.Qb[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Qb[e],g=g&~(d>>2&3);b?a.aa[g>>>a.qb].Gd(g&a.Db,f,a):(g=a.aa[g>>>a.qb],f?--g.ie||od(g):--g.he||nd(g))}c>>=2;d>>=4}}function rd(a,b,c,d){if(!(a.N&8192)&&a.Qb[7]&255){c--;var e=a.Qb[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.Qb[g]&&b<=a.Qb[g]+h){a.Qb[6]|=1<<g;a.Za|=2;break}}e>>=2;f>>=4}}}
function Vf(a,b){for(var c=a.Qb[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Qb[e],g=g&~(d>>2&3);b?a.aa[g>>>a.hb].Gd(g&a.Db,f,a):(g=a.aa[g>>>a.hb],f?--g.ie||od(g):--g.he||nd(g))}c>>=2;d>>=4}}function rd(a,b,c,d){if(!(a.N&8192)&&a.Qb[7]&255){c--;var e=a.Qb[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.Qb[g]&&b<=a.Qb[g]+h){a.Qb[6]|=1<<g;a.Xa|=2;break}}e>>=2;f>>=4}}}
function je(a,b,c){void 0===b&&(b=!!(a.qa&1));void 0===c&&(c=!!(a.O&131072));a.nj=b&&!c?Wf:De;Wd(a.Z,!1,b,c);Wd(a.Ca,!1,b,c);Wd(a.Y,!1,b,c);Wd(a.oa,!1,b,c);80386<=a.ca&&(Wd(a.Ga,!1,b,c),Wd(a.Ha,!1,b,c));Rf(a)}
l.save=function(){var a=new Xf(this);a.set(0,[this.D,this.G,this.I,this.L,z(this),this.M,this.K,this.J]);var b=A(this),c=this.Z.save(),d=this.Ca.save(),e=this.Y.save(),f=this.oa.save(),g;null!=this.Kb?(g=[this.qa,this.Kb,this.Pc,this.Pb,this.cd,this.Eb.save(),this.la.save(),this.lc],80386<=this.ca&&(g.push(this.Og),g.push(this.Cd),g.push(this.Wc),g.push(this.Qb),g.push(this.dg))):g=null;b=[b,c,d,e,f,g,re(this)];80386<=this.ca&&(b.push(this.Ga.save()),b.push(this.Ha.save()));a.set(1,b);a.set(2,[this.Da.$b,
this.Rb.$b,this.N,this.ha,this.Za,this.C,this.F]);a.set(3,[0,this.Dd,this.T.Kd]);a.set(4,Lc(this.ka,!!(this.qa&-2147483648)));return a.data()};
this.Rb.$b,this.N,this.ha,this.Xa,this.C,this.F]);a.set(3,[0,this.Dd,this.T.Kd]);a.set(4,Lc(this.ka,!!(this.qa&-2147483648)));return a.data()};
l.restore=function(a){var b=a[0];this.D=b[0];this.G=b[1];this.I=b[2];this.L=b[3];var c=b[4];this.M=b[5];this.K=b[6];this.J=b[7];b=a[1];this.Z.restore(b[1]);this.Ca.restore(b[2]);this.Y.restore(b[3]);this.oa.restore(b[4]);var d=b[5];d&&d.length&&(this.qa=d[0],this.Kb=d[1],this.Pc=d[2],this.Pb=d[3],this.cd=d[4],this.Eb.restore(d[5]),this.la.restore(d[6]),this.lc=d[7],80386<=this.ca&&(this.Og=d[8],this.Cd=d[9],this.Wc=d[10],this.Qb=d[11],this.dg=d[12]),je(this));se(this,b[6]);var d=!1,e;a:{e=this.ka;
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.da){for(var m=0,p=Array(e.da),w=0;w<k.length-1;)for(var u=k[w++],F=k[w++];u--;)p[m++]=F;k=p}m=e.aa[h];if(!m||!m.restore(k)){hb("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&oc(e,f[g]);e=!0}e&&(te(this,b[0],this.Z.U),he(this,c),ge(this,this.Y.U),80386<=this.ca&&(this.Ga.restore(b[7]),this.Ha.restore(b[8])),d=!0);b=a[2];this.Da=null!=b[0]&&Yf(this,b[0])||this.Ca;this.Rb=null!=b[1]&&Yf(this,b[1])||this.Y;
this.N=b[2];this.ha=b[3];this.Za=b[4];this.C=b[5];this.F=b[6];b=a[3];this.Dd=b[1];Fd(this,b[2]);return d};function Yf(a,b){switch(b){case "CS":return a.Z;case "DS":return a.Ca;case "SS":return a.Y;case "ES":return a.oa;case "NULL":return a.Qg;default:return[0,b,0,0,""]}}function Zf(a,b){null!=te(a,A(a),b)&&(a.N|=a.Vf)}function ne(a,b){-1!==a.Ca.load(b)&&(a.N|=a.Vf)}
this.N=b[2];this.ha=b[3];this.Xa=b[4];this.C=b[5];this.F=b[6];b=a[3];this.Dd=b[1];Fd(this,b[2]);return d};function Yf(a,b){switch(b){case "CS":return a.Z;case "DS":return a.Ca;case "SS":return a.Y;case "ES":return a.oa;case "NULL":return a.Qg;default:return[0,b,0,0,""]}}function Zf(a,b){null!=te(a,A(a),b)&&(a.N|=a.Vf)}function ne(a,b){-1!==a.Ca.load(b)&&(a.N|=a.Vf)}
function ge(a,b,c){var d=z(a);-1!==a.Y.load(b)&&(he(a,d),a.Y.Oc?(a.cg=a.Y.ua+a.Y.wa|0,a.gf=a.Y.ua+a.Y.Ka|0):(a.cg=a.Y.ua+a.Y.Ka|0,a.gf=a.Y.ua),c||(a.N|=4))}function oe(a,b){-1!==a.oa.load(b)&&(a.N|=a.Vf)}function A(a){return a.da-a.Z.ua|0}function C(a,b){a.da=a.Z.ua+(b&a.R)|0}function $f(a,b){a.da=b;a.Pg=(a.Z.ua>>>0)+(a.Z.Ka>>>0)+1;a.Ma=a.Z.Ab;Rf(a)}function te(a,b,c,d){var e=a.Z;e.Jf=b;e.C=d;b=e.load(c);return-1!==b?($f(a,b+(a.Z.Jf&a.Z.R)),a.Z.Pe):null}
function ag(a,b){b=(a.da>>>0)+b;b>a.Pg&&(8088>=a.ca||a.Z.Ka==a.Z.wa?b=a.Z.ua+(b-a.Pg&a.R):y.call(a,13,0));return b|0}function bg(a){a.da=a.Bd}function z(a){return a.Hc&~a.Y.wa|a.Aa-a.Y.ua}function he(a,b){a.Hc=b;a.Aa=a.Y.ua+(b&a.Y.wa)|0}function cg(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&dg(a),g&2&&eg(a),g&4&&fg(a),g&8&&gg(a),g&16&&hg(a),g&32&&ig(a))}f?(a.ze=d,a.ye=b):(a.ze=b,a.ye=d);a.hf=c;a.Ae=d;a.resultType=e}
function jg(a,b,c,d,e){a.resultType=c|26;a.Ae=b;d?kg(a):lg(a);e?mg(a):ng(a);return b}function og(a,b,c,d){c&d?kg(a):lg(a);(b^c)&d?mg(a):ng(a)}function pg(a){return dg(a)?1:0}function dg(a){a.resultType&1&&(a.O&=-2,(a.ze^(a.ze^a.hf)&(a.hf^a.ye))&a.resultType&-2147450752&&(a.O|=1),a.resultType&=-2);return a.O&1}function eg(a){a.resultType&2&&(a.O&=-5,38505>>((a.Ae^a.Ae>>4)&15)&1&&(a.O|=4),a.resultType&=-3);return a.O&4}
function fg(a){a.resultType&4&&(a.O&=-17,(a.ye^a.ze^a.hf)&16&&(a.O|=16),a.resultType&=-5);return a.O&16}function gg(a){a.resultType&8&&(a.O&=-65,a.Ae&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.O|=64),a.resultType&=-9);return a.O&64}function hg(a){a.resultType&16&&(a.O&=-129,a.Ae&a.resultType&-2147450752&&(a.O|=128),a.resultType&=-17);return a.O&128}
function ig(a){a.resultType&32&&(a.O&=-2049,(a.ze^a.ye)&(a.hf^a.ye)&a.resultType&-2147450752&&(a.O|=2048),a.resultType&=-33);return a.O&2048}function lg(a){a.resultType&=-2;a.O&=-2}function qg(a){a.resultType&=-5;a.O&=-17}function rg(a){a.resultType&=-9;a.O&=-65}function ng(a){a.resultType&=-33;a.O&=-2049}function kg(a){a.resultType&=-2;a.O|=1}function ug(a){a.resultType&=-5;a.O|=16}function vg(a){a.resultType&=-9;a.O|=64}function mg(a){a.resultType&=-33;a.O|=2048}
function re(a){return a.O&-2262|dg(a)|eg(a)|fg(a)|gg(a)|hg(a)|ig(a)}function wg(a,b){b|=a.qa&1|65520;a.qa=a.qa&-65536|b&65535;a.qa&1&&je(a,!0)}function se(a,b,c){a.qa&1||(b&=~a.si);void 0===c&&(c=a.Ma);c?b=b&-12289|a.O&12288:a.lc=(b&12288)>>12;c>a.lc&&(b=b&-513|a.O&512);a.resultType=128;a.O=a.O&~(a.Qd|2261)|b&(a.Qd|2261)|a.Ri;a.O&256&&(a.Za|=2,a.N|=4)}
function re(a){return a.O&-2262|dg(a)|eg(a)|fg(a)|gg(a)|hg(a)|ig(a)}function wg(a,b){b|=a.qa&1|65520;a.qa=a.qa&-65536|b&65535;a.qa&1&&je(a,!0)}function se(a,b,c){a.qa&1||(b&=~a.si);void 0===c&&(c=a.Ma);c?b=b&-12289|a.O&12288:a.lc=(b&12288)>>12;c>a.lc&&(b=b&-513|a.O&512);a.resultType=128;a.O=a.O&~(a.Qd|2261)|b&(a.Qd|2261)|a.Ri;a.O&256&&(a.Xa|=2,a.N|=4)}
function xg(a,b,c,d){var e=0;if(a.qa&1&&(a.Ma>a.lc||a.O&131072)&&a.la.Si)for(var f=a.la.Si+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.la.tl&&!(a.Ia(f)&e);)e>>>=8,f++;return e?(t(a,256)&&Mb(a,"checkIOPM("+ta(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),y.call(a,13,0),!1):!0}
l.Cb=function(a,b,c){switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.na[b]=c;this.tj++;a=!0;break;default:a=xd.prototype.Cb.call(this,a,b,c)}return a};
function yg(a,b,c,d){var e=(d?a.sc:a.aa)[(b&a.ed)>>>a.qb];e&&e.type==cd&&(e=td(a,b,!1,!0));if(e){var f=b&a.Db;if(!c||1==c)return e.Zd(f,b);if(2==c)return f<a.Db?e.Nf(f,b):e.Zd(f,b)|yg(a,b+1,1,d)<<8;if(4==c)return f<a.Db-2?e.ji(f,b):f==a.Db-1?e.Nf(f,b)|yg(a,b+2,2,d)<<16:e.Zd(f,b)|yg(a,b+1,1,d)<<8|yg(a,b+2,1,d)<<16|yg(a,b+3,1,d)<<24}return null}l.Ia=function(a){return this.aa[(a&this.ed)>>>this.qb].Bc(a&this.Db,a)};
l.ja=function(a){var b=a&this.Db,c=(a&this.ed)>>>this.qb;this.A-=this.B.zg;if(b<this.Db)return this.aa[c].Mf(b,a);b=this.aa[c].Bc(b,a);this.N&4096||(b|=this.aa[c+1&this.df].Bc(0,a+1)<<8);return b};l.ia=function(a){var b=a&this.Db,c=(a&this.ed)>>>this.qb;if(b<this.Db-2)return this.aa[c].Nd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.aa[c].Bc(b++,a++)<<f;if(this.N&4096)break;--g||(c=c+1&this.df,b=0);f+=8}return d};l.fc=function(a,b){this.aa[(a&this.ed)>>>this.qb].Dc(a&this.Db,b&255,a)};
l.fb=function(a,b){var c=a&this.Db,d=(a&this.ed)>>>this.qb;this.A-=this.B.zg;c<this.Db?this.aa[d].Tf(c,b&65535,a):(this.aa[d++].Dc(c,b&255,a),this.N&4096||this.aa[d&this.df].Dc(0,b>>8&255,a+1))};l.ab=function(a,b){var c=a&this.Db,d=(a&this.ed)>>>this.qb;this.A-=this.B.zg;if(c<this.Db-2)this.aa[d].Sf(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.df,c=0);b>>>=8}};
function zg(a,b,c){a.eb=b;a.wb=c&a.wa;a.C=b.bc(a.wb,1);return a.N&1?0:a.Ia(a.C)}function D(a,b){return zg(a,a.Da,b)}function Ag(a,b){return zg(a,a.Rb,b)}function Bg(a,b,c){a.eb=b;a.wb=c&a.wa;a.C=b.bc(a.wb,a.V);return a.N&1?0:a.hb(a.C)}function E(a,b){a.eb=a.Da;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,2);return a.N&1?0:a.ja(a.C)}function Cg(a,b){a.eb=a.Rb;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,2);return a.N&1?0:a.ja(a.C)}function G(a,b){a.eb=a.Da;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,4);return a.N&1?0:a.ia(a.C)}
function Dg(a,b){a.eb=a.Rb;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,4);return a.N&1?0:a.ia(a.C)}function Eg(a,b){a.N&2||a.fc(a.eb.cc(a.wb,1),b)}function Fg(a,b){a.N&2||a.fb(a.eb.cc(a.wb,2),b)}function Gg(a,b){a.N&2||a.ab(a.eb.cc(a.wb,4),b)}function le(a,b,c){return a.hb(b.bc(c,a.V))}l.ra=function(){var a=ag(this,1),b=this.Ia(this.da);this.da=a;return b};function Hg(a){var b=ag(a,2),c=a.ja(a.da);a.da=b;return c}function J(a){var b=ag(a,a.Jc),c=a.Sb(a.da);a.da=b;return c}
l.Ea=function(){var a=ag(this,this.V),b=this.hb(this.da);this.da=a;return b};l.S=function(){var a=ag(this,1),b=this.Ia(this.da)<<24>>24;this.da=a;return b};function fe(a){var b=a.hb(a.Aa);a.Aa=a.Aa+a.V|0;var c=a.cg-a.Aa|0;0>c&&0<=(a.cg^a.Aa)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?he(a,a.Aa-a.Y.ua&a.Y.wa):-1>c&&y.call(a,12,0));return b}
function yg(a,b,c,d){var e=(d?a.sc:a.aa)[(b&a.ed)>>>a.hb];e&&e.type==cd&&(e=td(a,b,!1,!0));if(e){var f=b&a.Db;if(!c||1==c)return e.Zd(f,b);if(2==c)return f<a.Db?e.Nf(f,b):e.Zd(f,b)|yg(a,b+1,1,d)<<8;if(4==c)return f<a.Db-2?e.ji(f,b):f==a.Db-1?e.Nf(f,b)|yg(a,b+2,2,d)<<16:e.Zd(f,b)|yg(a,b+1,1,d)<<8|yg(a,b+2,1,d)<<16|yg(a,b+3,1,d)<<24}return null}l.Ia=function(a){return this.aa[(a&this.ed)>>>this.hb].Bc(a&this.Db,a)};
l.ja=function(a){var b=a&this.Db,c=(a&this.ed)>>>this.hb;this.A-=this.B.zg;if(b<this.Db)return this.aa[c].Mf(b,a);b=this.aa[c].Bc(b,a);this.N&4096||(b|=this.aa[c+1&this.df].Bc(0,a+1)<<8);return b};l.ia=function(a){var b=a&this.Db,c=(a&this.ed)>>>this.hb;if(b<this.Db-2)return this.aa[c].Nd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.aa[c].Bc(b++,a++)<<f;if(this.N&4096)break;--g||(c=c+1&this.df,b=0);f+=8}return d};l.fc=function(a,b){this.aa[(a&this.ed)>>>this.hb].Dc(a&this.Db,b&255,a)};
l.fb=function(a,b){var c=a&this.Db,d=(a&this.ed)>>>this.hb;this.A-=this.B.zg;c<this.Db?this.aa[d].Tf(c,b&65535,a):(this.aa[d++].Dc(c,b&255,a),this.N&4096||this.aa[d&this.df].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.B.zg;if(c<this.Db-2)this.aa[d].Sf(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.df,c=0);b>>>=8}};
function zg(a,b,c){a.eb=b;a.wb=c&a.wa;a.C=b.bc(a.wb,1);return a.N&1?0:a.Ia(a.C)}function D(a,b){return zg(a,a.Da,b)}function Ag(a,b){return zg(a,a.Rb,b)}function Bg(a,b,c){a.eb=b;a.wb=c&a.wa;a.C=b.bc(a.wb,a.V);return a.N&1?0:a.jb(a.C)}function E(a,b){a.eb=a.Da;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,2);return a.N&1?0:a.ja(a.C)}function Cg(a,b){a.eb=a.Rb;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,2);return a.N&1?0:a.ja(a.C)}function G(a,b){a.eb=a.Da;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,4);return a.N&1?0:a.ia(a.C)}
function Dg(a,b){a.eb=a.Rb;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,4);return a.N&1?0:a.ia(a.C)}function Eg(a,b){a.N&2||a.fc(a.eb.cc(a.wb,1),b)}function Fg(a,b){a.N&2||a.fb(a.eb.cc(a.wb,2),b)}function Gg(a,b){a.N&2||a.ab(a.eb.cc(a.wb,4),b)}function le(a,b,c){return a.jb(b.bc(c,a.V))}l.ra=function(){var a=ag(this,1),b=this.Ia(this.da);this.da=a;return b};function Hg(a){var b=ag(a,2),c=a.ja(a.da);a.da=b;return c}function J(a){var b=ag(a,a.Jc),c=a.Sb(a.da);a.da=b;return c}
l.Ea=function(){var a=ag(this,this.V),b=this.jb(this.da);this.da=a;return b};l.S=function(){var a=ag(this,1),b=this.Ia(this.da)<<24>>24;this.da=a;return b};function fe(a){var b=a.jb(a.Aa);a.Aa=a.Aa+a.V|0;var c=a.cg-a.Aa|0;0>c&&0<=(a.cg^a.Aa)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?he(a,a.Aa-a.Y.ua&a.Y.wa):-1>c&&y.call(a,12,0));return b}
function me(a,b,c,d){c=a.Aa-c|0;0>(c-a.gf|0)&&0<=(a.gf^c)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?(he(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 pe(a,b){var c=a.Aa-a.V|0;0>(c-a.gf|0)&&0<=(a.gf^c)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?(he(a,c-a.Y.ua&a.Y.wa),c=a.Aa):y.call(a,12,0));a.yb(c,b);a.Aa=c}
function Ig(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&&(Gb(a,"Value for "+b+" is invalid"),a.Jb()),d=!a.ea.vb||a.ea.kj?q(c,d):"--------".substr(0,d),a.na[b].textContent!=d&&(a.na[b].textContent=d))}
l.Lg=function(a){this.ea.complete=!0;var b=this.ea.jj=this.ba&&Jg(this.ba),c=a?this.ea.ni?0:1:-1;this.ea.ni=!1;this.zc=this.A=a;this.W&&!a&&Od(this.W);a||t(this,1024)||(this.N|=4);do{var d=this.N&3312;if(d)this.ha|=d;else if(this.Bd=this.da,this.Da=this.Ca,this.Rb=this.Y,this.C=this.F=-1,this.ha&3072&&Rf(this),this.ha=this.N&256,this.Za){a:{if(!(this.N&4))for(var d=80286>this.ca?0:1,e=0;2>e;e++){switch(d){case 0:if(this.Za&1&&this.O&512){var f=Kg(this.W);if(-1<=f&&(this.Za&=-2,0<=f)){this.Za&=-5;
Lg.call(this,f);d=!0;break a}}break;case 1:if(this.Za&2){this.Za&=-3;80386<=this.ca&&(this.Qb[6]|=16384);Lg.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.P("interrupt dispatched");this.N=0;break}if(this.Za&4){this.N=this.A=0;break}}if(b){if(Mg(this.ba,this.da,c)){this.Jb();break}c=1}this.N=0;this.va[this.ra()].call(this)}while(0<this.A);return this.ea.complete?this.zc-this.A:void 0===this.ea.complete?0:-1};var sf=512;
l.Lg=function(a){this.ea.complete=!0;var b=this.ea.jj=this.ba&&Jg(this.ba),c=a?this.ea.ni?0:1:-1;this.ea.ni=!1;this.zc=this.A=a;this.W&&!a&&Od(this.W);a||t(this,1024)||(this.N|=4);do{var d=this.N&3312;if(d)this.ha|=d;else if(this.Bd=this.da,this.Da=this.Ca,this.Rb=this.Y,this.C=this.F=-1,this.ha&3072&&Rf(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=Kg(this.W);if(-1<=f&&(this.Xa&=-2,0<=f)){this.Xa&=-5;
Lg.call(this,f);d=!0;break a}}break;case 1:if(this.Xa&2){this.Xa&=-3;80386<=this.ca&&(this.Qb[6]|=16384);Lg.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.P("interrupt dispatched");this.N=0;break}if(this.Xa&4){this.N=this.A=0;break}}if(b){if(Mg(this.ba,this.da,c)){this.Jb();break}c=1}this.N=0;this.va[this.ra()].call(this)}while(0<this.A);return this.ea.complete?this.zc-this.A:void 0===this.ea.complete?0:-1};var sf=512;
ab(function(){for(var a=Ab(document,"pcx86","cpu"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new ze(d);zb(d,c)}});
function Zg(a){nb.call(this,"FPU",a);this.ca=a.model||8087;this.F=new Float64Array(8);this.L=new Int32Array(this.F.buffer);this.Z=new Float32Array(1);this.ha=new Int32Array(this.Z.buffer);this.K=new Float64Array(1);this.G=new Int32Array(this.K.buffer);this.D=Array(3);this.M=this.N=-1;this.I=this.J=this.O=this.A=0;this.Y=new Float64Array(1);this.aa=new Int32Array(this.Y.buffer);this.aa[0]=0;this.aa[1]=268402688;$g(this);this.ga=Zg.prototype.mi;this.da=Zg.prototype.bl}ba(Zg,nb);l=Zg.prototype;
l.uc=function(a,b,c){this.H=c;this.W=Xb(a,"ChipSet");Jb(this)};l.Xb=function(a,b){if(!b)if(!a||!this.restore)$g(this);else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};l.save=function(){var a=new Xf(this),b=[],c=0;b[c++]=this.Zb;b[c++]=ah(this);b[c++]=bh(this);for(var d=0;d<this.F.length;d++)b[c++]=this.F[d];a.set(0,b);return a.data()};
@ -200,7 +200,7 @@ function M(a,b){var c=null;b=a.B+b&7;a.C&1<<b?c=a.F[b]:jh(a,1)||(c=a.Y[0]);retur
function Ah(a){a.D[0]=a.H.ia(a.H.C);a.D[1]=a.H.ia(a.H.C+4);a.D[2]=a.H.ja(a.H.C+8);return a.D}l.mi=function(){this.H.ab(this.H.C,this.G[0])};l.bl=function(){this.H.ab(this.H.C,this.G[0]);this.H.ab(this.H.C+4,this.G[1])};function Bh(a){a.H.ab(a.H.C,a.D[0]);a.H.ab(a.H.C+4,a.D[1]);a.H.fb(a.H.C+8,a.D[2])}function Ch(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767;b=b[0]>>>11|c<<21;c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,b=c=0));a.G[0]=b;a.G[1]=c|(d|e)<<20;return a.K[0]}
function vh(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.D[0]=b<<11;a.D[1]=e;a.D[2]=c>>16&32768|d;return a.D}function Dh(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Eh(a,b){for(var c=0,d=0;b--;)c|=a%10<<d,a/=10,d+=4;return c}function Fh(a){var b=null,c=1<<a.B;if(!(a.C&c)&&(a.fa&=-513,jh(a,65)))return b;a.C&=~c;b=a.F[a.B];a.B=a.B+1&7;return b}
function Gh(a,b){if(null!=b){var c=a.B-1&7,d=1<<c;if(a.C&d&&(a.fa|=512,jh(a,65)))return;if(isNaN(b)&&jh(a,1)){if(jh(a,1))return;b=NaN}a.F[a.B=c]=b;a.C|=d}}
function Hh(a,b){var c,d=a.H;c=d.hb(b);a.Zb=c&-57409;c=d.hb(b+=d.V);a.fa=c&-14337;a.B=(c&14336)>>11;ch(a);dh(a,d.hb(b+=d.V));!(d.qa&1)||d.O&131072?(a.I=d.hb(b+=d.V),c=d.hb(b+=d.V),a.O=c&2047,a.I|=(c&-4096)<<4,a.M=-1,a.J=d.hb(b+=d.V),a.J|=(d.hb(b+=d.V)&-4096)<<4,a.N=-1):(a.I=d.hb(b+=d.V),c=d.hb(b+=d.V),a.M=c&65535,a.O=c>>16&2047,a.J=d.hb(b+=d.V),a.N=d.hb(b+=d.V)&65535);return b+d.V}
function Hh(a,b){var c,d=a.H;c=d.jb(b);a.Zb=c&-57409;c=d.jb(b+=d.V);a.fa=c&-14337;a.B=(c&14336)>>11;ch(a);dh(a,d.jb(b+=d.V));!(d.qa&1)||d.O&131072?(a.I=d.jb(b+=d.V),c=d.jb(b+=d.V),a.O=c&2047,a.I|=(c&-4096)<<4,a.M=-1,a.J=d.jb(b+=d.V),a.J|=(d.jb(b+=d.V)&-4096)<<4,a.N=-1):(a.I=d.jb(b+=d.V),c=d.jb(b+=d.V),a.M=c&65535,a.O=c>>16&2047,a.J=d.jb(b+=d.V),a.N=d.jb(b+=d.V)&65535);return b+d.V}
function Ih(a,b){var c=a.H;c.yb(b,a.Zb);c.yb(b+=c.V,ah(a));c.yb(b+=c.V,bh(a));if(!(c.qa&1)||c.O&131072){var d=(a.M<<4)+a.I;c.yb(b+=c.V,d);c.yb(b+=c.V,d>>4&-4096|a.O);d=(a.N<<4)+a.J;c.yb(b+=c.V,d);c.yb(b+=c.V,d>>4&-4096)}else c.yb(b+=c.V,a.I),c.yb(b+=c.V,a.M|a.O<<16),c.yb(b+=c.V,a.J),c.yb(b+=c.V,a.N);return b+c.V}function Jh(){this.fa&=-32896;ch(this)}function Kh(){ph(this,M(this,0),M(this,this.A))}function Lh(){ph(this,M(this,0),M(this,this.A))&&Fh(this)}function Mh(){Lh.call(this)}
function Nh(){N(this,0,oh(this,M(this,0),yh(this)))}function Oh(){this.C&=~(1<<this.B)}function Ph(){$g(this)}function Qh(){this.Zb=this.H.ja(this.H.C)&-57409}function Rh(){Hh(this,this.H.C)}function Sh(){for(var a=this.H,b=Hh(this,a.C),c=this.D,d=0;d<this.F.length;d++)c[0]=a.ia(b),c[1]=a.ia(b+=4),c[2]=a.ja(b+=4),c&&N(this,d,Ch(this,c)),b+=2}function Th(){for(var a=this.H,b=Ih(this,a.C),c=0;c<this.F.length;c++){var d=uh(this,c,!0);a.ab(b,d[0]);a.ab(b+=4,d[1]);a.fb(b+=4,d[2]);b+=2}$g(this)}
function Uh(){Ih(this,this.H.C);this.Zb|=63}function Vh(){N(this,this.A,M(this,0))&&Fh(this)}function Wh(){Vh.call(this)}function Xh(){this.H.fb(this.H.C,this.Zb)}function Yh(){this.H.fb(this.H.C,ah(this))}function Zh(){80287<=this.ca&&(this.H.D=this.H.D&-65536|ah(this))}function $h(){var a=M(this,0);N(this,0,M(this,this.A));N(this,this.A,a)}function ai(){$h.call(this)}
@ -218,20 +218,20 @@ this.A,oh(this,M(this,this.A),M(this,0)))}},221:{0:function(){Gh(this,zh(this))}
this.H.ia(this.H.C+4)+(a>>>0);Gh(this,a)},6:function(){var a=qh(this,Fh(this));null!=a&&(this.D[0]=Eh(a,8),this.D[1]=Eh(a/1E8,8),this.D[2]=Eh(a/1E16,2),0>a&&(this.D[2]|=32768),Bh(this))},7:function(){null!=qh(this,M(this,0),gi)&&(this.bl(),Fh(this))},48:function(){Oh.call(this);Fh(this)},49:ai,50:Wh,51:Wh,52:Zh}},ii=[Jh,Ph,Qh,Rh,Sh,Th,Xh,Uh,Yh,Zh];ab(function(){for(var a=Ab(document,"pcx86","fpu"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Zg(d);zb(d,c)}});
function ji(a,b){var c=a+b+pg(this)|0;cg(this,a,b,c,191);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&255}function ki(a,b){var c=a+b+pg(this)|0;cg(this,a,b,c,this.Fb|63);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&this.R}function li(a,b){var c=a+b|0;cg(this,a,b,c,191);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&255}
function mi(a,b){var c=a+b|0;cg(this,a,b,c,this.Fb|63);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&this.R}function ni(a,b){a&=b;jg(this,a,128);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return a}function oi(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a&b,this.Fb)&this.R}function pi(a,b){this.A-=10+(-1===this.C?0:1);if((a&3)<(b&3))return a=a&-4|b&3,vg(this),a;rg(this);return a}
function qi(a){if(-1===this.C)return y.call(this,6),a;var b=a,c=this.hb(this.C),d=this.hb(this.C+this.V);2==this.V&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Ij;(b<c||b>d)&&y.call(this,5);this.N|=2;return a}function ri(a,b){var c=0;if(b){rg(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else vg(this);this.A-=11+3*c;return a}function si(a,b){var c=0;if(b){rg(this);for(var d=2==this.V?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else vg(this);this.A-=11+3*c;return a}
function qi(a){if(-1===this.C)return y.call(this,6),a;var b=a,c=this.jb(this.C),d=this.jb(this.C+this.V);2==this.V&&(b=a<<16>>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Ij;(b<c||b>d)&&y.call(this,5);this.N|=2;return a}function ri(a,b){var c=0;if(b){rg(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else vg(this);this.A-=11+3*c;return a}function si(a,b){var c=0;if(b){rg(this);for(var d=2==this.V?15:31,e=1<<d;e;){if(b&e){a=d;break}e>>>=1;c++;d--}}else vg(this);this.A-=11+3*c;return a}
function ti(a,b){a&1<<(b&(2==this.V?15:31))?kg(this):lg(this);this.A-=-1===this.C?3:6;this.N|=2;return a}function ui(a,b){b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=-1===this.C?6:8;return a^b}function vi(a,b){b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=-1===this.C?6:8;return a&~b}function wi(a,b){b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=-1===this.C?6:8;return a|b}
function xi(a,b){if(-1===this.C)return ti.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Bg(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=6;this.N|=2;return a}function yi(a,b){if(-1===this.C)return ui.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Bg(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=8;return a^b}
function zi(a,b){if(-1===this.C)return vi.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Bg(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=8;return a&~b}function Ai(a,b){if(-1===this.C)return wi.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Bg(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=8;return a|b}
function Bi(a,b){cg(this,a,b,a-b|0,191,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ah:this.B.Ib;this.N|=2;return a}function Ci(a,b){cg(this,a,b,a-b|0,this.Fb|63,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ah:this.B.Ib;this.N|=2;return a}
function Di(a){if(this.Tc){var b=this.Tc,c=this.sj,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=hi[c][f]){if(0>ii.indexOf(e)){var f=b.H,g=f.Bd;8087==b.ca&&(f.ha&16&&g++,f.ha&32&&g++);b.M=f.Z.U;b.I=g-f.Z.ua;-1!==f.C&&(b.N=f.eb.U,b.J=f.C-f.eb.ua);b.O=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.C?2:8;return a}function Ei(a){if(80186>this.ca)return Fi.call(this,a);y.call(this,13,0);return a}function Ve(a){y.call(this,6);return a}
function Fi(a){Ye.call(this);return a}function Gi(a,b){a=Hi.call(this,this.S(),b);80386>this.ca&&(this.A-=12);return a}function Ii(a,b){a=this.Ea();a=2==this.V?Hi.call(this,a,b):Ji.call(this,a,b);80386>this.ca&&(this.A-=12);return a}function Ki(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Li.call(this,a,b);c&&(this.Ba=~this.Ba+1|0,this.$a=~this.$a+(this.Ba?0:1)|0)}
function Hi(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767<a||-32768>a?(kg(this),mg(this)):(lg(this),ng(this));this.A-=-1===this.C?9:12;return a&65535}function Ji(a,b){Ki.call(this,a,b);this.$a!=this.Ba>>31?(kg(this),mg(this)):(lg(this),ng(this));this.A-=-1===this.C?9:12;return this.Ba}function Mi(a,b){this.A-=14+(-1===this.C?0:2);rg(this);-1!==this.xb.load(b)&&this.xb.qc>=this.Ma&&this.xb.qc>=(b&3)&&(vg(this),a=this.xb.jb&-256,2<this.V&&(a|=(this.xb.ext&-65281)<<16));return a}
function Fi(a){Ye.call(this);return a}function Gi(a,b){a=Hi.call(this,this.S(),b);80386>this.ca&&(this.A-=12);return a}function Ii(a,b){a=this.Ea();a=2==this.V?Hi.call(this,a,b):Ji.call(this,a,b);80386>this.ca&&(this.A-=12);return a}function Ki(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Li.call(this,a,b);c&&(this.Ba=~this.Ba+1|0,this.Ya=~this.Ya+(this.Ba?0:1)|0)}
function Hi(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767<a||-32768>a?(kg(this),mg(this)):(lg(this),ng(this));this.A-=-1===this.C?9:12;return a&65535}function Ji(a,b){Ki.call(this,a,b);this.Ya!=this.Ba>>31?(kg(this),mg(this)):(lg(this),ng(this));this.A-=-1===this.C?9:12;return this.Ba}function Mi(a,b){this.A-=14+(-1===this.C?0:2);rg(this);-1!==this.xb.load(b)&&this.xb.qc>=this.Ma&&this.xb.qc>=(b&3)&&(vg(this),a=this.xb.lb&-256,2<this.V&&(a|=(this.xb.ext&-65281)<<16));return a}
function Ni(a,b){if(-1===this.C)return Ye.call(this),a;ne(this,this.ja(this.C+this.V));this.A-=this.B.Xe;return b}function Oi(){this.A-=this.B.kk;return this.C}function Pi(a,b){if(-1===this.C)return Ye.call(this),a;oe(this,this.ja(this.C+this.V));this.A-=this.B.Xe;return b}function Qi(a,b){if(-1===this.C)return Ye.call(this),a;a=this.ja(this.C+this.V);this.Ga.load(a);this.A-=this.B.Xe;return b}
function Ri(a,b){if(-1===this.C)return Ye.call(this),a;a=this.ja(this.C+this.V);this.Ha.load(a);this.A-=this.B.Xe;return b}function Si(a,b){this.A-=14+(-1===this.C?0:2);if(b&65528&&-1!==this.xb.load(b)&&(7168==(this.xb.jb&7168)||this.xb.qc>=this.Ma)&&this.xb.qc>=(b&3))return vg(this),this.xb.Ka;rg(this);return a}function cj(a,b){if(-1===this.C)return Ye.call(this),a;ge(this,this.ja(this.C+this.V));this.A-=this.B.Xe;return b}
function Ri(a,b){if(-1===this.C)return Ye.call(this),a;a=this.ja(this.C+this.V);this.Ha.load(a);this.A-=this.B.Xe;return b}function Si(a,b){this.A-=14+(-1===this.C?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 vg(this),this.xb.Ka;rg(this);return a}function cj(a,b){if(-1===this.C)return Ye.call(this),a;ge(this,this.ja(this.C+this.V));this.A-=this.B.Xe;return b}
function dj(a,b){this.A-=-1===this.F?-1===this.C?this.B.sk:this.B.rk:this.B.pk;return b}function ej(a,b){switch(this.ga>>3&7){case 4:this.ya=this.D;break;case 5:this.ya=this.I;break;case 6:this.ya=this.L;break;case 7:this.ya=this.G}return b}function fj(a,b){return b}
function gj(a,b){a=this.ga>>3&7;switch(a){case 0:this.ya=this.D;break;case 2:this.ya=this.L;break;case 3:this.ya=this.G;break;default:if(80286==this.ca||80386==this.ca&&4!=a&&5!=a)y.call(this,6);else switch(a){case 1:this.ya=this.I;break;case 4:this.ya=z(this);break;case 5:this.ya=this.M;break;case 6:this.ya=this.K;break;case 7:this.ya=this.J}}return dj.call(this,0,b)}
function hj(a,b){switch(this.ga>>3&7){case 0:b=this.oa.U;break;case 1:b=this.Z.U;break;case 2:b=this.Y.U;break;case 3:b=this.Ca.U;break;case 4:if(80386<=this.ca){b=this.Ga.U;break}y.call(this,6);b=a;break;case 5:if(80386<=this.ca){b=this.Ha.U;break}default:y.call(this,6),b=a}-1!==this.F&&ke(this,2);return dj.call(this,0,b)}
function Li(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.Ba=d<<16|e&65535;this.$a=f+((d>>>16)+b*a)|0}else this.Ba=a*b|0,this.$a=0}function ij(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a|b,128)}function jj(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a|b,this.Fb)&this.R}
function Li(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.Ba=d<<16|e&65535;this.Ya=f+((d>>>16)+b*a)|0}else this.Ba=a*b|0,this.Ya=0}function ij(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a|b,128)}function jj(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a|b,this.Fb)&this.R}
function kj(a,b){var c=a-b-pg(this)|0;cg(this,a,b,c,191,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&255}function lj(a,b){var c=a-b-pg(this)|0;cg(this,a,b,c,this.Fb|63,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&this.R}function mj(){return ig(this)?1:0}function nj(){return dg(this)?1:0}function oj(){return dg(this)?0:1}function pj(){return gg(this)?1:0}function qj(){return gg(this)?0:1}function rj(){return dg(this)||gg(this)?1:0}
function sj(){return dg(this)||gg(this)?0:1}function tj(){return hg(this)?1:0}function uj(){return hg(this)?0:1}function vj(){return eg(this)?1:0}function wj(){return eg(this)?0:1}function xj(){return!hg(this)!=!ig(this)?1:0}function yj(){return!hg(this)!=!ig(this)?0:1}function zj(){return gg(this)||!hg(this)!=!ig(this)?1:0}function Aj(){return gg(this)||!hg(this)!=!ig(this)?0:1}function Bj(a,b){return Cj.call(this,a,b,this.ra())}function Dj(a,b){return Ej.call(this,a,b,this.ra())}
function Fj(a,b){return Cj.call(this,a,b,this.I&31)}function Gj(a,b){return Ej.call(this,a,b,this.I&31)}function Hj(a,b){return Ij.call(this,a,b,this.ra())}function Jj(a,b){return Kj.call(this,a,b,this.ra())}function Lj(a,b){return Ij.call(this,a,b,this.I&31)}function Mj(a,b){return Kj.call(this,a,b,this.I&31)}function Nj(a,b){var c=a-b|0;cg(this,a,b,c,191,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&255}
@ -239,14 +239,14 @@ function Oj(a,b){var c=a-b|0;cg(this,a,b,c,this.Fb|63,!0);this.A-=-1===this.F?-1
function Sj(a,b){return b>>(this.D&this.R)&(1<<(this.I&31))-1&this.R}function Tj(a,b){if(-1===this.C){switch(this.ga&7){case 0:this.D=this.D&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.L=this.L&-256|a;break;case 3:this.G=this.G&-256|a;break;case 4:this.D=this.D&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.L=this.L&-65281|a<<8;break;case 7:this.G=this.G&-65281|a<<8}this.A-=this.B.di}else this.F=this.C,Eg(this,a),this.A-=this.B.ci;return b}
function Uj(a,b){if(-1===this.C){switch(this.ga&7){case 0:this.D=this.D&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.L=this.L&~this.R|a;break;case 3:this.G=this.G&~this.R|a;break;case 4:he(this,z(this)&~this.R|a);break;case 5:this.M=this.G&~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.di}else this.F=this.C,this.N&2||this.yb(this.eb.cc(this.wb,this.V),a),this.A-=this.B.ci;return b}
function Vj(a,b){a^=b;jg(this,a,128);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return a}function Wj(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a^b,this.Fb)&this.R}function Xj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Yj(a){var b=a-1|0;cg(this,a,1,b,this.Fb|62,!0);this.A-=2;return a&~this.R|b&this.R}
function Zj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1,f=this.bn;f[0]=c>>>0;f[1]=0;c=this.cn;c[0]=a>>>0;for(c[1]=b>>>0;0<Xj(c,f);)b=a=f,a[0]+=b[0],a[1]+=b[1],4294967295<a[0]&&(a[0]>>>=0,a[1]++),e+=e;do 0<=Xj(c,f)&&(a=c,b=f,a[0]-=b[0],a[1]-=b[1],0>a[0]&&(a[0]>>>=0,a[1]--),d+=e),a=f,a[0]>>>=1,a[1]&1&&(a[0]=(a[0]|2147483648)>>>0),a[1]>>>=1,e/=2;while(1<=e);this.Ba=d;this.$a=c[0];return!0}function ak(a){var b=a+1|0;cg(this,a,1,b,this.Fb|62);this.A-=2;return a&~this.R|b&this.R}
function Zj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1,f=this.bn;f[0]=c>>>0;f[1]=0;c=this.cn;c[0]=a>>>0;for(c[1]=b>>>0;0<Xj(c,f);)b=a=f,a[0]+=b[0],a[1]+=b[1],4294967295<a[0]&&(a[0]>>>=0,a[1]++),e+=e;do 0<=Xj(c,f)&&(a=c,b=f,a[0]-=b[0],a[1]-=b[1],0>a[0]&&(a[0]>>>=0,a[1]--),d+=e),a=f,a[0]>>>=1,a[1]&1&&(a[0]=(a[0]|2147483648)>>>0),a[1]>>>=1,e/=2;while(1<=e);this.Ba=d;this.Ya=c[0];return!0}function ak(a){var b=a+1|0;cg(this,a,1,b,this.Fb|62);this.A-=2;return a&~this.R|b&this.R}
function bk(a){this.qa=a;je(this);this.qa&-2147483648?mf(this):uf(this)}function ue(a){this.Wc=a;tc(this)}function ck(a){this.N|=1;this.tc.call(this,a);this.A-=-1===this.C?4:5}function Cj(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;jg(this,a,32768,d&32768)}return a}function Ej(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;jg(this,a,-2147483648,d&-2147483648)}return a}
function Ij(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;jg(this,a,32768,d&1)}return a}function Kj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;jg(this,a,-2147483648,d&1)}return a}function dk(){this.A-=-1===this.C?2:this.B.Fk;return 1}function ek(){var a=this.I&255;this.A-=(-1===this.C?this.B.Vh:this.B.Uh)+(a<<this.B.Wh);return a}function fk(){var a=this.ra();this.A-=(-1===this.C?this.B.Vh:this.B.Uh)+(a<<this.B.Wh);return a}function gk(){return null}
function hk(){return this.ya}function ik(a,b){this.Ad=this.Z.U;this.Vc=this.Y.U;this.ta=this.Aa;var c=A(this),d=this.V;null!=te(this,a,b,!0)&&(me(this,this.Ad,d,2),me(this,c,d,d));this.Ad=this.Vc=this.ta=-1}function jk(a,b,c){this.A-=this.B.ck+(c||0);c=re(this);var d=this.Z.U,e=A(this);a=this.Z.Cj(a);-1!==a&&(pe(this,c),pe(this,d),pe(this,e),null!=b&&pe(this,b),this.Uc=-1,$f(this,a))}
function kk(a){this.Vc=this.Y.U;this.ta=this.Aa;var b=fe(this),c=fe(this);a&&he(this,z(this)+a);te(this,b,c,!1)&&(a&&he(this,z(this)+a),lk.call(this,this.Ca),lk.call(this,this.oa),80386<=this.ca&&(lk.call(this,this.Ga),lk.call(this,this.Ha)));2==a&&this.ag&&Uf(this,this.da);this.Vc=this.ta=-1}function mk(){8086==this.ca?(this.Uc=-1,jk.call(this,0,null,2)):y.call(this,0,null,2)}function Lg(a,b){this.Uc=a;void 0===b&&(b=11);jk.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.Ad&&(this.Ad!==this.Z.U&&(this.Z.Ab=this.Ad&3,Zf(this,this.Ad)),this.Ad=-1),this.Bd!==this.da&&$f(this,this.Bd),-1!=this.Vc&&(this.Vc!==this.Y.U&&ge(this,this.Vc),this.Vc=-1),-1!==this.ta&&(this.ta!==this.Aa&&he(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,kf(this),e=d=!1)):$f(this,this.Bd);var f=a,g=b,h=32,k=yg(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?" ("+ta(g)+")":"")+" on opcode "+r(k);d&&m&&(f+=" (blocked)");this.ba?(Mb(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,jk.call(this,a,b,c),this.Bd=this.da,this.N=1==a?this.N|8192:this.N|4096,a;}
function tf(a,b,c){this.Cd=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Ma&&(a|=4);y.call(this,14,a)}function lk(a){var b=a.jb&7680;a.U&65528&&(6144==b||7168==b||7168>b&&a.qc<this.Ma&&a.qc<(a.U&3))&&a.load(0)}
function tf(a,b,c){this.Cd=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Ma&&(a|=4);y.call(this,14,a)}function lk(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 yf(a){var b,c;switch((this.ga=this.ra())&199){case 0:c=D(this,this.G+this.K);this.A-=this.B.Rc;break;case 1:c=D(this,this.G+this.J);this.A-=this.B.Sc;break;case 2:c=Ag(this,this.M+this.K);this.A-=this.B.Sc;break;case 3:c=Ag(this,this.M+this.J);this.A-=this.B.Rc;break;case 4:c=D(this,this.K);this.A-=this.B.wc;break;case 5:c=D(this,this.J);this.A-=this.B.wc;break;case 6:c=D(this,J(this));this.A-=this.B.td;break;case 7:c=D(this,this.G);this.A-=this.B.wc;break;case 64:c=D(this,this.G+this.K+
this.S());this.A-=this.B.Tb;break;case 65:c=D(this,this.G+this.J+this.S());this.A-=this.B.Ub;break;case 66:c=Ag(this,this.M+this.K+this.S());this.A-=this.B.Ub;break;case 67:c=Ag(this,this.M+this.J+this.S());this.A-=this.B.Tb;break;case 68:c=D(this,this.K+this.S());this.A-=this.B.Va;break;case 69:c=D(this,this.J+this.S());this.A-=this.B.Va;break;case 70:c=Ag(this,this.M+this.S());this.A-=this.B.Va;break;case 71:c=D(this,this.G+this.S());this.A-=this.B.Va;break;case 128:c=D(this,this.G+this.K+J(this));
this.A-=this.B.Tb;break;case 129:c=D(this,this.G+this.J+J(this));this.A-=this.B.Ub;break;case 130:c=Ag(this,this.M+this.K+J(this));this.A-=this.B.Ub;break;case 131:c=Ag(this,this.M+this.J+J(this));this.A-=this.B.Tb;break;case 132:c=D(this,this.K+J(this));this.A-=this.B.Va;break;case 133:c=D(this,this.J+J(this));this.A-=this.B.Va;break;case 134:c=Ag(this,this.M+J(this));this.A-=this.B.Va;break;case 135:c=D(this,this.G+J(this));this.A-=this.B.Va;break;case 192:c=this.D&255;break;case 193:c=this.I&255;
@ -343,7 +343,7 @@ function Pe(){var a=1,b=0,c=this.wa,d=5;this.ha&192&&(a=this.I&c,b=1,this.ha&256
function pk(){var a=this.S();ig(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function qk(){var a=this.S();dg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function rk(){var a=this.S();dg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function sk(){var a=this.S();gg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function tk(){var a=this.S();gg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}
function uk(){var a=this.S();dg(this)||gg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function vk(){var a=this.S();dg(this)||gg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function wk(){var a=this.S();hg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function xk(){var a=this.S();hg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function yk(){var a=this.S();eg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}
function zk(){var a=this.S();eg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function Ak(){var a=this.S();!hg(this)!=!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function Bk(){var a=this.S();!hg(this)==!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}function Ck(){var a=this.S();gg(this)||!hg(this)!=!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}
function Dk(){var a=this.S();gg(this)||!hg(this)!=!ig(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function Ek(){this.kd.call(this,Fk,this.ra);this.A-=-1===this.F?1:this.B.yg}function Gk(){this.N|=1;this.tc.call(this,dj)}function Hk(){this.N|=1;this.za.call(this,dj)}function Ik(){this.kc.call(this,dj)}function Jk(){this.ma.call(this,dj)}function Qe(){this.kd.call(this,Kk,fk)}function Re(){this.rb.call(this,2==this.V?Lk:Mk,fk)}
function Dk(){var a=this.S();gg(this)||!hg(this)!=!ig(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}function Ek(){this.kd.call(this,Fk,this.ra);this.A-=-1===this.F?1:this.B.yg}function Gk(){this.N|=1;this.tc.call(this,dj)}function Hk(){this.N|=1;this.za.call(this,dj)}function Ik(){this.kc.call(this,dj)}function Jk(){this.ma.call(this,dj)}function Qe(){this.kd.call(this,Kk,fk)}function Re(){this.ib.call(this,2==this.V?Lk:Mk,fk)}
function Nk(){var a=Hg(this),b=fe(this);C(this,b);a&&he(this,z(this)+a);this.A-=this.B.Ek}function Ok(){var a=fe(this);C(this,a);this.A-=this.B.Bk}function Se(){this.ta=this.Aa;var a=Hg(this),b=this.ra()&31;this.A-=11;pe(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,pe(this,le(this,this.Y,this.M&this.R));pe(this,c)}this.M=this.M&~this.R|c;he(this,z(this)&~this.Y.wa|z(this)-a&this.Y.wa);this.ta=-1}
function Te(){this.ta=this.Aa;he(this,z(this)&~this.Y.wa|this.M&this.Y.wa);this.M=this.M&~this.R|fe(this)&this.R;this.A-=5;this.ta=-1}function Pk(){kk.call(this,Hg(this));this.A-=this.B.Dk}function Qk(){kk.call(this,0);this.A-=this.B.Ck}function Rk(a){this.sj=a;this.ma.call(this,Di)}function Sk(){this.N|=36;this.A-=this.B.bd}function Ue(){Ye.call(this)}function Ee(){y.call(this,6)}
function Ye(){C(this,this.Bd-this.Z.ua);Gb(this,"Undefined opcode "+r(this.Ia(this.da))+" at "+q(this.da,8,!0));this.Jb()}
@ -357,9 +357,9 @@ this.D&~this.R|Wj.call(this,this.D&this.R,this.Ea());this.A--},function(){this.N
255,this.ra());this.A--},function(){Ci.call(this,this.D&this.R,this.Ea());this.A--},function(){this.N|=20;this.Da=this.Rb=this.Ca;this.A-=this.B.bd},function(){var a,b,c=this.D&255,d=this.D>>8&255;9<(c&15)||fg(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.D=this.D&-65536|d<<8|c;a?kg(this):lg(this);b?ug(this):qg(this);this.A-=this.B.qe},function(){this.D=ak.call(this,this.D)},function(){this.I=ak.call(this,this.I)},function(){this.L=ak.call(this,this.L)},function(){this.G=ak.call(this,this.G)},function(){he(this,
ak.call(this,z(this)))},function(){this.M=ak.call(this,this.M)},function(){this.K=ak.call(this,this.K)},function(){this.J=ak.call(this,this.J)},function(){this.D=Yj.call(this,this.D)},function(){this.I=Yj.call(this,this.I)},function(){this.L=Yj.call(this,this.L)},function(){this.G=Yj.call(this,this.G)},function(){he(this,Yj.call(this,z(this)))},function(){this.M=Yj.call(this,this.M)},function(){this.K=Yj.call(this,this.K)},function(){this.J=Yj.call(this,this.J)},function(){pe(this,this.D&this.R);
this.A-=this.B.Ic},function(){pe(this,this.I&this.R);this.A-=this.B.Ic},function(){pe(this,this.L&this.R);this.A-=this.B.Ic},function(){pe(this,this.G&this.R);this.A-=this.B.Ic},function(){pe(this,z(this)-2&65535);this.A-=this.B.Ic},function(){pe(this,this.M&this.R);this.A-=this.B.Ic},function(){pe(this,this.K&this.R);this.A-=this.B.Ic},function(){pe(this,this.J&this.R);this.A-=this.B.Ic},function(){this.D=this.D&~this.R|fe(this);this.A-=this.B.nc},function(){this.I=this.I&~this.R|fe(this);this.A-=
this.B.nc},function(){this.L=this.L&~this.R|fe(this);this.A-=this.B.nc},function(){this.G=this.G&~this.R|fe(this);this.A-=this.B.nc},function(){he(this,z(this)&~this.R|fe(this));this.A-=this.B.nc},function(){this.M=this.M&~this.R|fe(this);this.A-=this.B.nc},function(){this.K=this.K&~this.R|fe(this);this.A-=this.B.nc},function(){this.J=this.J&~this.R|fe(this);this.A-=this.B.nc},ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,yk,zk,Ak,Bk,Ck,Dk,ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,yk,zk,Ak,Bk,Ck,Dk,Ek,function(){this.rb.call(this,
Tk,this.Ea);this.A-=-1===this.F?1:this.B.yg},Ek,function(){this.rb.call(this,Tk,this.S);this.A-=-1===this.F?1:this.B.yg},function(){this.tc.call(this,Pj)},function(){this.za.call(this,Qj)},function(){this.kc.call(this,Tj)},function(){this.ma.call(this,Uj)},Gk,Hk,Ik,Jk,function(){this.N|=1;this.za.call(this,hj)},function(){this.N|=1;this.Da=this.Rb=this.Qg;this.ma.call(this,Oi)},function(){var a;this.ma.call(this,gj);switch(this.ga>>3&7){case 0:a=this.D;this.D=this.ya;oe(this,a);break;case 1:a=this.I;
this.I=this.ya;Zf(this,a);break;case 2:a=this.L;this.L=this.ya;ge(this,a);break;case 3:a=this.G;this.G=this.ya;ne(this,a);break;case 4:a=z(this);he(this,this.ya);80386<=this.ca?this.Ga.load(a):oe(this,a);break;case 5:a=this.M;this.M=this.ya;80386<=this.ca?this.Ha.load(a):Zf(this,a);break;case 6:a=this.K;this.K=this.ya;ge(this,a);break;case 7:a=this.J,this.J=this.ya,ne(this,a)}},function(){this.N|=1;this.ta=this.Aa;this.ya=fe(this);this.rb.call(this,Uk,hk);this.ta=-1},function(){this.A-=3},function(){var a=
this.B.nc},function(){this.L=this.L&~this.R|fe(this);this.A-=this.B.nc},function(){this.G=this.G&~this.R|fe(this);this.A-=this.B.nc},function(){he(this,z(this)&~this.R|fe(this));this.A-=this.B.nc},function(){this.M=this.M&~this.R|fe(this);this.A-=this.B.nc},function(){this.K=this.K&~this.R|fe(this);this.A-=this.B.nc},function(){this.J=this.J&~this.R|fe(this);this.A-=this.B.nc},ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,yk,zk,Ak,Bk,Ck,Dk,ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,yk,zk,Ak,Bk,Ck,Dk,Ek,function(){this.ib.call(this,
Tk,this.Ea);this.A-=-1===this.F?1:this.B.yg},Ek,function(){this.ib.call(this,Tk,this.S);this.A-=-1===this.F?1:this.B.yg},function(){this.tc.call(this,Pj)},function(){this.za.call(this,Qj)},function(){this.kc.call(this,Tj)},function(){this.ma.call(this,Uj)},Gk,Hk,Ik,Jk,function(){this.N|=1;this.za.call(this,hj)},function(){this.N|=1;this.Da=this.Rb=this.Qg;this.ma.call(this,Oi)},function(){var a;this.ma.call(this,gj);switch(this.ga>>3&7){case 0:a=this.D;this.D=this.ya;oe(this,a);break;case 1:a=this.I;
this.I=this.ya;Zf(this,a);break;case 2:a=this.L;this.L=this.ya;ge(this,a);break;case 3:a=this.G;this.G=this.ya;ne(this,a);break;case 4:a=z(this);he(this,this.ya);80386<=this.ca?this.Ga.load(a):oe(this,a);break;case 5:a=this.M;this.M=this.ya;80386<=this.ca?this.Ha.load(a):Zf(this,a);break;case 6:a=this.K;this.K=this.ya;ge(this,a);break;case 7:a=this.J,this.J=this.ya,ne(this,a)}},function(){this.N|=1;this.ta=this.Aa;this.ya=fe(this);this.ib.call(this,Uk,hk);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;he(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.B.Kj},function(){ik.call(this,this.Ea(),Hg(this));this.A-=this.B.Nj},function(){this.A-=3},function(){var a=re(this);a&131072&&
3>this.lc?y.call(this,13,0):(pe(this,a&-196609),this.A-=this.B.Ic)},function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var a=fe(this),a=a&65535|this.O&-65536;se(this,a);this.A-=this.B.nc}},function(){var a=this.D>>8&255;a&1?kg(this):lg(this);a&4?(this.resultType&=-3,this.O|=4):(this.resultType&=-3,this.O&=-5);a&16?ug(this):qg(this);a&64?vg(this):rg(this);a&128?(this.resultType&=-17,this.O|=128):(this.resultType&=-17,this.O&=-129);this.A-=this.B.Vb},function(){this.D=this.D&-65281|(re(this)&
@ -373,16 +373,16 @@ b=1,d=this.B.Gh,this.ha&256||(this.A-=this.B.Fh));if(a--){var e=le(this,this.Da,
b&c;this.A-=d-this.B.Ib;a&&gg(this)==(this.ha&64)&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.Rh;this.ha&192&&(a=this.I&c,b=1,d=this.B.Th,this.ha&256||(this.A-=this.B.Sh));if(a--){var e=this.D&this.R,f=Bg(this,this.oa,this.J&c);this.F=this.C;Ci.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.B.Ib;a&&gg(this)==(this.ha&64)&&(bg(this),this.N|=256)}},function(){this.D=this.D&-256|this.ra();this.A-=this.B.Vb},function(){this.I=
this.I&-256|this.ra();this.A-=this.B.Vb},function(){this.L=this.L&-256|this.ra();this.A-=this.B.Vb},function(){this.G=this.G&-256|this.ra();this.A-=this.B.Vb},function(){this.D=this.D&-65281|this.ra()<<8;this.A-=this.B.Vb},function(){this.I=this.I&-65281|this.ra()<<8;this.A-=this.B.Vb},function(){this.L=this.L&-65281|this.ra()<<8;this.A-=this.B.Vb},function(){this.G=this.G&-65281|this.ra()<<8;this.A-=this.B.Vb},function(){this.D=this.D&~this.R|this.Ea();this.A-=this.B.Vb},function(){this.I=this.I&
~this.R|this.Ea();this.A-=this.B.Vb},function(){this.L=this.L&~this.R|this.Ea();this.A-=this.B.Vb},function(){this.G=this.G&~this.R|this.Ea();this.A-=this.B.Vb},function(){he(this,z(this)&~this.R|this.Ea());this.A-=this.B.Vb},function(){this.M=this.M&~this.R|this.Ea();this.A-=this.B.Vb},function(){this.K=this.K&~this.R|this.Ea();this.A-=this.B.Vb},function(){this.J=this.J&~this.R|this.Ea();this.A-=this.B.Vb},Nk,Ok,Nk,Ok,function(){this.ma.call(this,Pi)},function(){this.ma.call(this,Ni)},function(){this.N|=
1;this.kd.call(this,Vk,this.ra)},function(){this.N|=1;this.rb.call(this,Vk,this.Ea)},Pk,Qk,Pk,Qk,function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var a=this.B.dk;this.Uc=-1;jk.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.Yf[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.da)){b=!1;break a}this.ea.jj&&t(this,16)&&Wk(this.ba,a,this.da);b=!0}b?(this.Uc=-1,jk.call(this,a,null,0)):this.A--}},function(){if(ig(this))if(this.O&
1;this.kd.call(this,Vk,this.ra)},function(){this.N|=1;this.ib.call(this,Vk,this.Ea)},Pk,Qk,Pk,Qk,function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var a=this.B.dk;this.Uc=-1;jk.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.Yf[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.da)){b=!1;break a}this.ea.jj&&t(this,16)&&Wk(this.ba,a,this.da);b=!0}b?(this.Uc=-1,jk.call(this,a,null,0)):this.A--}},function(){if(ig(this))if(this.O&
131072&&3>this.lc)y.call(this,13,0);else{var a=this.B.ek;this.Uc=-1;jk.call(this,4,null,a)}else this.A-=this.B.fk},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.B.bk;if(this.qa&1&&this.O&16384){var a=this.ja(this.la.ua+0);ie(this.Z,a,!1)}else{var a=this.Ma,b=fe(this),c=fe(this),d=fe(this);if(this.O&131072)d=d&131071|this.O&-131072;else if(d&131072){var e=fe(this),f=fe(this),g=fe(this),h=fe(this),k=fe(this),m=fe(this);je(this,!0,!0);ge(this,
f);he(this,e);oe(this,g);ne(this,h);this.Ga.load(k);this.Ha.load(m)}null!=te(this,b,c,!1)&&(se(this,d,a),this.ag&&Uf(this,this.da))}this.Vc=this.ta=-1}},function(){this.kd.call(this,Kk,dk)},function(){this.rb.call(this,2==this.V?Lk:Mk,dk)},function(){this.kd.call(this,Kk,ek)},function(){this.rb.call(this,2==this.V?Lk:Mk,ek)},function(){var a=this.ra();if(a){var b=this.D&255;this.D=this.D&-65536|b/a<<8|b%a;jg(this,this.D,128);this.A-=this.B.Hj}else mk.call(this)},function(){var a=this.D&255,b=(this.D>>
f);he(this,e);oe(this,g);ne(this,h);this.Ga.load(k);this.Ha.load(m)}null!=te(this,b,c,!1)&&(se(this,d,a),this.ag&&Uf(this,this.da))}this.Vc=this.ta=-1}},function(){this.kd.call(this,Kk,dk)},function(){this.ib.call(this,2==this.V?Lk:Mk,dk)},function(){this.kd.call(this,Kk,ek)},function(){this.ib.call(this,2==this.V?Lk:Mk,ek)},function(){var a=this.ra();if(a){var b=this.D&255;this.D=this.D&-65536|b/a<<8|b%a;jg(this,this.D,128);this.A-=this.B.Hj}else mk.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;cg(this,a,b,c,191);this.A-=this.B.Gj},function(){this.D=this.D&-256|(dg(this)?255:0);this.A-=2},function(){this.D=this.D&-256|zg(this,this.Da,this.G+(this.D&255));this.A-=this.B.Gk},function(){Rk.call(this,216)},function(){Rk.call(this,217)},function(){Rk.call(this,218)},function(){Rk.call(this,219)},function(){Rk.call(this,220)},function(){Rk.call(this,221)},function(){Rk.call(this,222)},function(){Rk.call(this,223)},function(){var a=this.S(),
b=this.I-1&this.wa;this.I=this.I&~this.wa|b;b&&!gg(this)?(C(this,A(this)+a),this.A-=this.B.mk):this.A-=this.B.Hh},function(){var a=this.S(),b=this.I-1&this.wa;this.I=this.I&~this.wa|b;b&&gg(this)?(C(this,A(this)+a),this.A-=this.B.Ih):this.A-=this.B.Jh},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.B.lk):this.A-=this.B.Hh},function(){var a=this.S();this.I&this.wa?this.A-=this.B.Jh:(C(this,A(this)+a),this.A-=this.B.Ih)},function(){var a=this.ra();
xg(this,a,1,!0)&&(this.D=this.D&-256|Pc(this.ka,a,1,this.da-2)&255,this.A-=this.B.Ch)},function(){var a=this.ra();xg(this,a,this.V,!0)&&(this.D=this.D&~this.R|Pc(this.ka,a,this.V,this.da-2)&this.R,this.A-=this.B.Ch)},function(){var a=this.ra();xg(this,a,1,!1)&&(Tc(this.ka,a,1,this.D&255,this.da-2),this.A-=this.B.Qh)},function(){var a=this.ra();xg(this,a,this.V,!1)&&(Tc(this.ka,a,this.V,this.D&this.R,this.da-2),this.A-=this.B.Qh)},function(){var a=this.Ea(),b=A(this),a=b+a;pe(this,b);C(this,a);this.A-=
this.B.Lj},function(){var a=this.Ea();C(this,A(this)+a);this.A-=this.B.Dh},function(){te(this,this.Ea(),Hg(this));this.A-=this.B.hk},function(){var a=this.S();C(this,A(this)+a);this.A-=this.B.Dh},function(){var a=this.L&65535;xg(this,a,1,!0)&&(this.D=this.D&-256|Pc(this.ka,a,1,this.da-1)&255,this.A-=this.B.Bh)},function(){var a=this.L&65535;xg(this,a,this.V,!0)&&(this.D=this.D&~this.R|Pc(this.ka,a,this.V,this.da-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.L&65535;xg(this,a,1,!1)&&(Tc(this.ka,
a,1,this.D&255,this.da-1),this.A-=this.B.Ph)},function(){var a=this.L&65535;xg(this,a,2,!1)&&(Tc(this.ka,a,this.V,this.D&this.R,this.da-1),this.A-=this.B.Ph)},Sk,Sk,function(){this.N|=132;this.A-=this.B.bd},function(){this.N|=68;this.A-=this.B.bd},function(){this.O&131072?y.call(this,13,0):(this.Za|=4,this.A-=2,this.ba&&t(this,-2147483648)?(bg(this),this.ba.Jb()):this.O&512||(this.ba&&bg(this),this.Jb()))},function(){dg(this)?lg(this):kg(this);this.A-=2},function(){this.vc=!1;this.kd.call(this,Xk,
gk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R)},function(){this.vc=!1;this.rb.call(this,Yk,gk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R,this.L=this.L&~this.R|this.$a&this.R)},function(){lg(this);this.A-=2},function(){kg(this);this.A-=2},function(){this.Ma>this.lc?y.call(this,13,0):(this.O&=-513,this.A-=this.B.Jj)},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.kd.call(this,
Be,gk)},function(){this.rb.call(this,Ce,gk)}],Fk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[mi,jj,ki,lj,oi,Oj,Wj,Ci],Uk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Vk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Fi,Fi,Fi,Fi,Fi,Fi,Fi],Kk=[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;og(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;og(this,c,d,128)}return c},
a,1,this.D&255,this.da-1),this.A-=this.B.Ph)},function(){var a=this.L&65535;xg(this,a,2,!1)&&(Tc(this.ka,a,this.V,this.D&this.R,this.da-1),this.A-=this.B.Ph)},Sk,Sk,function(){this.N|=132;this.A-=this.B.bd},function(){this.N|=68;this.A-=this.B.bd},function(){this.O&131072?y.call(this,13,0):(this.Xa|=4,this.A-=2,this.ba&&t(this,-2147483648)?(bg(this),this.ba.Jb()):this.O&512||(this.ba&&bg(this),this.Jb()))},function(){dg(this)?lg(this):kg(this);this.A-=2},function(){this.vc=!1;this.kd.call(this,Xk,
gk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R)},function(){this.vc=!1;this.ib.call(this,Yk,gk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R,this.L=this.L&~this.R|this.Ya&this.R)},function(){lg(this);this.A-=2},function(){kg(this);this.A-=2},function(){this.Ma>this.lc?y.call(this,13,0):(this.O&=-513,this.A-=this.B.Jj)},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.kd.call(this,
Be,gk)},function(){this.ib.call(this,Ce,gk)}],Fk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[mi,jj,ki,lj,oi,Oj,Wj,Ci],Uk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Vk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Fi,Fi,Fi,Fi,Fi,Fi,Fi],Kk=[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;og(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;og(this,c,d,128)}return c},
function(a,b){var c=a;if(b&=this.Ta){var d=pg(this);(b%=9)?(c=(a<<b|d<<b-1|a>>9-b)&255,d=a<<b-1):d<<=7;og(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=pg(this);(b%=9)?(c=(a>>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;og(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;8<b?c=0:(d=a<<b-1,c=d<<1&255);jg(this,c,128,d&128,(c^d)&128)}return c},function(a,b){if(b&=this.Ta)b=8<b?0:a>>>b-1,a=b>>>1&255,jg(this,a,128,b&1,a&128);return a},Fi,function(a,b){if(b&=this.Ta)9<b&&
(b=9),b=a<<24>>24>>b-1,a=b>>1&255,jg(this,a,128,b&1);return a}],Lk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<b-1,c=(a<<b|a>>16-b)&65535):d=a<<15;og(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;og(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=pg(this);(b%=17)?(c=(a<<b|d<<b-1|a>>17-b)&65535,d=a<<b-1):d<<=15;og(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=pg(this);(b%=17)?
(c=(a>>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;og(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;16<b?c=0:(d=a<<b-1,c=d<<1&65535);jg(this,c,32768,d&32768,(c^d)&32768)}return c},function(a,b){if(b&=this.Ta)b=16<b?0:a>>>b-1,a=b>>>1&65535,jg(this,a,32768,b&1,a&32768);return a},Fi,function(a,b){if(b&=this.Ta)17<b&&(b=17),b=a<<16>>16>>b-1,a=b>>1&65535,jg(this,a,32768,b&1);return a}],Mk=[function(a,b){var c=a;if(b&=this.Ta)c=a<<b|a>>>32-b,og(this,c,a<<b-1,-2147483648);return c},
@ -390,12 +390,12 @@ function(a,b){var c=a;if(b&=this.Ta){var d=a<<32-b,c=a>>>b|d;og(this,c,d,-214748
b&1,a&-2147483648);return a},Fi,function(a,b){if(b&=this.Ta)b=a>>b-1,a=b>>1,jg(this,a,-2147483648,b&1);return a}],Xk=[function(a,b){b=this.ra();jg(this,a&b,128);this.A-=-1===this.C?this.B.ai:this.B.$h;this.N|=2;return a},Fi,function(a){this.A-=-1===this.C?this.B.Ff:this.B.Ef;return a^255},function(a){var b=-a|0;cg(this,0,a,b,191,!0);this.A-=-1===this.C?this.B.Ff:this.B.Ef;return b&255},function(a){this.Ba=(this.D&255)*a&65535;this.Ba&65280?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=
-1===this.C?this.B.uk:this.B.tk;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?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=-1===this.C?this.B.Zj:this.B.Yj;this.N|=2;return a},function(a,b){if(!a)return mk.call(this),a;var c=(b=this.D&65535)/a;if(255<c)return mk.call(this),a;this.Ba=c&255|(b%a&255)<<8;this.vc=!0;this.A-=-1===this.C?this.B.Rj:this.B.Qj;this.N|=2;return a},function(a,b){if(!a)return mk.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 mk.call(this),a;this.Ba=d&255|(b%c&255)<<8;this.vc=!0;this.A-=-1===this.C?this.B.Vj:this.B.Uj;this.N|=2;return a}],Yk=[function(a,b){b=this.Ea();jg(this,a&b,this.Fb);this.A-=-1===this.C?this.B.ai:this.B.$h;this.N|=2;return a},Fi,function(a){this.A-=-1===this.C?this.B.Ff:this.B.Ef;return a^this.R},function(a){var b=-a|0;cg(this,0,a,b,this.Fb|63,!0);this.A-=-1===this.C?this.B.Ff:this.B.Ef;return b&this.R},function(a,b){2==this.V?
(b=this.D&65535,b=b*a|0,this.Ba=b&65535,this.$a=b>>16&65535):(Li.call(this,a,this.D),80563==this.we&&68657152==this.D&&129==a&&(this.$a=0));this.$a?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=-1===this.C?this.B.wk:this.B.vk;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.$a=b>>16&65535,b=32767<b||-32768>b):(Ki.call(this,a,this.D),b=this.$a!=this.Ba>>31);b?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=-1===this.C?
this.B.ak:this.B.$j;this.N|=2;return a},function(a,b){if(2==this.V){if(!a)return mk.call(this),a;b=65536*(this.L&65535)+(this.D&65535);var c=b/a;if(65536<=c)return mk.call(this),a;this.Ba=c&65535;this.$a=b%a&65535}else{if(!Zj.call(this,this.D,this.L,a))return mk.call(this),a;this.Ba|=0;this.$a|=0}this.vc=!0;this.A-=-1===this.C?this.B.Tj:this.B.Sj;this.N|=2;return a},function(a,b){if(2==this.V){if(!a)return mk.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 mk.call(this),a;this.Ba=d&65535;this.$a=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);!Zj.call(this,b,c,d)||this.Ba>2147483647+e||this.$a>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.$a=-this.$a),b=!0);if(!b)return mk.call(this),a;this.Ba|=0;this.$a|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],Be=[function(a){var b=a+1|0;cg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&
(b=this.D&65535,b=b*a|0,this.Ba=b&65535,this.Ya=b>>16&65535):(Li.call(this,a,this.D),80563==this.we&&68657152==this.D&&129==a&&(this.Ya=0));this.Ya?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=-1===this.C?this.B.wk:this.B.vk;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):(Ki.call(this,a,this.D),b=this.Ya!=this.Ba>>31);b?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=-1===this.C?
this.B.ak:this.B.$j;this.N|=2;return a},function(a,b){if(2==this.V){if(!a)return mk.call(this),a;b=65536*(this.L&65535)+(this.D&65535);var c=b/a;if(65536<=c)return mk.call(this),a;this.Ba=c&65535;this.Ya=b%a&65535}else{if(!Zj.call(this,this.D,this.L,a))return mk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Tj:this.B.Sj;this.N|=2;return a},function(a,b){if(2==this.V){if(!a)return mk.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 mk.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);!Zj.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 mk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],Be=[function(a){var b=a+1|0;cg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&
255},function(a){var b=a-1|0;cg(this,a,1,b,190,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&255},Fi,Fi,Fi,Fi,Fi,Fi],Ce=[function(a){var b=a+1|0;cg(this,a,1,b,this.Fb|62);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){var b=a-1|0;cg(this,a,1,b,this.Fb|62,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){pe(this,A(this));C(this,a);this.A-=-1===this.C?this.B.Pj:this.B.Oj;this.N|=2;return a},function(a){if(-1===this.C)return Fi.call(this,a);this.ta=
this.Aa;ik.call(this,a,this.ja(this.C+this.V));this.A-=this.B.Mj;this.N|=2;this.ta=-1;return a},function(a){C(this,a);this.A-=-1===this.C?this.B.jk:this.B.ik;this.N|=2;return a},function(a){if(-1===this.C)return Fi.call(this,a);te(this,a,this.ja(this.C+this.V));this.A-=this.B.gk;this.N|=2;return a},function(a){var b=a;this.N&512&&(a=a-2&65535,80286>this.ca&&(b=a));pe(this,b);this.A-=-1===this.C?this.B.Ic:this.B.Ak;this.N|=2;return a},Fi];
function hf(){this.ma.call(this,Sj);this.A-=-1===this.C?6:13}function jf(){this.za.call(this,Rj);this.A-=-1===this.C?12:19}var Xe=Array(256);Xe[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.rb.call(this,this.nj,gk)};Xe[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.rb.call(this,Zk,gk)};Xe[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Mi)};Xe[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Si)};
function hf(){this.ma.call(this,Sj);this.A-=-1===this.C?6:13}function jf(){this.za.call(this,Rj);this.A-=-1===this.C?12:19}var Xe=Array(256);Xe[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.ib.call(this,this.nj,gk)};Xe[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.ib.call(this,Zk,gk)};Xe[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Mi)};Xe[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Si)};
Xe[5]=function(){this.Ma?y.call(this,13,0,0,!0):(wg(this,this.ja(2054)),this.J=this.ja(2086),this.K=this.ja(2088),this.M=this.ja(2090),this.G=this.ja(2094),this.L=this.ja(2096),this.I=this.ja(2098),this.D=this.ja(2100),de(this.oa,2102,this.ja(2084)),de(this.Z,2108,this.ja(2082)),de(this.Y,2114,this.ja(2080)),de(this.Ca,2120,this.ja(2078)),se(this,this.ja(2072)),C(this,this.ja(2074)),he(this,this.ja(2092)),this.Kb=this.ja(2126)|this.Ia(2128)<<16,this.Pc=this.Kb+this.ja(2130),this.Pb=this.ja(2138)|
this.Ia(2140)<<16,this.cd=this.Pb+this.ja(2142),de(this.Eb,2132,this.ja(2076)),de(this.la,2144,this.ja(2070)),this.A-=195)};Xe[6]=function(){this.Ma?y.call(this,13,0):(this.qa&=-9,this.A-=2)};Xe[11]=Ee;Xe[166]=Ee;Xe[255]=Ee;var B=[];B[5]=Ee;
B[7]=function(){if(this.Ma)y.call(this,13,0,0,!0);else{var a=this.oa.bc(this.J&this.wa,204);if(-1!==a){bk.call(this,this.ia(a));var b=this.ia(a+168),c=(b&24576)>>13;se(this,this.ia(a+4),c);this.Kb=this.ia(a+112);this.Pc=this.Kb+this.ia(a+116);this.Pb=this.ia(a+100);this.cd=this.Pb+this.ia(a+104);be(this.Eb,this.ia(a+56),this.ia(a+120),this.ia(a+124),this.ia(a+128));be(this.la,this.ia(a+52),this.ia(a+84),this.ia(a+88),this.ia(a+92));this.J=this.ia(a+12);this.K=this.ia(a+16);this.M=this.ia(a+20);this.G=
@ -411,50 +411,50 @@ B[159]=function(){ck.call(this,Aj)};B[160]=function(){me(this,this.Ga.U,this.V,2
B[169]=function(){this.ta=this.Aa;var a=fe(this);this.Ha.load(a);this.A-=this.B.nc;this.ta=-1};B[171]=function(){this.za.call(this,Ai);-1!==this.C&&(this.A-=5)};B[172]=function(){this.za.call(this,2==this.V?Hj:Jj);this.A-=-1===this.C?3:7};B[173]=function(){this.za.call(this,2==this.V?Lj:Mj);this.A-=-1===this.C?3:7};B[175]=function(){this.ma.call(this,2==this.V?Hi:Ji)};B[178]=function(){this.ma.call(this,cj)};B[179]=function(){this.za.call(this,zi);-1!==this.C&&(this.A-=5)};
B[180]=function(){this.ma.call(this,Qi)};B[181]=function(){this.ma.call(this,Ri)};
B[182]=function(){this.kc.call(this,ej);switch(this.ga>>3&7){case 0:this.D=this.D&~this.R|this.D&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.L=this.L&~this.R|this.L&255;break;case 3:this.G=this.G&~this.R|this.G&255;break;case 4:this.Hc=this.Hc&~this.R|this.D>>8&255;this.D=this.ya;break;case 5:this.M=this.M&~this.R|this.I>>8&255;this.I=this.ya;break;case 6:this.K=this.K&~this.R|this.L>>8&255;this.L=this.ya;break;case 7:this.J=this.J&~this.R|this.G>>8&255,this.G=this.ya}this.A-=
-1===this.C?3:6};B[183]=function(){ke(this,2);this.ma.call(this,fj);switch(this.ga>>3&7){case 0:this.D=this.D&65535;break;case 1:this.I=this.I&65535;break;case 2:this.L=this.L&65535;break;case 3:this.G=this.G&65535;break;case 4:this.Hc=this.Hc&65535;break;case 5:this.M=this.M&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.C?3:6};B[186]=function(){this.rb.call(this,$k,this.ra)};B[187]=function(){this.za.call(this,yi);-1!==this.C&&(this.A-=5)};
-1===this.C?3:6};B[183]=function(){ke(this,2);this.ma.call(this,fj);switch(this.ga>>3&7){case 0:this.D=this.D&65535;break;case 1:this.I=this.I&65535;break;case 2:this.L=this.L&65535;break;case 3:this.G=this.G&65535;break;case 4:this.Hc=this.Hc&65535;break;case 5:this.M=this.M&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.C?3:6};B[186]=function(){this.ib.call(this,$k,this.ra)};B[187]=function(){this.za.call(this,yi);-1!==this.C&&(this.A-=5)};
B[188]=function(){this.ma.call(this,ri)};B[189]=function(){this.ma.call(this,si)};
B[190]=function(){this.kc.call(this,ej);switch(this.ga>>3&7){case 0:this.D=this.D&~this.R|(this.D&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.L=this.L&~this.R|(this.L&255)<<24>>24&this.R;break;case 3:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 4:this.Hc=this.Hc&~this.R|this.D<<16>>24&this.R;this.D=this.ya;break;case 5:this.M=this.M&~this.R|this.I<<16>>24&this.R;this.I=this.ya;break;case 6:this.K=this.K&~this.R|this.L<<16>>24&
this.R;this.L=this.ya;break;case 7:this.J=this.J&~this.R|this.G<<16>>24&this.R,this.G=this.ya}this.A-=-1===this.C?3:6};B[191]=function(){ke(this,2);this.ma.call(this,fj);switch(this.ga>>3&7){case 0:this.D=this.D<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.L=this.L<<16>>16;break;case 3:this.G=this.G<<16>>16;break;case 4:this.Hc=this.Hc<<16>>16;break;case 5:this.M=this.M<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.C?3:6};
var Wf=[function(){this.A-=2+(-1===this.C?0:1);return this.Eb.U},function(){this.A-=2+(-1===this.C?0:1);return this.la.U},function(a){this.N|=2;this.Eb.load(a);this.A-=17+(-1===this.C?0:2);return a},function(a){this.N|=2;-1!==this.la.load(a)&&(this.fb(this.la.Lb+4,this.la.jb|=512),this.la.type|=512);this.A-=17+(-1===this.C?0:2);return a},function(a){this.N|=2;this.A-=14+(-1===this.C?0:2);if(-1!==this.xb.load(a)&&2048!=(this.xb.jb&2560)&&(this.xb.qc>=this.Ma&&this.xb.qc>=(a&3)||7168==(this.xb.jb&7168)))return vg(this),
a;rg(this);return a},function(a){this.N|=2;this.A-=14+(-1===this.C?0:2);if(-1!==this.xb.load(a)&&512==(this.xb.jb&2560)&&this.xb.qc>=this.Ma&&this.xb.qc>=(a&3))return vg(this),a;rg(this);return a},Fi,Fi],De=[Ve,Ve,Ve,Ve,Ve,Ve,Fi,Fi],Zk=[function(a){if(-1===this.C)y.call(this,6);else{a=this.Pc-this.Kb;var b=this.Kb;80286==this.ca?b|=-16777216:80386<=this.ca&&2!=this.V&&(a|=b<<16);this.ab(this.C+2,b);this.A-=11}return a},function(a){if(-1===this.C)y.call(this,6);else{a=this.cd-this.Pb;var b=this.Pb;
var Wf=[function(){this.A-=2+(-1===this.C?0:1);return this.Eb.U},function(){this.A-=2+(-1===this.C?0:1);return this.la.U},function(a){this.N|=2;this.Eb.load(a);this.A-=17+(-1===this.C?0:2);return a},function(a){this.N|=2;-1!==this.la.load(a)&&(this.fb(this.la.Lb+4,this.la.lb|=512),this.la.type|=512);this.A-=17+(-1===this.C?0:2);return a},function(a){this.N|=2;this.A-=14+(-1===this.C?0:2);if(-1!==this.xb.load(a)&&2048!=(this.xb.lb&2560)&&(this.xb.qc>=this.Ma&&this.xb.qc>=(a&3)||7168==(this.xb.lb&7168)))return vg(this),
a;rg(this);return a},function(a){this.N|=2;this.A-=14+(-1===this.C?0:2);if(-1!==this.xb.load(a)&&512==(this.xb.lb&2560)&&this.xb.qc>=this.Ma&&this.xb.qc>=(a&3))return vg(this),a;rg(this);return a},Fi,Fi],De=[Ve,Ve,Ve,Ve,Ve,Ve,Fi,Fi],Zk=[function(a){if(-1===this.C)y.call(this,6);else{a=this.Pc-this.Kb;var b=this.Kb;80286==this.ca?b|=-16777216:80386<=this.ca&&2!=this.V&&(a|=b<<16);this.ab(this.C+2,b);this.A-=11}return a},function(a){if(-1===this.C)y.call(this,6);else{a=this.cd-this.Pb;var b=this.Pb;
80286==this.ca?b|=-16777216:80386<=this.ca&&2!=this.V&&(a|=b<<16);this.ab(this.C+2,b);this.A-=12}return a},function(a){-1===this.C||this.O&131072?y.call(this,6):(this.Kb=this.ia(this.C+2)&(this.R|this.R<<8),a&=65535,this.Pc=this.Kb+a,this.N|=2,this.A-=11);return a},function(a){-1===this.C||this.O&131072?y.call(this,6):(this.Pb=this.ia(this.C+2)&(this.R|this.R<<8),a&=65535,this.cd=this.Pb+a,this.N|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.C?0:1);return this.qa},Fi,function(a){this.O&
131072?y.call(this,6):(wg(this,a),this.A-=-1===this.C?3:6,this.N|=2);return a},Fi],$k=[Fi,Fi,Fi,Fi,ti,wi,vi,ui];
function al(a){nb.call(this,"ChipSet",a,32768);var b=a.model;b&&!bl[b]&&hb("Unrecognized ChipSet model: "+b);this.ca=bl[b]||cl;this.C=[];b=dl(a[el]);this.C[0]=[b,b];null==b&&(this.N=[360,360],(b=a.floppies)&&b.length&&(this.N=b),fl(this,gl,this.N.length),fl(this,hl,a.monitor||(this.ca<eh?"mono":"ega")));b=dl(a[il]);this.C[1]=[b,b];this.za=this.ha=1;this.ca>=eh&&(this.za=this.ha=2);this.O=a.scaleTimers||!1;this.Ma=a.rtcDate;this.Ga=!1;a.sound&&(this.Da=this.la=null,window&&(this.Da=window.AudioContext||
window.webkitAudioContext),this.Da&&(this.la=new this.Da));this.reset(!0);Jb(this)}ba(al,nb);l=al.prototype;l.Cb=function(a,b,c){switch(b){case el:return this.na[b]=c,jl(this,0,b),!0;case il:if((this.ca|0)==kl||this.ca==ll)return this.na[b]=c,jl(this,1,b),!0;break;case ml:return this.na[b]=c,!0}return!1};
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.Tc=Xb(a,"FPU");fl(this,nl,this.Tc?1:0,!0);this.B=Xb(a,"Keyboard");this.Ba=c.T.sd/ol;Oc(b,this,pl);Sc(b,this,ql);this.ca<eh?this.ca!=ll?(Oc(b,this,rl),Sc(b,this,sl)):(Oc(b,this,tl),Sc(b,this,ul)):(Oc(b,this,vl),Sc(b,this,wl),(this.ca|0)==xl&&(Oc(b,this,yl),Sc(b,this,zl)));if(d){var e=this;Al(d,1024,function(){for(var a=0;a<e.hc.length;a++){for(var b=e.hc[a],c="PIC"+a+":",d=0;d<b.Kc.length;d++)c+=" IC"+(d+1)+"="+r(b.Kc[d]);c+=" IMR="+
r(b.od)+" IRR="+r(b.ac)+" ISR="+r(b.Ec)+" DELAY="+b.We;e.ba.P(c)}});Al(d,2048,function(a){a=(a=a[0])?+a:null;for(var b=0;b<e.G.length;b++)if(null==a||b==a){Bl(e,b);var c=e.G[b],d="TIMER"+b+":",f=0;if(null!=c.ad)for(var p=0;p<=c.ad;p++)f|=c.nb[p]<<8*p;d+=" mode="+(c.mode>>1)+" bytes="+c.ad+" count="+ta(f);e.ba.P(d)}});Al(d,4096,function(){for(var a="",b=0;b<Cl;b++){var c=b<=Dl?El(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+r(b)+"]: "+r(c)}e.ba.P(a)})}Sf(c,26,this.Xm.bind(this))};
r(b.od)+" IRR="+r(b.ac)+" ISR="+r(b.Ec)+" DELAY="+b.We;e.ba.P(c)}});Al(d,2048,function(a){a=(a=a[0])?+a:null;for(var b=0;b<e.G.length;b++)if(null==a||b==a){Bl(e,b);var c=e.G[b],d="TIMER"+b+":",f=0;if(null!=c.ad)for(var p=0;p<=c.ad;p++)f|=c.pb[p]<<8*p;d+=" mode="+(c.mode>>1)+" bytes="+c.ad+" count="+ta(f);e.ba.P(d)}});Al(d,4096,function(){for(var a="",b=0;b<Cl;b++){var c=b<=Dl?El(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+r(b)+"]: "+r(c)}e.ba.P(a)})}Sf(c,26,this.Xm.bind(this))};
l.Xb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};
l.reset=function(a){var b;Fl(this);this.F=Array(this.za);for(b=0;b<this.za;b++)Gl(this,b);this.hc=Array(this.ha);Hl(this,Il,Jl);1<this.ha&&Hl(this,Kl,Ll);this.va=this.ta=null;this.G=Array((this.ca|0)==xl?6:3);for(b=0;b<this.G.length;b++)Ml(this,b);this.ga=this.Ca=this.J=this.ya=null;this.da=ih;this.ca==ll&&(this.aa=0);if(this.ca>=eh){this.D=Nl;this.L=0;this.K=Ol;this.oa=0;this.M=Pl|Ql;512<=Rl(this)&&(this.M|=Sl);+Tl(this,hl,void 0)==Ul&&(this.M|=Vl);(this.ca|0)==xl&&(this.M=this.M|Wl|Xl);this.qa=
Yl|Zl;this.Y=Array(8);this.W=0;a&&(this.A=Array(Cl));$l(this,this.Ma);for(a=am;a<=bm;a++)this.A[a]=0;for(a=cm;a<dm;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Tl(this,hl,void 0)<<em.Mg&em.yc;a|=+Tl(this,nl,void 0)?fm:0;b=+Tl(this,gl,void 0);a|=b?b-1<<gm.Mg&gm.yc|gm.ol:0;this.A[hm]=a;this.A[im]=jm(this,0)<<4|jm(this,1);km(this)}};
function $l(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.P("CMOS date invalid ("+b+"), using "+c)):b&&a.P("CMOS date: "+c);a.A[lm]=c.getSeconds();a.A[mm]=0;a.A[nm]=c.getMinutes();a.A[om]=0;a.A[pm]=c.getHours();a.A[Hm]=0;a.A[Im]=c.getDay()+1;a.A[Jm]=c.getDate();a.A[Km]=c.getMonth()+1;b=c.getFullYear();a.A[Lm]=b%100;b/=100;a.A[Mm]=b%10|b/10<<4;a.A[Nm]=38;a.A[Rd]=Om;a.A[Pm]=0;a.A[Dl]=Qm;a.ma=a.Z=0;a.Ha=a.Aa=null}
function El(a,b){var c=a.A[b];if(b<Nm){var d=!1;b!=pm&&b!=Hm||a.A[Rd]&Om||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[Rd]&Rm||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else b==Nm&&(a.A[b]^=Sm);return c}function Tm(a){var b;void 0===b&&(b=a.Aa);a.Z=Ed(a.H,a.O)+b;a.A[Rd]&Td&&Gd(a.H,b)}function km(a){for(var b=0,c=im;c<dm;c++)b+=a.A[c];a.A[Um]=b&255;a.A[dm]=b>>8}
l.save=function(){var a=new Xf(this);a.set(0,[this.C]);for(var b=[],c=0;c<this.F;c++){for(var d=this.F[c],e=d,f=[],g=0;g<e.oc.length;g++){var h=e.oc[g];f[g]=[h.ne,h.fg,h.pc,h.sb,h.nb,h.mode,h.hg,h.Oo,h.Po]}b[c]=[d.Mb,d.Xg,d.Xi,d.zb,f,d.Yi]}a.set(1,[b]);b=[];for(c=0;c<this.hc.length;c++)d=this.hc[c],b[c]=[d.We,d.Kc,d.Ld,d.od,d.ac,d.Ec,d.ge,d.nf];a.set(2,[b]);b=[];for(c=0;c<this.G.length;c++)d=this.G[c],b[c]=[d.pc,d.Mc,d.nb,d.je,d.Zg,d.mode,d.Qf,d.rd,d.ad,d.gd,d.Me,d.le,d.jd,d.Mb,d.Qe];a.set(3,[this.ta,
l.save=function(){var a=new Xf(this);a.set(0,[this.C]);for(var b=[],c=0;c<this.F;c++){for(var d=this.F[c],e=d,f=[],g=0;g<e.oc.length;g++){var h=e.oc[g];f[g]=[h.ne,h.fg,h.pc,h.sb,h.pb,h.mode,h.hg,h.Oo,h.Po]}b[c]=[d.Mb,d.Xg,d.Xi,d.zb,f,d.Yi]}a.set(1,[b]);b=[];for(c=0;c<this.hc.length;c++)d=this.hc[c],b[c]=[d.We,d.Kc,d.Ld,d.od,d.ac,d.Ec,d.ge,d.nf];a.set(2,[b]);b=[];for(c=0;c<this.G.length;c++)d=this.G[c],b[c]=[d.pc,d.Mc,d.pb,d.je,d.Zg,d.mode,d.Qf,d.rd,d.ad,d.gd,d.Me,d.le,d.jd,d.Mb,d.Qe];a.set(3,[this.ta,
b,this.va]);a.set(4,[this.ya,this.J,this.Ca,this.ga,this.da]);this.ca>=eh&&(a.set(5,[this.D,this.L,this.K,this.oa,this.M,this.qa]),a.set(6,[this.Y[7],this.Y,this.W,this.A,this.ma,this.Z]));return a.data()};
l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Fl(this);b=a[1];for(c=0;c<this.za;c++)Gl(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.ha;c++)Hl(this,c,c?Ll:Jl,b[0][c]);b=a[3];this.ta=b[0];this.va=b[2];for(c=0;c<this.G.length;c++)Ml(this,c,b[1][c]);b=a[4];this.ya=b[0];this.J=b[1];this.Ca=b[2];this.ga=b[3];this.da=b[4];if(b=a[5])this.D=b[0],this.L=b[1],this.K=b[2],this.oa=b[3],this.M=b[4],this.qa=
b[5];if(b=a[6])this.Y=b[1],this.Y[7]=b[0],this.W=b[2],this.A=b[3],this.ma=b[4],this.Z=b[5],$l(this);return!0};l.start=function(){Vm(this)};l.stop=function(){Vm(this)};function Gl(a,b,c){var d=a.F[b];d||(d={oc:Array(4)});c=c&&5<=c.length?c:Wm;d.Mb=c[0];d.Xg=c[1];d.Xi=c[2];d.zb=c[3];d.jn=b<<2;for(var e=0;e<d.oc.length;e++)Xm(d,e,c[4][e]);d.Yi=c[5]||0;a.F[b]=d}
function Xm(a,b,c){var d=a.oc[b];d||(d={fg:[0,0],pc:[0,0],sb:[0,0],nb:[0,0]});c=c&&8==c.length?c:Ym;d.ne=c[0];d.fg[0]=c[1][0];d.fg[1]=c[1][1];d.pc[0]=c[2][0];d.pc[1]=c[2][1];d.sb[0]=c[3][0];d.sb[1]=c[3][1];d.nb[0]=c[4][0];d.nb[1]=c[4][1];d.mode=c[5];d.hg=c[6];d.controller=a;d.yj=b;Zm(d,c[8],c[9]);a.oc[b]=d}function Zm(a,b,c,d){"string"==typeof b&&(b=ub(b));b&&(a.done=null,a.Oo=b.id,a.Po=c,a.mg=b,a.eh=b[c],a.Ag=d)}
function Xm(a,b,c){var d=a.oc[b];d||(d={fg:[0,0],pc:[0,0],sb:[0,0],pb:[0,0]});c=c&&8==c.length?c:Ym;d.ne=c[0];d.fg[0]=c[1][0];d.fg[1]=c[1][1];d.pc[0]=c[2][0];d.pc[1]=c[2][1];d.sb[0]=c[3][0];d.sb[1]=c[3][1];d.pb[0]=c[4][0];d.pb[1]=c[4][1];d.mode=c[5];d.hg=c[6];d.controller=a;d.yj=b;Zm(d,c[8],c[9]);a.oc[b]=d}function Zm(a,b,c,d){"string"==typeof b&&(b=ub(b));b&&(a.done=null,a.Oo=b.id,a.Po=c,a.mg=b,a.eh=b[c],a.Ag=d)}
function Hl(a,b,c,d){var e=a.hc[b];e||(e={Kc:[null,null,null,null]});d=d&&8==d.length?d:$m;e.port=c;e.bq=b<<3;e.We=d[0];e.Kc[0]=d[1][0];e.Kc[1]=d[1][1];e.Kc[2]=d[1][2];e.Kc[3]=d[1][3];e.Ld=d[2];e.od=d[3];e.ac=d[4];e.Ec=d[5];e.ge=d[6];e.nf=d[7];a.hc[b]=e}
function Ml(a,b,c){var d=a.G[b];d||(d={pc:[0,0],Mc:[0,0],nb:[0,0],je:[0,0]});c=c&&13<=c.length?c:an;d.pc[0]=c[0][0];d.pc[1]=c[0][1];d.Mc[0]=c[1][0];d.Mc[1]=c[1][1];d.nb[0]=c[2][0];d.nb[1]=c[2][1];d.je[0]=c[3][0];d.je[1]=c[3][1];d.Zg=c[4];d.mode=c[5];d.Qf=c[6];d.rd=c[7];d.ad=c[8];d.gd=c[9];d.Me=c[10];d.le=c[11];d.jd=c[12];d.Mb=c[13]||0;d.Qe=c[14]||!1;a.G[b]=d}
function Ml(a,b,c){var d=a.G[b];d||(d={pc:[0,0],Mc:[0,0],pb:[0,0],je:[0,0]});c=c&&13<=c.length?c:an;d.pc[0]=c[0][0];d.pc[1]=c[0][1];d.Mc[0]=c[1][0];d.Mc[1]=c[1][1];d.pb[0]=c[2][0];d.pb[1]=c[2][1];d.je[0]=c[3][0];d.je[1]=c[3][1];d.Zg=c[4];d.mode=c[5];d.Qf=c[6];d.rd=c[7];d.ad=c[8];d.gd=c[9];d.Me=c[10];d.le=c[11];d.jd=c[12];d.Mb=c[13]||0;d.Qe=c[14]||!1;a.G[b]=d}
function jl(a,b,c){for(var d="",e=a.na[c],f=1;8>=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='<div id="'+(c+"-"+f)+'" class="'+g+'" data-value="0">'+f+"</div>\n"}e.innerHTML=d;bn(a,b,c,!0)}function cn(a,b,c){if(b=(a=dn[a.ca|0])&&a[b])for(var d in b)if(a=b[d],a.yc&1<<c)return a;return null}
function Tl(a,b,c){for(var d=null,e=dn[a.ca]||dn[a.ca|0]||dn[kl],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b])){a=a.C[f][c?0:1]&g.yc;for(var h in g.Zc)if(g.Zc[h]==a&&(d=h,"number"==typeof+d))break;break}}return d}function jm(a,b){if(b<+Tl(a,gl,void 0)){if(!a.N)return en;if(b<a.N.length)switch(a.N[b]){case 160:case 180:case 320:case 360:return en;case 720:return fn;case 1200:return gn;case 1440:return hn}}return jn}function Rl(a,b){return+Tl(a,kn,b)+ +Tl(a,ln,b)}
function dl(a,b){if(a){b=0;for(var c=1,d=0;d<a.length;d++)"0"==a.charAt(d)&&(b|=c),c<<=1}return b}function fl(a,b,c,d){for(var e=dn[a.ca]||dn[a.ca|0]||dn[kl],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b]))for(var h in g.Zc)if(h==c){a.C[f][d?0:1]&=~g.yc;a.C[f][d?0:1]|=g.Zc[h];return}}}function mn(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Fl(a){bn(a,0,el);bn(a,1,il);nn(a)}
function bn(a,b,c,d){if(c=a.na[c]){d=d?a.C[b][0]:a.C[b][1]=a.C[b][0];c=Ab(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=cn(a,b,e);c[e].setAttribute("title",f&&f.Ed||"Reserved");mn(c[e],!(d&1<<e));c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");mn(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case el:a.C[0][0]=a.C[0][0]&~e|(c?0:e);break;case il:a.C[1][0]=a.C[1][0]&~e|(c?0:e)}nn(a)}}(a,c[e])}}}
function nn(a){var b=a.na[ml];if(null!=b){var c;c=""+(Rl(a,!0)+"Kb");c+=", "+(+ +Tl(a,nl,!0)?"":"No ")+"FPU";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+Tl(a,hl,!0)]+" Monitor";c+=", "+ +Tl(a,gl,!0)+" Floppy Drives";if(null!=a.C[0][1]&&a.C[0][1]!=a.C[0][0]||null!=a.C[1][1]&&a.C[1][1]!=a.C[1][0])c+=" (Reset required)";b.textContent=c}}
function on(a,b,c,d,e){var f=a.F[b],g=f.oc[c],h=g.sb[f.zb];t(a,768)&&v(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.zb+"]",h,!0);f.zb^=1;b||c!=pn||f.zb||(g.sb[0]++,255<g.sb[0]&&(g.sb[0]=0,g.sb[1]++,255<g.sb[1]&&(g.sb[1]=0)));return h}function qn(a,b,c,d,e,f){var g=a.F[b];t(a,768)&&v(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.zb+"]",null,!0);a=g.oc[c];a.sb[g.zb]=a.fg[g.zb]=e;g.zb^=1}
function rn(a,b,c,d,e){var f=a.F[b],g=f.oc[c],h=g.nb[f.zb];t(a,768)&&v(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.zb+"]",h,!0);f.zb^=1;b||c!=pn||f.zb||(g.nb[0]--,0>g.nb[0]&&(g.nb[0]=255,g.nb[1]--,0>g.nb[1]&&(g.nb[1]=255)));return h}function sn(a,b,c,d,e,f){var g=a.F[b];t(a,768)&&v(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.zb+"]",null,!0);a=g.oc[c];a.nb[g.zb]=a.pc[g.zb]=e;g.zb^=1}function tn(a,b,c,d){var e=a.F[b],f=e.Mb|un;e.Mb&=~vn;t(a,768)&&v(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function rn(a,b,c,d,e){var f=a.F[b],g=f.oc[c],h=g.pb[f.zb];t(a,768)&&v(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.zb+"]",h,!0);f.zb^=1;b||c!=pn||f.zb||(g.pb[0]--,0>g.pb[0]&&(g.pb[0]=255,g.pb[1]--,0>g.pb[1]&&(g.pb[1]=255)));return h}function sn(a,b,c,d,e,f){var g=a.F[b];t(a,768)&&v(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.zb+"]",null,!0);a=g.oc[c];a.pb[g.zb]=a.pc[g.zb]=e;g.zb^=1}function tn(a,b,c,d){var e=a.F[b],f=e.Mb|un;e.Mb&=~vn;t(a,768)&&v(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function wn(a,b,c,d,e){var f=a.F[b];t(a,768)&&v(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Mb=f.Mb&~(16<<a)|(d&4)<<a+2;f.Xi=d}function xn(a,b,c,d,e){var f=a.F[b];t(a,768)&&v(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&yn;c=f.oc[b];c.ne=!!(d&zn);c.ne||An(a,f.jn+b)}function Bn(a,b,c,d,e){t(a,768)&&v(a,c,d,e,"DMA"+b+".MODE",null,!0);a.F[b].oc[d&Cn].mode=d}function Dn(a,b,c,d){var e=a.F[b].Yi;t(a,768)&&v(a,c,null,d,"DMA"+b+".TEMP",e,!0);return e}
function En(a,b,c,d,e){t(a,768)&&v(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.F[b];for(b=0;b<a.oc.length;b++)Xm(a,b)}function Fn(a,b,c,d,e){var f=a.F[b].oc[c].hg;t(a,768)&&v(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function Gn(a,b,c,d,e,f){t(a,768)&&v(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.F[b].oc[c].hg=e}function Hn(a,b,c,d){var e=a.Y[b];t(a,768)&&v(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function In(a,b,c,d,e){t(a,768)&&v(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Y[b]=d}function Jn(a,b,c,d,e){Zm(a.F[b>>2].oc[b&3],c,d,e)}function An(a,b,c){b=a.F[b>>2].oc[b&3];b.mg&&b.eh&&b.Ag?(c&&(b.done=c),b.ne||Kn(a,b,!0)):c&&c(!0)}
function Kn(a,b,c){c&&(b.count=b.nb[1]<<8|b.nb[0],b.type=b.mode&Ln,b.rj=b.ng=!1);for(var d=!1;0<=b.count&&(c=b.hg<<16|b.sb[1]<<8|b.sb[0],b.type==Mn?(d=!0,function(c){b.eh.call(b.mg,b.Ag,-1,function(e,g){0>e&&(b.rj||(b.rj=!0),e=255);b.ne||a.ka.fc(c,e);(d=g)&&setTimeout(function(){Nn(b)||Kn(a,b)},0)})}(c)):b.type==On?(c=a.ka.Ia(c),0>b.eh.call(b.mg,b.Ag,c)&&(b.ng=!0)):b.type!=Pn&&(b.ng=!0)),!d&&!Nn(b););}
function Kn(a,b,c){c&&(b.count=b.pb[1]<<8|b.pb[0],b.type=b.mode&Ln,b.rj=b.ng=!1);for(var d=!1;0<=b.count&&(c=b.hg<<16|b.sb[1]<<8|b.sb[0],b.type==Mn?(d=!0,function(c){b.eh.call(b.mg,b.Ag,-1,function(e,g){0>e&&(b.rj||(b.rj=!0),e=255);b.ne||a.ka.fc(c,e);(d=g)&&setTimeout(function(){Nn(b)||Kn(a,b)},0)})}(c)):b.type==On?(c=a.ka.Ia(c),0>b.eh.call(b.mg,b.Ag,c)&&(b.ng=!0)):b.type!=Pn&&(b.ng=!0)),!d&&!Nn(b););}
function Nn(a){if(!a.ng&&0<=--a.count&&(a.mode&Qn?(a.sb[0]--,0>a.sb[0]&&(a.sb[0]=255,a.sb[1]--,0>a.sb[1]&&(a.sb[1]=255))):(a.sb[0]++,255<a.sb[0]&&(a.sb[0]=0,a.sb[1]++,255<a.sb[1]&&(a.sb[1]=0))),!a.ne))return!1;var b=a.controller;b.Mb=b.Mb&~(16<<a.yj)|1<<a.yj;a.mode&Rn||(a.ne=!0,a.mg=a.Ag=null);a.done&&(a.done(!a.ng),a.done=null);return!0}function Sn(a,b,c){var d=0,e=a.hc[b];if(null!=e.nf)switch(e.nf&Tn){case Un:d=e.ac;break;case Vn:d=e.Ec}t(a,34048)&&v(a,e.port,null,c,"PIC"+b,d,!0);return d}
function Wn(a,b,c,d){var e=a.hc[b];t(a,34048)&&v(a,e.port,c,d,"PIC"+b,null,!0);if(c&Xn)e.Ld=0,e.Kc[e.Ld++]=c,e.od=0,e.ge=7,e.ac=e.Ec=0,e.nf=Yn|Un;else if(c&Yn)c&(Zn|$n)&&t(a,1073741824)&&Mb(a,"PIC"+b+"("+r(e.port)+"): unsupported OCW3 command "+r(c),!0,!0),e.nf=c;else if(d=c&ao,d&bo){var f,g=0;if((d&co)==co)f=c&eo,g=1<<f;else for(f=e.ge+1;;){f&=7;var h=1<<f;if(e.Ec&h){g=h;break}if(f++==e.ge)break}e.Ec&g&&(e.Ec&=~g,fo(a));d&go&&t(a,1073741824)&&Mb(a,"PIC"+b+"("+r(e.port)+"): unsupported OCW2 rotate command "+
r(c),!0,!0)}else d==ho?e.ge=c&eo:t(a,1073741824)&&Mb(a,"PIC"+b+"("+r(e.port)+"): unsupported OCW2 automatic EOI command "+r(c),!0,!0)}function io(a,b,c){var d=a.hc[b],e=d.od;t(a,34048)&&v(a,d.port+1,null,c,"PIC"+b,e,!0);return e}function jo(a,b,c,d){var e=a.hc[b];t(a,34048)&&v(a,e.port+1,c,d,"PIC"+b,null,!0);e.Ld<e.Kc.length?(e.Kc[e.Ld++]=c,2==e.Ld&&e.Kc[0]&ko&&e.Ld++,3!=e.Ld||e.Kc[0]&lo||e.Ld++):(e.od=c,d=a.H,d.N|=4,fo(a,b||253!=c?0:6))}
function hh(a,b,c){var d=a.hc[b>>3];b=1<<(b&7);d.ac&b||(d.ac|=b,d.We=c||0,fo(a))}function fh(a,b){var c=a.hc[b>>3];b=1<<(b&7);c.ac&b&&(c.ac&=~b,fo(a))}function fo(a,b){var c,d=-1;1<a.ha&&(c=a.hc[1],d=~(c.Ec|c.od)&c.ac);c=a.hc[0];0<=d&&(c.ac=d?c.ac|1<<mo:c.ac&~(1<<mo));d=~(c.Ec|c.od)&c.ac;a=a.H;a.W&&(a.Za=d?a.Za|1:a.Za&-2);d&&b&&(c.We=b)}
function Kg(a,b){void 0===b&&(b=0);var c=-1,d=a.hc[b];if(d.We)c=-2,d.We--;else for(var e=d.ac&((d.Ec|d.od)^255),f=d.ge+1;;){var f=f&7,g=1<<f;if(d.Ec&g)break;if(e&g){b||f!=mo?c=d.Kc[1]+f:c=Kg(a,1);0<=c&&(d.Ec|=g,d.ac&=~g);break}if(f++==d.ge)break}return c}function no(a,b,c,d,e){var f;f=b?3:0;var g=a.G[f+c];g.Qe?(f=g.Mb,g.Qe=!1):(g.rd==g.ad&&oo(a,f+c),g.Me?(f=g.je[g.rd++],g.rd==g.ad&&(g.Me=!1)):(Bl(a,f+c),f=g.nb[g.rd++]));t(a,2304)&&v(a,d,null,e,"PIT"+b+".TIMER"+c,f,!0);return f}
function po(a,b,c,d,e,f){t(a,2304)&&v(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:0;d=a.G[f+c];d.rd==d.ad&&oo(a,f+c);d.pc[d.rd++]=e;d.rd==d.ad&&(d.le&&d.mode!=qo&&d.mode!=ro||(d.Me=!1,d.nb[0]=d.Mc[0]=d.pc[0],d.nb[1]=d.Mc[1]=d.pc[1],d.jd=Ed(a.H,a.O),d.le=!0,d.gd=d.mode!=qo,b==so&&c==to&&(fh(a,uo),e=vo(a,to)*a.Ba|0,d.mode==Qd&&(e>>=1),Gd(a.H,e))),b==so&&c==wo&&Vm(a))}function xo(a,b,c,d){v(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.va:a.ta}
function yo(a,b,c,d,e){v(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&zo;b?(e=3,a.va=d):a.ta=d;if(c==Ao){if(!(d&Bo))for(c=0;2>=c;c++)if(d&Co<<c){b=e+c;var f=a.G[b];f.Qe||(Bl(a,b),f.Mb=f.Zg|f.mode|f.Qf|(f.rd<f.ad?Do:0)|(f.gd?Eo:0),f.Qe=!0)}if(!(d&Fo))for(c=0;2>=c;c++)d&Co<<c&&Go(a,e+c)}else{c>>=Ho;var f=d&Io,g=d&Jo;d&=Ko;if(d==Lo)Go(a,e+c);else{e+=c;var h=a.G[e];h.Qf=d;h.mode=g;h.Zg=f;h.pc=[0,0];h.nb=[0,0];h.je=[0,0];h.gd=!1;h.Me=!1;h.le=!1;h.Qe=!1;oo(a,e);b==so&&c==to&&fh(a,uo);b==so&&c==wo&&255==a.hc[0].od&&
a.J==(Mo|No|Oo|Po)&&(b=a.G[0],b.Mc[0]=b.pc[0],b.Mc[1]=b.pc[1],b.jd=Ed(a.H,a.O))}}}function vo(a,b){a=a.G[b];(b=a.pc[1]<<8|a.pc[0])||(b=1==a.ad?256:65536);return b}function Pd(a,b){a=a.G[b];(b=a.Mc[1]<<8|a.Mc[0])||(b=1==a.ad?256:65536);return b}function Go(a,b){Bl(a,b);var c=a.G[b];c.je[0]=c.nb[0];c.je[1]=c.nb[1];c.Me=!0;oo(a,b)}function oo(a,b){a=a.G[b];a.rd=a.Qf==Qo?1:0;a.ad=a.Qf==Ro?2:1}
function Bl(a,b,c){var d=a.G[b];if(d.le&&(b!=wo||a.J&Mo)){var e=Ed(a.H,a.O),f=(e-d.jd)/a.Ba|0;0>f&&(d.jd=e,f=0);var g=vo(a,b),h=Pd(a,b)-f;d.mode==qo?(0>=h&&(h=0),h||(d.gd=!0,d.le=!1,b||hh(a,uo))):d.mode==So?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo))):d.mode==Qd&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo)));d.nb[0]=h&255;d.nb[1]=h>>8&255;c&&(a.jd=0)}return d}
function hh(a,b,c){var d=a.hc[b>>3];b=1<<(b&7);d.ac&b||(d.ac|=b,d.We=c||0,fo(a))}function fh(a,b){var c=a.hc[b>>3];b=1<<(b&7);c.ac&b&&(c.ac&=~b,fo(a))}function fo(a,b){var c,d=-1;1<a.ha&&(c=a.hc[1],d=~(c.Ec|c.od)&c.ac);c=a.hc[0];0<=d&&(c.ac=d?c.ac|1<<mo:c.ac&~(1<<mo));d=~(c.Ec|c.od)&c.ac;a=a.H;a.W&&(a.Xa=d?a.Xa|1:a.Xa&-2);d&&b&&(c.We=b)}
function Kg(a,b){void 0===b&&(b=0);var c=-1,d=a.hc[b];if(d.We)c=-2,d.We--;else for(var e=d.ac&((d.Ec|d.od)^255),f=d.ge+1;;){var f=f&7,g=1<<f;if(d.Ec&g)break;if(e&g){b||f!=mo?c=d.Kc[1]+f:c=Kg(a,1);0<=c&&(d.Ec|=g,d.ac&=~g);break}if(f++==d.ge)break}return c}function no(a,b,c,d,e){var f;f=b?3:0;var g=a.G[f+c];g.Qe?(f=g.Mb,g.Qe=!1):(g.rd==g.ad&&oo(a,f+c),g.Me?(f=g.je[g.rd++],g.rd==g.ad&&(g.Me=!1)):(Bl(a,f+c),f=g.pb[g.rd++]));t(a,2304)&&v(a,d,null,e,"PIT"+b+".TIMER"+c,f,!0);return f}
function po(a,b,c,d,e,f){t(a,2304)&&v(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:0;d=a.G[f+c];d.rd==d.ad&&oo(a,f+c);d.pc[d.rd++]=e;d.rd==d.ad&&(d.le&&d.mode!=qo&&d.mode!=ro||(d.Me=!1,d.pb[0]=d.Mc[0]=d.pc[0],d.pb[1]=d.Mc[1]=d.pc[1],d.jd=Ed(a.H,a.O),d.le=!0,d.gd=d.mode!=qo,b==so&&c==to&&(fh(a,uo),e=vo(a,to)*a.Ba|0,d.mode==Qd&&(e>>=1),Gd(a.H,e))),b==so&&c==wo&&Vm(a))}function xo(a,b,c,d){v(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.va:a.ta}
function yo(a,b,c,d,e){v(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&zo;b?(e=3,a.va=d):a.ta=d;if(c==Ao){if(!(d&Bo))for(c=0;2>=c;c++)if(d&Co<<c){b=e+c;var f=a.G[b];f.Qe||(Bl(a,b),f.Mb=f.Zg|f.mode|f.Qf|(f.rd<f.ad?Do:0)|(f.gd?Eo:0),f.Qe=!0)}if(!(d&Fo))for(c=0;2>=c;c++)d&Co<<c&&Go(a,e+c)}else{c>>=Ho;var f=d&Io,g=d&Jo;d&=Ko;if(d==Lo)Go(a,e+c);else{e+=c;var h=a.G[e];h.Qf=d;h.mode=g;h.Zg=f;h.pc=[0,0];h.pb=[0,0];h.je=[0,0];h.gd=!1;h.Me=!1;h.le=!1;h.Qe=!1;oo(a,e);b==so&&c==to&&fh(a,uo);b==so&&c==wo&&255==a.hc[0].od&&
a.J==(Mo|No|Oo|Po)&&(b=a.G[0],b.Mc[0]=b.pc[0],b.Mc[1]=b.pc[1],b.jd=Ed(a.H,a.O))}}}function vo(a,b){a=a.G[b];(b=a.pc[1]<<8|a.pc[0])||(b=1==a.ad?256:65536);return b}function Pd(a,b){a=a.G[b];(b=a.Mc[1]<<8|a.Mc[0])||(b=1==a.ad?256:65536);return b}function Go(a,b){Bl(a,b);var c=a.G[b];c.je[0]=c.pb[0];c.je[1]=c.pb[1];c.Me=!0;oo(a,b)}function oo(a,b){a=a.G[b];a.rd=a.Qf==Qo?1:0;a.ad=a.Qf==Ro?2:1}
function Bl(a,b,c){var d=a.G[b];if(d.le&&(b!=wo||a.J&Mo)){var e=Ed(a.H,a.O),f=(e-d.jd)/a.Ba|0;0>f&&(d.jd=e,f=0);var g=vo(a,b),h=Pd(a,b)-f;d.mode==qo?(0>=h&&(h=0),h||(d.gd=!0,d.le=!1,b||hh(a,uo))):d.mode==So?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo))):d.mode==Qd&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo)));d.pb[0]=h&255;d.pb[1]=h>>8&255;c&&(a.jd=0)}return d}
function Od(a,b){for(var c=0;c<a.G.length;c++)Bl(a,c,b);if(a.ca>=eh){b=a.H.T.sd;c=Ed(a.H,a.O);null==a.Aa&&(a.ma=Ed(a.H,a.O),a.Ha=1024,a.Aa=Math.floor(a.H.T.sd/a.Ha),Tm(a));c>=a.Z&&(a.A[Pm]|=To,a.A[Rd]&Td&&(a.A[Pm]|=Uo,hh(a,Vo)),a.Z=c+a.Aa);a.A[lm]==a.A[mm]&&a.A[nm]==a.A[om]&&a.A[pm]==a.A[Hm]&&(a.A[Pm]|=Wo,a.A[Rd]&Xo&&(a.A[Pm]|=Uo,hh(a,Vo)));var d=c-a.ma,e=Math.floor(d/b);if(e&&!(a.A[Rd]&Yo)){for(;e--;)if(60<=++a.A[lm]&&(a.A[lm]=0,60<=++a.A[nm]&&(a.A[nm]=0,24<=++a.A[pm]))){a.A[pm]=0;a.A[Im]=a.A[Im]%
7+1;var f;f=a.A[Lm];var g=Ja[a.A[Km]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Jm]>f&&(a.A[Jm]=1,12<++a.A[Km]&&(a.A[Km]=1,a.A[Lm]=(a.A[Lm]+1)%100))}a.A[Pm]|=Zo;a.A[Rd]&$o&&(a.A[Pm]|=Uo,hh(a,Vo))}a.ma=c-d%b}}l.Gm=function(a,b){var c=this.ya;this.ga&ap&&(this.J&bp?c=this.C[0][1]:this.B&&(c=cp(this.B)));v(this,a,null,b,"PPI_A",c);return c};l.jo=function(a,b,c){v(this,a,b,c,"PPI_A");this.ya=b};l.Hm=function(a,b){var c=this.J;v(this,a,null,b,"PPI_B",c);return c};
l.ko=function(a,b,c){v(this,a,b,c,"PPI_B");dp(this,b)};function dp(a,b){var c=!!(b&ep),d=!!(a.J&ep);a.J=b;a.B&&fp(a.B,!(b&bp),!!(b&Po));c!=d&&Vm(a,c)}l.Im=function(a,b){var c=0,c=(this.ca|0)==kl?this.J&No?c|this.C[1][1]&gp:c|this.C[1][1]>>4&1:this.J&hp?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.J&Mo&&Bl(this,wo).gd&&(c=this.J&ep?c|ip:c|jp);v(this,a,null,b,"PPI_C",c,32896);return c};l.lo=function(a,b,c){v(this,a,b,c,"PPI_C");this.Ca=b};l.Jm=function(a,b){var c=this.ga;v(this,a,null,b,"PPI_CTRL",c);return c};
@ -549,11 +549,11 @@ b.Tg),Jr(b," ATCINDX",b.wd),b.ba.P(" ATCDATA: "+b.Ke),Jr(b," FEAT",b.Pf),Jr(b
l.Cb=function(a,b,c){var d=this;if(!this.na[b])switch(this.na[b]=c,b){case "fullScreen":return this.N&&this.N.Je?c.onclick=function(){d.Je()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.Dd=c.textContent,this.D&&this.D.me?c.onclick=function(){d.me(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){zs(d,!0)},!0}return!1};
l.Je=function(){var a=!1;if(this.N){if(this.N.Je){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Z/this.la;b>c&&(a=Math.round(c/b*100)+"%")}this.Tc?(this.O.style.width=a,this.O.style.width=a,this.O.style.display="block",this.O.style.margin="auto"):(this.N.style.width=a,this.N.style.height="auto");this.N.style.backgroundColor="black";this.N.Je();a=!0}this.D&&this.D.focus()}return a};
function ks(a,b){!b&&a.N&&(a.Tc?a.O.style.width=a.O.style.height="":a.N.style.width=a.N.style.height="");Mb(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.dh=b)}l.me=function(a){var b=!1;this.D&&(a?this.D.me&&(this.D.me(),this.G&&this.G.If(!0),b=!0):this.D.dl&&(this.D.dl(),this.G&&this.G.If(!1),b=!0),this.D&&this.D.focus());return b};l.If=function(a){this.G&&(this.G.If(a),this.B&&(this.B.dh=a));var b=this.na.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.Dd)};
function ws(a,b){var c=a.D;c&&!a.tc&&(c.addEventListener("touchstart",function(b){As(a,b,!0)},!1),c.addEventListener("touchmove",function(b){As(a,b)},!0),c.addEventListener("touchend",function(b){As(a,b,!1)},!1),a.tc=b,a.qb=a.rb=a.kd=-1,a.lc=!1,a.Db=null,a.kc=!1,a.Pd=function(){a.kc=!0;a.G.Vd(Bs,!0)})}l.Bg=function(a){this.B&&this.B.Bg(a)};
function ws(a,b){var c=a.D;c&&!a.tc&&(c.addEventListener("touchstart",function(b){As(a,b,!0)},!1),c.addEventListener("touchmove",function(b){As(a,b)},!0),c.addEventListener("touchend",function(b){As(a,b,!1)},!1),a.tc=b,a.hb=a.ib=a.kd=-1,a.lc=!1,a.Db=null,a.kc=!1,a.Pd=function(){a.kc=!0;a.G.Vd(Bs,!0)})}l.Bg=function(a){this.B&&this.B.Bg(a)};
function As(a,b,c){var d,e,f=0,g=0;e=a.O;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.Z/a.O.offsetWidth,k=a.la/a.O.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(a.tc==ys)d=d/(a.Z/3)|0,e=e/(a.la/3)|0,1!=e?e?vq(a.B,1040,!0):vq(a.B,1038,!0):1!=d&&(d?vq(a.B,1039,!0):vq(a.B,1037,!0));else if(a.G){g=a.lc;f=b.timeStamp-a.kd;!0===c?(a.lc=500<f,a.kd=b.timeStamp,
a.Db=setTimeout(a.Pd,500)):null!=a.Db&&(clearTimeout(a.Db),a.Db=null);void 0===c&&(a.lc=!1);g||b.preventDefault();if(!1===c){a.kc?(a.G.Vd(Bs,!1),a.kc=!1,b=!0):b=!1;if(b)return;if(200>f){a.G.Vd(Bs,!0);a.G.Vd(Bs,!1);return}}if(c||0>a.qb||0>a.rb)a.qb=d,a.rb=e;c=Math.round(d-a.qb);b=Math.round(e-a.rb);a.qb=d;a.rb=e;a.G.tf(c,b,a.qb,a.rb)}}l.Xb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};
a.Db=setTimeout(a.Pd,500)):null!=a.Db&&(clearTimeout(a.Db),a.Db=null);void 0===c&&(a.lc=!1);g||b.preventDefault();if(!1===c){a.kc?(a.G.Vd(Bs,!1),a.kc=!1,b=!0):b=!1;if(b)return;if(200>f){a.G.Vd(Bs,!0);a.G.Vd(Bs,!1);return}}if(c||0>a.hb||0>a.ib)a.hb=d,a.ib=e;c=Math.round(d-a.hb);b=Math.round(e-a.ib);a.hb=d;a.ib=e;a.G.tf(c,b,a.hb,a.ib)}}l.Xb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};
l.reset=function(){var a=!0,b=0;this.W&&(b=+Tl(this.W,hl,void 0));this.ca||(this.La=b==Ul?ps:ms);this.da=Cs;switch(this.La){case dq:b=7;break;case bq:var c=Ds[this.xb];c&&(b=c[0]);b||(b=4);break;case ps:b=Ul;this.da=Es;break;default:b=2}this.ga!==b&&(this.ga=b,a=!0);this.C=null;this.Y=this.Kb=new kr(this,ps);this.K=this.yb=new kr(this,ms);this.La<bq?this.A=new kr:(this.A=new kr(this,this.La,null,this.qd),Fs(this));Gs(this);this.oa=null;this.Aa=this.aa=-1;this.ya=0;Hs(this,this.da);if(this.C.bb&&a){a=
this.C.bb+this.Za;for(b=this.C.bb;b<a;b+=2){var d=65536*Math.random()|0;4==this.ga||7==this.ga?(c=b>>1&255,d=d>>8&~Is,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?Js|Ks:Ls|Ms)|Ns&d>>8);Kc(this.ka,b,c|d<<8)}zs(this,!0)}};function Fs(a){a.A.af&rr?(a.Y=a.Kb,a.K=a.A):(a.Y=a.A,a.K=a.yb)}l.save=function(){var a=new Xf(this);a.set(0,Ir(this.Kb));a.set(1,Ir(this.yb));a.set(2,[this.ga,this.da,this.oa]);a.set(3,Ir(this.A));return a.data()};
this.C.bb+this.Xa;for(b=this.C.bb;b<a;b+=2){var d=65536*Math.random()|0;4==this.ga||7==this.ga?(c=b>>1&255,d=d>>8&~Is,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?Js|Ks:Ls|Ms)|Ns&d>>8);Kc(this.ka,b,c|d<<8)}zs(this,!0)}};function Fs(a){a.A.af&rr?(a.Y=a.Kb,a.K=a.A):(a.Y=a.A,a.K=a.yb)}l.save=function(){var a=new Xf(this);a.set(0,Ir(this.Kb));a.set(1,Ir(this.yb));a.set(2,[this.ga,this.da,this.oa]);a.set(3,Ir(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.C=null;this.Y=this.Kb=new kr(this,ps,a[0]);this.K=this.yb=new kr(this,ms,a[1]);this.A=new kr(this,this.La,a[3],this.qd);this.A.rc&&Fs(this);Gs(this);if(!Os(this))return!1;Ps(this);return!0};
function ls(a,b,c,d){if(d)a.Fa("Unable to load font ROM (error "+d+": "+b+")");else{pb(a.xe,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){hb("Empty font ROM: "+b);return}if(1==f.length){hb(f[0]);return}if(8192==f.length)cq(a,f,[6144,0]);else if(2048==f.length)cq(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)&&Jb(a)}}
function Qs(a,b){if(1==b)return a.ha[0]=Rs[Ls],a.ha[1]=Rs[Js],a.ha;if(2==b){var c=a.C.Ze;if(a.C===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]=Rs[c&15];c=c&32?Ss:Ts;for(d=0;d<c.length;d++)a.ha[d+1]=Rs[c[d]];return a.ha}if(a.K===a.yb)return Rs;a.Ga&&b&&!a.ha[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.$e,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:Us;for(e=0;16>e;e++)f=b[e]&63,k?(f|=
@ -568,13 +568,13 @@ function gt(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.Kg(b),a.ka.Kg(c.bb,c.Ob
function Os(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==ps)d=Es;else if(e.La>=bq){var d=null,f=e.qd>>2,g=32768<f?32768:f,h=e.xd[6];if(null!=h){switch(h&12){case 0:e.bb=655360;e.Ob=f;d=ht;break;case 4:e.bb=655360;e.Ob=f;d=a.ga==Ul?it:jt;break;case 8:e.bb=720896;e.Ob=g;d=Es;break;case 12:e.bb=753664,e.Ob=g,d=a.ga==Ul?kt:Cs}c=80==(e.xd[5]&80);!c||e.bb==a.bb&&e.Ob==a.Ob||(b=!0);var f=Kr(e,Or),g=e.Wa[fs],k=e.Wa[23],m=e.$d[1]&8;d!=ht&&(h&1?655360==e.bb||c||k&1?e.xd[5]&64?d=g&31?143>=e.Wa[Wr]?lt:mt:nt:g&128||
350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:Rt,e.Xc&4||--d):(d=e.Xc&1?Cs:Tt,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0}
function Hs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Ad=0;a.oa=b;a.Ga=!1;b=a.C||(b==Es?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){ct(a);if(a.bb){if(!Cc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!pc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=is[Es][2];b=0;if(c=is[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Ws||(7==(a.A.Wa[fs]&31)?a.J=350>Kr(a.A,Wr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
a.Eb|0;a.Za=a.Vc;a.Pb=0;void 0!==b&&(a.Za=(a.Za<<1)+b|0,a.Pb=a.Za+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.$a=a.eb=0;b&&(a.$a=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.$a=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.$a,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.$a;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Ut(a,!0);zs(a)}return!0}function at(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 Vt(a){a.ya=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Ut(a,b){b||(a.Ga=!1);Vt(a)}
function et(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.jf&&(d=h.jf[d]);var k=g>>4&15;h.jf&&(k=h.jf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Be[k],e.fillRect(b,c,h.Fc,h.Gc)):(b=b*a.qa+a.vc,c=c*a.ta+a.zc,a.L.fillStyle=h.Be[k],a.L.fillRect(b,c,a.qa,a.ta));g&Wt&&(k=(f&15)*h.Fc,f=(f>>4)*h.Gc,e?e.drawImage(h.Sg[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Sg[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&dt&&(f=a.md,g=a.Hc,e?(a.za&&a.za!==h.Gc&&(f=f*h.Gc/a.za|0,g=g*h.Gc/a.za|0),e.fillStyle=h.Be[d],e.fillRect(b,
c+f,h.Fc,g)):(a.za&&a.za!==a.ta&&(f=f*a.ta/a.za|0,g=g*a.ta/a.za|0),a.L.fillStyle=h.Be[d],a.L.fillRect(b,c+f,a.qa,g)))}
function zs(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.wd&32&&(c=!0));if(c||b){if(b)Vt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Ad&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.bb,c=h,k=c+a.Ob;a.oa>=lt&&(h=c=655360,k=c+65536);if(Xt(a,d)&8||d.Ye&&d.Ye<d.fi){var m=(d.Wa[12]<<8)+d.Wa[13]|0;d.vd!==m&&(d.vd=m,Ut(a));d.Ye=0}m=d.vd;a.I&&(m<<=1);c+=m;m=a.Za;a.La>=bq&&d.Wa[19]&&d.Wa[19]<<1!=d.Wa[1]+1&&(a.Ma=d.Wa[19]<<(a.I?1:d.Wa[20]&64?3:4),m=(a.Ma*(a.J-1)+a.F)/a.Eb|0,a.oa<=Es&&
function zs(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.wd&32&&(c=!0));if(c||b){if(b)Vt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Ad&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.bb,c=h,k=c+a.Ob;a.oa>=lt&&(h=c=655360,k=c+65536);if(Xt(a,d)&8||d.Ye&&d.Ye<d.fi){var m=(d.Wa[12]<<8)+d.Wa[13]|0;d.vd!==m&&(d.vd=m,Ut(a));d.Ye=0}m=d.vd;a.I&&(m<<=1);c+=m;m=a.Xa;a.La>=bq&&d.Wa[19]&&d.Wa[19]<<1!=d.Wa[1]+1&&(a.Ma=d.Wa[19]<<(a.I?1:d.Wa[20]&64?3:4),m=(a.Ma*(a.J-1)+a.F)/a.Eb|0,a.oa<=Es&&
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.ma){b=a.ka;for(var p=!0,w=c>>>b.A;0<m&&w<b.aa.length;)b.aa[w].Oa&&(b.aa[w].Oa=p=!1,b.aa[w].qj=!0),m-=b.B,w++;b=p}if(b){if(!e)return;if(!a.ya){f=a.aa-d.vd;if(0>f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.ya=0;h=Wt<<8;b=1048575;p=a.C.Xc&32;a.La>=bq&&(p=a.C.Cc[16]&8);m=a.aa-a.C.vd;p&&(e=Is<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Jc(a.ka,c),p|=h,p&e&&(a.ya++,p&=b),d==m&&(p|=a.Aa&1?dt<<8:0),a.ma&&p===a.M[d]||(et(a,d%a.F,d/a.F|0,p,a.Ca),
a.M[d]=p,f++),c+=2,d++;a.ma=!0;f&&a.Ca&&a.L.drawImage(a.Ba,0,0,a.$a,a.eb,a.vc,a.zc,a.Qb,a.Rb);bt(a)}}else if(a.Pb){var g=k,u,k=c,d=a.ya=0,f=a.Eb,e=16==f?65536:196608,h=16==f?1:2;b=Qs(a,h);for(var p=m=0,w=a.F,F=0,K=a.J,H=0;k<g;){u=Jc(a.ka,k);if(a.ma&&u===a.M[d])m+=f;else{a.M[d]=u;u=u>>8|(u&255)<<8;var I=e,T=16;m<w&&(w=m);for(var L=0;L<f;L++){var ua=(u&(I>>=h))>>(T-=h);at(a.Ha,m++,p,b[ua])}m>F&&(F=m);p<K&&(K=p);p>=H&&(H=p+1)}k+=2;d++;if(m>=a.F){m=0;p+=2;if(p>a.J)break;p==a.J&&(p=1,k=c+a.Pb)}}a.ma=!0;
a.M[d]=p,f++),c+=2,d++;a.ma=!0;f&&a.Ca&&a.L.drawImage(a.Ba,0,0,a.Ya,a.eb,a.vc,a.zc,a.Qb,a.Rb);bt(a)}}else if(a.Pb){var g=k,u,k=c,d=a.ya=0,f=a.Eb,e=16==f?65536:196608,h=16==f?1:2;b=Qs(a,h);for(var p=m=0,w=a.F,F=0,K=a.J,H=0;k<g;){u=Jc(a.ka,k);if(a.ma&&u===a.M[d])m+=f;else{a.M[d]=u;u=u>>8|(u&255)<<8;var I=e,T=16;m<w&&(w=m);for(var L=0;L<f;L++){var ua=(u&(I>>=h))>>(T-=h);at(a.Ha,m++,p,b[ua])}m>F&&(F=m);p<K&&(K=p);p>=H&&(H=p+1)}k+=2;d++;if(m>=a.F){m=0;p+=2;if(p>a.J)break;p==a.J&&(p=1,k=c+a.Pb)}}a.ma=!0;
w<a.F&&(a.Ca.putImageData(a.Ha,0,0,w,K,F-w,H-K),a.L.drawImage(a.Ba,0,0,a.F,a.J,0,0,a.Z,a.la))}else if(a.Pc){g=h;f=a.ya=0;e=Qs(a,8);h=a.C.fd;m=b=0;p=a.F;w=0;F=a.J;K=0;H=a.C.$d[4]&8?4:1;u=a.C.Cc[19]&15;for(I=a.Ma>a.F?a.Ma-a.F-u>>3:0;c<k;){d=h[c-g];L=4;u||(a.ma&&d===a.M[f]?(b+=L,L=0):a.M[f]=d,f++);if(L){b<p&&(p=b);for(T=0;T<L;T++)at(a.Ha,b++,m,e[d&255]),d>>=8;b>w&&(w=b);m<F&&(F=m);m>=K&&(K=m+1)}c+=H;if(b>=a.F){b=0;if(++m>a.J)break;c+=I}}u||(a.ma=!0);p<a.F&&(a.Ca.putImageData(a.Ha,0,0,p,F,w-p,K-F),a.L.drawImage(a.Ba,
0,0,a.F,a.J,0,0,a.Z,a.la))}else{g=h;d=a.ya=0;f=Qs(a);e=a.C.fd;b=h=0;m=a.F;p=0;w=a.J;F=0;K=a.C.Cc[19]&15;for(H=a.Ma>a.F?a.Ma-a.F-K>>3:0;c<k;){u=c++-g;u=e[u];T=8;K?h?(I=a.F-h,T>I&&(T=I)):(u<<=K,T-=K,a.ma=!1):(a.ma&&u===a.M[d]?(h+=T,T=0):a.M[d]=u,d++);if(T){h<m&&(m=h);for(I=0;I<T;I++)L=Yt[u&2155905152]||0,at(a.Ha,h++,b,f[L]),u<<=1;h>p&&(p=h);b<w&&(w=b);b>=F&&(F=b+1)}if(h>=a.F){h=0;if(++b>a.J)break;c+=H}}K||(a.ma=!0);m<a.F&&(a.Ca.putImageData(a.Ha,0,0,m,w,p-m,F-w),a.L.drawImage(a.Ba,0,0,a.F,a.J,0,0,a.Z,
a.la))}}}}function Xt(a,b){var c=0;a=Ed(a.H)-b.wh;0>a&&(b.wh=a,a=-a|0);a%b.rh>b.mn&&(c|=1);a%b.uh>b.on&&(c|=9);b.fi=a/b.uh|0;return c}l.Cm=function(a,b){return Zt(this,this.Y,a,b)};l.fo=function(a,b,c){var d=this.Y;d.Fg=d.ec;d.ec=b&31;v(this,a,b,c,"CRTC.INDX")};l.Bm=function(a,b){return $t(this,this.Y,a,b)};l.eo=function(a,b,c){au(this,this.Y,a,b,c)};l.Dm=function(a,b){return bu(this,this.Y,b)};l.ho=function(a,b,c){a=this.Y;v(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)};
@ -623,31 +623,31 @@ function Pu(a,b,c){if(void 0!==c){var d;!(d=!1!==a.M)&&(d=a.C.length)&&(d=a.C[0]
l.Vd=function(a,b){if(this.rc&&this.H&&this.H.ea.vb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case Bs:if(this.K!=b){this.K=b;Qu(this,c);return}break;case Ru:if(this.L!=b){this.L=b;Qu(this,c);return}}Mb(this,c+": ignored")}};l.tf=function(a,b,c,d){this.rc&&this.H&&this.H.ea.vb&&(a||b)&&(this.I=a,this.J=b,Qu(this,null,c,d))};
function Qu(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)&&Mb(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+r(e)+","+r(f)+","+r(g)+"]",0,!0);a.D.Of([e,f,g]);a.I=a.J=0}
l.pl=function(a){var b=1048592==(a&1048592);if(b){if(!this.rc){var c=!1;this.A&16||(this.reset(),Mb(this,"serial mouse reset"),c=!0);this.A&1048576||(Mb(this,"serial mouse ID requested"),c=!0);c&&(this.D.Of([Su,Su]),Mb(this,"serial mouse ID sent"));Lu(this);this.rc=b}}else this.rc&&(Mb(this,"serial mouse inactive"),Mu(this),this.rc=b);this.A=a};var Su=77,Bs=0,Ru=2;ab(function(){for(var a=Ab(document,"pcx86","mouse"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Ku(d);zb(d,c)}});
function Tu(a,b,c){nb.call(this,"Disk",{id:a.xe+".disk"+q(++Uu,4)},2097152);this.controller=a;this.pa=a.pa;this.ba=a.ba;this.B=b;this.F=b.name;this.Oe=b.Oe;this.og=this.D=!1;Vu(this,c,b.ob,b.ib,b.Ya,b.Na);this.J=[];this.M=[];this.G=null;this.O=0;this.N=!1;Jb(this)}ba(Tu,nb);l=Tu.prototype;l.uc=function(a,b,c,d){this.ba=d};l.Xb=function(a,b){b||!this.og||this.D||(Jb(this,!1),this.load(this.F,this.I,null,this.Gl,this));return!0};l.Gl=function(){Jb(this,!0)};
function Tu(a,b,c){nb.call(this,"Disk",{id:a.xe+".disk"+q(++Uu,4)},2097152);this.controller=a;this.pa=a.pa;this.ba=a.ba;this.B=b;this.F=b.name;this.Oe=b.Oe;this.og=this.D=!1;Vu(this,c,b.qb,b.kb,b.$a,b.Na);this.J=[];this.M=[];this.G=null;this.O=0;this.N=!1;Jb(this)}ba(Tu,nb);l=Tu.prototype;l.uc=function(a,b,c,d){this.ba=d};l.Xb=function(a,b){b||!this.og||this.D||(Jb(this,!1),this.load(this.F,this.I,null,this.Gl,this));return!0};l.Gl=function(){Jb(this,!0)};
l.Wb=function(a,b){if(this.D){var c,d=0;if(this.N&&!sb("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Wu(this,!1);)if(d=c[0]){this.controller.Fa('Unable to save "'+this.F+'" (error '+d+")");break}b&&this.D&&(b="action=close&volume="+this.I,b+="&machine="+Xu(this.controller),b+="&user="+Yu(this.controller),La(Ma()+"/api/v1/disk?"+b,null,!0),this.D=!1);!d&&a&&this.controller.Fa(this.F+" saved")}return!0};
function Vu(a,b,c,d,e,f){a.mode=b;a.ob=c;a.ib=d;a.Ya=e;a.Na=f;a.A=[];if("preload"!=a.mode){b=Array(a.ob);for(c=0;c<b.length;c++){d=Array(a.ib);for(e=0;e<d.length;e++){f=Array(a.Ya);for(var g=1;g<=f.length;g++)f[g-1]=Zu(null,c,e,g,a.Na,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.L=null}
l.load=function(a,b,c,d,e){var f=b;if(this.K)return!0;this.F=a;this.I=b;this.Jg=va(b);var g=this;this.K=d;this.W=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.ob=d[0];g.ib=d[1];g.Ya=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.ob);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.ib),K=0;K<f.length;K++)for(var H=f[K]=Array(g.Ya),I=0;I<H.length;I++){for(var T=Zu(null,c,K,I+1,g.Na,0),L=T.data,ua=0;ua<
function Vu(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]=Zu(null,c,e,g,a.Na,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.L=null}
l.load=function(a,b,c,d,e){var f=b;if(this.K)return!0;this.F=a;this.I=b;this.Jg=va(b);var g=this;this.K=d;this.W=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),K=0;K<f.length;K++)for(var H=f[K]=Array(g.$a),I=0;I<H.length;I++){for(var T=Zu(null,c,K,I+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;H[I]=T}g.L=d;b=g}else g.Fa("Unrecognized disk format ("+c+" bytes)");g.K&&(g.K.call(g.controller,g.B,b,g.F,g.I),g.K=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=wa(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=$u(this,b),this.og=!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"):xa(b,
"/")&&(c="dir"),f=Ma()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Oe?"":d)+"&format=json"));return!!La(f,null,!0,function(a,b,c){av(g,a,b,c)})};
function av(a,b,c,d){var e=null;a.Re=!1;var f=!(!(0>d&&a.pa)||a.pa.ea.Yb);if(a.og)d?a.controller.Fa('Unable to connect to disk "'+a.I+'" (error '+d+": "+c+")",f):(a.D=!0,bv(a),e=a);else if(d)a.controller.Fa('Unable to load disk "'+a.F+'" (error '+d+": "+b+")",f);else{pb(a.controller.xe,b,c);try{if(0<va(a.Jg,!0).toLowerCase().indexOf("-readonly"))a.Re=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.Re=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+
a.F]: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)hb(h[0]);else{a.ob=h.length;a.ib=h[0].length;a.Ya=h[0][0].length;var k=h[0][0][0];a.Na=k&&k.length||512;for(d=c=0;d<a.ob;d++)for(f=0;f<a.ib;f++)for(g=0;g<a.Ya;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 w=k.data;if(void 0===w){var u=k.bytes;if(void 0!==u&&u.length){for(var F=
a.F]: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)hb(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 w=k.data;if(void 0===w){var u=k.bytes;if(void 0!==u&&u.length){for(var F=
m<<2,K=u.length;K<F;K++)u[K]=p;cv(k,u,0)}else w=[],p=k.pattern=p|p<<8|p<<16|p<<24,k.data=w;delete k.bytes}Zu(k,d,f);for(F=0;F<w.length;F++)c=c+w[F]&-1}a.A=h;a.L=c;bv(a);e=a}else hb("Empty disk image: "+a.F)}catch(H){hb("Disk image error ("+b+"): "+H.message)}}a.K&&(a.K.call(a.W,a.B,e,a.F,a.I),a.K=null)}
function bv(a){var b,c,d={},e;if(a.C&&a.C.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.rn)}a.C=[];d.Kf=d.sf=0;b=a.ob*a.ib*a.Ya*a.Na;a.D&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=dv(a,0)){d.Na=ev(a,e,11,2);if(d.Na!=a.Na){f=!1;d.rf=1;d.vg=12;d.lh=d.rf+2;d.vf=1;d.Na=a.Na;if(163840==b&&254==fv(a,d,0,0))d.sf=320,d.vh=64,f=!0;else if(327680==b&&255==fv(a,d,0,0))d.sf=640,d.vh=
function bv(a){var b,c,d={},e;if(a.C&&a.C.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.rn)}a.C=[];d.Kf=d.sf=0;b=a.qb*a.kb*a.$a*a.Na;a.D&&a.log("ignore any synchronous XMLHttpRequest warnings here (for now)");if(e=dv(a,0)){d.Na=ev(a,e,11,2);if(d.Na!=a.Na){f=!1;d.rf=1;d.vg=12;d.lh=d.rf+2;d.vf=1;d.Na=a.Na;if(163840==b&&254==fv(a,d,0,0))d.sf=320,d.vh=64,f=!0;else if(327680==b&&255==fv(a,d,0,0))d.sf=640,d.vh=
112,d.vf++,f=!0;else for(c=446,b=0;4>b;b++){if(128==ev(a,e,c+0,1)){d.Kf=ev(a,e,c+8,4);(e=dv(a,d.Kf))&&(f=!0);break}c+=16}if(!f)return}d.sf||(d.sf=ev(a,e,19,2)||ev(a,e,32,4),d.rf=ev(a,e,14,2),d.lh=d.rf+ev(a,e,22,2)*ev(a,e,16,1),d.vh=ev(a,e,17,2),d.vf=ev(a,e,13,1));d.jh=d.lh+((32*d.vh+(d.Na-1))/d.Na|0);d.kn=(d.sf-d.jh)/d.vf|0;d.vg=4084>=d.kn?12:16;d.Nl=12==d.vg?4086:65526;b=[];for(e=d.lh;e<d.jh;e++)b.push(d.Kf+e);gv(a,d,a.Jg,"",b);for(b=0;b<a.C.length;b++){d=a.C[b];for(e=c=0;e<d.fe.length;e++){var f=
d.fe[e],g=c,h=a.ib*a.Ya,k=f%h,m=k/a.Ya|0,k=k%a.Ya,p=void 0,w=void 0,u=void 0;(p=a.A[f/h|0])&&(w=p[m])&&(u=w[k])&&!u.file&&(u.file=d,u.rn=g);c+=a.Na}e=d;if((xa(e.$b,".EXE")||xa(e.$b,".DLL")||xa(e.$b,".DRV"))&&hv(e,iv)==jv&&hv(e,kv)==lv&&(c=hv(e,mv),hv(e,nv,c)==ov)){m=hv(e,pv,c);g=hv(e,qv,c);h=hv(e,rv,c);if(g&&m){d=e;f=g+c;g=m;h=h||0;m=1;d.nd=[];for(d.A=[];g--;){if(k=sv(d,f)<<h)p=sv(d,f+2)||65536,d.nd[m++]={gi:k,Ik:k+p-1,ee:[]};f+=8}d.nd[254]={gi:0,Ik:0,ee:[]}}g=hv(e,tv,c);h=hv(e,uv,c);if(g&&h)for(d=
d.fe[e],g=c,h=a.kb*a.$a,k=f%h,m=k/a.$a|0,k=k%a.$a,p=void 0,w=void 0,u=void 0;(p=a.A[f/h|0])&&(w=p[m])&&(u=w[k])&&!u.file&&(u.file=d,u.rn=g);c+=a.Na}e=d;if((xa(e.$b,".EXE")||xa(e.$b,".DLL")||xa(e.$b,".DRV"))&&hv(e,iv)==jv&&hv(e,kv)==lv&&(c=hv(e,mv),hv(e,nv,c)==ov)){m=hv(e,pv,c);g=hv(e,qv,c);h=hv(e,rv,c);if(g&&m){d=e;f=g+c;g=m;h=h||0;m=1;d.nd=[];for(d.A=[];g--;){if(k=sv(d,f)<<h)p=sv(d,f+2)||65536,d.nd[m++]={gi:k,Ik:k+p-1,ee:[]};f+=8}d.nd[254]={gi:0,Ik:0,ee:[]}}g=hv(e,tv,c);h=hv(e,uv,c);if(g&&h)for(d=
e,f=g+=c,g+=h,h=1;f<g;){k=sv(d,f);m=k&255;if(!m)break;k>>=8;f+=2;if(k)for(;m--;)sv(d,f,1),254>=k?(p=k,w=sv(d,f+1),f+=3):(p=sv(d,f+3,1),w=sv(d,f+4),f+=6),d.nd[p]&&(d.nd[p].ee[h]=[w]),d.A[h]=[p,w],h++;else h+=m}(g=hv(e,vv,c))&&wv(e,g+c);g=hv(e,xv,c);h=hv(e,yv,c);g&&h&&wv(e,g,g+h)}}}}
function gv(a,b,c,d,e){var f,g=a.C.length,h=b.Na/32|0;b.cq=d+"\\";for(var k=0;k<e.length;k++)for(var m=e[k],p=0;p<h;p++){var w=a,u=b;f=p;u.ae&&u.ii&&u.ii==m||(u.ii=m,u.ae=dv(w,u.ii));if(u.ae){f*=32;var F=ev(w,u.ae,f,1);if(F){if(229==F)u.$b=null;else{u.$b=Ca(zv(w,u.ae,f+0,8));F=Ca(zv(w,u.ae,f+8,3));F.length&&(u.$b+="."+F);u.Wg=ev(w,u.ae,f+11,1);u.aj=ev(w,u.ae,f+28,2);u.Ml=ev(w,u.ae,f+26,2);f=u;var F=[],K=u.Ml;if(K){do{if(2>K)break;for(var H=u.jh+(K-2)*u.vf,I=0;I<u.vf;I++)F.push(u.Kf+H++);K=fv(w,u,
K,0)|fv(w,u,K,1)}while(K<=u.Nl)}f.fe=F}f=!0}else f=!1}else f=!1;if(!f){k=e.length;break}null!=b.$b&&"."!=b.$b&&".."!=b.$b&&(f=new Av(a,0,b.$b,b.Wg,b.aj,b.fe),a.C.push(f))}for(e=a.C.length;g<e;g++)f=a.C[g],f.Wg&16&&f.fe.length&&gv(a,b,c,d+"\\"+f.$b,f.fe)}function fv(a,b,c,d){var e=0,f=8*b.Na;c=b.vg*c+(d?8:0);var g=c/f|0;b.li&&b.kh&&b.kh==b.rf+g||(b.kh=b.rf+g,b.li=dv(a,b.Kf+b.kh));b.li&&(c=c%f|0,e=ev(a,b.li,c>>3,1),d?e=16==b.vg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e}
function dv(a,b){var c=a.ib*a.Ya,d=b/c|0;return d<a.ob?(b%=c,a.seek(d,b/a.Ya|0,b%a.Ya+1)):null}function ev(a,b,c,d){for(var e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function zv(a,b,c,d){for(var e="";d--;){var f=a.read(b,c++);if(0>=f)break;e+=String.fromCharCode(f)}return e}function Zu(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ol=b;a.Pl=c;a.hd=a.Lc=0;a.Oa=!1;return a}
function $u(a,b){b="action=open&volume="+b+("&mode="+a.mode);b+="&chs="+a.ob+":"+a.ib+":"+a.Ya+":"+a.Na;b+="&machine="+Xu(a.controller);b+="&user="+Yu(a.controller);return Ma()+"/api/v1/disk?"+b}
function Bv(a,b,c,d,e,f,g){if(a.D){var h;h="action=read&volume="+a.I;h+="&chs="+a.ob+":"+a.ib+":"+a.Ya+":"+a.Na;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+Xu(a.controller));h+="&user="+Yu(a.controller);La(Ma()+"/api/v1/disk?"+h,null,f,function(h,m,p){h=[b,c,d,e,f,g];var k=!1,u=h[0],F=h[1],K=h[2],H=h[3];if(!p){m=JSON.parse(m);for(k=0;H--;){var I=a.seek(u,F,K,!0);if(!I)break;cv(I,m,k);k+=I.length;K++}k=h[4]}(h=h[5])&&h(p,k)})}else g&&g(-1,!1)}
function Cv(a,b,c,d,e,f,g){if(a.D){var h={};a.N=!0;h.action="write";h.volume=a.I;h.chs=a.ob+":"+a.ib+":"+a.Ya+":"+a.Na;h.addr=b+":"+c+":"+d+":"+e;h.machine=Xu(a.controller);h.user=Yu(a.controller);h.data=JSON.stringify(f);La(Ma()+"/api/v1/disk",h,g,function(f,h,p){var k=[b,c,d,e,g];f=k[0];h=k[1];var m=k[2],F=k[3],k=k[4];a.N=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(--m;0<F--&&0<=m&&m<a.A[f][h].length;m++){var K=a.A[f][h][m];p?Dv(a,K,!1):K.Oa||(K.hd=K.Lc=0)}k&&Ev(a)})}return!1}
function dv(a,b){var c=a.kb*a.$a,d=b/c|0;return d<a.qb?(b%=c,a.seek(d,b/a.$a|0,b%a.$a+1)):null}function ev(a,b,c,d){for(var e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function zv(a,b,c,d){for(var e="";d--;){var f=a.read(b,c++);if(0>=f)break;e+=String.fromCharCode(f)}return e}function Zu(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ol=b;a.Pl=c;a.hd=a.Lc=0;a.Oa=!1;return a}
function $u(a,b){b="action=open&volume="+b+("&mode="+a.mode);b+="&chs="+a.qb+":"+a.kb+":"+a.$a+":"+a.Na;b+="&machine="+Xu(a.controller);b+="&user="+Yu(a.controller);return Ma()+"/api/v1/disk?"+b}
function Bv(a,b,c,d,e,f,g){if(a.D){var h;h="action=read&volume="+a.I;h+="&chs="+a.qb+":"+a.kb+":"+a.$a+":"+a.Na;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+Xu(a.controller));h+="&user="+Yu(a.controller);La(Ma()+"/api/v1/disk?"+h,null,f,function(h,m,p){h=[b,c,d,e,f,g];var k=!1,u=h[0],F=h[1],K=h[2],H=h[3];if(!p){m=JSON.parse(m);for(k=0;H--;){var I=a.seek(u,F,K,!0);if(!I)break;cv(I,m,k);k+=I.length;K++}k=h[4]}(h=h[5])&&h(p,k)})}else g&&g(-1,!1)}
function Cv(a,b,c,d,e,f,g){if(a.D){var h={};a.N=!0;h.action="write";h.volume=a.I;h.chs=a.qb+":"+a.kb+":"+a.$a+":"+a.Na;h.addr=b+":"+c+":"+d+":"+e;h.machine=Xu(a.controller);h.user=Yu(a.controller);h.data=JSON.stringify(f);La(Ma()+"/api/v1/disk",h,g,function(f,h,p){var k=[b,c,d,e,g];f=k[0];h=k[1];var m=k[2],F=k[3],k=k[4];a.N=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(--m;0<F--&&0<=m&&m<a.A[f][h].length;m++){var K=a.A[f][h][m];p?Dv(a,K,!1):K.Oa||(K.hd=K.Lc=0)}k&&Ev(a)})}return!1}
function Dv(a,b,c){b.Oa=!0;var d=a.J.indexOf(b);0<=d&&(a.J.splice(d,1),a.M.splice(d,1));a.J.push(b);a.M.push(Ka());c&&Ev(a)}function Ev(a){if(a.J.length){var b=a.M[0]+2E3;a.G&&a.O<b&&(clearTimeout(a.G),a.G=null);if(!a.G){var c=Ka(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.G=setTimeout(function(){Wu(a,!0)},b);a.O=c+b}}else a.G&&(clearTimeout(a.G),a.G=null)}
function Wu(a,b){b&&(a.G=null);var c=a.J[0];if(c){for(var d=c.Ol,e=c.Pl,c=c.sector,f=0,g=[],h=c-1;h<a.A[d][e].length;h++){var k=a.A[d][e][h];if(!k.Oa)break;var m=a.J.indexOf(k);a.J.splice(m,1);a.M.splice(m,1);g=g.concat(Fv(k));k.Oa=!1;f++}a=Cv(a,d,e,c,f,g,b);return b||a}return!1}l.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
l.seek=function(a,b,c,d,e){var f=null,g=this.B,h=this.A[a];if(h){var k=h[b];if(!k&&g.Yg&&b<g.ib)for(k=h[b]=Array(g.Td),h=0;h<k.length;h++)k[h]=Zu(null,a,b,h+1,g.ub,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;Bv(this,a,b,c,d,!!e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.Yg&&9==g.kb&&(f=k[h]=Zu(null,a,b,g.kb,g.ub,0))}}e&&e(f,!1);return f};
l.seek=function(a,b,c,d,e){var f=null,g=this.B,h=this.A[a];if(h){var k=h[b];if(!k&&g.Yg&&b<g.kb)for(k=h[b]=Array(g.Td),h=0;h<k.length;h++)k[h]=Zu(null,a,b,h+1,g.ub,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;Bv(this,a,b,c,d,!!e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.Yg&&9==g.mb&&(f=k[h]=Zu(null,a,b,g.mb,g.ub,0))}}e&&e(f,!1);return f};
function cv(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 Fv(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.Re)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&&Dv(this,a,!0)}return!0}return null};function Gv(a){for(var b="",c=0,d;d=dv(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(ev(a,d,e,1));return btoa(b)}
l.save=function(){var a=0,b=[];b[a++]=[this.I,this.L,this.ob,this.ib,this.Ya,this.Na];if(!this.D&&!this.Re)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.save=function(){var a=0,b=[];b[a++]=[this.I,this.L,this.qb,this.kb,this.$a,this.Na];if(!this.D&&!this.Re)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?Vu(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.L&&e[1]!=this.L&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.L+")",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.Re){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.F+": "+c):bv(this);return b};
l.toJSON=function(){var a;a=0;for(var b;b=dv(this,a++);)Hv(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")};
@ -661,115 +661,117 @@ b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.W=Xb(a,"ChipSet");if((this.G=zd(this.pa,"autoMount")||this.G)&&"string"==typeof this.G)try{this.G=eval("("+this.G+")")}catch(e){hb("FDC auto-mount error: "+e.message+" ("+this.G+")"),this.G=null}Lv(this);Oc(b,this,Mv);Sc(b,this,Nv);Ov(this,"None","",!0);this.M&&Ov(this,"Local Disk","?");Ov(this,"Remote Disk","??");Pv(this)||Jb(this)};
l.Xb=function(a,b){if(!b){if(!a){if(this.reset(),this.pa.O){this.B=[];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 Xf(this);a.set(0,Rv(this));return a.data()};l.restore=function(a){return Lv(this,a[0])};
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++;a.fa=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.J=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.N=4,a.W&&(a.N=+Tl(a.W,gl,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.W)a:{h=a.W;if(d<+Tl(h,gl,void 0)){if(!h.N){h=360;break a}if(d<h.N.length){h=h.N[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.ib=1;default:g.ob=40;g.Ya=9;break;case 720:g.ob=
80;g.Ya=9;break;case 1200:g.ob=80;g.Ya=15;break;case 1440:g.ob=80,g.Ya=18}}var k=a,m=d,p=f[d],w=0;h=!0;g.Ua=m;g.Le=g.Ne=!1;p||(p=[Tv,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[Uv,g.ob||40,g.ib||p[3],g.Ya||9,g.Na||512,p[1],g.ug,g.Af,g.Bf]);g.pb=p[w++];var u=p[w++];g.name=u[0];g.ob=u[1];g.ib=u[2];g.Ya=u[3];g.Na=u[4];g.Oe=u[5];(g.ug=u[6])?(g.Af=u[7],g.Bf=u[8]):(g.ug=g.ob,g.Af=g.ib,g.Bf=g.Ya);g.Xa=p[w++];g.Sd=p[w++];g.Gb=p[w++];g.Sd=100<=g.Sd?g.Sd-100:g.Sd-g.Gb;g.kb=p[w++];g.Td=p[w++];g.ub=p[w++];g.Sa=
p[w++];g.cb=null;g.sa||(g.te="");var F=p[w++];102==F&&(F=!1);"boolean"==typeof F?(u=p[w++],p=p[w],F?(w=k.A[m],Qv(k,m,!0,!0),w.Ne=!0,m=new Tu(k,w,"preload"),k.lj(w,m,u,p,!0)):Vv(k,m,u,p,!0)?g.sa&&p&&Wv(k,u,p,g.sa):Jb(k,!1)):void 0!==F&&g.sa&&0>g.sa.restore(F)&&(h=!1);h&&g.sa&&void 0!==g.Sa&&(g.cb=g.sa.seek(g.Gb,g.Xa,g.kb));h||(e=!1)}a.I=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.C;c[b++]=a.J;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.pb;p[m++]=[k.name,k.ob,k.ib,k.Ya,k.Na,k.Oe,k.ug,k.Af,k.Bf];p[m++]=k.Xa;p[m++]=k.Sd+100;p[m++]=k.Gb;p[m++]=k.kb;p[m++]=k.Td;p[m++]=k.ub;p[m++]=k.Sa;p[m++]=k.Ne;p[m++]=k.Zk;p[m]=k.te;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.te,f.sa);c[d]=a.B;c[b++]=a.I;c[b]=a.Zb;return c}
l.hj=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.$k=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.Xa=Math.floor(b/e),a.kb=b%e+1,a.ub=c*d[3],a.pb=Zv,!0}return!1};
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++;a.fa=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.J=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.N=4,a.W&&(a.N=+Tl(a.W,gl,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.W)a:{h=a.W;if(d<+Tl(h,gl,void 0)){if(!h.N){h=360;break a}if(d<h.N.length){h=h.N[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.kb=1;default:g.qb=40;g.$a=9;break;case 720:g.qb=
80;g.$a=9;break;case 1200:g.qb=80;g.$a=15;break;case 1440:g.qb=80,g.$a=18}}var k=a,m=d,p=f[d],w=0;h=!0;g.Ua=m;g.Le=g.Ne=!1;p||(p=[Tv,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[Uv,g.qb||40,g.kb||p[3],g.$a||9,g.Na||512,p[1],g.ug,g.Af,g.Bf]);g.rb=p[w++];var u=p[w++];g.name=u[0];g.qb=u[1];g.kb=u[2];g.$a=u[3];g.Na=u[4];g.Oe=u[5];(g.ug=u[6])?(g.Af=u[7],g.Bf=u[8]):(g.ug=g.qb,g.Af=g.kb,g.Bf=g.$a);g.Za=p[w++];g.Sd=p[w++];g.Gb=p[w++];g.Sd=100<=g.Sd?g.Sd-100:g.Sd-g.Gb;g.mb=p[w++];g.Td=p[w++];g.ub=p[w++];g.Sa=
p[w++];g.cb=null;g.sa||(g.te="");var F=p[w++];102==F&&(F=!1);"boolean"==typeof F?(u=p[w++],p=p[w],F?(w=k.A[m],Qv(k,m,!0,!0),w.Ne=!0,m=new Tu(k,w,"preload"),k.lj(w,m,u,p,!0)):Vv(k,m,u,p,!0)?g.sa&&p&&Wv(k,u,p,g.sa):Jb(k,!1)):void 0!==F&&g.sa&&0>g.sa.restore(F)&&(h=!1);h&&g.sa&&void 0!==g.Sa&&(g.cb=g.sa.seek(g.Gb,g.Za,g.mb));h||(e=!1)}a.I=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.C;c[b++]=a.J;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.Oe,k.ug,k.Af,k.Bf];p[m++]=k.Za;p[m++]=k.Sd+100;p[m++]=k.Gb;p[m++]=k.mb;p[m++]=k.Td;p[m++]=k.ub;p[m++]=k.Sa;p[m++]=k.Ne;p[m++]=k.Zk;p[m]=k.te;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.te,f.sa);c[d]=a.B;c[b++]=a.I;c[b]=a.Zb;return c}
l.hj=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.$k=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);if(a.G)for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.na.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=va(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Vv(a,g,f,e,!0)&&b&&Jb(a,!1);continue}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=va(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.B.length;h++)if(f.B[h][1]==g){f.B.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.te.toLowerCase()!=d.toLowerCase())){Qv(a,b,e,!0);if(g.Le)return a.Fa("Drive "+b+" busy"),0;g.Le=!0;e&&(g.ke=!0,a.K++,t(a)&&Mb(a,"loading diskette '"+c+"'"));g.Ne=!!f;return(new Tu(a,g,"preload")).load(c,d,f,a.lj)?1:0}return-1}
l.lj=function(a,b,c,d,e){var f;a.Le=!1;b&&(f=b.info(),b&&f[0]>a.ob||f[1]>a.ib)&&(this.Fa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b?(a.sa=b,a.Zk=c,a.te=d,Wv(this,c,d,b),f=b.info(),this.I|=$v,this.Fa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.ke||e),a.ug=f[0],a.Af=f[1],a.Bf=f[2],this.pa&&this.pa.ld()):a.Ne=!1;a.ke&&(a.ke=!1,--this.K||Jb(this));Jv(this,a.Ua)};
l.lj=function(a,b,c,d,e){var f;a.Le=!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.Zk=c,a.te=d,Wv(this,c,d,b),f=b.info(),this.I|=$v,this.Fa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.ke||e),a.ug=f[0],a.Af=f[1],a.Bf=f[2],this.pa&&this.pa.ld()):a.Ne=!1;a.ke&&(a.ke=!1,--this.K||Jb(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.Ne?"?":c.te,!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.te,e.sa),e.Zk="",e.te="",e.sa=null,e.Ne=!1,a.I|=$v,d||a.Fa("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.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Yv(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}l.Un=function(a,b,c){v(this,a,b,c,"OUTPUT");b&aw?this.J&aw||this.J&bw&&this.W&&hh(this.W,6):Lv(this);this.J=b};l.rm=function(a,b){v(this,a,null,b,"DIAG",80);return 80};l.tm=function(a,b){v(this,a,null,b,"STATUS",this.fa);return this.fa};
l.qm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.J&bw&&this.W&&fh(this.W,6);t(this)&&v(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.fa&=~(cw|dw),this.D=this.C=0);return c};
l.Tn=function(a,b,c){t(this)&&v(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&ew;if(void 0!==fw[a]&&this.C>=fw[a].Id){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.pb&lw)>>>24);break;case mw:case nw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];d.Xa=b;c=d.Gb=gw(this);e=gw(this);f=d.kb=gw(this);g=gw(this);d.ub=128<<g;d.Td=gw(this);gw(this);
gw(this);h==nw?(h=d,h.pb=ow|pw,h.sa&&(h.cb=null,h.pb=Zv,this.W&&(Jn(this.W,2,this,"dmaRead",h),An(this.W,2)))):(h=d,h.pb=ow|pw,h.sa&&(h.sa.Re?h.pb=qw|pw:(h.cb=null,h.pb=Zv,this.W&&(Jn(this.W,2,this,"dmaWrite",h),An(this.W,2)))));rw(this,d,a,b,c,e,f,g);b=!0;break;case sw:c=gw(this);this.Ua=c&3;d=this.A[this.Ua];d.Gb=d.Sd=0;d.pb=tw|uw;iw(this);b=!0;break;case vw:d=this.A[this.Ua];d.Xa=0;iw(this);kw(this,d.Ua|d.Xa<<2|d.pb&ww);kw(this,d.Gb);this.Ua=this.Ua+1&3;break;case xw:c=gw(this);b=c>>2&1;this.Ua=
c&3;d=this.A[this.Ua];c=d.Gb;e=d.Xa=b;f=d.kb=1;g=0;d.pb=Zv;d.sa&&(d.cb=d.sa.seek(d.Gb,d.Xa,d.kb))?g=d.cb.length>>8:d.pb=ow|pw;rw(this,d,a,b,c,e,f,g);b=!0;break;case yw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];c=d.Gb;e=d.Xa=b;f=1;g=gw(this);d.ub=128<<g;d.Td=gw(this);gw(this);d.Wi=gw(this);h=d;h.pb=ow|pw;h.sa&&(h.cb=null,h.pb=Zv,this.W&&(h.Ge=0,h.$c=Array(4),h.Yg=!0,h.jg=0,Jn(this.W,2,this,"dmaFormat",h),An(this.W,2),h.Yg=!1));rw(this,d,a,b,c,e,f,g);b=!0;break;case zw:c=gw(this),this.Ua=c&
3,d=this.A[this.Ua],d.Xa=c>>2&1,c=gw(this),d.Gb+=c-d.Sd,0>d.Gb&&(d.Gb=0),d.Gb>=d.ob&&(d.Gb=d.ob-1),d.Sd=c,d.pb=tw,d.Gb||(d.pb|=uw),iw(this),b=!0}0<this.C&&(this.fa=this.fa|cw|dw);this.J&bw&&(!d||d.pb&ow||!b||this.W&&hh(this.W,6))}};l.sm=function(a,b){var c=this.I;this.I&=~$v;v(this,a,null,b,"INPUT",c);return c};l.Sn=function(a,b,c){v(this,a,b,c,"CONTROL");this.Zb=b};
function rw(a,b,c,d,e,f,g,h){iw(a);kw(a,b.Ua|b.Xa<<2|b.pb&ww);kw(a,(b.pb&Aw)>>>8);kw(a,(b.pb&Bw)>>>16);var k=0;if(e!=b.Gb||f!=b.Xa)k=g=1;c&Cw&&(f^=k,d||(k=0));kw(a,e+k);kw(a,f);kw(a,g);kw(a,h)}function gw(a){var b=a.F[a.D];a.D++;return b}function iw(a){a.D=a.C=0}function kw(a,b){a.F[a.C++]=b}l.jl=function(a,b,c){void 0===b||0>b?this.se(a,c):c(-1,!1)};l.kl=function(a,b){return void 0!==b&&0<=b?Dw(a,b):-1};
l.Cl=function(a,b){if(void 0!==b&&0<=b)a:if(a.pb)a=-1;else{a.$c[a.Ge++]=b;if(a.Ge==a.$c.length){a.Gb=a.$c[0];a.Xa=a.$c[1];a.kb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.Ge=0;c<a.ub;c++)if(0>Dw(a,a.Wi)){a=-1;break a}a.jg++}a.jg>=a.Td&&(b=-1);a=b}else a=-1;return a};l.se=function(a,b){var c=-1,d=null,e=0;if(!a.pb&&a.sa){do{if(a.cb&&(e=a.Sa,0<=(c=a.sa.read(a.cb,a.Sa++)))){d=a.cb;break}a.cb=a.sa.seek(a.Gb,a.Xa,a.kb);if(!a.cb){a.pb=Ew|pw;break}a.Sa=0;Fw(a)}while(1)}b(c,!1,d,e)};
function Dw(a,b){if(a.pb||!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.Xa,a.kb);if(!a.cb){a.pb=Gw|pw;b=-1;break}a.Sa=0;Fw(a)}while(1);return b}function Fw(a){a.kb++;a.kb>=a.Bf+1&&(a.kb=1,a.Xa++,a.Xa>=a.Af&&(a.Xa=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={};
l.Tn=function(a,b,c){t(this)&&v(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&ew;if(void 0!==fw[a]&&this.C>=fw[a].Id){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.Td=gw(this);gw(this);
gw(this);h==nw?(h=d,h.rb=ow|pw,h.sa&&(h.cb=null,h.rb=Zv,this.W&&(Jn(this.W,2,this,"dmaRead",h),An(this.W,2)))):(h=d,h.rb=ow|pw,h.sa&&(h.sa.Re?h.rb=qw|pw:(h.cb=null,h.rb=Zv,this.W&&(Jn(this.W,2,this,"dmaWrite",h),An(this.W,2)))));rw(this,d,a,b,c,e,f,g);b=!0;break;case sw:c=gw(this);this.Ua=c&3;d=this.A[this.Ua];d.Gb=d.Sd=0;d.rb=tw|uw;iw(this);b=!0;break;case vw:d=this.A[this.Ua];d.Za=0;iw(this);kw(this,d.Ua|d.Za<<2|d.rb&ww);kw(this,d.Gb);this.Ua=this.Ua+1&3;break;case xw:c=gw(this);b=c>>2&1;this.Ua=
c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=d.mb=1;g=0;d.rb=Zv;d.sa&&(d.cb=d.sa.seek(d.Gb,d.Za,d.mb))?g=d.cb.length>>8:d.rb=ow|pw;rw(this,d,a,b,c,e,f,g);b=!0;break;case yw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=1;g=gw(this);d.ub=128<<g;d.Td=gw(this);gw(this);d.Wi=gw(this);h=d;h.rb=ow|pw;h.sa&&(h.cb=null,h.rb=Zv,this.W&&(h.Ge=0,h.$c=Array(4),h.Yg=!0,h.jg=0,Jn(this.W,2,this,"dmaFormat",h),An(this.W,2),h.Yg=!1));rw(this,d,a,b,c,e,f,g);b=!0;break;case zw:c=gw(this),this.Ua=c&
3,d=this.A[this.Ua],d.Za=c>>2&1,c=gw(this),d.Gb+=c-d.Sd,0>d.Gb&&(d.Gb=0),d.Gb>=d.qb&&(d.Gb=d.qb-1),d.Sd=c,d.rb=tw,d.Gb||(d.rb|=uw),iw(this),b=!0}0<this.C&&(this.fa=this.fa|cw|dw);this.J&bw&&(!d||d.rb&ow||!b||this.W&&hh(this.W,6))}};l.sm=function(a,b){var c=this.I;this.I&=~$v;v(this,a,null,b,"INPUT",c);return c};l.Sn=function(a,b,c){v(this,a,b,c,"CONTROL");this.Zb=b};
function rw(a,b,c,d,e,f,g,h){iw(a);kw(a,b.Ua|b.Za<<2|b.rb&ww);kw(a,(b.rb&Aw)>>>8);kw(a,(b.rb&Bw)>>>16);var k=0;if(e!=b.Gb||f!=b.Za)k=g=1;c&Cw&&(f^=k,d||(k=0));kw(a,e+k);kw(a,f);kw(a,g);kw(a,h)}function gw(a){var b=a.F[a.D];a.D++;return b}function iw(a){a.D=a.C=0}function kw(a,b){a.F[a.C++]=b}l.jl=function(a,b,c){void 0===b||0>b?this.se(a,c):c(-1,!1)};l.kl=function(a,b){return void 0!==b&&0<=b?Dw(a,b):-1};
l.Cl=function(a,b){if(void 0!==b&&0<=b)a:if(a.rb)a=-1;else{a.$c[a.Ge++]=b;if(a.Ge==a.$c.length){a.Gb=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.Ge=0;c<a.ub;c++)if(0>Dw(a,a.Wi)){a=-1;break a}a.jg++}a.jg>=a.Td&&(b=-1);a=b}else a=-1;return a};l.se=function(a,b){var c=-1,d=null,e=0;if(!a.rb&&a.sa){do{if(a.cb&&(e=a.Sa,0<=(c=a.sa.read(a.cb,a.Sa++)))){d=a.cb;break}a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Ew|pw;break}a.Sa=0;Fw(a)}while(1)}b(c,!1,d,e)};
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.Bf+1&&(a.mb=1,a.Za++,a.Za>=a.Af&&(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:{Id:3,Ud:0,name:aa.Wp},4:{Id:2,Ud:1,name:aa.Up},5:{Id:9,Ud:7,name:aa.$p},6:{Id:9,Ud:7,name:aa.Qp},7:{Id:2,Ud:0,name:aa.Sp},8:{Id:1,Ud:2,name:aa.Vp},10:{Id:2,Ud:7,name:aa.Rp},13:{Id:6,Ud:7,name:aa.Np},15:{Id:3,Ud:0,name:aa.Tp}},Mv={1009:Iv.prototype.rm,1012:Iv.prototype.tm,1013:Iv.prototype.qm,1015:Iv.prototype.sm},Nv={1010:Iv.prototype.Un,1013:Iv.prototype.Tn,1015:Iv.prototype.Sn};
ab(function(){for(var a=Ab(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Iv(d);zb(d,c)}});function Hw(a){nb.call(this,"HDC",a,1048576);this.dmaRead=Hw.prototype.ll;this.dmaWrite=Hw.prototype.ml;this.dmaWriteBuffer=Hw.prototype.Dl;this.dmaWriteFormat=Hw.prototype.El;this.Z=[];this.la=a.drives;this.M="at"==a.type}ba(Hw,nb);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];b&&b.sa?(b=b.sa,b=Xa(Gv(b),"octet-stream",!0,b.Jg.replace(".json",".img")),hb(b)):d.Fa("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=zd(a,"drives"))this.Z=d;else if(this.la)try{this.Z=eval("("+this.la+")")}catch(e){hb("HDC drive configuration error: "+e.message+" ("+this.la+")")}this.W=Xb(a,"ChipSet");this.G=0;this.ma=3;Oc(b,this,this.M?Iw:Jw);Sc(b,this,this.M?Kw:Lw);this.M&&(this.G++,this.W&&this.W.ca==xl&&this.G++,this.ma=2,b.Y[Mw]=2,b.Z[Mw]=2);Sf(c,19,this.Vm.bind(this));Sf(c,64,this.Wm.bind(this));this.reset();Nw(this)||Jb(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 Xu(a){return a.pa?a.pa.ha:""}function Yu(a){return a.pa?a.pa.B||"":""}l.reset=function(){Ow(this,null,!0)};l.save=function(){var a=new Xf(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.C=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],w=c,u=0,F=!0;p||(p=[Sw,0,!1,Array(8)]);k.Ua=h;k.errorCode=p[u++];k.al=p[u++];k.Oe=p[u++];k.De=p[u++];k.Ee=p[u++];k.Xa=p[u++];k.ib=p[u++];k.Od=p[u++];k.kb=p[u++];k.Td=p[u++];k.ub=p[u++];k.ig=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||Yu(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.Ya=m[2]||17;k.Na=m[3]||512;if(w&&g.W){var m=g.W,K=k.type;if(m.A){var w=null,H=m.A[18];15<K&&(w=K,K=15);h?(H=H&240|K,K=26):(H=H&15|K<<4,K=25);var I=m;I.A&&(I.A[18]=H,km(I));null!=w&&m.A&&(m.A[K]=w,km(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)&&(F=!1),F&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Od,k.Xa,k.kb+k.ig)));F||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-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],w=c,u=0,F=!0;p||(p=[Sw,0,!1,Array(8)]);k.Ua=h;k.errorCode=p[u++];k.al=p[u++];k.Oe=p[u++];k.De=p[u++];k.Ee=p[u++];k.Za=p[u++];k.kb=p[u++];k.Od=p[u++];k.mb=p[u++];k.Td=p[u++];k.ub=p[u++];k.ig=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||Yu(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(w&&g.W){var m=g.W,K=k.type;if(m.A){var w=null,H=m.A[18];15<K&&(w=K,K=15);h?(H=H&240|K,K=26):(H=H&15|K<<4,K=25);var I=m;I.A&&(I.A[18]=H,km(I));null!=w&&m.A&&(m.A[K]=w,km(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)&&(F=!1),F&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Od,k.Za,k.mb+k.ig)));F||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-d<<
1))}0<=a.Ua&&(a.B=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.C,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.al;m[k++]=h.Oe;m[k++]=h.De;m[k++]=h.Ee;m[k++]=h.Xa;m[k++]=h.ib;m[k++]=h.Od;m[k++]=h.kb;m[k++]=h.Td;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.hj=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.De[2])?e=b.De[0]<<8|b.De[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.ob=e,b.ib=d,null==b.sa&&(b.sa=new Tu(a,b,b.mode)))}}
l.$k=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.Od=Math.floor(b/g),b%=g,a.Xa=Math.floor(b/f),a.kb=b%f,a.ub=c*d[3],a.errorCode=Sw,!0}}return!1};
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.C,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.al;m[k++]=h.Oe;m[k++]=h.De;m[k++]=h.Ee;m[k++]=h.Za;m[k++]=h.kb;m[k++]=h.Od;m[k++]=h.mb;m[k++]=h.Td;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.hj=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.De[2])?e=b.De[0]<<8|b.De[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 Tu(a,b,b.mode)))}}
l.$k=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.Od=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.og)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Le?(e.Fa("Drive "+c+" busy"),e=!0):(g.Le=!0,g.ke=!0,e.K++,t(e)&&Mb(e,"loading "+f),(g.sa||new Tu(e,g,g.mode)).load(f,d,null,e.Fl),e=!1);!e&&b&&Jb(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Vw(a,d,d.type))}return!!a.K}
l.Fl=function(a,b,c){a.Le=!1;if(a.sa=b)this.Fa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ua),a.ke),b=b.info(),b[0]==a.ob&&b[1]==a.ib&&b[2]==a.Ya&&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.ob+":"+a.ib+":"+a.Ya+")");a.ke&&(a.ke=!1,--this.K||Jb(this))};
l.Fl=function(a,b,c){a.Le=!1;if(a.sa=b)this.Fa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ua),a.ke),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.ke&&(a.ke=!1,--this.K||Jb(this))};
l.Tm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.W&&fh(this.W,5);this.fa&=~Xw;v(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.fa&=~(Yw|Zw|$w));return c};l.ro=function(a,b,c){v(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=ax?6:this.F.length;6==this.C&&(this.fa&=~bx);this.C>=a&&(this.fa|=Yw,this.fa&=~bx,cx(this))};l.Um=function(a,b){var c=this.fa;v(this,a,null,b,"STATUS",c);this.D<this.C&&(this.fa|=bx);return c};
l.uo=function(a,b,c){v(this,a,b,c,"RESET");this.ta=b;this.W&&fh(this.W,5);Ow(this)};l.Sm=function(a,b){v(this,a,null,b,"CONFIG",this.O);return this.O};l.to=function(a,b,c){v(this,a,b,c,"PULSE");this.qa=b;this.fa=bx|Zw|$w};l.so=function(a,b,c){v(this,a,b,c,"PATTERN");this.oa=b};l.hi=function(a,b,c){v(this,a,b,c,"NOISE")};
function dx(a,b,c){var d=-1;a.B&&(d=a.se(a.B,function(){}),1==a.B.Sa||a.B.Sa==a.B.Na)&&(t(a,1048832)&&v(a,b,null,c,"DATA["+a.B.Sa+"]",d),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,a.B.ub>=a.B.Na?(a.fa=ex,a.se(a.B,function(b){0<=b?(fx(a),a.W&&a.W.ca==xl&&(a.fa=0),a.fa=a.fa|Qw|gx|hx):(a.fa=ix,a.I=jx)},!1)):a.fa=Qw|gx));return d}l.nl=function(a,b){return dx(this,a,b)|dx(this,a,b)<<8};
function kx(a,b,c,d){if(a.B&&a.B.ub>=a.B.Na)if(0>lx(a.B,c))a.fa=ix,a.I=jx;else if(1==a.B.Sa||a.B.Sa==a.B.Na)t(a,1048832)&&v(a,b,c,d,"DATA["+a.B.Sa+"]"),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,fx(a),a.fa=Qw|gx,a.B.ub>=a.B.Na&&(a.fa|=hx))}l.An=function(a,b,c){kx(this,a,b&255,c);kx(this,a,b>>8&255,c)};l.$l=function(a,b){var c=this.I;v(this,a,null,b,"ERROR",c);return c};l.Fn=function(a,b,c){v(this,a,b,c,"WPREC");this.va=b};l.bm=function(a,b){var c=this.J;v(this,a,null,b,"SECCNT",c);return c};
l.Dn=function(a,b,c){v(this,a,b,c,"SECCNT");this.J=b};l.cm=function(a,b){var c=this.ga;v(this,a,null,b,"SECNUM",c);return c};l.En=function(a,b,c){v(this,a,b,c,"SECNUM");this.ga=b};l.Yl=function(a,b){var c=this.da;v(this,a,null,b,"CYLLO",c);return c};l.zn=function(a,b,c){v(this,a,b,c,"CYLLO");this.da=b};l.Xl=function(a,b){var c=this.aa;v(this,a,null,b,"CYLHI",c);return c};l.yn=function(a,b,c){v(this,a,b,c,"CYLHI");this.aa=b};l.Zl=function(a,b){var c=this.Y;v(this,a,null,b,"DRVHD",c);return c};
l.Bn=function(a,b,c){v(this,a,b,c,"DRVHD");this.Y=b;this.fa=this.A[this.Y&mx?1:0]?this.fa|Qw|gx:this.fa&~Qw};l.dm=function(a,b){var c=this.fa;v(this,a,null,b,"STATUS",c);this.fa&Qw&&(this.fa&=~ex);return c};l.xn=function(a,b,c){v(this,a,b,c,"COMMAND");this.ha=b;this.W&&fh(this.W,14);nx(this)};l.Cn=function(a,b,c){v(this,a,b,c,"FDR");this.L&ox&&!(b&ox)&&(this.I=px);this.L=b};
function nx(a){var b=!1,c=a.ha,d=a.Y&mx?1:0,e=a.Y&qx,f=a.da|(a.aa&rx)<<8,g=a.ga,h=a.J||256;a.Ua=-1;a.B=null;a.I=sx;a.fa=Qw|gx;var k=a.A[d];k?(k.Od=f,k.Xa=e,k.kb=g,k.ub=h*k.Na,c=c>=tx?c:c&ux,k.cb=null,k.Sa=0,k.errorCode=0,a.Ua=d,a.B=k):c=-1;switch(c&ux){case vx:b=!0;break;case wx:a.fa=ex;a.se(k,function(b){0<=b&&a.W?(fx(a),a.fa=Qw|gx|hx):(a.fa=ix,a.I=jx)},!1);break;case xx:a.fa=hx;break;case yx:b=!0;break;case zx:b=!0;break;case tx:a.I=px;b=!0;break;case Ax:k.ib=e+1,k.Ya=h,b=!0}b&&fx(a)}
function nx(a){var b=!1,c=a.ha,d=a.Y&mx?1:0,e=a.Y&qx,f=a.da|(a.aa&rx)<<8,g=a.ga,h=a.J||256;a.Ua=-1;a.B=null;a.I=sx;a.fa=Qw|gx;var k=a.A[d];k?(k.Od=f,k.Za=e,k.mb=g,k.ub=h*k.Na,c=c>=tx?c:c&ux,k.cb=null,k.Sa=0,k.errorCode=0,a.Ua=d,a.B=k):c=-1;switch(c&ux){case vx:b=!0;break;case wx:a.fa=ex;a.se(k,function(b){0<=b&&a.W?(fx(a),a.fa=Qw|gx|hx):(a.fa=ix,a.I=jx)},!1);break;case xx:a.fa=hx;break;case yx:b=!0;break;case zx:b=!0;break;case tx:a.I=px;b=!0;break;case Ax:k.kb=e+1,k.$a=h,b=!0}b&&fx(a)}
function fx(a){!a.W||a.L&Bx||hh(a.W,14,120)}
function cx(a){a.D=0;var b=Cx(a),c=Cx(a),d=c&32,e=d>>5,f=c&31,g=Cx(a),h=Cx(a),k=g<<2&768|h,m=g&63,p=Cx(a),w=Cx(a),u=a.A[e];u&&(u.Od=k,u.Xa=f,u.kb=m,u.ub=p*u.Na);switch(b){case Dx:Ex(a,u?u.errorCode:Fx);Gx(a,c);Gx(a,g);Gx(a,h);Gx(a,Hx|d);b=-1;break;case ax:for(c=0;0<=(b=Cx(a));)u&&c<u.De.length&&(u.De[c++]=b);u&&Vw(a,u);b=Hx;u||a.N!=e||(a.N=-1,b=Ix);Ex(a,b|d);b=-1;break;case Jx:case Kx:Ex(a,Hx|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=Sw,u.al=0),b){case Lx:Ex(a,Hx|d);break;case Mx:u.mf=w;
function cx(a){a.D=0;var b=Cx(a),c=Cx(a),d=c&32,e=d>>5,f=c&31,g=Cx(a),h=Cx(a),k=g<<2&768|h,m=g&63,p=Cx(a),w=Cx(a),u=a.A[e];u&&(u.Od=k,u.Za=f,u.mb=m,u.ub=p*u.Na);switch(b){case Dx:Ex(a,u?u.errorCode:Fx);Gx(a,c);Gx(a,g);Gx(a,h);Gx(a,Hx|d);b=-1;break;case ax:for(c=0;0<=(b=Cx(a));)u&&c<u.De.length&&(u.De[c++]=b);u&&Vw(a,u);b=Hx;u||a.N!=e||(a.N=-1,b=Ix);Ex(a,b|d);b=-1;break;case Jx:case Kx:Ex(a,Hx|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=Sw,u.al=0),b){case Lx:Ex(a,Hx|d);break;case Mx:u.mf=w;
Ex(a,Hx|d);break;case Nx:Ex(a,Hx|d);break;case Ox:Px(a,u,function(b){Ex(a,b|d)});break;case Qx:Rx(a,u,function(b){Ex(a,b|d)});break;case Sx:Tx(a,u,function(b){Ex(a,b|d)});break;default:Ex(a,Ix|d)}}function Cx(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function Ex(a,b){a.D=a.C=0;void 0!==b&&Gx(a,b);a.W&&hh(a.W,5);a.fa|=Xw}function Gx(a,b){a.F[a.C++]=b}l.ll=function(a,b,c){void 0===b||0>b?this.se(a,c):c(-1,!1)};l.ml=function(a,b){return void 0!==b&&0<=b?lx(a,b):-1};
l.Dl=function(a,b){void 0!==b&&0<=b?(a.Sa<a.Ee.length?a.Ee[a.Sa++]=b:(a.errorCode=Ux,b=-1),a=b):a=-1;return a};l.El=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.$c[a.Ge++]=b;if(a.Ge==a.$c.length){a.Od=a.$c[0];a.Xa=a.$c[1];a.kb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.Ge=0;c<a.ub;c++)if(0>lx(a,a.Wi)){a=-1;break a}a.jg++}a.jg>=a.Td&&(b=-1);a=b}else a=-1;return a};
l.Dl=function(a,b){void 0!==b&&0<=b?(a.Sa<a.Ee.length?a.Ee[a.Sa++]=b:(a.errorCode=Ux,b=-1),a=b):a=-1;return a};l.El=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.$c[a.Ge++]=b;if(a.Ge==a.$c.length){a.Od=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.Ge=0;c<a.ub;c++)if(0>lx(a,a.Wi)){a=-1;break a}a.jg++}a.jg>=a.Td&&(b=-1);a=b}else a=-1;return a};
function Px(a,b,c){b.errorCode=Fx;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Sw;Jn(a.W,3,a,"dmaRead",b);An(a.W,3,function(a){a||b.errorCode!=Sw||(b.errorCode=Fx);c(b.errorCode?Ix:Hx)});return}c(b.errorCode?Ix:Hx)}function Rx(a,b,c){b.errorCode=Fx;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Sw;Jn(a.W,3,a,"dmaWrite",b);An(a.W,3,function(a){a||(b.errorCode==Sw&&(b.errorCode=Fx),b.errorCode==Ux&&(b.errorCode=Sw));c(b.errorCode?Ix:Hx)});return}c(b.errorCode?Ix:Hx)}
function Tx(a,b,c){b.errorCode=Fx;b.Ee&&b.Ee.length==b.ub||(b.Ee=Array(b.ub));b.Sa=0;a.W?(b.errorCode=Sw,Jn(a.W,3,a,"dmaWriteBuffer",b),An(a.W,3,function(a){a||b.errorCode!=Sw||(b.errorCode=Fx);c(b.errorCode?Ix:Hx)})):c(b.errorCode?Ix:Hx)}
l.se=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.cb&&(f=a.Sa,d=a.sa.read(a.cb,a.Sa),a.Sa+=g,0<=d))return e=a.cb,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Od,a.Xa,a.kb+a.ig,!1,function(c,k){(a.cb=c)?(e=c,f=a.Sa=0,Vx(a),d=a.sa.read(a.cb,a.Sa),a.Sa+=g):a.errorCode=Ux;b(d,k,e,f)}),d;a.errorCode=Ux;b(d,!1,e,f)}return d};
function lx(a,b){if(a.errorCode)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.sa&&a.sa.seek(a.Od,a.Xa,a.kb+a.ig,!0,function(b){a.cb=b});if(!a.cb){a.errorCode=Ux;b=-1;break}a.Sa=0;Vx(a)}while(1);return b}function Vx(a){a.kb++;var b=1-a.ig;a.kb>=a.Ya+b&&(a.kb=b,a.Xa++,a.Xa>=a.ib&&(a.Xa=0,a.Od++))}l.Vm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128<a&&(this.N=a-128);return!0};l.Wm=function(){var a;(a=this.H.D>>8||!this.W)||(a=!(this.W.hc[0].od&64));return a?!0:!1};
l.se=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.cb&&(f=a.Sa,d=a.sa.read(a.cb,a.Sa),a.Sa+=g,0<=d))return e=a.cb,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Od,a.Za,a.mb+a.ig,!1,function(c,k){(a.cb=c)?(e=c,f=a.Sa=0,Vx(a),d=a.sa.read(a.cb,a.Sa),a.Sa+=g):a.errorCode=Ux;b(d,k,e,f)}),d;a.errorCode=Ux;b(d,!1,e,f)}return d};
function lx(a,b){if(a.errorCode)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.sa&&a.sa.seek(a.Od,a.Za,a.mb+a.ig,!0,function(b){a.cb=b});if(!a.cb){a.errorCode=Ux;b=-1;break}a.Sa=0;Vx(a)}while(1);return b}function Vx(a){a.mb++;var b=1-a.ig;a.mb>=a.$a+b&&(a.mb=b,a.Za++,a.Za>=a.kb&&(a.Za=0,a.Od++))}l.Vm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128<a&&(this.N=a-128);return!0};l.Wm=function(){var a;(a=this.H.D>>8||!this.W)||(a=!(this.W.hc[0].od&64));return a?!0:!1};
var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],Mw=496,px=1,sx=0,jx=16,rx=3,qx=15,mx=16,ix=1,hx=8,gx=16,Qw=64,ex=128,vx=16,wx=32,xx=48,yx=64,zx=
112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Tm,801:Hw.prototype.Um,802:Hw.prototype.Sm},Iw={496:Hw.prototype.nl,497:Hw.prototype.$l,498:Hw.prototype.bm,499:Hw.prototype.cm,500:Hw.prototype.Yl,501:Hw.prototype.Xl,502:Hw.prototype.Zl,503:Hw.prototype.dm},Lw={800:Hw.prototype.ro,801:Hw.prototype.uo,802:Hw.prototype.to,803:Hw.prototype.so,807:Hw.prototype.hi,811:Hw.prototype.hi,
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.ya=+a.base||16;this.W=this.ga=this.L=0;this.aa=!1;this.A=-1;this.C=[];this.da={}}ba(Wx,nb);Wx.prototype.gh=function(){return-1};
Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.aa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.ya=+a.base||16;this.Ga=["{","}"];this.za=["[","]"];this.W=this.ga=this.L=0;this.aa=!1;this.A=-1;this.C=[];this.da={}}ba(Wx,nb);
Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.aa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
function Xx(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function Yx(a,b,c){var d;if(b){b=Zx(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=Ca(p);if(!p){f=!0;break}p=$x(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],u=p.length;k.length&&ay[p]<ay[k[k.length-1]]&&Xx(h,k,1);k.push(p);b=b.substr(w+u)}Xx(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&by(a,null,
d))}return d}function Zx(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Yx(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?cy(a,e):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=a.Pk(b,c[1]);for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.W-a.ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function $x(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=oa(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function by(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function dy(a,b){if(b)return by(a,b,a.da[b]);var c=0;for(b in a.da)by(a,b,a.da[b]),c++;return 0<c}
d))}return d}
function Zx(a,b){var c,d=a.Ga[0],e=a.Ga[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Yx(a,c[1]);b=b.replace(d+c[1]+e,null!=g?cy(a,g):"undefined")}if(a.za.length)for(d=a.za[0],e=a.za[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.W-a.ga}if(null==e)break;b=b.replace(d[0],
e.toString())}return b}function $x(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=oa(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function by(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function dy(a,b){if(b)return by(a,b,a.da[b]);var c=0;for(b in a.da)by(a,b,a.da[b]),c++;return 0<c}
function cy(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var ay={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function ey(a){Wx.call(this,a);this.oa=4;this.ha=5;this.wa=1048575;this.K=fy(this);this.Ga=fy(this);this.Z=fy(this);this.D=[];this.B=this.Y=this.M=[];gy(this);this.ta=0;hy(this);this.za={};iy(this,a.messages);this.Ca=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return jy(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return jy(b,a)})}ba(ey,Wx);l=ey.prototype;
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.Za=Xb(a,"FDC");this.Ha=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&iy(this,a);this.ha=b.I>>2;this.wa=b.N;this.Ta=new Vd(this.H,7,"DBG");this.ma=ky;80186<=this.H.ca&&(this.ma=ky.slice(),this.ma[15]=ly,80286<=this.H.ca&&(this.ma[15]=my,80386<=this.H.ca&&(this.oa=8)));Al(this,64,function(a){ny(d,d.H.sc,a[0])});Al(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=oy(d,
b,py),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ha)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=qy[a.type];e&&(c=e[0],b=e[1])}!c||a.jb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.ha)+" limit="+ry(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+
function ey(a){Wx.call(this,a);this.oa=4;this.ha=5;this.wa=1048575;this.K=fy(this);this.Ma=fy(this);this.Z=fy(this);this.D=[];this.B=this.Y=this.M=[];gy(this);this.ta=0;hy(this);this.Aa={};iy(this,a.messages);this.Da=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return jy(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return jy(b,a)})}ba(ey,Wx);l=ey.prototype;
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.eb=Xb(a,"FDC");this.Ta=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&iy(this,a);this.ha=b.I>>2;this.wa=b.N;this.Ya=new Vd(this.H,7,"DBG");this.ma=ky;80186<=this.H.ca&&(this.ma=ky.slice(),this.ma[15]=ly,80286<=this.H.ca&&(this.ma[15]=my,80386<=this.H.ca&&(this.oa=8)));Al(this,64,function(a){ny(d,d.H.sc,a[0])});Al(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=oy(d,
b,py),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ha)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=qy[a.type];e&&(c=e[0],b=e[1])}!c||a.lb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.ha)+" limit="+ry(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+
" dpl="+r(a.qc))}}else d.P("no selector")});Al(this,134217728,function(a){var b;(a=a[0])&&(b=$x(d,a));if(void 0===b)d.P("invalid MCB");else for(d.P("dumpMCB("+ta(b)+")");b;){a=fy(d,0,b);var c=d.Ia(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.P(sy(0,b)+": '"+String.fromCharCode(c)+"' PID="+ta(e)+" LEN="+ta(k)+' "'+ty(d,a,8)+'"');b+=1+k}});Al(this,128,function(a){ny(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});Al(this,8,function(a){a:{if(a=a[0]){var b=$x(d,a);if(void 0===b){d.P("invalid task selector: "+
a);break a}a=oy(d,b,py)}else a=d.H.la;d.P("dumpTSS("+ta(a?a.U:b)+"): %"+q(a?a.ua:null,d.ha));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?uy:vy,m,p,w,u;for(u in k)m=k[u],p=a.ua+m,w=yg(d.H,p,2),2304==c&&(w|=yg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=ta(m)+" "+Ba(u+":",11)+q(w,e);if(2304==c)for(u=0,m=w>>>16;m<a.Nb&&1023>u;)p=a.ua+m,w=yg(d.H,p,2),b+="\n"+ta(m)+" ports "+ta(u)+"-"+ta(u+15)+": "+ra(w,2),u+=16,m+=2;d.P(b)}}});this.F=null;this.Da=0;this.Aa=!1;Sf(this.H,48,this.Ym.bind(this));Sf(this.H,65,
a);break a}a=oy(d,b,py)}else a=d.H.la;d.P("dumpTSS("+ta(a?a.U:b)+"): %"+q(a?a.ua:null,d.ha));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?uy:vy,m,p,w,u;for(u in k)m=k[u],p=a.ua+m,w=yg(d.H,p,2),2304==c&&(w|=yg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=ta(m)+" "+Ba(u+":",11)+q(w,e);if(2304==c)for(u=0,m=w>>>16;m<a.Nb&&1023>u;)p=a.ua+m,w=yg(d.H,p,2),b+="\n"+ta(m)+" ports "+ta(u)+"-"+ta(u+15)+": "+ra(w,2),u+=16,m+=2;d.P(b)}}});this.F=null;this.Ha=0;this.Ba=!1;Sf(this.H,48,this.Ym.bind(this));Sf(this.H,65,
this.Zm.bind(this));this.O=null;Sf(this.H,104,this.$m.bind(this));Jb(this)};function wy(a,b,c,d,e,f){b=ty(a,b);var g=oy(a,d),g=g?g.Ka+1:0,h=(e?"_CODE":"_DATA")+q(c,2);f&&t(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=xy(a,b,c);e[b+h]=0;aq(a,b,c,d,0,null,g,e)}
function yy(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=zy(a,b,4),h=zy(a,b,4),k=fy(a,zy(a,b,4),a.Yc(b,2));b=fy(a,zy(a,b,4),a.Yc(b,2));b=ty(a,b).toUpperCase();var k=ty(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+q(e,2);d&&t(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=xy(a,k,e);c[k+m]=g;aq(a,k,e,f,g,null,h,c)}function Ay(a,b,c){c=ty(a,c).toUpperCase();By(a,c,b)}
l.Ym=function(){var a=this.H;if(null!=this.F&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=fy(this,z(a)+12,a.Y.U);switch(zy(this,d)){case 336:yy(this,fy(this,a.G,b),!c,!!this.F)}}return!0};
l.Zm=function(a){var b=this.H,c=b.D&65535,d=b.G&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.oa.U;if(null==this.F)return 79==c&&Tf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Mb(a,"INT 0x41 handling enabled",128),a.F=!0):(Mb(a,"INT 0x41 monitoring enabled",128),a.F=!1)}}(this)),!0;switch(c){case 79:this.F&&(b.D=b.D&-65536|62342,Mb(this,"INT 0x41 handling enabled",128));break;case 80:wy(this,fy(this,h,k),d+1,e,!(g&1),!!this.F);break;case 82:By(this,null,
d);break;case 127:this.F&&(b.D=b.D&-65536|(this.Aa?0:1));break;case 131:this.F&&(a=fy(this,b.L,e),this.Da++?(this.P("TRAPFAULT failed"),Cy(this,this.B,a,!0,!0),this.Da=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+ta(d)+" error="+q(b.K,8,!0)+" addr="+Dy(a)),this.Gd(this.B,a,!0),hy(this,!0)));break;case 141:this.F&&(b.D=b.D&-65536|1);break;case 336:yy(this,fy(this,b.G,f),!g,!!this.F);break;case 338:Ay(this,d,fy(this,b.J,f))}this.Aa=!1;return!this.F};
d);break;case 127:this.F&&(b.D=b.D&-65536|(this.Ba?0:1));break;case 131:this.F&&(a=fy(this,b.L,e),this.Ha++?(this.P("TRAPFAULT failed"),Cy(this,this.B,a,!0,!0),this.Ha=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+ta(d)+" error="+q(b.K,8,!0)+" addr="+Dy(a)),this.Gd(this.B,a,!0),hy(this,!0)));break;case 141:this.F&&(b.D=b.D&-65536|1);break;case 336:yy(this,fy(this,b.G,f),!g,!!this.F);break;case 338:Ay(this,d,fy(this,b.J,f))}this.Ba=!1;return!this.F};
l.$m=function(a){var b=this.H,c=b.D&255,d=b.D>>8&255,e=b.G&65535,f=b.I&65535,g=b.L&65535,h=b.J&65535,k=b.oa.U;if(null==this.O){if(67==d){if(609437257==b.ia((b.Z.U<<4)+10)||1111835735==b.ia((b.Z.U<<4)+95))return!0;Tf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Mb(a,"INT 0x68 handling enabled",128),a.F=a.O=!0):(Mb(a,"INT 0x68 monitoring enabled",128),a.O=!1)}}(this))}return!0}switch(d){case 67:this.O&&(b.D=b.D&-65536|62342);break;case 68:this.O&&(a=Xd(b.Z,this.yl.bind(this)))&&
(b.J=a[0],oe(b,a[1]));break;case 72:By(this,null,e);break;case 80:32==c?wy(this,fy(this,h,k),0,f,!0,!!this.O):128>c?wy(this,fy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.O):yy(this,fy(this,h,k),!(c&1),!!this.O),this.O&&(b.D=b.D&-256|1)}return!this.O};l.yl=function(){var a=this.H;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
l.Cb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.qa=this.na[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",jy(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.na[b]=c,Za(c,function(){if(d.qa){var a=d.qa.value;
d.qa.value="";jy(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,Za(c,function(a){var b=!1;Kb(d,!0)||(Lb(d,!0),b=Ey(d,a?1:0),Lb(d,!1));return b}),!0}return!1};l.ld=function(){this.qa&&this.qa.focus()};function Fy(a){return!(!(a.H&&a.H.qa&1)||a.H.O&131072)}
function oy(a,b,c){var d=Fy(a)?py:Gy;c||(c=d);if(c==d){if(b===a.H.Z.U)return a.H.Z;if(b===a.H.Ca.U)return a.H.Ca;if(b===a.H.oa.U)return a.H.oa;if(b===a.H.Y.U)return a.H.Y;if(80386<=a.H.ca){if(b===a.H.Ga.U)return a.H.Ga;if(b===a.H.Ha.U)return a.H.Ha}if(a.Ba&&c==py||!a.Ta)return null}a=a.Ta;if(c!=py)a.mh(b),a.Ka=65535,a.Nb=65536;else{var e;c=a.gc;b&=65535;b&4?(d=c.Eb.ua,e=d+c.Eb.Ka|0):(d=c.Kb,e=c.Pc);d=d+(b&65528)|0;if(e-d|0){e=yg(c,d+0,2);var f=yg(c,d+4,2),g=f&7936,h=yg(c,d+2,2)|(f&255)<<16,k=yg(c,
d+6,2);80386<=c.ca&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.U=b;a.ua=h;a.Ka=e;a.Nb=(e>>>0)+1;a.jb=f;a.type=g;a.ext=k;a.Lb=d;Wd(a,!0,!0,!1)}}return a}l.Sb=function(a,b,c){var d=a&&a.xa;if(null==d&&(d=-1,a)){var e=oy(this,a.U,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Lb||e.Oc&&(b>>>0)+c>e.Nb||!e.Oc&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.xa=d)}return d};l.Ia=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=yg(this.H,d,1,a.type==Hy)|0,b&&Iy(this,a,b));return c};
l.hb=function(a,b){return a.Hb?zy(this,a,b?4:0):this.Yc(a,b?2:0)};l.Yc=function(a,b){var c=65535,d=this.Sb(a,!1,2);-1!==d&&(c=yg(this.H,d,2,a.type==Hy)|0,b&&Iy(this,a,b));return c};function zy(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=yg(a.H,e,4,b.type==Hy)|0,c&&Iy(a,b,c));return d}l.fc=function(a,b,c,d){var e=this.Sb(a,!0,1);if(-1!==e){if(a.type!=Hy)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].bf(e&f.D,b&255,e)}c&&Iy(this,a,c);d||Cd(this.H,!0)}};
function oy(a,b,c){var d=Fy(a)?py:Gy;c||(c=d);if(c==d){if(b===a.H.Z.U)return a.H.Z;if(b===a.H.Ca.U)return a.H.Ca;if(b===a.H.oa.U)return a.H.oa;if(b===a.H.Y.U)return a.H.Y;if(80386<=a.H.ca){if(b===a.H.Ga.U)return a.H.Ga;if(b===a.H.Ha.U)return a.H.Ha}if(a.Ca&&c==py||!a.Ya)return null}a=a.Ya;if(c!=py)a.mh(b),a.Ka=65535,a.Nb=65536;else{var e;c=a.gc;b&=65535;b&4?(d=c.Eb.ua,e=d+c.Eb.Ka|0):(d=c.Kb,e=c.Pc);d=d+(b&65528)|0;if(e-d|0){e=yg(c,d+0,2);var f=yg(c,d+4,2),g=f&7936,h=yg(c,d+2,2)|(f&255)<<16,k=yg(c,
d+6,2);80386<=c.ca&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.U=b;a.ua=h;a.Ka=e;a.Nb=(e>>>0)+1;a.lb=f;a.type=g;a.ext=k;a.Lb=d;Wd(a,!0,!0,!1)}}return a}l.Sb=function(a,b,c){var d=a&&a.xa;if(null==d&&(d=-1,a)){var e=oy(this,a.U,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Lb||e.Oc&&(b>>>0)+c>e.Nb||!e.Oc&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.xa=d)}return d};l.Ia=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=yg(this.H,d,1,a.type==Hy)|0,b&&Iy(this,a,b));return c};
l.jb=function(a,b){return a.Hb?zy(this,a,b?4:0):this.Yc(a,b?2:0)};l.Yc=function(a,b){var c=65535,d=this.Sb(a,!1,2);-1!==d&&(c=yg(this.H,d,2,a.type==Hy)|0,b&&Iy(this,a,b));return c};function zy(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=yg(a.H,e,4,b.type==Hy)|0,c&&Iy(a,b,c));return d}l.fc=function(a,b,c,d){var e=this.Sb(a,!0,1);if(-1!==e){if(a.type!=Hy)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].bf(e&f.D,b&255,e)}c&&Iy(this,a,c);d||Cd(this.H,!0)}};
l.il=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=Hy?this.H.fb(d,b):Kc(this.ka,d,b),c&&Iy(this,a,c),Cd(this.H,!0))};function fy(a,b,c,d,e,f,g){return Jy(a,{},b,c,d,e,f,g)}function Jy(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.xa=e;b.type=f||(Fy(a)?py:Gy);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.V);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Jd=!1;return b}function Ky(a){return[a.Ja,a.U,a.xa,a.Jd,a.Hb,a.dc,a.Fe,a.bh]}function Ly(a){return{Ja:a[0],U:a[1],xa:a[2],Jd:a[3],Hb:a[4],dc:a[5],Fe:a[6],bh:a[7]}}
function My(a,b,c){if(null!=b.U&&(a=oy(a,b.U,b.type))){var d=b.Ja&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Hb=4==a.V,b.dc=4==a.Jc)}return!0}
function Ny(a,b,c,d){var e,f=c?a.K:a.Ga;c=d?Oy:f.type;var g=f.Ja,h=f.U,f=f.xa;if(void 0!==b){b=Zx(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Gy;break;case "#":c=py;break;case "%":c=Py;e=b.charAt(1);"%"==e&&(c=Hy,e+=e);g=0;h=null;break;default:0<=f&&(c=Oy),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var m=e.toUpperCase(),p=0;p<a.D.length;p++){e=a.D[p];var w=e.Fd[m];if(void 0!==w){m=w.o;void 0!==m&&(k=w.s,void 0===k&&(k=e.U),k=fy(a,m,k,w.p));
break}}if(e=k)return e;0>f?null!=h?(g=Yx(a,b,void 0),f=null):(f=Yx(a,b,void 0),null==f&&(g=null)):(h=Yx(a,b.substring(0,f),void 0),g=Yx(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=fy(a,g,h,f,c),d||My(a,e,!0)||(a.P("invalid offset: "+Dy(e)),e=null));return e}function Qy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sl=a.Cg(b.Yk=c[2]))}l.Pk=function(a,b){var c=Ny(this,b);return a.replace("["+b+"]",c?q(this.hb(c),c.Hb?8:4):"undefined")};
function Ny(a,b,c,d){var e,f=c?a.K:a.Ma;c=d?Oy:f.type;var g=f.Ja,h=f.U,f=f.xa;if(void 0!==b){b=Zx(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Gy;break;case "#":c=py;break;case "%":c=Py;e=b.charAt(1);"%"==e&&(c=Hy,e+=e);g=0;h=null;break;default:0<=f&&(c=Oy),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var m=e.toUpperCase(),p=0;p<a.D.length;p++){e=a.D[p];var w=e.Fd[m];if(void 0!==w){m=w.o;void 0!==m&&(k=w.s,void 0===k&&(k=e.U),k=fy(a,m,k,w.p));
break}}if(e=k)return e;0>f?null!=h?(g=Yx(a,b,void 0),f=null):(f=Yx(a,b,void 0),null==f&&(g=null)):(h=Yx(a,b.substring(0,f),void 0),g=Yx(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=fy(a,g,h,f,c),d||My(a,e,!0)||(a.P("invalid offset: "+Dy(e)),e=null));return e}function Qy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sl=a.Cg(b.Yk=c[2]))}l.Pk=function(a,b){var c=Ny(this,b);return a.replace("["+b+"]",c?q(this.jb(c),c.Hb?8:4):"undefined")};
function Iy(a,b,c){c=c||1;null!=b.xa&&(b.xa+=c);null!=b.U&&(b.Ja+=c,My(a,b)||(b.Ja=0,b.xa=null))}function sy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Dy(a){var b;switch(a.type){case Gy:case Ry:b="&";break;case py:b="#";break;case Py:b="%";break;case Hy:b="%%";break;default:b=a.U?"":"%"}return a.type>=Py||null==a.U?b+q(a.xa):b+sy(a.Ja,a.U,a.dc)}
function ty(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ia(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function ny(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(Ny(a,c));if(-1===e){a.P("invalid address: "+c);return}f=e>>>a.H.qb;g=1}a.P("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.P("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==cd&&(d=td(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=vc[c],c==ed&&(d=d.pd,h+=" -> "+vc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<<a.H.qb,8)+" %%"+q(d.xa,8)+" "+ta(d.ve)+" "+ta(d.size)+
function ny(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(Ny(a,c));if(-1===e){a.P("invalid address: "+c);return}f=e>>>a.H.hb;g=1}a.P("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.P("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==cd&&(d=td(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=vc[c],c==ed&&(d=d.pd,h+=" -> "+vc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<<a.H.hb,8)+" %%"+q(d.xa,8)+" "+ta(d.ve)+" "+ta(d.size)+
" "+h),c!=bd&&c!=cd&&(c=-1),h=0),e+=a.H.Ng,f++}function Sy(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function xy(a,b,c){var d=[],e;for(e=null;e=Xb(a.pa,"Disk",e);){var f=e,g=b,h=c,d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.Rf==g&&(m=m.nd[h])){for(var p in m.ee)f=m.ee[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
function iy(a,b){a.ba=a;a.ic=a.wl=1073741824;a.va=null;b=a.Cg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb)0<=Ia(b,c)&&(a.ic|=Sb[c],a.P(c+" messages enabled"));hy(a)}function Al(a,b,c){for(var d in Sb)if(b==Sb[d]){a.za[d]=c;break}}l.gh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ia(Ty,a):(c=Ia(Ty,a.substr(b,3)),0>c&&(c=Ia(Ty,a.substr(b,2))));return c};
function iy(a,b){a.ba=a;a.ic=a.wl=1073741824;a.va=null;b=a.Cg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb)0<=Ia(b,c)&&(a.ic|=Sb[c],a.P(c+" messages enabled"));hy(a)}function Al(a,b,c){for(var d in Sb)if(b==Sb[d]){a.Aa[d]=c;break}}l.gh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ia(Ty,a):(c=Ia(Ty,a.substr(b,3)),0>c&&(c=Ia(Ty,a.substr(b,2))));return c};
function Uy(a,b){var c=0,d=a.hh(b);if(null!=d)switch(b){case Vy:case Wy:case Xy:case Yy:case Zy:case $y:case az:case bz:c=2;break;case cz:case dz:case ez:case fz:case gz:case hz:case iz:case jz:case kz:case lz+mz:case lz+nz:case lz+oz:case lz+pz:case lz+qz:case lz+rz:c=4;break;case sz:case tz:case uz:case vz:case wz:case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez:c=8;break;case Fz:c=a.oa}return c?q(d,c):"??"}
l.hh=function(a){var b;if(0<=a){var c=this.H;switch(a){case Vy:b=c.D&255;break;case Wy:b=c.I&255;break;case Xy:b=c.L&255;break;case Yy:b=c.G&255;break;case Zy:b=c.D>>8&255;break;case $y:b=c.I>>8&255;break;case az:b=c.L>>8&255;break;case bz:b=c.G>>8&255;break;case cz:b=c.D&65535;break;case dz:b=c.I&65535;break;case ez:b=c.L&65535;break;case fz:b=c.G&65535;break;case gz:b=z(c)&65535;break;case hz:b=c.M&65535;break;case iz:b=c.K&65535;break;case jz:b=c.J&65535;break;case kz:b=A(c)&65535;break;case Fz:b=
re(c);break;case lz+mz:b=c.oa.U;break;case lz+nz:b=c.Z.U;break;case lz+oz:b=c.Y.U;break;case lz+pz:b=c.Ca.U;break;default:if(80286==this.H.ca)a==Az&&(b=c.qa);else if(80386<=this.H.ca)switch(a){case sz:b=c.D;break;case tz:b=c.I;break;case uz:b=c.L;break;case vz:b=c.G;break;case wz:b=z(c);break;case xz:b=c.M;break;case yz:b=c.K;break;case zz:b=c.J;break;case Az:b=c.qa;break;case Bz:b=c.Og;break;case Cz:b=c.Cd;break;case Dz:b=c.Wc;break;case lz+qz:b=c.Ga.U;break;case lz+rz:b=c.Ha.U;break;case Ez:b=A(c)}}}return b};
function Gz(a,b){b=Zx(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.gh(b,c+1),0<=e&&(b=b.substr(0,c)+Uy(a,e)+b.substr(c+1+Ty[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=oa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ny(a,e))?(d=e+' "'+ty(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Ny(a,e))?(Iy(a,d),d=
e+' "'+ty(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Dy(fy(this,A(this.H),this.H.Z.U))+" (%"+q(this.H.da)+")");this.va&&a==this.va||(this.va=a,this.ic&-2147483648&&(this.Jb(),a+=" (cpu halted)"),this.P(a),this.H&&(a=this.H,a.zc-=a.A,a.A=0,a.T.Ve=0,Cd(a)))};
function Wk(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Hz.indexOf(b),!d)){var g=Iz[b];g&&(d=t(a,g)?!0:524288==g&&t(a,g=1048576))}d&&(e=a.H.D>>8&255,f=a.H.L&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Rb[b])&&g[e]||"")&&(g=" "+Gz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+sy(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
function Nb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.ic&h)==h)h=null,null!=e&&(h=a.H.Z.U,e-=a.H.Z.ua),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+ta(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+sy(e,h):""))}l.ih=function(){this.P("Type ? for help with PCx86 Debugger commands");Jz(this);if(this.Ca){var a=this.Ca;this.Ca=null;jy(this,a)}};
function Nb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.ic&h)==h)h=null,null!=e&&(h=a.H.Z.U,e-=a.H.Z.ua),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+ta(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+sy(e,h):""))}l.ih=function(){this.P("Type ? for help with PCx86 Debugger commands");Jz(this);if(this.Da){var a=this.Da;this.Da=null;jy(this,a)}};
function hy(a,b){var c;if(Jg(a)){if(!a.N||!a.N.length){a.N=Array(Kz);for(c=0;c<a.N.length;c++)a.N[c]=fy(a);a.la=0;b||a.P("instruction history buffer allocated")}if(!a.J||!a.J.length)for(a.J=Array(256),c=0;c<a.J.length;c++)a.J[c]=[c,0]}else a.N&&a.N.length&&!b&&a.P("instruction history buffer freed"),a.la=0,a.N=[],a.J=[]}function Lz(a,b){if(!Mz(a))return!1;a.H.Uf(b);return!0}
function Ey(a,b,c,d){if(!Mz(a))return!1;a.L=0;do{b||Jg(a)&&Mg(a,a.H.da,0);try{var e=a.H.Lg(b);0<e&&(a.L+=e,Hd(a.H,e,!0),Dd(a.H,e),a.W++)}catch(g){if("number"!=typeof g){var f=g;a.L=0;Gb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Cd(a.H);Jz(a,c||!1);return 0<a.L}l.Jb=function(a){this.H&&this.H.Jb(a)};function Jz(a,b){void 0===b&&(b=!0);a.K=fy(a,A(a.H),a.H.Z.U);b&&1!=a.I?Nz(a):Oz(a)}
function Mz(a){var b;if(b=a.H&&Ib(a.H))b=a.H,b.ea.Yb?b=!0:(b.P(b.toString()+" not powered"),b=!1);b&&!Kb(a.H)?(a=a.H,a.ea.error?(a.P(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Xb=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Wb=function(a,b){b&&this.P(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){hy(this);this.W=this.ga=0;this.va=null;this.L=0;this.K=fy(this,A(this.H),this.H.Z.U);this.ea.vb=!1;Pz(this);a||Jz(this)};
l.save=function(){var a=new Xf(this);a.set(0,Ky(this.K));a.set(1,Ky(this.Z));a.set(2,[this.C,this.aa,this.ic]);a.set(3,this.D);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Ly(a[b++]),this.Z=Ly(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.aa=a[b][1],this.ic|=a[b][2]);a[3]&&(this.D=a[3]);return!0};l.start=function(a,b){this.I||this.P("running");this.ea.vb=!0;this.$a=a;this.jd=b};
l.stop=function(a,b){if(this.ea.vb){this.ea.vb=!1;this.L=b-this.jd;if(!this.I){b="stopped";if(this.L){a-=this.$a;var c=0<a?Math.round(1E3*this.L/a):0;b+=" (";Jg(this)&&(b+=this.W+" opcodes, ",this.ga-=this.W,this.W=0);b+=this.L+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Jz(this,!0);this.ld();Pz(this,this.H.da)}};function Jg(a){return 1<a.B.length||!!a.ta||t(a,16)}
l.save=function(){var a=new Xf(this);a.set(0,Ky(this.K));a.set(1,Ky(this.Z));a.set(2,[this.C,this.aa,this.ic]);a.set(3,this.D);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Ly(a[b++]),this.Z=Ly(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.aa=a[b][1],this.ic|=a[b][2]);a[3]&&(this.D=a[3]);return!0};l.start=function(a,b){this.I||this.P("running");this.ea.vb=!0;this.hb=a;this.jd=b};
l.stop=function(a,b){if(this.ea.vb){this.ea.vb=!1;this.L=b-this.jd;if(!this.I){b="stopped";if(this.L){a-=this.hb;var c=0<a?Math.round(1E3*this.L/a):0;b+=" (";Jg(this)&&(b+=this.W+" opcodes, ",this.ga-=this.W,this.W=0);b+=this.L+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Jz(this,!0);this.ld();Pz(this,this.H.da)}};function Jg(a){return 1<a.B.length||!!a.ta||t(a,16)}
function Mg(a,b,c){var d=a.H;if(0<c&&(a.ta&&!--a.ta||Qz(a,b,1,a.B)))return!0;0<=c&&a.J.length&&(a.W++,b=yg(d,b),null!=b&&(a.J[b][1]++,Jy(a,a.N[a.la],A(d),d.Z.U),++a.la==a.N.length&&(a.la=0)));return!1}function qd(a,b,c){return Qz(a,b,c||1,a.Y)?(a.Jb(!0),!0):!1}function sd(a,b,c){return Qz(a,b,c||1,a.M)?(a.Jb(!0),!0):!1}function Qc(a,b,c){a.P("break on input from port "+ta(b)+": "+q(c));a.Jb(!0)}function Uc(a,b,c){a.P("break on output to port "+ta(b)+": "+q(c));a.Jb(!0)}
function gy(a){var b,c;a.B=["bp"];if(a.Y)for(b=1;b<a.Y.length;b++)c=a.Y[b],lf(a.H,a.Sb(c),!1,c.type==Hy);a.Y=["br"];if(a.M)for(b=1;b<a.M.length;b++)c=a.M[b],lf(a.H,a.Sb(c),!0,c.type==Hy);a.M=["bw"];a.Ba=0}
l.Gd=function(a,b,c){var d=!0;c||Cy(this,a,b,!1,!0);if(a!=this.B){var e=this.Sb(b);if(-1===e)this.P("invalid address: "+Dy(b)),d=!1;else{var f=this.H,g=b.type==Hy;(g?f.sc:f.aa)[e>>>f.qb].Gd(e&f.Db,a==this.M);g&&tc(f)}}d&&(a.push(b),c?(null!=b.xa&&(b.U=null),b.Jd=!0):(Rz(this,a,a.length-1,"set"),hy(this)));return d};
function gy(a){var b,c;a.B=["bp"];if(a.Y)for(b=1;b<a.Y.length;b++)c=a.Y[b],lf(a.H,a.Sb(c),!1,c.type==Hy);a.Y=["br"];if(a.M)for(b=1;b<a.M.length;b++)c=a.M[b],lf(a.H,a.Sb(c),!0,c.type==Hy);a.M=["bw"];a.Ca=0}
l.Gd=function(a,b,c){var d=!0;c||Cy(this,a,b,!1,!0);if(a!=this.B){var e=this.Sb(b);if(-1===e)this.P("invalid address: "+Dy(b)),d=!1;else{var f=this.H,g=b.type==Hy;(g?f.sc:f.aa)[e>>>f.hb].Gd(e&f.Db,a==this.M);g&&tc(f)}}d&&(a.push(b),c?(null!=b.xa&&(b.U=null),b.Jd=!0):(Rz(this,a,a.length-1,"set"),hy(this)));return d};
function Cy(a,b,c,d,e){for(var f=!1,g=Sz(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Sz(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ja==k.Ja)if(!d||k.Jd){f=!0;k.Jd||e||Rz(a,b,h,"cleared");b.splice(h,1);b!=a.B&&lf(a.H,g,b==a.M,k.type==Hy);k.Jd||hy(a);break}}return f}function Tz(a,b){for(var c=1;c<b.length;c++)Rz(a,b,c);return b.length-1}function Rz(a,b,c,d){c=b[c];a.P(b[0]+" "+Dy(c)+(d?" "+d:c.Yk?' "'+c.Yk+'"':""))}
function Pz(a,b){if(void 0!==b)Qz(a,b,1,a.B,!0),a.I=0;else for(b=1;b<a.B.length;b++){var c=a.B[b];if(c.Jd){if(!Cy(a,a.B,c,!0))break;b=0}}}function Sz(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
function Qz(a,b,c,d,e){var f=!1;if(!a.Ba++){b=Sz(a,b);t(a,-2147483632)&&204==yg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Jd){null!=h.U&&(h.xa=null);for(var k=Sz(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Jd&&(Cy(a,d,h,!0),e=!0);if(p=h.sl){for(var f=!1,w=0;w<p.length;w++)if(!Uz(a,p[w],!0)){if(p[w].indexOf("if")){f=!0;break}for(var u=w+1;u<p.length&&p[u].indexOf("else");u++)w++;if(u==p.length){f=!0;break}}a.H.ea.vb||(f=!0)}if(f){e||Rz(a,d,g,"hit");break}}}}}a.Ba--;return f}
function Qz(a,b,c,d,e){var f=!1;if(!a.Ca++){b=Sz(a,b);t(a,-2147483632)&&204==yg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Jd){null!=h.U&&(h.xa=null);for(var k=Sz(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Jd&&(Cy(a,d,h,!0),e=!0);if(p=h.sl){for(var f=!1,w=0;w<p.length;w++)if(!Uz(a,p[w],!0)){if(p[w].indexOf("if")){f=!0;break}for(var u=w+1;u<p.length&&p[u].indexOf("else");u++)w++;if(u==p.length){f=!0;break}}a.H.ea.vb||(f=!0)}if(f){e||Rz(a,d,g,"hit");break}}}}}a.Ca--;return f}
function Vz(a,b,c,d){for(var e=fy(a,b.Ja,b.U,b.xa,b.type),f=a.Ia(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Hb=!b.Hb,k=!0):m||(b.dc=!b.dc,m=!0),h++,f=a.Ia(b,1);var g=-1,p=Wz,k=a.ma[f],m=k[0];m==Xz&&(m=a.Ia(b,1),k=Yz[m]||ly,f|=m<<8,m=k[0]);if(m==Zz){var g=a.Ia(b,1),w;w=null;var u=g>>3&7,F=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=F&&(F=u<<4|g&7);(u=$z[f])&&(w=u[F]);w&&(p=aA,k=w,m=k[0])}m>=p.length&&(g=a.Ia(b,1),k=bA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;w="";b.Hb&&(m==cA?
p="CWDE":m==dA?p="CDQ":m>=eA&&m<=fA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Hb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");for(var f=-1,F=!0,K=1;K<=u;K++){var H,I;H="";I=k[K];if(void 0!==I){0>f&&(f=I>>gA);m==hA&&(f==iA?w="[%800]":f==jA&&(w="ES:["+(b.dc?"E":"")+"DI]"));var T=I&kA;if(T!=lA)if(T==mA)F=!1;else{var L=I&nA;if(L>=R)if(0>g&&(g=a.Ia(b,1)),L<oA){L=a;H=I;var ua=u;I=b;var ca="",xb=g>>6,za=g&7;if(3>xb){T=!p.indexOf("FI");if(!xb&&(!I.dc&&6==za||I.dc&&5==za))xb=2;else{if(I.dc)if(4!=za)za+=
8;else{var ca=L,cb=xb,Sa=I,rb=ca.Ia(Sa,1),db=rb>>6,rc=rb>>3&7,rb=rb&7,ib="";if(cb||5!=rb)ib=pA[rb+8];4!=rc&&(ib&&(ib+="+"),ib+=pA[rc+8],db&&(ib+="*"+(1<<db)));cb||5!=rb||(ib&&(ib+="+"),ib+=q(zy(ca,Sa,4)));ca=ib}ca||(ca=pA[za])}1==xb?(L=L.Ia(I,1),ca=L&128?ca+("-"+q(-(L<<24>>24),2)):ca+("+"+q(L,2))):2==xb&&(ca&&(ca+="+"),I.dc?(L=zy(L,I,4),ca+=q(L)):(L=L.Yc(I,2),ca+=q(L,4)));ca="["+ca+"]";if(1==ua){L="";H&=kA;H==S&&(H=I.Hb?qA:U);switch(H){case rA:L="FAR";break;case V:L="BYTE";break;case U:if(T){L="INT16";
break}L="WORD";break;case qA:L="DWORD";break;case sA:if(T){L="INT32";break}case tA:L="REAL32";break;case uA:if(T){L="INT64";break}case vA:L="REAL64";break;case wA:L="REAL80";break;case xA:L="BCD80"}L&&(ca=L+" "+ca)}}else ca=yA(L,za,H,I);H=ca}else H=L==oA?yA(a,g&7,I,b):yA(a,g>>3&7,I,b);else if(L==zA)H="1";else if(L==W){H=a;T=I;L=b;I=" ";switch(T&kA){case V:T&X&&(I=q(H.Ia(L,1),2));break;case AA:I=q(H.Ia(L,1)<<24>>24,L.Hb?8:4);break;case S:if(L.Hb){I=q(zy(H,L,4));break}case U:I=q(H.Yc(L,2),4);break;
case rA:L=fy(H,H.hb(L,!0),H.Yc(L,2),null,L.type,L.Hb,L.dc);I=Dy(L);H=BA(H,L);H[0]&&(I+=" ("+H[0]+")");break;default:I="imm("+ta(T)+")"}H=I}else L==CA?(b.dc?(H=8,I=zy(a,b,4)):(H=4,I=a.Yc(b,2)),H="["+q(I,H)+"]"):L==DA?(H=T==V?a.Ia(b,1)<<24>>24:a.hb(b,!0),I=b.Ja+H&(b.Hb?-1:65535),H=q(I,b.Hb?8:4),I=BA(a,fy(a,I,b.U)),I[0]&&(H+=" ("+I[0]+")")):L==Y?H=T==EA?"ST":T==FA?"ST("+(g&7)+")":yA(a,(I&GA)>>8,I,b):L==HA?H=yA(a,(I&GA)>>8,IA,b):L==JA?H="DS:[SI]":L==KA&&(H="ES:[DI]");if(!H||!H.length){w="INVALID";break}0<
case rA:L=fy(H,H.jb(L,!0),H.Yc(L,2),null,L.type,L.Hb,L.dc);I=Dy(L);H=BA(H,L);H[0]&&(I+=" ("+H[0]+")");break;default:I="imm("+ta(T)+")"}H=I}else L==CA?(b.dc?(H=8,I=zy(a,b,4)):(H=4,I=a.Yc(b,2)),H="["+q(I,H)+"]"):L==DA?(H=T==V?a.Ia(b,1)<<24>>24:a.jb(b,!0),I=b.Ja+H&(b.Hb?-1:65535),H=q(I,b.Hb?8:4),I=BA(a,fy(a,I,b.U)),I[0]&&(H+=" ("+I[0]+")")):L==Y?H=T==EA?"ST":T==FA?"ST("+(g&7)+")":yA(a,(I&GA)>>8,I,b):L==HA?H=yA(a,(I&GA)>>8,IA,b):L==JA?H="DS:[SI]":L==KA&&(H="ES:[DI]");if(!H||!H.length){w="INVALID";break}0<
w.length&&(w+=",");w+=H||"???"}}}g="";k=Dy(e)+" ";if(-1!==e.xa&&-1!==b.xa){do if(g+=q(a.Ia(e,1),2),null==e.xa)break;while(e.xa!=b.xa)}k+=Ba(g,e.dc?24:16);k+=Ba(p,8);w&&(k+=" "+w);a.H.ca<LA[f]&&(c=LA[f]+" CPU only");c&&F&&(k=Ba(k,e.dc?74:56)+";"+c,k=a.H.ea.He?k+("cycles="+Ed(a.H).toString()+" cs="+q(a.H.T.uf)):k+(null!=d?"="+d.toString():""));MA(b,F,h);return k}
function yA(a,b,c,d){var e=c&nA;if(e==IA){if(b>rz||b>=qz&&80386>a.H.ca)return"??";b+=lz}else if(e==NA)b+=Az;else if(e==OA)b+=PA;else if(e==QA)b+=RA;else if(a=c&kA,a>=U&&(b<cz&&(b+=cz-Vy),a==qA||a==S&&d.Hb))b+=sz-cz;return Ty[b]}
function SA(a,b){switch(b){case "V":a=ig(a.H);break;case "D":a=a.H.O&1024;break;case "I":a=a.H.O&512;break;case "T":a=a.H.O&256;break;case "S":a=hg(a.H);break;case "Z":a=gg(a.H);break;case "A":a=fg(a.H);break;case "P":a=eg(a.H);break;case "C":a=dg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function ry(a){return q(a,a&-65536?8:4)}function TA(a,b){b>=cz&&b<=jz&&4<a.oa&&(b+=sz-cz);var c=Ty[b];b==Az&&80286==a.H.ca&&(c="MS");return c+"="+Uy(a,b)+" "}
@ -782,7 +784,7 @@ function XA(a,b,c,d){var e={},f=a.D[b].Pi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0
function ZA(a,b){if("?"==b)a.P("frequency commands:"),a.P("\tclear\tclear all frequency counts");else{var c=0;if(a.J)if("clear"==b){for(b=0;b<a.J.length;b++)a.J[b]=[b,0];a.P("frequency data cleared");c++}else if(void 0!==b)a.P("unknown frequency command: "+b),c++;else{var d=a.J.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.P((Wz[a.ma[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.P("no frequency data available")}}
function $A(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return dy(a)||a.P("no variables"),!0;if(!c[2])return dy(a,c[1]);if(!c[3])return delete a.da[c[1]],!0;b=Yx(a,c[3]);return void 0!==b?(a.da[c[1]]=b,!0):!1}a.P("invalid assignment:"+b);return!1}
function aB(a,b,c){var d=null;if(b=Ny(a,b,!0)){a.Sb(b);var e=BA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ja-e[1])&&(g=" + "+ta(f)),f=e[0]+" ("+sy(e[1],b.U)+")"+g,c&&a.P(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+ta(f)),f=e[4]+" ("+sy(e[5],b.U)+")"+g,c&&a.P(f),d||(d=f))}else c&&a.P("no symbols")}return d}
function bB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Ny(a,b[1]);if(g&&(d=$x(a,b[2],"drive #"),void 0!==d)){if(!c){e=$x(a,b[3],"sector #");if(void 0===e)return;f=$x(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Za;2<=d&&a.Ha&&(d-=2,h=a.Ha);if(h){var k=h.hj(d);if(k)if(k.sa)if(c)YA(a),a.P(k.sa.toJSON());else if(h.$k(k,e,f)){var m=0,p=!1;for(b=Dy(g);!p&&0<k.ub--;)(function(a,b){h.se(k,function(c){0>c?(a.P("out of data at address "+Dy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Cd(a.H,
function bB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Ny(a,b[1]);if(g&&(d=$x(a,b[2],"drive #"),void 0!==d)){if(!c){e=$x(a,b[3],"sector #");if(void 0===e)return;f=$x(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.eb;2<=d&&a.Ta&&(d-=2,h=a.Ta);if(h){var k=h.hj(d);if(k)if(k.sa)if(c)YA(a),a.P(k.sa.toJSON());else if(h.$k(k,e,f)){var m=0,p=!1;for(b=Dy(g);!p&&0<k.ub--;)(function(a,b){h.se(k,function(c){0>c?(a.P("out of data at address "+Dy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Cd(a.H,
!0);a.P(m+" bytes read at "+b)}else a.P("sector "+e+" request out of range");else a.P("drive "+d+" not loaded");else a.P("invalid drive: "+d)}else a.P("disk controller not present")}}else a.P("load commands:"),a.P("\tl [address] [drive #] [sector #] [# sectors]")}
function Nz(a,b){var c;if(b&&"?"==b[1])a.P("register commands:"),a.P("\tr\tdump registers"),a.Tc&&a.P("\trfp\tdump floating-point registers"),a.P("\trp\tdump all registers"),a.P("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1<b.length){var e=b[1];if(a.Tc&&"fp"==e){c=a.Tc;d=ah(c);b=c.Zb;for(var f=0;8>f;f++){var g=c,e=null;if(f<g.F.length){var e=[],h=g.B+f&7;e[0]=h;e[1]=rh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=vh(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
a.P("ST"+f+": "+Ba(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+cB[e[1]]+"]")}a.P(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.P("SW: "+qa(d,16)+" ("+ta(d)+") CW: "+qa(b,16)+" ("+ta(b)+")");return}if("p"==e)d=80286<=a.H.ca;else{f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.P("missing value for "+b[1]);return}g=Yx(a,b);if(void 0===g)return;f=!0;h=e.toUpperCase();"E"==h.charAt(0)&&4>=a.oa&&(h=null);switch(h){case "AL":a.H.D=
@ -797,22 +799,22 @@ l.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A|
function Uz(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.aa&&(a.P("ended assemble at "+Dy(a.Z)),a.K=a.Z,a.aa=!1),b="";else if(!c){var e=">> ";a.H.qa&1&&(e=a.H.O&131072?"-- ":"## ");a.P(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.va=null;if(Ib(a)&&0<b.length){a.aa&&(b="a "+Dy(a.Z)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var w=
Ny(a,g[1],!0);if(w)if(a.Z=w,void 0===g[2])a.P("begin assemble at "+Dy(w)),a.aa=!0,Cd(a.H);else{var u;a.P("not supported yet");u=[];if(u.length){for(var F=0;F<u.length;F++)a.fc(w,u[F],1);a.P(Vz(a,a.Z))}}break;case "b":a:{var K=g[0],H=g[1],I=b;if("?"==H)a.P("breakpoint commands:"),a.P("\tbi [p]\ttoggle break on input port [p]"),a.P("\tbo [p]\ttoggle break on output port [p]"),a.P("\tbp [a]\tset exec breakpoint at addr [a]"),a.P("\tbr [a]\tset read breakpoint at addr [a]"),a.P("\tbw [a]\tset write breakpoint at addr [a]"),
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=K.charAt(1);if("l"==T){var L;L=0+Tz(a,a.B);L+=Tz(a,a.Y);(L+=Tz(a,a.M))||a.P("no breakpoints")}else if("n"==T)a.ta=$x(a,H),a.P("break after "+a.ta+" instruction(s)");else if(void 0===H)a.P("missing breakpoint address");else{var ua={};if("*"!=H&&(ua=Ny(a,H,!0,!0),!ua))break a;H=null==ua.Ja?H:ta(ua.Ja);"c"==T?null==ua.Ja?(gy(a),a.P("all breakpoints cleared")):Cy(a,
a.B,ua)||Cy(a,a.Y,ua)||Cy(a,a.M,ua)||a.P("breakpoint missing: "+Dy(ua)):"i"==T?a.P("breakpoint "+(Nc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==T?a.P("breakpoint "+(Rc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=ua.Ja&&(Qy(a,ua,I),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.Y,ua):"w"==T?a.Gd(a.M,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":YA(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Sb)a.za[xb]&&
a.B,ua)||Cy(a,a.Y,ua)||Cy(a,a.M,ua)||a.P("breakpoint missing: "+Dy(ua)):"i"==T?a.P("breakpoint "+(Nc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==T?a.P("breakpoint "+(Rc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=ua.Ja&&(Qy(a,ua,I),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.Y,ua):"w"==T?a.Gd(a.M,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":YA(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Sb)a.Aa[xb]&&
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=gB(a.pa,!0);rc?"console"==Sa?console.log(rc):
(YA(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],sg=df.o;if(void 0!==sg){var ef=df.s;void 0===ef&&(ef=cf.U);var tg=cf.Fd[Ld].l;tg&&(Ld=tg);a.P(sy(sg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Ng=a.Sb(Ny(a,qm));if(-1===Ng)a.P("invalid address: "+qm);else{var nf,
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Ng&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.lb=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.lb.Nd(Qa.Jk);Qa.Kk=(Ng&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.mb=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.mb.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Ng&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Ng),ve=ve+(" %%"+Sy(nf.Ti,nf.Aj)),ve=
ve+(" %%"+Sy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";bB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var tt=a.za[xb];tt?(ca.shift(),ca.shift(),tt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.eb||"db")}else a.eb=za;if("dh"==za){var ut=cb,vt=Sa,wt="",xt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+ut||a.Ma,Og=+vt||10;isNaN(uc)?uc=Og:wt="more ";uc>jd.length&&(a.P("note: only "+
jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==vt&&(Og=1E5,rm=["CALL"]);for(void 0!==ut&&a.P(uc+" instructions earlier:");0<Og&&Mc!=a.la;){var we=jd[Mc++];if(null==we.U)break;var Pg=fy(a,we.Ja,we.U,we.xa,we.type,we.Hb,we.dc),XB=uc--,yt=Vz(a,Pg,"history",XB);(!rm.length||0<=yt.indexOf(rm[0]))&&a.P(yt);Pg.Fe&&(Mc+=Pg.Fe,Og-=Pg.Fe,uc-=Pg.Fe);Mc>=jd.length&&(Mc=0);a.Ma=uc;xt++;Og--}}xt||(a.P("no "+wt+"history available"),a.Ma=
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Ng&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Ng&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Ng&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Ng),ve=ve+(" %%"+Sy(nf.Ti,nf.Aj)),ve=
ve+(" %%"+Sy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";bB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var tt=a.Aa[xb];tt?(ca.shift(),ca.shift(),tt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var ut=cb,vt=Sa,wt="",xt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+ut||a.Xa,Og=+vt||10;isNaN(uc)?uc=Og:wt="more ";uc>jd.length&&(a.P("note: only "+
jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==vt&&(Og=1E5,rm=["CALL"]);for(void 0!==ut&&a.P(uc+" instructions earlier:");0<Og&&Mc!=a.la;){var we=jd[Mc++];if(null==we.U)break;var Pg=fy(a,we.Ja,we.U,we.xa,we.type,we.Hb,we.dc),XB=uc--,yt=Vz(a,Pg,"history",XB);(!rm.length||0<=yt.indexOf(rm[0]))&&a.P(yt);Pg.Fe&&(Mc+=Pg.Fe,Og-=Pg.Fe,uc-=Pg.Fe);Mc>=jd.length&&(Mc=0);a.Xa=uc;xt++;Og--}}xt||(a.P("no "+wt+"history available"),a.Xa=
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Qg=$x(a,sm);if(void 0===Qg||0>Qg||255<Qg)a.P("invalid vector: "+sm);else{var zt="&",At=!!(a.H.qa&1),Bt=!1,Ti=a.H.Pb+(Qg<<(At?3:2)),Ct=a.H.ja(Ti+0),YB=a.H.ja(Ti+2);At&&(zt="#",a.H.ja(Ti+4)&2048&&(Bt=!0,Ct|=a.H.ja(Ti+6)<<16));a.P("dumpIDT("+ta(Qg)+"): "+zt+q(YB,4)+":"+q(Ct,Bt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Ny(a,cb);if(pf&&(null!=pf.U||null!=pf.xa)){var Ui=0;Sa&&("l"==Sa.charAt(0)&&
(Sa=Sa.substr(1)||rb),Ui=$x(a,Sa)>>>0,65536<Ui&&(Ui=65536));for(var Rg="",qf="dd"==za?4:"dw"==za?2:1,Vi=qf*Ui||128,ZB=Vi+15>>4||1;ZB--&&0<Vi;){var Sg=0,tm=0,Tg,um="",Dt="",cb=Dy(pf);for(Tg=4==qf?16:a.ya;0<Tg&&0<Vi;Tg--){var Wi=a.Ia(pf,1),Sg=Sg|Wi<<(tm++<<3);tm==qf&&(um+=8==a.ya?sa(Sg,3*qf):q(Sg,2*qf),um+=1==qf?9==Tg?"-":" ":" ",Sg=tm=0);Dt+=32<=Wi&&128>Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Dt)}Rg&&a.P(Rg);a.Ga=pf}}}}}break;case "e":if("else"==g[0])break;var Xi=
(Sa=Sa.substr(1)||rb),Ui=$x(a,Sa)>>>0,65536<Ui&&(Ui=65536));for(var Rg="",qf="dd"==za?4:"dw"==za?2:1,Vi=qf*Ui||128,ZB=Vi+15>>4||1;ZB--&&0<Vi;){var Sg=0,tm=0,Tg,um="",Dt="",cb=Dy(pf);for(Tg=4==qf?16:a.ya;0<Tg&&0<Vi;Tg--){var Wi=a.Ia(pf,1),Sg=Sg|Wi<<(tm++<<3);tm==qf&&(um+=8==a.ya?sa(Sg,3*qf):q(Sg,2*qf),um+=1==qf?9==Tg?"-":" ":" ",Sg=tm=0);Dt+=32<=Wi&&128>Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Dt)}Rg&&a.P(Rg);a.Ma=pf}}}}}break;case "e":if("else"==g[0])break;var Xi=
1,Et=255,Ft=a.Ia,Gt=a.fc;"ew"==g[0]&&(Xi=2,Et=65535,Ft=a.Yc,Gt=a.il);var Ht=Xi<<1,It=g[1];if(null==It)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Yi=Ny(a,It);if(Yi)for(var Zi=2;Zi<g.length;Zi++){var Ug=Yx(a,g[Zi]);if(void 0===Ug){a.P("unrecognized value: "+g[Zi]);break}Ug&~Et&&a.P("warning: "+q(Ug)+" exceeds "+Xi+"-byte value");var $B=Ft.call(a,Yi);a.P("changing "+Dy(Yi)+" from "+q($B,Ht,!0)+" to "+q(Ug,Ht,!0));
Gt.call(a,Yi,Ug,Xi)}}break;case "f":ZA(a,g[1]);break;case "g":a:{var Jt=g[1],aC=b;"gt"==g[0]&&(a.Aa=!0);if(void 0!==Jt){var vm=Ny(a,Jt,!0);if(!vm)break a;Qy(a,vm,aC);a.Gd(a.B,vm,!0)}Lz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Vg=b.substr(2),Vg=Ca(Vg);Yx(a,Vg)?(c||a.P("true: "+Vg),xm=!0):(c||a.P("false: "+Vg),xm=!1);xm||(d=!1);
Gt.call(a,Yi,Ug,Xi)}}break;case "f":ZA(a,g[1]);break;case "g":a:{var Jt=g[1],aC=b;"gt"==g[0]&&(a.Ba=!0);if(void 0!==Jt){var vm=Ny(a,Jt,!0);if(!vm)break a;Qy(a,vm,aC);a.Gd(a.B,vm,!0)}Lz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Vg=b.substr(2),Vg=Ca(Vg);Yx(a,Vg)?(c||a.P("true: "+Vg),xm=!0):(c||a.P("false: "+Vg),xm=!1);xm||(d=!1);
break}if("int"==g[0]){var $i;a:switch($x(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ga=a.W;$i=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ga=a.W;$i=!0;break a;default:$i=!1}$i||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=$x(a,ym);if(void 0!==zm){var bC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(bC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var cC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
a.P("\tks\tshow symbol information");else{var Am=0,Kt=a.H.Z.U,Wg=fy(a),Sd=fy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Dy(Sd));10>Am;){for(var kd=null,dC=256;Sd.Ja>>>0<a.H.cg>>>0;){Wg.Ja=a.hb(Sd,!0);if(null==Sd.xa||!dC--)break;Wg.U=Kt;if(kd=eB(a,Wg))break;Wg.U=a.hb(Sd);if(kd=eB(a,Wg,!0)){Kt=a.hb(Sd,!0);0<kd.indexOf("INT")&&a.hb(Sd,!0);break}}if(!kd||null==kd)break;var Lt=null;if("ks"==cC){var Mt=kd.match(/[0-9A-F]+$/);Mt&&(Lt=aB(a,Mt[0]))}kd=Ba(kd,50)+" ;"+(Lt||"stack="+Dy(Sd));a.P(kd);Am++}Am||
a.P("\tks\tshow symbol information");else{var Am=0,Kt=a.H.Z.U,Wg=fy(a),Sd=fy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Dy(Sd));10>Am;){for(var kd=null,dC=256;Sd.Ja>>>0<a.H.cg>>>0;){Wg.Ja=a.jb(Sd,!0);if(null==Sd.xa||!dC--)break;Wg.U=Kt;if(kd=eB(a,Wg))break;Wg.U=a.jb(Sd);if(kd=eB(a,Wg,!0)){Kt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Lt=null;if("ks"==cC){var Mt=kd.match(/[0-9A-F]+$/);Mt&&(Lt=aB(a,Mt[0]))}kd=Ba(kd,50)+" ;"+(Lt||"stack="+Dy(Sd));a.P(kd);Am++}Am||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){aB(a,g[1],!0);break}bB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],aj=g[2];if(a.G){var Nt=1;"-"==aj.charAt(0)&&(Nt=-1,aj=aj.substr(1));var xe=$x(a,aj,Bm);if(void 0!==xe)switch(xe=xe*Nt|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var eC=0,Xg="";for(ld in Sb)if(!fb||fb==ld){var fC=!!(a.ic&Sb[ld]);if(null===md||md==fC)Xg&&(Xg+=","),++eC%10||(Xg+="\n\t"),"key"==ld&&(ld="keys"),Xg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Xg||"none"));hy(a)}break;case "o":var Cm=g[1],gC=g[2];if(Cm&&"?"!=Cm){var Dm=$x(a,Cm,"port #"),Em=$x(a,gC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){dB(a,b.substr(5));break}var Ot="pr"==g[0]?1:0,rf=1+Ot;if(a.I)a.P("step in progress");
else{var bj,Pt=!1,Hb=fy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Iy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Iy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Iy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Iy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Iy(a,Hb,Hb.Hb?7:5);break;case 255:var Qt=a.hb(Hb)&14591;if(4351==Qt||6399==Qt)a.I=rf,Vz(a,Hb);break;case 243:case 242:Iy(a,Hb,1);Pt=bj=!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:Pt&&
else{var bj,Pt=!1,Hb=fy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Iy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Iy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Iy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Iy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Iy(a,Hb,Hb.Hb?7:5);break;case 255:var Qt=a.jb(Hb)&14591;if(4351==Qt||6399==Qt)a.I=rf,Vz(a,Hb);break;case 243:case 242:Iy(a,Hb,1);Pt=bj=!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:Pt&&
(a.I=rf,Iy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Lz(a)||(a.pa&&a.pa.ld(),a.I=0)):fB(a,Ot?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Nz(a,g);break;case "t":fB(a,g[0],g[1]);break;case "u":Oz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){$A(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]);
switch(g[2]){case "int":a.H.T.Se=Yg;break;case "start":a.H.T.wf=Yg;break;case "stop":a.H.T.Ue=Yg;break;default:a.P("unknown cs option");break a}void 0!==Yg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){dB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in hB)Fm+="\n"+Ba(Gm,7)+hB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(St){a.P("debugger error: "+(St.stack||St.message)),d=!1}return d}

View file

@ -50,8 +50,9 @@ var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[4
"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Bd:65,wh:66,xh:67,zh:68,E:69,Ah:70,Bh:71,Ch:72,Dh:73,Eh:74,Fh:75,Gh:76,Hh:77,Ih:78,Jh:79,Kh:80,Q:81,Lh:82,Mh:83,Nh:84,Oh:85,Ph:86,Qh:87,Rh:88,Sh:89,sf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Cd:97,jk:98,kk:99,d:100,e:101,vk:102,wk:103,xk:104,yk:105,Jl:106,k:107,Ll:108,Pl:109,n:110,Vl:111,p:112,q:113,r:114,pn:115,t:116,sn:117,tn:118,un:119,x:120,
y:121,z:122,"{":123,"|":124,"}":125,"~":126,po:127},ma={};ma[173]=n["-"];ma[186]=n[";"];ma[187]=n["="];ma[189]=n["-"];ma[188]=n[","];ma[190]=n["."];ma[191]=n["/"];ma[192]=n["`"];ma[219]=n["["];ma[220]=n["\\"];ma[221]=n["]"];ma[222]=n["'"];var p={};p[n["1"]]=n["!"];p[n["2"]]=n["@"];p[n["3"]]=n["#"];p[n["4"]]=n.$;p[n["5"]]=n["%"];p[n["6"]]=n["^"];p[n["7"]]=n["&"];p[n["8"]]=n["*"];p[n["9"]]=n["("];p[n["0"]]=n[")"];p[186]=n[":"];p[187]=n["+"];p[188]=n["<"];p[189]=n._;p[190]=n[">"];p[191]=n["?"];
p[192]=n["~"];p[219]=n["{"];p[220]=n["|"];p[221]=n["}"];p[222]=n['"'];p[173]=n._;p[61]=n["+"];p[59]=n[":"];
function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):
2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function oa(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;c=c?"0x":"";var d="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(16,b)),a>=Math.pow(16,b)&&(b=Math.ceil(Math.log(a)/Math.log(16))));if(null==a)for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a%16,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a=Math.trunc(a/16)}return(void 0===c?"":c)+d}
function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d?(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));
var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}
function oa(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;c=c?"0x":"";var d="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(16,b)),a>=Math.pow(16,b)&&(b=Math.ceil(Math.log(a)/Math.log(16))));if(null==a)for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a%16,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a=Math.trunc(a/16)}return(void 0===c?"":c)+d}
function pa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function qa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ra(a,b){return-1!==a.indexOf(b,a.length-b.length)}function sa(a){return a.replace(/[&<>"']/g,function(a){return ta[a]})}function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var ta={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},va={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function wa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}function xa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.qg|g<<f.shift&f.qg}return c}function ya(a,b){return(b&a.qg)>>a.shift}var za=[31,28,31,30,31,30,31,31,30,31,30,31],Aa=Date.now||function(){return+new Date};

View file

@ -91,9 +91,11 @@ class DebuggerPDP10 extends Debugger {
* Since this Debugger doesn't use replaceRegs(), we can use parentheses instead of braces.
*/
this.fInit = false;
this.fParens = true;
this.nBusWidth = 18; // default value, updated by initBus()
this.achGroup = ['<','>'];
this.achAddress = [];
/*
* Most commands that require an address call parseAddr(), and if a dbgAddr parameter is supplied
* as as well (eg, dbgAddrCode, dbgAddrData), then that address will be used as the default.

View file

@ -36,8 +36,33 @@ if (NODE) {
var DebuggerPDP10 = require("./debugger");
}
/**
* @typedef {{
* name:(string),
* nOperand:(number),
* aParms:(string),
* sText:(string)
* }}
*/
var Macro;
/**
* @typedef {{
* name:(string),
* value:(number),
* fLabel:(boolean),
* fGlobal:(boolean),
* fPrivate:(boolean)
* }}
*/
var Sym;
/**
* @class Macro10
* @property {string} sURL
* @property {number} nAddr
* @property {DebuggerPDP10} dbg
* @property {function(Macro10,string,number)} done
*/
class Macro10 {
/**
@ -64,13 +89,14 @@ class Macro10 {
constructor(sURL, nAddr, dbg, done)
{
this.sURL = sURL;
this.nAddr = nAddr;
this.nAddr = nAddr || 0;
this.dbg = dbg;
this.done = done;
/*
* Set up all the services we need to use.
*/
this.println = dbg && dbg.println || console.log;
this.println = dbg.println;
/*
* Initialize all the tables that MACRO-10 uses.
@ -78,6 +104,29 @@ class Macro10 {
this.tblMacros = {};
this.tblSymbols = {};
this.nLine = 0;
this.nError = 0;
this.aWords = []; // filled in by the various genXXX() functions
this.sOperator = null; // the active operator, if any
this.nMacroDef = 0; // the active MACRO definition state
this.sMacroDef = null; // the active MACRO definition name
/*
* If an ASCII/ASCIZ/SIXBIT pseudo-op is active, chASCII is set to the separator and sASCII collects
* the intervening character(s).
*/
/**
* @type {null|string}
*/
this.chASCII = null;
/**
* @type {string}
*/
this.sASCII = "";
var macro10 = this;
Web.getResource(sURL, null, true, function(sURL, sResource, nErrorCode) {
if (!nErrorCode) {
@ -99,47 +148,75 @@ class Macro10 {
*/
parseFile(sPath, sContents)
{
var sText = sContents;
if (Str.endsWith(sPath, ".html")) {
/*
* We want to parse ONLY the text between <PRE>...</PRE> tags, and eliminate any HTML entities.
*/
sText = "";
var match, re = /<pre>([\s\S]*?)<\/pre>/gi;
while (match = re.exec(sContents)) {
var s = match[1];
if (s.indexOf('&') >= 0) s = s.replace(/&lt;/gi, '<').replace(/&gt;/gi, '>').replace(/&amp;/gi, '&');
sText += s;
var a = this.dbg.resetVariables();
try {
var sText = sContents;
if (Str.endsWith(sPath, ".html")) {
/*
* We want to parse ONLY the text between <PRE>...</PRE> tags, and eliminate any HTML entities.
*/
sText = "";
var match, re = /<pre>([\s\S]*?)<\/pre>/gi;
while (match = re.exec(sContents)) {
var s = match[1];
if (s.indexOf('&') >= 0) s = s.replace(/&lt;/gi, '<').replace(/&gt;/gi, '>').replace(/&amp;/gi, '&');
sText += s;
}
match = sText.match(/&[a-z]+;/i);
if (match) this.warning("unrecognized HTML entity: " + match[0]);
}
match = sText.match(/&[a-z]+;/i);
if (match) this.warning("unrecognized HTML entity: " + match[0]);
var i;
var asLines = sText.split(/\r?\n/);
for (i = 0; i < asLines.length; i++) {
this.nLine++;
if (!this.parseLine(asLines[i] + '\r\n')) break;
}
} catch(err) {
this.println(err.message);
this.nError = -1;
}
var i;
var asLines = sText.split(/\r?\n/);
for (i = 0; i < asLines.length; i++) {
if (!this.parseLine(i + 1, asLines[i])) break;
}
return 0;
this.dbg.restoreVariables(a);
return this.nError;
}
/**
* parseLine(nLine, sLine)
* parseLine(sLine)
*
* @this {Macro10}
* @param {number} nLine (line number)
* @param {string} sLine (line contents)
* @return {boolean}
*/
parseLine(nLine, sLine)
parseLine(sLine)
{
var reLine = /([A-Z$%.][0-9A-Z$%.]*[:=]|)\s*([^\s;]+|)\s*([^;]+|)\s*(;?.*)/i;
if (this.nMacroDef) {
if (this.nMacroDef == 1) {
var i = sLine.indexOf('<');
if (i >= 0) {
this.nMacroDef++;
sLine = sLine.substr(i+1);
} else {
this.error("expected " + this.sOperator + " definition: " + sLine);
}
}
if (this.nMacroDef > 1) {
sLine = this.appendMacro(sLine);
}
if (this.nMacroDef) return true;
}
if (this.chASCII != null) {
sLine = this.addASCII(sLine);
}
var reLine = /\s*([A-Z$%.][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)\s*(;?.*)/i;
var match = sLine.match(reLine);
if (!match || match[4] && match[4].slice(0, 1) != ';') {
this.warning("failed to parse line " + nLine + ": " + sLine);
this.error("failed to parse line: " + sLine);
return false;
}
var sLabel = match[1];
var sOperator = match[2];
var sOperator = match[2].toUpperCase();
var sOperands = match[3].trim();
var sComment = match[4].slice(1);
if (sLabel) {
@ -148,14 +225,103 @@ class Macro10 {
if (chSep == ':') {
this.addLabel(sLabel);
} else {
this.addVariable(sLabel, sOperands = sOperator + sOperands);
sOperands = sOperator + sOperands;
sOperator = chSep;
}
}
if (DEBUG) this.println(Str.toDec(nLine, 5) + ": label(" + sLabel + ") operator(" + sOperator + ") operands(" + sOperands + ") comment(" + sComment + ")");
this.sOperator = sOperator;
sOperands = sOperands.trim();
switch(sOperator) {
case "":
break; // eg, a blank line or a line that contains only a label and/or a comment
case "=":
this.addAssign(sLabel, sOperands);
break;
case Macro10.PSEUDO_OP.ASCII:
case Macro10.PSEUDO_OP.ASCIZ:
case Macro10.PSEUDO_OP.SIXBIT:
this.addASCII(sOperands);
break;
case Macro10.PSEUDO_OP.DEFINE:
case Macro10.PSEUDO_OP.IFE:
case Macro10.PSEUDO_OP.REPEAT:
this.addMacro(sOperator, sOperands);
break;
case Macro10.PSEUDO_OP.PAGE: // TODO
case Macro10.PSEUDO_OP.SUBTTL: // TODO
break;
default:
if (DEBUG) this.println(Str.toDec(this.nLine, 5) + ": label(" + sLabel + ") operator(" + sOperator + ") operands(" + sOperands + ") comment(" + sComment + ")");
break;
}
if (this.nLine >= 330) {
this.dbg.printVariable();
this.error("temporary line limit reached");
return false;
}
return true;
}
/**
* parseMacro()
*
* @this {Macro10}
*/
parseMacro()
{
if (!this.sMacroDef) return;
var macro = this.tblMacros[this.sMacroDef];
var sOperator = this.sMacroDef[0] == '@'? this.sMacroDef.substr(1) : this.sOperator;
switch(sOperator) {
case Macro10.PSEUDO_OP.IFE:
if (!macro.nOperand) {
this.parseText(macro.sText);
}
break;
case Macro10.PSEUDO_OP.REPEAT:
while (macro.nOperand-- > 0) {
this.parseText(macro.sText);
}
break;
}
}
/**
* parseText(sText)
*
* @this {Macro10}
* @param {string} sText
*/
parseText(sText)
{
var asLines = sText.split(/\r?\n/);
for (var i = 0; i < asLines.length; i++) {
if (!this.parseLine(asLines[i] + '\r\n')) break;
}
}
/**
* error(sError)
*
* @this {Macro10}
* @param {string} sError
*/
error(sError)
{
throw new Error("error" + (this.nLine? " at line " + Str.toDec(this.nLine) : "") + ": " + sError);
}
/**
* warning(sWarning)
*
@ -164,7 +330,90 @@ class Macro10 {
*/
warning(sWarning)
{
this.println("warning: " + sWarning);
this.println("warning" + (this.nLine? " at line " + Str.toDec(this.nLine) : "") + ": " + sWarning);
}
/**
* getExpression(sInput, chDelim)
*
* @this {Macro10}
* @param {string} sInput
* @param {string} [chDelim]
* @return {string|null} (if the input string begins with an expression, return it)
*/
getExpression(sInput, chDelim)
{
var sExp = null;
var cNesting = 0;
for (var i = 0; i < sInput.length; i++) {
var ch = sInput[i];
if (ch == chDelim) {
if (!cNesting) {
sExp = sInput.substr(0, i);
break;
}
}
if (ch == '<') {
cNesting++;
} else if (ch == '>') {
if (--cNesting < 0) {
this.error("missing angle bracket(s): " + sInput);
break;
}
}
}
return sExp;
}
/**
* addASCII(sOperands)
*
* @this {Macro10}
* @param {string} sOperands
* @return {string} (returns whatever portion of the string was not part of an ASCII pseudo-op)
*/
addASCII(sOperands)
{
var sRemain = sOperands;
if (this.chASCII == null) {
this.chASCII = this.sASCII = "";
if (sOperands) {
this.chASCII = sOperands[0];
sRemain = sOperands = sOperands.substr(1);
}
}
if (this.chASCII) {
var i = sOperands.indexOf(this.chASCII);
if (i < 0) {
sRemain = "";
} else {
sRemain = sOperands.substr(i + 1);
sOperands = sOperands.substr(0, i);
this.chASCII = null;
}
this.sASCII += sOperands;
}
if (this.chASCII == null) {
this.genASCII();
}
return sRemain;
}
/**
* addAssign(sName, sExp)
*
* @this {Macro10}
* @param {string} sName
* @param {string} sExp
*/
addAssign(sName, sExp)
{
var value = this.dbg.parseExpression(sExp);
if (value === undefined) {
this.error("parseExpression(" + sExp + ")");
return;
}
this.addSymbol(sName, value);
}
/**
@ -175,16 +424,200 @@ class Macro10 {
*/
addLabel(sLabel)
{
this.addSymbol(sLabel, this.nAddr, true);
}
/**
* addVariable(sVar, sExp)
* addMacro(sOperator, sOperands)
*
* If sOperator is DEFINE, then a macro definition is expected. If it's REPEAT, then we're starting a
* REPEAT block instead.
*
* REPEAT blocks piggy-back on this code because they're essentially anonymous immediately-invoked macros;
* we use an illegal MACRO-10 symbol ('@REPEAT') to name the anonymous macro while it's being defined, and the
* macro's nOperand field will contain the repeat count (-1 for regular macros).
*
* The piggy-backing continues with other pseudo-ops like IFE, which again contain an anonymous block of text
* that is immediately invoked if the criteria associated with the expression stored in the nOperand field is
* satisfied. That satisfaction occurs (or doesn't occur) when parseMacro() is called, once the macro has
* been fully defined.
*
* @this {Macro10}
* @param {string} sVar
* @param {string} sExp
* @param {string} sOperator
* @param {string} sOperands
*/
addVariable(sVar, sExp)
addMacro(sOperator, sOperands)
{
var match, name, aParms, nOperand, iDelim;
if (sOperator == Macro10.PSEUDO_OP.DEFINE) {
match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);
if (!match) {
this.error("unrecognized " + sOperator + " definition: " + sOperands);
return;
}
/*
* TODO: Tighten up this parsing at some point. All this is doing is extracting entire symbols
* from within the parentheses, if any; it's NOT ensuring that those symbols are comma-separated
* with no other intervening characters.
*/
name = match[1];
aParms = match[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);
nOperand = -1;
iDelim = 3;
} else {
var sExp = this.getExpression(sOperands, ',');
if (!sExp) {
this.error("missing " + sOperator + " expression: " + sOperands);
return;
}
sOperands = sOperands.substr(sExp.length + 1);
sExp = sExp.trim();
match = sOperands.match(/\s*(<|)(.*)/i);
name = '@' + sOperator;
aParms = [];
nOperand = this.dbg.parseExpression(sExp);
iDelim = 1;
}
/*
* Now we need to set a global parsing state: we are either about to receive a macro definition on
* subsequent lines (1), the definition has already started on the current line (2), or the definition
* started and ended on the current line (0).
*/
this.nMacroDef = 1;
this.sMacroDef = name;
var sText = "";
if (match[iDelim]) { // if there IS an angle bracket...
this.nMacroDef = 2; // then the macro definition has begun
sText = match[iDelim + 1];
if (sText.slice(-1) == '>') { // and if there is ALSO a closing angle bracket...
this.nMacroDef = 0; // the macro definition has also ended
sText = sText.slice(0, -1);
}
}
this.tblMacros[name] = {
name: name,
aParms: aParms,
nOperand: nOperand,
sText: sText
};
if (!this.nMacroDef) this.parseMacro();
}
/**
* appendMacro(sLine)
*
* @this {Macro10}
* @param {string} sLine
* @return {string}
*/
appendMacro(sLine)
{
var sRemain = "";
for (var i = 0; i < sLine.length; i++) {
if (sLine[i] == '<') {
this.nMacroDef++;
} else if (sLine[i] == '>') {
this.nMacroDef--;
if (this.nMacroDef == 1) {
this.nMacroDef = 0;
sRemain = sLine.substr(i + 1);
sLine = sLine.substr(0, i);
break;
}
}
}
var macro = this.tblMacros[this.sMacroDef];
macro.sText += sLine;
if (!this.nMacroDef) this.parseMacro();
return sRemain;
}
/**
* addSymbol(name, value, fLabel, fGlobal, fPrivate)
*
* @this {Macro10}
* @param {string} name
* @param {number} value
* @param {boolean} [fLabel] (default is false, meaning the symbol is an assignment)
* @param {boolean} [fGlobal] (default is false, meaning the symbol is local to the current file)
* @param {boolean} [fPrivate] (default is false, meaning the symbol has visibility to the caller)
*/
addSymbol(name, value, fLabel = false, fGlobal = false, fPrivate = false)
{
name = name.toUpperCase().substr(0, 6);
if (fLabel && this.tblSymbols[name] !== undefined) {
this.error("label " + name + " redefined");
return;
}
this.tblSymbols[name] = {
name: name,
value: value,
fLabel: fLabel,
fGlobal: fGlobal,
fPrivate: fPrivate
};
this.dbg.setVariable(name, value);
}
/**
* genASCII()
*
* Based on the last operator, generate the appropriate ASCII data.
*
* @this {Macro10}
*/
genASCII()
{
var n = 0, w = 0; // number of characters in current word, and current word
var bits, shift; // bits per character, and bits to left-shift next character
var cch = this.sASCII.length;
if (this.sOperator == Macro10.PSEUDO_OP.ASCIZ) cch++;
for (var i = 0; i < cch; i++) {
if (!n) {
w = 0; shift = 29; bits = 7;
if (this.sOperator == Macro10.PSEUDO_OP.SIXBIT) {
bits--; shift++;
}
}
/*
* If we're processing an ASCIZ pseudo-op, then yes, we will fetch one character beyond
* the end of sASCII, which will return NaN, but when we mask a falsey value like NaN, we
* get zero, so it's all good.
*/
var c = this.sASCII.charCodeAt(i) & 0o177;
w += c * Math.pow(2, shift);
shift -= bits;
n++;
if (shift < 0) {
this.genWord(w);
n = 0;
}
}
if (n) this.genWord(w);
}
/**
* genWord(w)
*
* @this {Macro10}
* @param {number} w
*/
genWord(w)
{
this.aWords[this.nAddr++] = w;
}
}
Macro10.PSEUDO_OP = {
ASCII: "ASCII",
ASCIZ: "ASCIZ",
SIXBIT: "SIXBIT",
DEFINE: "DEFINE",
IFE: "IFE",
REPEAT: "REPEAT",
PAGE: "PAGE",
SUBTTL: "SUBTTL",
};

View file

@ -89,7 +89,9 @@ class DebuggerPDP11 extends Debugger {
* Since this Debugger doesn't use replaceRegs(), we can use parentheses instead of braces.
*/
this.fInit = false;
this.fParens = true;
this.achGroup = ['(',')'];
this.achAddress = [];
/*
* Most commands that require an address call parseAddr(), which defaults to dbgAddrNextCode

View file

@ -100,7 +100,9 @@ class Debugger extends Component {
* Default base used to display all values; modified with the "s base" command.
*/
this.nBase = +parmsDbg['base'] || 16;
this.fParens = false;
this.achGroup = ['{','}'];
this.achAddress = ['[',']'];
/*
* These keep track of instruction activity, but only when tracing or when Debugger checks
@ -409,19 +411,19 @@ class Debugger extends Component {
* ...
*
* We pop 1 "binop" from aOps and 2 values from aVals whenever a "binop" of lower priority than its
* predecessor is encountered, evaluate, and push the result back onto aVals.
* predecessor is encountered, evaluate, and push the result back onto aVals. Unary operators like
* '~' and ternary operators like '?:' are not supported.
*
* Unary operators like '~' and ternary operators like '?:' are not supported; neither are parentheses.
* parseReference() makes it possible to write parenthetical-style sub-expressions by using whatever
* characters achGroup contains (default is braces}. Address references are resolved using the characters
* in achAddress (default is brackets).
*
* However, parseReference() now makes it possible to write parenthetical-style sub-expressions by using
* {...} (braces), as well as address references by using [...] (brackets).
* Why not always use parentheses for sub-expressions? Because parseReference() serves multiple purposes,
* the other being reference replacement in message strings passing through replaceRegs(), and some
* Debuggers don't want parentheses taking on a new meaning in message strings.
*
* Why am I using braces instead of parentheses for sub-expressions? Because parseReference() serves
* multiple purposes, the other being reference replacement in message strings passing through replaceRegs(),
* and I didn't want parentheses taking on a new meaning in message strings.
*
* However, a Debugger can override this choice by setting fParens to true, if there's no conflict in its
* replaceRegs() implementation.
* However, a Debugger can override these choices by modifying achGroup and/or achAddress, if there's no
* conflict in its replaceRegs() implementation.
*
* @this {Debugger}
* @param {string|undefined} sExp
@ -494,8 +496,7 @@ class Debugger extends Component {
*
* Returns the given string with any "{expression}" sequences replaced with the value of the expression,
* and any "[address]" references replaced with the contents of the address. Expressions are parsed BEFORE
* addresses. Owing to this function's simplistic parsing, nested braces/brackets are not supported
* (define intermediate variables if needed).
* addresses.
*
* @this {Debugger}
* @param {string} s
@ -503,17 +504,36 @@ class Debugger extends Component {
*/
parseReference(s) {
var a;
var chOpen = this.fParens? '(' : '{';
var chClose = this.fParens? ')' : '}';
var reSubExp = new RegExp(this.fParens? "\\((.*?)\\)" : "\\{(.*?)\\}");
var chOpen = this.achGroup[0];
var chClose = this.achGroup[1];
var chEscape = (chOpen == '(' || chOpen == '{' || chOpen == '[')? '\\' : '';
var chInnerEscape = (chOpen == '['? '\\' : '');
var reSubExp = new RegExp(chEscape + chOpen + "([^" + chInnerEscape + chOpen + chInnerEscape + chClose + "]+)" + chEscape + chClose);
while (a = s.match(reSubExp)) {
if (a[1].indexOf(chOpen) >= 0) break; // unsupported nested brace(s)
var value = this.parseExpression(a[1]);
s = s.replace(chOpen + a[1] + chClose, value != null? this.toStrBase(value) : "undefined");
var sSearch = chOpen + a[1] + chClose;
var sReplace = value != null? this.toStrBase(value) : "undefined";
/*
* Note that by default, the String replace() method only replaces the FIRST occurrence,
* and there MIGHT be more than one occurrence of the expression we just parsed, so we could
* do this instead:
*
* s = s.split(sSearch).join(sReplace);
*
* However, that's knd of an expensive (slow) solution, and it's not strictly necessary, since
* any additional identical expressions will be picked up on a subsequent iteration through this loop.
*/
s = s.replace(sSearch, sReplace);
}
while (a = s.match(/\[(.*?)]/)) {
if (a[1].indexOf('[') >= 0) break; // unsupported nested bracket(s)
s = this.parseAddrReference(s, a[1]);
if (this.achAddress.length) {
chOpen = this.achAddress[0];
chClose = this.achAddress[1];
chEscape = (chOpen == '(' || chOpen == '{' || chOpen == '[')? '\\' : '';
chInnerEscape = (chOpen == '['? '\\' : '');
reSubExp = new RegExp(chEscape + chOpen + "([^" + chInnerEscape + chOpen + chInnerEscape + chClose + "]+)" + chEscape + chClose);
while (a = s.match(reSubExp)) {
s = this.parseAddrReference(s, a[1]);
}
}
return this.parseSysVars(s);
}
@ -595,6 +615,28 @@ class Debugger extends Component {
return fDefined;
}
/**
* resetVariables()
*
* @this {Debugger}
* @return {Object}
*/
resetVariables() {
var a = this.aVariables;
this.aVariables = {};
return a;
}
/**
* restoreVariables(a)
*
* @this {Debugger}
* @param {Object} a (from previous resetVariables() call)
*/
restoreVariables(a) {
this.aVariables = a;
}
/**
* printVariable(sVar)
*

View file

@ -65,6 +65,10 @@ class Str {
* to indicate octal (because such a number could also be decimal or hex). Any number of commas are
* allowed; we remove them all before calling the built-in parseInt().
*
* More recently, we've added support for "^D", "^O", and "^B" prefixes to accommodate the base overrides
* that the PDP-10's MACRO-10 assembly language supports. If this support turns out to adversely affect
* other debuggers, then it will have to be "conditionalized".
*
* To summarize our non-standard alternatives: a 'y' suffix indicates binary, a '#' prefix indicates
* octal, a '$' prefix indicates hex, and a "0b" prefix indicates binary IF at least one comma is present.
* Commas are useful for grouping binary digits, but if you don't want to use them, then you must use a
@ -110,6 +114,21 @@ class Str {
chPrefix = null;
}
}
else if (chPrefix == '^') {
chPrefix = s.charAt(1);
if (chPrefix == 'D') {
base = 10;
chPrefix = null;
}
else if (chPrefix == 'O') {
base = 8;
chPrefix = null;
}
else if (chPrefix == 'B') {
base = 2;
chPrefix = null;
}
}
if (chPrefix == null) {
s = s.substr(2);
}